PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/libspatialite50/include/spatialite
Viewing File: /usr/libspatialite50/include/spatialite/stored_procedures.h
/* stored_procedues.h -- SQL Procedures and Stored Procedures functions version 5.1.0, 2023 August 4 Author: Sandro Furieri a.furieri@lqt.it ------------------------------------------------------------------------------ Version: MPL 1.1/GPL 2.0/LGPL 2.1 The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/ Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License. The Original Code is the SpatiaLite library The Initial Developer of the Original Code is Alessandro Furieri Portions created by the Initial Developer are Copyright (C) 2017-2023 the Initial Developer. All Rights Reserved. Contributor(s): Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to use your version of this file under the terms of the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL or the LGPL. If you do not delete the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL. */ /** \file stored_procedures.h SQL Procedures and Stored Procedures functions */ #ifndef DOXYGEN_SHOULD_SKIP_THIS #ifdef DLL_EXPORT #define SQLPROC_DECLARE __declspec(dllexport) #else #define SQLPROC_DECLARE extern #endif #endif #ifndef _SQLPROC_H #ifndef DOXYGEN_SHOULD_SKIP_THIS #define _SQLPROC_H #endif #ifdef __cplusplus extern "C" { #endif /* constants */ /** SQL Procedure BLOB start marker */ #define SQLPROC_START 0xcd /** SQL Procedure BLOB delimiter marker */ #define SQLPROC_DELIM 0x87 /** SQL Procedure BLOB stop marker */ #define SQLPROC_STOP 0xdc /* data structures */ /** SqlProc: Variable with value */ typedef struct gaiaSqlProc_VariableStruct { /** Variable Name */ char *Name; /** Variable Value */ char *Value; /** Pointer to next Variable (linked list) */ struct gaiaSqlProc_VariableStruct *Next; } SqlProc_Variable; /** Typedef for SqlProc Variable structure \sa SqlProc_VarList */ typedef SqlProc_Variable *SqlProc_VariablePtr; /** SqlProc: List of Variables with values */ typedef struct gaiaSqlProc_VarListStruct { /** invalid object */ int Error; /** Error Message (if any) */ char *ErrMessage; /** pointer to first Variable [linked list] */ SqlProc_VariablePtr First; /* Variables linked list - first */ /** pointer to last Variable [linked list] */ SqlProc_VariablePtr Last; /* Variables linked list - last */ } SqlProc_VarList; /** Typedef for SqlProc Variables List structure \sa SqlProc_Variable */ typedef SqlProc_VarList *SqlProc_VarListPtr; /* function prototypes */ /** Return the most recent SQL Procedure error (if any) \param p_cache a memory pointer returned by spatialite_alloc_connection() \return the most recent SQL Procedure error message (if any); NULL in any other case. */ SQLPROC_DECLARE char *gaia_sql_proc_get_last_error (const void *p_cache); /** Will enable/disable a Logfile supporting Execute methods \param p_cache a memory pointer returned by spatialite_alloc_connection() \param filepath the pathname of the Logfile. NULL to disable logging. \param append if TRUE the Logfile will be opened in append mode, otherwise will be trucated. \return 0 on failure, any other value on success. \sa gaia_sql_proc_execute */ SQLPROC_DECLARE int gaia_sql_proc_logfile (const void *p_cache, const char *filepath, int append); /** Creates an empty list of Variables with Values \return pointer to the Variables List \sa gaia_sql_proc_destroy_variables, gaia_sql_proc_add_variable, gaia_sql_proc_cooked_sql, gaia_sql_proc_execute \note you are responsible to destroy (before or after) the Variables List Object returned by this function by calling gaia_sql_proc_destroy_variables(). */ SQLPROC_DECLARE SqlProc_VarListPtr gaia_sql_proc_create_variables (); /** Destroys a list of Variables with Values \param list pointer to the Variables List Object to be destroyed. \sa gaia_sql_proc_create_variables */ SQLPROC_DECLARE void gaia_sql_proc_destroy_variables (SqlProc_VarListPtr list); /** Add a Variable with Value to the List \param list pointer to the Variables List Object. \param str text string expected to contain a Variable with Value in the canonical form '@varname@=value'. \return 0 on failure, any other value on success. \sa gaia_sql_proc_create_variables, gaia_sql_proc_destroy_variables */ SQLPROC_DECLARE int gaia_sql_proc_add_variable (SqlProc_VarListPtr list, const char *str); /** Builds a SQL Procedure BLOB object from Text \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param sql body of the SQL-script \param charset the GNU ICONV name identifying the sql body charset \param blob on succesfull completion this pointer will reference the BLOB SQL Procedure Object (NULL on failure). \param blob_sz on succesfull completion this pointer will reference the size (in bytes) of the BLOB SQL Procedure Object. \return 0 on failure, any other value on success. \sa gaia_sql_proc_import, gaia_sql_proc_get_last_error, gaia_sql_proc_is_valid, gaia_sql_proc_count, gaia_sql_proc_variable, gaia_sql_proc_all_variables, gaia_sql_proc_raw_sql, gaia_sql_proc_cooked_sql \note you are responsible to free (before or after) the BLOB SQL Procedure Object returned by this function. */ SQLPROC_DECLARE int gaia_sql_proc_parse (const void *cache, const char *sql, const char *charset, unsigned char **blob, int *blob_sz); /** Builds a SQL Procedure BLOB object from an external file \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param filepath path to the SQL-script to be loaded. \param charset the GNU ICONV name identifying the sql body charset \param blob on succesfull completion this pointer will reference the BLOB SQL Procedure Object (NULL on failure). \param blob_sz on succesfull completion this pointer will reference the size (in bytes) of the BLOB SQL Procedure Object. \return 0 on failure, any other value on success. \sa gaia_sql_proc_parse, gaia_sql_proc_get_last_error \note you are responsible to free (before or after) the BLOB SQL Procedure Object returned by this function. */ SQLPROC_DECLARE int gaia_sql_proc_import (const void *cache, const char *filepath, const char *charset, unsigned char **blob, int *blob_sz); /** Checks if a BLOB is a valid SQL Procedure Object \param blob pointer to the BLOB Object. \param blob_sz size (in bytes) of the BLOB Object. \return 0 on failure: any other different value on success. \sa gaia_sql_proc_parse */ SQLPROC_DECLARE int gaia_sql_proc_is_valid (const unsigned char *blob, int blob_sz); /** Checks if a TEXT is a valid SQL Variable with Value \param str the text string to be evaluated. \return 0 on failure: any other different value on success. */ SQLPROC_DECLARE int gaia_sql_proc_is_valid_var_value (const char *str); /** Return the total count of Variables from a SQL Procedure Object \param blob pointer to the BLOB Object. \param blob_sz size (in bytes) of the BLOB Object. \return the total count of Variables or -1 on invalid Object \sa gaia_sql_proc_parse, gaia_sql_proc_variable */ SQLPROC_DECLARE int gaia_sql_proc_var_count (const unsigned char *blob, int blob_sz); /** Return the Name of the Nth Variable from a SQL Procedure Object \param blob pointer to the BLOB Object. \param blob_sz size (in bytes) of the BLOB Object. \param index the first Variable has Index=0. \return the name of the Nth Variable or NULL on invalid Object or invalid Index. \sa gaia_sql_proc_parse, gaia_sql_proc_var_count, gaia_sql_proc_all_variables, gaia_sql_proc_raw_sql \note you are responsible to free (before or after) the Variable Name returned by this function. */ SQLPROC_DECLARE char *gaia_sql_proc_variable (const unsigned char *blob, int blob_sz, int index); /** Return the Names of all Variables from a SQL Procedure Object \param blob pointer to the BLOB Object. \param blob_sz size (in bytes) of the BLOB Object. \return a list of Variable Names separated by spaces or NULL on invalid arguments. \sa gaia_sql_proc_parse, gaia_sql_proc_var_count \note you are responsible to free (before or after) the Variable Names returned by this function. */ SQLPROC_DECLARE char *gaia_sql_proc_all_variables (const unsigned char *blob, int blob_sz); /** Return the raw SQL body from a SQL Procedure Object \param blob pointer to the BLOB Object. \param blob_sz size (in bytes) of the BLOB Object. \return the raw SQL body or NULL on invalid arguments. \sa gaia_sql_proc_parse, gaia_sql_proc_var_count \note you are responsible to free (before or after) the raw SQL body returned by this function. */ SQLPROC_DECLARE char *gaia_sql_proc_raw_sql (const unsigned char *blob, int blob_sz); /** Return a cooked SQL body from a raw SQL body by replacing Variable Values \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param blob pointer to the BLOB Object. \param blob_sz size (in bytes) of the BLOB Object. \param variables list of Variables with Values. \param sql on succesfull completions will point to the "cooked" SQL body; NULL on failure. \return 0 on failure: any other different value on success. \sa gaia_sql_proc_parse, gaia_sql_proc_var_count, gaia_sql_proc_create_variables \note you are responsible to free (before or after) the cooked SQL body returned by this function. */ SQLPROC_DECLARE int gaia_sql_proc_cooked_sql (sqlite3 * handle, const void *cache, const unsigned char *blob, int blob_sz, SqlProc_VarListPtr variables, char **sql); /** Will attempt to create the Stored Procedures Tables if not already existing \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \return 0 on failure: any other different value on success. \sa gaia_stored_proc_store, gaia_stored_proc_fetch, gaia_stored_proc_delete, gaia_stored_proc_update_title, gaia_stored_proc_update_sql, gaia_stored_var_store, gaia_stored_var_fetch, gaia_stored_var_delete, gaia_stored_var_update_title, gaia_stored_var_update_value */ SQLPROC_DECLARE int gaia_stored_proc_create_tables (sqlite3 * handle, const void *cache); /** Permanently inserts a Stored Procedure into the DB \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param name unique identifier of the Stored Procedure. \param title short description of the Stored Procedure. \param blob pointer to the BLOB Object. \param blob_sz size (in bytes) of the BLOB Object. \return 0 on failure: any other different value on success. \sa gaia_stored_proc_create_tables, gaia_stored_proc_fetch, gaia_stored_proc_delete, gaia_stored_proc_update_title, gaia_stored_proc_update_sql, gaia_stored_var_store, gaia_stored_var_fetch, gaia_stored_var_delete, gaia_stored_var_update_title, gaia_stored_var_update_value */ SQLPROC_DECLARE int gaia_stored_proc_store (sqlite3 * handle, const void *cache, const char *name, const char *title, const unsigned char *blob, int blob_sz); /** Retrieves a permanent Stored Procedure from the DB \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param name unique identifier of the Stored Procedure. \param blob on succesfull completion this pointer will reference the BLOB SQL Procedure Object (NULL on failure). \param blob_sz on succesfull completion this pointer will reference the size (in bytes) of the BLOB SQL Procedure Object. \return 0 on failure: any other different value on success. \sa gaia_stored_proc_create_tables, gaia_stored_proc_store, gaia_stored_proc_delete, gaia_stored_proc_update_title, gaia_stored_proc_update_sql, gaia_stored_var_store, gaia_stored_var_fetch, gaia_stored_var_delete, gaia_stored_var_update_title, gaia_stored_var_update_value \note you are responsible to free (before or after) the BLOB SQL Procedure Object returned by this function. */ SQLPROC_DECLARE int gaia_stored_proc_fetch (sqlite3 * handle, const void *cache, const char *name, unsigned char **blob, int *blob_sz); /** Removes a permanent Stored Procedure from the DB \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param name unique identifier of the Stored Procedure. \return 0 on failure: any other different value on success. \sa gaia_stored_proc_create_tables, gaia_stored_proc_store, gaia_stored_proc_fetche, gaia_stored_proc_update_title, gaia_stored_proc_update_sql, gaia_stored_var_store, gaia_stored_var_fetch, gaia_stored_var_delete, gaia_stored_var_update_title, gaia_stored_var_update_value */ SQLPROC_DECLARE int gaia_stored_proc_delete (sqlite3 * handle, const void *cache, const char *name); /** Updates the Title on a permanent Stored Procedure \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param name unique identifier of the Stored Procedure. \param title short description of the Stored Procedure. \return 0 on failure: any other different value on success. \sa gaia_stored_proc_create_tables, gaia_stored_proc_store, gaia_stored_proc_fetch, gaia_stored_proc_delete, gaia_stored_proc_update_sql, gaia_stored_var_store, gaia_stored_var_fetch, gaia_stored_var_delete, gaia_stored_var_update_title, gaia_stored_var_update_value */ SQLPROC_DECLARE int gaia_stored_proc_update_title (sqlite3 * handle, const void *cache, const char *name, const char *title); /** Updates the Raw SQL Body on a permanent Stored Procedure \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param name unique identifier of the Stored Procedure. \param blob pointer to the BLOB Object. \param blob_sz size (in bytes) of the BLOB Object. \return 0 on failure: any other different value on success. \sa gaia_stored_proc_create_tables, gaia_stored_proc_store, gaia_stored_proc_fetch, gaia_stored_proc_delete, gaia_stored_proc_update_title, gaia_stored_var_store, gaia_stored_var_fetch, gaia_stored_var_delete, gaia_stored_var_update_title, gaia_stored_var_update_value */ SQLPROC_DECLARE int gaia_stored_proc_update_sql (sqlite3 * handle, const void *cache, const char *name, const unsigned char *blob, int blob_sz); /** Permanently inserts a Stored Variable into the DB \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param name unique identifier of the Stored Variable. \param title short description of the Stored Variable. \param value the Variable Value in its textual representation. \return 0 on failure: any other different value on success. \sa gaia_stored_proc_create_tables, gaia_stored_proc_store, gaia_stored_proc_fetch, gaia_stored_proc_delete, gaia_stored_proc_update_title, gaia_stored_proc_update_sql, gaia_stored_var_fetch, gaia_stored_var_delete, gaia_stored_var_update_title, gaia_stored_var_update_value */ SQLPROC_DECLARE int gaia_stored_var_store (sqlite3 * handle, const void *cache, const char *name, const char *title, const char *value); /** Retrieves a Stored Variable from the DB \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param name unique identifier of the Stored Variable. \param var_with_val if set to TRUE value will point to a Variable with Name string, otherwise (FALSE) it will point to a bare textual value. \param value on succesfull completion this pointer will reference the Stored Variable represented as a Variable with Value or as a bare textual value depending on var_with_val setting. \return 0 on failure: any other different value on success. \sa gaia_stored_proc_create_tables, gaia_stored_proc_store, gaia_stored_proc_fetch, gaia_stored_proc_delete, gaia_stored_proc_update_title, gaia_stored_proc_update_sql, gaia_stored_var_store, gaia_stored_var_delete, gaia_stored_var_update_title, gaia_stored_var_update_value \note you are responsible to free (before or after) the Text String returned by this function. */ SQLPROC_DECLARE int gaia_stored_var_fetch (sqlite3 * handle, const void *cache, const char *name, int var_with_val, char **value); /** Removes a Stored Variable from the DB \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param name unique identifier of the Stored Variable. \return 0 on failure: any other different value on success. \sa gaia_stored_proc_create_tables, gaia_stored_proc_store, gaia_stored_proc_fetch, gaia_stored_proc_delete, gaia_stored_proc_update_title, gaia_stored_proc_update_sql, gaia_stored_var_store, gaia_stored_var_fetch, gaia_stored_var_update_title, gaia_stored_var_update_value */ SQLPROC_DECLARE int gaia_stored_var_delete (sqlite3 * handle, const void *cache, const char *name); /** Updates the Title on a Stored Variable \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param name unique identifier of the Stored Variable. \param title short description of the Stored Variable. \return 0 on failure: any other different value on success. \sa gaia_stored_proc_create_tables, gaia_stored_proc_store, gaia_stored_proc_fetch, gaia_stored_proc_delete, gaia_stored_proc_update_title, gaia_stored_proc_update_sql, gaia_stored_var_store, gaia_stored_var_store, gaia_stored_var_fetch, gaia_stored_var_delete, gaia_stored_var_update_value */ SQLPROC_DECLARE int gaia_stored_var_update_title (sqlite3 * handle, const void *cache, const char *name, const char *title); /** Updates the Value on a Stored Variable \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param name unique identifier of the Stored Variable. \param value the Variable Value in its textual representation. \return 0 on failure: any other different value on success. \sa gaia_stored_proc_create_tables, gaia_stored_proc_store, gaia_stored_proc_fetch, gaia_stored_proc_delete, gaia_stored_proc_update_title, gaia_stored_proc_update_sql, gaia_stored_var_store, gaia_stored_var_store, gaia_stored_var_fetch, gaia_stored_var_delete, gaia_stored_var_update_title */ SQLPROC_DECLARE int gaia_stored_var_update_value (sqlite3 * handle, const void *cache, const char *name, const char *value); /** Executing a cooked SQL Procedure \param handle pointer to the current DB connection. \param cache the same memory pointer passed to the corresponding call to spatialite_init_ex() and returned by spatialite_alloc_connection() \param sql the cooked SQL Body to be executed. \return 0 on failure: any other different value on success. \sa gaia_sql_proc_logfile */ SQLPROC_DECLARE int gaia_sql_proc_execute (sqlite3 * handle, const void *cache, const char *sql); #ifdef __cplusplus } #endif #endif /* _SQLPROC_H */