qofsql.c

Go to the documentation of this file.
00001 /********************************************************************\
00002  * qofsql.c -- QOF client-side SQL parser                           *
00003  *                                                                  *
00004  * This program is free software; you can redistribute it and/or    *
00005  * modify it under the terms of the GNU General Public License as   *
00006  * published by the Free Software Foundation; either version 2 of   *
00007  * the License, or (at your option) any later version.              *
00008  *                                                                  *
00009  * This program is distributed in the hope that it will be useful,  *
00010  * but WITHOUT ANY WARRANTY; without even the implied warranty of   *
00011  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the    *
00012  * GNU General Public License for more details.                     *
00013  *                                                                  *
00014  * You should have received a copy of the GNU General Public License*
00015  * along with this program; if not, contact:                        *
00016  *                                                                  *
00017  * Free Software Foundation           Voice:  +1-617-542-5942       *
00018  * 51 Franklin Street, Fifth Floor    Fax:    +1-617-542-2652       *
00019  * Boston, MA  02110-1301,  USA       gnu@gnu.org                   *
00020  *                                                                  *
00021 \********************************************************************/
00022 
00030 #include "config.h"
00031 #include <stdlib.h>             /* for working atoll */
00032 #include <errno.h>
00033 #include "glib.h"
00034 #ifdef HAVE_GDA
00035 #include <sql/sql_parser.h>
00036 #else
00037 #include "sql_parser.h"
00038 #endif
00039 #include <time.h>
00040 #include "qof.h"
00041 #include "qofquery-p.h"
00042 
00043 static QofLogModule log_module = QOF_MOD_QUERY;
00044 
00045 /* =================================================================== */
00046 
00047 struct _QofSqlQuery
00048 {
00049     sql_statement *parse_result;
00050     QofQuery *qof_query;
00051     QofBook *book;
00052     gchar *single_global_tablename;
00053     KvpFrame *kvp_join;
00054     GList *param_list;
00055     QofEntity *inserted_entity;
00056 };
00057 
00058 /* ========================================================== */
00059 
00060 QofSqlQuery *
00061 qof_sql_query_new (void)
00062 {
00063     QofSqlQuery *sqn = (QofSqlQuery *) g_new0 (QofSqlQuery, 1);
00064 
00065     sqn->qof_query = NULL;
00066     sqn->parse_result = NULL;
00067     sqn->book = NULL;
00068     sqn->single_global_tablename = NULL;
00069     sqn->kvp_join = NULL;
00070 
00071     return sqn;
00072 }
00073 
00074 /* ========================================================== */
00075 
00076 void
00077 qof_sql_query_destroy (QofSqlQuery * q)
00078 {
00079     if (!q)
00080         return;
00081     qof_query_destroy (q->qof_query);
00082     sql_destroy (q->parse_result);
00083     g_free (q);
00084 }
00085 
00086 /* ========================================================== */
00087 
00088 QofQuery *
00089 qof_sql_query_get_query (QofSqlQuery * q)
00090 {
00091     if (!q)
00092         return NULL;
00093     return q->qof_query;
00094 }
00095 
00096 /* ========================================================== */
00097 
00098 void
00099 qof_sql_query_set_book (QofSqlQuery * q, QofBook * book)
00100 {
00101     if (!q)
00102         return;
00103     q->book = book;
00104 }
00105 
00106 /* ========================================================== */
00107 
00108 void
00109 qof_sql_query_set_kvp (QofSqlQuery * q, KvpFrame * kvp)
00110 {
00111     if (!q)
00112         return;
00113     q->kvp_join = kvp;
00114 }
00115 
00116 /* ========================================================== */
00117 
00118 static inline void
00119 get_table_and_param (char *str, char **tab, char **param)
00120 {
00121     char *end = strchr (str, '.');
00122     if (!end)
00123     {
00124         *tab = 0;
00125         *param = str;
00126         return;
00127     }
00128     *end = 0;
00129     *tab = str;
00130     *param = end + 1;
00131 }
00132 
00133 static inline char *
00134 dequote_string (char *str)
00135 {
00136     size_t len;
00137     /* strip out quotation marks ...  */
00138     if (('\'' == str[0]) || ('\"' == str[0]))
00139     {
00140         str++;
00141         len = strlen (str);
00142         str[len - 1] = 0;
00143     }
00144     return str;
00145 }
00146 
00147 static QofQuery *
00148 handle_single_condition (QofSqlQuery * query, sql_condition * cond)
00149 {
00150     char tmpbuff[128];
00151     GSList *param_list;
00152     GList *guid_list;
00153     QofQueryPredData *pred_data;
00154     sql_field_item *sparam, *svalue;
00155     gchar *qparam_name, *qvalue_name, *table_name, *param_name;
00156     gchar *sep, *path, *str, *p;
00157     QofQuery *qq;
00158     KvpValue *kv, *kval;
00159     KvpValueType kvt;
00160     QofQueryCompare qop;
00161     guint len;
00162     QofType param_type;
00163     QofGuidMatch gm;
00164 
00165     pred_data = NULL;
00166     if (NULL == cond)
00167     {
00168         PWARN ("missing condition");
00169         return NULL;
00170     }
00171     /* -------------------------------- */
00172     /* field to match, assumed, for now to be on the left */
00173     /* XXX fix this so it can be either left or right */
00174     if (NULL == cond->d.pair.left)
00175     {
00176         PWARN ("missing left parameter");
00177         return NULL;
00178     }
00179     sparam = cond->d.pair.left->item;
00180     if (SQL_name != sparam->type)
00181     {
00182         PWARN ("we support only parameter names at this time (parsed %d)",
00183             sparam->type);
00184         return NULL;
00185     }
00186     qparam_name = sparam->d.name->data;
00187     if (NULL == qparam_name)
00188     {
00189         PWARN ("missing parameter name");
00190         return NULL;
00191     }
00192 
00193     /* -------------------------------- */
00194     /* value to match, assumed, for now, to be on the right. */
00195     /* XXX fix this so it can be either left or right */
00196     if (NULL == cond->d.pair.right)
00197     {
00198         PWARN ("missing right parameter");
00199         return NULL;
00200     }
00201     svalue = cond->d.pair.right->item;
00202     if (SQL_name != svalue->type)
00203     {
00204         PWARN ("we support only simple values (parsed as %d)",
00205             svalue->type);
00206         return NULL;
00207     }
00208     qvalue_name = svalue->d.name->data;
00209     if (NULL == qvalue_name)
00210     {
00211         PWARN ("missing value");
00212         return NULL;
00213     }
00214     qvalue_name = dequote_string (qvalue_name);
00215     qvalue_name = (char *) qof_util_whitespace_filter (qvalue_name);
00216 
00217     /* Look to see if its the special KVP value holder.
00218      * If it is, look up the value. */
00219     if (0 == strncasecmp (qvalue_name, "kvp://", 6))
00220     {
00221         if (NULL == query->kvp_join)
00222         {
00223             PWARN ("missing kvp frame");
00224             return NULL;
00225         }
00226         kv = kvp_frame_get_value (query->kvp_join, qvalue_name + 5);
00227         /* If there's no value, its not an error; 
00228          * we just don't do this predicate */
00229         if (!kv)
00230             return NULL;
00231         kvt = kvp_value_get_type (kv);
00232 
00233         tmpbuff[0] = 0x0;
00234         qvalue_name = tmpbuff;
00235         switch (kvt)
00236         {
00237         case KVP_TYPE_GINT64:
00238             {
00239                 gint64 ival = kvp_value_get_gint64 (kv);
00240                 sprintf (tmpbuff, "%" G_GINT64_FORMAT "\n", ival);
00241         b77fb">QofSqlQuery * query, sql_condition * cond)
00149 {
00150     char tmpbuff[128];
00151     GSList *param_list;
00152     GList *guid_list;
00153     QofQueryPredData *pred_data;
00154     sql_field_item *sparam, *svalue;
00155     gchar *qparam_name, *qvalue_name, *table_name, *param013c4mment"> * You should have received a c2literal">'2li/a>00153     QofQueryPredData *pred_data;
00154     sql_field_item *sparam,fterac24a6n cl12>00664   49bb26"\n",BINAname="name, *qvalue_nae="l00236"62(kv);
00240                 sprintf (tmpbuff, "%" G_GINT64_FORMAf2d8bcom5c243af66ad18f6fss="6;, LISTme="name, *qvalue_na46167149686roup__Trace.html#g8ec4f6371dfe642d540f37f29f79a137">PWARN ("missing kvp frame");
9edc3f32b9fda1eb4f36c0bfc372ec/spa",NUMERIaram_name, *qvalue_na>0023864oup__Trace.html#g8ec4f6371dfe642d540f37f29f79a137">PWARN ("missing kvp frame");
c8392f94d3dfa8d11nam63109105943kvp_value_geFRAMss="keywordflow">ret4     if (SQL_name != svalue->type)
00203     {
0020unrdtyped   ch6">kvp_value_ge;
00239                 gint64 ival = 00230          /span> 00230          /e="l00153"6an class="prepr2n * cond)
270------------------------ */
00172     00150      (!end)
 * 51 Franklin Street, Fifth Floor e411f25b970f9keywm, ef414e85bml#gdgroup__SQLbuild_> (!end)
<"commen= 0;
kvp_value_ge    00051    2154     sq27o match, assumed, for now to beGef47b35ml">Q- cifoaedacd766b77fb"2
l00225">002;
ret479bf1420b27="l00230">qopcom0152COMPARE_EQUA64 ival =  *kv, 279roup__KVP.html#ge0f122777c9afd32ead4b39f8e751f56">kvp_value_geroup__KVP.2tml#ga7bf429811b124616714968726b20f37f29f79a1">ret0     qopcom0152COMPARE_GT6">kvp_value_gere="l00236"82roup__KVP.html#ge0f122777c9afd32ead4b39f8e751f56">kvp_value_ger   ret054     sq2="code" hreqopcom0152COMPARE_LT6">kvp_value_ger     kvp_value_gerret0166">287"l00230">qopcom0152COMPARE_GTE6">kvp_value_ger79bf1420b288roup__KVP.html#ge0f122777c9afd32ead4b39f8e751f56">kvp_value_ger/a> *kv, 289l#ga7bf429811b124616714968726b20f37f29f79a1">ret169       2 kvp_value_ge170     }
291roup__KVP.html#ge0f122777c9afd32ead4b39f8e751f56">kvp_value_ge171     ret1   kvp_value_ge154     sq294roup__KVP.html#ge0f122777c9afd32ead4b39f8e751f56">kvp_value_ge1     ret100233     rightopal00204-ign=">
/*search.  Also regexss="code" href="group__Tr="group__T2ace.html#g8ec4f6371dfe642d540f37f29f79a137">PWARN ("missing left parameter");
oae6">kvp_value_ge1/a> *kv, 2 NULL;
00178     }
03179     sp3ram = cond->d.pair3left->i3le nd->d.pair3l2ft->i3l0151     GSList *param_list;
/*be">/*eft *ee=code" href="group__T382        3./usr/share/doc/me->iro build"qofscorrectordflow">s.  Gef47b35gn="code" href="group__T384        34./usr/share/doc/me->from47b35objectorion"0316gt;type)3
 (NULL == cond->d.pair.left)
0317gt;type)3
 00201toll */
03eywordflow3>if0310(NULL == cond->d.pair.left)
03code" href31ss="code" href="grou3span class31#gf30a0db52765924478a384e2140d5254">QofQueryCompare qop;
00161     guint len;
0Neee="l0if NULL;
00178     }
03"l00193"><3a>00193ond->d.pair31>type)3an> q->qof_qu3an be eith3an(NULL == cond->d.pair.left)
'\"' == str[0]))
Qd  guin0129     *))l00179">03c7gt;type)31 QofQueryCompare qop;
00161     guint len;
0Th=">03"ywordflow31/span> NULL;
00178     }
03      q->qof_qu3d.pair.rig320151  > (!engn="'\"' == str[0]))
032">0023235d68fa5c6933584007a01aeb0c0f821">KVP_TYPE_G> (!engn=)l00179">03ace.html#g3ec4f637ass="code" hre3e support 3nly simple 2765924478a384e2140d5254">QofQueryCompare qop;
00161     guint len;
0Th="tion"03         <327span> NULL;
00178     }
03 me="l0019328m = cond->d.pair3tywordflow32an class="prepr3name="l002330(NULL == cond->d.pair.left)
'\"' == str[0]))
03642d540f3733ss="code" href="grou3ow">return3ow   {
 * 51 Franklin Street, Fifth Floor 712ac49c04f43a7655414044fda0a6s.html">a7e5be3="l00_rdflow">s"commenop,51     GSList *param_list;
 (kvt)
00233     ent">/*e left *witch (kvt)
/*itch (kvt)
00233     uhtml#gexp*itch (kvt)

'\"' == str[0]))
036me="l0019338s="code" href="grou3oywordflow33     03ecmp (qval34068a65d68fa5c6933584007a01aeb0c0f821">KVP_TYPE_0152COMPARE_NEQ201">oaedacd766b77fb"3 (N3LL == query->cmcom0152CHAR_MATCH_NONE"l00179">03ew">return34w   {
a7e5be"com_rdflow">s (cmtype);
03ode" href=3=====================3urn3=== */

'\"' == str[0]))
0325        34le_name, *param_name3ts not an 3rror; /* XXX fix this so it 3 */3 * 51 Franklin Street, Fifth Floor 549679e8c73fbdd84a1d7b8e1ae5f3sparml">a7e5befloow_rdflow">s"commenop,5't do this predicat3!kv)


'\"' == str[0]))
if<))l00179">03"l00232"><35lass="keywordflow">r3lue_name =351ass="comment">     * Ifprograent">/* XXX fix this so it 3me="l0023635w   {
 * 51 Franklin Street, Fifth Floor 018b3cb1d84fdaa1c09643decccfeess="ml">a7e5beflo64_rdflow">s"commenop,5't do this predicat3246167149635====================3">002335== */

'\"' == str[0]))
03"5        35le_name, *param_name3t_gint64 (kv);
00 = kvp_frame_get_value (queprofaent">/* XXX fix this so it 3m*/35a name="l0=keywordflowment"> * 51 Franklin Street, Fifth Floor b6069c3f4d66e0f7feb45e4ew32cbac6="group__SQL.frame_rdflow">s"commenop,5't do this predicat32kv)


'\"' == str[0]))
03ame, *tabl36lass="keywordflow">r3literal">'361ass="commeboole coue (query->kvp_join, qvalue_name w, to be on the 2baa1fc5231d56fb425ba38520e48885">00195bool_toeflo"comment">/* XXX fix this so it 3ae="l0023636w   {
 * 51 Franklin Street, Fifth Floor 8137e0f09a21d5f8d5c7991bfpe">999gdgroup__SQLboole c_rdflow">s"commenop,5't do this predicat3a46167149636====================3a>002336== */

'\"' == str[0]))
03a5        36le_name, *param_name3;
00156     gchar *sep, 
s5">00035 D">s"comm*qd this predicat3a*/367230">ment"> * 51 Franklin Street, FOFbuff *e47f0ff"l0013807de0e1b2c5bd3c70"> * 51 Franklin Street, D">son the rf08b7ae84a4ea60a7ede3789d00deb5">d">s5l0018"comment">/* XXX ,wment"> * 51 Franklin Street, D">son the c62m)
 * 51 Franklin Street, D">son the 5b974b342e72943b0an6d0acd6db3a3a">d">s5toeqti8a3037d(qdo this predicat3niteral">'37group__Trace.html#g8ec4f6371dfe642d540fD">son the 87a1ame=9608302fcffc94f0ed95b11b">d">s5ql_q3037d(qdo this predicat3ne="l0023637w   {
if (SFifth Floor 49c;ffa211f10fb052a374e6232essecgdgroup__SQLti8a_rdflow">s"commenop,5002337            {
qto this predicat3n5        37> gm;
00152     GList *guid_list;
00153     
'\"' == str[0dclaew">sd_8h Flooraa064653877dc3f99d3b7efa003dffne="03479bf1420b378s="code" href="grou3 *kv, 379roup__KVPent" rc this predicat3roup__KVP.3name="l000600156     gchar *sep, 
000Ti8aif'381"l00230">ti8a_t exact this predicat3re="l002363rewthis predicat3r   00233     Use a>ti8azone ie="pee="t" seati>/*itch (kvt)
d">s5qormate374ab, cD">son the c62m)
/* ==========3rKVP_TYPE_FALSE">'\"' == str[0dclaew">sd_8h Flooraba6b836=a7b5fne44 s5secs"comment">/* XXX ,w&exact))l00179">030166">387"l00230">de" href="grou3r79bf1420b388ame="l00226">00226         kv = kvp"comment">/* tail>/* ==========3r/a> *kv, 38 /* XXX me&01il, 0o this predicat3169       316me="l00233">00233   /an class="61    ("unkendErr l0018 d">s: %s"type);
 (kvt)
00233   /an class="178   name="ch (kvt)
tv5sec"comm= exact this predicat3154     sq394roup__KVPts.00156     gchar *sep, 
0#6cca2m)1ce6b50a01f00e83bspabb67d">tv5nsec"comm= ">/* ==========31     ifsd_8h Floorae3cf8baedee25e05869a718d416ceurns5ldflow">s"commenop,5397ame=" * You should have received a c31/a> *kv, 31//a>00153     
'\"' == str[0]))
04179     sp40lass="keywordflow">r4left->i401me="l000600156     gchar *sep, 
00035 Numeric"commi">char *st4l2ft->i40#gf30a0db52765924478a384e2140d5254">QofNumeric0#gffa10e5917e2e3d8ac13f24b67f0b74en/* XXX me&'t do this predicat482        403   {
if (SFifth Floor d8df756150a79c07b78995fd18e63e9ans"commenop,5 gm;
'\"' == str[0]))
0417gt;type)4
7ass="keywordflow">r4l8gt;type)4
82 
00233     nEBCRED"stylikely00173">dclaew">sd73"qoreylibgro2*itch (kvt)
char *st4189">0410gf30a0db52765924478a384e2140d5254">QofNumeric0#gffa10e5917e2e3d8ac13f24b67f0b74en/* XXX me&'t do this predicat4code" href4"group__Tra=keywordflo/* ==========4span class412    if (SFifth Floor d8df756150a79c07b78995fd18e63e9ans"commenop,500192 
<41== */

'\"' == str[0]))
041>type)41le_name, *param_name4an be eith410156">00156     gchar *sep, union_e iva000 ival);
an> d this predicat4n7gt;type)417ass="commeboole corcent">'\"' == str[0]))
0#g225533e918aeurb7c12spafe6ype"d4bywor"l00_to_n> d_KVP.hnt">/* XXX me&n> do this predicat4n8gt;type)41868a65d68fa5c6933584007a01aeb0c0f821">KVP_TYPE_041ywordflow41/span> NULe, *param_name4     if (SQL_name != svalue->type)
00203     {
0020unkendErr l0018 n> d: %s" just donnt">/* XXX fix this so it 4turn00239                 gint64 ival = 00242" a name="l001642l00193"><4242 
00233   / righl="c,wthl00grea/spathl00n clasefkswsense,ch (kvt)
00233   / div>
 (kvt)
 * 51 Franklin Street, Fifth Floor 2">00142         str[len - 1]67bf7d40>9353b92dad80463dceen 7e *KVP_TYPE_0152COMPARE_NEQ201">oaedacd766b77fb"4tywordflow42 04name="l00241">0021"l00124">comg124">_appee=l00175me&n> do this predicat4642d540f37431 name="l0=keywordflowment"> * 51 Franklin Street, Fifth Floor 5d5e2a9c8043aeu8f2c94bd93ae7ad1f =group__SQL"l001ldflow">s"commegm,1"l00124">o this predicat46.pair.rig4/span> NULL;
_ql_qmegl00124">o this predicat46l00193"><43>00193ond->d.pair4a support 435= */

'\"' == str[0]))
04an be eith430156">l00225">004.html#g31a43an class="keywordflow">return/*="l0nan> de on thehat198  tylikech (kvt)
 (kvt)
 (kvt)
 *gliteral">"missing right p>00112    :_QofBook.html">QofBook<4 (N44NULL;
00200     }
04ew">return4>00223         ame="l00239">00239                 gint64 ival = <4NULL;
00188    4 ival = 001074ts not an 4462 
00233     If"ry441value_name = svalue->d.name->Iwordflnumbd-a ae=la>dccimal point/la>39 atgt;d.pair.right)
  ival);d.pair.right)
<4"lvalue_name = svalue->d.name->Iword198  tylike*="liso d">sc4ef0l);d.pair.right)
 (N4tmpbuff;
0023* pan> 
00234           me="l00115">00115 
00200     }
)e&& (/sp01"a>0spn * q, 0020"key1]6789abcdefs="code" ))l00179">04t_gint64457    if000 ival);
an> d this predicat42kv)
if (S iva0#g225533e918aeurb7c12spafe6ype"d4bywor"l00_to_n> d_KVP.h q, <&n> do this predicat4me="l0015345  d_KVP.h&n> do this predicat4ame, *tabl460'46NULL;
00200    pan>
0spn * q, 0020"key1]6789s="code" )a name="l00164le="l0023646->item;

if00o this predicat4a>0023464oup__Trac00200    pan>
0spn * q, 0020"key1]6789s="code"  +a name="l00164l*/46a name="l00229">0020"key1]6789s="code" ) )a name="l00164lkv)
/* If tprofaea>00o this predicat4n * cond)
470'4nipan> NULL;
00200    pan>
0spn * q, 0020"key1]6789s="code"  +a name="l00164n>0023474 name="l00229">0020"key1]6789s="code" ) )a name="l00164n5        475ss="code"
if00035 Numeric"commnum;a name="l00164n*/477    if (SNumeric0#gffa10e5917e2e3d8ac13f24b67f0b74en00200    pan>
'481       {
 *pQl00  param_typ(pQuery *pQl00 ifs5">00035 D">s"comm*qd this predicat4rif (SFOFbuff *e47f0ff"l0013807de0e1b2c5bd3c70">401pan> NULL;
qdlowment"> * 51 Franklin Street, D">son the rf08b7ae84a4ea60a7ede3789d00deb5">d">s5l0018"comme q, cD">son the c62m)
 *kv, 48  * 51 Franklin Street, D">son the 5b974b342e72943b0an6d0acd6db3a3a">d">s5toeqti8a3037d(qdo this predicat4169       490'49L == query->kvp_it is, look up the value. */
f594019f3499deca41b8af69da7 an class="new_ti8a3037d(q>o this predicat41e="l00236492    if (SD">son the 87a1ame=9608302fcffc94f0ed95b11b">d">s5ql_q3037d(qdo this predicat41   00233     Th="="laule rdtyper"stya l00204>ch (kvt)
KVP_TYPE_0175">497"l00230">de" href="grou4179bf1420b498/* a>00115 
 * 51 Franklin Street, Fifth Floor 554
5c740b5e8d97aab777df9de5e49b =group__SQLan cldflow">s_
00200    pan>
PWARN ("we support only parameter names at this timeTh="tdflow">s gn="\"%s\""styunarsed %ed  name="e just doss="code" hre5->type)5
return NULL;
00185     }
 * 51 Franklin Street, Fifth Floor e0880add9f21ffb6bebf0be16d6e2fd9gdgroup__SQLcrea/st only);a name="l00165189">0510(NULL ent"> * 51 Franklin Street, Fifth Floor c96b4a940396108e617c6b64d1fe1ed1gdgroup__SQLadd_"commenq, > (!end)
<,0=keywordf,lass="code" href="group__TraceFifth Floor 62d08031dd018ade0697rald524d566e7  NULL;
00185qq this predicat5c29     sp512  qparam_name =5name="l0015na qparam_name =5"l00193"><5"lme="l00233">00233     ==========================================================>ch (kvt)
 q->qof_qu5an be eith5ann NULL;
 * 51 Franklin Street, Fifth Floor 857ae9ca0a46b7edca64ad25ab69db1e0">Qab, cSQL *89c09m)
<37d2535aedacd766b77fb0">Qa* swear) q->qof_qu5a8gt;type)518ss="code" href=51ywordflow5ec4f6371ent"> * 51 Franklin Street, Fifth Floor ce6db244f2d1609b54113d011c0an01 * 51 Franklin Street, Fifth Floor 857ae9ca0a46b7edca64ad25ab69db1e0"> q->qof_qu5d.pair.rig522
00200    ss="keywordtypeswear0052">00252a class="code" href=52l00193"><52== */
if (SFifth Floor 857ae9ca0a46b7edca64ad25ab69db1e0">0= rdtype_ml">Qab>o this predicat527gt;type)527    if (SFifth Floor 857ae9ca0a46b7edca64ad25ab69db1e0">00= rdtype_ml">Qab>00239     }
othis predicat52ywordflow529           {
00239                 gq0 this predicat5name="l00251">00211          name=this predicat5nurn00239                 gq this predicat5n.pair.rig5300223         ame="l00239">00239    ss="keywordtypeswear<53c4f6371dfe642d540f37f29f79a137">PWARNqopcom0152QUERY_AND this predicat5nn be eith536 name="l00229">00229         if 5.html#g31a5374f6371dfe642d540f37f29f79a137">PWARN26">qopcom0152QUERY_ORow">if 5.ywordflow539 name="l00229">00229         if 5ecmp (qval5e_name, 00233     righdiv>
00239    ="lauless>
re5ew">return5>00223          class="keywordflow">if (SFifth Floor d32c6fbc2335fdd562f1a1cb0eddaedparml">a7e5bedemesoy"commeno this predicat5ode" href=5430223          class="keywordflow">if (SFifth Floor d32c6fbc2335fdd562f1a1cb0eddaedparml">a7e5bedemesoy"commen name= this predicat5ol00193"><54            {
00239                 gint64 ival =  * 51 Franklin Street, Fifth Floor 747e578d88492dbb0d11f18a6e714d6f =group__SQLmerge"commen,"> name,">oae4 ival = if (SFifth Floor d32c6fbc2335fdd562f1a1cb0eddaedparml">a7e5bedemesoy"commeno this predicat5ome="l0019548          class="keywordflow">if (SFifth Floor d32c6fbc2335fdd562f1a1cb0eddaedparml">a7e5bedemesoy"commen name= this predicat5oywordflow549       {
00239                 gqq this predicat5"l00232"><550 (N551e642d540f37f29f79a137">PWARNsdeywordflow">re5me="l0023655->item;
if (SFifth Floor 857ae9ca0a46b7edca64ad25ab69db1e0">Qab>sd= this predicat5">0023554    if (SFifth Floor 857ae9ca0a46b7edca64ad25ab69db1e0"> * 51 Franklin Street, Fifth Floor 11df950c41a6ddcf5a438ef35e832212="ml">a7e5beflvero"commenq= this predicat5" support 555          class="keywordflow">if (SFifth Floor d32c6fbc2335fdd562f1a1cb0eddaedparml">a7e5bedemesoy"commenq= this predicat5"s not an 556       {
00239                 gqneg this predicat5"html#g31a557re5ame, *tabl560'561       {
00239                 grdtype_toll */on (00239                 gint64 ival = 00233     ==========================================================>ch (kvt)
 NULL;
00226         kv = kvpvo d_K (kvt)
'5nigrdtype_td %_rb, cSQL *89c09m)
<37d2535aedacd766b77fb0">c* sr124">on> (kvt)
c*qsp[3]4 ival = 0023574 nameGL4">c*n4 ival = 00226         kv = kvpflo"cet_valu4 ival = 00226         kv = kvp"comment">/* n= 0;
on> (kvt)
'581         ame="l00239">00239                 4 ival =  (kvt)
002358c4f637ass="code" hre5r     KVP_TYPE_rr124">on> (kvt)
'51ipan> NULL;
00233     Sef47b35td %ndirect cl>ch (kvt)
or1me="l00182">005154     sq59            {
 q->qof_qu5100233     Find"qofstion" (kvt)
a na4 ival =  *kv, 599    006179     sp600/a>00236     
006139     sp6030223          cla
 * 51 Franklin Street, Fifth Floor e411f25b970f9keywm, ef414e85bml#gdgroup__SQLbuild_> (!end)
<"commen= 0;
kvp_value_g616gt;type)606 name="l00229">kvp_value_g617gt;type)60a name="l00229">00233     nexttion"kvp_value_g619gt;type)609       {
00239    pan>
0610/a>00236     
00233     if no nexttion"bya   Querr124">kvp_value_g6"l00193"><61400229">kvp_value_g6"59     sp6159">kvp_value_g6"6gt;type)616 a name="l00166a7gt;type)617ass="ment"> * 51 Franklin Street, Fifth Floor 0c4a61187d83bdc19f6cdd1e6090d4me="ml">a7e5be3et_td %_r"commen00201ml">a7e5b,"qsp[0],"qsp[1],"qsp[2]h6">kvp_value_g6a8gt;type)61868a65ment"> * 51 Franklin Street, Fifth Floor 595192db4e60d0a2e6a064b363e79c04="ml">a7e5be3et_td %_increasup__KVP.hn00201ml">a7e5b,"direct cl[0],">kvp_value_g6a9gt;type)61/span> NULdirect cl[1],"direct cl[2]h6">kvp_value_g6     kvp_value_g6turn q->qof_qu6d.pair.rig6d.me="l00233">00233     INSERT INTO rdtypers ===================================================>ch (kvt)
00262" a name="l001662l00193"><62ln NULL;
00226         kv = kvpvo d_K (kvt)
sql_insertCBly parameter na
 * 51 Franklin S
00035 Pion"3037d2"tion",  parameter na
/,">kvp_value_g6en be eith626    <, cSQL *89c09m)
<37d2535aedacd766b77fb0">00627gt;type)627 
 * 51 Franklin Street, Entith Floor 815162"8068da9f44013f0e009dcd7dpar>kvp_value_g6 9gt;type)629     sql_insert_orate0233h*sis this predicat6name="l00261">eboole coreg)
<">Qd_t= k6">kvp_value_g6nurnif00035 Entith3037d22336">kvp_value_g6n.pair.rig630151     GSList *param_list;
 (kvt)
if00035 Numeric"commcm_numeric6">kvp_value_g6nl00193"><63c4f637gent">/mcm_ent">/6">kvp_value_g6n>type)635ss="ceboole cocm_boole c6">kvp_value_g6nn be eith636 namedfloow cm_i326">kvp_value_g6n7gt;type)6374f637ent">  cm_i646">kvp_value_g6n8gt;type)6 holderg"com&cm_"com,* tail>/* ==========6.ywordflow639n class="keywordflow">if000 ival);
a*cm_n> d this predicat6ecmp (qval6ec    GSList *param_list;
 (kvt)
 (N600035 Entith3037d2,  parameter na
kvp_value_g6ol00193"><64      vo d (*ti8a_seater)b, 00035 Entith3037d2,  s="keywordflow">if (SFOFbuff *e47f0ff"l0013807de0e1b2c5bd3c70">kvp_value_g6o>type)6}
00035 Entith3037d2,  s="keywordflow">if00035 Numeric"comh6">kvp_value_g6on be eith6rror; 00035 Entith3037d2, gent">/h6">kvp_value_g6o7gt;type)647     vo d (*boole c_seater)b, 00035 Entith3037d2, gboole ch6">kvp_value_g6o8gt;type)648     vo d (*i32_seater)b, 00035 Entith3037d2, gfloowh6">kvp_value_g6oywordflow649     vo d (*i64_seater)b, 00035 Entith3037d2, gflo64h6">kvp_value_g6"l00232"><65000035 Entith3037d2, g"comh6">kvp_value_g6"/span> (N6tmpbuff;
 (kvt)
/ ||t>kvp_value_g6"l00193"><654    <233h1">00201isertQd_entith6">kvp_value_g6">type)655     sish1">00201l0018_  sul>kvp_value_g6"n be eith656     gn="/h6">kvp_value_g6"html#g31a6"h a name="l0016628gt;type)658#g8ec4f6371dfe642d540f37f29f79a137">PWARN am)
ENTERt only parameter names at this time"tion"=%s8> (!engn==%s8gn==%s8cont233=%s" just doa name="l001662ywordflow65  (!e * 51 Franklin S
0#5bb03c951e478dce4f71bdf76f8592lkv)= 0;
 (!e * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,agn=,/isert_ent">/h6">kvp_value_g6ame, *tabl660(NULL == cond->d.pair.left)
 * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0]))
006literal">'66ss="code" href="grou6le="l002366600223     or"l00_seaterqu00035 Entith3037d2,  parameter na
00226         kv = kvp"comment">/* ))a> (!e * 51 Franklin S
0#5ce1364ba8ed74da33738eb973b353cftm> (!enseafcn;typ4 ival = 002366468a65d68fa5c6933584007a01aeb0c0f821">KVP_TYPE_rr"l00_seaterq!ueint6l00182">006l>type)665ss="code"
/h6">kvp_value_g6ahtml#g31a667Qd_t= kqueTRUE4 ival =  * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0]))
006niteral">'67ss="code" href="grou6ne="l0023667#gf30a0db52765924478a384e2140d52
s5">00035 D">s"comm*qd this predicat6n46167149667     if (SFOFbuff *e47f0ff"l0013807de0e1b2c5bd3c70">0023674 name="l0ti8a_seaterlowthis predicat6n support 67500035 Entith3037d2,  s="keywordflow">if (SFOFbuff *e47f0ff"l0013807de0e1b2c5bd3c70"> (!e * 51 Franklin S
0#5ce1364ba8ed74da33738eb973b353cftm> (!enseafcn;typ4 ival =  * 51 Franklin Street, D">son the rf08b7ae84a4ea60a7ede3789d00deb5">d">s5l0018"commeisert_ent">/,cD">son the c62m)
 * 51 Franklin Street, D">son the 5b974b342e72943b0an6d0acd6db3a3a">d">s5toeqti8a3037d(qdo this predicat6nkv)
KVP_TYP((ti8a_seaterl!ueint6le&&p( s="keywordflow">if (SFOFbuff95b9116ba0c4bp601ce20e9d31b9a125">ti8a_is_las d_KVP(q>o)l00182">006ne="l0015367/span> NULe, *param_name6roup__KVP.680/a>00236     ti8a_seaterl(ent/o this predicat6riteral">'681         00152     GList *guid_list;
00236r>/a>00153      * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0dclaew">sd_8h Flooraa064653877dc3f99d3b7efa003dffne="006r      NULe, *param_name6r_gint64s5seater)b, 00035 Entith3037d2,  s="keywordflow">if000Ti8aif000Ti8aifs this predicat6rkv)
000p__SQLti8a_t;typ4 ival = '69L == query.">s5seaterqu00035 Entith3037d2,  s="keywordflow">if000Ti8aif (!e * 51 Franklin S
0#5ce1364ba8ed74da33738eb973b353cftm> (!enseafcn;typ4 ival = /,cD">son the 5e176e39d33f8551e0ad16e267d51016gts, p__SQLti8a_to this predicat61_gint64KVP_TYPE_.">s5seaterq!ueint6l00182">0061html#g31a697"l00230">de" href="grou6179bf1420b698s5seaterq(ent/so this predicat61e="l00153699roup__KVP * You should have received a c7129     sp712/a>00153      * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0]))
 * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0]))
00035 Entith3037d2,  s="keywordflow">if00035 Numeric"comh)a> (!e * 51 Franklin S
0#5ce1364ba8ed74da33738eb973b353cftm> (!enseafcn;typ4 ival = if (SNumeric0#gffa10e5917e2e3d8ac13f24b67f0b74en/,<&cm_numeric)4 ival = KVP_TYPE_numeric_seaterq!ueint6l00182">00719gt;type)70/span> NULe, *param_name7189">0710/a>00236     numeric_seaterq(ent/ * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0]))
007"l00193"><71c4f637ass="code" hre7"59     sp715         cm_n> d"000 ival);
, 1)4 ival = KVP_TYPE_TRUEq!uess="keywordflow">if (S iva0#g225533e918aeurb7c12spafe6ype"d4bywor"l00_to_n> d_KVP.hisert_ent">/, dl) received a c7a7gt;type)717span> NULe, *param_name718gt;type)718          class="keywordflow">if (S">PWARN 3f3587268f2baa509e9001dad03455ome=LEAVEt only parameter names at this time"ent">/ toan> d failtd  nam%s" just donisert_ent">/h6">kvp_value_g7a9gt;type)719       {
00239                 6">kvp_value_g7      (kvt)
 (kvt)
 (kvt)
<724value_name = svalue->d.name-&6">qof_entithe3et_n> d(qsf_ent, dl"ch (kvt)
 (kvt)
<{ch (kvt)
referenceh1">of_entitheget_reference_from(qsf_ent, (!el"ch (kvt)
if_reference)<{ch (kvt)
 cla> (!escomg124">_appee=(> (!es,"referencel"ch (kvt)
}ch (kvt)
 (kvt)
 * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0]))
007nl00193"><73c4f637ass="code" hre7n>type)73
/,<&tail,"0l4 ival = d.pair.left)
007n8gt;type)73ass="code"
00035 Entith3037d2, gfloowh)a> (!e * 51 Franklin S
0#5ce1364ba8ed74da33738eb973b353cftm> (!enseafcn;typ4 ival =  (N741       {
00239    007<.pair.rig7>00223         
kvp_value_g7ol00193"><74            {
00239    pan>
if00035 Backee=3037d2backee=6">kvp_value_g7oywordflow749       {
 * 51 Franklin S
00035 Book3037d2book6">kvp_value_g7"l00232"><7"l ">kvp_value_g7"/span> (N751       {
 * 51 Franklin Street, InstanWARN 1d1dcb0d15f2d1c2144ea84643dacbf7n00035 InstanWA3037d2h<233h6">kvp_value_g7me="l002367500223         backee=lowment"> * 51 Franklin Street, Backee=RN 1864719cfe7ee05cc3b2ed434d91d0d9gdgroubookeget_backee=3037d(bookh6">kvp_value_g7mde" href=753    if (SObjena  Priv">son the e43b90a240ef3092be7f2246c4a2b001gdgroubackee=e3et_erro"commebackee=,wment"> * 51 Franklin Street, Backee=RN g5e7ec399fbd983ffa456cca103265266fb46ebd5ce4a6291b1ee7b842)72dc4en<75400229">kvp_value_g7">type)7559">kvp_value_g7"n be eith756(NULL == cond->d.pair.left)
 * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0]))
if<)"l1"0l00182">007"html#g31a757/,<&tail,"0l4 ival = d.pair.left)
007literal">'761       {
e, *param_name7le="l002367600223         i64_seaterqu00035 Entith3037d2, gflo64h)a> (!e * 51 Franklin S
0#5ce1364ba8ed74da33738eb973b353cftm> (!enseafcn;typ4 ival = 0023764       {
00239    007l>type)7650223         
kvp_value_g7ahtml#g31a76a name="l00229}">kvp_value_g7lkv)
kvp_value_g7lywordflow76 00239    pan>
'771          class="keywordflow">if00035 Backee=3037d2backee=6">kvp_value_g7ne="l00236772       {
 * 51 Franklin S
00035 Book3037d2book6">kvp_value_g7n4616714967n4 ">kvp_value_g7n>0023774 name="l00229booklowment"> * 51 Franklin Street, InstanWARN 1d1dcb0d15f2d1c2144ea84643dacbf7n00035 InstanWA3037d2h<233h6">kvp_value_g7n support 775 * 51 Franklin Street, Backee=RN 1864719cfe7ee05cc3b2ed434d91d0d9gdgroubookeget_backee=3037d(bookh6">kvp_value_g7n_gint64if (SObjena  Priv">son the e43b90a240ef3092be7f2246c4a2b001gdgroubackee=e3et_erro"commebackee=,wment"> * 51 Franklin Street, Backee=RN g5e7ec399fbd983ffa456cca103265266fb46ebd5ce4a6291b1ee7b842)72dc4en * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0]))
007roup__KVP.780/a>00
'781         errnoque04 ival = /Query/,<&tailo this predicat7r4616714967e paramkeywordflow">d.pair.left)
007r>00237="code" hre
00035 Entith3037d2, ent">/h)a> (!e * 51 Franklin S
0#5ce1364ba8ed74da33738eb973b353cftm> (!enseafcn;typ4 ival = 00239    007rkv)

/h6">kvp_value_g7169       790'791          * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0]))
007154     sq79c4f637ass="code" hre71     kvp_value_g71_gint64 * 51 Franklin Street, w, to be on the 2baa1fc5231d56fb425ba38520e48885">u, t_bool_to_flo"cVP.hisert_ent">/h6">kvp_value_g71html#g31a79an class="keywordflow">d.pair.left)
0071kv)
00239    pan>
00035 Entith3037d2, gboole ch)a> (!e * 51 Franklin S
0#5ce1364ba8ed74da33738eb973b353cftm> (!enseafcn;typ4 ival = d.pair.left)
00818gt;type)808>item;
kvp_value_g8189">0810 * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0]))
008c39     sp81a class="code" href=8"l00193"><8"l ="code" href=8"59     sp8159">kvp_value_g8c6gt;type)816(NULL == cond->d.pair.left)
 * 51 Franklin S
0#7763365426553f5c467459196966e6"htm> (!engn=rdfl,a">'\"' == str[0]))
008c7gt;type)817 class="code" href=8"8gt;type)818         cm_"comque*isert_ent">/6">kvp_value_g819gt;type)819       {
"com_seaterque(vo d (*)b, 00035 Entith3037d2, "comh)a> (!e * 51 Franklin S
0#5ce1364ba8ed74da33738eb973b353cftm> (!enseafcn;typ4 ival = d.pair.left)
008turnkvp_value_g8d39     sp823span clas<824 clasif (S">PWARN 3f3587268f2baa509e9001dad03455ome=LEAVEt only parameter names at this time"" just dh6">kvp_value_g8d6gt;type)826s00226         kv = kvpvo d_K (kvt)
a7e5be3et_isert_mkendb, cSQL *89c09m)
<37d2535aedacd766b77fb0">008name="l0028na;
00201l0018_  sul>kvp_value_g8nl00193"><83== */
008n>type)835> NULe, *param_name8nn be eith836(NULL == cond->d.pair.left)
0f37f29f79a1">/:, *param_name8n7gt;type)837span> NULe, *param_name8n8gt;type)8 holder.sis_tQueriskvp_value_g8n9gt;type)839 name="l00229>00201toll */global_mkenda naqu">kvp_value_g8ecmp (qval8e_name, /h6">kvp_value_g8 (N841    if (SFifth Floor e49b8ada10fb69a0fc3172f23f3ebd45="ml">a7e5be3earch_fo"commen00201ml">a7e5b,">kvp_value_g8<.pair.rig8>00223          cla>00201toll */global_mkenda nah6">kvp_value_g8<39     sp843          class="keywordflow">if (S">PWARN 0bfd3df599289d9941bc4dd0b1fafcturnPINFOt only parameter names at this time"insert sef47o mkend: %s" just donsis_t/h6">kvp_value_g8<844       {
00239    s="keywordflow">if 8o>type)8}
re8o7gt;type)847span> NULe, *param_name8o8gt;type)848          class="keywordflow">if (S">PWARN 8ec4f6371dfe642d54"l00f29f79a1n7gtPWARNt only parameter names at this time"><"insert only rdtypes tomp>/ orate0233s" just dh6">kvp_value_g8oywordflow849roup__KVP<850__KVP (N851P NULL;
 * 51 Franklin S
00035 Entith3037d2a name="l00168ml00193"><854 ml">a7e5beflsert b, cSQL *89c09m)
<37d2535aedacd766b77fb0">008">type)8"&Le, *param_name8"n be eith856(NULLGL4">c*fie
<124">, *lass=124">, *cu4 ival =  * 51 Franklin Street, Entith Floor 4fbe345484bfacb62b33bf06c4dce1cbar>kvp_value_g8ame, *tabl860(NULL == cond->d.pair.ywconst"c;d.pawment"> * 51 Franklin S
00035 Pion"3037d2= 0;
6">kvp_value_g8a/span> (N861     ss="keywordflow">if00035 InstanWA3037d2inst6">kvp_value_g8a.pair.rig862     sql_insert_orate0233h*sis this predicat8a461671496863name,sql_fie
<864     sql_fie
<_thimd2ihim this predicat8a>type)86n> q->qof_qu8l_gint64if (S">PWARN am)
ENTERt only parameter names at this time"" just dh6">kvp_value_g8ahtml#g31a86a name>00201l00!end)
 ueint64 ival =  ueint64 ival = 0023874 namesish1">00201l0018_  sul>kvp_value_g8n support 875ass="keywordflow">d.pair.left)
008n_gint64if (S">PWARN 3f3587268f2baa509e9001dad03455ome=LEAVEt only parameter names at this time""l002insert srate0233" just dh6">kvp_value_g8nkv)
00201toll */global_mkenda nah6">kvp_value_g8riteral">'881     instque(, 00035 InstanWA3037d2hif (SObjenaRN 842b8bfct376c584f43e9244d118d5een00201bookh6">kvp_value_g8re="l00236882(NULL == cond->d.pair.left)
008r46167149688a class="code" href=8r>00238="code" hress="keywordflow">if (S">PWARN 3f3587268f2baa509e9001dad03455ome=LEAVEt only parameter names at this time"unkendtoac="kte instanWA of0gn="%s" just donme="l6">kvp_value_g8r support 885     * 51 Franklin S
0#cca6la238f3217PWAf0ba2c04d33e5da7 entith30374 ival =  ueris ueris !ueint64 ival =  uefie
<124">0081iteral">'89ss="code" href="grou81e="l00236892, 0081 support 895ss="code"
/ ((00226         kv = kvp"comment">/* )ecukvp_value_g81e="l00153899roup__KVP009139     sp9030223     {00182">009149     sp904name-&6"> cla> (!e00226         kv = kvp"comment">/* )ecu cla> (!elowment"> * 51 Franklin Street, name="l001395c9dfe74fa9277947ebfb40a14222a3bn *eget_tion"d.pair.left)
009189     sp9080223     {00182">009199     sp909 name="l00229>oa>sql_insertCBlytion", lass=,t>kvp_value_g9189">0910 ueg124">_next(lass=124">l6">kvp_value_g9129     sp912     if (S">PWARN 3f3587268f2baa509e9001dad03455ome=LEAVEt only parameter names at this time"" just dh6">kvp_value_g9"l00193"><91400201isertQd_entith6">kvp_value_g9"59     sp9"5 00226         kvywconst"c;d.paw00226         kv = kvp"comment">/* a name="l00169c89     sp918 sql_m= k_as_ent">/ (sql_srate0233_t= kqme="l00182">00919gt;type)919 {00182">009     
009turn009dl00193"><924       {
00239                 g parameter names at this time"ELECT"ywordflow">if 9d59     sp92
009d89     sp928       {
00239                 g parameter names at this timeINSERT"ywordflow">if 9d9gt;type)929roup__KVP00239                 g parameter names at this timeDELETE"ywordflow">if 9n39     sp933roup__KVP<93== */
s:, *param_name9n59     sp935>item;
00239                 g parameter names at this timeUPDATE"ywordflow">if 9n7gt;type)937roup__KVP
re9n9gt;type)93/span> NULe, *param_name9ecmp (qval9e_name, 00239                 g parameter names at this timeunknown"ywordflow">if 9 (N941         <94l ="code" href=9o>type)9o&wm/a>00226         kv = kvpvo d_K (kvt)
ifoasql_8c0#7e82363100cb8f928dc269ebe050b3ebn< n9ont onlss="keywordflow">ifoasql_8c0#7e82363100cb8f928dc269ebe050b3ebn<>oa>sql_a7e5bel0018"comme, cSQL *89c09m)
<37d2535aedacd766b77fb0">00226         kv = kvp"comment">/* mesl00182">009o7gt;type)9o7Le, *param_name9e89     sp948     GL4">c*mkendsow">if 9<9gt;type)949(NULL == cond->d.pair. = kvp"comment">/* bufow">if 9"l00232"><950__KVPsql_selena_orate0233h*sssow">if 9"/span> (N951     sql_wherd*swearow">if 9".pair.rig9me a name="l00169mde" href=953(NULL == cond->d.pair.left)
009ml00193"><954, 00239                 ow">if 9">type)955  class="keywordflow">if (S">PWARN am)
ENTERt only parameter names at this time"" just dh6">kvp_value_g9"n be eith956(NULL == cond->="l00235"
a7e5bl00182">009m89     sp95holdere, *param_name92ywordflow95 if (SFifth Floor d32c6fbc2335fdd562f1aff4feddaed8="ml">a7e5bedemesoy"commen00201ml">a7e5bh6">kvp_value_g9ame, *tabl960n class="sql_demesoymen00201l0018_  sul>h6">kvp_value_g9a/span> (N961       {
n00201ml">a7e5bqueint64 ival = <964(NULL == cond->="l00235"
<"ent">/    00201l0018_  sul> uerql_l0018 (bufl4 ival = ha name="l00169n * cond)
970/a>00
if (S">PWARN 3f3587268f2baa509e9001dad03455ome=LEAVEt only parameter names at this timel0018 erro" just dh6">kvp_value_g9n.pair.rig972, 00239                 ow">if 9n46167149697     <d.pair.left)
00201l0018_  sul>009n_gint6400201l0018_  sul>009nhtml#g31a977/a>00
if (S">PWARN 3f3587268f2baa509e9001dad03455ome=LEAVEt onmes at this timegot8gn==%s" just donsql_m= k_as_ent">/ (>00201l0018_  sul>if 9riteral">'981, 00239                 ow">if 9re="l00236982     0023984(NULL == cond->="l00235"
00201l0018_  sul>h6">kvp_value_g9169       990(NULL == cond->d.pair.left)
_ndagth (mkendsll00182">0091iteral">'99ss="code" href="grou91e="l00236992, 00201toll */global_mkenda naquLmkendsd.pair.left)
00201l0018_  sul>0091_gint6400201ml">a7e5bquess="keywordflow">if (SFifth Floor e.880add9f21ffb6bebf0be16d6e2fd9gdgroua7e5bec="ktet onlyh6">kvp_value_g9189     sp998a7e5be3et_isert_mkendba7e5bh6">kvp_value_g91e="l00153999code" hress="keywordflow">if (S">PWARN 3f3587268f2baa509e9001dad03455ome=LEAVEt only parameter names at this time"insert srate0233sl0018d OK" just dh6">kvp_value_10179     s1017, 00239                 ow">if10119     s1011    <00201l0018_  sul>kvp_value_10139     s1013name,swear uersskvp_value_10149     s1014ass="keywordflow">d.pair.left)
kvp_value_10159     s1015> NULe, *param_nam1016gt    s1016   {
="l00235"
ssa   a7e5bquerdtype_wherd(>kvp_value_1018gt    s101868a65d68fa5c6933584007a01aeb0c0f821">KVP_TYPE_"l002=ue>00201ml">a7e5bl00182">01019gt    s101/span> NULe, *param_nam10179     s1010/a>00236     ss="keywordflow">if (S">PWARN 3f3587268f2baa509e9001dad03455ome=LEAVEt only parameter names at this time"noe> found" just dh6">kvp_value_10119     s1011name, 00239                 6">kvp_value_10129     s1012         
a7e5bquess="keywordflow">if (SFifth Floor e.880add9f21ffb6bebf0be16d6e2fd9gdgroua7e5bec="ktet onlyh6">kvp_value_1017gt    s1017 claskvp_value_10279     s102l ">kvp_value_10219     s102ss="coame="l00239">="l00235"
/ toa3earch  na. if (SFifth Floor e49b8ada10fb69a0fc3172f23f3ebd45="ml">a7e5be3earch_fo"commen00201ml">a7e5b,">kvp_value_1026gt    s1026      cla>00201toll */global_mkenda nah6">kvp_value_1027gt    s10270223 ss="keywordflow">if (S">PWARN 3f3587268f2baa509e9001dad03455ome=LEAVEt only parameter names at this time"eucs="c" just dh6">kvp_value_1028gt    s1028skvp_value_10379     s10navalue_name = svalue->
kvp_value_10329     s1032 GL4">c*">kvp_value_1033 be eiss="keywordflow">ifoasql_8c0#6eb8e77b3c824d3c2fb45950385539ca" s1033t onlss="keywordflow">ifoasql_8c0#6eb8e77b3c824d3c2fb45950385539ca" >oa>sql_a7e5berun"comme, cSQL *89c09m)
<37d2535aedacd766b77fb0">00226         kv = kvp"comment">/* mesl00182">010349     s1034Le, *param_nam10359     s1035>iGL4">c*  sul>s6">kvp_value_1036gt    s1036 ">kvp_value_1037gt    s1037(NULL == cond->d.pair.left)
01038gt    s103868a65d68fa5c6933584007a01aeb0c0f821             gint64 ival = kvp_value_10479     s10e_name,ss="keywordflow">ifoasql_8c0#7e82363100cb8f928dc269ebe050b3ebn<>oa>sql_a7e5bel0018"comme>kvp_value_10419     s10415d68fa5c6933584007a01aeb0c0f821">KVP_TYPE_"l002=ue>00201ml">a7e5bl00182">010429     s1042     e, *param_nam10439     s1043         ss="keywordflow">if (S">PWARN 0bfd3df599289d9941bc4dd0b1fafcturnPINFOt only parameter names at this time"Null >kvp_value_10449     s104468a65d68fa5c6933584007a01aeb0c0f821             gint64 ival = kvp_value_1047gt    s1047ss="css="keywordflow">if (SFifth Floor 777fc57d573a76ccf0f8e8e917d458f2="ml">a7e5be3et_book3037d(n00201ml">a7e5b,/n00201bookh6">kvp_value_1048gt    s1048(NULL == cond->="l00235"
PWARN bd88a6ba5351aa50g732669e057c1331gdgroulog_check3037d(log_modulo, QOF_LOG_DETAIL)l00182">010579     s1050     e, *param_nam10519     s1051         ss="keywordflow">ifsd_8h Floorf38dcfd62a5d7b72a6124d4d771bbbd2="ml">a7e5beldflo"commen00201ml">a7e5bh6">kvp_value_10529     s1052 clas00201l0018_  sul>010549     s1054     e, *param_nam10559     s1055name-&6">resul>squeint64 ival = resul>squeg124">_appee= (resul>s, ml">a7e5beflsert ba7e5bhh6">kvp_value_1057gt    s105768a65d68fa5c6933584007a01aeb0c0f821             g  sul>s6">kvp_value_1058gt    s1058 claskvp_value_10679     s1060n claresul>squess="keywordflow">if (SFifth Floor 3dd6f328f65607e.8e23c6926b362281="ml">a7e5berun"commen00201ml">a7e5bh6">kvp_value_10619     s1061 ">kvp_value_10629     s10625d68fa5c6933584007a01aeb0c0f821             g  sul>s6">kvp_value_10639     s1063skvp_value_10659     s1065 GL4">c*">kvp_value_106n be eiss="keywordflow">ifcSQLcb983faf8c72d2bec2d10f810cf6c2c7" s106nt onlss="keywordflow">ifcSQLcb983faf8c72d2bec2d10f810cf6c2c7" >oa>sql_a7e5bererun"comme, cSQL *89c09m)
<37d2535aedacd766b77fb0">01067gt    s1067 e, *param_nam1068gt    s1068>iGL4">c*  sul>s6">kvp_value_1069gt    s1069 ">kvp_value_10779     s1070(NULL == cond->d.pair.left)
010719     s107168a65d68fa5c6933584007a01aeb0c0f821             gint64 ival = kvp_value_10739     s10735d68fa5c6933584007a01aeb0c0f821">KVP_TYPE_"l002=ue>00201ml">a7e5bl00182">010749     s107468a65d68fa5c6933584007a01aeb0c0f821             gint64 ival = kvp_value_1076gt    s1076ss="css="keywordflow">if (SFifth Floor 777fc57d573a76ccf0f8e8e917d458f2="ml">a7e5be3et_book3037d(n00201ml">a7e5b,/n00201bookh6">kvp_value_1077gt    s1077 ">kvp_value_1078gt    s1078(NULL == cond->="l00235"
PWARN bd88a6ba5351aa50g732669e057c1331gdgroulog_check3037d(log_modulo, QOF_LOG_DETAIL)l00182">010879     s1080     e, *param_nam10819     s1081         ss="keywordflow">ifsd_8h Floorf38dcfd62a5d7b72a6124d4d771bbbd2="ml">a7e5beldflo"commen00201ml">a7e5bh6">kvp_value_10829     s1082 classquess="keywordflow">if (SFifth Floor 3dd6f328f65607e.8e23c6926b362281="ml">a7e5berun"commen00201ml">a7e5bh6">kvp_value_10859     s1085 ">kvp_value_1086gt    s10865d68fa5c6933584007a01aeb0c0f821             g  sul>s6">kvp_value_1087gt    s1087skvp_value_1089gt    s1089value_name = svalue->

Genis >sd on Fri Nov 10 04:06:03 2016 nam015 by 6">kv>if000 0/doxy/>oasql_8c
00000644000000000000000000001263510524775267021152 0ustar rootrootPnsitional//EN00 0>ttp-equiv="Conte-&-T= k" conte-&="text//a>0;"com3et=iso-8859-100 oasql.c File Referenceififsd by Doxygen 1.5.1s-- cldivname = stabs"* 8faul* 8f8fali>>kv>if000alue_>Main 6Pag> >kv>if000alue_>Modulos >kv>if000alue_>Data 6S>kv>if000alue_>Files >kv>ifs000alue_>Rel >sd 6Pag>s cldivname = stabs"* 8faul* 8f8fali>>kv>if000alue_>File 6L4"> >kv>if000alue_>Globals clh1>>oasql.c File Reference
>kvp_valu_details be eish2>Detailsd Description 015 clie-&-sidd"><"l001