From 6512bdeccca182cd60e0951a004b1368992ed670 Mon Sep 17 00:00:00 2001 From: renommee <475442458@qq.com> Date: Tue, 20 Nov 2018 01:10:24 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E7=9A=84=E9=97=AE=E9=A2=98&Legend?= =?UTF-8?q?=20of=20Five=20Rings=E6=8E=B7=E9=AA=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dice/sqlite3/sqlite3.lib | Bin 0 -> 3153196 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 Dice/sqlite3/sqlite3.lib diff --git a/Dice/sqlite3/sqlite3.lib b/Dice/sqlite3/sqlite3.lib new file mode 100644 index 0000000000000000000000000000000000000000..dd064098953ba6a1b40350befc2c40b85792f850 GIT binary patch literal 3153196 zcmeFa+j1L8vZh<>Vs6$$jLkOd`;kZj1kAQ==J|YTl2TQ#8xBN*6j~&~B0!a@-(=o$ z9$`L@NB|k0VE3A_eW_}zE(w{D85su;Km7jt|MUMYUT?qtfB*j9|C{^I$H~cLHb46~ zpS!<*=>Ix7ot~eXKmU(^|K*qe@?U@XxBvOSe*XJ&41TVGpKIXf8u+;eey)L^YvAV^ z__+ptu7RIx;O83nxdwi&fuC#O=NkCA27a!ApKIX%&oyvyaT9tsA3lUl*93kRdKZ83 zeeak4=Z|4khILW$^TfRn$93T+dFfqD-3v+DBvI35JSa@mrK0wOwrjl~?(b=k`c2hE z-Us!2+(t>4Cf>!&y^!Tu)s|K0eN?~KDX+*gFK~a)vmndUvh^<18;aJitE}z3i@DpP z3ZkfPgMzO}8g(fNgEkIp@8Zn8P&Z9d#2pX&OH{j;njmh%Ak1Y@N_8o&+cK%>+g~E} zrZ&o|I4T+Azl6Els!hAR<STm#9;h>agXNff3{+g6oVZQT}pOp+yS=)L}-E|g)J=S?IXNH*$P z8|8kGlwPWz)|G`{$E*z+-MNioCN&JQz>9xZ7Z}X0&N6SMUK6Kbk>zdRt@NXcw2SJ- zH_KcN&q-V-VN&Ojm*2bZNrNh`o02hDstaM{2SuHDjlPhSE$e_?!#-1!eUheG&}GbA z`>Gz-v_TlgjE;I-?iWSbq&_>%-8v@)%P=nd&UR(1YHHTU z2PFhfsvwMtz%RV*+HF(uIc>utc-0q*s0+%v_Fhg@i#AMKS!lk$`*$yePU?t%d+W;B&vhFsJ-B2TJ@A$xIm?+NR?&1=8%UR+6c8ic8zCrGWu z7kAa126f#b9$AA^Mn*LYlO$(_`rhX4$?4l^m{wUGAt#>K?oK!jvo=TyKl2vfA5@#7 z3(GVJL{QB~uc|^{R9E^)wEey3KQ5XM|Fi z{MGGFT*O7tB%PN(yG#ExX}heBv)T&+R|ub`Y|6MwSVzd(Fu8W0n1@+YR7K)_TmGr9 z6kT1jo129zYEJW_iTorgy{}8v{~{==wBudNXLm!N7R(FZ9D1A8Z|-}FE(`O#OuV

R+ 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 z

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

9_tJZi=%-qBD-SYO&5uTY>MR$BunJHu|}6a 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ì@O-3eH$&d$gJ^zCB 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%0AdZgSsm0+Vxg%vE zWZ|jOFAZldPLOwkD%G5R4CuSvK6dFFA@9t_oK9_FD;0Z6rsq!s{4NsoF;4>_is@n+ zG?=wZG`4yHJFl#fiwCe>W$Cvl$cBauSC^`1#g+{XUpX)0l@y zC^JlbL(nKcL|huC4BgH!bu>s!ZZn{7Y-2i(ZX}vWIf{t+Y(CqG>m%QjuGu8|7^V}64g zT3-f2{VwvuwEm2?{P*Hg>l?bA*1rrST7MpJ$2R8T*qDQZOM%O&#ER=Ug~q-?6~fe5tE(oEo5kFKP|Dq@(w|Y9KBN~P4bO9t*w{!HmC;VKyJV=j=bm#b@aG62OXf%^$jMw*ivO5D#ZgIy9(GCnMqpb@c%QU&-v#+aI!ddi*s-&2z zVo6u{sWtQSV5YjhU3_1w(RMLNG;k}`tA~pA1N<}6R}?UN<)#G}q99i(k@!NKf~z`k z50ql{ub{p4&SI}x!TP_4=1a6}Fhy^#Z1S4_O&JFKCm3*>dj@ko&bzkJRO2m3o&U-p z=0XJIYf*!HmlD3h8-#?@>ceJT#nP}T0N)_mg54P4pT2!-;B$%O(t+4_D(cMDz)=4c z)sZU!p}rTSON7uCl>ZJ04N^jEGZ-p%)M46z1o^2iCqEd>~lqPV?Q;M3!C?we8fm&QtM=l$ndITfy{eWPX ze!+zBPijjdQr!!%pR%wIOM2_b?n!N|tQviMt}G)d?|;vB7?!B2t;J2FbQfY%JeNh- z+}yCkfcaRCS7-A-4$Cj#CJ+)vc4f(~P}f&&5b?izGZwzk#_K=?Ym4pc(k-p+5u2=C zR~lE8jQ3aW457X458?J#EF+m)O|0Ggzn<*yo(jcnK!|}g@Veg&cl#06M=D=U1}MRi zGU4nhR##Cons)D$vKOViXT(49Vw}8?y!q&h4ZPpJ5q52ue?qp>6l~$BEAU%5e0e%x zZGal?8_L>Ts?oe5MWH1&Qhi774yyM7-k7o`HD}n5F#A0jn;5xVazJhkm9NSFwTP^x zB5zm~UlS4693u)bDI(hd!f9Jh**cV&sQPuncD8bRRhp>P_PMQ#0G_kYO`_(%(rM5> zH-lv+U2jbqrX9cyG1<-P+MQD=v}*d=5i0Q~+SlcQrK-h7s6mNb)jzrlf#UZbs8bmB zRAatJ?u))vlt>Nwk{XcNjj$aD)`bVQe`p7CSjh z`ecF$WJkE?bCWK(;=xQ)&dqw1$ntIy&@e=IkdFkJq>&d?d~dIz+llKX*4_ia9oyKCqciq08G9gfsX}j9bmM_# zto<0k<#3kbRDl`2>DlS6k6#OCQY=W^))=if@&(W_vXF$b@e05>T`6l05=v}MU!T2F zb!#HGlDbOv#BBENSSfMMzx)jtVs=qSQ5hCAys^ycs0A#)_oepEvxUeR>_P`B~F#W`c@AI z723PKSx2^O)>j|__@%7lEOK17Dn?EKxp7ow>DSa`$3T~=aSO94`K1bb?eq=RrP#gg z)rC@VEX4x}R$Up6}sdO>rEmbFcr0x}4Qt z$}8v4K=awEfd>|0R^mV0G>tV`NLV|q zfTE5t!_eXsY7%R!=IK$Ldcbt8^{aWN@rtImiX?)>3^hgFLyJ=#*o<|s>T^>+_%A*U zGhn@^A(DH!nfjL-=#7}!$mNp5h*?Bw?4BsPow0jykN_ObN%0UlF8eL0V;g64Y@DgX z=^WhnxP;|jno}kQMQUFE6Lrg~^!JqZ_rVQGAYi5|A!}+f^ONZhn$NmRDf44izju0n zfu^wXT@Ip@TAQ8IKpQQ90N05|5OD2W`GEykdHA(|TJ>u?SS7o#mK z_m-SW6?<>`uD8pD@3K-N6IXh0_@X*!0@u^-~v8s_X0N?XGJ zslhgxyUa$fyA1X=u!mr68xz|JC|*~TLX~v1(?)GGy=k)8nU*Vz?ZGn8%a( zNUPg$$-eGW|RT}GKV(cmnfjLiT5>au_J(Bf_WxxNGs|@V(tr1cMbz!p+_fjJx zE|L+or|8~I{BlpxFBX@H%+&EUS!8Jvo0i$*6aNxxnhZeyrOl?@=S;gyN^jZ2uCb@o zr{KL|3S{k_B@M`Sv+dzAci+x6W%*mOiV!vW`}D0*~aQ za22fF;k_R{xp(+#%2J1YQ&-+yW8`wl5xr|gb>!;MP}f0)(IgE)vfQ`DGrAp6R;UWw&9+}&qyjy0Dz0Q{3E-tM^4BgHgdp}5w_)jt7KM1xP=l?9d zqW$<>OVQ<(qP-7WV;=Cv7`h!}p0vjFV$5S;Hy)`hdP)|l(6{2K;%O)~@YAXiYcRIj z7vLm(nmi*@J90@P_$*Xt)#qa3`Tim8uYxbXfA13(V1OyhoNVo`tU=o!&Qm#Jl#Lg2E%y>R=Q z(>~N|Pa-r8rOaYt!oq1qb>uP_YPtx}bg-9f`Sjvas~WnUR-GLrTJ=a;^$oBauXAt> zItNvu0p^T}xgbihn@wjD@hwrUfZW#s>~rn85is_?1#eqRzy?Uz`vEv(8}D;$yvxB^ zybzT{Z3#}n@Lq`gQ+U+=OG9KIL1YhwX8`)~-cm>=Cuw*A${#!G`9xj@Q5xoBDoY`_ zCLY{Xe5N8VWO6+$>G@LagTw8!%Lg^BCR|}H&#rI(<=Y-vnhP=igaaloi(aqLq`-%^ z{1>uEDPZV!QeY2|2hPQRdgIIhF zLrTjJ(3}bgX(3D?Pm@|13-Ga+4|F z+VZo+rA#q&JDGAhNGQ69lL9DmTsFl=YLQNkjX^pL(BTJEy9T<#3SGsiRIzW7zGLmR ztb6OBmdH;3LWA) z5wvvmVK`B|2pCUnG2##!*nK~{T4!Dl3im)~#=P9e;0D=}#321PvK|-Cmxkp;yE=@% z+;2aT%XJN}w4`CWQSh;0M{cVN z+aEfR%I-z^wFB93d!1)qv)~rbK)+rt>pb@D@8BQ`?W=Tuf{~#?4GZ+0P$6^fiix{p z;+~keHzw|fNIZ2HP_9Azi2LU{o86WlS~0}q0Wrp{auC^RzY7)K3VBEd;Jp2T7uO~a zQ)tE$L$@=YJOvVC`s_q#Y-3iAZpe6=@@!7%QiZKxSfp$~UR?I#GiI~j?&e%rA(Z%c|nKnPP>1=+<`437_{|Tp3 z%szP0L%W8TF%y0cm8%G;PwP@?Rx#o))GVtaWIsbTB=YAF*#cB#@vmnZYfao_^2}zz z6x-O8eBP;l$}YhnCQ*Jpb73eo<-fhABntnbl=*QqOu0B?VZ2yGMG75Qh7i(MF;d@< z&g$EpUmLVsQn?^u{)QqC8p25Vw_;VZE39ob`_N}hv(L{8dvUNDi*j%+KMhscQqZLe zeGAv_XE2lTIu+xL{Tjiv$b{yZE+(dj!15Uc+Vq2uGpbbGHF}ormC};#2INd|CAQd~ zCbdoCp0myZkHS2w5SIqgHJGz+Hj0CNvqQi-2d7fbPh9cF;l*-ZCKL%_ZYChRC0SJ8 zfFXP%w5#GZ-6q!>D7!h$|&w#9--Vzj;^CeS4_ri+BV&Ovx3vPh;;r= zI%)I)eYzYsS9$%mbQ1H*zeQzLXD(PgSxl&}{gfw*OQs{2C&(-znWkSmU6N8Nm$IiG z@gyHw_wkXJk<%FFcG&bzQlx31RMRdkk>rNF&tYKQ{jp`lvq-!tCAOsHg8@OWfLQ39 zE5^ji0!-#d4_GN3D*?5W87P;uaa)B#Gf*13odw~BATdAg!a%tq*lvv6NQU(|Pt7m> zs8Xu{40Atlw6V8gW!cn@4ToAARtINnV^xlgu^gN!hfzrokKh!7cvMV`kBOrpvNe&; zPI52Nm{$jcr|}l+qaBqKVJ^i?cuk1Ai_M^XkqP)36yz$!hGWI=p(GI9;@BJ(_2=Va zYmToAMA>Q-Hg(Z0q(4^C;+>t&?m}$Rb^;2r^&rx(LB{}1*}ka%b(|ApQ%@G5G%E$? zci{EuBizggTRDA~!iCz)?CElQy3&c7Z<38sZ_&lFxhT&L;iex!KV^8fArMtoUxiHi z8JgJU1c8U*vN4t-ad`|&o_>d|q! zP8q(Yl~Utg2Oy{GgUQK9>}w{Qt;N|U)?~hl5$T;Z2c5=q;4rY;h$Gb)UFmd!h|U+rnZZR7*S7kEESyrRRPSI6c70HeP)DFoCXi zLYX-$*4l5wJt+IqVPLz+@8DRjQp|V=exfGhpdPliJrZn7S}8W5dNaf3*$M|tWAe=P zjLB`Z$D7UFzNNV;#lRF~S~>4zr_g z24jKt5t;}jLj5+=^B7ZWrX5@Qtx}AC0e<|JOHeOKy16xyqUxm(zZv#rNohu+{}#XG z+$wZ-h*YgY_ex!n9n6fNzask!JT|UVg;m%j=BZZ&nI`B?X!Au?f~ph~UV|UcWf9ct zqB?uGgv$NA@mC@K&(V0pAmu^=_f1h9xh6iS_n@-H;-|yP!{kkD`-;1Kv={GR` z9iA}te;|TdyByN&jPegDG|M4Fx3d%(`m9+F?GEnP#;zP2J9F??j#OrQLMM$mJ*C0C z8De6_m>3olvqO|Z_Lra0EN#H+3xl3Mn3Z00#4vM07=z4KLA!jvPm^B^-FK?J>+fGZ zKl@t1U^5j>D(2?3fS)UVF_(2BDXJ{+H=pN2igrP@o;J)&CtwDAl~>|&M$OUiXlK^RUD1h`nQX`08OWhoLoF0FDok#m6e`B z7|{*o+D^7H;#UJ?$yz{uxI<&?>?B*CJAFFf$rOyV8A>f*V&F&JA=xrW(4PNpUBTxJPh2xMLf~a&+_I&Xi{-LM!InEVVPmF0w~ler{WdxVb0! zh7mHkFV%Aj%*xYUg?Ey}>zlVb`X$#rRCO{{*$QTInGX>A>$G0&o^`dYuAIAiP6H#c zZkF)PvEo$faxuu5y}U-*{G->hH>KS25+^+Sh(`g)rr+Prz7J^jm7NHgo-B8CHEoD~ zqGIM<6B^AK-HCYvaMb+_FqP3qR`!)89l2tMCHp~@vIM;*2~M!(`-@9SVCZ&|;7E{2 zf-}J#+c=%0OM;^)&(4NUl3=__e?w_0RzH=udY(7|&QhE{U0Sr;pzh*AIMgi1z#c~V zV`JjDm^eNrPKGchniP)ia(cByHo7fzI_#x9B9_J}e&)q#KSN08KqPKOGXWjdKKnjX zoac(uD-l%n_OMw&sHihxNaupu>(^(2NeIpn^!b98B~pl1ySe;a%WZMW)`ad<9+ zCnVzK5H{fZgbTU@ej?x=KTW#IScTVD?D z*v6$CUAMl5^6adTJ?106s#aIVVwOk6m5_?owPMw{V0%^zR%7}VaKQaXncmTR6;$pK zuA|KKw3zXF!s>5R!@tM5YBt$V;rkSl zz~YDcpl)osZ0kULnECjqaKf_fLrKM!*`<&RImxFh(vO;;)8~7JySw-khRE2DVK)tD zay?2_ug7M!Z_!VLu6C{_fjb@2rvXV{&b3Gn)7gzeja%*?E|wDP&@gF_{|q?BD4}EK z=b}1#?|{m^>EBXD)pwi%qI9%uub#UR4XVV};#H!KuHr6f5HHC81z9orp0kb7>Qq?I z^mI@t<_2@XOZFjFTU@EHMpPExPB7VM==rq^kLoKExk(gEz=`&NW!c0}Zi`&424vpk= z!qLcOI!HSs*GwQWa&5}9y8E!o4OuhGvIn3`6*dnuKBH%WFJY;kM)y39q}pdzVLb>@ z`!aWo-11&txImc=gwVpXL*x(3G}-5SMpyBOiljy(kD;V|4k>>$uCm#yU8(85qB-FV z@?x@^21oOfO&I3bsPY6@0-j62vcL@bHqoxocQ?EVrt62;*jIVhlAL%7??G$)9cc2yrP*4BbwetO*i|R^lY@ zMUKldlIB%3HD1=?MID~k;aMG?*5OGGE~VD82y1i7-k?|^)@B&H%W@qRzgZRA%f5A0 z`c}PkJ(a#)FWp$B@6<~-p%i;JRpq-?rCZu=rsDUiVyks?mA+4DDVJP^4YZS1mv6i+ z#PoOSvuWHLe#Z_QFd($;ma6{1A@>cKL0gyX#~Zd%&4;c=0T|z{nP+Pie^eD)Q?^&> z-=t+mcQLs5%rv#astY&riK{n7a!P%2d;hQbM1&RmC4!}zVB(68FPMgU7ga@`4H{Yu z`-e^HU8T-PHhlVfHwmasWot1Lyn!;v9NaILUNqxTmO(kPyTBCl>3yd@`u{9B5lM!8S(VEU%s5718X(`9X_3oMIy|b$3c`D zVG%M7+EvV^WR7xc$e_?X;;6E8lwnmYPL&Zt$qsP6?L5XdahobNc<5}W!ApKg3zDbT z^>-JuyX-tepjWyVm)EKHUONO3WyT04;F%GSnd~$gP=1zGCs3%fMRnxrj!>6K!(V0g zF}`DsA11q3IH2z>9%Ypp$z5RlP?`oq_hanMK{;FTXmECdgE|NKXqwS@;Gj~?MQvI> z#MBN-3p-t*dbi$Uk9Ue*hxMTyuZJk*ig1h~sw?g+xqy*s3ismZ8Wa zeLqt3ru{3jl&}V>6WKY-Y0aeu)%X9Ooe5E_ zIrHZxL|HJkjL+sqX$!+ssL1fdWUPGvY)%g;UP)xb=hM^Teu4QsYAr5w9D7^$;U@dN zK|j^J!H8N!9%(|9Zk|*Vk$GB2B!%(@)EkjdJZdBIIH$=U=AM9?5l!6%h$o?vu-V5T zVag*iH=EbTo~koeyB$hh>EM)K%s(eqztkw^MNy#SyAs^CtzA)wL9^)dh-KdaWtjYQ z{enu(+d$WzFROtkG*@@<8Qf?U_96y^A?Gi$M%PoN z48aK#iy~%%rskW%-c0Rr<`R@@;w~^!=8SX_AIYlf zLXSG18~>n&-|!v>_S}P8wLnVOIn&*$% z#9{V==zf+|CexHT+0PInUOW@@iEF4e{nn@-Km+tgfvWwG34Z(Aygvt{ANcwDfiE&D zatW#j40xWfDW3&B(0^oXAf>$nV1Z*0|Kp;hpgKf#=1MN8PEj4bT~N92Q`1wHJJ}id zKioG6*ReBFnuMv^7ZyH=IIPYyqY0&~4133Bs`J=z8&7-?XO;z~_qa}LYQyFEEL1Zx z$pPG%Q-JBxJf}u+nv1HC&T|XY3=pk-1Hbh3pd(=l7LJmHv2aQ^ggvR7uihL5p;{&~9$lp8J{K(z7^2%` zrS3z(Kc~6-X6~{{e1LX%^4ow{ED#vXc<3xN|GOTq|HF`yVHr-#HJqLwDsj5ISim{G zfLusk4T-I<54C1pv!Fzh_dH^e+FM}iY<4-+kXZ7jh8L@N7K#jw7wZdCjyp0McNT%- zw78f(hJrPPN#0WTvY-~^y)Q1~hnf3LOV@d;-?=fZ^y7~|F6T$0U(|W+tBa-X%++z1 zgEyqZ@-eYO9mT$q))HmKIXkIn`%f!#KB2 zou|cTUDvJiRNprZ9~WJ(&ST%4QwmM(n`M1?$W_@$l5SL&=sQt!@q`usIm8b$3-TU6 zAGWeD^Kab5e}VY*eK~1i7mfXqt4-hwjkGDmPp=g=6SV6bJqx*3*u1XK?j4b?;Pn>p z5cP!>b;sbUsoCAu{suQVEe9QhZ!>qEE!OV@EfDzlaF4p&mb$vpk)P47fD?QIc z0uH*k+79OW*QR}UvD1LKekn+QUpOQQOJ92%ekZDp{qb0{Glk|Ug1OPs&QpXFK;mK3 zlDNk^v>Y3Ya&Qj_PNXs`pi33{y9&`>rA04W@u`NKI7ys6Fd0+*M0B!BdtGUm^iNUg z(sfjOEzbnh&sW9goYSM8hI~k?(_`X{m^dpYeg{#?J^v*J)`a%9{O?sGYoL3^a#nWy zfkNX>`cqnRg@&`=a^OGqSjT}em*sSWYez)udWBC>LM~d@pMwHAp!A{cT-l)LfoKBQ zRjdM4N*_grkXh%+tT7ZOQNAJ=dw`qaXCLPHjIoK0O|zws!0tzBU~FSn1}Ds*cGn%Nw4J*!UmQ0 z?b6-!N_MHz^ixyo8GIvTRcL* zI5d#A!hJG4tQsX`@@ZkiYg0;6M4_n*M7+|ALUBAH$>6e+fUjp5`>7{cG6rg^x3)4=8u&xH-dTPm6&S1v-mEoyMCE)MmM zsLosi3)J64b>tfNpx%S>R+))!DO>)&xb*nk(Ctio9WR)P?@}I^ZveKN@j5BZHik~x zZfZ)yU^g@-riqDZV`6%UQpkSVZ22QPJ$u2Cu(jC6!yX5*sYzx4HQU137n);OtazrF zm__{Z$9&k&j?C#m<4sHl=2?*|B}c29P;?i2I}>J$@n?tV-G&-$n}h#pPw_#`D+CWN z2z%MCkuPNAz~RL{4z&w*Yp9kY*3j#@P&LllF~@_YmUdgM!a?hBX-)0k*J&6*l{a;y z6;c&Kqa>uDVr8+PWB-{7y-L|{uSU$}!TydXgC}H5-;j=K0R1^NUfF#7Pu5EaWj$Ud zYo4Au&3NjSrhfJ!SM%%uXU5WzvSq9?RiSJR33)s@5shi4Sy`>5oAiI>FxNyf+ZG}b z9{|7GrXH4lYr%=CwIyIO?RvKgSx>8w?SL@NXVfMBsiftUAhpd)rgh~@+_YWAfwE5; z)NmryMb?uc+d~+QenMGar8~INzCqDkH;$Unxi=7-@glk5D>$2kf>e_m|OFEYhiuR@`i9~mCm;*mj;I;jY zE@my97XDF4_>pY9)g>@$j)n@2H8CcR6JKYpp%lIopc1F6NcS8LOHwzRx#wd>S=A}8 z&q1EkdG>TZCz}=ZrQPiQeS2Pc1CG+U~n$g09@_?s*g%IdG8(% zdSmx?CVWThT9Z#q7!}>ck(V$gmi%$cg_%N z`=8$V@X#u03c3>OMo>)4j5>iL5 z^%F?rhuO=AF|d<5ulGijy^^)Ftfx|9S@#3D~Za1U=HaJk2Pin3s%a;X|`!=2No>pXT45qIEu#$e~dM(wkb za88)Zi;ZmgbK=tFg`wNIym%cX?yDUK?%2jL9Nh)RUnx(2vqY8Q8i87^u`bn4X!j(> z_T#SNMEKOgZ@?3x{HEY)U*qzCRi}OnE;@k_0C-!JoIGB1J5CON(TvPpKv2B)F^xUnLYiSQ*d>@n8;&d{+L)0qLj|+ zzR~4S**^8nabnZ}yrxNjv*5|ah#w7VvfoK)Mh3YRFW^_cpJlZmdppc5>EO+-40$%m z=HpK81?G0}Lb6P-DlpD>6<0tibPG%6Zy;Py+{-VcRjgQLv$)~*1zi&fgx0-r0q^MK zT4HZSEFwdMibF)N?A#d`!9TnOUL`;o$}Uvxo5}{Q^xPeR^V|Hzt;W$bKt> zl(a4;VOs^)s~V`5g{hR){w=ELCD-C=2@65D^+YI2V`3f4OFT)H+ig$p8(~_2LyH%r zRuBXR*{`4|MZsN(LPp7JpmMKk4Z%lA-^a7UBS!W75guP$uC_l&sSU{&7Y9qzz(M9` zj=G9#1uuEIvL^604V!wAs!T8P9eFJZd>X9H|D=JiKv@^6MF@jQ;gQGsFot#;C#g7c z(PF~Hrs-nh26-JzRIkALV2tQ7Os>g_>*TCTjSdCUCu)kBpojev_yz`MZHG9g?K!b56DZUU!mPdQ>g-8StGQ-J3-e0}Hr<-u zN#KKXISu&EP-?ONl&RW?QKTjxF>2GY17Bwcd=&dDutcB*P}33E31KblUo1# zC%Z$WT9b}x_HsABxwr>XwnN+&E-1|lvEDA?!Mn3Q7xt8rbilpE8M7BvK27%Kf1;x* z%-ly*XD-vB_J!iKp9(v2b$+P*p-fD|6h`5%D9kmK^Z$Wj@U9*N5&BmgI(s`JwTsUIO50@G(Ow35v z&cfsvkg)V9PV!MCAGRq=N@=rJ)c4vSdvf|Kn0x_#>7Q2adAvs3Q@{)8D2caKZ(<= zud~D^OD{v%L_T{bd@cBFEp!xMQi{tI7f&<2`3yiPuq$sD_7jWYE}(ilWo=h+cDPnkThsgGM=_G zDLoAmMn1+#$t`kRcC?w4-oXCG>pHxu!z&!zr1T72r3y8aXeM7tZThTAC8U8Zls-pk zXvOEnBFN?e?gdpzho6$Fk5w4Y-=Yd7FT!R#H*`CmzX=k6uX2*-BFAOh@#OU*G&MfZ z;e8$6<>35&3!YN6x3TXDd%^VBg8J>R1)~-g2yrkiEG#)}TUemP%}g2|iyFoW`}Pm0|gRWKw#e?u7{{7wZ3$ zN&Jwc!w32+piKivUt2e%2ESw)U=JGLYp`7Gr=&CleF#LUNuR*D%+b-$xUnIa>=21dZ=LZ464!~ z^sOq}NzoZWB1Ly2LIXYy5gJBmDOyex9sHB+u}kEnuX4ub;=sn4yjg=pw`11K)~vlS zs}n5OaI;W~npru8P|Ow+v&Y075ZRPSmxA!k8{MY~HyGxG6WqBZkTi-HtQuu*@zgGM zq(dDJF87MdJaC!znS!de00w9mBQjBO0%=t8li?3f%#2APKtC|{$+3R|$Iy0P3M}00PLc2m8r?yTvUUc`&QHN~(RXDM! zGp<-iwKp=dlA9jf#u(6dx_V?Bit5&nCIK$UVbcVt_-V+?3=lA z68W(dvceG$)M|CKpL*ckGnWHjy)M}z0G(aM+>U(>*t1#pw>>lC3L$Ye(n@N&AIVr# zmJaTn2ZY?itR6j`d=Iz9GDC?%x+$Up2G9*6$Y_ z$HBqZ`+@is{C^!qd(Z^MB1Y}hGjHUaonww=)Xu#o}J1&%A5Nm!kx{tGv)g*S)2 z6uVYc{Be=c4W-Q6A|NH7fRv*!nx%*0>HqimLaDb(65EzLL)4+0_rGjyU6Vx^w2i32 zxtbMfTd2^xw^LPTt`wtcXQ-M}!>N%|yQ(TSwZ%8gcdPTP%HU%6`LkQp?(^Th&NGvF zh;KsZcVzBS=dqv3w>%DKPk3x|)xMYRZA{yGFWB)@-r&sMqIg%{Qu|6>+?3tL2

F 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�wzau2?cIXp9(S|!z7ak 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 n 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 m5&m?K+~AW^)9ZbmAraIE@gUJtAd_4 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

~plIP!4zh58{Gv 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

ZrS*%Zopc*j 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

+** assert( sqlite3_libversion_number()==SQLITE_VERSION_NUMBER );
+** assert( strncmp(sqlite3_sourceid(),SQLITE_SOURCE_ID,80)==0 );
+** assert( strcmp(sqlite3_libversion(),SQLITE_VERSION)==0 );
+** 
)^ +** +** ^The sqlite3_version[] string constant contains the text of [SQLITE_VERSION] +** macro. ^The sqlite3_libversion() function returns a pointer to the +** to the sqlite3_version[] string constant. The sqlite3_libversion() +** function is provided for use in DLLs since DLL users usually do not have +** direct access to string constants within the DLL. ^The +** sqlite3_libversion_number() function returns an integer equal to +** [SQLITE_VERSION_NUMBER]. ^(The sqlite3_sourceid() function returns +** a pointer to a string constant whose value is the same as the +** [SQLITE_SOURCE_ID] C preprocessor macro. Except if SQLite is built +** using an edited copy of [the amalgamation], then the last four characters +** of the hash might be different from [SQLITE_SOURCE_ID].)^ +** +** See also: [sqlite_version()] and [sqlite_source_id()]. +*/ +SQLITE_API SQLITE_EXTERN const char sqlite3_version[]; +SQLITE_API const char *sqlite3_libversion(void); +SQLITE_API const char *sqlite3_sourceid(void); +SQLITE_API int sqlite3_libversion_number(void); + +/* +** CAPI3REF: Run-Time Library Compilation Options Diagnostics +** +** ^The sqlite3_compileoption_used() function returns 0 or 1 +** indicating whether the specified option was defined at +** compile time. ^The SQLITE_ prefix may be omitted from the +** option name passed to sqlite3_compileoption_used(). +** +** ^The sqlite3_compileoption_get() function allows iterating +** over the list of options that were defined at compile time by +** returning the N-th compile time option string. ^If N is out of range, +** sqlite3_compileoption_get() returns a NULL pointer. ^The SQLITE_ +** prefix is omitted from any strings returned by +** sqlite3_compileoption_get(). +** +** ^Support for the diagnostic functions sqlite3_compileoption_used() +** and sqlite3_compileoption_get() may be omitted by specifying the +** [SQLITE_OMIT_COMPILEOPTION_DIAGS] option at compile time. +** +** See also: SQL functions [sqlite_compileoption_used()] and +** [sqlite_compileoption_get()] and the [compile_options pragma]. +*/ +#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS +SQLITE_API int sqlite3_compileoption_used(const char *zOptName); +SQLITE_API const char *sqlite3_compileoption_get(int N); +#endif + +/* +** CAPI3REF: Test To See If The Library Is Threadsafe +** +** ^The sqlite3_threadsafe() function returns zero if and only if +** SQLite was compiled with mutexing code omitted due to the +** [SQLITE_THREADSAFE] compile-time option being set to 0. +** +** SQLite can be compiled with or without mutexes. When +** the [SQLITE_THREADSAFE] C preprocessor macro is 1 or 2, mutexes +** are enabled and SQLite is threadsafe. When the +** [SQLITE_THREADSAFE] macro is 0, +** the mutexes are omitted. Without the mutexes, it is not safe +** to use SQLite concurrently from more than one thread. +** +** Enabling mutexes incurs a measurable performance penalty. +** So if speed is of utmost importance, it makes sense to disable +** the mutexes. But for maximum safety, mutexes should be enabled. +** ^The default behavior is for mutexes to be enabled. +** +** This interface can be used by an application to make sure that the +** version of SQLite that it is linking against was compiled with +** the desired setting of the [SQLITE_THREADSAFE] macro. +** +** This interface only reports on the compile-time mutex setting +** of the [SQLITE_THREADSAFE] flag. If SQLite is compiled with +** SQLITE_THREADSAFE=1 or =2 then mutexes are enabled by default but +** can be fully or partially disabled using a call to [sqlite3_config()] +** with the verbs [SQLITE_CONFIG_SINGLETHREAD], [SQLITE_CONFIG_MULTITHREAD], +** or [SQLITE_CONFIG_SERIALIZED]. ^(The return value of the +** sqlite3_threadsafe() function shows only the compile-time setting of +** thread safety, not any run-time changes to that setting made by +** sqlite3_config(). In other words, the return value from sqlite3_threadsafe() +** is unchanged by calls to sqlite3_config().)^ +** +** See the [threading mode] documentation for additional information. +*/ +SQLITE_API int sqlite3_threadsafe(void); + +/* +** CAPI3REF: Database Connection Handle +** KEYWORDS: {database connection} {database connections} +** +** Each open SQLite database is represented by a pointer to an instance of +** the opaque structure named "sqlite3". It is useful to think of an sqlite3 +** pointer as an object. The [sqlite3_open()], [sqlite3_open16()], and +** [sqlite3_open_v2()] interfaces are its constructors, and [sqlite3_close()] +** and [sqlite3_close_v2()] are its destructors. There are many other +** interfaces (such as +** [sqlite3_prepare_v2()], [sqlite3_create_function()], and +** [sqlite3_busy_timeout()] to name but three) that are methods on an +** sqlite3 object. +*/ +typedef struct sqlite3 sqlite3; + +/* +** CAPI3REF: 64-Bit Integer Types +** KEYWORDS: sqlite_int64 sqlite_uint64 +** +** Because there is no cross-platform way to specify 64-bit integer types +** SQLite includes typedefs for 64-bit signed and unsigned integers. +** +** The sqlite3_int64 and sqlite3_uint64 are the preferred type definitions. +** The sqlite_int64 and sqlite_uint64 types are supported for backwards +** compatibility only. +** +** ^The sqlite3_int64 and sqlite_int64 types can store integer values +** between -9223372036854775808 and +9223372036854775807 inclusive. ^The +** sqlite3_uint64 and sqlite_uint64 types can store integer values +** between 0 and +18446744073709551615 inclusive. +*/ +#ifdef SQLITE_INT64_TYPE + typedef SQLITE_INT64_TYPE sqlite_int64; +# ifdef SQLITE_UINT64_TYPE + typedef SQLITE_UINT64_TYPE sqlite_uint64; +# else + typedef unsigned SQLITE_INT64_TYPE sqlite_uint64; +# endif +#elif defined(_MSC_VER) || defined(__BORLANDC__) + typedef __int64 sqlite_int64; + typedef unsigned __int64 sqlite_uint64; +#else + typedef long long int sqlite_int64; + typedef unsigned long long int sqlite_uint64; +#endif +typedef sqlite_int64 sqlite3_int64; +typedef sqlite_uint64 sqlite3_uint64; + +/* +** If compiling for a processor that lacks floating point support, +** substitute integer for floating-point. +*/ +#ifdef SQLITE_OMIT_FLOATING_POINT +# define double sqlite3_int64 +#endif + +/* +** CAPI3REF: Closing A Database Connection +** DESTRUCTOR: sqlite3 +** +** ^The sqlite3_close() and sqlite3_close_v2() routines are destructors +** for the [sqlite3] object. +** ^Calls to sqlite3_close() and sqlite3_close_v2() return [SQLITE_OK] if +** the [sqlite3] object is successfully destroyed and all associated +** resources are deallocated. +** +** ^If the database connection is associated with unfinalized prepared +** statements or unfinished sqlite3_backup objects then sqlite3_close() +** will leave the database connection open and return [SQLITE_BUSY]. +** ^If sqlite3_close_v2() is called with unfinalized prepared statements +** and/or unfinished sqlite3_backups, then the database connection becomes +** an unusable "zombie" which will automatically be deallocated when the +** last prepared statement is finalized or the last sqlite3_backup is +** finished. The sqlite3_close_v2() interface is intended for use with +** host languages that are garbage collected, and where the order in which +** destructors are called is arbitrary. +** +** Applications should [sqlite3_finalize | finalize] all [prepared statements], +** [sqlite3_blob_close | close] all [BLOB handles], and +** [sqlite3_backup_finish | finish] all [sqlite3_backup] objects associated +** with the [sqlite3] object prior to attempting to close the object. ^If +** sqlite3_close_v2() is called on a [database connection] that still has +** outstanding [prepared statements], [BLOB handles], and/or +** [sqlite3_backup] objects then it returns [SQLITE_OK] and the deallocation +** of resources is deferred until all [prepared statements], [BLOB handles], +** and [sqlite3_backup] objects are also destroyed. +** +** ^If an [sqlite3] object is destroyed while a transaction is open, +** the transaction is automatically rolled back. +** +** The C parameter to [sqlite3_close(C)] and [sqlite3_close_v2(C)] +** must be either a NULL +** pointer or an [sqlite3] object pointer obtained +** from [sqlite3_open()], [sqlite3_open16()], or +** [sqlite3_open_v2()], and not previously closed. +** ^Calling sqlite3_close() or sqlite3_close_v2() with a NULL pointer +** argument is a harmless no-op. +*/ +SQLITE_API int sqlite3_close(sqlite3*); +SQLITE_API int sqlite3_close_v2(sqlite3*); + +/* +** The type for a callback function. +** This is legacy and deprecated. It is included for historical +** compatibility and is not documented. +*/ +typedef int (*sqlite3_callback)(void*,int,char**, char**); + +/* +** CAPI3REF: One-Step Query Execution Interface +** METHOD: sqlite3 +** +** The sqlite3_exec() interface is a convenience wrapper around +** [sqlite3_prepare_v2()], [sqlite3_step()], and [sqlite3_finalize()], +** that allows an application to run multiple statements of SQL +** without having to use a lot of C code. +** +** ^The sqlite3_exec() interface runs zero or more UTF-8 encoded, +** semicolon-separate SQL statements passed into its 2nd argument, +** in the context of the [database connection] passed in as its 1st +** argument. ^If the callback function of the 3rd argument to +** sqlite3_exec() is not NULL, then it is invoked for each result row +** coming out of the evaluated SQL statements. ^The 4th argument to +** sqlite3_exec() is relayed through to the 1st argument of each +** callback invocation. ^If the callback pointer to sqlite3_exec() +** is NULL, then no callback is ever invoked and result rows are +** ignored. +** +** ^If an error occurs while evaluating the SQL statements passed into +** sqlite3_exec(), then execution of the current statement stops and +** subsequent statements are skipped. ^If the 5th parameter to sqlite3_exec() +** is not NULL then any error message is written into memory obtained +** from [sqlite3_malloc()] and passed back through the 5th parameter. +** To avoid memory leaks, the application should invoke [sqlite3_free()] +** on error message strings returned through the 5th parameter of +** sqlite3_exec() after the error message string is no longer needed. +** ^If the 5th parameter to sqlite3_exec() is not NULL and no errors +** occur, then sqlite3_exec() sets the pointer in its 5th parameter to +** NULL before returning. +** +** ^If an sqlite3_exec() callback returns non-zero, the sqlite3_exec() +** routine returns SQLITE_ABORT without invoking the callback again and +** without running any subsequent SQL statements. +** +** ^The 2nd argument to the sqlite3_exec() callback function is the +** number of columns in the result. ^The 3rd argument to the sqlite3_exec() +** callback is an array of pointers to strings obtained as if from +** [sqlite3_column_text()], one for each column. ^If an element of a +** result row is NULL then the corresponding string pointer for the +** sqlite3_exec() callback is a NULL pointer. ^The 4th argument to the +** sqlite3_exec() callback is an array of pointers to strings where each +** entry represents the name of corresponding result column as obtained +** from [sqlite3_column_name()]. +** +** ^If the 2nd parameter to sqlite3_exec() is a NULL pointer, a pointer +** to an empty string, or a pointer that contains only whitespace and/or +** SQL comments, then no SQL statements are evaluated and the database +** is not changed. +** +** Restrictions: +** +**
    +**
  • The application must ensure that the 1st parameter to sqlite3_exec() +** is a valid and open [database connection]. +**
  • The application must not close the [database connection] specified by +** the 1st parameter to sqlite3_exec() while sqlite3_exec() is running. +**
  • The application must not modify the SQL statement text passed into +** the 2nd parameter of sqlite3_exec() while sqlite3_exec() is running. +**
+*/ +SQLITE_API int sqlite3_exec( + sqlite3*, /* An open database */ + const char *sql, /* SQL to be evaluated */ + int (*callback)(void*,int,char**,char**), /* Callback function */ + void *, /* 1st argument to callback */ + char **errmsg /* Error msg written here */ +); + +/* +** CAPI3REF: Result Codes +** KEYWORDS: {result code definitions} +** +** Many SQLite functions return an integer result code from the set shown +** here in order to indicate success or failure. +** +** New error codes may be added in future versions of SQLite. +** +** See also: [extended result code definitions] +*/ +#define SQLITE_OK 0 /* Successful result */ +/* beginning-of-error-codes */ +#define SQLITE_ERROR 1 /* Generic error */ +#define SQLITE_INTERNAL 2 /* Internal logic error in SQLite */ +#define SQLITE_PERM 3 /* Access permission denied */ +#define SQLITE_ABORT 4 /* Callback routine requested an abort */ +#define SQLITE_BUSY 5 /* The database file is locked */ +#define SQLITE_LOCKED 6 /* A table in the database is locked */ +#define SQLITE_NOMEM 7 /* A malloc() failed */ +#define SQLITE_READONLY 8 /* Attempt to write a readonly database */ +#define SQLITE_INTERRUPT 9 /* Operation terminated by sqlite3_interrupt()*/ +#define SQLITE_IOERR 10 /* Some kind of disk I/O error occurred */ +#define SQLITE_CORRUPT 11 /* The database disk image is malformed */ +#define SQLITE_NOTFOUND 12 /* Unknown opcode in sqlite3_file_control() */ +#define SQLITE_FULL 13 /* Insertion failed because database is full */ +#define SQLITE_CANTOPEN 14 /* Unable to open the database file */ +#define SQLITE_PROTOCOL 15 /* Database lock protocol error */ +#define SQLITE_EMPTY 16 /* Internal use only */ +#define SQLITE_SCHEMA 17 /* The database schema changed */ +#define SQLITE_TOOBIG 18 /* String or BLOB exceeds size limit */ +#define SQLITE_CONSTRAINT 19 /* Abort due to constraint violation */ +#define SQLITE_MISMATCH 20 /* Data type mismatch */ +#define SQLITE_MISUSE 21 /* Library used incorrectly */ +#define SQLITE_NOLFS 22 /* Uses OS features not supported on host */ +#define SQLITE_AUTH 23 /* Authorization denied */ +#define SQLITE_FORMAT 24 /* Not used */ +#define SQLITE_RANGE 25 /* 2nd parameter to sqlite3_bind out of range */ +#define SQLITE_NOTADB 26 /* File opened that is not a database file */ +#define SQLITE_NOTICE 27 /* Notifications from sqlite3_log() */ +#define SQLITE_WARNING 28 /* Warnings from sqlite3_log() */ +#define SQLITE_ROW 100 /* sqlite3_step() has another row ready */ +#define SQLITE_DONE 101 /* sqlite3_step() has finished executing */ +/* end-of-error-codes */ + +/* +** CAPI3REF: Extended Result Codes +** KEYWORDS: {extended result code definitions} +** +** In its default configuration, SQLite API routines return one of 30 integer +** [result codes]. However, experience has shown that many of +** these result codes are too coarse-grained. They do not provide as +** much information about problems as programmers might like. In an effort to +** address this, newer versions of SQLite (version 3.3.8 [dateof:3.3.8] +** and later) include +** support for additional result codes that provide more detailed information +** about errors. These [extended result codes] are enabled or disabled +** on a per database connection basis using the +** [sqlite3_extended_result_codes()] API. Or, the extended code for +** the most recent error can be obtained using +** [sqlite3_extended_errcode()]. +*/ +#define SQLITE_ERROR_MISSING_COLLSEQ (SQLITE_ERROR | (1<<8)) +#define SQLITE_ERROR_RETRY (SQLITE_ERROR | (2<<8)) +#define SQLITE_IOERR_READ (SQLITE_IOERR | (1<<8)) +#define SQLITE_IOERR_SHORT_READ (SQLITE_IOERR | (2<<8)) +#define SQLITE_IOERR_WRITE (SQLITE_IOERR | (3<<8)) +#define SQLITE_IOERR_FSYNC (SQLITE_IOERR | (4<<8)) +#define SQLITE_IOERR_DIR_FSYNC (SQLITE_IOERR | (5<<8)) +#define SQLITE_IOERR_TRUNCATE (SQLITE_IOERR | (6<<8)) +#define SQLITE_IOERR_FSTAT (SQLITE_IOERR | (7<<8)) +#define SQLITE_IOERR_UNLOCK (SQLITE_IOERR | (8<<8)) +#define SQLITE_IOERR_RDLOCK (SQLITE_IOERR | (9<<8)) +#define SQLITE_IOERR_DELETE (SQLITE_IOERR | (10<<8)) +#define SQLITE_IOERR_BLOCKED (SQLITE_IOERR | (11<<8)) +#define SQLITE_IOERR_NOMEM (SQLITE_IOERR | (12<<8)) +#define SQLITE_IOERR_ACCESS (SQLITE_IOERR | (13<<8)) +#define SQLITE_IOERR_CHECKRESERVEDLOCK (SQLITE_IOERR | (14<<8)) +#define SQLITE_IOERR_LOCK (SQLITE_IOERR | (15<<8)) +#define SQLITE_IOERR_CLOSE (SQLITE_IOERR | (16<<8)) +#define SQLITE_IOERR_DIR_CLOSE (SQLITE_IOERR | (17<<8)) +#define SQLITE_IOERR_SHMOPEN (SQLITE_IOERR | (18<<8)) +#define SQLITE_IOERR_SHMSIZE (SQLITE_IOERR | (19<<8)) +#define SQLITE_IOERR_SHMLOCK (SQLITE_IOERR | (20<<8)) +#define SQLITE_IOERR_SHMMAP (SQLITE_IOERR | (21<<8)) +#define SQLITE_IOERR_SEEK (SQLITE_IOERR | (22<<8)) +#define SQLITE_IOERR_DELETE_NOENT (SQLITE_IOERR | (23<<8)) +#define SQLITE_IOERR_MMAP (SQLITE_IOERR | (24<<8)) +#define SQLITE_IOERR_GETTEMPPATH (SQLITE_IOERR | (25<<8)) +#define SQLITE_IOERR_CONVPATH (SQLITE_IOERR | (26<<8)) +#define SQLITE_IOERR_VNODE (SQLITE_IOERR | (27<<8)) +#define SQLITE_IOERR_AUTH (SQLITE_IOERR | (28<<8)) +#define SQLITE_IOERR_BEGIN_ATOMIC (SQLITE_IOERR | (29<<8)) +#define SQLITE_IOERR_COMMIT_ATOMIC (SQLITE_IOERR | (30<<8)) +#define SQLITE_IOERR_ROLLBACK_ATOMIC (SQLITE_IOERR | (31<<8)) +#define SQLITE_LOCKED_SHAREDCACHE (SQLITE_LOCKED | (1<<8)) +#define SQLITE_BUSY_RECOVERY (SQLITE_BUSY | (1<<8)) +#define SQLITE_BUSY_SNAPSHOT (SQLITE_BUSY | (2<<8)) +#define SQLITE_CANTOPEN_NOTEMPDIR (SQLITE_CANTOPEN | (1<<8)) +#define SQLITE_CANTOPEN_ISDIR (SQLITE_CANTOPEN | (2<<8)) +#define SQLITE_CANTOPEN_FULLPATH (SQLITE_CANTOPEN | (3<<8)) +#define SQLITE_CANTOPEN_CONVPATH (SQLITE_CANTOPEN | (4<<8)) +#define SQLITE_CORRUPT_VTAB (SQLITE_CORRUPT | (1<<8)) +#define SQLITE_READONLY_RECOVERY (SQLITE_READONLY | (1<<8)) +#define SQLITE_READONLY_CANTLOCK (SQLITE_READONLY | (2<<8)) +#define SQLITE_READONLY_ROLLBACK (SQLITE_READONLY | (3<<8)) +#define SQLITE_READONLY_DBMOVED (SQLITE_READONLY | (4<<8)) +#define SQLITE_READONLY_CANTINIT (SQLITE_READONLY | (5<<8)) +#define SQLITE_READONLY_DIRECTORY (SQLITE_READONLY | (6<<8)) +#define SQLITE_ABORT_ROLLBACK (SQLITE_ABORT | (2<<8)) +#define SQLITE_CONSTRAINT_CHECK (SQLITE_CONSTRAINT | (1<<8)) +#define SQLITE_CONSTRAINT_COMMITHOOK (SQLITE_CONSTRAINT | (2<<8)) +#define SQLITE_CONSTRAINT_FOREIGNKEY (SQLITE_CONSTRAINT | (3<<8)) +#define SQLITE_CONSTRAINT_FUNCTION (SQLITE_CONSTRAINT | (4<<8)) +#define SQLITE_CONSTRAINT_NOTNULL (SQLITE_CONSTRAINT | (5<<8)) +#define SQLITE_CONSTRAINT_PRIMARYKEY (SQLITE_CONSTRAINT | (6<<8)) +#define SQLITE_CONSTRAINT_TRIGGER (SQLITE_CONSTRAINT | (7<<8)) +#define SQLITE_CONSTRAINT_UNIQUE (SQLITE_CONSTRAINT | (8<<8)) +#define SQLITE_CONSTRAINT_VTAB (SQLITE_CONSTRAINT | (9<<8)) +#define SQLITE_CONSTRAINT_ROWID (SQLITE_CONSTRAINT |(10<<8)) +#define SQLITE_NOTICE_RECOVER_WAL (SQLITE_NOTICE | (1<<8)) +#define SQLITE_NOTICE_RECOVER_ROLLBACK (SQLITE_NOTICE | (2<<8)) +#define SQLITE_WARNING_AUTOINDEX (SQLITE_WARNING | (1<<8)) +#define SQLITE_AUTH_USER (SQLITE_AUTH | (1<<8)) +#define SQLITE_OK_LOAD_PERMANENTLY (SQLITE_OK | (1<<8)) + +/* +** CAPI3REF: Flags For File Open Operations +** +** These bit values are intended for use in the +** 3rd parameter to the [sqlite3_open_v2()] interface and +** in the 4th parameter to the [sqlite3_vfs.xOpen] method. +*/ +#define SQLITE_OPEN_READONLY 0x00000001 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_READWRITE 0x00000002 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_CREATE 0x00000004 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_DELETEONCLOSE 0x00000008 /* VFS only */ +#define SQLITE_OPEN_EXCLUSIVE 0x00000010 /* VFS only */ +#define SQLITE_OPEN_AUTOPROXY 0x00000020 /* VFS only */ +#define SQLITE_OPEN_URI 0x00000040 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_MEMORY 0x00000080 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_MAIN_DB 0x00000100 /* VFS only */ +#define SQLITE_OPEN_TEMP_DB 0x00000200 /* VFS only */ +#define SQLITE_OPEN_TRANSIENT_DB 0x00000400 /* VFS only */ +#define SQLITE_OPEN_MAIN_JOURNAL 0x00000800 /* VFS only */ +#define SQLITE_OPEN_TEMP_JOURNAL 0x00001000 /* VFS only */ +#define SQLITE_OPEN_SUBJOURNAL 0x00002000 /* VFS only */ +#define SQLITE_OPEN_MASTER_JOURNAL 0x00004000 /* VFS only */ +#define SQLITE_OPEN_NOMUTEX 0x00008000 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_FULLMUTEX 0x00010000 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_SHAREDCACHE 0x00020000 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_PRIVATECACHE 0x00040000 /* Ok for sqlite3_open_v2() */ +#define SQLITE_OPEN_WAL 0x00080000 /* VFS only */ + +/* Reserved: 0x00F00000 */ + +/* +** CAPI3REF: Device Characteristics +** +** The xDeviceCharacteristics method of the [sqlite3_io_methods] +** object returns an integer which is a vector of these +** bit values expressing I/O characteristics of the mass storage +** device that holds the file that the [sqlite3_io_methods] +** refers to. +** +** The SQLITE_IOCAP_ATOMIC property means that all writes of +** any size are atomic. The SQLITE_IOCAP_ATOMICnnn values +** mean that writes of blocks that are nnn bytes in size and +** are aligned to an address which is an integer multiple of +** nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means +** that when data is appended to a file, the data is appended +** first then the size of the file is extended, never the other +** way around. The SQLITE_IOCAP_SEQUENTIAL property means that +** information is written to disk in the same order as calls +** to xWrite(). The SQLITE_IOCAP_POWERSAFE_OVERWRITE property means that +** after reboot following a crash or power loss, the only bytes in a +** file that were written at the application level might have changed +** and that adjacent bytes, even bytes within the same sector are +** guaranteed to be unchanged. The SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN +** flag indicates that a file cannot be deleted when open. The +** SQLITE_IOCAP_IMMUTABLE flag indicates that the file is on +** read-only media and cannot be changed even by processes with +** elevated privileges. +** +** The SQLITE_IOCAP_BATCH_ATOMIC property means that the underlying +** filesystem supports doing multiple write operations atomically when those +** write operations are bracketed by [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] and +** [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]. +*/ +#define SQLITE_IOCAP_ATOMIC 0x00000001 +#define SQLITE_IOCAP_ATOMIC512 0x00000002 +#define SQLITE_IOCAP_ATOMIC1K 0x00000004 +#define SQLITE_IOCAP_ATOMIC2K 0x00000008 +#define SQLITE_IOCAP_ATOMIC4K 0x00000010 +#define SQLITE_IOCAP_ATOMIC8K 0x00000020 +#define SQLITE_IOCAP_ATOMIC16K 0x00000040 +#define SQLITE_IOCAP_ATOMIC32K 0x00000080 +#define SQLITE_IOCAP_ATOMIC64K 0x00000100 +#define SQLITE_IOCAP_SAFE_APPEND 0x00000200 +#define SQLITE_IOCAP_SEQUENTIAL 0x00000400 +#define SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN 0x00000800 +#define SQLITE_IOCAP_POWERSAFE_OVERWRITE 0x00001000 +#define SQLITE_IOCAP_IMMUTABLE 0x00002000 +#define SQLITE_IOCAP_BATCH_ATOMIC 0x00004000 + +/* +** CAPI3REF: File Locking Levels +** +** SQLite uses one of these integer values as the second +** argument to calls it makes to the xLock() and xUnlock() methods +** of an [sqlite3_io_methods] object. +*/ +#define SQLITE_LOCK_NONE 0 +#define SQLITE_LOCK_SHARED 1 +#define SQLITE_LOCK_RESERVED 2 +#define SQLITE_LOCK_PENDING 3 +#define SQLITE_LOCK_EXCLUSIVE 4 + +/* +** CAPI3REF: Synchronization Type Flags +** +** When SQLite invokes the xSync() method of an +** [sqlite3_io_methods] object it uses a combination of +** these integer values as the second argument. +** +** When the SQLITE_SYNC_DATAONLY flag is used, it means that the +** sync operation only needs to flush data to mass storage. Inode +** information need not be flushed. If the lower four bits of the flag +** equal SQLITE_SYNC_NORMAL, that means to use normal fsync() semantics. +** If the lower four bits equal SQLITE_SYNC_FULL, that means +** to use Mac OS X style fullsync instead of fsync(). +** +** Do not confuse the SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags +** with the [PRAGMA synchronous]=NORMAL and [PRAGMA synchronous]=FULL +** settings. The [synchronous pragma] determines when calls to the +** xSync VFS method occur and applies uniformly across all platforms. +** The SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL flags determine how +** energetic or rigorous or forceful the sync operations are and +** only make a difference on Mac OSX for the default SQLite code. +** (Third-party VFS implementations might also make the distinction +** between SQLITE_SYNC_NORMAL and SQLITE_SYNC_FULL, but among the +** operating systems natively supported by SQLite, only Mac OSX +** cares about the difference.) +*/ +#define SQLITE_SYNC_NORMAL 0x00002 +#define SQLITE_SYNC_FULL 0x00003 +#define SQLITE_SYNC_DATAONLY 0x00010 + +/* +** CAPI3REF: OS Interface Open File Handle +** +** An [sqlite3_file] object represents an open file in the +** [sqlite3_vfs | OS interface layer]. Individual OS interface +** implementations will +** want to subclass this object by appending additional fields +** for their own use. The pMethods entry is a pointer to an +** [sqlite3_io_methods] object that defines methods for performing +** I/O operations on the open file. +*/ +typedef struct sqlite3_file sqlite3_file; +struct sqlite3_file { + const struct sqlite3_io_methods *pMethods; /* Methods for an open file */ +}; + +/* +** CAPI3REF: OS Interface File Virtual Methods Object +** +** Every file opened by the [sqlite3_vfs.xOpen] method populates an +** [sqlite3_file] object (or, more commonly, a subclass of the +** [sqlite3_file] object) with a pointer to an instance of this object. +** This object defines the methods used to perform various operations +** against the open file represented by the [sqlite3_file] object. +** +** If the [sqlite3_vfs.xOpen] method sets the sqlite3_file.pMethods element +** to a non-NULL pointer, then the sqlite3_io_methods.xClose method +** may be invoked even if the [sqlite3_vfs.xOpen] reported that it failed. The +** only way to prevent a call to xClose following a failed [sqlite3_vfs.xOpen] +** is for the [sqlite3_vfs.xOpen] to set the sqlite3_file.pMethods element +** to NULL. +** +** The flags argument to xSync may be one of [SQLITE_SYNC_NORMAL] or +** [SQLITE_SYNC_FULL]. The first choice is the normal fsync(). +** The second choice is a Mac OS X style fullsync. The [SQLITE_SYNC_DATAONLY] +** flag may be ORed in to indicate that only the data of the file +** and not its inode needs to be synced. +** +** The integer values to xLock() and xUnlock() are one of +**
    +**
  • [SQLITE_LOCK_NONE], +**
  • [SQLITE_LOCK_SHARED], +**
  • [SQLITE_LOCK_RESERVED], +**
  • [SQLITE_LOCK_PENDING], or +**
  • [SQLITE_LOCK_EXCLUSIVE]. +**
+** xLock() increases the lock. xUnlock() decreases the lock. +** The xCheckReservedLock() method checks whether any database connection, +** either in this process or in some other process, is holding a RESERVED, +** PENDING, or EXCLUSIVE lock on the file. It returns true +** if such a lock exists and false otherwise. +** +** The xFileControl() method is a generic interface that allows custom +** VFS implementations to directly control an open file using the +** [sqlite3_file_control()] interface. The second "op" argument is an +** integer opcode. The third argument is a generic pointer intended to +** point to a structure that may contain arguments or space in which to +** write return values. Potential uses for xFileControl() might be +** functions to enable blocking locks with timeouts, to change the +** locking strategy (for example to use dot-file locks), to inquire +** about the status of a lock, or to break stale locks. The SQLite +** core reserves all opcodes less than 100 for its own use. +** A [file control opcodes | list of opcodes] less than 100 is available. +** Applications that define a custom xFileControl method should use opcodes +** greater than 100 to avoid conflicts. VFS implementations should +** return [SQLITE_NOTFOUND] for file control opcodes that they do not +** recognize. +** +** The xSectorSize() method returns the sector size of the +** device that underlies the file. The sector size is the +** minimum write that can be performed without disturbing +** other bytes in the file. The xDeviceCharacteristics() +** method returns a bit vector describing behaviors of the +** underlying device: +** +**
    +**
  • [SQLITE_IOCAP_ATOMIC] +**
  • [SQLITE_IOCAP_ATOMIC512] +**
  • [SQLITE_IOCAP_ATOMIC1K] +**
  • [SQLITE_IOCAP_ATOMIC2K] +**
  • [SQLITE_IOCAP_ATOMIC4K] +**
  • [SQLITE_IOCAP_ATOMIC8K] +**
  • [SQLITE_IOCAP_ATOMIC16K] +**
  • [SQLITE_IOCAP_ATOMIC32K] +**
  • [SQLITE_IOCAP_ATOMIC64K] +**
  • [SQLITE_IOCAP_SAFE_APPEND] +**
  • [SQLITE_IOCAP_SEQUENTIAL] +**
  • [SQLITE_IOCAP_UNDELETABLE_WHEN_OPEN] +**
  • [SQLITE_IOCAP_POWERSAFE_OVERWRITE] +**
  • [SQLITE_IOCAP_IMMUTABLE] +**
  • [SQLITE_IOCAP_BATCH_ATOMIC] +**
+** +** The SQLITE_IOCAP_ATOMIC property means that all writes of +** any size are atomic. The SQLITE_IOCAP_ATOMICnnn values +** mean that writes of blocks that are nnn bytes in size and +** are aligned to an address which is an integer multiple of +** nnn are atomic. The SQLITE_IOCAP_SAFE_APPEND value means +** that when data is appended to a file, the data is appended +** first then the size of the file is extended, never the other +** way around. The SQLITE_IOCAP_SEQUENTIAL property means that +** information is written to disk in the same order as calls +** to xWrite(). +** +** If xRead() returns SQLITE_IOERR_SHORT_READ it must also fill +** in the unread portions of the buffer with zeros. A VFS that +** fails to zero-fill short reads might seem to work. However, +** failure to zero-fill short reads will eventually lead to +** database corruption. +*/ +typedef struct sqlite3_io_methods sqlite3_io_methods; +struct sqlite3_io_methods { + int iVersion; + int (*xClose)(sqlite3_file*); + int (*xRead)(sqlite3_file*, void*, int iAmt, sqlite3_int64 iOfst); + int (*xWrite)(sqlite3_file*, const void*, int iAmt, sqlite3_int64 iOfst); + int (*xTruncate)(sqlite3_file*, sqlite3_int64 size); + int (*xSync)(sqlite3_file*, int flags); + int (*xFileSize)(sqlite3_file*, sqlite3_int64 *pSize); + int (*xLock)(sqlite3_file*, int); + int (*xUnlock)(sqlite3_file*, int); + int (*xCheckReservedLock)(sqlite3_file*, int *pResOut); + int (*xFileControl)(sqlite3_file*, int op, void *pArg); + int (*xSectorSize)(sqlite3_file*); + int (*xDeviceCharacteristics)(sqlite3_file*); + /* Methods above are valid for version 1 */ + int (*xShmMap)(sqlite3_file*, int iPg, int pgsz, int, void volatile**); + int (*xShmLock)(sqlite3_file*, int offset, int n, int flags); + void (*xShmBarrier)(sqlite3_file*); + int (*xShmUnmap)(sqlite3_file*, int deleteFlag); + /* Methods above are valid for version 2 */ + int (*xFetch)(sqlite3_file*, sqlite3_int64 iOfst, int iAmt, void **pp); + int (*xUnfetch)(sqlite3_file*, sqlite3_int64 iOfst, void *p); + /* Methods above are valid for version 3 */ + /* Additional methods may be added in future releases */ +}; + +/* +** CAPI3REF: Standard File Control Opcodes +** KEYWORDS: {file control opcodes} {file control opcode} +** +** These integer constants are opcodes for the xFileControl method +** of the [sqlite3_io_methods] object and for the [sqlite3_file_control()] +** interface. +** +**
    +**
  • [[SQLITE_FCNTL_LOCKSTATE]] +** The [SQLITE_FCNTL_LOCKSTATE] opcode is used for debugging. This +** opcode causes the xFileControl method to write the current state of +** the lock (one of [SQLITE_LOCK_NONE], [SQLITE_LOCK_SHARED], +** [SQLITE_LOCK_RESERVED], [SQLITE_LOCK_PENDING], or [SQLITE_LOCK_EXCLUSIVE]) +** into an integer that the pArg argument points to. This capability +** is used during testing and is only available when the SQLITE_TEST +** compile-time option is used. +** +**
  • [[SQLITE_FCNTL_SIZE_HINT]] +** The [SQLITE_FCNTL_SIZE_HINT] opcode is used by SQLite to give the VFS +** layer a hint of how large the database file will grow to be during the +** current transaction. This hint is not guaranteed to be accurate but it +** is often close. The underlying VFS might choose to preallocate database +** file space based on this hint in order to help writes to the database +** file run faster. +** +**
  • [[SQLITE_FCNTL_CHUNK_SIZE]] +** The [SQLITE_FCNTL_CHUNK_SIZE] opcode is used to request that the VFS +** extends and truncates the database file in chunks of a size specified +** by the user. The fourth argument to [sqlite3_file_control()] should +** point to an integer (type int) containing the new chunk-size to use +** for the nominated database. Allocating database file space in large +** chunks (say 1MB at a time), may reduce file-system fragmentation and +** improve performance on some systems. +** +**
  • [[SQLITE_FCNTL_FILE_POINTER]] +** The [SQLITE_FCNTL_FILE_POINTER] opcode is used to obtain a pointer +** to the [sqlite3_file] object associated with a particular database +** connection. See also [SQLITE_FCNTL_JOURNAL_POINTER]. +** +**
  • [[SQLITE_FCNTL_JOURNAL_POINTER]] +** The [SQLITE_FCNTL_JOURNAL_POINTER] opcode is used to obtain a pointer +** to the [sqlite3_file] object associated with the journal file (either +** the [rollback journal] or the [write-ahead log]) for a particular database +** connection. See also [SQLITE_FCNTL_FILE_POINTER]. +** +**
  • [[SQLITE_FCNTL_SYNC_OMITTED]] +** No longer in use. +** +**
  • [[SQLITE_FCNTL_SYNC]] +** The [SQLITE_FCNTL_SYNC] opcode is generated internally by SQLite and +** sent to the VFS immediately before the xSync method is invoked on a +** database file descriptor. Or, if the xSync method is not invoked +** because the user has configured SQLite with +** [PRAGMA synchronous | PRAGMA synchronous=OFF] it is invoked in place +** of the xSync method. In most cases, the pointer argument passed with +** this file-control is NULL. However, if the database file is being synced +** as part of a multi-database commit, the argument points to a nul-terminated +** string containing the transactions master-journal file name. VFSes that +** do not need this signal should silently ignore this opcode. Applications +** should not call [sqlite3_file_control()] with this opcode as doing so may +** disrupt the operation of the specialized VFSes that do require it. +** +**
  • [[SQLITE_FCNTL_COMMIT_PHASETWO]] +** The [SQLITE_FCNTL_COMMIT_PHASETWO] opcode is generated internally by SQLite +** and sent to the VFS after a transaction has been committed immediately +** but before the database is unlocked. VFSes that do not need this signal +** should silently ignore this opcode. Applications should not call +** [sqlite3_file_control()] with this opcode as doing so may disrupt the +** operation of the specialized VFSes that do require it. +** +**
  • [[SQLITE_FCNTL_WIN32_AV_RETRY]] +** ^The [SQLITE_FCNTL_WIN32_AV_RETRY] opcode is used to configure automatic +** retry counts and intervals for certain disk I/O operations for the +** windows [VFS] in order to provide robustness in the presence of +** anti-virus programs. By default, the windows VFS will retry file read, +** file write, and file delete operations up to 10 times, with a delay +** of 25 milliseconds before the first retry and with the delay increasing +** by an additional 25 milliseconds with each subsequent retry. This +** opcode allows these two values (10 retries and 25 milliseconds of delay) +** to be adjusted. The values are changed for all database connections +** within the same process. The argument is a pointer to an array of two +** integers where the first integer is the new retry count and the second +** integer is the delay. If either integer is negative, then the setting +** is not changed but instead the prior value of that setting is written +** into the array entry, allowing the current retry settings to be +** interrogated. The zDbName parameter is ignored. +** +**
  • [[SQLITE_FCNTL_PERSIST_WAL]] +** ^The [SQLITE_FCNTL_PERSIST_WAL] opcode is used to set or query the +** persistent [WAL | Write Ahead Log] setting. By default, the auxiliary +** write ahead log and shared memory files used for transaction control +** are automatically deleted when the latest connection to the database +** closes. Setting persistent WAL mode causes those files to persist after +** close. Persisting the files is useful when other processes that do not +** have write permission on the directory containing the database file want +** to read the database file, as the WAL and shared memory files must exist +** in order for the database to be readable. The fourth parameter to +** [sqlite3_file_control()] for this opcode should be a pointer to an integer. +** That integer is 0 to disable persistent WAL mode or 1 to enable persistent +** WAL mode. If the integer is -1, then it is overwritten with the current +** WAL persistence setting. +** +**
  • [[SQLITE_FCNTL_POWERSAFE_OVERWRITE]] +** ^The [SQLITE_FCNTL_POWERSAFE_OVERWRITE] opcode is used to set or query the +** persistent "powersafe-overwrite" or "PSOW" setting. The PSOW setting +** determines the [SQLITE_IOCAP_POWERSAFE_OVERWRITE] bit of the +** xDeviceCharacteristics methods. The fourth parameter to +** [sqlite3_file_control()] for this opcode should be a pointer to an integer. +** That integer is 0 to disable zero-damage mode or 1 to enable zero-damage +** mode. If the integer is -1, then it is overwritten with the current +** zero-damage mode setting. +** +**
  • [[SQLITE_FCNTL_OVERWRITE]] +** ^The [SQLITE_FCNTL_OVERWRITE] opcode is invoked by SQLite after opening +** a write transaction to indicate that, unless it is rolled back for some +** reason, the entire database file will be overwritten by the current +** transaction. This is used by VACUUM operations. +** +**
  • [[SQLITE_FCNTL_VFSNAME]] +** ^The [SQLITE_FCNTL_VFSNAME] opcode can be used to obtain the names of +** all [VFSes] in the VFS stack. The names are of all VFS shims and the +** final bottom-level VFS are written into memory obtained from +** [sqlite3_malloc()] and the result is stored in the char* variable +** that the fourth parameter of [sqlite3_file_control()] points to. +** The caller is responsible for freeing the memory when done. As with +** all file-control actions, there is no guarantee that this will actually +** do anything. Callers should initialize the char* variable to a NULL +** pointer in case this file-control is not implemented. This file-control +** is intended for diagnostic use only. +** +**
  • [[SQLITE_FCNTL_VFS_POINTER]] +** ^The [SQLITE_FCNTL_VFS_POINTER] opcode finds a pointer to the top-level +** [VFSes] currently in use. ^(The argument X in +** sqlite3_file_control(db,SQLITE_FCNTL_VFS_POINTER,X) must be +** of type "[sqlite3_vfs] **". This opcodes will set *X +** to a pointer to the top-level VFS.)^ +** ^When there are multiple VFS shims in the stack, this opcode finds the +** upper-most shim only. +** +**
  • [[SQLITE_FCNTL_PRAGMA]] +** ^Whenever a [PRAGMA] statement is parsed, an [SQLITE_FCNTL_PRAGMA] +** file control is sent to the open [sqlite3_file] object corresponding +** to the database file to which the pragma statement refers. ^The argument +** to the [SQLITE_FCNTL_PRAGMA] file control is an array of +** pointers to strings (char**) in which the second element of the array +** is the name of the pragma and the third element is the argument to the +** pragma or NULL if the pragma has no argument. ^The handler for an +** [SQLITE_FCNTL_PRAGMA] file control can optionally make the first element +** of the char** argument point to a string obtained from [sqlite3_mprintf()] +** or the equivalent and that string will become the result of the pragma or +** the error message if the pragma fails. ^If the +** [SQLITE_FCNTL_PRAGMA] file control returns [SQLITE_NOTFOUND], then normal +** [PRAGMA] processing continues. ^If the [SQLITE_FCNTL_PRAGMA] +** file control returns [SQLITE_OK], then the parser assumes that the +** VFS has handled the PRAGMA itself and the parser generates a no-op +** prepared statement if result string is NULL, or that returns a copy +** of the result string if the string is non-NULL. +** ^If the [SQLITE_FCNTL_PRAGMA] file control returns +** any result code other than [SQLITE_OK] or [SQLITE_NOTFOUND], that means +** that the VFS encountered an error while handling the [PRAGMA] and the +** compilation of the PRAGMA fails with an error. ^The [SQLITE_FCNTL_PRAGMA] +** file control occurs at the beginning of pragma statement analysis and so +** it is able to override built-in [PRAGMA] statements. +** +**
  • [[SQLITE_FCNTL_BUSYHANDLER]] +** ^The [SQLITE_FCNTL_BUSYHANDLER] +** file-control may be invoked by SQLite on the database file handle +** shortly after it is opened in order to provide a custom VFS with access +** to the connections busy-handler callback. The argument is of type (void **) +** - an array of two (void *) values. The first (void *) actually points +** to a function of type (int (*)(void *)). In order to invoke the connections +** busy-handler, this function should be invoked with the second (void *) in +** the array as the only argument. If it returns non-zero, then the operation +** should be retried. If it returns zero, the custom VFS should abandon the +** current operation. +** +**
  • [[SQLITE_FCNTL_TEMPFILENAME]] +** ^Application can invoke the [SQLITE_FCNTL_TEMPFILENAME] file-control +** to have SQLite generate a +** temporary filename using the same algorithm that is followed to generate +** temporary filenames for TEMP tables and other internal uses. The +** argument should be a char** which will be filled with the filename +** written into memory obtained from [sqlite3_malloc()]. The caller should +** invoke [sqlite3_free()] on the result to avoid a memory leak. +** +**
  • [[SQLITE_FCNTL_MMAP_SIZE]] +** The [SQLITE_FCNTL_MMAP_SIZE] file control is used to query or set the +** maximum number of bytes that will be used for memory-mapped I/O. +** The argument is a pointer to a value of type sqlite3_int64 that +** is an advisory maximum number of bytes in the file to memory map. The +** pointer is overwritten with the old value. The limit is not changed if +** the value originally pointed to is negative, and so the current limit +** can be queried by passing in a pointer to a negative number. This +** file-control is used internally to implement [PRAGMA mmap_size]. +** +**
  • [[SQLITE_FCNTL_TRACE]] +** The [SQLITE_FCNTL_TRACE] file control provides advisory information +** to the VFS about what the higher layers of the SQLite stack are doing. +** This file control is used by some VFS activity tracing [shims]. +** The argument is a zero-terminated string. Higher layers in the +** SQLite stack may generate instances of this file control if +** the [SQLITE_USE_FCNTL_TRACE] compile-time option is enabled. +** +**
  • [[SQLITE_FCNTL_HAS_MOVED]] +** The [SQLITE_FCNTL_HAS_MOVED] file control interprets its argument as a +** pointer to an integer and it writes a boolean into that integer depending +** on whether or not the file has been renamed, moved, or deleted since it +** was first opened. +** +**
  • [[SQLITE_FCNTL_WIN32_GET_HANDLE]] +** The [SQLITE_FCNTL_WIN32_GET_HANDLE] opcode can be used to obtain the +** underlying native file handle associated with a file handle. This file +** control interprets its argument as a pointer to a native file handle and +** writes the resulting value there. +** +**
  • [[SQLITE_FCNTL_WIN32_SET_HANDLE]] +** The [SQLITE_FCNTL_WIN32_SET_HANDLE] opcode is used for debugging. This +** opcode causes the xFileControl method to swap the file handle with the one +** pointed to by the pArg argument. This capability is used during testing +** and only needs to be supported when SQLITE_TEST is defined. +** +**
  • [[SQLITE_FCNTL_WAL_BLOCK]] +** The [SQLITE_FCNTL_WAL_BLOCK] is a signal to the VFS layer that it might +** be advantageous to block on the next WAL lock if the lock is not immediately +** available. The WAL subsystem issues this signal during rare +** circumstances in order to fix a problem with priority inversion. +** Applications should not use this file-control. +** +**
  • [[SQLITE_FCNTL_ZIPVFS]] +** The [SQLITE_FCNTL_ZIPVFS] opcode is implemented by zipvfs only. All other +** VFS should return SQLITE_NOTFOUND for this opcode. +** +**
  • [[SQLITE_FCNTL_RBU]] +** The [SQLITE_FCNTL_RBU] opcode is implemented by the special VFS used by +** the RBU extension only. All other VFS should return SQLITE_NOTFOUND for +** this opcode. +** +**
  • [[SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]] +** If the [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] opcode returns SQLITE_OK, then +** the file descriptor is placed in "batch write mode", which +** means all subsequent write operations will be deferred and done +** atomically at the next [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]. Systems +** that do not support batch atomic writes will return SQLITE_NOTFOUND. +** ^Following a successful SQLITE_FCNTL_BEGIN_ATOMIC_WRITE and prior to +** the closing [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE] or +** [SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE], SQLite will make +** no VFS interface calls on the same [sqlite3_file] file descriptor +** except for calls to the xWrite method and the xFileControl method +** with [SQLITE_FCNTL_SIZE_HINT]. +** +**
  • [[SQLITE_FCNTL_COMMIT_ATOMIC_WRITE]] +** The [SQLITE_FCNTL_COMMIT_ATOMIC_WRITE] opcode causes all write +** operations since the previous successful call to +** [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] to be performed atomically. +** This file control returns [SQLITE_OK] if and only if the writes were +** all performed successfully and have been committed to persistent storage. +** ^Regardless of whether or not it is successful, this file control takes +** the file descriptor out of batch write mode so that all subsequent +** write operations are independent. +** ^SQLite will never invoke SQLITE_FCNTL_COMMIT_ATOMIC_WRITE without +** a prior successful call to [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]. +** +**
  • [[SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE]] +** The [SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE] opcode causes all write +** operations since the previous successful call to +** [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE] to be rolled back. +** ^This file control takes the file descriptor out of batch write mode +** so that all subsequent write operations are independent. +** ^SQLite will never invoke SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE without +** a prior successful call to [SQLITE_FCNTL_BEGIN_ATOMIC_WRITE]. +** +**
  • [[SQLITE_FCNTL_LOCK_TIMEOUT]] +** The [SQLITE_FCNTL_LOCK_TIMEOUT] opcode causes attempts to obtain +** a file lock using the xLock or xShmLock methods of the VFS to wait +** for up to M milliseconds before failing, where M is the single +** unsigned integer parameter. +**
+*/ +#define SQLITE_FCNTL_LOCKSTATE 1 +#define SQLITE_FCNTL_GET_LOCKPROXYFILE 2 +#define SQLITE_FCNTL_SET_LOCKPROXYFILE 3 +#define SQLITE_FCNTL_LAST_ERRNO 4 +#define SQLITE_FCNTL_SIZE_HINT 5 +#define SQLITE_FCNTL_CHUNK_SIZE 6 +#define SQLITE_FCNTL_FILE_POINTER 7 +#define SQLITE_FCNTL_SYNC_OMITTED 8 +#define SQLITE_FCNTL_WIN32_AV_RETRY 9 +#define SQLITE_FCNTL_PERSIST_WAL 10 +#define SQLITE_FCNTL_OVERWRITE 11 +#define SQLITE_FCNTL_VFSNAME 12 +#define SQLITE_FCNTL_POWERSAFE_OVERWRITE 13 +#define SQLITE_FCNTL_PRAGMA 14 +#define SQLITE_FCNTL_BUSYHANDLER 15 +#define SQLITE_FCNTL_TEMPFILENAME 16 +#define SQLITE_FCNTL_MMAP_SIZE 18 +#define SQLITE_FCNTL_TRACE 19 +#define SQLITE_FCNTL_HAS_MOVED 20 +#define SQLITE_FCNTL_SYNC 21 +#define SQLITE_FCNTL_COMMIT_PHASETWO 22 +#define SQLITE_FCNTL_WIN32_SET_HANDLE 23 +#define SQLITE_FCNTL_WAL_BLOCK 24 +#define SQLITE_FCNTL_ZIPVFS 25 +#define SQLITE_FCNTL_RBU 26 +#define SQLITE_FCNTL_VFS_POINTER 27 +#define SQLITE_FCNTL_JOURNAL_POINTER 28 +#define SQLITE_FCNTL_WIN32_GET_HANDLE 29 +#define SQLITE_FCNTL_PDB 30 +#define SQLITE_FCNTL_BEGIN_ATOMIC_WRITE 31 +#define SQLITE_FCNTL_COMMIT_ATOMIC_WRITE 32 +#define SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE 33 +#define SQLITE_FCNTL_LOCK_TIMEOUT 34 + +/* deprecated names */ +#define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE +#define SQLITE_SET_LOCKPROXYFILE SQLITE_FCNTL_SET_LOCKPROXYFILE +#define SQLITE_LAST_ERRNO SQLITE_FCNTL_LAST_ERRNO + + +/* +** CAPI3REF: Mutex Handle +** +** The mutex module within SQLite defines [sqlite3_mutex] to be an +** abstract type for a mutex object. The SQLite core never looks +** at the internal representation of an [sqlite3_mutex]. It only +** deals with pointers to the [sqlite3_mutex] object. +** +** Mutexes are created using [sqlite3_mutex_alloc()]. +*/ +typedef struct sqlite3_mutex sqlite3_mutex; + +/* +** CAPI3REF: Loadable Extension Thunk +** +** A pointer to the opaque sqlite3_api_routines structure is passed as +** the third parameter to entry points of [loadable extensions]. This +** structure must be typedefed in order to work around compiler warnings +** on some platforms. +*/ +typedef struct sqlite3_api_routines sqlite3_api_routines; + +/* +** CAPI3REF: OS Interface Object +** +** An instance of the sqlite3_vfs object defines the interface between +** the SQLite core and the underlying operating system. The "vfs" +** in the name of the object stands for "virtual file system". See +** the [VFS | VFS documentation] for further information. +** +** The VFS interface is sometimes extended by adding new methods onto +** the end. Each time such an extension occurs, the iVersion field +** is incremented. The iVersion value started out as 1 in +** SQLite [version 3.5.0] on [dateof:3.5.0], then increased to 2 +** with SQLite [version 3.7.0] on [dateof:3.7.0], and then increased +** to 3 with SQLite [version 3.7.6] on [dateof:3.7.6]. Additional fields +** may be appended to the sqlite3_vfs object and the iVersion value +** may increase again in future versions of SQLite. +** Note that the structure +** of the sqlite3_vfs object changes in the transition from +** SQLite [version 3.5.9] to [version 3.6.0] on [dateof:3.6.0] +** and yet the iVersion field was not modified. +** +** The szOsFile field is the size of the subclassed [sqlite3_file] +** structure used by this VFS. mxPathname is the maximum length of +** a pathname in this VFS. +** +** Registered sqlite3_vfs objects are kept on a linked list formed by +** the pNext pointer. The [sqlite3_vfs_register()] +** and [sqlite3_vfs_unregister()] interfaces manage this list +** in a thread-safe way. The [sqlite3_vfs_find()] interface +** searches the list. Neither the application code nor the VFS +** implementation should use the pNext pointer. +** +** The pNext field is the only field in the sqlite3_vfs +** structure that SQLite will ever modify. SQLite will only access +** or modify this field while holding a particular static mutex. +** The application should never modify anything within the sqlite3_vfs +** object once the object has been registered. +** +** The zName field holds the name of the VFS module. The name must +** be unique across all VFS modules. +** +** [[sqlite3_vfs.xOpen]] +** ^SQLite guarantees that the zFilename parameter to xOpen +** is either a NULL pointer or string obtained +** from xFullPathname() with an optional suffix added. +** ^If a suffix is added to the zFilename parameter, it will +** consist of a single "-" character followed by no more than +** 11 alphanumeric and/or "-" characters. +** ^SQLite further guarantees that +** the string will be valid and unchanged until xClose() is +** called. Because of the previous sentence, +** the [sqlite3_file] can safely store a pointer to the +** filename if it needs to remember the filename for some reason. +** If the zFilename parameter to xOpen is a NULL pointer then xOpen +** must invent its own temporary name for the file. ^Whenever the +** xFilename parameter is NULL it will also be the case that the +** flags parameter will include [SQLITE_OPEN_DELETEONCLOSE]. +** +** The flags argument to xOpen() includes all bits set in +** the flags argument to [sqlite3_open_v2()]. Or if [sqlite3_open()] +** or [sqlite3_open16()] is used, then flags includes at least +** [SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE]. +** If xOpen() opens a file read-only then it sets *pOutFlags to +** include [SQLITE_OPEN_READONLY]. Other bits in *pOutFlags may be set. +** +** ^(SQLite will also add one of the following flags to the xOpen() +** call, depending on the object being opened: +** +**
    +**
  • [SQLITE_OPEN_MAIN_DB] +**
  • [SQLITE_OPEN_MAIN_JOURNAL] +**
  • [SQLITE_OPEN_TEMP_DB] +**
  • [SQLITE_OPEN_TEMP_JOURNAL] +**
  • [SQLITE_OPEN_TRANSIENT_DB] +**
  • [SQLITE_OPEN_SUBJOURNAL] +**
  • [SQLITE_OPEN_MASTER_JOURNAL] +**
  • [SQLITE_OPEN_WAL] +**
)^ +** +** The file I/O implementation can use the object type flags to +** change the way it deals with files. For example, an application +** that does not care about crash recovery or rollback might make +** the open of a journal file a no-op. Writes to this journal would +** also be no-ops, and any attempt to read the journal would return +** SQLITE_IOERR. Or the implementation might recognize that a database +** file will be doing page-aligned sector reads and writes in a random +** order and set up its I/O subsystem accordingly. +** +** SQLite might also add one of the following flags to the xOpen method: +** +**
    +**
  • [SQLITE_OPEN_DELETEONCLOSE] +**
  • [SQLITE_OPEN_EXCLUSIVE] +**
+** +** The [SQLITE_OPEN_DELETEONCLOSE] flag means the file should be +** deleted when it is closed. ^The [SQLITE_OPEN_DELETEONCLOSE] +** will be set for TEMP databases and their journals, transient +** databases, and subjournals. +** +** ^The [SQLITE_OPEN_EXCLUSIVE] flag is always used in conjunction +** with the [SQLITE_OPEN_CREATE] flag, which are both directly +** analogous to the O_EXCL and O_CREAT flags of the POSIX open() +** API. The SQLITE_OPEN_EXCLUSIVE flag, when paired with the +** SQLITE_OPEN_CREATE, is used to indicate that file should always +** be created, and that it is an error if it already exists. +** It is not used to indicate the file should be opened +** for exclusive access. +** +** ^At least szOsFile bytes of memory are allocated by SQLite +** to hold the [sqlite3_file] structure passed as the third +** argument to xOpen. The xOpen method does not have to +** allocate the structure; it should just fill it in. Note that +** the xOpen method must set the sqlite3_file.pMethods to either +** a valid [sqlite3_io_methods] object or to NULL. xOpen must do +** this even if the open fails. SQLite expects that the sqlite3_file.pMethods +** element will be valid after xOpen returns regardless of the success +** or failure of the xOpen call. +** +** [[sqlite3_vfs.xAccess]] +** ^The flags argument to xAccess() may be [SQLITE_ACCESS_EXISTS] +** to test for the existence of a file, or [SQLITE_ACCESS_READWRITE] to +** test whether a file is readable and writable, or [SQLITE_ACCESS_READ] +** to test whether a file is at least readable. The file can be a +** directory. +** +** ^SQLite will always allocate at least mxPathname+1 bytes for the +** output buffer xFullPathname. The exact size of the output buffer +** is also passed as a parameter to both methods. If the output buffer +** is not large enough, [SQLITE_CANTOPEN] should be returned. Since this is +** handled as a fatal error by SQLite, vfs implementations should endeavor +** to prevent this by setting mxPathname to a sufficiently large value. +** +** The xRandomness(), xSleep(), xCurrentTime(), and xCurrentTimeInt64() +** interfaces are not strictly a part of the filesystem, but they are +** included in the VFS structure for completeness. +** The xRandomness() function attempts to return nBytes bytes +** of good-quality randomness into zOut. The return value is +** the actual number of bytes of randomness obtained. +** The xSleep() method causes the calling thread to sleep for at +** least the number of microseconds given. ^The xCurrentTime() +** method returns a Julian Day Number for the current date and time as +** a floating point value. +** ^The xCurrentTimeInt64() method returns, as an integer, the Julian +** Day Number multiplied by 86400000 (the number of milliseconds in +** a 24-hour day). +** ^SQLite will use the xCurrentTimeInt64() method to get the current +** date and time if that method is available (if iVersion is 2 or +** greater and the function pointer is not NULL) and will fall back +** to xCurrentTime() if xCurrentTimeInt64() is unavailable. +** +** ^The xSetSystemCall(), xGetSystemCall(), and xNestSystemCall() interfaces +** are not used by the SQLite core. These optional interfaces are provided +** by some VFSes to facilitate testing of the VFS code. By overriding +** system calls with functions under its control, a test program can +** simulate faults and error conditions that would otherwise be difficult +** or impossible to induce. The set of system calls that can be overridden +** varies from one VFS to another, and from one version of the same VFS to the +** next. Applications that use these interfaces must be prepared for any +** or all of these interfaces to be NULL or for their behavior to change +** from one release to the next. Applications must not attempt to access +** any of these methods if the iVersion of the VFS is less than 3. +*/ +typedef struct sqlite3_vfs sqlite3_vfs; +typedef void (*sqlite3_syscall_ptr)(void); +struct sqlite3_vfs { + int iVersion; /* Structure version number (currently 3) */ + int szOsFile; /* Size of subclassed sqlite3_file */ + int mxPathname; /* Maximum file pathname length */ + sqlite3_vfs *pNext; /* Next registered VFS */ + const char *zName; /* Name of this virtual file system */ + void *pAppData; /* Pointer to application-specific data */ + int (*xOpen)(sqlite3_vfs*, const char *zName, sqlite3_file*, + int flags, int *pOutFlags); + int (*xDelete)(sqlite3_vfs*, const char *zName, int syncDir); + int (*xAccess)(sqlite3_vfs*, const char *zName, int flags, int *pResOut); + int (*xFullPathname)(sqlite3_vfs*, const char *zName, int nOut, char *zOut); + void *(*xDlOpen)(sqlite3_vfs*, const char *zFilename); + void (*xDlError)(sqlite3_vfs*, int nByte, char *zErrMsg); + void (*(*xDlSym)(sqlite3_vfs*,void*, const char *zSymbol))(void); + void (*xDlClose)(sqlite3_vfs*, void*); + int (*xRandomness)(sqlite3_vfs*, int nByte, char *zOut); + int (*xSleep)(sqlite3_vfs*, int microseconds); + int (*xCurrentTime)(sqlite3_vfs*, double*); + int (*xGetLastError)(sqlite3_vfs*, int, char *); + /* + ** The methods above are in version 1 of the sqlite_vfs object + ** definition. Those that follow are added in version 2 or later + */ + int (*xCurrentTimeInt64)(sqlite3_vfs*, sqlite3_int64*); + /* + ** The methods above are in versions 1 and 2 of the sqlite_vfs object. + ** Those below are for version 3 and greater. + */ + int (*xSetSystemCall)(sqlite3_vfs*, const char *zName, sqlite3_syscall_ptr); + sqlite3_syscall_ptr (*xGetSystemCall)(sqlite3_vfs*, const char *zName); + const char *(*xNextSystemCall)(sqlite3_vfs*, const char *zName); + /* + ** The methods above are in versions 1 through 3 of the sqlite_vfs object. + ** New fields may be appended in future versions. The iVersion + ** value will increment whenever this happens. + */ +}; + +/* +** CAPI3REF: Flags for the xAccess VFS method +** +** These integer constants can be used as the third parameter to +** the xAccess method of an [sqlite3_vfs] object. They determine +** what kind of permissions the xAccess method is looking for. +** With SQLITE_ACCESS_EXISTS, the xAccess method +** simply checks whether the file exists. +** With SQLITE_ACCESS_READWRITE, the xAccess method +** checks whether the named directory is both readable and writable +** (in other words, if files can be added, removed, and renamed within +** the directory). +** The SQLITE_ACCESS_READWRITE constant is currently used only by the +** [temp_store_directory pragma], though this could change in a future +** release of SQLite. +** With SQLITE_ACCESS_READ, the xAccess method +** checks whether the file is readable. The SQLITE_ACCESS_READ constant is +** currently unused, though it might be used in a future release of +** SQLite. +*/ +#define SQLITE_ACCESS_EXISTS 0 +#define SQLITE_ACCESS_READWRITE 1 /* Used by PRAGMA temp_store_directory */ +#define SQLITE_ACCESS_READ 2 /* Unused */ + +/* +** CAPI3REF: Flags for the xShmLock VFS method +** +** These integer constants define the various locking operations +** allowed by the xShmLock method of [sqlite3_io_methods]. The +** following are the only legal combinations of flags to the +** xShmLock method: +** +**
    +**
  • SQLITE_SHM_LOCK | SQLITE_SHM_SHARED +**
  • SQLITE_SHM_LOCK | SQLITE_SHM_EXCLUSIVE +**
  • SQLITE_SHM_UNLOCK | SQLITE_SHM_SHARED +**
  • SQLITE_SHM_UNLOCK | SQLITE_SHM_EXCLUSIVE +**
+** +** When unlocking, the same SHARED or EXCLUSIVE flag must be supplied as +** was given on the corresponding lock. +** +** The xShmLock method can transition between unlocked and SHARED or +** between unlocked and EXCLUSIVE. It cannot transition between SHARED +** and EXCLUSIVE. +*/ +#define SQLITE_SHM_UNLOCK 1 +#define SQLITE_SHM_LOCK 2 +#define SQLITE_SHM_SHARED 4 +#define SQLITE_SHM_EXCLUSIVE 8 + +/* +** CAPI3REF: Maximum xShmLock index +** +** The xShmLock method on [sqlite3_io_methods] may use values +** between 0 and this upper bound as its "offset" argument. +** The SQLite core will never attempt to acquire or release a +** lock outside of this range +*/ +#define SQLITE_SHM_NLOCK 8 + + +/* +** CAPI3REF: Initialize The SQLite Library +** +** ^The sqlite3_initialize() routine initializes the +** SQLite library. ^The sqlite3_shutdown() routine +** deallocates any resources that were allocated by sqlite3_initialize(). +** These routines are designed to aid in process initialization and +** shutdown on embedded systems. Workstation applications using +** SQLite normally do not need to invoke either of these routines. +** +** A call to sqlite3_initialize() is an "effective" call if it is +** the first time sqlite3_initialize() is invoked during the lifetime of +** the process, or if it is the first time sqlite3_initialize() is invoked +** following a call to sqlite3_shutdown(). ^(Only an effective call +** of sqlite3_initialize() does any initialization. All other calls +** are harmless no-ops.)^ +** +** A call to sqlite3_shutdown() is an "effective" call if it is the first +** call to sqlite3_shutdown() since the last sqlite3_initialize(). ^(Only +** an effective call to sqlite3_shutdown() does any deinitialization. +** All other valid calls to sqlite3_shutdown() are harmless no-ops.)^ +** +** The sqlite3_initialize() interface is threadsafe, but sqlite3_shutdown() +** is not. The sqlite3_shutdown() interface must only be called from a +** single thread. All open [database connections] must be closed and all +** other SQLite resources must be deallocated prior to invoking +** sqlite3_shutdown(). +** +** Among other things, ^sqlite3_initialize() will invoke +** sqlite3_os_init(). Similarly, ^sqlite3_shutdown() +** will invoke sqlite3_os_end(). +** +** ^The sqlite3_initialize() routine returns [SQLITE_OK] on success. +** ^If for some reason, sqlite3_initialize() is unable to initialize +** the library (perhaps it is unable to allocate a needed resource such +** as a mutex) it returns an [error code] other than [SQLITE_OK]. +** +** ^The sqlite3_initialize() routine is called internally by many other +** SQLite interfaces so that an application usually does not need to +** invoke sqlite3_initialize() directly. For example, [sqlite3_open()] +** calls sqlite3_initialize() so the SQLite library will be automatically +** initialized when [sqlite3_open()] is called if it has not be initialized +** already. ^However, if SQLite is compiled with the [SQLITE_OMIT_AUTOINIT] +** compile-time option, then the automatic calls to sqlite3_initialize() +** are omitted and the application must call sqlite3_initialize() directly +** prior to using any other SQLite interface. For maximum portability, +** it is recommended that applications always invoke sqlite3_initialize() +** directly prior to using any other SQLite interface. Future releases +** of SQLite may require this. In other words, the behavior exhibited +** when SQLite is compiled with [SQLITE_OMIT_AUTOINIT] might become the +** default behavior in some future release of SQLite. +** +** The sqlite3_os_init() routine does operating-system specific +** initialization of the SQLite library. The sqlite3_os_end() +** routine undoes the effect of sqlite3_os_init(). Typical tasks +** performed by these routines include allocation or deallocation +** of static resources, initialization of global variables, +** setting up a default [sqlite3_vfs] module, or setting up +** a default configuration using [sqlite3_config()]. +** +** The application should never invoke either sqlite3_os_init() +** or sqlite3_os_end() directly. The application should only invoke +** sqlite3_initialize() and sqlite3_shutdown(). The sqlite3_os_init() +** interface is called automatically by sqlite3_initialize() and +** sqlite3_os_end() is called by sqlite3_shutdown(). Appropriate +** implementations for sqlite3_os_init() and sqlite3_os_end() +** are built into SQLite when it is compiled for Unix, Windows, or OS/2. +** When [custom builds | built for other platforms] +** (using the [SQLITE_OS_OTHER=1] compile-time +** option) the application must supply a suitable implementation for +** sqlite3_os_init() and sqlite3_os_end(). An application-supplied +** implementation of sqlite3_os_init() or sqlite3_os_end() +** must return [SQLITE_OK] on success and some other [error code] upon +** failure. +*/ +SQLITE_API int sqlite3_initialize(void); +SQLITE_API int sqlite3_shutdown(void); +SQLITE_API int sqlite3_os_init(void); +SQLITE_API int sqlite3_os_end(void); + +/* +** CAPI3REF: Configuring The SQLite Library +** +** The sqlite3_config() interface is used to make global configuration +** changes to SQLite in order to tune SQLite to the specific needs of +** the application. The default configuration is recommended for most +** applications and so this routine is usually not necessary. It is +** provided to support rare applications with unusual needs. +** +** The sqlite3_config() interface is not threadsafe. The application +** must ensure that no other SQLite interfaces are invoked by other +** threads while sqlite3_config() is running. +** +** The sqlite3_config() interface +** may only be invoked prior to library initialization using +** [sqlite3_initialize()] or after shutdown by [sqlite3_shutdown()]. +** ^If sqlite3_config() is called after [sqlite3_initialize()] and before +** [sqlite3_shutdown()] then it will return SQLITE_MISUSE. +** Note, however, that ^sqlite3_config() can be called as part of the +** implementation of an application-defined [sqlite3_os_init()]. +** +** The first argument to sqlite3_config() is an integer +** [configuration option] that determines +** what property of SQLite is to be configured. Subsequent arguments +** vary depending on the [configuration option] +** in the first argument. +** +** ^When a configuration option is set, sqlite3_config() returns [SQLITE_OK]. +** ^If the option is unknown or SQLite is unable to set the option +** then this routine returns a non-zero [error code]. +*/ +SQLITE_API int sqlite3_config(int, ...); + +/* +** CAPI3REF: Configure database connections +** METHOD: sqlite3 +** +** The sqlite3_db_config() interface is used to make configuration +** changes to a [database connection]. The interface is similar to +** [sqlite3_config()] except that the changes apply to a single +** [database connection] (specified in the first argument). +** +** The second argument to sqlite3_db_config(D,V,...) is the +** [SQLITE_DBCONFIG_LOOKASIDE | configuration verb] - an integer code +** that indicates what aspect of the [database connection] is being configured. +** Subsequent arguments vary depending on the configuration verb. +** +** ^Calls to sqlite3_db_config() return SQLITE_OK if and only if +** the call is considered successful. +*/ +SQLITE_API int sqlite3_db_config(sqlite3*, int op, ...); + +/* +** CAPI3REF: Memory Allocation Routines +** +** An instance of this object defines the interface between SQLite +** and low-level memory allocation routines. +** +** This object is used in only one place in the SQLite interface. +** A pointer to an instance of this object is the argument to +** [sqlite3_config()] when the configuration option is +** [SQLITE_CONFIG_MALLOC] or [SQLITE_CONFIG_GETMALLOC]. +** By creating an instance of this object +** and passing it to [sqlite3_config]([SQLITE_CONFIG_MALLOC]) +** during configuration, an application can specify an alternative +** memory allocation subsystem for SQLite to use for all of its +** dynamic memory needs. +** +** Note that SQLite comes with several [built-in memory allocators] +** that are perfectly adequate for the overwhelming majority of applications +** and that this object is only useful to a tiny minority of applications +** with specialized memory allocation requirements. This object is +** also used during testing of SQLite in order to specify an alternative +** memory allocator that simulates memory out-of-memory conditions in +** order to verify that SQLite recovers gracefully from such +** conditions. +** +** The xMalloc, xRealloc, and xFree methods must work like the +** malloc(), realloc() and free() functions from the standard C library. +** ^SQLite guarantees that the second argument to +** xRealloc is always a value returned by a prior call to xRoundup. +** +** xSize should return the allocated size of a memory allocation +** previously obtained from xMalloc or xRealloc. The allocated size +** is always at least as big as the requested size but may be larger. +** +** The xRoundup method returns what would be the allocated size of +** a memory allocation given a particular requested size. Most memory +** allocators round up memory allocations at least to the next multiple +** of 8. Some allocators round up to a larger multiple or to a power of 2. +** Every memory allocation request coming in through [sqlite3_malloc()] +** or [sqlite3_realloc()] first calls xRoundup. If xRoundup returns 0, +** that causes the corresponding memory allocation to fail. +** +** The xInit method initializes the memory allocator. For example, +** it might allocate any require mutexes or initialize internal data +** structures. The xShutdown method is invoked (indirectly) by +** [sqlite3_shutdown()] and should deallocate any resources acquired +** by xInit. The pAppData pointer is used as the only parameter to +** xInit and xShutdown. +** +** SQLite holds the [SQLITE_MUTEX_STATIC_MASTER] mutex when it invokes +** the xInit method, so the xInit method need not be threadsafe. The +** xShutdown method is only called from [sqlite3_shutdown()] so it does +** not need to be threadsafe either. For all other methods, SQLite +** holds the [SQLITE_MUTEX_STATIC_MEM] mutex as long as the +** [SQLITE_CONFIG_MEMSTATUS] configuration option is turned on (which +** it is by default) and so the methods are automatically serialized. +** However, if [SQLITE_CONFIG_MEMSTATUS] is disabled, then the other +** methods must be threadsafe or else make their own arrangements for +** serialization. +** +** SQLite will never invoke xInit() more than once without an intervening +** call to xShutdown(). +*/ +typedef struct sqlite3_mem_methods sqlite3_mem_methods; +struct sqlite3_mem_methods { + void *(*xMalloc)(int); /* Memory allocation function */ + void (*xFree)(void*); /* Free a prior allocation */ + void *(*xRealloc)(void*,int); /* Resize an allocation */ + int (*xSize)(void*); /* Return the size of an allocation */ + int (*xRoundup)(int); /* Round up request size to allocation size */ + int (*xInit)(void*); /* Initialize the memory allocator */ + void (*xShutdown)(void*); /* Deinitialize the memory allocator */ + void *pAppData; /* Argument to xInit() and xShutdown() */ +}; + +/* +** CAPI3REF: Configuration Options +** KEYWORDS: {configuration option} +** +** These constants are the available integer configuration options that +** can be passed as the first argument to the [sqlite3_config()] interface. +** +** New configuration options may be added in future releases of SQLite. +** Existing configuration options might be discontinued. Applications +** should check the return code from [sqlite3_config()] to make sure that +** the call worked. The [sqlite3_config()] interface will return a +** non-zero [error code] if a discontinued or unsupported configuration option +** is invoked. +** +**
+** [[SQLITE_CONFIG_SINGLETHREAD]]
SQLITE_CONFIG_SINGLETHREAD
+**
There are no arguments to this option. ^This option sets the +** [threading mode] to Single-thread. In other words, it disables +** all mutexing and puts SQLite into a mode where it can only be used +** by a single thread. ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** it is not possible to change the [threading mode] from its default +** value of Single-thread and so [sqlite3_config()] will return +** [SQLITE_ERROR] if called with the SQLITE_CONFIG_SINGLETHREAD +** configuration option.
+** +** [[SQLITE_CONFIG_MULTITHREAD]]
SQLITE_CONFIG_MULTITHREAD
+**
There are no arguments to this option. ^This option sets the +** [threading mode] to Multi-thread. In other words, it disables +** mutexing on [database connection] and [prepared statement] objects. +** The application is responsible for serializing access to +** [database connections] and [prepared statements]. But other mutexes +** are enabled so that SQLite will be safe to use in a multi-threaded +** environment as long as no two threads attempt to use the same +** [database connection] at the same time. ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** it is not possible to set the Multi-thread [threading mode] and +** [sqlite3_config()] will return [SQLITE_ERROR] if called with the +** SQLITE_CONFIG_MULTITHREAD configuration option.
+** +** [[SQLITE_CONFIG_SERIALIZED]]
SQLITE_CONFIG_SERIALIZED
+**
There are no arguments to this option. ^This option sets the +** [threading mode] to Serialized. In other words, this option enables +** all mutexes including the recursive +** mutexes on [database connection] and [prepared statement] objects. +** In this mode (which is the default when SQLite is compiled with +** [SQLITE_THREADSAFE=1]) the SQLite library will itself serialize access +** to [database connections] and [prepared statements] so that the +** application is free to use the same [database connection] or the +** same [prepared statement] in different threads at the same time. +** ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** it is not possible to set the Serialized [threading mode] and +** [sqlite3_config()] will return [SQLITE_ERROR] if called with the +** SQLITE_CONFIG_SERIALIZED configuration option.
+** +** [[SQLITE_CONFIG_MALLOC]]
SQLITE_CONFIG_MALLOC
+**
^(The SQLITE_CONFIG_MALLOC option takes a single argument which is +** a pointer to an instance of the [sqlite3_mem_methods] structure. +** The argument specifies +** alternative low-level memory allocation routines to be used in place of +** the memory allocation routines built into SQLite.)^ ^SQLite makes +** its own private copy of the content of the [sqlite3_mem_methods] structure +** before the [sqlite3_config()] call returns.
+** +** [[SQLITE_CONFIG_GETMALLOC]]
SQLITE_CONFIG_GETMALLOC
+**
^(The SQLITE_CONFIG_GETMALLOC option takes a single argument which +** is a pointer to an instance of the [sqlite3_mem_methods] structure. +** The [sqlite3_mem_methods] +** structure is filled with the currently defined memory allocation routines.)^ +** This option can be used to overload the default memory allocation +** routines with a wrapper that simulations memory allocation failure or +** tracks memory usage, for example.
+** +** [[SQLITE_CONFIG_SMALL_MALLOC]]
SQLITE_CONFIG_SMALL_MALLOC
+**
^The SQLITE_CONFIG_SMALL_MALLOC option takes single argument of +** type int, interpreted as a boolean, which if true provides a hint to +** SQLite that it should avoid large memory allocations if possible. +** SQLite will run faster if it is free to make large memory allocations, +** but some application might prefer to run slower in exchange for +** guarantees about memory fragmentation that are possible if large +** allocations are avoided. This hint is normally off. +**
+** +** [[SQLITE_CONFIG_MEMSTATUS]]
SQLITE_CONFIG_MEMSTATUS
+**
^The SQLITE_CONFIG_MEMSTATUS option takes single argument of type int, +** interpreted as a boolean, which enables or disables the collection of +** memory allocation statistics. ^(When memory allocation statistics are +** disabled, the following SQLite interfaces become non-operational: +**
    +**
  • [sqlite3_memory_used()] +**
  • [sqlite3_memory_highwater()] +**
  • [sqlite3_soft_heap_limit64()] +**
  • [sqlite3_status64()] +**
)^ +** ^Memory allocation statistics are enabled by default unless SQLite is +** compiled with [SQLITE_DEFAULT_MEMSTATUS]=0 in which case memory +** allocation statistics are disabled by default. +**
+** +** [[SQLITE_CONFIG_SCRATCH]]
SQLITE_CONFIG_SCRATCH
+**
The SQLITE_CONFIG_SCRATCH option is no longer used. +**
+** +** [[SQLITE_CONFIG_PAGECACHE]]
SQLITE_CONFIG_PAGECACHE
+**
^The SQLITE_CONFIG_PAGECACHE option specifies a memory pool +** that SQLite can use for the database page cache with the default page +** cache implementation. +** This configuration option is a no-op if an application-define page +** cache implementation is loaded using the [SQLITE_CONFIG_PCACHE2]. +** ^There are three arguments to SQLITE_CONFIG_PAGECACHE: A pointer to +** 8-byte aligned memory (pMem), the size of each page cache line (sz), +** and the number of cache lines (N). +** The sz argument should be the size of the largest database page +** (a power of two between 512 and 65536) plus some extra bytes for each +** page header. ^The number of extra bytes needed by the page header +** can be determined using [SQLITE_CONFIG_PCACHE_HDRSZ]. +** ^It is harmless, apart from the wasted memory, +** for the sz parameter to be larger than necessary. The pMem +** argument must be either a NULL pointer or a pointer to an 8-byte +** aligned block of memory of at least sz*N bytes, otherwise +** subsequent behavior is undefined. +** ^When pMem is not NULL, SQLite will strive to use the memory provided +** to satisfy page cache needs, falling back to [sqlite3_malloc()] if +** a page cache line is larger than sz bytes or if all of the pMem buffer +** is exhausted. +** ^If pMem is NULL and N is non-zero, then each database connection +** does an initial bulk allocation for page cache memory +** from [sqlite3_malloc()] sufficient for N cache lines if N is positive or +** of -1024*N bytes if N is negative, . ^If additional +** page cache memory is needed beyond what is provided by the initial +** allocation, then SQLite goes to [sqlite3_malloc()] separately for each +** additional cache line.
+** +** [[SQLITE_CONFIG_HEAP]]
SQLITE_CONFIG_HEAP
+**
^The SQLITE_CONFIG_HEAP option specifies a static memory buffer +** that SQLite will use for all of its dynamic memory allocation needs +** beyond those provided for by [SQLITE_CONFIG_PAGECACHE]. +** ^The SQLITE_CONFIG_HEAP option is only available if SQLite is compiled +** with either [SQLITE_ENABLE_MEMSYS3] or [SQLITE_ENABLE_MEMSYS5] and returns +** [SQLITE_ERROR] if invoked otherwise. +** ^There are three arguments to SQLITE_CONFIG_HEAP: +** An 8-byte aligned pointer to the memory, +** the number of bytes in the memory buffer, and the minimum allocation size. +** ^If the first pointer (the memory pointer) is NULL, then SQLite reverts +** to using its default memory allocator (the system malloc() implementation), +** undoing any prior invocation of [SQLITE_CONFIG_MALLOC]. ^If the +** memory pointer is not NULL then the alternative memory +** allocator is engaged to handle all of SQLites memory allocation needs. +** The first pointer (the memory pointer) must be aligned to an 8-byte +** boundary or subsequent behavior of SQLite will be undefined. +** The minimum allocation size is capped at 2**12. Reasonable values +** for the minimum allocation size are 2**5 through 2**8.
+** +** [[SQLITE_CONFIG_MUTEX]]
SQLITE_CONFIG_MUTEX
+**
^(The SQLITE_CONFIG_MUTEX option takes a single argument which is a +** pointer to an instance of the [sqlite3_mutex_methods] structure. +** The argument specifies alternative low-level mutex routines to be used +** in place the mutex routines built into SQLite.)^ ^SQLite makes a copy of +** the content of the [sqlite3_mutex_methods] structure before the call to +** [sqlite3_config()] returns. ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** the entire mutexing subsystem is omitted from the build and hence calls to +** [sqlite3_config()] with the SQLITE_CONFIG_MUTEX configuration option will +** return [SQLITE_ERROR].
+** +** [[SQLITE_CONFIG_GETMUTEX]]
SQLITE_CONFIG_GETMUTEX
+**
^(The SQLITE_CONFIG_GETMUTEX option takes a single argument which +** is a pointer to an instance of the [sqlite3_mutex_methods] structure. The +** [sqlite3_mutex_methods] +** structure is filled with the currently defined mutex routines.)^ +** This option can be used to overload the default mutex allocation +** routines with a wrapper used to track mutex usage for performance +** profiling or testing, for example. ^If SQLite is compiled with +** the [SQLITE_THREADSAFE | SQLITE_THREADSAFE=0] compile-time option then +** the entire mutexing subsystem is omitted from the build and hence calls to +** [sqlite3_config()] with the SQLITE_CONFIG_GETMUTEX configuration option will +** return [SQLITE_ERROR].
+** +** [[SQLITE_CONFIG_LOOKASIDE]]
SQLITE_CONFIG_LOOKASIDE
+**
^(The SQLITE_CONFIG_LOOKASIDE option takes two arguments that determine +** the default size of lookaside memory on each [database connection]. +** The first argument is the +** size of each lookaside buffer slot and the second is the number of +** slots allocated to each database connection.)^ ^(SQLITE_CONFIG_LOOKASIDE +** sets the default lookaside size. The [SQLITE_DBCONFIG_LOOKASIDE] +** option to [sqlite3_db_config()] can be used to change the lookaside +** configuration on individual connections.)^
+** +** [[SQLITE_CONFIG_PCACHE2]]
SQLITE_CONFIG_PCACHE2
+**
^(The SQLITE_CONFIG_PCACHE2 option takes a single argument which is +** a pointer to an [sqlite3_pcache_methods2] object. This object specifies +** the interface to a custom page cache implementation.)^ +** ^SQLite makes a copy of the [sqlite3_pcache_methods2] object.
+** +** [[SQLITE_CONFIG_GETPCACHE2]]
SQLITE_CONFIG_GETPCACHE2
+**
^(The SQLITE_CONFIG_GETPCACHE2 option takes a single argument which +** is a pointer to an [sqlite3_pcache_methods2] object. SQLite copies of +** the current page cache implementation into that object.)^
+** +** [[SQLITE_CONFIG_LOG]]
SQLITE_CONFIG_LOG
+**
The SQLITE_CONFIG_LOG option is used to configure the SQLite +** global [error log]. +** (^The SQLITE_CONFIG_LOG option takes two arguments: a pointer to a +** function with a call signature of void(*)(void*,int,const char*), +** and a pointer to void. ^If the function pointer is not NULL, it is +** invoked by [sqlite3_log()] to process each logging event. ^If the +** function pointer is NULL, the [sqlite3_log()] interface becomes a no-op. +** ^The void pointer that is the second argument to SQLITE_CONFIG_LOG is +** passed through as the first parameter to the application-defined logger +** function whenever that function is invoked. ^The second parameter to +** the logger function is a copy of the first parameter to the corresponding +** [sqlite3_log()] call and is intended to be a [result code] or an +** [extended result code]. ^The third parameter passed to the logger is +** log message after formatting via [sqlite3_snprintf()]. +** The SQLite logging interface is not reentrant; the logger function +** supplied by the application must not invoke any SQLite interface. +** In a multi-threaded application, the application-defined logger +** function must be threadsafe.
+** +** [[SQLITE_CONFIG_URI]]
SQLITE_CONFIG_URI +**
^(The SQLITE_CONFIG_URI option takes a single argument of type int. +** If non-zero, then URI handling is globally enabled. If the parameter is zero, +** then URI handling is globally disabled.)^ ^If URI handling is globally +** enabled, all filenames passed to [sqlite3_open()], [sqlite3_open_v2()], +** [sqlite3_open16()] or +** specified as part of [ATTACH] commands are interpreted as URIs, regardless +** of whether or not the [SQLITE_OPEN_URI] flag is set when the database +** connection is opened. ^If it is globally disabled, filenames are +** only interpreted as URIs if the SQLITE_OPEN_URI flag is set when the +** database connection is opened. ^(By default, URI handling is globally +** disabled. The default value may be changed by compiling with the +** [SQLITE_USE_URI] symbol defined.)^ +** +** [[SQLITE_CONFIG_COVERING_INDEX_SCAN]]
SQLITE_CONFIG_COVERING_INDEX_SCAN +**
^The SQLITE_CONFIG_COVERING_INDEX_SCAN option takes a single integer +** argument which is interpreted as a boolean in order to enable or disable +** the use of covering indices for full table scans in the query optimizer. +** ^The default setting is determined +** by the [SQLITE_ALLOW_COVERING_INDEX_SCAN] compile-time option, or is "on" +** if that compile-time option is omitted. +** The ability to disable the use of covering indices for full table scans +** is because some incorrectly coded legacy applications might malfunction +** when the optimization is enabled. Providing the ability to +** disable the optimization allows the older, buggy application code to work +** without change even with newer versions of SQLite. +** +** [[SQLITE_CONFIG_PCACHE]] [[SQLITE_CONFIG_GETPCACHE]] +**
SQLITE_CONFIG_PCACHE and SQLITE_CONFIG_GETPCACHE +**
These options are obsolete and should not be used by new code. +** They are retained for backwards compatibility but are now no-ops. +**
+** +** [[SQLITE_CONFIG_SQLLOG]] +**
SQLITE_CONFIG_SQLLOG +**
This option is only available if sqlite is compiled with the +** [SQLITE_ENABLE_SQLLOG] pre-processor macro defined. The first argument should +** be a pointer to a function of type void(*)(void*,sqlite3*,const char*, int). +** The second should be of type (void*). The callback is invoked by the library +** in three separate circumstances, identified by the value passed as the +** fourth parameter. If the fourth parameter is 0, then the database connection +** passed as the second argument has just been opened. The third argument +** points to a buffer containing the name of the main database file. If the +** fourth parameter is 1, then the SQL statement that the third parameter +** points to has just been executed. Or, if the fourth parameter is 2, then +** the connection being passed as the second parameter is being closed. The +** third parameter is passed NULL In this case. An example of using this +** configuration option can be seen in the "test_sqllog.c" source file in +** the canonical SQLite source tree.
+** +** [[SQLITE_CONFIG_MMAP_SIZE]] +**
SQLITE_CONFIG_MMAP_SIZE +**
^SQLITE_CONFIG_MMAP_SIZE takes two 64-bit integer (sqlite3_int64) values +** that are the default mmap size limit (the default setting for +** [PRAGMA mmap_size]) and the maximum allowed mmap size limit. +** ^The default setting can be overridden by each database connection using +** either the [PRAGMA mmap_size] command, or by using the +** [SQLITE_FCNTL_MMAP_SIZE] file control. ^(The maximum allowed mmap size +** will be silently truncated if necessary so that it does not exceed the +** compile-time maximum mmap size set by the +** [SQLITE_MAX_MMAP_SIZE] compile-time option.)^ +** ^If either argument to this option is negative, then that argument is +** changed to its compile-time default. +** +** [[SQLITE_CONFIG_WIN32_HEAPSIZE]] +**
SQLITE_CONFIG_WIN32_HEAPSIZE +**
^The SQLITE_CONFIG_WIN32_HEAPSIZE option is only available if SQLite is +** compiled for Windows with the [SQLITE_WIN32_MALLOC] pre-processor macro +** defined. ^SQLITE_CONFIG_WIN32_HEAPSIZE takes a 32-bit unsigned integer value +** that specifies the maximum size of the created heap. +** +** [[SQLITE_CONFIG_PCACHE_HDRSZ]] +**
SQLITE_CONFIG_PCACHE_HDRSZ +**
^The SQLITE_CONFIG_PCACHE_HDRSZ option takes a single parameter which +** is a pointer to an integer and writes into that integer the number of extra +** bytes per page required for each page in [SQLITE_CONFIG_PAGECACHE]. +** The amount of extra space required can change depending on the compiler, +** target platform, and SQLite version. +** +** [[SQLITE_CONFIG_PMASZ]] +**
SQLITE_CONFIG_PMASZ +**
^The SQLITE_CONFIG_PMASZ option takes a single parameter which +** is an unsigned integer and sets the "Minimum PMA Size" for the multithreaded +** sorter to that integer. The default minimum PMA Size is set by the +** [SQLITE_SORTER_PMASZ] compile-time option. New threads are launched +** to help with sort operations when multithreaded sorting +** is enabled (using the [PRAGMA threads] command) and the amount of content +** to be sorted exceeds the page size times the minimum of the +** [PRAGMA cache_size] setting and this value. +** +** [[SQLITE_CONFIG_STMTJRNL_SPILL]] +**
SQLITE_CONFIG_STMTJRNL_SPILL +**
^The SQLITE_CONFIG_STMTJRNL_SPILL option takes a single parameter which +** becomes the [statement journal] spill-to-disk threshold. +** [Statement journals] are held in memory until their size (in bytes) +** exceeds this threshold, at which point they are written to disk. +** Or if the threshold is -1, statement journals are always held +** exclusively in memory. +** Since many statement journals never become large, setting the spill +** threshold to a value such as 64KiB can greatly reduce the amount of +** I/O required to support statement rollback. +** The default value for this setting is controlled by the +** [SQLITE_STMTJRNL_SPILL] compile-time option. +**
+*/ +#define SQLITE_CONFIG_SINGLETHREAD 1 /* nil */ +#define SQLITE_CONFIG_MULTITHREAD 2 /* nil */ +#define SQLITE_CONFIG_SERIALIZED 3 /* nil */ +#define SQLITE_CONFIG_MALLOC 4 /* sqlite3_mem_methods* */ +#define SQLITE_CONFIG_GETMALLOC 5 /* sqlite3_mem_methods* */ +#define SQLITE_CONFIG_SCRATCH 6 /* No longer used */ +#define SQLITE_CONFIG_PAGECACHE 7 /* void*, int sz, int N */ +#define SQLITE_CONFIG_HEAP 8 /* void*, int nByte, int min */ +#define SQLITE_CONFIG_MEMSTATUS 9 /* boolean */ +#define SQLITE_CONFIG_MUTEX 10 /* sqlite3_mutex_methods* */ +#define SQLITE_CONFIG_GETMUTEX 11 /* sqlite3_mutex_methods* */ +/* previously SQLITE_CONFIG_CHUNKALLOC 12 which is now unused. */ +#define SQLITE_CONFIG_LOOKASIDE 13 /* int int */ +#define SQLITE_CONFIG_PCACHE 14 /* no-op */ +#define SQLITE_CONFIG_GETPCACHE 15 /* no-op */ +#define SQLITE_CONFIG_LOG 16 /* xFunc, void* */ +#define SQLITE_CONFIG_URI 17 /* int */ +#define SQLITE_CONFIG_PCACHE2 18 /* sqlite3_pcache_methods2* */ +#define SQLITE_CONFIG_GETPCACHE2 19 /* sqlite3_pcache_methods2* */ +#define SQLITE_CONFIG_COVERING_INDEX_SCAN 20 /* int */ +#define SQLITE_CONFIG_SQLLOG 21 /* xSqllog, void* */ +#define SQLITE_CONFIG_MMAP_SIZE 22 /* sqlite3_int64, sqlite3_int64 */ +#define SQLITE_CONFIG_WIN32_HEAPSIZE 23 /* int nByte */ +#define SQLITE_CONFIG_PCACHE_HDRSZ 24 /* int *psz */ +#define SQLITE_CONFIG_PMASZ 25 /* unsigned int szPma */ +#define SQLITE_CONFIG_STMTJRNL_SPILL 26 /* int nByte */ +#define SQLITE_CONFIG_SMALL_MALLOC 27 /* boolean */ + +/* +** CAPI3REF: Database Connection Configuration Options +** +** These constants are the available integer configuration options that +** can be passed as the second argument to the [sqlite3_db_config()] interface. +** +** New configuration options may be added in future releases of SQLite. +** Existing configuration options might be discontinued. Applications +** should check the return code from [sqlite3_db_config()] to make sure that +** the call worked. ^The [sqlite3_db_config()] interface will return a +** non-zero [error code] if a discontinued or unsupported configuration option +** is invoked. +** +**
+**
SQLITE_DBCONFIG_LOOKASIDE
+**
^This option takes three additional arguments that determine the +** [lookaside memory allocator] configuration for the [database connection]. +** ^The first argument (the third parameter to [sqlite3_db_config()] is a +** pointer to a memory buffer to use for lookaside memory. +** ^The first argument after the SQLITE_DBCONFIG_LOOKASIDE verb +** may be NULL in which case SQLite will allocate the +** lookaside buffer itself using [sqlite3_malloc()]. ^The second argument is the +** size of each lookaside buffer slot. ^The third argument is the number of +** slots. The size of the buffer in the first argument must be greater than +** or equal to the product of the second and third arguments. The buffer +** must be aligned to an 8-byte boundary. ^If the second argument to +** SQLITE_DBCONFIG_LOOKASIDE is not a multiple of 8, it is internally +** rounded down to the next smaller multiple of 8. ^(The lookaside memory +** configuration for a database connection can only be changed when that +** connection is not currently using lookaside memory, or in other words +** when the "current value" returned by +** [sqlite3_db_status](D,[SQLITE_CONFIG_LOOKASIDE],...) is zero. +** Any attempt to change the lookaside memory configuration when lookaside +** memory is in use leaves the configuration unchanged and returns +** [SQLITE_BUSY].)^
+** +**
SQLITE_DBCONFIG_ENABLE_FKEY
+**
^This option is used to enable or disable the enforcement of +** [foreign key constraints]. There should be two additional arguments. +** The first argument is an integer which is 0 to disable FK enforcement, +** positive to enable FK enforcement or negative to leave FK enforcement +** unchanged. The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether FK enforcement is off or on +** following this call. The second parameter may be a NULL pointer, in +** which case the FK enforcement setting is not reported back.
+** +**
SQLITE_DBCONFIG_ENABLE_TRIGGER
+**
^This option is used to enable or disable [CREATE TRIGGER | triggers]. +** There should be two additional arguments. +** The first argument is an integer which is 0 to disable triggers, +** positive to enable triggers or negative to leave the setting unchanged. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether triggers are disabled or enabled +** following this call. The second parameter may be a NULL pointer, in +** which case the trigger setting is not reported back.
+** +**
SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER
+**
^This option is used to enable or disable the two-argument +** version of the [fts3_tokenizer()] function which is part of the +** [FTS3] full-text search engine extension. +** There should be two additional arguments. +** The first argument is an integer which is 0 to disable fts3_tokenizer() or +** positive to enable fts3_tokenizer() or negative to leave the setting +** unchanged. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether fts3_tokenizer is disabled or enabled +** following this call. The second parameter may be a NULL pointer, in +** which case the new setting is not reported back.
+** +**
SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION
+**
^This option is used to enable or disable the [sqlite3_load_extension()] +** interface independently of the [load_extension()] SQL function. +** The [sqlite3_enable_load_extension()] API enables or disables both the +** C-API [sqlite3_load_extension()] and the SQL function [load_extension()]. +** There should be two additional arguments. +** When the first argument to this interface is 1, then only the C-API is +** enabled and the SQL function remains disabled. If the first argument to +** this interface is 0, then both the C-API and the SQL function are disabled. +** If the first argument is -1, then no changes are made to state of either the +** C-API or the SQL function. +** The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether [sqlite3_load_extension()] interface +** is disabled or enabled following this call. The second parameter may +** be a NULL pointer, in which case the new setting is not reported back. +**
+** +**
SQLITE_DBCONFIG_MAINDBNAME
+**
^This option is used to change the name of the "main" database +** schema. ^The sole argument is a pointer to a constant UTF8 string +** which will become the new schema name in place of "main". ^SQLite +** does not make a copy of the new main schema name string, so the application +** must ensure that the argument passed into this DBCONFIG option is unchanged +** until after the database connection closes. +**
+** +**
SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE
+**
Usually, when a database in wal mode is closed or detached from a +** database handle, SQLite checks if this will mean that there are now no +** connections at all to the database. If so, it performs a checkpoint +** operation before closing the connection. This option may be used to +** override this behaviour. The first parameter passed to this operation +** is an integer - positive to disable checkpoints-on-close, or zero (the +** default) to enable them, and negative to leave the setting unchanged. +** The second parameter is a pointer to an integer +** into which is written 0 or 1 to indicate whether checkpoints-on-close +** have been disabled - 0 if they are not disabled, 1 if they are. +**
+** +**
SQLITE_DBCONFIG_ENABLE_QPSG
+**
^(The SQLITE_DBCONFIG_ENABLE_QPSG option activates or deactivates +** the [query planner stability guarantee] (QPSG). When the QPSG is active, +** a single SQL query statement will always use the same algorithm regardless +** of values of [bound parameters].)^ The QPSG disables some query optimizations +** that look at the values of bound parameters, which can make some queries +** slower. But the QPSG has the advantage of more predictable behavior. With +** the QPSG active, SQLite will always use the same query plan in the field as +** was used during testing in the lab. +** The first argument to this setting is an integer which is 0 to disable +** the QPSG, positive to enable QPSG, or negative to leave the setting +** unchanged. The second parameter is a pointer to an integer into which +** is written 0 or 1 to indicate whether the QPSG is disabled or enabled +** following this call. +**
+** +**
SQLITE_DBCONFIG_TRIGGER_EQP
+**
By default, the output of EXPLAIN QUERY PLAN commands does not +** include output for any operations performed by trigger programs. This +** option is used to set or clear (the default) a flag that governs this +** behavior. The first parameter passed to this operation is an integer - +** positive to enable output for trigger programs, or zero to disable it, +** or negative to leave the setting unchanged. +** The second parameter is a pointer to an integer into which is written +** 0 or 1 to indicate whether output-for-triggers has been disabled - 0 if +** it is not disabled, 1 if it is. +**
+**
+*/ +#define SQLITE_DBCONFIG_MAINDBNAME 1000 /* const char* */ +#define SQLITE_DBCONFIG_LOOKASIDE 1001 /* void* int int */ +#define SQLITE_DBCONFIG_ENABLE_FKEY 1002 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_TRIGGER 1003 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER 1004 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION 1005 /* int int* */ +#define SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE 1006 /* int int* */ +#define SQLITE_DBCONFIG_ENABLE_QPSG 1007 /* int int* */ +#define SQLITE_DBCONFIG_TRIGGER_EQP 1008 /* int int* */ +#define SQLITE_DBCONFIG_MAX 1008 /* Largest DBCONFIG */ + +/* +** CAPI3REF: Enable Or Disable Extended Result Codes +** METHOD: sqlite3 +** +** ^The sqlite3_extended_result_codes() routine enables or disables the +** [extended result codes] feature of SQLite. ^The extended result +** codes are disabled by default for historical compatibility. +*/ +SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff); + +/* +** CAPI3REF: Last Insert Rowid +** METHOD: sqlite3 +** +** ^Each entry in most SQLite tables (except for [WITHOUT ROWID] tables) +** has a unique 64-bit signed +** integer key called the [ROWID | "rowid"]. ^The rowid is always available +** as an undeclared column named ROWID, OID, or _ROWID_ as long as those +** names are not also used by explicitly declared columns. ^If +** the table has a column of type [INTEGER PRIMARY KEY] then that column +** is another alias for the rowid. +** +** ^The sqlite3_last_insert_rowid(D) interface usually returns the [rowid] of +** the most recent successful [INSERT] into a rowid table or [virtual table] +** on database connection D. ^Inserts into [WITHOUT ROWID] tables are not +** recorded. ^If no successful [INSERT]s into rowid tables have ever occurred +** on the database connection D, then sqlite3_last_insert_rowid(D) returns +** zero. +** +** As well as being set automatically as rows are inserted into database +** tables, the value returned by this function may be set explicitly by +** [sqlite3_set_last_insert_rowid()] +** +** Some virtual table implementations may INSERT rows into rowid tables as +** part of committing a transaction (e.g. to flush data accumulated in memory +** to disk). In this case subsequent calls to this function return the rowid +** associated with these internal INSERT operations, which leads to +** unintuitive results. Virtual table implementations that do write to rowid +** tables in this way can avoid this problem by restoring the original +** rowid value using [sqlite3_set_last_insert_rowid()] before returning +** control to the user. +** +** ^(If an [INSERT] occurs within a trigger then this routine will +** return the [rowid] of the inserted row as long as the trigger is +** running. Once the trigger program ends, the value returned +** by this routine reverts to what it was before the trigger was fired.)^ +** +** ^An [INSERT] that fails due to a constraint violation is not a +** successful [INSERT] and does not change the value returned by this +** routine. ^Thus INSERT OR FAIL, INSERT OR IGNORE, INSERT OR ROLLBACK, +** and INSERT OR ABORT make no changes to the return value of this +** routine when their insertion fails. ^(When INSERT OR REPLACE +** encounters a constraint violation, it does not fail. The +** INSERT continues to completion after deleting rows that caused +** the constraint problem so INSERT OR REPLACE will always change +** the return value of this interface.)^ +** +** ^For the purposes of this routine, an [INSERT] is considered to +** be successful even if it is subsequently rolled back. +** +** This function is accessible to SQL statements via the +** [last_insert_rowid() SQL function]. +** +** If a separate thread performs a new [INSERT] on the same +** database connection while the [sqlite3_last_insert_rowid()] +** function is running and thus changes the last insert [rowid], +** then the value returned by [sqlite3_last_insert_rowid()] is +** unpredictable and might not equal either the old or the new +** last insert [rowid]. +*/ +SQLITE_API sqlite3_int64 sqlite3_last_insert_rowid(sqlite3*); + +/* +** CAPI3REF: Set the Last Insert Rowid value. +** METHOD: sqlite3 +** +** The sqlite3_set_last_insert_rowid(D, R) method allows the application to +** set the value returned by calling sqlite3_last_insert_rowid(D) to R +** without inserting a row into the database. +*/ +SQLITE_API void sqlite3_set_last_insert_rowid(sqlite3*,sqlite3_int64); + +/* +** CAPI3REF: Count The Number Of Rows Modified +** METHOD: sqlite3 +** +** ^This function returns the number of rows modified, inserted or +** deleted by the most recently completed INSERT, UPDATE or DELETE +** statement on the database connection specified by the only parameter. +** ^Executing any other type of SQL statement does not modify the value +** returned by this function. +** +** ^Only changes made directly by the INSERT, UPDATE or DELETE statement are +** considered - auxiliary changes caused by [CREATE TRIGGER | triggers], +** [foreign key actions] or [REPLACE] constraint resolution are not counted. +** +** Changes to a view that are intercepted by +** [INSTEAD OF trigger | INSTEAD OF triggers] are not counted. ^The value +** returned by sqlite3_changes() immediately after an INSERT, UPDATE or +** DELETE statement run on a view is always zero. Only changes made to real +** tables are counted. +** +** Things are more complicated if the sqlite3_changes() function is +** executed while a trigger program is running. This may happen if the +** program uses the [changes() SQL function], or if some other callback +** function invokes sqlite3_changes() directly. Essentially: +** +**
    +**
  • ^(Before entering a trigger program the value returned by +** sqlite3_changes() function is saved. After the trigger program +** has finished, the original value is restored.)^ +** +**
  • ^(Within a trigger program each INSERT, UPDATE and DELETE +** statement sets the value returned by sqlite3_changes() +** upon completion as normal. Of course, this value will not include +** any changes performed by sub-triggers, as the sqlite3_changes() +** value will be saved and restored after each sub-trigger has run.)^ +**
+** +** ^This means that if the changes() SQL function (or similar) is used +** by the first INSERT, UPDATE or DELETE statement within a trigger, it +** returns the value as set when the calling statement began executing. +** ^If it is used by the second or subsequent such statement within a trigger +** program, the value returned reflects the number of rows modified by the +** previous INSERT, UPDATE or DELETE statement within the same trigger. +** +** See also the [sqlite3_total_changes()] interface, the +** [count_changes pragma], and the [changes() SQL function]. +** +** If a separate thread makes changes on the same database connection +** while [sqlite3_changes()] is running then the value returned +** is unpredictable and not meaningful. +*/ +SQLITE_API int sqlite3_changes(sqlite3*); + +/* +** CAPI3REF: Total Number Of Rows Modified +** METHOD: sqlite3 +** +** ^This function returns the total number of rows inserted, modified or +** deleted by all [INSERT], [UPDATE] or [DELETE] statements completed +** since the database connection was opened, including those executed as +** part of trigger programs. ^Executing any other type of SQL statement +** does not affect the value returned by sqlite3_total_changes(). +** +** ^Changes made as part of [foreign key actions] are included in the +** count, but those made as part of REPLACE constraint resolution are +** not. ^Changes to a view that are intercepted by INSTEAD OF triggers +** are not counted. +** +** See also the [sqlite3_changes()] interface, the +** [count_changes pragma], and the [total_changes() SQL function]. +** +** If a separate thread makes changes on the same database connection +** while [sqlite3_total_changes()] is running then the value +** returned is unpredictable and not meaningful. +*/ +SQLITE_API int sqlite3_total_changes(sqlite3*); + +/* +** CAPI3REF: Interrupt A Long-Running Query +** METHOD: sqlite3 +** +** ^This function causes any pending database operation to abort and +** return at its earliest opportunity. This routine is typically +** called in response to a user action such as pressing "Cancel" +** or Ctrl-C where the user wants a long query operation to halt +** immediately. +** +** ^It is safe to call this routine from a thread different from the +** thread that is currently running the database operation. But it +** is not safe to call this routine with a [database connection] that +** is closed or might close before sqlite3_interrupt() returns. +** +** ^If an SQL operation is very nearly finished at the time when +** sqlite3_interrupt() is called, then it might not have an opportunity +** to be interrupted and might continue to completion. +** +** ^An SQL operation that is interrupted will return [SQLITE_INTERRUPT]. +** ^If the interrupted SQL operation is an INSERT, UPDATE, or DELETE +** that is inside an explicit transaction, then the entire transaction +** will be rolled back automatically. +** +** ^The sqlite3_interrupt(D) call is in effect until all currently running +** SQL statements on [database connection] D complete. ^Any new SQL statements +** that are started after the sqlite3_interrupt() call and before the +** running statements reaches zero are interrupted as if they had been +** running prior to the sqlite3_interrupt() call. ^New SQL statements +** that are started after the running statement count reaches zero are +** not effected by the sqlite3_interrupt(). +** ^A call to sqlite3_interrupt(D) that occurs when there are no running +** SQL statements is a no-op and has no effect on SQL statements +** that are started after the sqlite3_interrupt() call returns. +*/ +SQLITE_API void sqlite3_interrupt(sqlite3*); + +/* +** CAPI3REF: Determine If An SQL Statement Is Complete +** +** These routines are useful during command-line input to determine if the +** currently entered text seems to form a complete SQL statement or +** if additional input is needed before sending the text into +** SQLite for parsing. ^These routines return 1 if the input string +** appears to be a complete SQL statement. ^A statement is judged to be +** complete if it ends with a semicolon token and is not a prefix of a +** well-formed CREATE TRIGGER statement. ^Semicolons that are embedded within +** string literals or quoted identifier names or comments are not +** independent tokens (they are part of the token in which they are +** embedded) and thus do not count as a statement terminator. ^Whitespace +** and comments that follow the final semicolon are ignored. +** +** ^These routines return 0 if the statement is incomplete. ^If a +** memory allocation fails, then SQLITE_NOMEM is returned. +** +** ^These routines do not parse the SQL statements thus +** will not detect syntactically incorrect SQL. +** +** ^(If SQLite has not been initialized using [sqlite3_initialize()] prior +** to invoking sqlite3_complete16() then sqlite3_initialize() is invoked +** automatically by sqlite3_complete16(). If that initialization fails, +** then the return value from sqlite3_complete16() will be non-zero +** regardless of whether or not the input SQL is complete.)^ +** +** The input to [sqlite3_complete()] must be a zero-terminated +** UTF-8 string. +** +** The input to [sqlite3_complete16()] must be a zero-terminated +** UTF-16 string in native byte order. +*/ +SQLITE_API int sqlite3_complete(const char *sql); +SQLITE_API int sqlite3_complete16(const void *sql); + +/* +** CAPI3REF: Register A Callback To Handle SQLITE_BUSY Errors +** KEYWORDS: {busy-handler callback} {busy handler} +** METHOD: sqlite3 +** +** ^The sqlite3_busy_handler(D,X,P) routine sets a callback function X +** that might be invoked with argument P whenever +** an attempt is made to access a database table associated with +** [database connection] D when another thread +** or process has the table locked. +** The sqlite3_busy_handler() interface is used to implement +** [sqlite3_busy_timeout()] and [PRAGMA busy_timeout]. +** +** ^If the busy callback is NULL, then [SQLITE_BUSY] +** is returned immediately upon encountering the lock. ^If the busy callback +** is not NULL, then the callback might be invoked with two arguments. +** +** ^The first argument to the busy handler is a copy of the void* pointer which +** is the third argument to sqlite3_busy_handler(). ^The second argument to +** the busy handler callback is the number of times that the busy handler has +** been invoked previously for the same locking event. ^If the +** busy callback returns 0, then no additional attempts are made to +** access the database and [SQLITE_BUSY] is returned +** to the application. +** ^If the callback returns non-zero, then another attempt +** is made to access the database and the cycle repeats. +** +** The presence of a busy handler does not guarantee that it will be invoked +** when there is lock contention. ^If SQLite determines that invoking the busy +** handler could result in a deadlock, it will go ahead and return [SQLITE_BUSY] +** to the application instead of invoking the +** busy handler. +** Consider a scenario where one process is holding a read lock that +** it is trying to promote to a reserved lock and +** a second process is holding a reserved lock that it is trying +** to promote to an exclusive lock. The first process cannot proceed +** because it is blocked by the second and the second process cannot +** proceed because it is blocked by the first. If both processes +** invoke the busy handlers, neither will make any progress. Therefore, +** SQLite returns [SQLITE_BUSY] for the first process, hoping that this +** will induce the first process to release its read lock and allow +** the second process to proceed. +** +** ^The default busy callback is NULL. +** +** ^(There can only be a single busy handler defined for each +** [database connection]. Setting a new busy handler clears any +** previously set handler.)^ ^Note that calling [sqlite3_busy_timeout()] +** or evaluating [PRAGMA busy_timeout=N] will change the +** busy handler and thus clear any previously set busy handler. +** +** The busy callback should not take any actions which modify the +** database connection that invoked the busy handler. In other words, +** the busy handler is not reentrant. Any such actions +** result in undefined behavior. +** +** A busy handler must not close the database connection +** or [prepared statement] that invoked the busy handler. +*/ +SQLITE_API int sqlite3_busy_handler(sqlite3*,int(*)(void*,int),void*); + +/* +** CAPI3REF: Set A Busy Timeout +** METHOD: sqlite3 +** +** ^This routine sets a [sqlite3_busy_handler | busy handler] that sleeps +** for a specified amount of time when a table is locked. ^The handler +** will sleep multiple times until at least "ms" milliseconds of sleeping +** have accumulated. ^After at least "ms" milliseconds of sleeping, +** the handler returns 0 which causes [sqlite3_step()] to return +** [SQLITE_BUSY]. +** +** ^Calling this routine with an argument less than or equal to zero +** turns off all busy handlers. +** +** ^(There can only be a single busy handler for a particular +** [database connection] at any given moment. If another busy handler +** was defined (using [sqlite3_busy_handler()]) prior to calling +** this routine, that other busy handler is cleared.)^ +** +** See also: [PRAGMA busy_timeout] +*/ +SQLITE_API int sqlite3_busy_timeout(sqlite3*, int ms); + +/* +** CAPI3REF: Convenience Routines For Running Queries +** METHOD: sqlite3 +** +** This is a legacy interface that is preserved for backwards compatibility. +** Use of this interface is not recommended. +** +** Definition: A result table is memory data structure created by the +** [sqlite3_get_table()] interface. A result table records the +** complete query results from one or more queries. +** +** The table conceptually has a number of rows and columns. But +** these numbers are not part of the result table itself. These +** numbers are obtained separately. Let N be the number of rows +** and M be the number of columns. +** +** A result table is an array of pointers to zero-terminated UTF-8 strings. +** There are (N+1)*M elements in the array. The first M pointers point +** to zero-terminated strings that contain the names of the columns. +** The remaining entries all point to query results. NULL values result +** in NULL pointers. All other values are in their UTF-8 zero-terminated +** string representation as returned by [sqlite3_column_text()]. +** +** A result table might consist of one or more memory allocations. +** It is not safe to pass a result table directly to [sqlite3_free()]. +** A result table should be deallocated using [sqlite3_free_table()]. +** +** ^(As an example of the result table format, suppose a query result +** is as follows: +** +**
+**        Name        | Age
+**        -----------------------
+**        Alice       | 43
+**        Bob         | 28
+**        Cindy       | 21
+** 
+** +** There are two column (M==2) and three rows (N==3). Thus the +** result table has 8 entries. Suppose the result table is stored +** in an array names azResult. Then azResult holds this content: +** +**
+**        azResult[0] = "Name";
+**        azResult[1] = "Age";
+**        azResult[2] = "Alice";
+**        azResult[3] = "43";
+**        azResult[4] = "Bob";
+**        azResult[5] = "28";
+**        azResult[6] = "Cindy";
+**        azResult[7] = "21";
+** 
)^ +** +** ^The sqlite3_get_table() function evaluates one or more +** semicolon-separated SQL statements in the zero-terminated UTF-8 +** string of its 2nd parameter and returns a result table to the +** pointer given in its 3rd parameter. +** +** After the application has finished with the result from sqlite3_get_table(), +** it must pass the result table pointer to sqlite3_free_table() in order to +** release the memory that was malloced. Because of the way the +** [sqlite3_malloc()] happens within sqlite3_get_table(), the calling +** function must not try to call [sqlite3_free()] directly. Only +** [sqlite3_free_table()] is able to release the memory properly and safely. +** +** The sqlite3_get_table() interface is implemented as a wrapper around +** [sqlite3_exec()]. The sqlite3_get_table() routine does not have access +** to any internal data structures of SQLite. It uses only the public +** interface defined here. As a consequence, errors that occur in the +** wrapper layer outside of the internal [sqlite3_exec()] call are not +** reflected in subsequent calls to [sqlite3_errcode()] or +** [sqlite3_errmsg()]. +*/ +SQLITE_API int sqlite3_get_table( + sqlite3 *db, /* An open database */ + const char *zSql, /* SQL to be evaluated */ + char ***pazResult, /* Results of the query */ + int *pnRow, /* Number of result rows written here */ + int *pnColumn, /* Number of result columns written here */ + char **pzErrmsg /* Error msg written here */ +); +SQLITE_API void sqlite3_free_table(char **result); + +/* +** CAPI3REF: Formatted String Printing Functions +** +** These routines are work-alikes of the "printf()" family of functions +** from the standard C library. +** These routines understand most of the common formatting options from +** the standard library printf() +** plus some additional non-standard formats ([%q], [%Q], [%w], and [%z]). +** See the [built-in printf()] documentation for details. +** +** ^The sqlite3_mprintf() and sqlite3_vmprintf() routines write their +** results into memory obtained from [sqlite3_malloc64()]. +** The strings returned by these two routines should be +** released by [sqlite3_free()]. ^Both routines return a +** NULL pointer if [sqlite3_malloc64()] is unable to allocate enough +** memory to hold the resulting string. +** +** ^(The sqlite3_snprintf() routine is similar to "snprintf()" from +** the standard C library. The result is written into the +** buffer supplied as the second parameter whose size is given by +** the first parameter. Note that the order of the +** first two parameters is reversed from snprintf().)^ This is an +** historical accident that cannot be fixed without breaking +** backwards compatibility. ^(Note also that sqlite3_snprintf() +** returns a pointer to its buffer instead of the number of +** characters actually written into the buffer.)^ We admit that +** the number of characters written would be a more useful return +** value but we cannot change the implementation of sqlite3_snprintf() +** now without breaking compatibility. +** +** ^As long as the buffer size is greater than zero, sqlite3_snprintf() +** guarantees that the buffer is always zero-terminated. ^The first +** parameter "n" is the total size of the buffer, including space for +** the zero terminator. So the longest string that can be completely +** written will be n-1 characters. +** +** ^The sqlite3_vsnprintf() routine is a varargs version of sqlite3_snprintf(). +** +** See also: [built-in printf()], [printf() SQL function] +*/ +SQLITE_API char *sqlite3_mprintf(const char*,...); +SQLITE_API char *sqlite3_vmprintf(const char*, va_list); +SQLITE_API char *sqlite3_snprintf(int,char*,const char*, ...); +SQLITE_API char *sqlite3_vsnprintf(int,char*,const char*, va_list); + +/* +** CAPI3REF: Memory Allocation Subsystem +** +** The SQLite core uses these three routines for all of its own +** internal memory allocation needs. "Core" in the previous sentence +** does not include operating-system specific VFS implementation. The +** Windows VFS uses native malloc() and free() for some operations. +** +** ^The sqlite3_malloc() routine returns a pointer to a block +** of memory at least N bytes in length, where N is the parameter. +** ^If sqlite3_malloc() is unable to obtain sufficient free +** memory, it returns a NULL pointer. ^If the parameter N to +** sqlite3_malloc() is zero or negative then sqlite3_malloc() returns +** a NULL pointer. +** +** ^The sqlite3_malloc64(N) routine works just like +** sqlite3_malloc(N) except that N is an unsigned 64-bit integer instead +** of a signed 32-bit integer. +** +** ^Calling sqlite3_free() with a pointer previously returned +** by sqlite3_malloc() or sqlite3_realloc() releases that memory so +** that it might be reused. ^The sqlite3_free() routine is +** a no-op if is called with a NULL pointer. Passing a NULL pointer +** to sqlite3_free() is harmless. After being freed, memory +** should neither be read nor written. Even reading previously freed +** memory might result in a segmentation fault or other severe error. +** Memory corruption, a segmentation fault, or other severe error +** might result if sqlite3_free() is called with a non-NULL pointer that +** was not obtained from sqlite3_malloc() or sqlite3_realloc(). +** +** ^The sqlite3_realloc(X,N) interface attempts to resize a +** prior memory allocation X to be at least N bytes. +** ^If the X parameter to sqlite3_realloc(X,N) +** is a NULL pointer then its behavior is identical to calling +** sqlite3_malloc(N). +** ^If the N parameter to sqlite3_realloc(X,N) is zero or +** negative then the behavior is exactly the same as calling +** sqlite3_free(X). +** ^sqlite3_realloc(X,N) returns a pointer to a memory allocation +** of at least N bytes in size or NULL if insufficient memory is available. +** ^If M is the size of the prior allocation, then min(N,M) bytes +** of the prior allocation are copied into the beginning of buffer returned +** by sqlite3_realloc(X,N) and the prior allocation is freed. +** ^If sqlite3_realloc(X,N) returns NULL and N is positive, then the +** prior allocation is not freed. +** +** ^The sqlite3_realloc64(X,N) interfaces works the same as +** sqlite3_realloc(X,N) except that N is a 64-bit unsigned integer instead +** of a 32-bit signed integer. +** +** ^If X is a memory allocation previously obtained from sqlite3_malloc(), +** sqlite3_malloc64(), sqlite3_realloc(), or sqlite3_realloc64(), then +** sqlite3_msize(X) returns the size of that memory allocation in bytes. +** ^The value returned by sqlite3_msize(X) might be larger than the number +** of bytes requested when X was allocated. ^If X is a NULL pointer then +** sqlite3_msize(X) returns zero. If X points to something that is not +** the beginning of memory allocation, or if it points to a formerly +** valid memory allocation that has now been freed, then the behavior +** of sqlite3_msize(X) is undefined and possibly harmful. +** +** ^The memory returned by sqlite3_malloc(), sqlite3_realloc(), +** sqlite3_malloc64(), and sqlite3_realloc64() +** is always aligned to at least an 8 byte boundary, or to a +** 4 byte boundary if the [SQLITE_4_BYTE_ALIGNED_MALLOC] compile-time +** option is used. +** +** In SQLite version 3.5.0 and 3.5.1, it was possible to define +** the SQLITE_OMIT_MEMORY_ALLOCATION which would cause the built-in +** implementation of these routines to be omitted. That capability +** is no longer provided. Only built-in memory allocators can be used. +** +** Prior to SQLite version 3.7.10, the Windows OS interface layer called +** the system malloc() and free() directly when converting +** filenames between the UTF-8 encoding used by SQLite +** and whatever filename encoding is used by the particular Windows +** installation. Memory allocation errors were detected, but +** they were reported back as [SQLITE_CANTOPEN] or +** [SQLITE_IOERR] rather than [SQLITE_NOMEM]. +** +** The pointer arguments to [sqlite3_free()] and [sqlite3_realloc()] +** must be either NULL or else pointers obtained from a prior +** invocation of [sqlite3_malloc()] or [sqlite3_realloc()] that have +** not yet been released. +** +** The application must not read or write any part of +** a block of memory after it has been released using +** [sqlite3_free()] or [sqlite3_realloc()]. +*/ +SQLITE_API void *sqlite3_malloc(int); +SQLITE_API void *sqlite3_malloc64(sqlite3_uint64); +SQLITE_API void *sqlite3_realloc(void*, int); +SQLITE_API void *sqlite3_realloc64(void*, sqlite3_uint64); +SQLITE_API void sqlite3_free(void*); +SQLITE_API sqlite3_uint64 sqlite3_msize(void*); + +/* +** CAPI3REF: Memory Allocator Statistics +** +** SQLite provides these two interfaces for reporting on the status +** of the [sqlite3_malloc()], [sqlite3_free()], and [sqlite3_realloc()] +** routines, which form the built-in memory allocation subsystem. +** +** ^The [sqlite3_memory_used()] routine returns the number of bytes +** of memory currently outstanding (malloced but not freed). +** ^The [sqlite3_memory_highwater()] routine returns the maximum +** value of [sqlite3_memory_used()] since the high-water mark +** was last reset. ^The values returned by [sqlite3_memory_used()] and +** [sqlite3_memory_highwater()] include any overhead +** added by SQLite in its implementation of [sqlite3_malloc()], +** but not overhead added by the any underlying system library +** routines that [sqlite3_malloc()] may call. +** +** ^The memory high-water mark is reset to the current value of +** [sqlite3_memory_used()] if and only if the parameter to +** [sqlite3_memory_highwater()] is true. ^The value returned +** by [sqlite3_memory_highwater(1)] is the high-water mark +** prior to the reset. +*/ +SQLITE_API sqlite3_int64 sqlite3_memory_used(void); +SQLITE_API sqlite3_int64 sqlite3_memory_highwater(int resetFlag); + +/* +** CAPI3REF: Pseudo-Random Number Generator +** +** SQLite contains a high-quality pseudo-random number generator (PRNG) used to +** select random [ROWID | ROWIDs] when inserting new records into a table that +** already uses the largest possible [ROWID]. The PRNG is also used for +** the build-in random() and randomblob() SQL functions. This interface allows +** applications to access the same PRNG for other purposes. +** +** ^A call to this routine stores N bytes of randomness into buffer P. +** ^The P parameter can be a NULL pointer. +** +** ^If this routine has not been previously called or if the previous +** call had N less than one or a NULL pointer for P, then the PRNG is +** seeded using randomness obtained from the xRandomness method of +** the default [sqlite3_vfs] object. +** ^If the previous call to this routine had an N of 1 or more and a +** non-NULL P then the pseudo-randomness is generated +** internally and without recourse to the [sqlite3_vfs] xRandomness +** method. +*/ +SQLITE_API void sqlite3_randomness(int N, void *P); + +/* +** CAPI3REF: Compile-Time Authorization Callbacks +** METHOD: sqlite3 +** KEYWORDS: {authorizer callback} +** +** ^This routine registers an authorizer callback with a particular +** [database connection], supplied in the first argument. +** ^The authorizer callback is invoked as SQL statements are being compiled +** by [sqlite3_prepare()] or its variants [sqlite3_prepare_v2()], +** [sqlite3_prepare_v3()], [sqlite3_prepare16()], [sqlite3_prepare16_v2()], +** and [sqlite3_prepare16_v3()]. ^At various +** points during the compilation process, as logic is being created +** to perform various actions, the authorizer callback is invoked to +** see if those actions are allowed. ^The authorizer callback should +** return [SQLITE_OK] to allow the action, [SQLITE_IGNORE] to disallow the +** specific action but allow the SQL statement to continue to be +** compiled, or [SQLITE_DENY] to cause the entire SQL statement to be +** rejected with an error. ^If the authorizer callback returns +** any value other than [SQLITE_IGNORE], [SQLITE_OK], or [SQLITE_DENY] +** then the [sqlite3_prepare_v2()] or equivalent call that triggered +** the authorizer will fail with an error message. +** +** When the callback returns [SQLITE_OK], that means the operation +** requested is ok. ^When the callback returns [SQLITE_DENY], the +** [sqlite3_prepare_v2()] or equivalent call that triggered the +** authorizer will fail with an error message explaining that +** access is denied. +** +** ^The first parameter to the authorizer callback is a copy of the third +** parameter to the sqlite3_set_authorizer() interface. ^The second parameter +** to the callback is an integer [SQLITE_COPY | action code] that specifies +** the particular action to be authorized. ^The third through sixth parameters +** to the callback are either NULL pointers or zero-terminated strings +** that contain additional details about the action to be authorized. +** Applications must always be prepared to encounter a NULL pointer in any +** of the third through the sixth parameters of the authorization callback. +** +** ^If the action code is [SQLITE_READ] +** and the callback returns [SQLITE_IGNORE] then the +** [prepared statement] statement is constructed to substitute +** a NULL value in place of the table column that would have +** been read if [SQLITE_OK] had been returned. The [SQLITE_IGNORE] +** return can be used to deny an untrusted user access to individual +** columns of a table. +** ^When a table is referenced by a [SELECT] but no column values are +** extracted from that table (for example in a query like +** "SELECT count(*) FROM tab") then the [SQLITE_READ] authorizer callback +** is invoked once for that table with a column name that is an empty string. +** ^If the action code is [SQLITE_DELETE] and the callback returns +** [SQLITE_IGNORE] then the [DELETE] operation proceeds but the +** [truncate optimization] is disabled and all rows are deleted individually. +** +** An authorizer is used when [sqlite3_prepare | preparing] +** SQL statements from an untrusted source, to ensure that the SQL statements +** do not try to access data they are not allowed to see, or that they do not +** try to execute malicious statements that damage the database. For +** example, an application may allow a user to enter arbitrary +** SQL queries for evaluation by a database. But the application does +** not want the user to be able to make arbitrary changes to the +** database. An authorizer could then be put in place while the +** user-entered SQL is being [sqlite3_prepare | prepared] that +** disallows everything except [SELECT] statements. +** +** Applications that need to process SQL from untrusted sources +** might also consider lowering resource limits using [sqlite3_limit()] +** and limiting database size using the [max_page_count] [PRAGMA] +** in addition to using an authorizer. +** +** ^(Only a single authorizer can be in place on a database connection +** at a time. Each call to sqlite3_set_authorizer overrides the +** previous call.)^ ^Disable the authorizer by installing a NULL callback. +** The authorizer is disabled by default. +** +** The authorizer callback must not do anything that will modify +** the database connection that invoked the authorizer callback. +** Note that [sqlite3_prepare_v2()] and [sqlite3_step()] both modify their +** database connections for the meaning of "modify" in this paragraph. +** +** ^When [sqlite3_prepare_v2()] is used to prepare a statement, the +** statement might be re-prepared during [sqlite3_step()] due to a +** schema change. Hence, the application should ensure that the +** correct authorizer callback remains in place during the [sqlite3_step()]. +** +** ^Note that the authorizer callback is invoked only during +** [sqlite3_prepare()] or its variants. Authorization is not +** performed during statement evaluation in [sqlite3_step()], unless +** as stated in the previous paragraph, sqlite3_step() invokes +** sqlite3_prepare_v2() to reprepare a statement after a schema change. +*/ +SQLITE_API int sqlite3_set_authorizer( + sqlite3*, + int (*xAuth)(void*,int,const char*,const char*,const char*,const char*), + void *pUserData +); + +/* +** CAPI3REF: Authorizer Return Codes +** +** The [sqlite3_set_authorizer | authorizer callback function] must +** return either [SQLITE_OK] or one of these two constants in order +** to signal SQLite whether or not the action is permitted. See the +** [sqlite3_set_authorizer | authorizer documentation] for additional +** information. +** +** Note that SQLITE_IGNORE is also used as a [conflict resolution mode] +** returned from the [sqlite3_vtab_on_conflict()] interface. +*/ +#define SQLITE_DENY 1 /* Abort the SQL statement with an error */ +#define SQLITE_IGNORE 2 /* Don't allow access, but don't generate an error */ + +/* +** CAPI3REF: Authorizer Action Codes +** +** The [sqlite3_set_authorizer()] interface registers a callback function +** that is invoked to authorize certain SQL statement actions. The +** second parameter to the callback is an integer code that specifies +** what action is being authorized. These are the integer action codes that +** the authorizer callback may be passed. +** +** These action code values signify what kind of operation is to be +** authorized. The 3rd and 4th parameters to the authorization +** callback function will be parameters or NULL depending on which of these +** codes is used as the second parameter. ^(The 5th parameter to the +** authorizer callback is the name of the database ("main", "temp", +** etc.) if applicable.)^ ^The 6th parameter to the authorizer callback +** is the name of the inner-most trigger or view that is responsible for +** the access attempt or NULL if this access attempt is directly from +** top-level SQL code. +*/ +/******************************************* 3rd ************ 4th ***********/ +#define SQLITE_CREATE_INDEX 1 /* Index Name Table Name */ +#define SQLITE_CREATE_TABLE 2 /* Table Name NULL */ +#define SQLITE_CREATE_TEMP_INDEX 3 /* Index Name Table Name */ +#define SQLITE_CREATE_TEMP_TABLE 4 /* Table Name NULL */ +#define SQLITE_CREATE_TEMP_TRIGGER 5 /* Trigger Name Table Name */ +#define SQLITE_CREATE_TEMP_VIEW 6 /* View Name NULL */ +#define SQLITE_CREATE_TRIGGER 7 /* Trigger Name Table Name */ +#define SQLITE_CREATE_VIEW 8 /* View Name NULL */ +#define SQLITE_DELETE 9 /* Table Name NULL */ +#define SQLITE_DROP_INDEX 10 /* Index Name Table Name */ +#define SQLITE_DROP_TABLE 11 /* Table Name NULL */ +#define SQLITE_DROP_TEMP_INDEX 12 /* Index Name Table Name */ +#define SQLITE_DROP_TEMP_TABLE 13 /* Table Name NULL */ +#define SQLITE_DROP_TEMP_TRIGGER 14 /* Trigger Name Table Name */ +#define SQLITE_DROP_TEMP_VIEW 15 /* View Name NULL */ +#define SQLITE_DROP_TRIGGER 16 /* Trigger Name Table Name */ +#define SQLITE_DROP_VIEW 17 /* View Name NULL */ +#define SQLITE_INSERT 18 /* Table Name NULL */ +#define SQLITE_PRAGMA 19 /* Pragma Name 1st arg or NULL */ +#define SQLITE_READ 20 /* Table Name Column Name */ +#define SQLITE_SELECT 21 /* NULL NULL */ +#define SQLITE_TRANSACTION 22 /* Operation NULL */ +#define SQLITE_UPDATE 23 /* Table Name Column Name */ +#define SQLITE_ATTACH 24 /* Filename NULL */ +#define SQLITE_DETACH 25 /* Database Name NULL */ +#define SQLITE_ALTER_TABLE 26 /* Database Name Table Name */ +#define SQLITE_REINDEX 27 /* Index Name NULL */ +#define SQLITE_ANALYZE 28 /* Table Name NULL */ +#define SQLITE_CREATE_VTABLE 29 /* Table Name Module Name */ +#define SQLITE_DROP_VTABLE 30 /* Table Name Module Name */ +#define SQLITE_FUNCTION 31 /* NULL Function Name */ +#define SQLITE_SAVEPOINT 32 /* Operation Savepoint Name */ +#define SQLITE_COPY 0 /* No longer used */ +#define SQLITE_RECURSIVE 33 /* NULL NULL */ + +/* +** CAPI3REF: Tracing And Profiling Functions +** METHOD: sqlite3 +** +** These routines are deprecated. Use the [sqlite3_trace_v2()] interface +** instead of the routines described here. +** +** These routines register callback functions that can be used for +** tracing and profiling the execution of SQL statements. +** +** ^The callback function registered by sqlite3_trace() is invoked at +** various times when an SQL statement is being run by [sqlite3_step()]. +** ^The sqlite3_trace() callback is invoked with a UTF-8 rendering of the +** SQL statement text as the statement first begins executing. +** ^(Additional sqlite3_trace() callbacks might occur +** as each triggered subprogram is entered. The callbacks for triggers +** contain a UTF-8 SQL comment that identifies the trigger.)^ +** +** The [SQLITE_TRACE_SIZE_LIMIT] compile-time option can be used to limit +** the length of [bound parameter] expansion in the output of sqlite3_trace(). +** +** ^The callback function registered by sqlite3_profile() is invoked +** as each SQL statement finishes. ^The profile callback contains +** the original statement text and an estimate of wall-clock time +** of how long that statement took to run. ^The profile callback +** time is in units of nanoseconds, however the current implementation +** is only capable of millisecond resolution so the six least significant +** digits in the time are meaningless. Future versions of SQLite +** might provide greater resolution on the profiler callback. The +** sqlite3_profile() function is considered experimental and is +** subject to change in future versions of SQLite. +*/ +SQLITE_API SQLITE_DEPRECATED void *sqlite3_trace(sqlite3*, + void(*xTrace)(void*,const char*), void*); +SQLITE_API SQLITE_DEPRECATED void *sqlite3_profile(sqlite3*, + void(*xProfile)(void*,const char*,sqlite3_uint64), void*); + +/* +** CAPI3REF: SQL Trace Event Codes +** KEYWORDS: SQLITE_TRACE +** +** These constants identify classes of events that can be monitored +** using the [sqlite3_trace_v2()] tracing logic. The M argument +** to [sqlite3_trace_v2(D,M,X,P)] is an OR-ed combination of one or more of +** the following constants. ^The first argument to the trace callback +** is one of the following constants. +** +** New tracing constants may be added in future releases. +** +** ^A trace callback has four arguments: xCallback(T,C,P,X). +** ^The T argument is one of the integer type codes above. +** ^The C argument is a copy of the context pointer passed in as the +** fourth argument to [sqlite3_trace_v2()]. +** The P and X arguments are pointers whose meanings depend on T. +** +**
+** [[SQLITE_TRACE_STMT]]
SQLITE_TRACE_STMT
+**
^An SQLITE_TRACE_STMT callback is invoked when a prepared statement +** first begins running and possibly at other times during the +** execution of the prepared statement, such as at the start of each +** trigger subprogram. ^The P argument is a pointer to the +** [prepared statement]. ^The X argument is a pointer to a string which +** is the unexpanded SQL text of the prepared statement or an SQL comment +** that indicates the invocation of a trigger. ^The callback can compute +** the same text that would have been returned by the legacy [sqlite3_trace()] +** interface by using the X argument when X begins with "--" and invoking +** [sqlite3_expanded_sql(P)] otherwise. +** +** [[SQLITE_TRACE_PROFILE]]
SQLITE_TRACE_PROFILE
+**
^An SQLITE_TRACE_PROFILE callback provides approximately the same +** information as is provided by the [sqlite3_profile()] callback. +** ^The P argument is a pointer to the [prepared statement] and the +** X argument points to a 64-bit integer which is the estimated of +** the number of nanosecond that the prepared statement took to run. +** ^The SQLITE_TRACE_PROFILE callback is invoked when the statement finishes. +** +** [[SQLITE_TRACE_ROW]]
SQLITE_TRACE_ROW
+**
^An SQLITE_TRACE_ROW callback is invoked whenever a prepared +** statement generates a single row of result. +** ^The P argument is a pointer to the [prepared statement] and the +** X argument is unused. +** +** [[SQLITE_TRACE_CLOSE]]
SQLITE_TRACE_CLOSE
+**
^An SQLITE_TRACE_CLOSE callback is invoked when a database +** connection closes. +** ^The P argument is a pointer to the [database connection] object +** and the X argument is unused. +**
+*/ +#define SQLITE_TRACE_STMT 0x01 +#define SQLITE_TRACE_PROFILE 0x02 +#define SQLITE_TRACE_ROW 0x04 +#define SQLITE_TRACE_CLOSE 0x08 + +/* +** CAPI3REF: SQL Trace Hook +** METHOD: sqlite3 +** +** ^The sqlite3_trace_v2(D,M,X,P) interface registers a trace callback +** function X against [database connection] D, using property mask M +** and context pointer P. ^If the X callback is +** NULL or if the M mask is zero, then tracing is disabled. The +** M argument should be the bitwise OR-ed combination of +** zero or more [SQLITE_TRACE] constants. +** +** ^Each call to either sqlite3_trace() or sqlite3_trace_v2() overrides +** (cancels) any prior calls to sqlite3_trace() or sqlite3_trace_v2(). +** +** ^The X callback is invoked whenever any of the events identified by +** mask M occur. ^The integer return value from the callback is currently +** ignored, though this may change in future releases. Callback +** implementations should return zero to ensure future compatibility. +** +** ^A trace callback is invoked with four arguments: callback(T,C,P,X). +** ^The T argument is one of the [SQLITE_TRACE] +** constants to indicate why the callback was invoked. +** ^The C argument is a copy of the context pointer. +** The P and X arguments are pointers whose meanings depend on T. +** +** The sqlite3_trace_v2() interface is intended to replace the legacy +** interfaces [sqlite3_trace()] and [sqlite3_profile()], both of which +** are deprecated. +*/ +SQLITE_API int sqlite3_trace_v2( + sqlite3*, + unsigned uMask, + int(*xCallback)(unsigned,void*,void*,void*), + void *pCtx +); + +/* +** CAPI3REF: Query Progress Callbacks +** METHOD: sqlite3 +** +** ^The sqlite3_progress_handler(D,N,X,P) interface causes the callback +** function X to be invoked periodically during long running calls to +** [sqlite3_exec()], [sqlite3_step()] and [sqlite3_get_table()] for +** database connection D. An example use for this +** interface is to keep a GUI updated during a large query. +** +** ^The parameter P is passed through as the only parameter to the +** callback function X. ^The parameter N is the approximate number of +** [virtual machine instructions] that are evaluated between successive +** invocations of the callback X. ^If N is less than one then the progress +** handler is disabled. +** +** ^Only a single progress handler may be defined at one time per +** [database connection]; setting a new progress handler cancels the +** old one. ^Setting parameter X to NULL disables the progress handler. +** ^The progress handler is also disabled by setting N to a value less +** than 1. +** +** ^If the progress callback returns non-zero, the operation is +** interrupted. This feature can be used to implement a +** "Cancel" button on a GUI progress dialog box. +** +** The progress handler callback must not do anything that will modify +** the database connection that invoked the progress handler. +** Note that [sqlite3_prepare_v2()] and [sqlite3_step()] both modify their +** database connections for the meaning of "modify" in this paragraph. +** +*/ +SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); + +/* +** CAPI3REF: Opening A New Database Connection +** CONSTRUCTOR: sqlite3 +** +** ^These routines open an SQLite database file as specified by the +** filename argument. ^The filename argument is interpreted as UTF-8 for +** sqlite3_open() and sqlite3_open_v2() and as UTF-16 in the native byte +** order for sqlite3_open16(). ^(A [database connection] handle is usually +** returned in *ppDb, even if an error occurs. The only exception is that +** if SQLite is unable to allocate memory to hold the [sqlite3] object, +** a NULL will be written into *ppDb instead of a pointer to the [sqlite3] +** object.)^ ^(If the database is opened (and/or created) successfully, then +** [SQLITE_OK] is returned. Otherwise an [error code] is returned.)^ ^The +** [sqlite3_errmsg()] or [sqlite3_errmsg16()] routines can be used to obtain +** an English language description of the error following a failure of any +** of the sqlite3_open() routines. +** +** ^The default encoding will be UTF-8 for databases created using +** sqlite3_open() or sqlite3_open_v2(). ^The default encoding for databases +** created using sqlite3_open16() will be UTF-16 in the native byte order. +** +** Whether or not an error occurs when it is opened, resources +** associated with the [database connection] handle should be released by +** passing it to [sqlite3_close()] when it is no longer required. +** +** The sqlite3_open_v2() interface works like sqlite3_open() +** except that it accepts two additional parameters for additional control +** over the new database connection. ^(The flags parameter to +** sqlite3_open_v2() can take one of +** the following three values, optionally combined with the +** [SQLITE_OPEN_NOMUTEX], [SQLITE_OPEN_FULLMUTEX], [SQLITE_OPEN_SHAREDCACHE], +** [SQLITE_OPEN_PRIVATECACHE], and/or [SQLITE_OPEN_URI] flags:)^ +** +**
+** ^(
[SQLITE_OPEN_READONLY]
+**
The database is opened in read-only mode. If the database does not +** already exist, an error is returned.
)^ +** +** ^(
[SQLITE_OPEN_READWRITE]
+**
The database is opened for reading and writing if possible, or reading +** only if the file is write protected by the operating system. In either +** case the database must already exist, otherwise an error is returned.
)^ +** +** ^(
[SQLITE_OPEN_READWRITE] | [SQLITE_OPEN_CREATE]
+**
The database is opened for reading and writing, and is created if +** it does not already exist. This is the behavior that is always used for +** sqlite3_open() and sqlite3_open16().
)^ +**
+** +** If the 3rd parameter to sqlite3_open_v2() is not one of the +** combinations shown above optionally combined with other +** [SQLITE_OPEN_READONLY | SQLITE_OPEN_* bits] +** then the behavior is undefined. +** +** ^If the [SQLITE_OPEN_NOMUTEX] flag is set, then the database connection +** opens in the multi-thread [threading mode] as long as the single-thread +** mode has not been set at compile-time or start-time. ^If the +** [SQLITE_OPEN_FULLMUTEX] flag is set then the database connection opens +** in the serialized [threading mode] unless single-thread was +** previously selected at compile-time or start-time. +** ^The [SQLITE_OPEN_SHAREDCACHE] flag causes the database connection to be +** eligible to use [shared cache mode], regardless of whether or not shared +** cache is enabled using [sqlite3_enable_shared_cache()]. ^The +** [SQLITE_OPEN_PRIVATECACHE] flag causes the database connection to not +** participate in [shared cache mode] even if it is enabled. +** +** ^The fourth parameter to sqlite3_open_v2() is the name of the +** [sqlite3_vfs] object that defines the operating system interface that +** the new database connection should use. ^If the fourth parameter is +** a NULL pointer then the default [sqlite3_vfs] object is used. +** +** ^If the filename is ":memory:", then a private, temporary in-memory database +** is created for the connection. ^This in-memory database will vanish when +** the database connection is closed. Future versions of SQLite might +** make use of additional special filenames that begin with the ":" character. +** It is recommended that when a database filename actually does begin with +** a ":" character you should prefix the filename with a pathname such as +** "./" to avoid ambiguity. +** +** ^If the filename is an empty string, then a private, temporary +** on-disk database will be created. ^This private database will be +** automatically deleted as soon as the database connection is closed. +** +** [[URI filenames in sqlite3_open()]]

URI Filenames

+** +** ^If [URI filename] interpretation is enabled, and the filename argument +** begins with "file:", then the filename is interpreted as a URI. ^URI +** filename interpretation is enabled if the [SQLITE_OPEN_URI] flag is +** set in the third argument to sqlite3_open_v2(), or if it has +** been enabled globally using the [SQLITE_CONFIG_URI] option with the +** [sqlite3_config()] method or by the [SQLITE_USE_URI] compile-time option. +** URI filename interpretation is turned off +** by default, but future releases of SQLite might enable URI filename +** interpretation by default. See "[URI filenames]" for additional +** information. +** +** URI filenames are parsed according to RFC 3986. ^If the URI contains an +** authority, then it must be either an empty string or the string +** "localhost". ^If the authority is not an empty string or "localhost", an +** error is returned to the caller. ^The fragment component of a URI, if +** present, is ignored. +** +** ^SQLite uses the path component of the URI as the name of the disk file +** which contains the database. ^If the path begins with a '/' character, +** then it is interpreted as an absolute path. ^If the path does not begin +** with a '/' (meaning that the authority section is omitted from the URI) +** then the path is interpreted as a relative path. +** ^(On windows, the first component of an absolute path +** is a drive specification (e.g. "C:").)^ +** +** [[core URI query parameters]] +** The query component of a URI may contain parameters that are interpreted +** either by SQLite itself, or by a [VFS | custom VFS implementation]. +** SQLite and its built-in [VFSes] interpret the +** following query parameters: +** +**
    +**
  • vfs: ^The "vfs" parameter may be used to specify the name of +** a VFS object that provides the operating system interface that should +** be used to access the database file on disk. ^If this option is set to +** an empty string the default VFS object is used. ^Specifying an unknown +** VFS is an error. ^If sqlite3_open_v2() is used and the vfs option is +** present, then the VFS specified by the option takes precedence over +** the value passed as the fourth parameter to sqlite3_open_v2(). +** +**
  • mode: ^(The mode parameter may be set to either "ro", "rw", +** "rwc", or "memory". Attempting to set it to any other value is +** an error)^. +** ^If "ro" is specified, then the database is opened for read-only +** access, just as if the [SQLITE_OPEN_READONLY] flag had been set in the +** third argument to sqlite3_open_v2(). ^If the mode option is set to +** "rw", then the database is opened for read-write (but not create) +** access, as if SQLITE_OPEN_READWRITE (but not SQLITE_OPEN_CREATE) had +** been set. ^Value "rwc" is equivalent to setting both +** SQLITE_OPEN_READWRITE and SQLITE_OPEN_CREATE. ^If the mode option is +** set to "memory" then a pure [in-memory database] that never reads +** or writes from disk is used. ^It is an error to specify a value for +** the mode parameter that is less restrictive than that specified by +** the flags passed in the third parameter to sqlite3_open_v2(). +** +**
  • cache: ^The cache parameter may be set to either "shared" or +** "private". ^Setting it to "shared" is equivalent to setting the +** SQLITE_OPEN_SHAREDCACHE bit in the flags argument passed to +** sqlite3_open_v2(). ^Setting the cache parameter to "private" is +** equivalent to setting the SQLITE_OPEN_PRIVATECACHE bit. +** ^If sqlite3_open_v2() is used and the "cache" parameter is present in +** a URI filename, its value overrides any behavior requested by setting +** SQLITE_OPEN_PRIVATECACHE or SQLITE_OPEN_SHAREDCACHE flag. +** +**
  • psow: ^The psow parameter indicates whether or not the +** [powersafe overwrite] property does or does not apply to the +** storage media on which the database file resides. +** +**
  • nolock: ^The nolock parameter is a boolean query parameter +** which if set disables file locking in rollback journal modes. This +** is useful for accessing a database on a filesystem that does not +** support locking. Caution: Database corruption might result if two +** or more processes write to the same database and any one of those +** processes uses nolock=1. +** +**
  • immutable: ^The immutable parameter is a boolean query +** parameter that indicates that the database file is stored on +** read-only media. ^When immutable is set, SQLite assumes that the +** database file cannot be changed, even by a process with higher +** privilege, and so the database is opened read-only and all locking +** and change detection is disabled. Caution: Setting the immutable +** property on a database file that does in fact change can result +** in incorrect query results and/or [SQLITE_CORRUPT] errors. +** See also: [SQLITE_IOCAP_IMMUTABLE]. +** +**
+** +** ^Specifying an unknown parameter in the query component of a URI is not an +** error. Future versions of SQLite might understand additional query +** parameters. See "[query parameters with special meaning to SQLite]" for +** additional information. +** +** [[URI filename examples]]

URI filename examples

+** +** +**
URI filenames Results +**
file:data.db +** Open the file "data.db" in the current directory. +**
file:/home/fred/data.db
+** file:///home/fred/data.db
+** file://localhost/home/fred/data.db
+** Open the database file "/home/fred/data.db". +**
file://darkstar/home/fred/data.db +** An error. "darkstar" is not a recognized authority. +**
+** file:///C:/Documents%20and%20Settings/fred/Desktop/data.db +** Windows only: Open the file "data.db" on fred's desktop on drive +** C:. Note that the %20 escaping in this example is not strictly +** necessary - space characters can be used literally +** in URI filenames. +**
file:data.db?mode=ro&cache=private +** Open file "data.db" in the current directory for read-only access. +** Regardless of whether or not shared-cache mode is enabled by +** default, use a private cache. +**
file:/home/fred/data.db?vfs=unix-dotfile +** Open file "/home/fred/data.db". Use the special VFS "unix-dotfile" +** that uses dot-files in place of posix advisory locking. +**
file:data.db?mode=readonly +** An error. "readonly" is not a valid option for the "mode" parameter. +**
+** +** ^URI hexadecimal escape sequences (%HH) are supported within the path and +** query components of a URI. A hexadecimal escape sequence consists of a +** percent sign - "%" - followed by exactly two hexadecimal digits +** specifying an octet value. ^Before the path or query components of a +** URI filename are interpreted, they are encoded using UTF-8 and all +** hexadecimal escape sequences replaced by a single byte containing the +** corresponding octet. If this process generates an invalid UTF-8 encoding, +** the results are undefined. +** +** Note to Windows users: The encoding used for the filename argument +** of sqlite3_open() and sqlite3_open_v2() must be UTF-8, not whatever +** codepage is currently defined. Filenames containing international +** characters must be converted to UTF-8 prior to passing them into +** sqlite3_open() or sqlite3_open_v2(). +** +** Note to Windows Runtime users: The temporary directory must be set +** prior to calling sqlite3_open() or sqlite3_open_v2(). Otherwise, various +** features that require the use of temporary files may fail. +** +** See also: [sqlite3_temp_directory] +*/ +SQLITE_API int sqlite3_open( + const char *filename, /* Database filename (UTF-8) */ + sqlite3 **ppDb /* OUT: SQLite db handle */ +); +SQLITE_API int sqlite3_open16( + const void *filename, /* Database filename (UTF-16) */ + sqlite3 **ppDb /* OUT: SQLite db handle */ +); +SQLITE_API int sqlite3_open_v2( + const char *filename, /* Database filename (UTF-8) */ + sqlite3 **ppDb, /* OUT: SQLite db handle */ + int flags, /* Flags */ + const char *zVfs /* Name of VFS module to use */ +); + +/* +** CAPI3REF: Obtain Values For URI Parameters +** +** These are utility routines, useful to VFS implementations, that check +** to see if a database file was a URI that contained a specific query +** parameter, and if so obtains the value of that query parameter. +** +** If F is the database filename pointer passed into the xOpen() method of +** a VFS implementation when the flags parameter to xOpen() has one or +** more of the [SQLITE_OPEN_URI] or [SQLITE_OPEN_MAIN_DB] bits set and +** P is the name of the query parameter, then +** sqlite3_uri_parameter(F,P) returns the value of the P +** parameter if it exists or a NULL pointer if P does not appear as a +** query parameter on F. If P is a query parameter of F +** has no explicit value, then sqlite3_uri_parameter(F,P) returns +** a pointer to an empty string. +** +** The sqlite3_uri_boolean(F,P,B) routine assumes that P is a boolean +** parameter and returns true (1) or false (0) according to the value +** of P. The sqlite3_uri_boolean(F,P,B) routine returns true (1) if the +** value of query parameter P is one of "yes", "true", or "on" in any +** case or if the value begins with a non-zero number. The +** sqlite3_uri_boolean(F,P,B) routines returns false (0) if the value of +** query parameter P is one of "no", "false", or "off" in any case or +** if the value begins with a numeric zero. If P is not a query +** parameter on F or if the value of P is does not match any of the +** above, then sqlite3_uri_boolean(F,P,B) returns (B!=0). +** +** The sqlite3_uri_int64(F,P,D) routine converts the value of P into a +** 64-bit signed integer and returns that integer, or D if P does not +** exist. If the value of P is something other than an integer, then +** zero is returned. +** +** If F is a NULL pointer, then sqlite3_uri_parameter(F,P) returns NULL and +** sqlite3_uri_boolean(F,P,B) returns B. If F is not a NULL pointer and +** is not a database file pathname pointer that SQLite passed into the xOpen +** VFS method, then the behavior of this routine is undefined and probably +** undesirable. +*/ +SQLITE_API const char *sqlite3_uri_parameter(const char *zFilename, const char *zParam); +SQLITE_API int sqlite3_uri_boolean(const char *zFile, const char *zParam, int bDefault); +SQLITE_API sqlite3_int64 sqlite3_uri_int64(const char*, const char*, sqlite3_int64); + + +/* +** CAPI3REF: Error Codes And Messages +** METHOD: sqlite3 +** +** ^If the most recent sqlite3_* API call associated with +** [database connection] D failed, then the sqlite3_errcode(D) interface +** returns the numeric [result code] or [extended result code] for that +** API call. +** If the most recent API call was successful, +** then the return value from sqlite3_errcode() is undefined. +** ^The sqlite3_extended_errcode() +** interface is the same except that it always returns the +** [extended result code] even when extended result codes are +** disabled. +** +** ^The sqlite3_errmsg() and sqlite3_errmsg16() return English-language +** text that describes the error, as either UTF-8 or UTF-16 respectively. +** ^(Memory to hold the error message string is managed internally. +** The application does not need to worry about freeing the result. +** However, the error string might be overwritten or deallocated by +** subsequent calls to other SQLite interface functions.)^ +** +** ^The sqlite3_errstr() interface returns the English-language text +** that describes the [result code], as UTF-8. +** ^(Memory to hold the error message string is managed internally +** and must not be freed by the application)^. +** +** When the serialized [threading mode] is in use, it might be the +** case that a second error occurs on a separate thread in between +** the time of the first error and the call to these interfaces. +** When that happens, the second error will be reported since these +** interfaces always report the most recent result. To avoid +** this, each thread can obtain exclusive use of the [database connection] D +** by invoking [sqlite3_mutex_enter]([sqlite3_db_mutex](D)) before beginning +** to use D and invoking [sqlite3_mutex_leave]([sqlite3_db_mutex](D)) after +** all calls to the interfaces listed here are completed. +** +** If an interface fails with SQLITE_MISUSE, that means the interface +** was invoked incorrectly by the application. In that case, the +** error code and message may or may not be set. +*/ +SQLITE_API int sqlite3_errcode(sqlite3 *db); +SQLITE_API int sqlite3_extended_errcode(sqlite3 *db); +SQLITE_API const char *sqlite3_errmsg(sqlite3*); +SQLITE_API const void *sqlite3_errmsg16(sqlite3*); +SQLITE_API const char *sqlite3_errstr(int); + +/* +** CAPI3REF: Prepared Statement Object +** KEYWORDS: {prepared statement} {prepared statements} +** +** An instance of this object represents a single SQL statement that +** has been compiled into binary form and is ready to be evaluated. +** +** Think of each SQL statement as a separate computer program. The +** original SQL text is source code. A prepared statement object +** is the compiled object code. All SQL must be converted into a +** prepared statement before it can be run. +** +** The life-cycle of a prepared statement object usually goes like this: +** +**
    +**
  1. Create the prepared statement object using [sqlite3_prepare_v2()]. +**
  2. Bind values to [parameters] using the sqlite3_bind_*() +** interfaces. +**
  3. Run the SQL by calling [sqlite3_step()] one or more times. +**
  4. Reset the prepared statement using [sqlite3_reset()] then go back +** to step 2. Do this zero or more times. +**
  5. Destroy the object using [sqlite3_finalize()]. +**
+*/ +typedef struct sqlite3_stmt sqlite3_stmt; + +/* +** CAPI3REF: Run-time Limits +** METHOD: sqlite3 +** +** ^(This interface allows the size of various constructs to be limited +** on a connection by connection basis. The first parameter is the +** [database connection] whose limit is to be set or queried. The +** second parameter is one of the [limit categories] that define a +** class of constructs to be size limited. The third parameter is the +** new limit for that construct.)^ +** +** ^If the new limit is a negative number, the limit is unchanged. +** ^(For each limit category SQLITE_LIMIT_NAME there is a +** [limits | hard upper bound] +** set at compile-time by a C preprocessor macro called +** [limits | SQLITE_MAX_NAME]. +** (The "_LIMIT_" in the name is changed to "_MAX_".))^ +** ^Attempts to increase a limit above its hard upper bound are +** silently truncated to the hard upper bound. +** +** ^Regardless of whether or not the limit was changed, the +** [sqlite3_limit()] interface returns the prior value of the limit. +** ^Hence, to find the current value of a limit without changing it, +** simply invoke this interface with the third parameter set to -1. +** +** Run-time limits are intended for use in applications that manage +** both their own internal database and also databases that are controlled +** by untrusted external sources. An example application might be a +** web browser that has its own databases for storing history and +** separate databases controlled by JavaScript applications downloaded +** off the Internet. The internal databases can be given the +** large, default limits. Databases managed by external sources can +** be given much smaller limits designed to prevent a denial of service +** attack. Developers might also want to use the [sqlite3_set_authorizer()] +** interface to further control untrusted SQL. The size of the database +** created by an untrusted script can be contained using the +** [max_page_count] [PRAGMA]. +** +** New run-time limit categories may be added in future releases. +*/ +SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); + +/* +** CAPI3REF: Run-Time Limit Categories +** KEYWORDS: {limit category} {*limit categories} +** +** These constants define various performance limits +** that can be lowered at run-time using [sqlite3_limit()]. +** The synopsis of the meanings of the various limits is shown below. +** Additional information is available at [limits | Limits in SQLite]. +** +**
+** [[SQLITE_LIMIT_LENGTH]] ^(
SQLITE_LIMIT_LENGTH
+**
The maximum size of any string or BLOB or table row, in bytes.
)^ +** +** [[SQLITE_LIMIT_SQL_LENGTH]] ^(
SQLITE_LIMIT_SQL_LENGTH
+**
The maximum length of an SQL statement, in bytes.
)^ +** +** [[SQLITE_LIMIT_COLUMN]] ^(
SQLITE_LIMIT_COLUMN
+**
The maximum number of columns in a table definition or in the +** result set of a [SELECT] or the maximum number of columns in an index +** or in an ORDER BY or GROUP BY clause.
)^ +** +** [[SQLITE_LIMIT_EXPR_DEPTH]] ^(
SQLITE_LIMIT_EXPR_DEPTH
+**
The maximum depth of the parse tree on any expression.
)^ +** +** [[SQLITE_LIMIT_COMPOUND_SELECT]] ^(
SQLITE_LIMIT_COMPOUND_SELECT
+**
The maximum number of terms in a compound SELECT statement.
)^ +** +** [[SQLITE_LIMIT_VDBE_OP]] ^(
SQLITE_LIMIT_VDBE_OP
+**
The maximum number of instructions in a virtual machine program +** used to implement an SQL statement. If [sqlite3_prepare_v2()] or +** the equivalent tries to allocate space for more than this many opcodes +** in a single prepared statement, an SQLITE_NOMEM error is returned.
)^ +** +** [[SQLITE_LIMIT_FUNCTION_ARG]] ^(
SQLITE_LIMIT_FUNCTION_ARG
+**
The maximum number of arguments on a function.
)^ +** +** [[SQLITE_LIMIT_ATTACHED]] ^(
SQLITE_LIMIT_ATTACHED
+**
The maximum number of [ATTACH | attached databases].)^
+** +** [[SQLITE_LIMIT_LIKE_PATTERN_LENGTH]] +** ^(
SQLITE_LIMIT_LIKE_PATTERN_LENGTH
+**
The maximum length of the pattern argument to the [LIKE] or +** [GLOB] operators.
)^ +** +** [[SQLITE_LIMIT_VARIABLE_NUMBER]] +** ^(
SQLITE_LIMIT_VARIABLE_NUMBER
+**
The maximum index number of any [parameter] in an SQL statement.)^ +** +** [[SQLITE_LIMIT_TRIGGER_DEPTH]] ^(
SQLITE_LIMIT_TRIGGER_DEPTH
+**
The maximum depth of recursion for triggers.
)^ +** +** [[SQLITE_LIMIT_WORKER_THREADS]] ^(
SQLITE_LIMIT_WORKER_THREADS
+**
The maximum number of auxiliary worker threads that a single +** [prepared statement] may start.
)^ +**
+*/ +#define SQLITE_LIMIT_LENGTH 0 +#define SQLITE_LIMIT_SQL_LENGTH 1 +#define SQLITE_LIMIT_COLUMN 2 +#define SQLITE_LIMIT_EXPR_DEPTH 3 +#define SQLITE_LIMIT_COMPOUND_SELECT 4 +#define SQLITE_LIMIT_VDBE_OP 5 +#define SQLITE_LIMIT_FUNCTION_ARG 6 +#define SQLITE_LIMIT_ATTACHED 7 +#define SQLITE_LIMIT_LIKE_PATTERN_LENGTH 8 +#define SQLITE_LIMIT_VARIABLE_NUMBER 9 +#define SQLITE_LIMIT_TRIGGER_DEPTH 10 +#define SQLITE_LIMIT_WORKER_THREADS 11 + +/* +** CAPI3REF: Prepare Flags +** +** These constants define various flags that can be passed into +** "prepFlags" parameter of the [sqlite3_prepare_v3()] and +** [sqlite3_prepare16_v3()] interfaces. +** +** New flags may be added in future releases of SQLite. +** +**
+** [[SQLITE_PREPARE_PERSISTENT]] ^(
SQLITE_PREPARE_PERSISTENT
+**
The SQLITE_PREPARE_PERSISTENT flag is a hint to the query planner +** that the prepared statement will be retained for a long time and +** probably reused many times.)^ ^Without this flag, [sqlite3_prepare_v3()] +** and [sqlite3_prepare16_v3()] assume that the prepared statement will +** be used just once or at most a few times and then destroyed using +** [sqlite3_finalize()] relatively soon. The current implementation acts +** on this hint by avoiding the use of [lookaside memory] so as not to +** deplete the limited store of lookaside memory. Future versions of +** SQLite may act on this hint differently. +**
+*/ +#define SQLITE_PREPARE_PERSISTENT 0x01 + +/* +** CAPI3REF: Compiling An SQL Statement +** KEYWORDS: {SQL statement compiler} +** METHOD: sqlite3 +** CONSTRUCTOR: sqlite3_stmt +** +** To execute an SQL statement, it must first be compiled into a byte-code +** program using one of these routines. Or, in other words, these routines +** are constructors for the [prepared statement] object. +** +** The preferred routine to use is [sqlite3_prepare_v2()]. The +** [sqlite3_prepare()] interface is legacy and should be avoided. +** [sqlite3_prepare_v3()] has an extra "prepFlags" option that is used +** for special purposes. +** +** The use of the UTF-8 interfaces is preferred, as SQLite currently +** does all parsing using UTF-8. The UTF-16 interfaces are provided +** as a convenience. The UTF-16 interfaces work by converting the +** input text into UTF-8, then invoking the corresponding UTF-8 interface. +** +** The first argument, "db", is a [database connection] obtained from a +** prior successful call to [sqlite3_open()], [sqlite3_open_v2()] or +** [sqlite3_open16()]. The database connection must not have been closed. +** +** The second argument, "zSql", is the statement to be compiled, encoded +** as either UTF-8 or UTF-16. The sqlite3_prepare(), sqlite3_prepare_v2(), +** and sqlite3_prepare_v3() +** interfaces use UTF-8, and sqlite3_prepare16(), sqlite3_prepare16_v2(), +** and sqlite3_prepare16_v3() use UTF-16. +** +** ^If the nByte argument is negative, then zSql is read up to the +** first zero terminator. ^If nByte is positive, then it is the +** number of bytes read from zSql. ^If nByte is zero, then no prepared +** statement is generated. +** If the caller knows that the supplied string is nul-terminated, then +** there is a small performance advantage to passing an nByte parameter that +** is the number of bytes in the input string including +** the nul-terminator. +** +** ^If pzTail is not NULL then *pzTail is made to point to the first byte +** past the end of the first SQL statement in zSql. These routines only +** compile the first statement in zSql, so *pzTail is left pointing to +** what remains uncompiled. +** +** ^*ppStmt is left pointing to a compiled [prepared statement] that can be +** executed using [sqlite3_step()]. ^If there is an error, *ppStmt is set +** to NULL. ^If the input text contains no SQL (if the input is an empty +** string or a comment) then *ppStmt is set to NULL. +** The calling procedure is responsible for deleting the compiled +** SQL statement using [sqlite3_finalize()] after it has finished with it. +** ppStmt may not be NULL. +** +** ^On success, the sqlite3_prepare() family of routines return [SQLITE_OK]; +** otherwise an [error code] is returned. +** +** The sqlite3_prepare_v2(), sqlite3_prepare_v3(), sqlite3_prepare16_v2(), +** and sqlite3_prepare16_v3() interfaces are recommended for all new programs. +** The older interfaces (sqlite3_prepare() and sqlite3_prepare16()) +** are retained for backwards compatibility, but their use is discouraged. +** ^In the "vX" interfaces, the prepared statement +** that is returned (the [sqlite3_stmt] object) contains a copy of the +** original SQL text. This causes the [sqlite3_step()] interface to +** behave differently in three ways: +** +**
    +**
  1. +** ^If the database schema changes, instead of returning [SQLITE_SCHEMA] as it +** always used to do, [sqlite3_step()] will automatically recompile the SQL +** statement and try to run it again. As many as [SQLITE_MAX_SCHEMA_RETRY] +** retries will occur before sqlite3_step() gives up and returns an error. +**
  2. +** +**
  3. +** ^When an error occurs, [sqlite3_step()] will return one of the detailed +** [error codes] or [extended error codes]. ^The legacy behavior was that +** [sqlite3_step()] would only return a generic [SQLITE_ERROR] result code +** and the application would have to make a second call to [sqlite3_reset()] +** in order to find the underlying cause of the problem. With the "v2" prepare +** interfaces, the underlying reason for the error is returned immediately. +**
  4. +** +**
  5. +** ^If the specific value bound to [parameter | host parameter] in the +** WHERE clause might influence the choice of query plan for a statement, +** then the statement will be automatically recompiled, as if there had been +** a schema change, on the first [sqlite3_step()] call following any change +** to the [sqlite3_bind_text | bindings] of that [parameter]. +** ^The specific value of WHERE-clause [parameter] might influence the +** choice of query plan if the parameter is the left-hand side of a [LIKE] +** or [GLOB] operator or if the parameter is compared to an indexed column +** and the [SQLITE_ENABLE_STAT3] compile-time option is enabled. +**
  6. +**
+** +**

^sqlite3_prepare_v3() differs from sqlite3_prepare_v2() only in having +** the extra prepFlags parameter, which is a bit array consisting of zero or +** more of the [SQLITE_PREPARE_PERSISTENT|SQLITE_PREPARE_*] flags. ^The +** sqlite3_prepare_v2() interface works exactly the same as +** sqlite3_prepare_v3() with a zero prepFlags parameter. +*/ +SQLITE_API int sqlite3_prepare( + sqlite3 *db, /* Database handle */ + const char *zSql, /* SQL statement, UTF-8 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const char **pzTail /* OUT: Pointer to unused portion of zSql */ +); +SQLITE_API int sqlite3_prepare_v2( + sqlite3 *db, /* Database handle */ + const char *zSql, /* SQL statement, UTF-8 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const char **pzTail /* OUT: Pointer to unused portion of zSql */ +); +SQLITE_API int sqlite3_prepare_v3( + sqlite3 *db, /* Database handle */ + const char *zSql, /* SQL statement, UTF-8 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + unsigned int prepFlags, /* Zero or more SQLITE_PREPARE_ flags */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const char **pzTail /* OUT: Pointer to unused portion of zSql */ +); +SQLITE_API int sqlite3_prepare16( + sqlite3 *db, /* Database handle */ + const void *zSql, /* SQL statement, UTF-16 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const void **pzTail /* OUT: Pointer to unused portion of zSql */ +); +SQLITE_API int sqlite3_prepare16_v2( + sqlite3 *db, /* Database handle */ + const void *zSql, /* SQL statement, UTF-16 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const void **pzTail /* OUT: Pointer to unused portion of zSql */ +); +SQLITE_API int sqlite3_prepare16_v3( + sqlite3 *db, /* Database handle */ + const void *zSql, /* SQL statement, UTF-16 encoded */ + int nByte, /* Maximum length of zSql in bytes. */ + unsigned int prepFlags, /* Zero or more SQLITE_PREPARE_ flags */ + sqlite3_stmt **ppStmt, /* OUT: Statement handle */ + const void **pzTail /* OUT: Pointer to unused portion of zSql */ +); + +/* +** CAPI3REF: Retrieving Statement SQL +** METHOD: sqlite3_stmt +** +** ^The sqlite3_sql(P) interface returns a pointer to a copy of the UTF-8 +** SQL text used to create [prepared statement] P if P was +** created by [sqlite3_prepare_v2()], [sqlite3_prepare_v3()], +** [sqlite3_prepare16_v2()], or [sqlite3_prepare16_v3()]. +** ^The sqlite3_expanded_sql(P) interface returns a pointer to a UTF-8 +** string containing the SQL text of prepared statement P with +** [bound parameters] expanded. +** +** ^(For example, if a prepared statement is created using the SQL +** text "SELECT $abc,:xyz" and if parameter $abc is bound to integer 2345 +** and parameter :xyz is unbound, then sqlite3_sql() will return +** the original string, "SELECT $abc,:xyz" but sqlite3_expanded_sql() +** will return "SELECT 2345,NULL".)^ +** +** ^The sqlite3_expanded_sql() interface returns NULL if insufficient memory +** is available to hold the result, or if the result would exceed the +** the maximum string length determined by the [SQLITE_LIMIT_LENGTH]. +** +** ^The [SQLITE_TRACE_SIZE_LIMIT] compile-time option limits the size of +** bound parameter expansions. ^The [SQLITE_OMIT_TRACE] compile-time +** option causes sqlite3_expanded_sql() to always return NULL. +** +** ^The string returned by sqlite3_sql(P) is managed by SQLite and is +** automatically freed when the prepared statement is finalized. +** ^The string returned by sqlite3_expanded_sql(P), on the other hand, +** is obtained from [sqlite3_malloc()] and must be free by the application +** by passing it to [sqlite3_free()]. +*/ +SQLITE_API const char *sqlite3_sql(sqlite3_stmt *pStmt); +SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Determine If An SQL Statement Writes The Database +** METHOD: sqlite3_stmt +** +** ^The sqlite3_stmt_readonly(X) interface returns true (non-zero) if +** and only if the [prepared statement] X makes no direct changes to +** the content of the database file. +** +** Note that [application-defined SQL functions] or +** [virtual tables] might change the database indirectly as a side effect. +** ^(For example, if an application defines a function "eval()" that +** calls [sqlite3_exec()], then the following SQL statement would +** change the database file through side-effects: +** +**

+**    SELECT eval('DELETE FROM t1') FROM t2;
+** 
+** +** But because the [SELECT] statement does not change the database file +** directly, sqlite3_stmt_readonly() would still return true.)^ +** +** ^Transaction control statements such as [BEGIN], [COMMIT], [ROLLBACK], +** [SAVEPOINT], and [RELEASE] cause sqlite3_stmt_readonly() to return true, +** since the statements themselves do not actually modify the database but +** rather they control the timing of when other statements modify the +** database. ^The [ATTACH] and [DETACH] statements also cause +** sqlite3_stmt_readonly() to return true since, while those statements +** change the configuration of a database connection, they do not make +** changes to the content of the database files on disk. +** ^The sqlite3_stmt_readonly() interface returns true for [BEGIN] since +** [BEGIN] merely sets internal flags, but the [BEGIN|BEGIN IMMEDIATE] and +** [BEGIN|BEGIN EXCLUSIVE] commands do touch the database and so +** sqlite3_stmt_readonly() returns false for those commands. +*/ +SQLITE_API int sqlite3_stmt_readonly(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Determine If A Prepared Statement Has Been Reset +** METHOD: sqlite3_stmt +** +** ^The sqlite3_stmt_busy(S) interface returns true (non-zero) if the +** [prepared statement] S has been stepped at least once using +** [sqlite3_step(S)] but has neither run to completion (returned +** [SQLITE_DONE] from [sqlite3_step(S)]) nor +** been reset using [sqlite3_reset(S)]. ^The sqlite3_stmt_busy(S) +** interface returns false if S is a NULL pointer. If S is not a +** NULL pointer and is not a pointer to a valid [prepared statement] +** object, then the behavior is undefined and probably undesirable. +** +** This interface can be used in combination [sqlite3_next_stmt()] +** to locate all prepared statements associated with a database +** connection that are in need of being reset. This can be used, +** for example, in diagnostic routines to search for prepared +** statements that are holding a transaction open. +*/ +SQLITE_API int sqlite3_stmt_busy(sqlite3_stmt*); + +/* +** CAPI3REF: Dynamically Typed Value Object +** KEYWORDS: {protected sqlite3_value} {unprotected sqlite3_value} +** +** SQLite uses the sqlite3_value object to represent all values +** that can be stored in a database table. SQLite uses dynamic typing +** for the values it stores. ^Values stored in sqlite3_value objects +** can be integers, floating point values, strings, BLOBs, or NULL. +** +** An sqlite3_value object may be either "protected" or "unprotected". +** Some interfaces require a protected sqlite3_value. Other interfaces +** will accept either a protected or an unprotected sqlite3_value. +** Every interface that accepts sqlite3_value arguments specifies +** whether or not it requires a protected sqlite3_value. The +** [sqlite3_value_dup()] interface can be used to construct a new +** protected sqlite3_value from an unprotected sqlite3_value. +** +** The terms "protected" and "unprotected" refer to whether or not +** a mutex is held. An internal mutex is held for a protected +** sqlite3_value object but no mutex is held for an unprotected +** sqlite3_value object. If SQLite is compiled to be single-threaded +** (with [SQLITE_THREADSAFE=0] and with [sqlite3_threadsafe()] returning 0) +** or if SQLite is run in one of reduced mutex modes +** [SQLITE_CONFIG_SINGLETHREAD] or [SQLITE_CONFIG_MULTITHREAD] +** then there is no distinction between protected and unprotected +** sqlite3_value objects and they can be used interchangeably. However, +** for maximum code portability it is recommended that applications +** still make the distinction between protected and unprotected +** sqlite3_value objects even when not strictly required. +** +** ^The sqlite3_value objects that are passed as parameters into the +** implementation of [application-defined SQL functions] are protected. +** ^The sqlite3_value object returned by +** [sqlite3_column_value()] is unprotected. +** Unprotected sqlite3_value objects may only be used as arguments +** to [sqlite3_result_value()], [sqlite3_bind_value()], and +** [sqlite3_value_dup()]. +** The [sqlite3_value_blob | sqlite3_value_type()] family of +** interfaces require protected sqlite3_value objects. +*/ +typedef struct sqlite3_value sqlite3_value; + +/* +** CAPI3REF: SQL Function Context Object +** +** The context in which an SQL function executes is stored in an +** sqlite3_context object. ^A pointer to an sqlite3_context object +** is always first parameter to [application-defined SQL functions]. +** The application-defined SQL function implementation will pass this +** pointer through into calls to [sqlite3_result_int | sqlite3_result()], +** [sqlite3_aggregate_context()], [sqlite3_user_data()], +** [sqlite3_context_db_handle()], [sqlite3_get_auxdata()], +** and/or [sqlite3_set_auxdata()]. +*/ +typedef struct sqlite3_context sqlite3_context; + +/* +** CAPI3REF: Binding Values To Prepared Statements +** KEYWORDS: {host parameter} {host parameters} {host parameter name} +** KEYWORDS: {SQL parameter} {SQL parameters} {parameter binding} +** METHOD: sqlite3_stmt +** +** ^(In the SQL statement text input to [sqlite3_prepare_v2()] and its variants, +** literals may be replaced by a [parameter] that matches one of following +** templates: +** +**
    +**
  • ? +**
  • ?NNN +**
  • :VVV +**
  • @VVV +**
  • $VVV +**
+** +** In the templates above, NNN represents an integer literal, +** and VVV represents an alphanumeric identifier.)^ ^The values of these +** parameters (also called "host parameter names" or "SQL parameters") +** can be set using the sqlite3_bind_*() routines defined here. +** +** ^The first argument to the sqlite3_bind_*() routines is always +** a pointer to the [sqlite3_stmt] object returned from +** [sqlite3_prepare_v2()] or its variants. +** +** ^The second argument is the index of the SQL parameter to be set. +** ^The leftmost SQL parameter has an index of 1. ^When the same named +** SQL parameter is used more than once, second and subsequent +** occurrences have the same index as the first occurrence. +** ^The index for named parameters can be looked up using the +** [sqlite3_bind_parameter_index()] API if desired. ^The index +** for "?NNN" parameters is the value of NNN. +** ^The NNN value must be between 1 and the [sqlite3_limit()] +** parameter [SQLITE_LIMIT_VARIABLE_NUMBER] (default value: 999). +** +** ^The third argument is the value to bind to the parameter. +** ^If the third parameter to sqlite3_bind_text() or sqlite3_bind_text16() +** or sqlite3_bind_blob() is a NULL pointer then the fourth parameter +** is ignored and the end result is the same as sqlite3_bind_null(). +** +** ^(In those routines that have a fourth argument, its value is the +** number of bytes in the parameter. To be clear: the value is the +** number of bytes in the value, not the number of characters.)^ +** ^If the fourth parameter to sqlite3_bind_text() or sqlite3_bind_text16() +** is negative, then the length of the string is +** the number of bytes up to the first zero terminator. +** If the fourth parameter to sqlite3_bind_blob() is negative, then +** the behavior is undefined. +** If a non-negative fourth parameter is provided to sqlite3_bind_text() +** or sqlite3_bind_text16() or sqlite3_bind_text64() then +** that parameter must be the byte offset +** where the NUL terminator would occur assuming the string were NUL +** terminated. If any NUL characters occur at byte offsets less than +** the value of the fourth parameter then the resulting string value will +** contain embedded NULs. The result of expressions involving strings +** with embedded NULs is undefined. +** +** ^The fifth argument to the BLOB and string binding interfaces +** is a destructor used to dispose of the BLOB or +** string after SQLite has finished with it. ^The destructor is called +** to dispose of the BLOB or string even if the call to bind API fails. +** ^If the fifth argument is +** the special value [SQLITE_STATIC], then SQLite assumes that the +** information is in static, unmanaged space and does not need to be freed. +** ^If the fifth argument has the value [SQLITE_TRANSIENT], then +** SQLite makes its own private copy of the data immediately, before +** the sqlite3_bind_*() routine returns. +** +** ^The sixth argument to sqlite3_bind_text64() must be one of +** [SQLITE_UTF8], [SQLITE_UTF16], [SQLITE_UTF16BE], or [SQLITE_UTF16LE] +** to specify the encoding of the text in the third parameter. If +** the sixth argument to sqlite3_bind_text64() is not one of the +** allowed values shown above, or if the text encoding is different +** from the encoding specified by the sixth parameter, then the behavior +** is undefined. +** +** ^The sqlite3_bind_zeroblob() routine binds a BLOB of length N that +** is filled with zeroes. ^A zeroblob uses a fixed amount of memory +** (just an integer to hold its size) while it is being processed. +** Zeroblobs are intended to serve as placeholders for BLOBs whose +** content is later written using +** [sqlite3_blob_open | incremental BLOB I/O] routines. +** ^A negative value for the zeroblob results in a zero-length BLOB. +** +** ^The sqlite3_bind_pointer(S,I,P,T,D) routine causes the I-th parameter in +** [prepared statement] S to have an SQL value of NULL, but to also be +** associated with the pointer P of type T. ^D is either a NULL pointer or +** a pointer to a destructor function for P. ^SQLite will invoke the +** destructor D with a single argument of P when it is finished using +** P. The T parameter should be a static string, preferably a string +** literal. The sqlite3_bind_pointer() routine is part of the +** [pointer passing interface] added for SQLite 3.20.0. +** +** ^If any of the sqlite3_bind_*() routines are called with a NULL pointer +** for the [prepared statement] or with a prepared statement for which +** [sqlite3_step()] has been called more recently than [sqlite3_reset()], +** then the call will return [SQLITE_MISUSE]. If any sqlite3_bind_() +** routine is passed a [prepared statement] that has been finalized, the +** result is undefined and probably harmful. +** +** ^Bindings are not cleared by the [sqlite3_reset()] routine. +** ^Unbound parameters are interpreted as NULL. +** +** ^The sqlite3_bind_* routines return [SQLITE_OK] on success or an +** [error code] if anything goes wrong. +** ^[SQLITE_TOOBIG] might be returned if the size of a string or BLOB +** exceeds limits imposed by [sqlite3_limit]([SQLITE_LIMIT_LENGTH]) or +** [SQLITE_MAX_LENGTH]. +** ^[SQLITE_RANGE] is returned if the parameter +** index is out of range. ^[SQLITE_NOMEM] is returned if malloc() fails. +** +** See also: [sqlite3_bind_parameter_count()], +** [sqlite3_bind_parameter_name()], and [sqlite3_bind_parameter_index()]. +*/ +SQLITE_API int sqlite3_bind_blob(sqlite3_stmt*, int, const void*, int n, void(*)(void*)); +SQLITE_API int sqlite3_bind_blob64(sqlite3_stmt*, int, const void*, sqlite3_uint64, + void(*)(void*)); +SQLITE_API int sqlite3_bind_double(sqlite3_stmt*, int, double); +SQLITE_API int sqlite3_bind_int(sqlite3_stmt*, int, int); +SQLITE_API int sqlite3_bind_int64(sqlite3_stmt*, int, sqlite3_int64); +SQLITE_API int sqlite3_bind_null(sqlite3_stmt*, int); +SQLITE_API int sqlite3_bind_text(sqlite3_stmt*,int,const char*,int,void(*)(void*)); +SQLITE_API int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, void(*)(void*)); +SQLITE_API int sqlite3_bind_text64(sqlite3_stmt*, int, const char*, sqlite3_uint64, + void(*)(void*), unsigned char encoding); +SQLITE_API int sqlite3_bind_value(sqlite3_stmt*, int, const sqlite3_value*); +SQLITE_API int sqlite3_bind_pointer(sqlite3_stmt*, int, void*, const char*,void(*)(void*)); +SQLITE_API int sqlite3_bind_zeroblob(sqlite3_stmt*, int, int n); +SQLITE_API int sqlite3_bind_zeroblob64(sqlite3_stmt*, int, sqlite3_uint64); + +/* +** CAPI3REF: Number Of SQL Parameters +** METHOD: sqlite3_stmt +** +** ^This routine can be used to find the number of [SQL parameters] +** in a [prepared statement]. SQL parameters are tokens of the +** form "?", "?NNN", ":AAA", "$AAA", or "@AAA" that serve as +** placeholders for values that are [sqlite3_bind_blob | bound] +** to the parameters at a later time. +** +** ^(This routine actually returns the index of the largest (rightmost) +** parameter. For all forms except ?NNN, this will correspond to the +** number of unique parameters. If parameters of the ?NNN form are used, +** there may be gaps in the list.)^ +** +** See also: [sqlite3_bind_blob|sqlite3_bind()], +** [sqlite3_bind_parameter_name()], and +** [sqlite3_bind_parameter_index()]. +*/ +SQLITE_API int sqlite3_bind_parameter_count(sqlite3_stmt*); + +/* +** CAPI3REF: Name Of A Host Parameter +** METHOD: sqlite3_stmt +** +** ^The sqlite3_bind_parameter_name(P,N) interface returns +** the name of the N-th [SQL parameter] in the [prepared statement] P. +** ^(SQL parameters of the form "?NNN" or ":AAA" or "@AAA" or "$AAA" +** have a name which is the string "?NNN" or ":AAA" or "@AAA" or "$AAA" +** respectively. +** In other words, the initial ":" or "$" or "@" or "?" +** is included as part of the name.)^ +** ^Parameters of the form "?" without a following integer have no name +** and are referred to as "nameless" or "anonymous parameters". +** +** ^The first host parameter has an index of 1, not 0. +** +** ^If the value N is out of range or if the N-th parameter is +** nameless, then NULL is returned. ^The returned string is +** always in UTF-8 encoding even if the named parameter was +** originally specified as UTF-16 in [sqlite3_prepare16()], +** [sqlite3_prepare16_v2()], or [sqlite3_prepare16_v3()]. +** +** See also: [sqlite3_bind_blob|sqlite3_bind()], +** [sqlite3_bind_parameter_count()], and +** [sqlite3_bind_parameter_index()]. +*/ +SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int); + +/* +** CAPI3REF: Index Of A Parameter With A Given Name +** METHOD: sqlite3_stmt +** +** ^Return the index of an SQL parameter given its name. ^The +** index value returned is suitable for use as the second +** parameter to [sqlite3_bind_blob|sqlite3_bind()]. ^A zero +** is returned if no matching parameter is found. ^The parameter +** name must be given in UTF-8 even if the original statement +** was prepared from UTF-16 text using [sqlite3_prepare16_v2()] or +** [sqlite3_prepare16_v3()]. +** +** See also: [sqlite3_bind_blob|sqlite3_bind()], +** [sqlite3_bind_parameter_count()], and +** [sqlite3_bind_parameter_name()]. +*/ +SQLITE_API int sqlite3_bind_parameter_index(sqlite3_stmt*, const char *zName); + +/* +** CAPI3REF: Reset All Bindings On A Prepared Statement +** METHOD: sqlite3_stmt +** +** ^Contrary to the intuition of many, [sqlite3_reset()] does not reset +** the [sqlite3_bind_blob | bindings] on a [prepared statement]. +** ^Use this routine to reset all host parameters to NULL. +*/ +SQLITE_API int sqlite3_clear_bindings(sqlite3_stmt*); + +/* +** CAPI3REF: Number Of Columns In A Result Set +** METHOD: sqlite3_stmt +** +** ^Return the number of columns in the result set returned by the +** [prepared statement]. ^If this routine returns 0, that means the +** [prepared statement] returns no data (for example an [UPDATE]). +** ^However, just because this routine returns a positive number does not +** mean that one or more rows of data will be returned. ^A SELECT statement +** will always have a positive sqlite3_column_count() but depending on the +** WHERE clause constraints and the table content, it might return no rows. +** +** See also: [sqlite3_data_count()] +*/ +SQLITE_API int sqlite3_column_count(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Column Names In A Result Set +** METHOD: sqlite3_stmt +** +** ^These routines return the name assigned to a particular column +** in the result set of a [SELECT] statement. ^The sqlite3_column_name() +** interface returns a pointer to a zero-terminated UTF-8 string +** and sqlite3_column_name16() returns a pointer to a zero-terminated +** UTF-16 string. ^The first parameter is the [prepared statement] +** that implements the [SELECT] statement. ^The second parameter is the +** column number. ^The leftmost column is number 0. +** +** ^The returned string pointer is valid until either the [prepared statement] +** is destroyed by [sqlite3_finalize()] or until the statement is automatically +** reprepared by the first call to [sqlite3_step()] for a particular run +** or until the next call to +** sqlite3_column_name() or sqlite3_column_name16() on the same column. +** +** ^If sqlite3_malloc() fails during the processing of either routine +** (for example during a conversion from UTF-8 to UTF-16) then a +** NULL pointer is returned. +** +** ^The name of a result column is the value of the "AS" clause for +** that column, if there is an AS clause. If there is no AS clause +** then the name of the column is unspecified and may change from +** one release of SQLite to the next. +*/ +SQLITE_API const char *sqlite3_column_name(sqlite3_stmt*, int N); +SQLITE_API const void *sqlite3_column_name16(sqlite3_stmt*, int N); + +/* +** CAPI3REF: Source Of Data In A Query Result +** METHOD: sqlite3_stmt +** +** ^These routines provide a means to determine the database, table, and +** table column that is the origin of a particular result column in +** [SELECT] statement. +** ^The name of the database or table or column can be returned as +** either a UTF-8 or UTF-16 string. ^The _database_ routines return +** the database name, the _table_ routines return the table name, and +** the origin_ routines return the column name. +** ^The returned string is valid until the [prepared statement] is destroyed +** using [sqlite3_finalize()] or until the statement is automatically +** reprepared by the first call to [sqlite3_step()] for a particular run +** or until the same information is requested +** again in a different encoding. +** +** ^The names returned are the original un-aliased names of the +** database, table, and column. +** +** ^The first argument to these interfaces is a [prepared statement]. +** ^These functions return information about the Nth result column returned by +** the statement, where N is the second function argument. +** ^The left-most column is column 0 for these routines. +** +** ^If the Nth column returned by the statement is an expression or +** subquery and is not a column value, then all of these functions return +** NULL. ^These routine might also return NULL if a memory allocation error +** occurs. ^Otherwise, they return the name of the attached database, table, +** or column that query result column was extracted from. +** +** ^As with all other SQLite APIs, those whose names end with "16" return +** UTF-16 encoded strings and the other functions return UTF-8. +** +** ^These APIs are only available if the library was compiled with the +** [SQLITE_ENABLE_COLUMN_METADATA] C-preprocessor symbol. +** +** If two or more threads call one or more of these routines against the same +** prepared statement and column at the same time then the results are +** undefined. +** +** If two or more threads call one or more +** [sqlite3_column_database_name | column metadata interfaces] +** for the same [prepared statement] and result column +** at the same time then the results are undefined. +*/ +SQLITE_API const char *sqlite3_column_database_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_database_name16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_table_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_table_name16(sqlite3_stmt*,int); +SQLITE_API const char *sqlite3_column_origin_name(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_origin_name16(sqlite3_stmt*,int); + +/* +** CAPI3REF: Declared Datatype Of A Query Result +** METHOD: sqlite3_stmt +** +** ^(The first parameter is a [prepared statement]. +** If this statement is a [SELECT] statement and the Nth column of the +** returned result set of that [SELECT] is a table column (not an +** expression or subquery) then the declared type of the table +** column is returned.)^ ^If the Nth column of the result set is an +** expression or subquery, then a NULL pointer is returned. +** ^The returned string is always UTF-8 encoded. +** +** ^(For example, given the database schema: +** +** CREATE TABLE t1(c1 VARIANT); +** +** and the following statement to be compiled: +** +** SELECT c1 + 1, c1 FROM t1; +** +** this routine would return the string "VARIANT" for the second result +** column (i==1), and a NULL pointer for the first result column (i==0).)^ +** +** ^SQLite uses dynamic run-time typing. ^So just because a column +** is declared to contain a particular type does not mean that the +** data stored in that column is of the declared type. SQLite is +** strongly typed, but the typing is dynamic not static. ^Type +** is associated with individual values, not with the containers +** used to hold those values. +*/ +SQLITE_API const char *sqlite3_column_decltype(sqlite3_stmt*,int); +SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int); + +/* +** CAPI3REF: Evaluate An SQL Statement +** METHOD: sqlite3_stmt +** +** After a [prepared statement] has been prepared using any of +** [sqlite3_prepare_v2()], [sqlite3_prepare_v3()], [sqlite3_prepare16_v2()], +** or [sqlite3_prepare16_v3()] or one of the legacy +** interfaces [sqlite3_prepare()] or [sqlite3_prepare16()], this function +** must be called one or more times to evaluate the statement. +** +** The details of the behavior of the sqlite3_step() interface depend +** on whether the statement was prepared using the newer "vX" interfaces +** [sqlite3_prepare_v3()], [sqlite3_prepare_v2()], [sqlite3_prepare16_v3()], +** [sqlite3_prepare16_v2()] or the older legacy +** interfaces [sqlite3_prepare()] and [sqlite3_prepare16()]. The use of the +** new "vX" interface is recommended for new applications but the legacy +** interface will continue to be supported. +** +** ^In the legacy interface, the return value will be either [SQLITE_BUSY], +** [SQLITE_DONE], [SQLITE_ROW], [SQLITE_ERROR], or [SQLITE_MISUSE]. +** ^With the "v2" interface, any of the other [result codes] or +** [extended result codes] might be returned as well. +** +** ^[SQLITE_BUSY] means that the database engine was unable to acquire the +** database locks it needs to do its job. ^If the statement is a [COMMIT] +** or occurs outside of an explicit transaction, then you can retry the +** statement. If the statement is not a [COMMIT] and occurs within an +** explicit transaction then you should rollback the transaction before +** continuing. +** +** ^[SQLITE_DONE] means that the statement has finished executing +** successfully. sqlite3_step() should not be called again on this virtual +** machine without first calling [sqlite3_reset()] to reset the virtual +** machine back to its initial state. +** +** ^If the SQL statement being executed returns any data, then [SQLITE_ROW] +** is returned each time a new row of data is ready for processing by the +** caller. The values may be accessed using the [column access functions]. +** sqlite3_step() is called again to retrieve the next row of data. +** +** ^[SQLITE_ERROR] means that a run-time error (such as a constraint +** violation) has occurred. sqlite3_step() should not be called again on +** the VM. More information may be found by calling [sqlite3_errmsg()]. +** ^With the legacy interface, a more specific error code (for example, +** [SQLITE_INTERRUPT], [SQLITE_SCHEMA], [SQLITE_CORRUPT], and so forth) +** can be obtained by calling [sqlite3_reset()] on the +** [prepared statement]. ^In the "v2" interface, +** the more specific error code is returned directly by sqlite3_step(). +** +** [SQLITE_MISUSE] means that the this routine was called inappropriately. +** Perhaps it was called on a [prepared statement] that has +** already been [sqlite3_finalize | finalized] or on one that had +** previously returned [SQLITE_ERROR] or [SQLITE_DONE]. Or it could +** be the case that the same database connection is being used by two or +** more threads at the same moment in time. +** +** For all versions of SQLite up to and including 3.6.23.1, a call to +** [sqlite3_reset()] was required after sqlite3_step() returned anything +** other than [SQLITE_ROW] before any subsequent invocation of +** sqlite3_step(). Failure to reset the prepared statement using +** [sqlite3_reset()] would result in an [SQLITE_MISUSE] return from +** sqlite3_step(). But after [version 3.6.23.1] ([dateof:3.6.23.1], +** sqlite3_step() began +** calling [sqlite3_reset()] automatically in this circumstance rather +** than returning [SQLITE_MISUSE]. This is not considered a compatibility +** break because any application that ever receives an SQLITE_MISUSE error +** is broken by definition. The [SQLITE_OMIT_AUTORESET] compile-time option +** can be used to restore the legacy behavior. +** +** Goofy Interface Alert: In the legacy interface, the sqlite3_step() +** API always returns a generic error code, [SQLITE_ERROR], following any +** error other than [SQLITE_BUSY] and [SQLITE_MISUSE]. You must call +** [sqlite3_reset()] or [sqlite3_finalize()] in order to find one of the +** specific [error codes] that better describes the error. +** We admit that this is a goofy design. The problem has been fixed +** with the "v2" interface. If you prepare all of your SQL statements +** using [sqlite3_prepare_v3()] or [sqlite3_prepare_v2()] +** or [sqlite3_prepare16_v2()] or [sqlite3_prepare16_v3()] instead +** of the legacy [sqlite3_prepare()] and [sqlite3_prepare16()] interfaces, +** then the more specific [error codes] are returned directly +** by sqlite3_step(). The use of the "vX" interfaces is recommended. +*/ +SQLITE_API int sqlite3_step(sqlite3_stmt*); + +/* +** CAPI3REF: Number of columns in a result set +** METHOD: sqlite3_stmt +** +** ^The sqlite3_data_count(P) interface returns the number of columns in the +** current row of the result set of [prepared statement] P. +** ^If prepared statement P does not have results ready to return +** (via calls to the [sqlite3_column_int | sqlite3_column_*()] of +** interfaces) then sqlite3_data_count(P) returns 0. +** ^The sqlite3_data_count(P) routine also returns 0 if P is a NULL pointer. +** ^The sqlite3_data_count(P) routine returns 0 if the previous call to +** [sqlite3_step](P) returned [SQLITE_DONE]. ^The sqlite3_data_count(P) +** will return non-zero if previous call to [sqlite3_step](P) returned +** [SQLITE_ROW], except in the case of the [PRAGMA incremental_vacuum] +** where it always returns zero since each step of that multi-step +** pragma returns 0 columns of data. +** +** See also: [sqlite3_column_count()] +*/ +SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Fundamental Datatypes +** KEYWORDS: SQLITE_TEXT +** +** ^(Every value in SQLite has one of five fundamental datatypes: +** +**
    +**
  • 64-bit signed integer +**
  • 64-bit IEEE floating point number +**
  • string +**
  • BLOB +**
  • NULL +**
)^ +** +** These constants are codes for each of those types. +** +** Note that the SQLITE_TEXT constant was also used in SQLite version 2 +** for a completely different meaning. Software that links against both +** SQLite version 2 and SQLite version 3 should use SQLITE3_TEXT, not +** SQLITE_TEXT. +*/ +#define SQLITE_INTEGER 1 +#define SQLITE_FLOAT 2 +#define SQLITE_BLOB 4 +#define SQLITE_NULL 5 +#ifdef SQLITE_TEXT +# undef SQLITE_TEXT +#else +# define SQLITE_TEXT 3 +#endif +#define SQLITE3_TEXT 3 + +/* +** CAPI3REF: Result Values From A Query +** KEYWORDS: {column access functions} +** METHOD: sqlite3_stmt +** +** Summary: +**
+**
sqlite3_column_blobBLOB result +**
sqlite3_column_doubleREAL result +**
sqlite3_column_int32-bit INTEGER result +**
sqlite3_column_int6464-bit INTEGER result +**
sqlite3_column_textUTF-8 TEXT result +**
sqlite3_column_text16UTF-16 TEXT result +**
sqlite3_column_valueThe result as an +** [sqlite3_value|unprotected sqlite3_value] object. +**
    +**
sqlite3_column_bytesSize of a BLOB +** or a UTF-8 TEXT result in bytes +**
sqlite3_column_bytes16   +** →  Size of UTF-16 +** TEXT in bytes +**
sqlite3_column_typeDefault +** datatype of the result +**
+** +** Details: +** +** ^These routines return information about a single column of the current +** result row of a query. ^In every case the first argument is a pointer +** to the [prepared statement] that is being evaluated (the [sqlite3_stmt*] +** that was returned from [sqlite3_prepare_v2()] or one of its variants) +** and the second argument is the index of the column for which information +** should be returned. ^The leftmost column of the result set has the index 0. +** ^The number of columns in the result can be determined using +** [sqlite3_column_count()]. +** +** If the SQL statement does not currently point to a valid row, or if the +** column index is out of range, the result is undefined. +** These routines may only be called when the most recent call to +** [sqlite3_step()] has returned [SQLITE_ROW] and neither +** [sqlite3_reset()] nor [sqlite3_finalize()] have been called subsequently. +** If any of these routines are called after [sqlite3_reset()] or +** [sqlite3_finalize()] or after [sqlite3_step()] has returned +** something other than [SQLITE_ROW], the results are undefined. +** If [sqlite3_step()] or [sqlite3_reset()] or [sqlite3_finalize()] +** are called from a different thread while any of these routines +** are pending, then the results are undefined. +** +** The first six interfaces (_blob, _double, _int, _int64, _text, and _text16) +** each return the value of a result column in a specific data format. If +** the result column is not initially in the requested format (for example, +** if the query returns an integer but the sqlite3_column_text() interface +** is used to extract the value) then an automatic type conversion is performed. +** +** ^The sqlite3_column_type() routine returns the +** [SQLITE_INTEGER | datatype code] for the initial data type +** of the result column. ^The returned value is one of [SQLITE_INTEGER], +** [SQLITE_FLOAT], [SQLITE_TEXT], [SQLITE_BLOB], or [SQLITE_NULL]. +** The return value of sqlite3_column_type() can be used to decide which +** of the first six interface should be used to extract the column value. +** The value returned by sqlite3_column_type() is only meaningful if no +** automatic type conversions have occurred for the value in question. +** After a type conversion, the result of calling sqlite3_column_type() +** is undefined, though harmless. Future +** versions of SQLite may change the behavior of sqlite3_column_type() +** following a type conversion. +** +** If the result is a BLOB or a TEXT string, then the sqlite3_column_bytes() +** or sqlite3_column_bytes16() interfaces can be used to determine the size +** of that BLOB or string. +** +** ^If the result is a BLOB or UTF-8 string then the sqlite3_column_bytes() +** routine returns the number of bytes in that BLOB or string. +** ^If the result is a UTF-16 string, then sqlite3_column_bytes() converts +** the string to UTF-8 and then returns the number of bytes. +** ^If the result is a numeric value then sqlite3_column_bytes() uses +** [sqlite3_snprintf()] to convert that value to a UTF-8 string and returns +** the number of bytes in that string. +** ^If the result is NULL, then sqlite3_column_bytes() returns zero. +** +** ^If the result is a BLOB or UTF-16 string then the sqlite3_column_bytes16() +** routine returns the number of bytes in that BLOB or string. +** ^If the result is a UTF-8 string, then sqlite3_column_bytes16() converts +** the string to UTF-16 and then returns the number of bytes. +** ^If the result is a numeric value then sqlite3_column_bytes16() uses +** [sqlite3_snprintf()] to convert that value to a UTF-16 string and returns +** the number of bytes in that string. +** ^If the result is NULL, then sqlite3_column_bytes16() returns zero. +** +** ^The values returned by [sqlite3_column_bytes()] and +** [sqlite3_column_bytes16()] do not include the zero terminators at the end +** of the string. ^For clarity: the values returned by +** [sqlite3_column_bytes()] and [sqlite3_column_bytes16()] are the number of +** bytes in the string, not the number of characters. +** +** ^Strings returned by sqlite3_column_text() and sqlite3_column_text16(), +** even empty strings, are always zero-terminated. ^The return +** value from sqlite3_column_blob() for a zero-length BLOB is a NULL pointer. +** +** Warning: ^The object returned by [sqlite3_column_value()] is an +** [unprotected sqlite3_value] object. In a multithreaded environment, +** an unprotected sqlite3_value object may only be used safely with +** [sqlite3_bind_value()] and [sqlite3_result_value()]. +** If the [unprotected sqlite3_value] object returned by +** [sqlite3_column_value()] is used in any other way, including calls +** to routines like [sqlite3_value_int()], [sqlite3_value_text()], +** or [sqlite3_value_bytes()], the behavior is not threadsafe. +** Hence, the sqlite3_column_value() interface +** is normally only useful within the implementation of +** [application-defined SQL functions] or [virtual tables], not within +** top-level application code. +** +** The these routines may attempt to convert the datatype of the result. +** ^For example, if the internal representation is FLOAT and a text result +** is requested, [sqlite3_snprintf()] is used internally to perform the +** conversion automatically. ^(The following table details the conversions +** that are applied: +** +**
+** +**
Internal
Type
Requested
Type
Conversion +** +**
NULL INTEGER Result is 0 +**
NULL FLOAT Result is 0.0 +**
NULL TEXT Result is a NULL pointer +**
NULL BLOB Result is a NULL pointer +**
INTEGER FLOAT Convert from integer to float +**
INTEGER TEXT ASCII rendering of the integer +**
INTEGER BLOB Same as INTEGER->TEXT +**
FLOAT INTEGER [CAST] to INTEGER +**
FLOAT TEXT ASCII rendering of the float +**
FLOAT BLOB [CAST] to BLOB +**
TEXT INTEGER [CAST] to INTEGER +**
TEXT FLOAT [CAST] to REAL +**
TEXT BLOB No change +**
BLOB INTEGER [CAST] to INTEGER +**
BLOB FLOAT [CAST] to REAL +**
BLOB TEXT Add a zero terminator if needed +**
+**
)^ +** +** Note that when type conversions occur, pointers returned by prior +** calls to sqlite3_column_blob(), sqlite3_column_text(), and/or +** sqlite3_column_text16() may be invalidated. +** Type conversions and pointer invalidations might occur +** in the following cases: +** +**
    +**
  • The initial content is a BLOB and sqlite3_column_text() or +** sqlite3_column_text16() is called. A zero-terminator might +** need to be added to the string.
  • +**
  • The initial content is UTF-8 text and sqlite3_column_bytes16() or +** sqlite3_column_text16() is called. The content must be converted +** to UTF-16.
  • +**
  • The initial content is UTF-16 text and sqlite3_column_bytes() or +** sqlite3_column_text() is called. The content must be converted +** to UTF-8.
  • +**
+** +** ^Conversions between UTF-16be and UTF-16le are always done in place and do +** not invalidate a prior pointer, though of course the content of the buffer +** that the prior pointer references will have been modified. Other kinds +** of conversion are done in place when it is possible, but sometimes they +** are not possible and in those cases prior pointers are invalidated. +** +** The safest policy is to invoke these routines +** in one of the following ways: +** +**
    +**
  • sqlite3_column_text() followed by sqlite3_column_bytes()
  • +**
  • sqlite3_column_blob() followed by sqlite3_column_bytes()
  • +**
  • sqlite3_column_text16() followed by sqlite3_column_bytes16()
  • +**
+** +** In other words, you should call sqlite3_column_text(), +** sqlite3_column_blob(), or sqlite3_column_text16() first to force the result +** into the desired format, then invoke sqlite3_column_bytes() or +** sqlite3_column_bytes16() to find the size of the result. Do not mix calls +** to sqlite3_column_text() or sqlite3_column_blob() with calls to +** sqlite3_column_bytes16(), and do not mix calls to sqlite3_column_text16() +** with calls to sqlite3_column_bytes(). +** +** ^The pointers returned are valid until a type conversion occurs as +** described above, or until [sqlite3_step()] or [sqlite3_reset()] or +** [sqlite3_finalize()] is called. ^The memory space used to hold strings +** and BLOBs is freed automatically. Do not pass the pointers returned +** from [sqlite3_column_blob()], [sqlite3_column_text()], etc. into +** [sqlite3_free()]. +** +** ^(If a memory allocation error occurs during the evaluation of any +** of these routines, a default value is returned. The default value +** is either the integer 0, the floating point number 0.0, or a NULL +** pointer. Subsequent calls to [sqlite3_errcode()] will return +** [SQLITE_NOMEM].)^ +*/ +SQLITE_API const void *sqlite3_column_blob(sqlite3_stmt*, int iCol); +SQLITE_API double sqlite3_column_double(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_int(sqlite3_stmt*, int iCol); +SQLITE_API sqlite3_int64 sqlite3_column_int64(sqlite3_stmt*, int iCol); +SQLITE_API const unsigned char *sqlite3_column_text(sqlite3_stmt*, int iCol); +SQLITE_API const void *sqlite3_column_text16(sqlite3_stmt*, int iCol); +SQLITE_API sqlite3_value *sqlite3_column_value(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_bytes(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_bytes16(sqlite3_stmt*, int iCol); +SQLITE_API int sqlite3_column_type(sqlite3_stmt*, int iCol); + +/* +** CAPI3REF: Destroy A Prepared Statement Object +** DESTRUCTOR: sqlite3_stmt +** +** ^The sqlite3_finalize() function is called to delete a [prepared statement]. +** ^If the most recent evaluation of the statement encountered no errors +** or if the statement is never been evaluated, then sqlite3_finalize() returns +** SQLITE_OK. ^If the most recent evaluation of statement S failed, then +** sqlite3_finalize(S) returns the appropriate [error code] or +** [extended error code]. +** +** ^The sqlite3_finalize(S) routine can be called at any point during +** the life cycle of [prepared statement] S: +** before statement S is ever evaluated, after +** one or more calls to [sqlite3_reset()], or after any call +** to [sqlite3_step()] regardless of whether or not the statement has +** completed execution. +** +** ^Invoking sqlite3_finalize() on a NULL pointer is a harmless no-op. +** +** The application must finalize every [prepared statement] in order to avoid +** resource leaks. It is a grievous error for the application to try to use +** a prepared statement after it has been finalized. Any use of a prepared +** statement after it has been finalized can result in undefined and +** undesirable behavior such as segfaults and heap corruption. +*/ +SQLITE_API int sqlite3_finalize(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Reset A Prepared Statement Object +** METHOD: sqlite3_stmt +** +** The sqlite3_reset() function is called to reset a [prepared statement] +** object back to its initial state, ready to be re-executed. +** ^Any SQL statement variables that had values bound to them using +** the [sqlite3_bind_blob | sqlite3_bind_*() API] retain their values. +** Use [sqlite3_clear_bindings()] to reset the bindings. +** +** ^The [sqlite3_reset(S)] interface resets the [prepared statement] S +** back to the beginning of its program. +** +** ^If the most recent call to [sqlite3_step(S)] for the +** [prepared statement] S returned [SQLITE_ROW] or [SQLITE_DONE], +** or if [sqlite3_step(S)] has never before been called on S, +** then [sqlite3_reset(S)] returns [SQLITE_OK]. +** +** ^If the most recent call to [sqlite3_step(S)] for the +** [prepared statement] S indicated an error, then +** [sqlite3_reset(S)] returns an appropriate [error code]. +** +** ^The [sqlite3_reset(S)] interface does not change the values +** of any [sqlite3_bind_blob|bindings] on the [prepared statement] S. +*/ +SQLITE_API int sqlite3_reset(sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Create Or Redefine SQL Functions +** KEYWORDS: {function creation routines} +** KEYWORDS: {application-defined SQL function} +** KEYWORDS: {application-defined SQL functions} +** METHOD: sqlite3 +** +** ^These functions (collectively known as "function creation routines") +** are used to add SQL functions or aggregates or to redefine the behavior +** of existing SQL functions or aggregates. The only differences between +** these routines are the text encoding expected for +** the second parameter (the name of the function being created) +** and the presence or absence of a destructor callback for +** the application data pointer. +** +** ^The first parameter is the [database connection] to which the SQL +** function is to be added. ^If an application uses more than one database +** connection then application-defined SQL functions must be added +** to each database connection separately. +** +** ^The second parameter is the name of the SQL function to be created or +** redefined. ^The length of the name is limited to 255 bytes in a UTF-8 +** representation, exclusive of the zero-terminator. ^Note that the name +** length limit is in UTF-8 bytes, not characters nor UTF-16 bytes. +** ^Any attempt to create a function with a longer name +** will result in [SQLITE_MISUSE] being returned. +** +** ^The third parameter (nArg) +** is the number of arguments that the SQL function or +** aggregate takes. ^If this parameter is -1, then the SQL function or +** aggregate may take any number of arguments between 0 and the limit +** set by [sqlite3_limit]([SQLITE_LIMIT_FUNCTION_ARG]). If the third +** parameter is less than -1 or greater than 127 then the behavior is +** undefined. +** +** ^The fourth parameter, eTextRep, specifies what +** [SQLITE_UTF8 | text encoding] this SQL function prefers for +** its parameters. The application should set this parameter to +** [SQLITE_UTF16LE] if the function implementation invokes +** [sqlite3_value_text16le()] on an input, or [SQLITE_UTF16BE] if the +** implementation invokes [sqlite3_value_text16be()] on an input, or +** [SQLITE_UTF16] if [sqlite3_value_text16()] is used, or [SQLITE_UTF8] +** otherwise. ^The same SQL function may be registered multiple times using +** different preferred text encodings, with different implementations for +** each encoding. +** ^When multiple implementations of the same function are available, SQLite +** will pick the one that involves the least amount of data conversion. +** +** ^The fourth parameter may optionally be ORed with [SQLITE_DETERMINISTIC] +** to signal that the function will always return the same result given +** the same inputs within a single SQL statement. Most SQL functions are +** deterministic. The built-in [random()] SQL function is an example of a +** function that is not deterministic. The SQLite query planner is able to +** perform additional optimizations on deterministic functions, so use +** of the [SQLITE_DETERMINISTIC] flag is recommended where possible. +** +** ^(The fifth parameter is an arbitrary pointer. The implementation of the +** function can gain access to this pointer using [sqlite3_user_data()].)^ +** +** ^The sixth, seventh and eighth parameters, xFunc, xStep and xFinal, are +** pointers to C-language functions that implement the SQL function or +** aggregate. ^A scalar SQL function requires an implementation of the xFunc +** callback only; NULL pointers must be passed as the xStep and xFinal +** parameters. ^An aggregate SQL function requires an implementation of xStep +** and xFinal and NULL pointer must be passed for xFunc. ^To delete an existing +** SQL function or aggregate, pass NULL pointers for all three function +** callbacks. +** +** ^(If the ninth parameter to sqlite3_create_function_v2() is not NULL, +** then it is destructor for the application data pointer. +** The destructor is invoked when the function is deleted, either by being +** overloaded or when the database connection closes.)^ +** ^The destructor is also invoked if the call to +** sqlite3_create_function_v2() fails. +** ^When the destructor callback of the tenth parameter is invoked, it +** is passed a single argument which is a copy of the application data +** pointer which was the fifth parameter to sqlite3_create_function_v2(). +** +** ^It is permitted to register multiple implementations of the same +** functions with the same name but with either differing numbers of +** arguments or differing preferred text encodings. ^SQLite will use +** the implementation that most closely matches the way in which the +** SQL function is used. ^A function implementation with a non-negative +** nArg parameter is a better match than a function implementation with +** a negative nArg. ^A function where the preferred text encoding +** matches the database encoding is a better +** match than a function where the encoding is different. +** ^A function where the encoding difference is between UTF16le and UTF16be +** is a closer match than a function where the encoding difference is +** between UTF8 and UTF16. +** +** ^Built-in functions may be overloaded by new application-defined functions. +** +** ^An application-defined function is permitted to call other +** SQLite interfaces. However, such calls must not +** close the database connection nor finalize or reset the prepared +** statement in which the function is running. +*/ +SQLITE_API int sqlite3_create_function( + sqlite3 *db, + const char *zFunctionName, + int nArg, + int eTextRep, + void *pApp, + void (*xFunc)(sqlite3_context*,int,sqlite3_value**), + void (*xStep)(sqlite3_context*,int,sqlite3_value**), + void (*xFinal)(sqlite3_context*) +); +SQLITE_API int sqlite3_create_function16( + sqlite3 *db, + const void *zFunctionName, + int nArg, + int eTextRep, + void *pApp, + void (*xFunc)(sqlite3_context*,int,sqlite3_value**), + void (*xStep)(sqlite3_context*,int,sqlite3_value**), + void (*xFinal)(sqlite3_context*) +); +SQLITE_API int sqlite3_create_function_v2( + sqlite3 *db, + const char *zFunctionName, + int nArg, + int eTextRep, + void *pApp, + void (*xFunc)(sqlite3_context*,int,sqlite3_value**), + void (*xStep)(sqlite3_context*,int,sqlite3_value**), + void (*xFinal)(sqlite3_context*), + void(*xDestroy)(void*) +); + +/* +** CAPI3REF: Text Encodings +** +** These constant define integer codes that represent the various +** text encodings supported by SQLite. +*/ +#define SQLITE_UTF8 1 /* IMP: R-37514-35566 */ +#define SQLITE_UTF16LE 2 /* IMP: R-03371-37637 */ +#define SQLITE_UTF16BE 3 /* IMP: R-51971-34154 */ +#define SQLITE_UTF16 4 /* Use native byte order */ +#define SQLITE_ANY 5 /* Deprecated */ +#define SQLITE_UTF16_ALIGNED 8 /* sqlite3_create_collation only */ + +/* +** CAPI3REF: Function Flags +** +** These constants may be ORed together with the +** [SQLITE_UTF8 | preferred text encoding] as the fourth argument +** to [sqlite3_create_function()], [sqlite3_create_function16()], or +** [sqlite3_create_function_v2()]. +*/ +#define SQLITE_DETERMINISTIC 0x800 + +/* +** CAPI3REF: Deprecated Functions +** DEPRECATED +** +** These functions are [deprecated]. In order to maintain +** backwards compatibility with older code, these functions continue +** to be supported. However, new applications should avoid +** the use of these functions. To encourage programmers to avoid +** these functions, we will not explain what they do. +*/ +#ifndef SQLITE_OMIT_DEPRECATED +SQLITE_API SQLITE_DEPRECATED int sqlite3_aggregate_count(sqlite3_context*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_expired(sqlite3_stmt*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_transfer_bindings(sqlite3_stmt*, sqlite3_stmt*); +SQLITE_API SQLITE_DEPRECATED int sqlite3_global_recover(void); +SQLITE_API SQLITE_DEPRECATED void sqlite3_thread_cleanup(void); +SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int64,int), + void*,sqlite3_int64); +#endif + +/* +** CAPI3REF: Obtaining SQL Values +** METHOD: sqlite3_value +** +** Summary: +**
+**
sqlite3_value_blobBLOB value +**
sqlite3_value_doubleREAL value +**
sqlite3_value_int32-bit INTEGER value +**
sqlite3_value_int6464-bit INTEGER value +**
sqlite3_value_pointerPointer value +**
sqlite3_value_textUTF-8 TEXT value +**
sqlite3_value_text16UTF-16 TEXT value in +** the native byteorder +**
sqlite3_value_text16beUTF-16be TEXT value +**
sqlite3_value_text16leUTF-16le TEXT value +**
    +**
sqlite3_value_bytesSize of a BLOB +** or a UTF-8 TEXT in bytes +**
sqlite3_value_bytes16   +** →  Size of UTF-16 +** TEXT in bytes +**
sqlite3_value_typeDefault +** datatype of the value +**
sqlite3_value_numeric_type   +** →  Best numeric datatype of the value +**
sqlite3_value_nochange   +** →  True if the column is unchanged in an UPDATE +** against a virtual table. +**
+** +** Details: +** +** These routines extract type, size, and content information from +** [protected sqlite3_value] objects. Protected sqlite3_value objects +** are used to pass parameter information into implementation of +** [application-defined SQL functions] and [virtual tables]. +** +** These routines work only with [protected sqlite3_value] objects. +** Any attempt to use these routines on an [unprotected sqlite3_value] +** is not threadsafe. +** +** ^These routines work just like the corresponding [column access functions] +** except that these routines take a single [protected sqlite3_value] object +** pointer instead of a [sqlite3_stmt*] pointer and an integer column number. +** +** ^The sqlite3_value_text16() interface extracts a UTF-16 string +** in the native byte-order of the host machine. ^The +** sqlite3_value_text16be() and sqlite3_value_text16le() interfaces +** extract UTF-16 strings as big-endian and little-endian respectively. +** +** ^If [sqlite3_value] object V was initialized +** using [sqlite3_bind_pointer(S,I,P,X,D)] or [sqlite3_result_pointer(C,P,X,D)] +** and if X and Y are strings that compare equal according to strcmp(X,Y), +** then sqlite3_value_pointer(V,Y) will return the pointer P. ^Otherwise, +** sqlite3_value_pointer(V,Y) returns a NULL. The sqlite3_bind_pointer() +** routine is part of the [pointer passing interface] added for SQLite 3.20.0. +** +** ^(The sqlite3_value_type(V) interface returns the +** [SQLITE_INTEGER | datatype code] for the initial datatype of the +** [sqlite3_value] object V. The returned value is one of [SQLITE_INTEGER], +** [SQLITE_FLOAT], [SQLITE_TEXT], [SQLITE_BLOB], or [SQLITE_NULL].)^ +** Other interfaces might change the datatype for an sqlite3_value object. +** For example, if the datatype is initially SQLITE_INTEGER and +** sqlite3_value_text(V) is called to extract a text value for that +** integer, then subsequent calls to sqlite3_value_type(V) might return +** SQLITE_TEXT. Whether or not a persistent internal datatype conversion +** occurs is undefined and may change from one release of SQLite to the next. +** +** ^(The sqlite3_value_numeric_type() interface attempts to apply +** numeric affinity to the value. This means that an attempt is +** made to convert the value to an integer or floating point. If +** such a conversion is possible without loss of information (in other +** words, if the value is a string that looks like a number) +** then the conversion is performed. Otherwise no conversion occurs. +** The [SQLITE_INTEGER | datatype] after conversion is returned.)^ +** +** ^Within the [xUpdate] method of a [virtual table], the +** sqlite3_value_nochange(X) interface returns true if and only if +** the column corresponding to X is unchanged by the UPDATE operation +** that the xUpdate method call was invoked to implement and if +** and the prior [xColumn] method call that was invoked to extracted +** the value for that column returned without setting a result (probably +** because it queried [sqlite3_vtab_nochange()] and found that the column +** was unchanging). ^Within an [xUpdate] method, any value for which +** sqlite3_value_nochange(X) is true will in all other respects appear +** to be a NULL value. If sqlite3_value_nochange(X) is invoked anywhere other +** than within an [xUpdate] method call for an UPDATE statement, then +** the return value is arbitrary and meaningless. +** +** Please pay particular attention to the fact that the pointer returned +** from [sqlite3_value_blob()], [sqlite3_value_text()], or +** [sqlite3_value_text16()] can be invalidated by a subsequent call to +** [sqlite3_value_bytes()], [sqlite3_value_bytes16()], [sqlite3_value_text()], +** or [sqlite3_value_text16()]. +** +** These routines must be called from the same thread as +** the SQL function that supplied the [sqlite3_value*] parameters. +*/ +SQLITE_API const void *sqlite3_value_blob(sqlite3_value*); +SQLITE_API double sqlite3_value_double(sqlite3_value*); +SQLITE_API int sqlite3_value_int(sqlite3_value*); +SQLITE_API sqlite3_int64 sqlite3_value_int64(sqlite3_value*); +SQLITE_API void *sqlite3_value_pointer(sqlite3_value*, const char*); +SQLITE_API const unsigned char *sqlite3_value_text(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16le(sqlite3_value*); +SQLITE_API const void *sqlite3_value_text16be(sqlite3_value*); +SQLITE_API int sqlite3_value_bytes(sqlite3_value*); +SQLITE_API int sqlite3_value_bytes16(sqlite3_value*); +SQLITE_API int sqlite3_value_type(sqlite3_value*); +SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); +SQLITE_API int sqlite3_value_nochange(sqlite3_value*); + +/* +** CAPI3REF: Finding The Subtype Of SQL Values +** METHOD: sqlite3_value +** +** The sqlite3_value_subtype(V) function returns the subtype for +** an [application-defined SQL function] argument V. The subtype +** information can be used to pass a limited amount of context from +** one SQL function to another. Use the [sqlite3_result_subtype()] +** routine to set the subtype for the return value of an SQL function. +*/ +SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*); + +/* +** CAPI3REF: Copy And Free SQL Values +** METHOD: sqlite3_value +** +** ^The sqlite3_value_dup(V) interface makes a copy of the [sqlite3_value] +** object D and returns a pointer to that copy. ^The [sqlite3_value] returned +** is a [protected sqlite3_value] object even if the input is not. +** ^The sqlite3_value_dup(V) interface returns NULL if V is NULL or if a +** memory allocation fails. +** +** ^The sqlite3_value_free(V) interface frees an [sqlite3_value] object +** previously obtained from [sqlite3_value_dup()]. ^If V is a NULL pointer +** then sqlite3_value_free(V) is a harmless no-op. +*/ +SQLITE_API sqlite3_value *sqlite3_value_dup(const sqlite3_value*); +SQLITE_API void sqlite3_value_free(sqlite3_value*); + +/* +** CAPI3REF: Obtain Aggregate Function Context +** METHOD: sqlite3_context +** +** Implementations of aggregate SQL functions use this +** routine to allocate memory for storing their state. +** +** ^The first time the sqlite3_aggregate_context(C,N) routine is called +** for a particular aggregate function, SQLite +** allocates N of memory, zeroes out that memory, and returns a pointer +** to the new memory. ^On second and subsequent calls to +** sqlite3_aggregate_context() for the same aggregate function instance, +** the same buffer is returned. Sqlite3_aggregate_context() is normally +** called once for each invocation of the xStep callback and then one +** last time when the xFinal callback is invoked. ^(When no rows match +** an aggregate query, the xStep() callback of the aggregate function +** implementation is never called and xFinal() is called exactly once. +** In those cases, sqlite3_aggregate_context() might be called for the +** first time from within xFinal().)^ +** +** ^The sqlite3_aggregate_context(C,N) routine returns a NULL pointer +** when first called if N is less than or equal to zero or if a memory +** allocate error occurs. +** +** ^(The amount of space allocated by sqlite3_aggregate_context(C,N) is +** determined by the N parameter on first successful call. Changing the +** value of N in subsequent call to sqlite3_aggregate_context() within +** the same aggregate function instance will not resize the memory +** allocation.)^ Within the xFinal callback, it is customary to set +** N=0 in calls to sqlite3_aggregate_context(C,N) so that no +** pointless memory allocations occur. +** +** ^SQLite automatically frees the memory allocated by +** sqlite3_aggregate_context() when the aggregate query concludes. +** +** The first parameter must be a copy of the +** [sqlite3_context | SQL function context] that is the first parameter +** to the xStep or xFinal callback routine that implements the aggregate +** function. +** +** This routine must be called from the same thread in which +** the aggregate SQL function is running. +*/ +SQLITE_API void *sqlite3_aggregate_context(sqlite3_context*, int nBytes); + +/* +** CAPI3REF: User Data For Functions +** METHOD: sqlite3_context +** +** ^The sqlite3_user_data() interface returns a copy of +** the pointer that was the pUserData parameter (the 5th parameter) +** of the [sqlite3_create_function()] +** and [sqlite3_create_function16()] routines that originally +** registered the application defined function. +** +** This routine must be called from the same thread in which +** the application-defined function is running. +*/ +SQLITE_API void *sqlite3_user_data(sqlite3_context*); + +/* +** CAPI3REF: Database Connection For Functions +** METHOD: sqlite3_context +** +** ^The sqlite3_context_db_handle() interface returns a copy of +** the pointer to the [database connection] (the 1st parameter) +** of the [sqlite3_create_function()] +** and [sqlite3_create_function16()] routines that originally +** registered the application defined function. +*/ +SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*); + +/* +** CAPI3REF: Function Auxiliary Data +** METHOD: sqlite3_context +** +** These functions may be used by (non-aggregate) SQL functions to +** associate metadata with argument values. If the same value is passed to +** multiple invocations of the same SQL function during query execution, under +** some circumstances the associated metadata may be preserved. An example +** of where this might be useful is in a regular-expression matching +** function. The compiled version of the regular expression can be stored as +** metadata associated with the pattern string. +** Then as long as the pattern string remains the same, +** the compiled regular expression can be reused on multiple +** invocations of the same function. +** +** ^The sqlite3_get_auxdata(C,N) interface returns a pointer to the metadata +** associated by the sqlite3_set_auxdata(C,N,P,X) function with the Nth argument +** value to the application-defined function. ^N is zero for the left-most +** function argument. ^If there is no metadata +** associated with the function argument, the sqlite3_get_auxdata(C,N) interface +** returns a NULL pointer. +** +** ^The sqlite3_set_auxdata(C,N,P,X) interface saves P as metadata for the N-th +** argument of the application-defined function. ^Subsequent +** calls to sqlite3_get_auxdata(C,N) return P from the most recent +** sqlite3_set_auxdata(C,N,P,X) call if the metadata is still valid or +** NULL if the metadata has been discarded. +** ^After each call to sqlite3_set_auxdata(C,N,P,X) where X is not NULL, +** SQLite will invoke the destructor function X with parameter P exactly +** once, when the metadata is discarded. +** SQLite is free to discard the metadata at any time, including:
    +**
  • ^(when the corresponding function parameter changes)^, or +**
  • ^(when [sqlite3_reset()] or [sqlite3_finalize()] is called for the +** SQL statement)^, or +**
  • ^(when sqlite3_set_auxdata() is invoked again on the same +** parameter)^, or +**
  • ^(during the original sqlite3_set_auxdata() call when a memory +** allocation error occurs.)^
+** +** Note the last bullet in particular. The destructor X in +** sqlite3_set_auxdata(C,N,P,X) might be called immediately, before the +** sqlite3_set_auxdata() interface even returns. Hence sqlite3_set_auxdata() +** should be called near the end of the function implementation and the +** function implementation should not make any use of P after +** sqlite3_set_auxdata() has been called. +** +** ^(In practice, metadata is preserved between function calls for +** function parameters that are compile-time constants, including literal +** values and [parameters] and expressions composed from the same.)^ +** +** The value of the N parameter to these interfaces should be non-negative. +** Future enhancements may make use of negative N values to define new +** kinds of function caching behavior. +** +** These routines must be called from the same thread in which +** the SQL function is running. +*/ +SQLITE_API void *sqlite3_get_auxdata(sqlite3_context*, int N); +SQLITE_API void sqlite3_set_auxdata(sqlite3_context*, int N, void*, void (*)(void*)); + + +/* +** CAPI3REF: Constants Defining Special Destructor Behavior +** +** These are special values for the destructor that is passed in as the +** final argument to routines like [sqlite3_result_blob()]. ^If the destructor +** argument is SQLITE_STATIC, it means that the content pointer is constant +** and will never change. It does not need to be destroyed. ^The +** SQLITE_TRANSIENT value means that the content will likely change in +** the near future and that SQLite should make its own private copy of +** the content before returning. +** +** The typedef is necessary to work around problems in certain +** C++ compilers. +*/ +typedef void (*sqlite3_destructor_type)(void*); +#define SQLITE_STATIC ((sqlite3_destructor_type)0) +#define SQLITE_TRANSIENT ((sqlite3_destructor_type)-1) + +/* +** CAPI3REF: Setting The Result Of An SQL Function +** METHOD: sqlite3_context +** +** These routines are used by the xFunc or xFinal callbacks that +** implement SQL functions and aggregates. See +** [sqlite3_create_function()] and [sqlite3_create_function16()] +** for additional information. +** +** These functions work very much like the [parameter binding] family of +** functions used to bind values to host parameters in prepared statements. +** Refer to the [SQL parameter] documentation for additional information. +** +** ^The sqlite3_result_blob() interface sets the result from +** an application-defined function to be the BLOB whose content is pointed +** to by the second parameter and which is N bytes long where N is the +** third parameter. +** +** ^The sqlite3_result_zeroblob(C,N) and sqlite3_result_zeroblob64(C,N) +** interfaces set the result of the application-defined function to be +** a BLOB containing all zero bytes and N bytes in size. +** +** ^The sqlite3_result_double() interface sets the result from +** an application-defined function to be a floating point value specified +** by its 2nd argument. +** +** ^The sqlite3_result_error() and sqlite3_result_error16() functions +** cause the implemented SQL function to throw an exception. +** ^SQLite uses the string pointed to by the +** 2nd parameter of sqlite3_result_error() or sqlite3_result_error16() +** as the text of an error message. ^SQLite interprets the error +** message string from sqlite3_result_error() as UTF-8. ^SQLite +** interprets the string from sqlite3_result_error16() as UTF-16 in native +** byte order. ^If the third parameter to sqlite3_result_error() +** or sqlite3_result_error16() is negative then SQLite takes as the error +** message all text up through the first zero character. +** ^If the third parameter to sqlite3_result_error() or +** sqlite3_result_error16() is non-negative then SQLite takes that many +** bytes (not characters) from the 2nd parameter as the error message. +** ^The sqlite3_result_error() and sqlite3_result_error16() +** routines make a private copy of the error message text before +** they return. Hence, the calling function can deallocate or +** modify the text after they return without harm. +** ^The sqlite3_result_error_code() function changes the error code +** returned by SQLite as a result of an error in a function. ^By default, +** the error code is SQLITE_ERROR. ^A subsequent call to sqlite3_result_error() +** or sqlite3_result_error16() resets the error code to SQLITE_ERROR. +** +** ^The sqlite3_result_error_toobig() interface causes SQLite to throw an +** error indicating that a string or BLOB is too long to represent. +** +** ^The sqlite3_result_error_nomem() interface causes SQLite to throw an +** error indicating that a memory allocation failed. +** +** ^The sqlite3_result_int() interface sets the return value +** of the application-defined function to be the 32-bit signed integer +** value given in the 2nd argument. +** ^The sqlite3_result_int64() interface sets the return value +** of the application-defined function to be the 64-bit signed integer +** value given in the 2nd argument. +** +** ^The sqlite3_result_null() interface sets the return value +** of the application-defined function to be NULL. +** +** ^The sqlite3_result_text(), sqlite3_result_text16(), +** sqlite3_result_text16le(), and sqlite3_result_text16be() interfaces +** set the return value of the application-defined function to be +** a text string which is represented as UTF-8, UTF-16 native byte order, +** UTF-16 little endian, or UTF-16 big endian, respectively. +** ^The sqlite3_result_text64() interface sets the return value of an +** application-defined function to be a text string in an encoding +** specified by the fifth (and last) parameter, which must be one +** of [SQLITE_UTF8], [SQLITE_UTF16], [SQLITE_UTF16BE], or [SQLITE_UTF16LE]. +** ^SQLite takes the text result from the application from +** the 2nd parameter of the sqlite3_result_text* interfaces. +** ^If the 3rd parameter to the sqlite3_result_text* interfaces +** is negative, then SQLite takes result text from the 2nd parameter +** through the first zero character. +** ^If the 3rd parameter to the sqlite3_result_text* interfaces +** is non-negative, then as many bytes (not characters) of the text +** pointed to by the 2nd parameter are taken as the application-defined +** function result. If the 3rd parameter is non-negative, then it +** must be the byte offset into the string where the NUL terminator would +** appear if the string where NUL terminated. If any NUL characters occur +** in the string at a byte offset that is less than the value of the 3rd +** parameter, then the resulting string will contain embedded NULs and the +** result of expressions operating on strings with embedded NULs is undefined. +** ^If the 4th parameter to the sqlite3_result_text* interfaces +** or sqlite3_result_blob is a non-NULL pointer, then SQLite calls that +** function as the destructor on the text or BLOB result when it has +** finished using that result. +** ^If the 4th parameter to the sqlite3_result_text* interfaces or to +** sqlite3_result_blob is the special constant SQLITE_STATIC, then SQLite +** assumes that the text or BLOB result is in constant space and does not +** copy the content of the parameter nor call a destructor on the content +** when it has finished using that result. +** ^If the 4th parameter to the sqlite3_result_text* interfaces +** or sqlite3_result_blob is the special constant SQLITE_TRANSIENT +** then SQLite makes a copy of the result into space obtained +** from [sqlite3_malloc()] before it returns. +** +** ^The sqlite3_result_value() interface sets the result of +** the application-defined function to be a copy of the +** [unprotected sqlite3_value] object specified by the 2nd parameter. ^The +** sqlite3_result_value() interface makes a copy of the [sqlite3_value] +** so that the [sqlite3_value] specified in the parameter may change or +** be deallocated after sqlite3_result_value() returns without harm. +** ^A [protected sqlite3_value] object may always be used where an +** [unprotected sqlite3_value] object is required, so either +** kind of [sqlite3_value] object can be used with this interface. +** +** ^The sqlite3_result_pointer(C,P,T,D) interface sets the result to an +** SQL NULL value, just like [sqlite3_result_null(C)], except that it +** also associates the host-language pointer P or type T with that +** NULL value such that the pointer can be retrieved within an +** [application-defined SQL function] using [sqlite3_value_pointer()]. +** ^If the D parameter is not NULL, then it is a pointer to a destructor +** for the P parameter. ^SQLite invokes D with P as its only argument +** when SQLite is finished with P. The T parameter should be a static +** string and preferably a string literal. The sqlite3_result_pointer() +** routine is part of the [pointer passing interface] added for SQLite 3.20.0. +** +** If these routines are called from within the different thread +** than the one containing the application-defined function that received +** the [sqlite3_context] pointer, the results are undefined. +*/ +SQLITE_API void sqlite3_result_blob(sqlite3_context*, const void*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_blob64(sqlite3_context*,const void*, + sqlite3_uint64,void(*)(void*)); +SQLITE_API void sqlite3_result_double(sqlite3_context*, double); +SQLITE_API void sqlite3_result_error(sqlite3_context*, const char*, int); +SQLITE_API void sqlite3_result_error16(sqlite3_context*, const void*, int); +SQLITE_API void sqlite3_result_error_toobig(sqlite3_context*); +SQLITE_API void sqlite3_result_error_nomem(sqlite3_context*); +SQLITE_API void sqlite3_result_error_code(sqlite3_context*, int); +SQLITE_API void sqlite3_result_int(sqlite3_context*, int); +SQLITE_API void sqlite3_result_int64(sqlite3_context*, sqlite3_int64); +SQLITE_API void sqlite3_result_null(sqlite3_context*); +SQLITE_API void sqlite3_result_text(sqlite3_context*, const char*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_text64(sqlite3_context*, const char*,sqlite3_uint64, + void(*)(void*), unsigned char encoding); +SQLITE_API void sqlite3_result_text16(sqlite3_context*, const void*, int, void(*)(void*)); +SQLITE_API void sqlite3_result_text16le(sqlite3_context*, const void*, int,void(*)(void*)); +SQLITE_API void sqlite3_result_text16be(sqlite3_context*, const void*, int,void(*)(void*)); +SQLITE_API void sqlite3_result_value(sqlite3_context*, sqlite3_value*); +SQLITE_API void sqlite3_result_pointer(sqlite3_context*, void*,const char*,void(*)(void*)); +SQLITE_API void sqlite3_result_zeroblob(sqlite3_context*, int n); +SQLITE_API int sqlite3_result_zeroblob64(sqlite3_context*, sqlite3_uint64 n); + + +/* +** CAPI3REF: Setting The Subtype Of An SQL Function +** METHOD: sqlite3_context +** +** The sqlite3_result_subtype(C,T) function causes the subtype of +** the result from the [application-defined SQL function] with +** [sqlite3_context] C to be the value T. Only the lower 8 bits +** of the subtype T are preserved in current versions of SQLite; +** higher order bits are discarded. +** The number of subtype bytes preserved by SQLite might increase +** in future releases of SQLite. +*/ +SQLITE_API void sqlite3_result_subtype(sqlite3_context*,unsigned int); + +/* +** CAPI3REF: Define New Collating Sequences +** METHOD: sqlite3 +** +** ^These functions add, remove, or modify a [collation] associated +** with the [database connection] specified as the first argument. +** +** ^The name of the collation is a UTF-8 string +** for sqlite3_create_collation() and sqlite3_create_collation_v2() +** and a UTF-16 string in native byte order for sqlite3_create_collation16(). +** ^Collation names that compare equal according to [sqlite3_strnicmp()] are +** considered to be the same name. +** +** ^(The third argument (eTextRep) must be one of the constants: +**
    +**
  • [SQLITE_UTF8], +**
  • [SQLITE_UTF16LE], +**
  • [SQLITE_UTF16BE], +**
  • [SQLITE_UTF16], or +**
  • [SQLITE_UTF16_ALIGNED]. +**
)^ +** ^The eTextRep argument determines the encoding of strings passed +** to the collating function callback, xCallback. +** ^The [SQLITE_UTF16] and [SQLITE_UTF16_ALIGNED] values for eTextRep +** force strings to be UTF16 with native byte order. +** ^The [SQLITE_UTF16_ALIGNED] value for eTextRep forces strings to begin +** on an even byte address. +** +** ^The fourth argument, pArg, is an application data pointer that is passed +** through as the first argument to the collating function callback. +** +** ^The fifth argument, xCallback, is a pointer to the collating function. +** ^Multiple collating functions can be registered using the same name but +** with different eTextRep parameters and SQLite will use whichever +** function requires the least amount of data transformation. +** ^If the xCallback argument is NULL then the collating function is +** deleted. ^When all collating functions having the same name are deleted, +** that collation is no longer usable. +** +** ^The collating function callback is invoked with a copy of the pArg +** application data pointer and with two strings in the encoding specified +** by the eTextRep argument. The collating function must return an +** integer that is negative, zero, or positive +** if the first string is less than, equal to, or greater than the second, +** respectively. A collating function must always return the same answer +** given the same inputs. If two or more collating functions are registered +** to the same collation name (using different eTextRep values) then all +** must give an equivalent answer when invoked with equivalent strings. +** The collating function must obey the following properties for all +** strings A, B, and C: +** +**
    +**
  1. If A==B then B==A. +**
  2. If A==B and B==C then A==C. +**
  3. If A<B THEN B>A. +**
  4. If A<B and B<C then A<C. +**
+** +** If a collating function fails any of the above constraints and that +** collating function is registered and used, then the behavior of SQLite +** is undefined. +** +** ^The sqlite3_create_collation_v2() works like sqlite3_create_collation() +** with the addition that the xDestroy callback is invoked on pArg when +** the collating function is deleted. +** ^Collating functions are deleted when they are overridden by later +** calls to the collation creation functions or when the +** [database connection] is closed using [sqlite3_close()]. +** +** ^The xDestroy callback is not called if the +** sqlite3_create_collation_v2() function fails. Applications that invoke +** sqlite3_create_collation_v2() with a non-NULL xDestroy argument should +** check the return code and dispose of the application data pointer +** themselves rather than expecting SQLite to deal with it for them. +** This is different from every other SQLite interface. The inconsistency +** is unfortunate but cannot be changed without breaking backwards +** compatibility. +** +** See also: [sqlite3_collation_needed()] and [sqlite3_collation_needed16()]. +*/ +SQLITE_API int sqlite3_create_collation( + sqlite3*, + const char *zName, + int eTextRep, + void *pArg, + int(*xCompare)(void*,int,const void*,int,const void*) +); +SQLITE_API int sqlite3_create_collation_v2( + sqlite3*, + const char *zName, + int eTextRep, + void *pArg, + int(*xCompare)(void*,int,const void*,int,const void*), + void(*xDestroy)(void*) +); +SQLITE_API int sqlite3_create_collation16( + sqlite3*, + const void *zName, + int eTextRep, + void *pArg, + int(*xCompare)(void*,int,const void*,int,const void*) +); + +/* +** CAPI3REF: Collation Needed Callbacks +** METHOD: sqlite3 +** +** ^To avoid having to register all collation sequences before a database +** can be used, a single callback function may be registered with the +** [database connection] to be invoked whenever an undefined collation +** sequence is required. +** +** ^If the function is registered using the sqlite3_collation_needed() API, +** then it is passed the names of undefined collation sequences as strings +** encoded in UTF-8. ^If sqlite3_collation_needed16() is used, +** the names are passed as UTF-16 in machine native byte order. +** ^A call to either function replaces the existing collation-needed callback. +** +** ^(When the callback is invoked, the first argument passed is a copy +** of the second argument to sqlite3_collation_needed() or +** sqlite3_collation_needed16(). The second argument is the database +** connection. The third argument is one of [SQLITE_UTF8], [SQLITE_UTF16BE], +** or [SQLITE_UTF16LE], indicating the most desirable form of the collation +** sequence function required. The fourth parameter is the name of the +** required collation sequence.)^ +** +** The callback function should register the desired collation using +** [sqlite3_create_collation()], [sqlite3_create_collation16()], or +** [sqlite3_create_collation_v2()]. +*/ +SQLITE_API int sqlite3_collation_needed( + sqlite3*, + void*, + void(*)(void*,sqlite3*,int eTextRep,const char*) +); +SQLITE_API int sqlite3_collation_needed16( + sqlite3*, + void*, + void(*)(void*,sqlite3*,int eTextRep,const void*) +); + +#ifdef SQLITE_HAS_CODEC +/* +** Specify the key for an encrypted database. This routine should be +** called right after sqlite3_open(). +** +** The code to implement this API is not available in the public release +** of SQLite. +*/ +SQLITE_API int sqlite3_key( + sqlite3 *db, /* Database to be rekeyed */ + const void *pKey, int nKey /* The key */ +); +SQLITE_API int sqlite3_key_v2( + sqlite3 *db, /* Database to be rekeyed */ + const char *zDbName, /* Name of the database */ + const void *pKey, int nKey /* The key */ +); + +/* +** Change the key on an open database. If the current database is not +** encrypted, this routine will encrypt it. If pNew==0 or nNew==0, the +** database is decrypted. +** +** The code to implement this API is not available in the public release +** of SQLite. +*/ +SQLITE_API int sqlite3_rekey( + sqlite3 *db, /* Database to be rekeyed */ + const void *pKey, int nKey /* The new key */ +); +SQLITE_API int sqlite3_rekey_v2( + sqlite3 *db, /* Database to be rekeyed */ + const char *zDbName, /* Name of the database */ + const void *pKey, int nKey /* The new key */ +); + +/* +** Specify the activation key for a SEE database. Unless +** activated, none of the SEE routines will work. +*/ +SQLITE_API void sqlite3_activate_see( + const char *zPassPhrase /* Activation phrase */ +); +#endif + +#ifdef SQLITE_ENABLE_CEROD +/* +** Specify the activation key for a CEROD database. Unless +** activated, none of the CEROD routines will work. +*/ +SQLITE_API void sqlite3_activate_cerod( + const char *zPassPhrase /* Activation phrase */ +); +#endif + +/* +** CAPI3REF: Suspend Execution For A Short Time +** +** The sqlite3_sleep() function causes the current thread to suspend execution +** for at least a number of milliseconds specified in its parameter. +** +** If the operating system does not support sleep requests with +** millisecond time resolution, then the time will be rounded up to +** the nearest second. The number of milliseconds of sleep actually +** requested from the operating system is returned. +** +** ^SQLite implements this interface by calling the xSleep() +** method of the default [sqlite3_vfs] object. If the xSleep() method +** of the default VFS is not implemented correctly, or not implemented at +** all, then the behavior of sqlite3_sleep() may deviate from the description +** in the previous paragraphs. +*/ +SQLITE_API int sqlite3_sleep(int); + +/* +** CAPI3REF: Name Of The Folder Holding Temporary Files +** +** ^(If this global variable is made to point to a string which is +** the name of a folder (a.k.a. directory), then all temporary files +** created by SQLite when using a built-in [sqlite3_vfs | VFS] +** will be placed in that directory.)^ ^If this variable +** is a NULL pointer, then SQLite performs a search for an appropriate +** temporary file directory. +** +** Applications are strongly discouraged from using this global variable. +** It is required to set a temporary folder on Windows Runtime (WinRT). +** But for all other platforms, it is highly recommended that applications +** neither read nor write this variable. This global variable is a relic +** that exists for backwards compatibility of legacy applications and should +** be avoided in new projects. +** +** It is not safe to read or modify this variable in more than one +** thread at a time. It is not safe to read or modify this variable +** if a [database connection] is being used at the same time in a separate +** thread. +** It is intended that this variable be set once +** as part of process initialization and before any SQLite interface +** routines have been called and that this variable remain unchanged +** thereafter. +** +** ^The [temp_store_directory pragma] may modify this variable and cause +** it to point to memory obtained from [sqlite3_malloc]. ^Furthermore, +** the [temp_store_directory pragma] always assumes that any string +** that this variable points to is held in memory obtained from +** [sqlite3_malloc] and the pragma may attempt to free that memory +** using [sqlite3_free]. +** Hence, if this variable is modified directly, either it should be +** made NULL or made to point to memory obtained from [sqlite3_malloc] +** or else the use of the [temp_store_directory pragma] should be avoided. +** Except when requested by the [temp_store_directory pragma], SQLite +** does not free the memory that sqlite3_temp_directory points to. If +** the application wants that memory to be freed, it must do +** so itself, taking care to only do so after all [database connection] +** objects have been destroyed. +** +** Note to Windows Runtime users: The temporary directory must be set +** prior to calling [sqlite3_open] or [sqlite3_open_v2]. Otherwise, various +** features that require the use of temporary files may fail. Here is an +** example of how to do this using C++ with the Windows Runtime: +** +**
+** LPCWSTR zPath = Windows::Storage::ApplicationData::Current->
+**       TemporaryFolder->Path->Data();
+** char zPathBuf[MAX_PATH + 1];
+** memset(zPathBuf, 0, sizeof(zPathBuf));
+** WideCharToMultiByte(CP_UTF8, 0, zPath, -1, zPathBuf, sizeof(zPathBuf),
+**       NULL, NULL);
+** sqlite3_temp_directory = sqlite3_mprintf("%s", zPathBuf);
+** 
+*/ +SQLITE_API SQLITE_EXTERN char *sqlite3_temp_directory; + +/* +** CAPI3REF: Name Of The Folder Holding Database Files +** +** ^(If this global variable is made to point to a string which is +** the name of a folder (a.k.a. directory), then all database files +** specified with a relative pathname and created or accessed by +** SQLite when using a built-in windows [sqlite3_vfs | VFS] will be assumed +** to be relative to that directory.)^ ^If this variable is a NULL +** pointer, then SQLite assumes that all database files specified +** with a relative pathname are relative to the current directory +** for the process. Only the windows VFS makes use of this global +** variable; it is ignored by the unix VFS. +** +** Changing the value of this variable while a database connection is +** open can result in a corrupt database. +** +** It is not safe to read or modify this variable in more than one +** thread at a time. It is not safe to read or modify this variable +** if a [database connection] is being used at the same time in a separate +** thread. +** It is intended that this variable be set once +** as part of process initialization and before any SQLite interface +** routines have been called and that this variable remain unchanged +** thereafter. +** +** ^The [data_store_directory pragma] may modify this variable and cause +** it to point to memory obtained from [sqlite3_malloc]. ^Furthermore, +** the [data_store_directory pragma] always assumes that any string +** that this variable points to is held in memory obtained from +** [sqlite3_malloc] and the pragma may attempt to free that memory +** using [sqlite3_free]. +** Hence, if this variable is modified directly, either it should be +** made NULL or made to point to memory obtained from [sqlite3_malloc] +** or else the use of the [data_store_directory pragma] should be avoided. +*/ +SQLITE_API SQLITE_EXTERN char *sqlite3_data_directory; + +/* +** CAPI3REF: Test For Auto-Commit Mode +** KEYWORDS: {autocommit mode} +** METHOD: sqlite3 +** +** ^The sqlite3_get_autocommit() interface returns non-zero or +** zero if the given database connection is or is not in autocommit mode, +** respectively. ^Autocommit mode is on by default. +** ^Autocommit mode is disabled by a [BEGIN] statement. +** ^Autocommit mode is re-enabled by a [COMMIT] or [ROLLBACK]. +** +** If certain kinds of errors occur on a statement within a multi-statement +** transaction (errors including [SQLITE_FULL], [SQLITE_IOERR], +** [SQLITE_NOMEM], [SQLITE_BUSY], and [SQLITE_INTERRUPT]) then the +** transaction might be rolled back automatically. The only way to +** find out whether SQLite automatically rolled back the transaction after +** an error is to use this function. +** +** If another thread changes the autocommit status of the database +** connection while this routine is running, then the return value +** is undefined. +*/ +SQLITE_API int sqlite3_get_autocommit(sqlite3*); + +/* +** CAPI3REF: Find The Database Handle Of A Prepared Statement +** METHOD: sqlite3_stmt +** +** ^The sqlite3_db_handle interface returns the [database connection] handle +** to which a [prepared statement] belongs. ^The [database connection] +** returned by sqlite3_db_handle is the same [database connection] +** that was the first argument +** to the [sqlite3_prepare_v2()] call (or its variants) that was used to +** create the statement in the first place. +*/ +SQLITE_API sqlite3 *sqlite3_db_handle(sqlite3_stmt*); + +/* +** CAPI3REF: Return The Filename For A Database Connection +** METHOD: sqlite3 +** +** ^The sqlite3_db_filename(D,N) interface returns a pointer to a filename +** associated with database N of connection D. ^The main database file +** has the name "main". If there is no attached database N on the database +** connection D, or if database N is a temporary or in-memory database, then +** a NULL pointer is returned. +** +** ^The filename returned by this function is the output of the +** xFullPathname method of the [VFS]. ^In other words, the filename +** will be an absolute pathname, even if the filename used +** to open the database originally was a URI or relative pathname. +*/ +SQLITE_API const char *sqlite3_db_filename(sqlite3 *db, const char *zDbName); + +/* +** CAPI3REF: Determine if a database is read-only +** METHOD: sqlite3 +** +** ^The sqlite3_db_readonly(D,N) interface returns 1 if the database N +** of connection D is read-only, 0 if it is read/write, or -1 if N is not +** the name of a database on connection D. +*/ +SQLITE_API int sqlite3_db_readonly(sqlite3 *db, const char *zDbName); + +/* +** CAPI3REF: Find the next prepared statement +** METHOD: sqlite3 +** +** ^This interface returns a pointer to the next [prepared statement] after +** pStmt associated with the [database connection] pDb. ^If pStmt is NULL +** then this interface returns a pointer to the first prepared statement +** associated with the database connection pDb. ^If no prepared statement +** satisfies the conditions of this routine, it returns NULL. +** +** The [database connection] pointer D in a call to +** [sqlite3_next_stmt(D,S)] must refer to an open database +** connection and in particular must not be a NULL pointer. +*/ +SQLITE_API sqlite3_stmt *sqlite3_next_stmt(sqlite3 *pDb, sqlite3_stmt *pStmt); + +/* +** CAPI3REF: Commit And Rollback Notification Callbacks +** METHOD: sqlite3 +** +** ^The sqlite3_commit_hook() interface registers a callback +** function to be invoked whenever a transaction is [COMMIT | committed]. +** ^Any callback set by a previous call to sqlite3_commit_hook() +** for the same database connection is overridden. +** ^The sqlite3_rollback_hook() interface registers a callback +** function to be invoked whenever a transaction is [ROLLBACK | rolled back]. +** ^Any callback set by a previous call to sqlite3_rollback_hook() +** for the same database connection is overridden. +** ^The pArg argument is passed through to the callback. +** ^If the callback on a commit hook function returns non-zero, +** then the commit is converted into a rollback. +** +** ^The sqlite3_commit_hook(D,C,P) and sqlite3_rollback_hook(D,C,P) functions +** return the P argument from the previous call of the same function +** on the same [database connection] D, or NULL for +** the first call for each function on D. +** +** The commit and rollback hook callbacks are not reentrant. +** The callback implementation must not do anything that will modify +** the database connection that invoked the callback. Any actions +** to modify the database connection must be deferred until after the +** completion of the [sqlite3_step()] call that triggered the commit +** or rollback hook in the first place. +** Note that running any other SQL statements, including SELECT statements, +** or merely calling [sqlite3_prepare_v2()] and [sqlite3_step()] will modify +** the database connections for the meaning of "modify" in this paragraph. +** +** ^Registering a NULL function disables the callback. +** +** ^When the commit hook callback routine returns zero, the [COMMIT] +** operation is allowed to continue normally. ^If the commit hook +** returns non-zero, then the [COMMIT] is converted into a [ROLLBACK]. +** ^The rollback hook is invoked on a rollback that results from a commit +** hook returning non-zero, just as it would be with any other rollback. +** +** ^For the purposes of this API, a transaction is said to have been +** rolled back if an explicit "ROLLBACK" statement is executed, or +** an error or constraint causes an implicit rollback to occur. +** ^The rollback callback is not invoked if a transaction is +** automatically rolled back because the database connection is closed. +** +** See also the [sqlite3_update_hook()] interface. +*/ +SQLITE_API void *sqlite3_commit_hook(sqlite3*, int(*)(void*), void*); +SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); + +/* +** CAPI3REF: Data Change Notification Callbacks +** METHOD: sqlite3 +** +** ^The sqlite3_update_hook() interface registers a callback function +** with the [database connection] identified by the first argument +** to be invoked whenever a row is updated, inserted or deleted in +** a [rowid table]. +** ^Any callback set by a previous call to this function +** for the same database connection is overridden. +** +** ^The second argument is a pointer to the function to invoke when a +** row is updated, inserted or deleted in a rowid table. +** ^The first argument to the callback is a copy of the third argument +** to sqlite3_update_hook(). +** ^The second callback argument is one of [SQLITE_INSERT], [SQLITE_DELETE], +** or [SQLITE_UPDATE], depending on the operation that caused the callback +** to be invoked. +** ^The third and fourth arguments to the callback contain pointers to the +** database and table name containing the affected row. +** ^The final callback parameter is the [rowid] of the row. +** ^In the case of an update, this is the [rowid] after the update takes place. +** +** ^(The update hook is not invoked when internal system tables are +** modified (i.e. sqlite_master and sqlite_sequence).)^ +** ^The update hook is not invoked when [WITHOUT ROWID] tables are modified. +** +** ^In the current implementation, the update hook +** is not invoked when conflicting rows are deleted because of an +** [ON CONFLICT | ON CONFLICT REPLACE] clause. ^Nor is the update hook +** invoked when rows are deleted using the [truncate optimization]. +** The exceptions defined in this paragraph might change in a future +** release of SQLite. +** +** The update hook implementation must not do anything that will modify +** the database connection that invoked the update hook. Any actions +** to modify the database connection must be deferred until after the +** completion of the [sqlite3_step()] call that triggered the update hook. +** Note that [sqlite3_prepare_v2()] and [sqlite3_step()] both modify their +** database connections for the meaning of "modify" in this paragraph. +** +** ^The sqlite3_update_hook(D,C,P) function +** returns the P argument from the previous call +** on the same [database connection] D, or NULL for +** the first call on D. +** +** See also the [sqlite3_commit_hook()], [sqlite3_rollback_hook()], +** and [sqlite3_preupdate_hook()] interfaces. +*/ +SQLITE_API void *sqlite3_update_hook( + sqlite3*, + void(*)(void *,int ,char const *,char const *,sqlite3_int64), + void* +); + +/* +** CAPI3REF: Enable Or Disable Shared Pager Cache +** +** ^(This routine enables or disables the sharing of the database cache +** and schema data structures between [database connection | connections] +** to the same database. Sharing is enabled if the argument is true +** and disabled if the argument is false.)^ +** +** ^Cache sharing is enabled and disabled for an entire process. +** This is a change as of SQLite [version 3.5.0] ([dateof:3.5.0]). +** In prior versions of SQLite, +** sharing was enabled or disabled for each thread separately. +** +** ^(The cache sharing mode set by this interface effects all subsequent +** calls to [sqlite3_open()], [sqlite3_open_v2()], and [sqlite3_open16()]. +** Existing database connections continue use the sharing mode +** that was in effect at the time they were opened.)^ +** +** ^(This routine returns [SQLITE_OK] if shared cache was enabled or disabled +** successfully. An [error code] is returned otherwise.)^ +** +** ^Shared cache is disabled by default. But this might change in +** future releases of SQLite. Applications that care about shared +** cache setting should set it explicitly. +** +** Note: This method is disabled on MacOS X 10.7 and iOS version 5.0 +** and will always return SQLITE_MISUSE. On those systems, +** shared cache mode should be enabled per-database connection via +** [sqlite3_open_v2()] with [SQLITE_OPEN_SHAREDCACHE]. +** +** This interface is threadsafe on processors where writing a +** 32-bit integer is atomic. +** +** See Also: [SQLite Shared-Cache Mode] +*/ +SQLITE_API int sqlite3_enable_shared_cache(int); + +/* +** CAPI3REF: Attempt To Free Heap Memory +** +** ^The sqlite3_release_memory() interface attempts to free N bytes +** of heap memory by deallocating non-essential memory allocations +** held by the database library. Memory used to cache database +** pages to improve performance is an example of non-essential memory. +** ^sqlite3_release_memory() returns the number of bytes actually freed, +** which might be more or less than the amount requested. +** ^The sqlite3_release_memory() routine is a no-op returning zero +** if SQLite is not compiled with [SQLITE_ENABLE_MEMORY_MANAGEMENT]. +** +** See also: [sqlite3_db_release_memory()] +*/ +SQLITE_API int sqlite3_release_memory(int); + +/* +** CAPI3REF: Free Memory Used By A Database Connection +** METHOD: sqlite3 +** +** ^The sqlite3_db_release_memory(D) interface attempts to free as much heap +** memory as possible from database connection D. Unlike the +** [sqlite3_release_memory()] interface, this interface is in effect even +** when the [SQLITE_ENABLE_MEMORY_MANAGEMENT] compile-time option is +** omitted. +** +** See also: [sqlite3_release_memory()] +*/ +SQLITE_API int sqlite3_db_release_memory(sqlite3*); + +/* +** CAPI3REF: Impose A Limit On Heap Size +** +** ^The sqlite3_soft_heap_limit64() interface sets and/or queries the +** soft limit on the amount of heap memory that may be allocated by SQLite. +** ^SQLite strives to keep heap memory utilization below the soft heap +** limit by reducing the number of pages held in the page cache +** as heap memory usages approaches the limit. +** ^The soft heap limit is "soft" because even though SQLite strives to stay +** below the limit, it will exceed the limit rather than generate +** an [SQLITE_NOMEM] error. In other words, the soft heap limit +** is advisory only. +** +** ^The return value from sqlite3_soft_heap_limit64() is the size of +** the soft heap limit prior to the call, or negative in the case of an +** error. ^If the argument N is negative +** then no change is made to the soft heap limit. Hence, the current +** size of the soft heap limit can be determined by invoking +** sqlite3_soft_heap_limit64() with a negative argument. +** +** ^If the argument N is zero then the soft heap limit is disabled. +** +** ^(The soft heap limit is not enforced in the current implementation +** if one or more of following conditions are true: +** +**
    +**
  • The soft heap limit is set to zero. +**
  • Memory accounting is disabled using a combination of the +** [sqlite3_config]([SQLITE_CONFIG_MEMSTATUS],...) start-time option and +** the [SQLITE_DEFAULT_MEMSTATUS] compile-time option. +**
  • An alternative page cache implementation is specified using +** [sqlite3_config]([SQLITE_CONFIG_PCACHE2],...). +**
  • The page cache allocates from its own memory pool supplied +** by [sqlite3_config]([SQLITE_CONFIG_PAGECACHE],...) rather than +** from the heap. +**
)^ +** +** Beginning with SQLite [version 3.7.3] ([dateof:3.7.3]), +** the soft heap limit is enforced +** regardless of whether or not the [SQLITE_ENABLE_MEMORY_MANAGEMENT] +** compile-time option is invoked. With [SQLITE_ENABLE_MEMORY_MANAGEMENT], +** the soft heap limit is enforced on every memory allocation. Without +** [SQLITE_ENABLE_MEMORY_MANAGEMENT], the soft heap limit is only enforced +** when memory is allocated by the page cache. Testing suggests that because +** the page cache is the predominate memory user in SQLite, most +** applications will achieve adequate soft heap limit enforcement without +** the use of [SQLITE_ENABLE_MEMORY_MANAGEMENT]. +** +** The circumstances under which SQLite will enforce the soft heap limit may +** changes in future releases of SQLite. +*/ +SQLITE_API sqlite3_int64 sqlite3_soft_heap_limit64(sqlite3_int64 N); + +/* +** CAPI3REF: Deprecated Soft Heap Limit Interface +** DEPRECATED +** +** This is a deprecated version of the [sqlite3_soft_heap_limit64()] +** interface. This routine is provided for historical compatibility +** only. All new applications should use the +** [sqlite3_soft_heap_limit64()] interface rather than this one. +*/ +SQLITE_API SQLITE_DEPRECATED void sqlite3_soft_heap_limit(int N); + + +/* +** CAPI3REF: Extract Metadata About A Column Of A Table +** METHOD: sqlite3 +** +** ^(The sqlite3_table_column_metadata(X,D,T,C,....) routine returns +** information about column C of table T in database D +** on [database connection] X.)^ ^The sqlite3_table_column_metadata() +** interface returns SQLITE_OK and fills in the non-NULL pointers in +** the final five arguments with appropriate values if the specified +** column exists. ^The sqlite3_table_column_metadata() interface returns +** SQLITE_ERROR and if the specified column does not exist. +** ^If the column-name parameter to sqlite3_table_column_metadata() is a +** NULL pointer, then this routine simply checks for the existence of the +** table and returns SQLITE_OK if the table exists and SQLITE_ERROR if it +** does not. If the table name parameter T in a call to +** sqlite3_table_column_metadata(X,D,T,C,...) is NULL then the result is +** undefined behavior. +** +** ^The column is identified by the second, third and fourth parameters to +** this function. ^(The second parameter is either the name of the database +** (i.e. "main", "temp", or an attached database) containing the specified +** table or NULL.)^ ^If it is NULL, then all attached databases are searched +** for the table using the same algorithm used by the database engine to +** resolve unqualified table references. +** +** ^The third and fourth parameters to this function are the table and column +** name of the desired column, respectively. +** +** ^Metadata is returned by writing to the memory locations passed as the 5th +** and subsequent parameters to this function. ^Any of these arguments may be +** NULL, in which case the corresponding element of metadata is omitted. +** +** ^(
+** +**
Parameter Output
Type
Description +** +**
5th const char* Data type +**
6th const char* Name of default collation sequence +**
7th int True if column has a NOT NULL constraint +**
8th int True if column is part of the PRIMARY KEY +**
9th int True if column is [AUTOINCREMENT] +**
+**
)^ +** +** ^The memory pointed to by the character pointers returned for the +** declaration type and collation sequence is valid until the next +** call to any SQLite API function. +** +** ^If the specified table is actually a view, an [error code] is returned. +** +** ^If the specified column is "rowid", "oid" or "_rowid_" and the table +** is not a [WITHOUT ROWID] table and an +** [INTEGER PRIMARY KEY] column has been explicitly declared, then the output +** parameters are set for the explicitly declared column. ^(If there is no +** [INTEGER PRIMARY KEY] column, then the outputs +** for the [rowid] are set as follows: +** +**
+**     data type: "INTEGER"
+**     collation sequence: "BINARY"
+**     not null: 0
+**     primary key: 1
+**     auto increment: 0
+** 
)^ +** +** ^This function causes all database schemas to be read from disk and +** parsed, if that has not already been done, and returns an error if +** any errors are encountered while loading the schema. +*/ +SQLITE_API int sqlite3_table_column_metadata( + sqlite3 *db, /* Connection handle */ + const char *zDbName, /* Database name or NULL */ + const char *zTableName, /* Table name */ + const char *zColumnName, /* Column name */ + char const **pzDataType, /* OUTPUT: Declared data type */ + char const **pzCollSeq, /* OUTPUT: Collation sequence name */ + int *pNotNull, /* OUTPUT: True if NOT NULL constraint exists */ + int *pPrimaryKey, /* OUTPUT: True if column part of PK */ + int *pAutoinc /* OUTPUT: True if column is auto-increment */ +); + +/* +** CAPI3REF: Load An Extension +** METHOD: sqlite3 +** +** ^This interface loads an SQLite extension library from the named file. +** +** ^The sqlite3_load_extension() interface attempts to load an +** [SQLite extension] library contained in the file zFile. If +** the file cannot be loaded directly, attempts are made to load +** with various operating-system specific extensions added. +** So for example, if "samplelib" cannot be loaded, then names like +** "samplelib.so" or "samplelib.dylib" or "samplelib.dll" might +** be tried also. +** +** ^The entry point is zProc. +** ^(zProc may be 0, in which case SQLite will try to come up with an +** entry point name on its own. It first tries "sqlite3_extension_init". +** If that does not work, it constructs a name "sqlite3_X_init" where the +** X is consists of the lower-case equivalent of all ASCII alphabetic +** characters in the filename from the last "/" to the first following +** "." and omitting any initial "lib".)^ +** ^The sqlite3_load_extension() interface returns +** [SQLITE_OK] on success and [SQLITE_ERROR] if something goes wrong. +** ^If an error occurs and pzErrMsg is not 0, then the +** [sqlite3_load_extension()] interface shall attempt to +** fill *pzErrMsg with error message text stored in memory +** obtained from [sqlite3_malloc()]. The calling function +** should free this memory by calling [sqlite3_free()]. +** +** ^Extension loading must be enabled using +** [sqlite3_enable_load_extension()] or +** [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION],1,NULL) +** prior to calling this API, +** otherwise an error will be returned. +** +** Security warning: It is recommended that the +** [SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION] method be used to enable only this +** interface. The use of the [sqlite3_enable_load_extension()] interface +** should be avoided. This will keep the SQL function [load_extension()] +** disabled and prevent SQL injections from giving attackers +** access to extension loading capabilities. +** +** See also the [load_extension() SQL function]. +*/ +SQLITE_API int sqlite3_load_extension( + sqlite3 *db, /* Load the extension into this database connection */ + const char *zFile, /* Name of the shared library containing extension */ + const char *zProc, /* Entry point. Derived from zFile if 0 */ + char **pzErrMsg /* Put error message here if not 0 */ +); + +/* +** CAPI3REF: Enable Or Disable Extension Loading +** METHOD: sqlite3 +** +** ^So as not to open security holes in older applications that are +** unprepared to deal with [extension loading], and as a means of disabling +** [extension loading] while evaluating user-entered SQL, the following API +** is provided to turn the [sqlite3_load_extension()] mechanism on and off. +** +** ^Extension loading is off by default. +** ^Call the sqlite3_enable_load_extension() routine with onoff==1 +** to turn extension loading on and call it with onoff==0 to turn +** it back off again. +** +** ^This interface enables or disables both the C-API +** [sqlite3_load_extension()] and the SQL function [load_extension()]. +** ^(Use [sqlite3_db_config](db,[SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION],..) +** to enable or disable only the C-API.)^ +** +** Security warning: It is recommended that extension loading +** be disabled using the [SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION] method +** rather than this interface, so the [load_extension()] SQL function +** remains disabled. This will prevent SQL injections from giving attackers +** access to extension loading capabilities. +*/ +SQLITE_API int sqlite3_enable_load_extension(sqlite3 *db, int onoff); + +/* +** CAPI3REF: Automatically Load Statically Linked Extensions +** +** ^This interface causes the xEntryPoint() function to be invoked for +** each new [database connection] that is created. The idea here is that +** xEntryPoint() is the entry point for a statically linked [SQLite extension] +** that is to be automatically loaded into all new database connections. +** +** ^(Even though the function prototype shows that xEntryPoint() takes +** no arguments and returns void, SQLite invokes xEntryPoint() with three +** arguments and expects an integer result as if the signature of the +** entry point where as follows: +** +**
+**    int xEntryPoint(
+**      sqlite3 *db,
+**      const char **pzErrMsg,
+**      const struct sqlite3_api_routines *pThunk
+**    );
+** 
)^ +** +** If the xEntryPoint routine encounters an error, it should make *pzErrMsg +** point to an appropriate error message (obtained from [sqlite3_mprintf()]) +** and return an appropriate [error code]. ^SQLite ensures that *pzErrMsg +** is NULL before calling the xEntryPoint(). ^SQLite will invoke +** [sqlite3_free()] on *pzErrMsg after xEntryPoint() returns. ^If any +** xEntryPoint() returns an error, the [sqlite3_open()], [sqlite3_open16()], +** or [sqlite3_open_v2()] call that provoked the xEntryPoint() will fail. +** +** ^Calling sqlite3_auto_extension(X) with an entry point X that is already +** on the list of automatic extensions is a harmless no-op. ^No entry point +** will be called more than once for each database connection that is opened. +** +** See also: [sqlite3_reset_auto_extension()] +** and [sqlite3_cancel_auto_extension()] +*/ +SQLITE_API int sqlite3_auto_extension(void(*xEntryPoint)(void)); + +/* +** CAPI3REF: Cancel Automatic Extension Loading +** +** ^The [sqlite3_cancel_auto_extension(X)] interface unregisters the +** initialization routine X that was registered using a prior call to +** [sqlite3_auto_extension(X)]. ^The [sqlite3_cancel_auto_extension(X)] +** routine returns 1 if initialization routine X was successfully +** unregistered and it returns 0 if X was not on the list of initialization +** routines. +*/ +SQLITE_API int sqlite3_cancel_auto_extension(void(*xEntryPoint)(void)); + +/* +** CAPI3REF: Reset Automatic Extension Loading +** +** ^This interface disables all automatic extensions previously +** registered using [sqlite3_auto_extension()]. +*/ +SQLITE_API void sqlite3_reset_auto_extension(void); + +/* +** The interface to the virtual-table mechanism is currently considered +** to be experimental. The interface might change in incompatible ways. +** If this is a problem for you, do not use the interface at this time. +** +** When the virtual-table mechanism stabilizes, we will declare the +** interface fixed, support it indefinitely, and remove this comment. +*/ + +/* +** Structures used by the virtual table interface +*/ +typedef struct sqlite3_vtab sqlite3_vtab; +typedef struct sqlite3_index_info sqlite3_index_info; +typedef struct sqlite3_vtab_cursor sqlite3_vtab_cursor; +typedef struct sqlite3_module sqlite3_module; + +/* +** CAPI3REF: Virtual Table Object +** KEYWORDS: sqlite3_module {virtual table module} +** +** This structure, sometimes called a "virtual table module", +** defines the implementation of a [virtual tables]. +** This structure consists mostly of methods for the module. +** +** ^A virtual table module is created by filling in a persistent +** instance of this structure and passing a pointer to that instance +** to [sqlite3_create_module()] or [sqlite3_create_module_v2()]. +** ^The registration remains valid until it is replaced by a different +** module or until the [database connection] closes. The content +** of this structure must not change while it is registered with +** any database connection. +*/ +struct sqlite3_module { + int iVersion; + int (*xCreate)(sqlite3*, void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVTab, char**); + int (*xConnect)(sqlite3*, void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVTab, char**); + int (*xBestIndex)(sqlite3_vtab *pVTab, sqlite3_index_info*); + int (*xDisconnect)(sqlite3_vtab *pVTab); + int (*xDestroy)(sqlite3_vtab *pVTab); + int (*xOpen)(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor); + int (*xClose)(sqlite3_vtab_cursor*); + int (*xFilter)(sqlite3_vtab_cursor*, int idxNum, const char *idxStr, + int argc, sqlite3_value **argv); + int (*xNext)(sqlite3_vtab_cursor*); + int (*xEof)(sqlite3_vtab_cursor*); + int (*xColumn)(sqlite3_vtab_cursor*, sqlite3_context*, int); + int (*xRowid)(sqlite3_vtab_cursor*, sqlite3_int64 *pRowid); + int (*xUpdate)(sqlite3_vtab *, int, sqlite3_value **, sqlite3_int64 *); + int (*xBegin)(sqlite3_vtab *pVTab); + int (*xSync)(sqlite3_vtab *pVTab); + int (*xCommit)(sqlite3_vtab *pVTab); + int (*xRollback)(sqlite3_vtab *pVTab); + int (*xFindFunction)(sqlite3_vtab *pVtab, int nArg, const char *zName, + void (**pxFunc)(sqlite3_context*,int,sqlite3_value**), + void **ppArg); + int (*xRename)(sqlite3_vtab *pVtab, const char *zNew); + /* The methods above are in version 1 of the sqlite_module object. Those + ** below are for version 2 and greater. */ + int (*xSavepoint)(sqlite3_vtab *pVTab, int); + int (*xRelease)(sqlite3_vtab *pVTab, int); + int (*xRollbackTo)(sqlite3_vtab *pVTab, int); +}; + +/* +** CAPI3REF: Virtual Table Indexing Information +** KEYWORDS: sqlite3_index_info +** +** The sqlite3_index_info structure and its substructures is used as part +** of the [virtual table] interface to +** pass information into and receive the reply from the [xBestIndex] +** method of a [virtual table module]. The fields under **Inputs** are the +** inputs to xBestIndex and are read-only. xBestIndex inserts its +** results into the **Outputs** fields. +** +** ^(The aConstraint[] array records WHERE clause constraints of the form: +** +**
column OP expr
+** +** where OP is =, <, <=, >, or >=.)^ ^(The particular operator is +** stored in aConstraint[].op using one of the +** [SQLITE_INDEX_CONSTRAINT_EQ | SQLITE_INDEX_CONSTRAINT_ values].)^ +** ^(The index of the column is stored in +** aConstraint[].iColumn.)^ ^(aConstraint[].usable is TRUE if the +** expr on the right-hand side can be evaluated (and thus the constraint +** is usable) and false if it cannot.)^ +** +** ^The optimizer automatically inverts terms of the form "expr OP column" +** and makes other simplifications to the WHERE clause in an attempt to +** get as many WHERE clause terms into the form shown above as possible. +** ^The aConstraint[] array only reports WHERE clause terms that are +** relevant to the particular virtual table being queried. +** +** ^Information about the ORDER BY clause is stored in aOrderBy[]. +** ^Each term of aOrderBy records a column of the ORDER BY clause. +** +** The colUsed field indicates which columns of the virtual table may be +** required by the current scan. Virtual table columns are numbered from +** zero in the order in which they appear within the CREATE TABLE statement +** passed to sqlite3_declare_vtab(). For the first 63 columns (columns 0-62), +** the corresponding bit is set within the colUsed mask if the column may be +** required by SQLite. If the table has at least 64 columns and any column +** to the right of the first 63 is required, then bit 63 of colUsed is also +** set. In other words, column iCol may be required if the expression +** (colUsed & ((sqlite3_uint64)1 << (iCol>=63 ? 63 : iCol))) evaluates to +** non-zero. +** +** The [xBestIndex] method must fill aConstraintUsage[] with information +** about what parameters to pass to xFilter. ^If argvIndex>0 then +** the right-hand side of the corresponding aConstraint[] is evaluated +** and becomes the argvIndex-th entry in argv. ^(If aConstraintUsage[].omit +** is true, then the constraint is assumed to be fully handled by the +** virtual table and is not checked again by SQLite.)^ +** +** ^The idxNum and idxPtr values are recorded and passed into the +** [xFilter] method. +** ^[sqlite3_free()] is used to free idxPtr if and only if +** needToFreeIdxPtr is true. +** +** ^The orderByConsumed means that output from [xFilter]/[xNext] will occur in +** the correct order to satisfy the ORDER BY clause so that no separate +** sorting step is required. +** +** ^The estimatedCost value is an estimate of the cost of a particular +** strategy. A cost of N indicates that the cost of the strategy is similar +** to a linear scan of an SQLite table with N rows. A cost of log(N) +** indicates that the expense of the operation is similar to that of a +** binary search on a unique indexed field of an SQLite table with N rows. +** +** ^The estimatedRows value is an estimate of the number of rows that +** will be returned by the strategy. +** +** The xBestIndex method may optionally populate the idxFlags field with a +** mask of SQLITE_INDEX_SCAN_* flags. Currently there is only one such flag - +** SQLITE_INDEX_SCAN_UNIQUE. If the xBestIndex method sets this flag, SQLite +** assumes that the strategy may visit at most one row. +** +** Additionally, if xBestIndex sets the SQLITE_INDEX_SCAN_UNIQUE flag, then +** SQLite also assumes that if a call to the xUpdate() method is made as +** part of the same statement to delete or update a virtual table row and the +** implementation returns SQLITE_CONSTRAINT, then there is no need to rollback +** any database changes. In other words, if the xUpdate() returns +** SQLITE_CONSTRAINT, the database contents must be exactly as they were +** before xUpdate was called. By contrast, if SQLITE_INDEX_SCAN_UNIQUE is not +** set and xUpdate returns SQLITE_CONSTRAINT, any database changes made by +** the xUpdate method are automatically rolled back by SQLite. +** +** IMPORTANT: The estimatedRows field was added to the sqlite3_index_info +** structure for SQLite [version 3.8.2] ([dateof:3.8.2]). +** If a virtual table extension is +** used with an SQLite version earlier than 3.8.2, the results of attempting +** to read or write the estimatedRows field are undefined (but are likely +** to included crashing the application). The estimatedRows field should +** therefore only be used if [sqlite3_libversion_number()] returns a +** value greater than or equal to 3008002. Similarly, the idxFlags field +** was added for [version 3.9.0] ([dateof:3.9.0]). +** It may therefore only be used if +** sqlite3_libversion_number() returns a value greater than or equal to +** 3009000. +*/ +struct sqlite3_index_info { + /* Inputs */ + int nConstraint; /* Number of entries in aConstraint */ + struct sqlite3_index_constraint { + int iColumn; /* Column constrained. -1 for ROWID */ + unsigned char op; /* Constraint operator */ + unsigned char usable; /* True if this constraint is usable */ + int iTermOffset; /* Used internally - xBestIndex should ignore */ + } *aConstraint; /* Table of WHERE clause constraints */ + int nOrderBy; /* Number of terms in the ORDER BY clause */ + struct sqlite3_index_orderby { + int iColumn; /* Column number */ + unsigned char desc; /* True for DESC. False for ASC. */ + } *aOrderBy; /* The ORDER BY clause */ + /* Outputs */ + struct sqlite3_index_constraint_usage { + int argvIndex; /* if >0, constraint is part of argv to xFilter */ + unsigned char omit; /* Do not code a test for this constraint */ + } *aConstraintUsage; + int idxNum; /* Number used to identify the index */ + char *idxStr; /* String, possibly obtained from sqlite3_malloc */ + int needToFreeIdxStr; /* Free idxStr using sqlite3_free() if true */ + int orderByConsumed; /* True if output is already ordered */ + double estimatedCost; /* Estimated cost of using this index */ + /* Fields below are only available in SQLite 3.8.2 and later */ + sqlite3_int64 estimatedRows; /* Estimated number of rows returned */ + /* Fields below are only available in SQLite 3.9.0 and later */ + int idxFlags; /* Mask of SQLITE_INDEX_SCAN_* flags */ + /* Fields below are only available in SQLite 3.10.0 and later */ + sqlite3_uint64 colUsed; /* Input: Mask of columns used by statement */ +}; + +/* +** CAPI3REF: Virtual Table Scan Flags +*/ +#define SQLITE_INDEX_SCAN_UNIQUE 1 /* Scan visits at most 1 row */ + +/* +** CAPI3REF: Virtual Table Constraint Operator Codes +** +** These macros defined the allowed values for the +** [sqlite3_index_info].aConstraint[].op field. Each value represents +** an operator that is part of a constraint term in the wHERE clause of +** a query that uses a [virtual table]. +*/ +#define SQLITE_INDEX_CONSTRAINT_EQ 2 +#define SQLITE_INDEX_CONSTRAINT_GT 4 +#define SQLITE_INDEX_CONSTRAINT_LE 8 +#define SQLITE_INDEX_CONSTRAINT_LT 16 +#define SQLITE_INDEX_CONSTRAINT_GE 32 +#define SQLITE_INDEX_CONSTRAINT_MATCH 64 +#define SQLITE_INDEX_CONSTRAINT_LIKE 65 +#define SQLITE_INDEX_CONSTRAINT_GLOB 66 +#define SQLITE_INDEX_CONSTRAINT_REGEXP 67 +#define SQLITE_INDEX_CONSTRAINT_NE 68 +#define SQLITE_INDEX_CONSTRAINT_ISNOT 69 +#define SQLITE_INDEX_CONSTRAINT_ISNOTNULL 70 +#define SQLITE_INDEX_CONSTRAINT_ISNULL 71 +#define SQLITE_INDEX_CONSTRAINT_IS 72 + +/* +** CAPI3REF: Register A Virtual Table Implementation +** METHOD: sqlite3 +** +** ^These routines are used to register a new [virtual table module] name. +** ^Module names must be registered before +** creating a new [virtual table] using the module and before using a +** preexisting [virtual table] for the module. +** +** ^The module name is registered on the [database connection] specified +** by the first parameter. ^The name of the module is given by the +** second parameter. ^The third parameter is a pointer to +** the implementation of the [virtual table module]. ^The fourth +** parameter is an arbitrary client data pointer that is passed through +** into the [xCreate] and [xConnect] methods of the virtual table module +** when a new virtual table is be being created or reinitialized. +** +** ^The sqlite3_create_module_v2() interface has a fifth parameter which +** is a pointer to a destructor for the pClientData. ^SQLite will +** invoke the destructor function (if it is not NULL) when SQLite +** no longer needs the pClientData pointer. ^The destructor will also +** be invoked if the call to sqlite3_create_module_v2() fails. +** ^The sqlite3_create_module() +** interface is equivalent to sqlite3_create_module_v2() with a NULL +** destructor. +*/ +SQLITE_API int sqlite3_create_module( + sqlite3 *db, /* SQLite connection to register module with */ + const char *zName, /* Name of the module */ + const sqlite3_module *p, /* Methods for the module */ + void *pClientData /* Client data for xCreate/xConnect */ +); +SQLITE_API int sqlite3_create_module_v2( + sqlite3 *db, /* SQLite connection to register module with */ + const char *zName, /* Name of the module */ + const sqlite3_module *p, /* Methods for the module */ + void *pClientData, /* Client data for xCreate/xConnect */ + void(*xDestroy)(void*) /* Module destructor function */ +); + +/* +** CAPI3REF: Virtual Table Instance Object +** KEYWORDS: sqlite3_vtab +** +** Every [virtual table module] implementation uses a subclass +** of this object to describe a particular instance +** of the [virtual table]. Each subclass will +** be tailored to the specific needs of the module implementation. +** The purpose of this superclass is to define certain fields that are +** common to all module implementations. +** +** ^Virtual tables methods can set an error message by assigning a +** string obtained from [sqlite3_mprintf()] to zErrMsg. The method should +** take care that any prior string is freed by a call to [sqlite3_free()] +** prior to assigning a new string to zErrMsg. ^After the error message +** is delivered up to the client application, the string will be automatically +** freed by sqlite3_free() and the zErrMsg field will be zeroed. +*/ +struct sqlite3_vtab { + const sqlite3_module *pModule; /* The module for this virtual table */ + int nRef; /* Number of open cursors */ + char *zErrMsg; /* Error message from sqlite3_mprintf() */ + /* Virtual table implementations will typically add additional fields */ +}; + +/* +** CAPI3REF: Virtual Table Cursor Object +** KEYWORDS: sqlite3_vtab_cursor {virtual table cursor} +** +** Every [virtual table module] implementation uses a subclass of the +** following structure to describe cursors that point into the +** [virtual table] and are used +** to loop through the virtual table. Cursors are created using the +** [sqlite3_module.xOpen | xOpen] method of the module and are destroyed +** by the [sqlite3_module.xClose | xClose] method. Cursors are used +** by the [xFilter], [xNext], [xEof], [xColumn], and [xRowid] methods +** of the module. Each module implementation will define +** the content of a cursor structure to suit its own needs. +** +** This superclass exists in order to define fields of the cursor that +** are common to all implementations. +*/ +struct sqlite3_vtab_cursor { + sqlite3_vtab *pVtab; /* Virtual table of this cursor */ + /* Virtual table implementations will typically add additional fields */ +}; + +/* +** CAPI3REF: Declare The Schema Of A Virtual Table +** +** ^The [xCreate] and [xConnect] methods of a +** [virtual table module] call this interface +** to declare the format (the names and datatypes of the columns) of +** the virtual tables they implement. +*/ +SQLITE_API int sqlite3_declare_vtab(sqlite3*, const char *zSQL); + +/* +** CAPI3REF: Overload A Function For A Virtual Table +** METHOD: sqlite3 +** +** ^(Virtual tables can provide alternative implementations of functions +** using the [xFindFunction] method of the [virtual table module]. +** But global versions of those functions +** must exist in order to be overloaded.)^ +** +** ^(This API makes sure a global version of a function with a particular +** name and number of parameters exists. If no such function exists +** before this API is called, a new function is created.)^ ^The implementation +** of the new function always causes an exception to be thrown. So +** the new function is not good for anything by itself. Its only +** purpose is to be a placeholder function that can be overloaded +** by a [virtual table]. +*/ +SQLITE_API int sqlite3_overload_function(sqlite3*, const char *zFuncName, int nArg); + +/* +** The interface to the virtual-table mechanism defined above (back up +** to a comment remarkably similar to this one) is currently considered +** to be experimental. The interface might change in incompatible ways. +** If this is a problem for you, do not use the interface at this time. +** +** When the virtual-table mechanism stabilizes, we will declare the +** interface fixed, support it indefinitely, and remove this comment. +*/ + +/* +** CAPI3REF: A Handle To An Open BLOB +** KEYWORDS: {BLOB handle} {BLOB handles} +** +** An instance of this object represents an open BLOB on which +** [sqlite3_blob_open | incremental BLOB I/O] can be performed. +** ^Objects of this type are created by [sqlite3_blob_open()] +** and destroyed by [sqlite3_blob_close()]. +** ^The [sqlite3_blob_read()] and [sqlite3_blob_write()] interfaces +** can be used to read or write small subsections of the BLOB. +** ^The [sqlite3_blob_bytes()] interface returns the size of the BLOB in bytes. +*/ +typedef struct sqlite3_blob sqlite3_blob; + +/* +** CAPI3REF: Open A BLOB For Incremental I/O +** METHOD: sqlite3 +** CONSTRUCTOR: sqlite3_blob +** +** ^(This interfaces opens a [BLOB handle | handle] to the BLOB located +** in row iRow, column zColumn, table zTable in database zDb; +** in other words, the same BLOB that would be selected by: +** +**
+**     SELECT zColumn FROM zDb.zTable WHERE [rowid] = iRow;
+** 
)^ +** +** ^(Parameter zDb is not the filename that contains the database, but +** rather the symbolic name of the database. For attached databases, this is +** the name that appears after the AS keyword in the [ATTACH] statement. +** For the main database file, the database name is "main". For TEMP +** tables, the database name is "temp".)^ +** +** ^If the flags parameter is non-zero, then the BLOB is opened for read +** and write access. ^If the flags parameter is zero, the BLOB is opened for +** read-only access. +** +** ^(On success, [SQLITE_OK] is returned and the new [BLOB handle] is stored +** in *ppBlob. Otherwise an [error code] is returned and, unless the error +** code is SQLITE_MISUSE, *ppBlob is set to NULL.)^ ^This means that, provided +** the API is not misused, it is always safe to call [sqlite3_blob_close()] +** on *ppBlob after this function it returns. +** +** This function fails with SQLITE_ERROR if any of the following are true: +**
    +**
  • ^(Database zDb does not exist)^, +**
  • ^(Table zTable does not exist within database zDb)^, +**
  • ^(Table zTable is a WITHOUT ROWID table)^, +**
  • ^(Column zColumn does not exist)^, +**
  • ^(Row iRow is not present in the table)^, +**
  • ^(The specified column of row iRow contains a value that is not +** a TEXT or BLOB value)^, +**
  • ^(Column zColumn is part of an index, PRIMARY KEY or UNIQUE +** constraint and the blob is being opened for read/write access)^, +**
  • ^([foreign key constraints | Foreign key constraints] are enabled, +** column zColumn is part of a [child key] definition and the blob is +** being opened for read/write access)^. +**
+** +** ^Unless it returns SQLITE_MISUSE, this function sets the +** [database connection] error code and message accessible via +** [sqlite3_errcode()] and [sqlite3_errmsg()] and related functions. +** +** A BLOB referenced by sqlite3_blob_open() may be read using the +** [sqlite3_blob_read()] interface and modified by using +** [sqlite3_blob_write()]. The [BLOB handle] can be moved to a +** different row of the same table using the [sqlite3_blob_reopen()] +** interface. However, the column, table, or database of a [BLOB handle] +** cannot be changed after the [BLOB handle] is opened. +** +** ^(If the row that a BLOB handle points to is modified by an +** [UPDATE], [DELETE], or by [ON CONFLICT] side-effects +** then the BLOB handle is marked as "expired". +** This is true if any column of the row is changed, even a column +** other than the one the BLOB handle is open on.)^ +** ^Calls to [sqlite3_blob_read()] and [sqlite3_blob_write()] for +** an expired BLOB handle fail with a return code of [SQLITE_ABORT]. +** ^(Changes written into a BLOB prior to the BLOB expiring are not +** rolled back by the expiration of the BLOB. Such changes will eventually +** commit if the transaction continues to completion.)^ +** +** ^Use the [sqlite3_blob_bytes()] interface to determine the size of +** the opened blob. ^The size of a blob may not be changed by this +** interface. Use the [UPDATE] SQL command to change the size of a +** blob. +** +** ^The [sqlite3_bind_zeroblob()] and [sqlite3_result_zeroblob()] interfaces +** and the built-in [zeroblob] SQL function may be used to create a +** zero-filled blob to read or write using the incremental-blob interface. +** +** To avoid a resource leak, every open [BLOB handle] should eventually +** be released by a call to [sqlite3_blob_close()]. +** +** See also: [sqlite3_blob_close()], +** [sqlite3_blob_reopen()], [sqlite3_blob_read()], +** [sqlite3_blob_bytes()], [sqlite3_blob_write()]. +*/ +SQLITE_API int sqlite3_blob_open( + sqlite3*, + const char *zDb, + const char *zTable, + const char *zColumn, + sqlite3_int64 iRow, + int flags, + sqlite3_blob **ppBlob +); + +/* +** CAPI3REF: Move a BLOB Handle to a New Row +** METHOD: sqlite3_blob +** +** ^This function is used to move an existing [BLOB handle] so that it points +** to a different row of the same database table. ^The new row is identified +** by the rowid value passed as the second argument. Only the row can be +** changed. ^The database, table and column on which the blob handle is open +** remain the same. Moving an existing [BLOB handle] to a new row is +** faster than closing the existing handle and opening a new one. +** +** ^(The new row must meet the same criteria as for [sqlite3_blob_open()] - +** it must exist and there must be either a blob or text value stored in +** the nominated column.)^ ^If the new row is not present in the table, or if +** it does not contain a blob or text value, or if another error occurs, an +** SQLite error code is returned and the blob handle is considered aborted. +** ^All subsequent calls to [sqlite3_blob_read()], [sqlite3_blob_write()] or +** [sqlite3_blob_reopen()] on an aborted blob handle immediately return +** SQLITE_ABORT. ^Calling [sqlite3_blob_bytes()] on an aborted blob handle +** always returns zero. +** +** ^This function sets the database handle error code and message. +*/ +SQLITE_API int sqlite3_blob_reopen(sqlite3_blob *, sqlite3_int64); + +/* +** CAPI3REF: Close A BLOB Handle +** DESTRUCTOR: sqlite3_blob +** +** ^This function closes an open [BLOB handle]. ^(The BLOB handle is closed +** unconditionally. Even if this routine returns an error code, the +** handle is still closed.)^ +** +** ^If the blob handle being closed was opened for read-write access, and if +** the database is in auto-commit mode and there are no other open read-write +** blob handles or active write statements, the current transaction is +** committed. ^If an error occurs while committing the transaction, an error +** code is returned and the transaction rolled back. +** +** Calling this function with an argument that is not a NULL pointer or an +** open blob handle results in undefined behaviour. ^Calling this routine +** with a null pointer (such as would be returned by a failed call to +** [sqlite3_blob_open()]) is a harmless no-op. ^Otherwise, if this function +** is passed a valid open blob handle, the values returned by the +** sqlite3_errcode() and sqlite3_errmsg() functions are set before returning. +*/ +SQLITE_API int sqlite3_blob_close(sqlite3_blob *); + +/* +** CAPI3REF: Return The Size Of An Open BLOB +** METHOD: sqlite3_blob +** +** ^Returns the size in bytes of the BLOB accessible via the +** successfully opened [BLOB handle] in its only argument. ^The +** incremental blob I/O routines can only read or overwriting existing +** blob content; they cannot change the size of a blob. +** +** This routine only works on a [BLOB handle] which has been created +** by a prior successful call to [sqlite3_blob_open()] and which has not +** been closed by [sqlite3_blob_close()]. Passing any other pointer in +** to this routine results in undefined and probably undesirable behavior. +*/ +SQLITE_API int sqlite3_blob_bytes(sqlite3_blob *); + +/* +** CAPI3REF: Read Data From A BLOB Incrementally +** METHOD: sqlite3_blob +** +** ^(This function is used to read data from an open [BLOB handle] into a +** caller-supplied buffer. N bytes of data are copied into buffer Z +** from the open BLOB, starting at offset iOffset.)^ +** +** ^If offset iOffset is less than N bytes from the end of the BLOB, +** [SQLITE_ERROR] is returned and no data is read. ^If N or iOffset is +** less than zero, [SQLITE_ERROR] is returned and no data is read. +** ^The size of the blob (and hence the maximum value of N+iOffset) +** can be determined using the [sqlite3_blob_bytes()] interface. +** +** ^An attempt to read from an expired [BLOB handle] fails with an +** error code of [SQLITE_ABORT]. +** +** ^(On success, sqlite3_blob_read() returns SQLITE_OK. +** Otherwise, an [error code] or an [extended error code] is returned.)^ +** +** This routine only works on a [BLOB handle] which has been created +** by a prior successful call to [sqlite3_blob_open()] and which has not +** been closed by [sqlite3_blob_close()]. Passing any other pointer in +** to this routine results in undefined and probably undesirable behavior. +** +** See also: [sqlite3_blob_write()]. +*/ +SQLITE_API int sqlite3_blob_read(sqlite3_blob *, void *Z, int N, int iOffset); + +/* +** CAPI3REF: Write Data Into A BLOB Incrementally +** METHOD: sqlite3_blob +** +** ^(This function is used to write data into an open [BLOB handle] from a +** caller-supplied buffer. N bytes of data are copied from the buffer Z +** into the open BLOB, starting at offset iOffset.)^ +** +** ^(On success, sqlite3_blob_write() returns SQLITE_OK. +** Otherwise, an [error code] or an [extended error code] is returned.)^ +** ^Unless SQLITE_MISUSE is returned, this function sets the +** [database connection] error code and message accessible via +** [sqlite3_errcode()] and [sqlite3_errmsg()] and related functions. +** +** ^If the [BLOB handle] passed as the first argument was not opened for +** writing (the flags parameter to [sqlite3_blob_open()] was zero), +** this function returns [SQLITE_READONLY]. +** +** This function may only modify the contents of the BLOB; it is +** not possible to increase the size of a BLOB using this API. +** ^If offset iOffset is less than N bytes from the end of the BLOB, +** [SQLITE_ERROR] is returned and no data is written. The size of the +** BLOB (and hence the maximum value of N+iOffset) can be determined +** using the [sqlite3_blob_bytes()] interface. ^If N or iOffset are less +** than zero [SQLITE_ERROR] is returned and no data is written. +** +** ^An attempt to write to an expired [BLOB handle] fails with an +** error code of [SQLITE_ABORT]. ^Writes to the BLOB that occurred +** before the [BLOB handle] expired are not rolled back by the +** expiration of the handle, though of course those changes might +** have been overwritten by the statement that expired the BLOB handle +** or by other independent statements. +** +** This routine only works on a [BLOB handle] which has been created +** by a prior successful call to [sqlite3_blob_open()] and which has not +** been closed by [sqlite3_blob_close()]. Passing any other pointer in +** to this routine results in undefined and probably undesirable behavior. +** +** See also: [sqlite3_blob_read()]. +*/ +SQLITE_API int sqlite3_blob_write(sqlite3_blob *, const void *z, int n, int iOffset); + +/* +** CAPI3REF: Virtual File System Objects +** +** A virtual filesystem (VFS) is an [sqlite3_vfs] object +** that SQLite uses to interact +** with the underlying operating system. Most SQLite builds come with a +** single default VFS that is appropriate for the host computer. +** New VFSes can be registered and existing VFSes can be unregistered. +** The following interfaces are provided. +** +** ^The sqlite3_vfs_find() interface returns a pointer to a VFS given its name. +** ^Names are case sensitive. +** ^Names are zero-terminated UTF-8 strings. +** ^If there is no match, a NULL pointer is returned. +** ^If zVfsName is NULL then the default VFS is returned. +** +** ^New VFSes are registered with sqlite3_vfs_register(). +** ^Each new VFS becomes the default VFS if the makeDflt flag is set. +** ^The same VFS can be registered multiple times without injury. +** ^To make an existing VFS into the default VFS, register it again +** with the makeDflt flag set. If two different VFSes with the +** same name are registered, the behavior is undefined. If a +** VFS is registered with a name that is NULL or an empty string, +** then the behavior is undefined. +** +** ^Unregister a VFS with the sqlite3_vfs_unregister() interface. +** ^(If the default VFS is unregistered, another VFS is chosen as +** the default. The choice for the new VFS is arbitrary.)^ +*/ +SQLITE_API sqlite3_vfs *sqlite3_vfs_find(const char *zVfsName); +SQLITE_API int sqlite3_vfs_register(sqlite3_vfs*, int makeDflt); +SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs*); + +/* +** CAPI3REF: Mutexes +** +** The SQLite core uses these routines for thread +** synchronization. Though they are intended for internal +** use by SQLite, code that links against SQLite is +** permitted to use any of these routines. +** +** The SQLite source code contains multiple implementations +** of these mutex routines. An appropriate implementation +** is selected automatically at compile-time. The following +** implementations are available in the SQLite core: +** +**
    +**
  • SQLITE_MUTEX_PTHREADS +**
  • SQLITE_MUTEX_W32 +**
  • SQLITE_MUTEX_NOOP +**
+** +** The SQLITE_MUTEX_NOOP implementation is a set of routines +** that does no real locking and is appropriate for use in +** a single-threaded application. The SQLITE_MUTEX_PTHREADS and +** SQLITE_MUTEX_W32 implementations are appropriate for use on Unix +** and Windows. +** +** If SQLite is compiled with the SQLITE_MUTEX_APPDEF preprocessor +** macro defined (with "-DSQLITE_MUTEX_APPDEF=1"), then no mutex +** implementation is included with the library. In this case the +** application must supply a custom mutex implementation using the +** [SQLITE_CONFIG_MUTEX] option of the sqlite3_config() function +** before calling sqlite3_initialize() or any other public sqlite3_ +** function that calls sqlite3_initialize(). +** +** ^The sqlite3_mutex_alloc() routine allocates a new +** mutex and returns a pointer to it. ^The sqlite3_mutex_alloc() +** routine returns NULL if it is unable to allocate the requested +** mutex. The argument to sqlite3_mutex_alloc() must one of these +** integer constants: +** +**
    +**
  • SQLITE_MUTEX_FAST +**
  • SQLITE_MUTEX_RECURSIVE +**
  • SQLITE_MUTEX_STATIC_MASTER +**
  • SQLITE_MUTEX_STATIC_MEM +**
  • SQLITE_MUTEX_STATIC_OPEN +**
  • SQLITE_MUTEX_STATIC_PRNG +**
  • SQLITE_MUTEX_STATIC_LRU +**
  • SQLITE_MUTEX_STATIC_PMEM +**
  • SQLITE_MUTEX_STATIC_APP1 +**
  • SQLITE_MUTEX_STATIC_APP2 +**
  • SQLITE_MUTEX_STATIC_APP3 +**
  • SQLITE_MUTEX_STATIC_VFS1 +**
  • SQLITE_MUTEX_STATIC_VFS2 +**
  • SQLITE_MUTEX_STATIC_VFS3 +**
+** +** ^The first two constants (SQLITE_MUTEX_FAST and SQLITE_MUTEX_RECURSIVE) +** cause sqlite3_mutex_alloc() to create +** a new mutex. ^The new mutex is recursive when SQLITE_MUTEX_RECURSIVE +** is used but not necessarily so when SQLITE_MUTEX_FAST is used. +** The mutex implementation does not need to make a distinction +** between SQLITE_MUTEX_RECURSIVE and SQLITE_MUTEX_FAST if it does +** not want to. SQLite will only request a recursive mutex in +** cases where it really needs one. If a faster non-recursive mutex +** implementation is available on the host platform, the mutex subsystem +** might return such a mutex in response to SQLITE_MUTEX_FAST. +** +** ^The other allowed parameters to sqlite3_mutex_alloc() (anything other +** than SQLITE_MUTEX_FAST and SQLITE_MUTEX_RECURSIVE) each return +** a pointer to a static preexisting mutex. ^Nine static mutexes are +** used by the current version of SQLite. Future versions of SQLite +** may add additional static mutexes. Static mutexes are for internal +** use by SQLite only. Applications that use SQLite mutexes should +** use only the dynamic mutexes returned by SQLITE_MUTEX_FAST or +** SQLITE_MUTEX_RECURSIVE. +** +** ^Note that if one of the dynamic mutex parameters (SQLITE_MUTEX_FAST +** or SQLITE_MUTEX_RECURSIVE) is used then sqlite3_mutex_alloc() +** returns a different mutex on every call. ^For the static +** mutex types, the same mutex is returned on every call that has +** the same type number. +** +** ^The sqlite3_mutex_free() routine deallocates a previously +** allocated dynamic mutex. Attempting to deallocate a static +** mutex results in undefined behavior. +** +** ^The sqlite3_mutex_enter() and sqlite3_mutex_try() routines attempt +** to enter a mutex. ^If another thread is already within the mutex, +** sqlite3_mutex_enter() will block and sqlite3_mutex_try() will return +** SQLITE_BUSY. ^The sqlite3_mutex_try() interface returns [SQLITE_OK] +** upon successful entry. ^(Mutexes created using +** SQLITE_MUTEX_RECURSIVE can be entered multiple times by the same thread. +** In such cases, the +** mutex must be exited an equal number of times before another thread +** can enter.)^ If the same thread tries to enter any mutex other +** than an SQLITE_MUTEX_RECURSIVE more than once, the behavior is undefined. +** +** ^(Some systems (for example, Windows 95) do not support the operation +** implemented by sqlite3_mutex_try(). On those systems, sqlite3_mutex_try() +** will always return SQLITE_BUSY. The SQLite core only ever uses +** sqlite3_mutex_try() as an optimization so this is acceptable +** behavior.)^ +** +** ^The sqlite3_mutex_leave() routine exits a mutex that was +** previously entered by the same thread. The behavior +** is undefined if the mutex is not currently entered by the +** calling thread or is not currently allocated. +** +** ^If the argument to sqlite3_mutex_enter(), sqlite3_mutex_try(), or +** sqlite3_mutex_leave() is a NULL pointer, then all three routines +** behave as no-ops. +** +** See also: [sqlite3_mutex_held()] and [sqlite3_mutex_notheld()]. +*/ +SQLITE_API sqlite3_mutex *sqlite3_mutex_alloc(int); +SQLITE_API void sqlite3_mutex_free(sqlite3_mutex*); +SQLITE_API void sqlite3_mutex_enter(sqlite3_mutex*); +SQLITE_API int sqlite3_mutex_try(sqlite3_mutex*); +SQLITE_API void sqlite3_mutex_leave(sqlite3_mutex*); + +/* +** CAPI3REF: Mutex Methods Object +** +** An instance of this structure defines the low-level routines +** used to allocate and use mutexes. +** +** Usually, the default mutex implementations provided by SQLite are +** sufficient, however the application has the option of substituting a custom +** implementation for specialized deployments or systems for which SQLite +** does not provide a suitable implementation. In this case, the application +** creates and populates an instance of this structure to pass +** to sqlite3_config() along with the [SQLITE_CONFIG_MUTEX] option. +** Additionally, an instance of this structure can be used as an +** output variable when querying the system for the current mutex +** implementation, using the [SQLITE_CONFIG_GETMUTEX] option. +** +** ^The xMutexInit method defined by this structure is invoked as +** part of system initialization by the sqlite3_initialize() function. +** ^The xMutexInit routine is called by SQLite exactly once for each +** effective call to [sqlite3_initialize()]. +** +** ^The xMutexEnd method defined by this structure is invoked as +** part of system shutdown by the sqlite3_shutdown() function. The +** implementation of this method is expected to release all outstanding +** resources obtained by the mutex methods implementation, especially +** those obtained by the xMutexInit method. ^The xMutexEnd() +** interface is invoked exactly once for each call to [sqlite3_shutdown()]. +** +** ^(The remaining seven methods defined by this structure (xMutexAlloc, +** xMutexFree, xMutexEnter, xMutexTry, xMutexLeave, xMutexHeld and +** xMutexNotheld) implement the following interfaces (respectively): +** +**
    +**
  • [sqlite3_mutex_alloc()]
  • +**
  • [sqlite3_mutex_free()]
  • +**
  • [sqlite3_mutex_enter()]
  • +**
  • [sqlite3_mutex_try()]
  • +**
  • [sqlite3_mutex_leave()]
  • +**
  • [sqlite3_mutex_held()]
  • +**
  • [sqlite3_mutex_notheld()]
  • +**
)^ +** +** The only difference is that the public sqlite3_XXX functions enumerated +** above silently ignore any invocations that pass a NULL pointer instead +** of a valid mutex handle. The implementations of the methods defined +** by this structure are not required to handle this case, the results +** of passing a NULL pointer instead of a valid mutex handle are undefined +** (i.e. it is acceptable to provide an implementation that segfaults if +** it is passed a NULL pointer). +** +** The xMutexInit() method must be threadsafe. It must be harmless to +** invoke xMutexInit() multiple times within the same process and without +** intervening calls to xMutexEnd(). Second and subsequent calls to +** xMutexInit() must be no-ops. +** +** xMutexInit() must not use SQLite memory allocation ([sqlite3_malloc()] +** and its associates). Similarly, xMutexAlloc() must not use SQLite memory +** allocation for a static mutex. ^However xMutexAlloc() may use SQLite +** memory allocation for a fast or recursive mutex. +** +** ^SQLite will invoke the xMutexEnd() method when [sqlite3_shutdown()] is +** called, but only if the prior call to xMutexInit returned SQLITE_OK. +** If xMutexInit fails in any way, it is expected to clean up after itself +** prior to returning. +*/ +typedef struct sqlite3_mutex_methods sqlite3_mutex_methods; +struct sqlite3_mutex_methods { + int (*xMutexInit)(void); + int (*xMutexEnd)(void); + sqlite3_mutex *(*xMutexAlloc)(int); + void (*xMutexFree)(sqlite3_mutex *); + void (*xMutexEnter)(sqlite3_mutex *); + int (*xMutexTry)(sqlite3_mutex *); + void (*xMutexLeave)(sqlite3_mutex *); + int (*xMutexHeld)(sqlite3_mutex *); + int (*xMutexNotheld)(sqlite3_mutex *); +}; + +/* +** CAPI3REF: Mutex Verification Routines +** +** The sqlite3_mutex_held() and sqlite3_mutex_notheld() routines +** are intended for use inside assert() statements. The SQLite core +** never uses these routines except inside an assert() and applications +** are advised to follow the lead of the core. The SQLite core only +** provides implementations for these routines when it is compiled +** with the SQLITE_DEBUG flag. External mutex implementations +** are only required to provide these routines if SQLITE_DEBUG is +** defined and if NDEBUG is not defined. +** +** These routines should return true if the mutex in their argument +** is held or not held, respectively, by the calling thread. +** +** The implementation is not required to provide versions of these +** routines that actually work. If the implementation does not provide working +** versions of these routines, it should at least provide stubs that always +** return true so that one does not get spurious assertion failures. +** +** If the argument to sqlite3_mutex_held() is a NULL pointer then +** the routine should return 1. This seems counter-intuitive since +** clearly the mutex cannot be held if it does not exist. But +** the reason the mutex does not exist is because the build is not +** using mutexes. And we do not want the assert() containing the +** call to sqlite3_mutex_held() to fail, so a non-zero return is +** the appropriate thing to do. The sqlite3_mutex_notheld() +** interface should also return 1 when given a NULL pointer. +*/ +#ifndef NDEBUG +SQLITE_API int sqlite3_mutex_held(sqlite3_mutex*); +SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex*); +#endif + +/* +** CAPI3REF: Mutex Types +** +** The [sqlite3_mutex_alloc()] interface takes a single argument +** which is one of these integer constants. +** +** The set of static mutexes may change from one SQLite release to the +** next. Applications that override the built-in mutex logic must be +** prepared to accommodate additional static mutexes. +*/ +#define SQLITE_MUTEX_FAST 0 +#define SQLITE_MUTEX_RECURSIVE 1 +#define SQLITE_MUTEX_STATIC_MASTER 2 +#define SQLITE_MUTEX_STATIC_MEM 3 /* sqlite3_malloc() */ +#define SQLITE_MUTEX_STATIC_MEM2 4 /* NOT USED */ +#define SQLITE_MUTEX_STATIC_OPEN 4 /* sqlite3BtreeOpen() */ +#define SQLITE_MUTEX_STATIC_PRNG 5 /* sqlite3_randomness() */ +#define SQLITE_MUTEX_STATIC_LRU 6 /* lru page list */ +#define SQLITE_MUTEX_STATIC_LRU2 7 /* NOT USED */ +#define SQLITE_MUTEX_STATIC_PMEM 7 /* sqlite3PageMalloc() */ +#define SQLITE_MUTEX_STATIC_APP1 8 /* For use by application */ +#define SQLITE_MUTEX_STATIC_APP2 9 /* For use by application */ +#define SQLITE_MUTEX_STATIC_APP3 10 /* For use by application */ +#define SQLITE_MUTEX_STATIC_VFS1 11 /* For use by built-in VFS */ +#define SQLITE_MUTEX_STATIC_VFS2 12 /* For use by extension VFS */ +#define SQLITE_MUTEX_STATIC_VFS3 13 /* For use by application VFS */ + +/* +** CAPI3REF: Retrieve the mutex for a database connection +** METHOD: sqlite3 +** +** ^This interface returns a pointer the [sqlite3_mutex] object that +** serializes access to the [database connection] given in the argument +** when the [threading mode] is Serialized. +** ^If the [threading mode] is Single-thread or Multi-thread then this +** routine returns a NULL pointer. +*/ +SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*); + +/* +** CAPI3REF: Low-Level Control Of Database Files +** METHOD: sqlite3 +** +** ^The [sqlite3_file_control()] interface makes a direct call to the +** xFileControl method for the [sqlite3_io_methods] object associated +** with a particular database identified by the second argument. ^The +** name of the database is "main" for the main database or "temp" for the +** TEMP database, or the name that appears after the AS keyword for +** databases that are added using the [ATTACH] SQL command. +** ^A NULL pointer can be used in place of "main" to refer to the +** main database file. +** ^The third and fourth parameters to this routine +** are passed directly through to the second and third parameters of +** the xFileControl method. ^The return value of the xFileControl +** method becomes the return value of this routine. +** +** ^The [SQLITE_FCNTL_FILE_POINTER] value for the op parameter causes +** a pointer to the underlying [sqlite3_file] object to be written into +** the space pointed to by the 4th parameter. ^The [SQLITE_FCNTL_FILE_POINTER] +** case is a short-circuit path which does not actually invoke the +** underlying sqlite3_io_methods.xFileControl method. +** +** ^If the second parameter (zDbName) does not match the name of any +** open database file, then SQLITE_ERROR is returned. ^This error +** code is not remembered and will not be recalled by [sqlite3_errcode()] +** or [sqlite3_errmsg()]. The underlying xFileControl method might +** also return SQLITE_ERROR. There is no way to distinguish between +** an incorrect zDbName and an SQLITE_ERROR return from the underlying +** xFileControl method. +** +** See also: [file control opcodes] +*/ +SQLITE_API int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*); + +/* +** CAPI3REF: Testing Interface +** +** ^The sqlite3_test_control() interface is used to read out internal +** state of SQLite and to inject faults into SQLite for testing +** purposes. ^The first parameter is an operation code that determines +** the number, meaning, and operation of all subsequent parameters. +** +** This interface is not for use by applications. It exists solely +** for verifying the correct operation of the SQLite library. Depending +** on how the SQLite library is compiled, this interface might not exist. +** +** The details of the operation codes, their meanings, the parameters +** they take, and what they do are all subject to change without notice. +** Unlike most of the SQLite API, this function is not guaranteed to +** operate consistently from one release to the next. +*/ +SQLITE_API int sqlite3_test_control(int op, ...); + +/* +** CAPI3REF: Testing Interface Operation Codes +** +** These constants are the valid operation code parameters used +** as the first argument to [sqlite3_test_control()]. +** +** These parameters and their meanings are subject to change +** without notice. These values are for testing purposes only. +** Applications should not use any of these parameters or the +** [sqlite3_test_control()] interface. +*/ +#define SQLITE_TESTCTRL_FIRST 5 +#define SQLITE_TESTCTRL_PRNG_SAVE 5 +#define SQLITE_TESTCTRL_PRNG_RESTORE 6 +#define SQLITE_TESTCTRL_PRNG_RESET 7 +#define SQLITE_TESTCTRL_BITVEC_TEST 8 +#define SQLITE_TESTCTRL_FAULT_INSTALL 9 +#define SQLITE_TESTCTRL_BENIGN_MALLOC_HOOKS 10 +#define SQLITE_TESTCTRL_PENDING_BYTE 11 +#define SQLITE_TESTCTRL_ASSERT 12 +#define SQLITE_TESTCTRL_ALWAYS 13 +#define SQLITE_TESTCTRL_RESERVE 14 +#define SQLITE_TESTCTRL_OPTIMIZATIONS 15 +#define SQLITE_TESTCTRL_ISKEYWORD 16 +#define SQLITE_TESTCTRL_SCRATCHMALLOC 17 /* NOT USED */ +#define SQLITE_TESTCTRL_LOCALTIME_FAULT 18 +#define SQLITE_TESTCTRL_EXPLAIN_STMT 19 /* NOT USED */ +#define SQLITE_TESTCTRL_ONCE_RESET_THRESHOLD 19 +#define SQLITE_TESTCTRL_NEVER_CORRUPT 20 +#define SQLITE_TESTCTRL_VDBE_COVERAGE 21 +#define SQLITE_TESTCTRL_BYTEORDER 22 +#define SQLITE_TESTCTRL_ISINIT 23 +#define SQLITE_TESTCTRL_SORTER_MMAP 24 +#define SQLITE_TESTCTRL_IMPOSTER 25 +#define SQLITE_TESTCTRL_PARSER_COVERAGE 26 +#define SQLITE_TESTCTRL_LAST 26 /* Largest TESTCTRL */ + +/* +** CAPI3REF: SQLite Runtime Status +** +** ^These interfaces are used to retrieve runtime status information +** about the performance of SQLite, and optionally to reset various +** highwater marks. ^The first argument is an integer code for +** the specific parameter to measure. ^(Recognized integer codes +** are of the form [status parameters | SQLITE_STATUS_...].)^ +** ^The current value of the parameter is returned into *pCurrent. +** ^The highest recorded value is returned in *pHighwater. ^If the +** resetFlag is true, then the highest record value is reset after +** *pHighwater is written. ^(Some parameters do not record the highest +** value. For those parameters +** nothing is written into *pHighwater and the resetFlag is ignored.)^ +** ^(Other parameters record only the highwater mark and not the current +** value. For these latter parameters nothing is written into *pCurrent.)^ +** +** ^The sqlite3_status() and sqlite3_status64() routines return +** SQLITE_OK on success and a non-zero [error code] on failure. +** +** If either the current value or the highwater mark is too large to +** be represented by a 32-bit integer, then the values returned by +** sqlite3_status() are undefined. +** +** See also: [sqlite3_db_status()] +*/ +SQLITE_API int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetFlag); +SQLITE_API int sqlite3_status64( + int op, + sqlite3_int64 *pCurrent, + sqlite3_int64 *pHighwater, + int resetFlag +); + + +/* +** CAPI3REF: Status Parameters +** KEYWORDS: {status parameters} +** +** These integer constants designate various run-time status parameters +** that can be returned by [sqlite3_status()]. +** +**
+** [[SQLITE_STATUS_MEMORY_USED]] ^(
SQLITE_STATUS_MEMORY_USED
+**
This parameter is the current amount of memory checked out +** using [sqlite3_malloc()], either directly or indirectly. The +** figure includes calls made to [sqlite3_malloc()] by the application +** and internal memory usage by the SQLite library. Auxiliary page-cache +** memory controlled by [SQLITE_CONFIG_PAGECACHE] is not included in +** this parameter. The amount returned is the sum of the allocation +** sizes as reported by the xSize method in [sqlite3_mem_methods].
)^ +** +** [[SQLITE_STATUS_MALLOC_SIZE]] ^(
SQLITE_STATUS_MALLOC_SIZE
+**
This parameter records the largest memory allocation request +** handed to [sqlite3_malloc()] or [sqlite3_realloc()] (or their +** internal equivalents). Only the value returned in the +** *pHighwater parameter to [sqlite3_status()] is of interest. +** The value written into the *pCurrent parameter is undefined.
)^ +** +** [[SQLITE_STATUS_MALLOC_COUNT]] ^(
SQLITE_STATUS_MALLOC_COUNT
+**
This parameter records the number of separate memory allocations +** currently checked out.
)^ +** +** [[SQLITE_STATUS_PAGECACHE_USED]] ^(
SQLITE_STATUS_PAGECACHE_USED
+**
This parameter returns the number of pages used out of the +** [pagecache memory allocator] that was configured using +** [SQLITE_CONFIG_PAGECACHE]. The +** value returned is in pages, not in bytes.
)^ +** +** [[SQLITE_STATUS_PAGECACHE_OVERFLOW]] +** ^(
SQLITE_STATUS_PAGECACHE_OVERFLOW
+**
This parameter returns the number of bytes of page cache +** allocation which could not be satisfied by the [SQLITE_CONFIG_PAGECACHE] +** buffer and where forced to overflow to [sqlite3_malloc()]. The +** returned value includes allocations that overflowed because they +** where too large (they were larger than the "sz" parameter to +** [SQLITE_CONFIG_PAGECACHE]) and allocations that overflowed because +** no space was left in the page cache.
)^ +** +** [[SQLITE_STATUS_PAGECACHE_SIZE]] ^(
SQLITE_STATUS_PAGECACHE_SIZE
+**
This parameter records the largest memory allocation request +** handed to [pagecache memory allocator]. Only the value returned in the +** *pHighwater parameter to [sqlite3_status()] is of interest. +** The value written into the *pCurrent parameter is undefined.
)^ +** +** [[SQLITE_STATUS_SCRATCH_USED]]
SQLITE_STATUS_SCRATCH_USED
+**
No longer used.
+** +** [[SQLITE_STATUS_SCRATCH_OVERFLOW]] ^(
SQLITE_STATUS_SCRATCH_OVERFLOW
+**
No longer used.
+** +** [[SQLITE_STATUS_SCRATCH_SIZE]]
SQLITE_STATUS_SCRATCH_SIZE
+**
No longer used.
+** +** [[SQLITE_STATUS_PARSER_STACK]] ^(
SQLITE_STATUS_PARSER_STACK
+**
The *pHighwater parameter records the deepest parser stack. +** The *pCurrent value is undefined. The *pHighwater value is only +** meaningful if SQLite is compiled with [YYTRACKMAXSTACKDEPTH].
)^ +**
+** +** New status parameters may be added from time to time. +*/ +#define SQLITE_STATUS_MEMORY_USED 0 +#define SQLITE_STATUS_PAGECACHE_USED 1 +#define SQLITE_STATUS_PAGECACHE_OVERFLOW 2 +#define SQLITE_STATUS_SCRATCH_USED 3 /* NOT USED */ +#define SQLITE_STATUS_SCRATCH_OVERFLOW 4 /* NOT USED */ +#define SQLITE_STATUS_MALLOC_SIZE 5 +#define SQLITE_STATUS_PARSER_STACK 6 +#define SQLITE_STATUS_PAGECACHE_SIZE 7 +#define SQLITE_STATUS_SCRATCH_SIZE 8 /* NOT USED */ +#define SQLITE_STATUS_MALLOC_COUNT 9 + +/* +** CAPI3REF: Database Connection Status +** METHOD: sqlite3 +** +** ^This interface is used to retrieve runtime status information +** about a single [database connection]. ^The first argument is the +** database connection object to be interrogated. ^The second argument +** is an integer constant, taken from the set of +** [SQLITE_DBSTATUS options], that +** determines the parameter to interrogate. The set of +** [SQLITE_DBSTATUS options] is likely +** to grow in future releases of SQLite. +** +** ^The current value of the requested parameter is written into *pCur +** and the highest instantaneous value is written into *pHiwtr. ^If +** the resetFlg is true, then the highest instantaneous value is +** reset back down to the current value. +** +** ^The sqlite3_db_status() routine returns SQLITE_OK on success and a +** non-zero [error code] on failure. +** +** See also: [sqlite3_status()] and [sqlite3_stmt_status()]. +*/ +SQLITE_API int sqlite3_db_status(sqlite3*, int op, int *pCur, int *pHiwtr, int resetFlg); + +/* +** CAPI3REF: Status Parameters for database connections +** KEYWORDS: {SQLITE_DBSTATUS options} +** +** These constants are the available integer "verbs" that can be passed as +** the second argument to the [sqlite3_db_status()] interface. +** +** New verbs may be added in future releases of SQLite. Existing verbs +** might be discontinued. Applications should check the return code from +** [sqlite3_db_status()] to make sure that the call worked. +** The [sqlite3_db_status()] interface will return a non-zero error code +** if a discontinued or unsupported verb is invoked. +** +**
+** [[SQLITE_DBSTATUS_LOOKASIDE_USED]] ^(
SQLITE_DBSTATUS_LOOKASIDE_USED
+**
This parameter returns the number of lookaside memory slots currently +** checked out.
)^ +** +** [[SQLITE_DBSTATUS_LOOKASIDE_HIT]] ^(
SQLITE_DBSTATUS_LOOKASIDE_HIT
+**
This parameter returns the number malloc attempts that were +** satisfied using lookaside memory. Only the high-water value is meaningful; +** the current value is always zero.)^ +** +** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE]] +** ^(
SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE
+**
This parameter returns the number malloc attempts that might have +** been satisfied using lookaside memory but failed due to the amount of +** memory requested being larger than the lookaside slot size. +** Only the high-water value is meaningful; +** the current value is always zero.)^ +** +** [[SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL]] +** ^(
SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL
+**
This parameter returns the number malloc attempts that might have +** been satisfied using lookaside memory but failed due to all lookaside +** memory already being in use. +** Only the high-water value is meaningful; +** the current value is always zero.)^ +** +** [[SQLITE_DBSTATUS_CACHE_USED]] ^(
SQLITE_DBSTATUS_CACHE_USED
+**
This parameter returns the approximate number of bytes of heap +** memory used by all pager caches associated with the database connection.)^ +** ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_USED is always 0. +** +** [[SQLITE_DBSTATUS_CACHE_USED_SHARED]] +** ^(
SQLITE_DBSTATUS_CACHE_USED_SHARED
+**
This parameter is similar to DBSTATUS_CACHE_USED, except that if a +** pager cache is shared between two or more connections the bytes of heap +** memory used by that pager cache is divided evenly between the attached +** connections.)^ In other words, if none of the pager caches associated +** with the database connection are shared, this request returns the same +** value as DBSTATUS_CACHE_USED. Or, if one or more or the pager caches are +** shared, the value returned by this call will be smaller than that returned +** by DBSTATUS_CACHE_USED. ^The highwater mark associated with +** SQLITE_DBSTATUS_CACHE_USED_SHARED is always 0. +** +** [[SQLITE_DBSTATUS_SCHEMA_USED]] ^(
SQLITE_DBSTATUS_SCHEMA_USED
+**
This parameter returns the approximate number of bytes of heap +** memory used to store the schema for all databases associated +** with the connection - main, temp, and any [ATTACH]-ed databases.)^ +** ^The full amount of memory used by the schemas is reported, even if the +** schema memory is shared with other database connections due to +** [shared cache mode] being enabled. +** ^The highwater mark associated with SQLITE_DBSTATUS_SCHEMA_USED is always 0. +** +** [[SQLITE_DBSTATUS_STMT_USED]] ^(
SQLITE_DBSTATUS_STMT_USED
+**
This parameter returns the approximate number of bytes of heap +** and lookaside memory used by all prepared statements associated with +** the database connection.)^ +** ^The highwater mark associated with SQLITE_DBSTATUS_STMT_USED is always 0. +**
+** +** [[SQLITE_DBSTATUS_CACHE_HIT]] ^(
SQLITE_DBSTATUS_CACHE_HIT
+**
This parameter returns the number of pager cache hits that have +** occurred.)^ ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_HIT +** is always 0. +**
+** +** [[SQLITE_DBSTATUS_CACHE_MISS]] ^(
SQLITE_DBSTATUS_CACHE_MISS
+**
This parameter returns the number of pager cache misses that have +** occurred.)^ ^The highwater mark associated with SQLITE_DBSTATUS_CACHE_MISS +** is always 0. +**
+** +** [[SQLITE_DBSTATUS_CACHE_WRITE]] ^(
SQLITE_DBSTATUS_CACHE_WRITE
+**
This parameter returns the number of dirty cache entries that have +** been written to disk. Specifically, the number of pages written to the +** wal file in wal mode databases, or the number of pages written to the +** database file in rollback mode databases. Any pages written as part of +** transaction rollback or database recovery operations are not included. +** If an IO or other error occurs while writing a page to disk, the effect +** on subsequent SQLITE_DBSTATUS_CACHE_WRITE requests is undefined.)^ ^The +** highwater mark associated with SQLITE_DBSTATUS_CACHE_WRITE is always 0. +**
+** +** [[SQLITE_DBSTATUS_CACHE_SPILL]] ^(
SQLITE_DBSTATUS_CACHE_SPILL
+**
This parameter returns the number of dirty cache entries that have +** been written to disk in the middle of a transaction due to the page +** cache overflowing. Transactions are more efficient if they are written +** to disk all at once. When pages spill mid-transaction, that introduces +** additional overhead. This parameter can be used help identify +** inefficiencies that can be resolve by increasing the cache size. +**
+** +** [[SQLITE_DBSTATUS_DEFERRED_FKS]] ^(
SQLITE_DBSTATUS_DEFERRED_FKS
+**
This parameter returns zero for the current value if and only if +** all foreign key constraints (deferred or immediate) have been +** resolved.)^ ^The highwater mark is always 0. +**
+**
+*/ +#define SQLITE_DBSTATUS_LOOKASIDE_USED 0 +#define SQLITE_DBSTATUS_CACHE_USED 1 +#define SQLITE_DBSTATUS_SCHEMA_USED 2 +#define SQLITE_DBSTATUS_STMT_USED 3 +#define SQLITE_DBSTATUS_LOOKASIDE_HIT 4 +#define SQLITE_DBSTATUS_LOOKASIDE_MISS_SIZE 5 +#define SQLITE_DBSTATUS_LOOKASIDE_MISS_FULL 6 +#define SQLITE_DBSTATUS_CACHE_HIT 7 +#define SQLITE_DBSTATUS_CACHE_MISS 8 +#define SQLITE_DBSTATUS_CACHE_WRITE 9 +#define SQLITE_DBSTATUS_DEFERRED_FKS 10 +#define SQLITE_DBSTATUS_CACHE_USED_SHARED 11 +#define SQLITE_DBSTATUS_CACHE_SPILL 12 +#define SQLITE_DBSTATUS_MAX 12 /* Largest defined DBSTATUS */ + + +/* +** CAPI3REF: Prepared Statement Status +** METHOD: sqlite3_stmt +** +** ^(Each prepared statement maintains various +** [SQLITE_STMTSTATUS counters] that measure the number +** of times it has performed specific operations.)^ These counters can +** be used to monitor the performance characteristics of the prepared +** statements. For example, if the number of table steps greatly exceeds +** the number of table searches or result rows, that would tend to indicate +** that the prepared statement is using a full table scan rather than +** an index. +** +** ^(This interface is used to retrieve and reset counter values from +** a [prepared statement]. The first argument is the prepared statement +** object to be interrogated. The second argument +** is an integer code for a specific [SQLITE_STMTSTATUS counter] +** to be interrogated.)^ +** ^The current value of the requested counter is returned. +** ^If the resetFlg is true, then the counter is reset to zero after this +** interface call returns. +** +** See also: [sqlite3_status()] and [sqlite3_db_status()]. +*/ +SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); + +/* +** CAPI3REF: Status Parameters for prepared statements +** KEYWORDS: {SQLITE_STMTSTATUS counter} {SQLITE_STMTSTATUS counters} +** +** These preprocessor macros define integer codes that name counter +** values associated with the [sqlite3_stmt_status()] interface. +** The meanings of the various counters are as follows: +** +**
+** [[SQLITE_STMTSTATUS_FULLSCAN_STEP]]
SQLITE_STMTSTATUS_FULLSCAN_STEP
+**
^This is the number of times that SQLite has stepped forward in +** a table as part of a full table scan. Large numbers for this counter +** may indicate opportunities for performance improvement through +** careful use of indices.
+** +** [[SQLITE_STMTSTATUS_SORT]]
SQLITE_STMTSTATUS_SORT
+**
^This is the number of sort operations that have occurred. +** A non-zero value in this counter may indicate an opportunity to +** improvement performance through careful use of indices.
+** +** [[SQLITE_STMTSTATUS_AUTOINDEX]]
SQLITE_STMTSTATUS_AUTOINDEX
+**
^This is the number of rows inserted into transient indices that +** were created automatically in order to help joins run faster. +** A non-zero value in this counter may indicate an opportunity to +** improvement performance by adding permanent indices that do not +** need to be reinitialized each time the statement is run.
+** +** [[SQLITE_STMTSTATUS_VM_STEP]]
SQLITE_STMTSTATUS_VM_STEP
+**
^This is the number of virtual machine operations executed +** by the prepared statement if that number is less than or equal +** to 2147483647. The number of virtual machine operations can be +** used as a proxy for the total work done by the prepared statement. +** If the number of virtual machine operations exceeds 2147483647 +** then the value returned by this statement status code is undefined. +** +** [[SQLITE_STMTSTATUS_REPREPARE]]
SQLITE_STMTSTATUS_REPREPARE
+**
^This is the number of times that the prepare statement has been +** automatically regenerated due to schema changes or change to +** [bound parameters] that might affect the query plan. +** +** [[SQLITE_STMTSTATUS_RUN]]
SQLITE_STMTSTATUS_RUN
+**
^This is the number of times that the prepared statement has +** been run. A single "run" for the purposes of this counter is one +** or more calls to [sqlite3_step()] followed by a call to [sqlite3_reset()]. +** The counter is incremented on the first [sqlite3_step()] call of each +** cycle. +** +** [[SQLITE_STMTSTATUS_MEMUSED]]
SQLITE_STMTSTATUS_MEMUSED
+**
^This is the approximate number of bytes of heap memory +** used to store the prepared statement. ^This value is not actually +** a counter, and so the resetFlg parameter to sqlite3_stmt_status() +** is ignored when the opcode is SQLITE_STMTSTATUS_MEMUSED. +**
+**
+*/ +#define SQLITE_STMTSTATUS_FULLSCAN_STEP 1 +#define SQLITE_STMTSTATUS_SORT 2 +#define SQLITE_STMTSTATUS_AUTOINDEX 3 +#define SQLITE_STMTSTATUS_VM_STEP 4 +#define SQLITE_STMTSTATUS_REPREPARE 5 +#define SQLITE_STMTSTATUS_RUN 6 +#define SQLITE_STMTSTATUS_MEMUSED 99 + +/* +** CAPI3REF: Custom Page Cache Object +** +** The sqlite3_pcache type is opaque. It is implemented by +** the pluggable module. The SQLite core has no knowledge of +** its size or internal structure and never deals with the +** sqlite3_pcache object except by holding and passing pointers +** to the object. +** +** See [sqlite3_pcache_methods2] for additional information. +*/ +typedef struct sqlite3_pcache sqlite3_pcache; + +/* +** CAPI3REF: Custom Page Cache Object +** +** The sqlite3_pcache_page object represents a single page in the +** page cache. The page cache will allocate instances of this +** object. Various methods of the page cache use pointers to instances +** of this object as parameters or as their return value. +** +** See [sqlite3_pcache_methods2] for additional information. +*/ +typedef struct sqlite3_pcache_page sqlite3_pcache_page; +struct sqlite3_pcache_page { + void *pBuf; /* The content of the page */ + void *pExtra; /* Extra information associated with the page */ +}; + +/* +** CAPI3REF: Application Defined Page Cache. +** KEYWORDS: {page cache} +** +** ^(The [sqlite3_config]([SQLITE_CONFIG_PCACHE2], ...) interface can +** register an alternative page cache implementation by passing in an +** instance of the sqlite3_pcache_methods2 structure.)^ +** In many applications, most of the heap memory allocated by +** SQLite is used for the page cache. +** By implementing a +** custom page cache using this API, an application can better control +** the amount of memory consumed by SQLite, the way in which +** that memory is allocated and released, and the policies used to +** determine exactly which parts of a database file are cached and for +** how long. +** +** The alternative page cache mechanism is an +** extreme measure that is only needed by the most demanding applications. +** The built-in page cache is recommended for most uses. +** +** ^(The contents of the sqlite3_pcache_methods2 structure are copied to an +** internal buffer by SQLite within the call to [sqlite3_config]. Hence +** the application may discard the parameter after the call to +** [sqlite3_config()] returns.)^ +** +** [[the xInit() page cache method]] +** ^(The xInit() method is called once for each effective +** call to [sqlite3_initialize()])^ +** (usually only once during the lifetime of the process). ^(The xInit() +** method is passed a copy of the sqlite3_pcache_methods2.pArg value.)^ +** The intent of the xInit() method is to set up global data structures +** required by the custom page cache implementation. +** ^(If the xInit() method is NULL, then the +** built-in default page cache is used instead of the application defined +** page cache.)^ +** +** [[the xShutdown() page cache method]] +** ^The xShutdown() method is called by [sqlite3_shutdown()]. +** It can be used to clean up +** any outstanding resources before process shutdown, if required. +** ^The xShutdown() method may be NULL. +** +** ^SQLite automatically serializes calls to the xInit method, +** so the xInit method need not be threadsafe. ^The +** xShutdown method is only called from [sqlite3_shutdown()] so it does +** not need to be threadsafe either. All other methods must be threadsafe +** in multithreaded applications. +** +** ^SQLite will never invoke xInit() more than once without an intervening +** call to xShutdown(). +** +** [[the xCreate() page cache methods]] +** ^SQLite invokes the xCreate() method to construct a new cache instance. +** SQLite will typically create one cache instance for each open database file, +** though this is not guaranteed. ^The +** first parameter, szPage, is the size in bytes of the pages that must +** be allocated by the cache. ^szPage will always a power of two. ^The +** second parameter szExtra is a number of bytes of extra storage +** associated with each page cache entry. ^The szExtra parameter will +** a number less than 250. SQLite will use the +** extra szExtra bytes on each page to store metadata about the underlying +** database page on disk. The value passed into szExtra depends +** on the SQLite version, the target platform, and how SQLite was compiled. +** ^The third argument to xCreate(), bPurgeable, is true if the cache being +** created will be used to cache database pages of a file stored on disk, or +** false if it is used for an in-memory database. The cache implementation +** does not have to do anything special based with the value of bPurgeable; +** it is purely advisory. ^On a cache where bPurgeable is false, SQLite will +** never invoke xUnpin() except to deliberately delete a page. +** ^In other words, calls to xUnpin() on a cache with bPurgeable set to +** false will always have the "discard" flag set to true. +** ^Hence, a cache created with bPurgeable false will +** never contain any unpinned pages. +** +** [[the xCachesize() page cache method]] +** ^(The xCachesize() method may be called at any time by SQLite to set the +** suggested maximum cache-size (number of pages stored by) the cache +** instance passed as the first argument. This is the value configured using +** the SQLite "[PRAGMA cache_size]" command.)^ As with the bPurgeable +** parameter, the implementation is not required to do anything with this +** value; it is advisory only. +** +** [[the xPagecount() page cache methods]] +** The xPagecount() method must return the number of pages currently +** stored in the cache, both pinned and unpinned. +** +** [[the xFetch() page cache methods]] +** The xFetch() method locates a page in the cache and returns a pointer to +** an sqlite3_pcache_page object associated with that page, or a NULL pointer. +** The pBuf element of the returned sqlite3_pcache_page object will be a +** pointer to a buffer of szPage bytes used to store the content of a +** single database page. The pExtra element of sqlite3_pcache_page will be +** a pointer to the szExtra bytes of extra storage that SQLite has requested +** for each entry in the page cache. +** +** The page to be fetched is determined by the key. ^The minimum key value +** is 1. After it has been retrieved using xFetch, the page is considered +** to be "pinned". +** +** If the requested page is already in the page cache, then the page cache +** implementation must return a pointer to the page buffer with its content +** intact. If the requested page is not already in the cache, then the +** cache implementation should use the value of the createFlag +** parameter to help it determined what action to take: +** +** +**
createFlag Behavior when page is not already in cache +**
0 Do not allocate a new page. Return NULL. +**
1 Allocate a new page if it easy and convenient to do so. +** Otherwise return NULL. +**
2 Make every effort to allocate a new page. Only return +** NULL if allocating a new page is effectively impossible. +**
+** +** ^(SQLite will normally invoke xFetch() with a createFlag of 0 or 1. SQLite +** will only use a createFlag of 2 after a prior call with a createFlag of 1 +** failed.)^ In between the to xFetch() calls, SQLite may +** attempt to unpin one or more cache pages by spilling the content of +** pinned pages to disk and synching the operating system disk cache. +** +** [[the xUnpin() page cache method]] +** ^xUnpin() is called by SQLite with a pointer to a currently pinned page +** as its second argument. If the third parameter, discard, is non-zero, +** then the page must be evicted from the cache. +** ^If the discard parameter is +** zero, then the page may be discarded or retained at the discretion of +** page cache implementation. ^The page cache implementation +** may choose to evict unpinned pages at any time. +** +** The cache must not perform any reference counting. A single +** call to xUnpin() unpins the page regardless of the number of prior calls +** to xFetch(). +** +** [[the xRekey() page cache methods]] +** The xRekey() method is used to change the key value associated with the +** page passed as the second argument. If the cache +** previously contains an entry associated with newKey, it must be +** discarded. ^Any prior cache entry associated with newKey is guaranteed not +** to be pinned. +** +** When SQLite calls the xTruncate() method, the cache must discard all +** existing cache entries with page numbers (keys) greater than or equal +** to the value of the iLimit parameter passed to xTruncate(). If any +** of these pages are pinned, they are implicitly unpinned, meaning that +** they can be safely discarded. +** +** [[the xDestroy() page cache method]] +** ^The xDestroy() method is used to delete a cache allocated by xCreate(). +** All resources associated with the specified cache should be freed. ^After +** calling the xDestroy() method, SQLite considers the [sqlite3_pcache*] +** handle invalid, and will not use it with any other sqlite3_pcache_methods2 +** functions. +** +** [[the xShrink() page cache method]] +** ^SQLite invokes the xShrink() method when it wants the page cache to +** free up as much of heap memory as possible. The page cache implementation +** is not obligated to free any memory, but well-behaved implementations should +** do their best. +*/ +typedef struct sqlite3_pcache_methods2 sqlite3_pcache_methods2; +struct sqlite3_pcache_methods2 { + int iVersion; + void *pArg; + int (*xInit)(void*); + void (*xShutdown)(void*); + sqlite3_pcache *(*xCreate)(int szPage, int szExtra, int bPurgeable); + void (*xCachesize)(sqlite3_pcache*, int nCachesize); + int (*xPagecount)(sqlite3_pcache*); + sqlite3_pcache_page *(*xFetch)(sqlite3_pcache*, unsigned key, int createFlag); + void (*xUnpin)(sqlite3_pcache*, sqlite3_pcache_page*, int discard); + void (*xRekey)(sqlite3_pcache*, sqlite3_pcache_page*, + unsigned oldKey, unsigned newKey); + void (*xTruncate)(sqlite3_pcache*, unsigned iLimit); + void (*xDestroy)(sqlite3_pcache*); + void (*xShrink)(sqlite3_pcache*); +}; + +/* +** This is the obsolete pcache_methods object that has now been replaced +** by sqlite3_pcache_methods2. This object is not used by SQLite. It is +** retained in the header file for backwards compatibility only. +*/ +typedef struct sqlite3_pcache_methods sqlite3_pcache_methods; +struct sqlite3_pcache_methods { + void *pArg; + int (*xInit)(void*); + void (*xShutdown)(void*); + sqlite3_pcache *(*xCreate)(int szPage, int bPurgeable); + void (*xCachesize)(sqlite3_pcache*, int nCachesize); + int (*xPagecount)(sqlite3_pcache*); + void *(*xFetch)(sqlite3_pcache*, unsigned key, int createFlag); + void (*xUnpin)(sqlite3_pcache*, void*, int discard); + void (*xRekey)(sqlite3_pcache*, void*, unsigned oldKey, unsigned newKey); + void (*xTruncate)(sqlite3_pcache*, unsigned iLimit); + void (*xDestroy)(sqlite3_pcache*); +}; + + +/* +** CAPI3REF: Online Backup Object +** +** The sqlite3_backup object records state information about an ongoing +** online backup operation. ^The sqlite3_backup object is created by +** a call to [sqlite3_backup_init()] and is destroyed by a call to +** [sqlite3_backup_finish()]. +** +** See Also: [Using the SQLite Online Backup API] +*/ +typedef struct sqlite3_backup sqlite3_backup; + +/* +** CAPI3REF: Online Backup API. +** +** The backup API copies the content of one database into another. +** It is useful either for creating backups of databases or +** for copying in-memory databases to or from persistent files. +** +** See Also: [Using the SQLite Online Backup API] +** +** ^SQLite holds a write transaction open on the destination database file +** for the duration of the backup operation. +** ^The source database is read-locked only while it is being read; +** it is not locked continuously for the entire backup operation. +** ^Thus, the backup may be performed on a live source database without +** preventing other database connections from +** reading or writing to the source database while the backup is underway. +** +** ^(To perform a backup operation: +**
    +**
  1. sqlite3_backup_init() is called once to initialize the +** backup, +**
  2. sqlite3_backup_step() is called one or more times to transfer +** the data between the two databases, and finally +**
  3. sqlite3_backup_finish() is called to release all resources +** associated with the backup operation. +**
)^ +** There should be exactly one call to sqlite3_backup_finish() for each +** successful call to sqlite3_backup_init(). +** +** [[sqlite3_backup_init()]] sqlite3_backup_init() +** +** ^The D and N arguments to sqlite3_backup_init(D,N,S,M) are the +** [database connection] associated with the destination database +** and the database name, respectively. +** ^The database name is "main" for the main database, "temp" for the +** temporary database, or the name specified after the AS keyword in +** an [ATTACH] statement for an attached database. +** ^The S and M arguments passed to +** sqlite3_backup_init(D,N,S,M) identify the [database connection] +** and database name of the source database, respectively. +** ^The source and destination [database connections] (parameters S and D) +** must be different or else sqlite3_backup_init(D,N,S,M) will fail with +** an error. +** +** ^A call to sqlite3_backup_init() will fail, returning NULL, if +** there is already a read or read-write transaction open on the +** destination database. +** +** ^If an error occurs within sqlite3_backup_init(D,N,S,M), then NULL is +** returned and an error code and error message are stored in the +** destination [database connection] D. +** ^The error code and message for the failed call to sqlite3_backup_init() +** can be retrieved using the [sqlite3_errcode()], [sqlite3_errmsg()], and/or +** [sqlite3_errmsg16()] functions. +** ^A successful call to sqlite3_backup_init() returns a pointer to an +** [sqlite3_backup] object. +** ^The [sqlite3_backup] object may be used with the sqlite3_backup_step() and +** sqlite3_backup_finish() functions to perform the specified backup +** operation. +** +** [[sqlite3_backup_step()]] sqlite3_backup_step() +** +** ^Function sqlite3_backup_step(B,N) will copy up to N pages between +** the source and destination databases specified by [sqlite3_backup] object B. +** ^If N is negative, all remaining source pages are copied. +** ^If sqlite3_backup_step(B,N) successfully copies N pages and there +** are still more pages to be copied, then the function returns [SQLITE_OK]. +** ^If sqlite3_backup_step(B,N) successfully finishes copying all pages +** from source to destination, then it returns [SQLITE_DONE]. +** ^If an error occurs while running sqlite3_backup_step(B,N), +** then an [error code] is returned. ^As well as [SQLITE_OK] and +** [SQLITE_DONE], a call to sqlite3_backup_step() may return [SQLITE_READONLY], +** [SQLITE_NOMEM], [SQLITE_BUSY], [SQLITE_LOCKED], or an +** [SQLITE_IOERR_ACCESS | SQLITE_IOERR_XXX] extended error code. +** +** ^(The sqlite3_backup_step() might return [SQLITE_READONLY] if +**
    +**
  1. the destination database was opened read-only, or +**
  2. the destination database is using write-ahead-log journaling +** and the destination and source page sizes differ, or +**
  3. the destination database is an in-memory database and the +** destination and source page sizes differ. +**
)^ +** +** ^If sqlite3_backup_step() cannot obtain a required file-system lock, then +** the [sqlite3_busy_handler | busy-handler function] +** is invoked (if one is specified). ^If the +** busy-handler returns non-zero before the lock is available, then +** [SQLITE_BUSY] is returned to the caller. ^In this case the call to +** sqlite3_backup_step() can be retried later. ^If the source +** [database connection] +** is being used to write to the source database when sqlite3_backup_step() +** is called, then [SQLITE_LOCKED] is returned immediately. ^Again, in this +** case the call to sqlite3_backup_step() can be retried later on. ^(If +** [SQLITE_IOERR_ACCESS | SQLITE_IOERR_XXX], [SQLITE_NOMEM], or +** [SQLITE_READONLY] is returned, then +** there is no point in retrying the call to sqlite3_backup_step(). These +** errors are considered fatal.)^ The application must accept +** that the backup operation has failed and pass the backup operation handle +** to the sqlite3_backup_finish() to release associated resources. +** +** ^The first call to sqlite3_backup_step() obtains an exclusive lock +** on the destination file. ^The exclusive lock is not released until either +** sqlite3_backup_finish() is called or the backup operation is complete +** and sqlite3_backup_step() returns [SQLITE_DONE]. ^Every call to +** sqlite3_backup_step() obtains a [shared lock] on the source database that +** lasts for the duration of the sqlite3_backup_step() call. +** ^Because the source database is not locked between calls to +** sqlite3_backup_step(), the source database may be modified mid-way +** through the backup process. ^If the source database is modified by an +** external process or via a database connection other than the one being +** used by the backup operation, then the backup will be automatically +** restarted by the next call to sqlite3_backup_step(). ^If the source +** database is modified by the using the same database connection as is used +** by the backup operation, then the backup database is automatically +** updated at the same time. +** +** [[sqlite3_backup_finish()]] sqlite3_backup_finish() +** +** When sqlite3_backup_step() has returned [SQLITE_DONE], or when the +** application wishes to abandon the backup operation, the application +** should destroy the [sqlite3_backup] by passing it to sqlite3_backup_finish(). +** ^The sqlite3_backup_finish() interfaces releases all +** resources associated with the [sqlite3_backup] object. +** ^If sqlite3_backup_step() has not yet returned [SQLITE_DONE], then any +** active write-transaction on the destination database is rolled back. +** The [sqlite3_backup] object is invalid +** and may not be used following a call to sqlite3_backup_finish(). +** +** ^The value returned by sqlite3_backup_finish is [SQLITE_OK] if no +** sqlite3_backup_step() errors occurred, regardless or whether or not +** sqlite3_backup_step() completed. +** ^If an out-of-memory condition or IO error occurred during any prior +** sqlite3_backup_step() call on the same [sqlite3_backup] object, then +** sqlite3_backup_finish() returns the corresponding [error code]. +** +** ^A return of [SQLITE_BUSY] or [SQLITE_LOCKED] from sqlite3_backup_step() +** is not a permanent error and does not affect the return value of +** sqlite3_backup_finish(). +** +** [[sqlite3_backup_remaining()]] [[sqlite3_backup_pagecount()]] +** sqlite3_backup_remaining() and sqlite3_backup_pagecount() +** +** ^The sqlite3_backup_remaining() routine returns the number of pages still +** to be backed up at the conclusion of the most recent sqlite3_backup_step(). +** ^The sqlite3_backup_pagecount() routine returns the total number of pages +** in the source database at the conclusion of the most recent +** sqlite3_backup_step(). +** ^(The values returned by these functions are only updated by +** sqlite3_backup_step(). If the source database is modified in a way that +** changes the size of the source database or the number of pages remaining, +** those changes are not reflected in the output of sqlite3_backup_pagecount() +** and sqlite3_backup_remaining() until after the next +** sqlite3_backup_step().)^ +** +** Concurrent Usage of Database Handles +** +** ^The source [database connection] may be used by the application for other +** purposes while a backup operation is underway or being initialized. +** ^If SQLite is compiled and configured to support threadsafe database +** connections, then the source database connection may be used concurrently +** from within other threads. +** +** However, the application must guarantee that the destination +** [database connection] is not passed to any other API (by any thread) after +** sqlite3_backup_init() is called and before the corresponding call to +** sqlite3_backup_finish(). SQLite does not currently check to see +** if the application incorrectly accesses the destination [database connection] +** and so no error code is reported, but the operations may malfunction +** nevertheless. Use of the destination database connection while a +** backup is in progress might also also cause a mutex deadlock. +** +** If running in [shared cache mode], the application must +** guarantee that the shared cache used by the destination database +** is not accessed while the backup is running. In practice this means +** that the application must guarantee that the disk file being +** backed up to is not accessed by any connection within the process, +** not just the specific connection that was passed to sqlite3_backup_init(). +** +** The [sqlite3_backup] object itself is partially threadsafe. Multiple +** threads may safely make multiple concurrent calls to sqlite3_backup_step(). +** However, the sqlite3_backup_remaining() and sqlite3_backup_pagecount() +** APIs are not strictly speaking threadsafe. If they are invoked at the +** same time as another thread is invoking sqlite3_backup_step() it is +** possible that they return invalid values. +*/ +SQLITE_API sqlite3_backup *sqlite3_backup_init( + sqlite3 *pDest, /* Destination database handle */ + const char *zDestName, /* Destination database name */ + sqlite3 *pSource, /* Source database handle */ + const char *zSourceName /* Source database name */ +); +SQLITE_API int sqlite3_backup_step(sqlite3_backup *p, int nPage); +SQLITE_API int sqlite3_backup_finish(sqlite3_backup *p); +SQLITE_API int sqlite3_backup_remaining(sqlite3_backup *p); +SQLITE_API int sqlite3_backup_pagecount(sqlite3_backup *p); + +/* +** CAPI3REF: Unlock Notification +** METHOD: sqlite3 +** +** ^When running in shared-cache mode, a database operation may fail with +** an [SQLITE_LOCKED] error if the required locks on the shared-cache or +** individual tables within the shared-cache cannot be obtained. See +** [SQLite Shared-Cache Mode] for a description of shared-cache locking. +** ^This API may be used to register a callback that SQLite will invoke +** when the connection currently holding the required lock relinquishes it. +** ^This API is only available if the library was compiled with the +** [SQLITE_ENABLE_UNLOCK_NOTIFY] C-preprocessor symbol defined. +** +** See Also: [Using the SQLite Unlock Notification Feature]. +** +** ^Shared-cache locks are released when a database connection concludes +** its current transaction, either by committing it or rolling it back. +** +** ^When a connection (known as the blocked connection) fails to obtain a +** shared-cache lock and SQLITE_LOCKED is returned to the caller, the +** identity of the database connection (the blocking connection) that +** has locked the required resource is stored internally. ^After an +** application receives an SQLITE_LOCKED error, it may call the +** sqlite3_unlock_notify() method with the blocked connection handle as +** the first argument to register for a callback that will be invoked +** when the blocking connections current transaction is concluded. ^The +** callback is invoked from within the [sqlite3_step] or [sqlite3_close] +** call that concludes the blocking connections transaction. +** +** ^(If sqlite3_unlock_notify() is called in a multi-threaded application, +** there is a chance that the blocking connection will have already +** concluded its transaction by the time sqlite3_unlock_notify() is invoked. +** If this happens, then the specified callback is invoked immediately, +** from within the call to sqlite3_unlock_notify().)^ +** +** ^If the blocked connection is attempting to obtain a write-lock on a +** shared-cache table, and more than one other connection currently holds +** a read-lock on the same table, then SQLite arbitrarily selects one of +** the other connections to use as the blocking connection. +** +** ^(There may be at most one unlock-notify callback registered by a +** blocked connection. If sqlite3_unlock_notify() is called when the +** blocked connection already has a registered unlock-notify callback, +** then the new callback replaces the old.)^ ^If sqlite3_unlock_notify() is +** called with a NULL pointer as its second argument, then any existing +** unlock-notify callback is canceled. ^The blocked connections +** unlock-notify callback may also be canceled by closing the blocked +** connection using [sqlite3_close()]. +** +** The unlock-notify callback is not reentrant. If an application invokes +** any sqlite3_xxx API functions from within an unlock-notify callback, a +** crash or deadlock may be the result. +** +** ^Unless deadlock is detected (see below), sqlite3_unlock_notify() always +** returns SQLITE_OK. +** +** Callback Invocation Details +** +** When an unlock-notify callback is registered, the application provides a +** single void* pointer that is passed to the callback when it is invoked. +** However, the signature of the callback function allows SQLite to pass +** it an array of void* context pointers. The first argument passed to +** an unlock-notify callback is a pointer to an array of void* pointers, +** and the second is the number of entries in the array. +** +** When a blocking connections transaction is concluded, there may be +** more than one blocked connection that has registered for an unlock-notify +** callback. ^If two or more such blocked connections have specified the +** same callback function, then instead of invoking the callback function +** multiple times, it is invoked once with the set of void* context pointers +** specified by the blocked connections bundled together into an array. +** This gives the application an opportunity to prioritize any actions +** related to the set of unblocked database connections. +** +** Deadlock Detection +** +** Assuming that after registering for an unlock-notify callback a +** database waits for the callback to be issued before taking any further +** action (a reasonable assumption), then using this API may cause the +** application to deadlock. For example, if connection X is waiting for +** connection Y's transaction to be concluded, and similarly connection +** Y is waiting on connection X's transaction, then neither connection +** will proceed and the system may remain deadlocked indefinitely. +** +** To avoid this scenario, the sqlite3_unlock_notify() performs deadlock +** detection. ^If a given call to sqlite3_unlock_notify() would put the +** system in a deadlocked state, then SQLITE_LOCKED is returned and no +** unlock-notify callback is registered. The system is said to be in +** a deadlocked state if connection A has registered for an unlock-notify +** callback on the conclusion of connection B's transaction, and connection +** B has itself registered for an unlock-notify callback when connection +** A's transaction is concluded. ^Indirect deadlock is also detected, so +** the system is also considered to be deadlocked if connection B has +** registered for an unlock-notify callback on the conclusion of connection +** C's transaction, where connection C is waiting on connection A. ^Any +** number of levels of indirection are allowed. +** +** The "DROP TABLE" Exception +** +** When a call to [sqlite3_step()] returns SQLITE_LOCKED, it is almost +** always appropriate to call sqlite3_unlock_notify(). There is however, +** one exception. When executing a "DROP TABLE" or "DROP INDEX" statement, +** SQLite checks if there are any currently executing SELECT statements +** that belong to the same connection. If there are, SQLITE_LOCKED is +** returned. In this case there is no "blocking connection", so invoking +** sqlite3_unlock_notify() results in the unlock-notify callback being +** invoked immediately. If the application then re-attempts the "DROP TABLE" +** or "DROP INDEX" query, an infinite loop might be the result. +** +** One way around this problem is to check the extended error code returned +** by an sqlite3_step() call. ^(If there is a blocking connection, then the +** extended error code is set to SQLITE_LOCKED_SHAREDCACHE. Otherwise, in +** the special "DROP TABLE/INDEX" case, the extended error code is just +** SQLITE_LOCKED.)^ +*/ +SQLITE_API int sqlite3_unlock_notify( + sqlite3 *pBlocked, /* Waiting connection */ + void (*xNotify)(void **apArg, int nArg), /* Callback function to invoke */ + void *pNotifyArg /* Argument to pass to xNotify */ +); + + +/* +** CAPI3REF: String Comparison +** +** ^The [sqlite3_stricmp()] and [sqlite3_strnicmp()] APIs allow applications +** and extensions to compare the contents of two buffers containing UTF-8 +** strings in a case-independent fashion, using the same definition of "case +** independence" that SQLite uses internally when comparing identifiers. +*/ +SQLITE_API int sqlite3_stricmp(const char *, const char *); +SQLITE_API int sqlite3_strnicmp(const char *, const char *, int); + +/* +** CAPI3REF: String Globbing +* +** ^The [sqlite3_strglob(P,X)] interface returns zero if and only if +** string X matches the [GLOB] pattern P. +** ^The definition of [GLOB] pattern matching used in +** [sqlite3_strglob(P,X)] is the same as for the "X GLOB P" operator in the +** SQL dialect understood by SQLite. ^The [sqlite3_strglob(P,X)] function +** is case sensitive. +** +** Note that this routine returns zero on a match and non-zero if the strings +** do not match, the same as [sqlite3_stricmp()] and [sqlite3_strnicmp()]. +** +** See also: [sqlite3_strlike()]. +*/ +SQLITE_API int sqlite3_strglob(const char *zGlob, const char *zStr); + +/* +** CAPI3REF: String LIKE Matching +* +** ^The [sqlite3_strlike(P,X,E)] interface returns zero if and only if +** string X matches the [LIKE] pattern P with escape character E. +** ^The definition of [LIKE] pattern matching used in +** [sqlite3_strlike(P,X,E)] is the same as for the "X LIKE P ESCAPE E" +** operator in the SQL dialect understood by SQLite. ^For "X LIKE P" without +** the ESCAPE clause, set the E parameter of [sqlite3_strlike(P,X,E)] to 0. +** ^As with the LIKE operator, the [sqlite3_strlike(P,X,E)] function is case +** insensitive - equivalent upper and lower case ASCII characters match +** one another. +** +** ^The [sqlite3_strlike(P,X,E)] function matches Unicode characters, though +** only ASCII characters are case folded. +** +** Note that this routine returns zero on a match and non-zero if the strings +** do not match, the same as [sqlite3_stricmp()] and [sqlite3_strnicmp()]. +** +** See also: [sqlite3_strglob()]. +*/ +SQLITE_API int sqlite3_strlike(const char *zGlob, const char *zStr, unsigned int cEsc); + +/* +** CAPI3REF: Error Logging Interface +** +** ^The [sqlite3_log()] interface writes a message into the [error log] +** established by the [SQLITE_CONFIG_LOG] option to [sqlite3_config()]. +** ^If logging is enabled, the zFormat string and subsequent arguments are +** used with [sqlite3_snprintf()] to generate the final output string. +** +** The sqlite3_log() interface is intended for use by extensions such as +** virtual tables, collating functions, and SQL functions. While there is +** nothing to prevent an application from calling sqlite3_log(), doing so +** is considered bad form. +** +** The zFormat string must not be NULL. +** +** To avoid deadlocks and other threading problems, the sqlite3_log() routine +** will not use dynamically allocated memory. The log message is stored in +** a fixed-length buffer on the stack. If the log message is longer than +** a few hundred characters, it will be truncated to the length of the +** buffer. +*/ +SQLITE_API void sqlite3_log(int iErrCode, const char *zFormat, ...); + +/* +** CAPI3REF: Write-Ahead Log Commit Hook +** METHOD: sqlite3 +** +** ^The [sqlite3_wal_hook()] function is used to register a callback that +** is invoked each time data is committed to a database in wal mode. +** +** ^(The callback is invoked by SQLite after the commit has taken place and +** the associated write-lock on the database released)^, so the implementation +** may read, write or [checkpoint] the database as required. +** +** ^The first parameter passed to the callback function when it is invoked +** is a copy of the third parameter passed to sqlite3_wal_hook() when +** registering the callback. ^The second is a copy of the database handle. +** ^The third parameter is the name of the database that was written to - +** either "main" or the name of an [ATTACH]-ed database. ^The fourth parameter +** is the number of pages currently in the write-ahead log file, +** including those that were just committed. +** +** The callback function should normally return [SQLITE_OK]. ^If an error +** code is returned, that error will propagate back up through the +** SQLite code base to cause the statement that provoked the callback +** to report an error, though the commit will have still occurred. If the +** callback returns [SQLITE_ROW] or [SQLITE_DONE], or if it returns a value +** that does not correspond to any valid SQLite error code, the results +** are undefined. +** +** A single database handle may have at most a single write-ahead log callback +** registered at one time. ^Calling [sqlite3_wal_hook()] replaces any +** previously registered write-ahead log callback. ^Note that the +** [sqlite3_wal_autocheckpoint()] interface and the +** [wal_autocheckpoint pragma] both invoke [sqlite3_wal_hook()] and will +** overwrite any prior [sqlite3_wal_hook()] settings. +*/ +SQLITE_API void *sqlite3_wal_hook( + sqlite3*, + int(*)(void *,sqlite3*,const char*,int), + void* +); + +/* +** CAPI3REF: Configure an auto-checkpoint +** METHOD: sqlite3 +** +** ^The [sqlite3_wal_autocheckpoint(D,N)] is a wrapper around +** [sqlite3_wal_hook()] that causes any database on [database connection] D +** to automatically [checkpoint] +** after committing a transaction if there are N or +** more frames in the [write-ahead log] file. ^Passing zero or +** a negative value as the nFrame parameter disables automatic +** checkpoints entirely. +** +** ^The callback registered by this function replaces any existing callback +** registered using [sqlite3_wal_hook()]. ^Likewise, registering a callback +** using [sqlite3_wal_hook()] disables the automatic checkpoint mechanism +** configured by this function. +** +** ^The [wal_autocheckpoint pragma] can be used to invoke this interface +** from SQL. +** +** ^Checkpoints initiated by this mechanism are +** [sqlite3_wal_checkpoint_v2|PASSIVE]. +** +** ^Every new [database connection] defaults to having the auto-checkpoint +** enabled with a threshold of 1000 or [SQLITE_DEFAULT_WAL_AUTOCHECKPOINT] +** pages. The use of this interface +** is only necessary if the default setting is found to be suboptimal +** for a particular application. +*/ +SQLITE_API int sqlite3_wal_autocheckpoint(sqlite3 *db, int N); + +/* +** CAPI3REF: Checkpoint a database +** METHOD: sqlite3 +** +** ^(The sqlite3_wal_checkpoint(D,X) is equivalent to +** [sqlite3_wal_checkpoint_v2](D,X,[SQLITE_CHECKPOINT_PASSIVE],0,0).)^ +** +** In brief, sqlite3_wal_checkpoint(D,X) causes the content in the +** [write-ahead log] for database X on [database connection] D to be +** transferred into the database file and for the write-ahead log to +** be reset. See the [checkpointing] documentation for addition +** information. +** +** This interface used to be the only way to cause a checkpoint to +** occur. But then the newer and more powerful [sqlite3_wal_checkpoint_v2()] +** interface was added. This interface is retained for backwards +** compatibility and as a convenience for applications that need to manually +** start a callback but which do not need the full power (and corresponding +** complication) of [sqlite3_wal_checkpoint_v2()]. +*/ +SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb); + +/* +** CAPI3REF: Checkpoint a database +** METHOD: sqlite3 +** +** ^(The sqlite3_wal_checkpoint_v2(D,X,M,L,C) interface runs a checkpoint +** operation on database X of [database connection] D in mode M. Status +** information is written back into integers pointed to by L and C.)^ +** ^(The M parameter must be a valid [checkpoint mode]:)^ +** +**
+**
SQLITE_CHECKPOINT_PASSIVE
+** ^Checkpoint as many frames as possible without waiting for any database +** readers or writers to finish, then sync the database file if all frames +** in the log were checkpointed. ^The [busy-handler callback] +** is never invoked in the SQLITE_CHECKPOINT_PASSIVE mode. +** ^On the other hand, passive mode might leave the checkpoint unfinished +** if there are concurrent readers or writers. +** +**
SQLITE_CHECKPOINT_FULL
+** ^This mode blocks (it invokes the +** [sqlite3_busy_handler|busy-handler callback]) until there is no +** database writer and all readers are reading from the most recent database +** snapshot. ^It then checkpoints all frames in the log file and syncs the +** database file. ^This mode blocks new database writers while it is pending, +** but new database readers are allowed to continue unimpeded. +** +**
SQLITE_CHECKPOINT_RESTART
+** ^This mode works the same way as SQLITE_CHECKPOINT_FULL with the addition +** that after checkpointing the log file it blocks (calls the +** [busy-handler callback]) +** until all readers are reading from the database file only. ^This ensures +** that the next writer will restart the log file from the beginning. +** ^Like SQLITE_CHECKPOINT_FULL, this mode blocks new +** database writer attempts while it is pending, but does not impede readers. +** +**
SQLITE_CHECKPOINT_TRUNCATE
+** ^This mode works the same way as SQLITE_CHECKPOINT_RESTART with the +** addition that it also truncates the log file to zero bytes just prior +** to a successful return. +**
+** +** ^If pnLog is not NULL, then *pnLog is set to the total number of frames in +** the log file or to -1 if the checkpoint could not run because +** of an error or because the database is not in [WAL mode]. ^If pnCkpt is not +** NULL,then *pnCkpt is set to the total number of checkpointed frames in the +** log file (including any that were already checkpointed before the function +** was called) or to -1 if the checkpoint could not run due to an error or +** because the database is not in WAL mode. ^Note that upon successful +** completion of an SQLITE_CHECKPOINT_TRUNCATE, the log file will have been +** truncated to zero bytes and so both *pnLog and *pnCkpt will be set to zero. +** +** ^All calls obtain an exclusive "checkpoint" lock on the database file. ^If +** any other process is running a checkpoint operation at the same time, the +** lock cannot be obtained and SQLITE_BUSY is returned. ^Even if there is a +** busy-handler configured, it will not be invoked in this case. +** +** ^The SQLITE_CHECKPOINT_FULL, RESTART and TRUNCATE modes also obtain the +** exclusive "writer" lock on the database file. ^If the writer lock cannot be +** obtained immediately, and a busy-handler is configured, it is invoked and +** the writer lock retried until either the busy-handler returns 0 or the lock +** is successfully obtained. ^The busy-handler is also invoked while waiting for +** database readers as described above. ^If the busy-handler returns 0 before +** the writer lock is obtained or while waiting for database readers, the +** checkpoint operation proceeds from that point in the same way as +** SQLITE_CHECKPOINT_PASSIVE - checkpointing as many frames as possible +** without blocking any further. ^SQLITE_BUSY is returned in this case. +** +** ^If parameter zDb is NULL or points to a zero length string, then the +** specified operation is attempted on all WAL databases [attached] to +** [database connection] db. In this case the +** values written to output parameters *pnLog and *pnCkpt are undefined. ^If +** an SQLITE_BUSY error is encountered when processing one or more of the +** attached WAL databases, the operation is still attempted on any remaining +** attached databases and SQLITE_BUSY is returned at the end. ^If any other +** error occurs while processing an attached database, processing is abandoned +** and the error code is returned to the caller immediately. ^If no error +** (SQLITE_BUSY or otherwise) is encountered while processing the attached +** databases, SQLITE_OK is returned. +** +** ^If database zDb is the name of an attached database that is not in WAL +** mode, SQLITE_OK is returned and both *pnLog and *pnCkpt set to -1. ^If +** zDb is not NULL (or a zero length string) and is not the name of any +** attached database, SQLITE_ERROR is returned to the caller. +** +** ^Unless it returns SQLITE_MISUSE, +** the sqlite3_wal_checkpoint_v2() interface +** sets the error information that is queried by +** [sqlite3_errcode()] and [sqlite3_errmsg()]. +** +** ^The [PRAGMA wal_checkpoint] command can be used to invoke this interface +** from SQL. +*/ +SQLITE_API int sqlite3_wal_checkpoint_v2( + sqlite3 *db, /* Database handle */ + const char *zDb, /* Name of attached database (or NULL) */ + int eMode, /* SQLITE_CHECKPOINT_* value */ + int *pnLog, /* OUT: Size of WAL log in frames */ + int *pnCkpt /* OUT: Total number of frames checkpointed */ +); + +/* +** CAPI3REF: Checkpoint Mode Values +** KEYWORDS: {checkpoint mode} +** +** These constants define all valid values for the "checkpoint mode" passed +** as the third parameter to the [sqlite3_wal_checkpoint_v2()] interface. +** See the [sqlite3_wal_checkpoint_v2()] documentation for details on the +** meaning of each of these checkpoint modes. +*/ +#define SQLITE_CHECKPOINT_PASSIVE 0 /* Do as much as possible w/o blocking */ +#define SQLITE_CHECKPOINT_FULL 1 /* Wait for writers, then checkpoint */ +#define SQLITE_CHECKPOINT_RESTART 2 /* Like FULL but wait for for readers */ +#define SQLITE_CHECKPOINT_TRUNCATE 3 /* Like RESTART but also truncate WAL */ + +/* +** CAPI3REF: Virtual Table Interface Configuration +** +** This function may be called by either the [xConnect] or [xCreate] method +** of a [virtual table] implementation to configure +** various facets of the virtual table interface. +** +** If this interface is invoked outside the context of an xConnect or +** xCreate virtual table method then the behavior is undefined. +** +** At present, there is only one option that may be configured using +** this function. (See [SQLITE_VTAB_CONSTRAINT_SUPPORT].) Further options +** may be added in the future. +*/ +SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...); + +/* +** CAPI3REF: Virtual Table Configuration Options +** +** These macros define the various options to the +** [sqlite3_vtab_config()] interface that [virtual table] implementations +** can use to customize and optimize their behavior. +** +**
+**
SQLITE_VTAB_CONSTRAINT_SUPPORT +**
Calls of the form +** [sqlite3_vtab_config](db,SQLITE_VTAB_CONSTRAINT_SUPPORT,X) are supported, +** where X is an integer. If X is zero, then the [virtual table] whose +** [xCreate] or [xConnect] method invoked [sqlite3_vtab_config()] does not +** support constraints. In this configuration (which is the default) if +** a call to the [xUpdate] method returns [SQLITE_CONSTRAINT], then the entire +** statement is rolled back as if [ON CONFLICT | OR ABORT] had been +** specified as part of the users SQL statement, regardless of the actual +** ON CONFLICT mode specified. +** +** If X is non-zero, then the virtual table implementation guarantees +** that if [xUpdate] returns [SQLITE_CONSTRAINT], it will do so before +** any modifications to internal or persistent data structures have been made. +** If the [ON CONFLICT] mode is ABORT, FAIL, IGNORE or ROLLBACK, SQLite +** is able to roll back a statement or database transaction, and abandon +** or continue processing the current SQL statement as appropriate. +** If the ON CONFLICT mode is REPLACE and the [xUpdate] method returns +** [SQLITE_CONSTRAINT], SQLite handles this as if the ON CONFLICT mode +** had been ABORT. +** +** Virtual table implementations that are required to handle OR REPLACE +** must do so within the [xUpdate] method. If a call to the +** [sqlite3_vtab_on_conflict()] function indicates that the current ON +** CONFLICT policy is REPLACE, the virtual table implementation should +** silently replace the appropriate rows within the xUpdate callback and +** return SQLITE_OK. Or, if this is not possible, it may return +** SQLITE_CONSTRAINT, in which case SQLite falls back to OR ABORT +** constraint handling. +**
+*/ +#define SQLITE_VTAB_CONSTRAINT_SUPPORT 1 + +/* +** CAPI3REF: Determine The Virtual Table Conflict Policy +** +** This function may only be called from within a call to the [xUpdate] method +** of a [virtual table] implementation for an INSERT or UPDATE operation. ^The +** value returned is one of [SQLITE_ROLLBACK], [SQLITE_IGNORE], [SQLITE_FAIL], +** [SQLITE_ABORT], or [SQLITE_REPLACE], according to the [ON CONFLICT] mode +** of the SQL statement that triggered the call to the [xUpdate] method of the +** [virtual table]. +*/ +SQLITE_API int sqlite3_vtab_on_conflict(sqlite3 *); + +/* +** CAPI3REF: Determine If Virtual Table Column Access Is For UPDATE +** +** If the sqlite3_vtab_nochange(X) routine is called within the [xColumn] +** method of a [virtual table], then it returns true if and only if the +** column is being fetched as part of an UPDATE operation during which the +** column value will not change. Applications might use this to substitute +** a lighter-weight value to return that the corresponding [xUpdate] method +** understands as a "no-change" value. +** +** If the [xColumn] method calls sqlite3_vtab_nochange() and finds that +** the column is not changed by the UPDATE statement, they the xColumn +** method can optionally return without setting a result, without calling +** any of the [sqlite3_result_int|sqlite3_result_xxxxx() interfaces]. +** In that case, [sqlite3_value_nochange(X)] will return true for the +** same column in the [xUpdate] method. +*/ +SQLITE_API int sqlite3_vtab_nochange(sqlite3_context*); + +/* +** CAPI3REF: Determine The Collation For a Virtual Table Constraint +** +** This function may only be called from within a call to the [xBestIndex] +** method of a [virtual table]. +** +** The first argument must be the sqlite3_index_info object that is the +** first parameter to the xBestIndex() method. The second argument must be +** an index into the aConstraint[] array belonging to the sqlite3_index_info +** structure passed to xBestIndex. This function returns a pointer to a buffer +** containing the name of the collation sequence for the corresponding +** constraint. +*/ +SQLITE_API SQLITE_EXPERIMENTAL const char *sqlite3_vtab_collation(sqlite3_index_info*,int); + +/* +** CAPI3REF: Conflict resolution modes +** KEYWORDS: {conflict resolution mode} +** +** These constants are returned by [sqlite3_vtab_on_conflict()] to +** inform a [virtual table] implementation what the [ON CONFLICT] mode +** is for the SQL statement being evaluated. +** +** Note that the [SQLITE_IGNORE] constant is also used as a potential +** return value from the [sqlite3_set_authorizer()] callback and that +** [SQLITE_ABORT] is also a [result code]. +*/ +#define SQLITE_ROLLBACK 1 +/* #define SQLITE_IGNORE 2 // Also used by sqlite3_authorizer() callback */ +#define SQLITE_FAIL 3 +/* #define SQLITE_ABORT 4 // Also an error code */ +#define SQLITE_REPLACE 5 + +/* +** CAPI3REF: Prepared Statement Scan Status Opcodes +** KEYWORDS: {scanstatus options} +** +** The following constants can be used for the T parameter to the +** [sqlite3_stmt_scanstatus(S,X,T,V)] interface. Each constant designates a +** different metric for sqlite3_stmt_scanstatus() to return. +** +** When the value returned to V is a string, space to hold that string is +** managed by the prepared statement S and will be automatically freed when +** S is finalized. +** +**
+** [[SQLITE_SCANSTAT_NLOOP]]
SQLITE_SCANSTAT_NLOOP
+**
^The [sqlite3_int64] variable pointed to by the T parameter will be +** set to the total number of times that the X-th loop has run.
+** +** [[SQLITE_SCANSTAT_NVISIT]]
SQLITE_SCANSTAT_NVISIT
+**
^The [sqlite3_int64] variable pointed to by the T parameter will be set +** to the total number of rows examined by all iterations of the X-th loop.
+** +** [[SQLITE_SCANSTAT_EST]]
SQLITE_SCANSTAT_EST
+**
^The "double" variable pointed to by the T parameter will be set to the +** query planner's estimate for the average number of rows output from each +** iteration of the X-th loop. If the query planner's estimates was accurate, +** then this value will approximate the quotient NVISIT/NLOOP and the +** product of this value for all prior loops with the same SELECTID will +** be the NLOOP value for the current loop. +** +** [[SQLITE_SCANSTAT_NAME]]
SQLITE_SCANSTAT_NAME
+**
^The "const char *" variable pointed to by the T parameter will be set +** to a zero-terminated UTF-8 string containing the name of the index or table +** used for the X-th loop. +** +** [[SQLITE_SCANSTAT_EXPLAIN]]
SQLITE_SCANSTAT_EXPLAIN
+**
^The "const char *" variable pointed to by the T parameter will be set +** to a zero-terminated UTF-8 string containing the [EXPLAIN QUERY PLAN] +** description for the X-th loop. +** +** [[SQLITE_SCANSTAT_SELECTID]]
SQLITE_SCANSTAT_SELECT
+**
^The "int" variable pointed to by the T parameter will be set to the +** "select-id" for the X-th loop. The select-id identifies which query or +** subquery the loop is part of. The main query has a select-id of zero. +** The select-id is the same value as is output in the first column +** of an [EXPLAIN QUERY PLAN] query. +**
+*/ +#define SQLITE_SCANSTAT_NLOOP 0 +#define SQLITE_SCANSTAT_NVISIT 1 +#define SQLITE_SCANSTAT_EST 2 +#define SQLITE_SCANSTAT_NAME 3 +#define SQLITE_SCANSTAT_EXPLAIN 4 +#define SQLITE_SCANSTAT_SELECTID 5 + +/* +** CAPI3REF: Prepared Statement Scan Status +** METHOD: sqlite3_stmt +** +** This interface returns information about the predicted and measured +** performance for pStmt. Advanced applications can use this +** interface to compare the predicted and the measured performance and +** issue warnings and/or rerun [ANALYZE] if discrepancies are found. +** +** Since this interface is expected to be rarely used, it is only +** available if SQLite is compiled using the [SQLITE_ENABLE_STMT_SCANSTATUS] +** compile-time option. +** +** The "iScanStatusOp" parameter determines which status information to return. +** The "iScanStatusOp" must be one of the [scanstatus options] or the behavior +** of this interface is undefined. +** ^The requested measurement is written into a variable pointed to by +** the "pOut" parameter. +** Parameter "idx" identifies the specific loop to retrieve statistics for. +** Loops are numbered starting from zero. ^If idx is out of range - less than +** zero or greater than or equal to the total number of loops used to implement +** the statement - a non-zero value is returned and the variable that pOut +** points to is unchanged. +** +** ^Statistics might not be available for all loops in all statements. ^In cases +** where there exist loops with no available statistics, this function behaves +** as if the loop did not exist - it returns non-zero and leave the variable +** that pOut points to unchanged. +** +** See also: [sqlite3_stmt_scanstatus_reset()] +*/ +SQLITE_API int sqlite3_stmt_scanstatus( + sqlite3_stmt *pStmt, /* Prepared statement for which info desired */ + int idx, /* Index of loop to report on */ + int iScanStatusOp, /* Information desired. SQLITE_SCANSTAT_* */ + void *pOut /* Result written here */ +); + +/* +** CAPI3REF: Zero Scan-Status Counters +** METHOD: sqlite3_stmt +** +** ^Zero all [sqlite3_stmt_scanstatus()] related event counters. +** +** This API is only available if the library is built with pre-processor +** symbol [SQLITE_ENABLE_STMT_SCANSTATUS] defined. +*/ +SQLITE_API void sqlite3_stmt_scanstatus_reset(sqlite3_stmt*); + +/* +** CAPI3REF: Flush caches to disk mid-transaction +** +** ^If a write-transaction is open on [database connection] D when the +** [sqlite3_db_cacheflush(D)] interface invoked, any dirty +** pages in the pager-cache that are not currently in use are written out +** to disk. A dirty page may be in use if a database cursor created by an +** active SQL statement is reading from it, or if it is page 1 of a database +** file (page 1 is always "in use"). ^The [sqlite3_db_cacheflush(D)] +** interface flushes caches for all schemas - "main", "temp", and +** any [attached] databases. +** +** ^If this function needs to obtain extra database locks before dirty pages +** can be flushed to disk, it does so. ^If those locks cannot be obtained +** immediately and there is a busy-handler callback configured, it is invoked +** in the usual manner. ^If the required lock still cannot be obtained, then +** the database is skipped and an attempt made to flush any dirty pages +** belonging to the next (if any) database. ^If any databases are skipped +** because locks cannot be obtained, but no other error occurs, this +** function returns SQLITE_BUSY. +** +** ^If any other error occurs while flushing dirty pages to disk (for +** example an IO error or out-of-memory condition), then processing is +** abandoned and an SQLite [error code] is returned to the caller immediately. +** +** ^Otherwise, if no error occurs, [sqlite3_db_cacheflush()] returns SQLITE_OK. +** +** ^This function does not set the database handle error code or message +** returned by the [sqlite3_errcode()] and [sqlite3_errmsg()] functions. +*/ +SQLITE_API int sqlite3_db_cacheflush(sqlite3*); + +/* +** CAPI3REF: The pre-update hook. +** +** ^These interfaces are only available if SQLite is compiled using the +** [SQLITE_ENABLE_PREUPDATE_HOOK] compile-time option. +** +** ^The [sqlite3_preupdate_hook()] interface registers a callback function +** that is invoked prior to each [INSERT], [UPDATE], and [DELETE] operation +** on a database table. +** ^At most one preupdate hook may be registered at a time on a single +** [database connection]; each call to [sqlite3_preupdate_hook()] overrides +** the previous setting. +** ^The preupdate hook is disabled by invoking [sqlite3_preupdate_hook()] +** with a NULL pointer as the second parameter. +** ^The third parameter to [sqlite3_preupdate_hook()] is passed through as +** the first parameter to callbacks. +** +** ^The preupdate hook only fires for changes to real database tables; the +** preupdate hook is not invoked for changes to [virtual tables] or to +** system tables like sqlite_master or sqlite_stat1. +** +** ^The second parameter to the preupdate callback is a pointer to +** the [database connection] that registered the preupdate hook. +** ^The third parameter to the preupdate callback is one of the constants +** [SQLITE_INSERT], [SQLITE_DELETE], or [SQLITE_UPDATE] to identify the +** kind of update operation that is about to occur. +** ^(The fourth parameter to the preupdate callback is the name of the +** database within the database connection that is being modified. This +** will be "main" for the main database or "temp" for TEMP tables or +** the name given after the AS keyword in the [ATTACH] statement for attached +** databases.)^ +** ^The fifth parameter to the preupdate callback is the name of the +** table that is being modified. +** +** For an UPDATE or DELETE operation on a [rowid table], the sixth +** parameter passed to the preupdate callback is the initial [rowid] of the +** row being modified or deleted. For an INSERT operation on a rowid table, +** or any operation on a WITHOUT ROWID table, the value of the sixth +** parameter is undefined. For an INSERT or UPDATE on a rowid table the +** seventh parameter is the final rowid value of the row being inserted +** or updated. The value of the seventh parameter passed to the callback +** function is not defined for operations on WITHOUT ROWID tables, or for +** INSERT operations on rowid tables. +** +** The [sqlite3_preupdate_old()], [sqlite3_preupdate_new()], +** [sqlite3_preupdate_count()], and [sqlite3_preupdate_depth()] interfaces +** provide additional information about a preupdate event. These routines +** may only be called from within a preupdate callback. Invoking any of +** these routines from outside of a preupdate callback or with a +** [database connection] pointer that is different from the one supplied +** to the preupdate callback results in undefined and probably undesirable +** behavior. +** +** ^The [sqlite3_preupdate_count(D)] interface returns the number of columns +** in the row that is being inserted, updated, or deleted. +** +** ^The [sqlite3_preupdate_old(D,N,P)] interface writes into P a pointer to +** a [protected sqlite3_value] that contains the value of the Nth column of +** the table row before it is updated. The N parameter must be between 0 +** and one less than the number of columns or the behavior will be +** undefined. This must only be used within SQLITE_UPDATE and SQLITE_DELETE +** preupdate callbacks; if it is used by an SQLITE_INSERT callback then the +** behavior is undefined. The [sqlite3_value] that P points to +** will be destroyed when the preupdate callback returns. +** +** ^The [sqlite3_preupdate_new(D,N,P)] interface writes into P a pointer to +** a [protected sqlite3_value] that contains the value of the Nth column of +** the table row after it is updated. The N parameter must be between 0 +** and one less than the number of columns or the behavior will be +** undefined. This must only be used within SQLITE_INSERT and SQLITE_UPDATE +** preupdate callbacks; if it is used by an SQLITE_DELETE callback then the +** behavior is undefined. The [sqlite3_value] that P points to +** will be destroyed when the preupdate callback returns. +** +** ^The [sqlite3_preupdate_depth(D)] interface returns 0 if the preupdate +** callback was invoked as a result of a direct insert, update, or delete +** operation; or 1 for inserts, updates, or deletes invoked by top-level +** triggers; or 2 for changes resulting from triggers called by top-level +** triggers; and so forth. +** +** See also: [sqlite3_update_hook()] +*/ +#if defined(SQLITE_ENABLE_PREUPDATE_HOOK) +SQLITE_API void *sqlite3_preupdate_hook( + sqlite3 *db, + void(*xPreUpdate)( + void *pCtx, /* Copy of third arg to preupdate_hook() */ + sqlite3 *db, /* Database handle */ + int op, /* SQLITE_UPDATE, DELETE or INSERT */ + char const *zDb, /* Database name */ + char const *zName, /* Table name */ + sqlite3_int64 iKey1, /* Rowid of row about to be deleted/updated */ + sqlite3_int64 iKey2 /* New rowid value (for a rowid UPDATE) */ + ), + void* +); +SQLITE_API int sqlite3_preupdate_old(sqlite3 *, int, sqlite3_value **); +SQLITE_API int sqlite3_preupdate_count(sqlite3 *); +SQLITE_API int sqlite3_preupdate_depth(sqlite3 *); +SQLITE_API int sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **); +#endif + +/* +** CAPI3REF: Low-level system error code +** +** ^Attempt to return the underlying operating system error code or error +** number that caused the most recent I/O error or failure to open a file. +** The return value is OS-dependent. For example, on unix systems, after +** [sqlite3_open_v2()] returns [SQLITE_CANTOPEN], this interface could be +** called to get back the underlying "errno" that caused the problem, such +** as ENOSPC, EAUTH, EISDIR, and so forth. +*/ +SQLITE_API int sqlite3_system_errno(sqlite3*); + +/* +** CAPI3REF: Database Snapshot +** KEYWORDS: {snapshot} {sqlite3_snapshot} +** EXPERIMENTAL +** +** An instance of the snapshot object records the state of a [WAL mode] +** database for some specific point in history. +** +** In [WAL mode], multiple [database connections] that are open on the +** same database file can each be reading a different historical version +** of the database file. When a [database connection] begins a read +** transaction, that connection sees an unchanging copy of the database +** as it existed for the point in time when the transaction first started. +** Subsequent changes to the database from other connections are not seen +** by the reader until a new read transaction is started. +** +** The sqlite3_snapshot object records state information about an historical +** version of the database file so that it is possible to later open a new read +** transaction that sees that historical version of the database rather than +** the most recent version. +** +** The constructor for this object is [sqlite3_snapshot_get()]. The +** [sqlite3_snapshot_open()] method causes a fresh read transaction to refer +** to an historical snapshot (if possible). The destructor for +** sqlite3_snapshot objects is [sqlite3_snapshot_free()]. +*/ +typedef struct sqlite3_snapshot { + unsigned char hidden[48]; +} sqlite3_snapshot; + +/* +** CAPI3REF: Record A Database Snapshot +** EXPERIMENTAL +** +** ^The [sqlite3_snapshot_get(D,S,P)] interface attempts to make a +** new [sqlite3_snapshot] object that records the current state of +** schema S in database connection D. ^On success, the +** [sqlite3_snapshot_get(D,S,P)] interface writes a pointer to the newly +** created [sqlite3_snapshot] object into *P and returns SQLITE_OK. +** If there is not already a read-transaction open on schema S when +** this function is called, one is opened automatically. +** +** The following must be true for this function to succeed. If any of +** the following statements are false when sqlite3_snapshot_get() is +** called, SQLITE_ERROR is returned. The final value of *P is undefined +** in this case. +** +**
    +**
  • The database handle must be in [autocommit mode]. +** +**
  • Schema S of [database connection] D must be a [WAL mode] database. +** +**
  • There must not be a write transaction open on schema S of database +** connection D. +** +**
  • One or more transactions must have been written to the current wal +** file since it was created on disk (by any connection). This means +** that a snapshot cannot be taken on a wal mode database with no wal +** file immediately after it is first opened. At least one transaction +** must be written to it first. +**
+** +** This function may also return SQLITE_NOMEM. If it is called with the +** database handle in autocommit mode but fails for some other reason, +** whether or not a read transaction is opened on schema S is undefined. +** +** The [sqlite3_snapshot] object returned from a successful call to +** [sqlite3_snapshot_get()] must be freed using [sqlite3_snapshot_free()] +** to avoid a memory leak. +** +** The [sqlite3_snapshot_get()] interface is only available when the +** SQLITE_ENABLE_SNAPSHOT compile-time option is used. +*/ +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_get( + sqlite3 *db, + const char *zSchema, + sqlite3_snapshot **ppSnapshot +); + +/* +** CAPI3REF: Start a read transaction on an historical snapshot +** EXPERIMENTAL +** +** ^The [sqlite3_snapshot_open(D,S,P)] interface starts a +** read transaction for schema S of +** [database connection] D such that the read transaction +** refers to historical [snapshot] P, rather than the most +** recent change to the database. +** ^The [sqlite3_snapshot_open()] interface returns SQLITE_OK on success +** or an appropriate [error code] if it fails. +** +** ^In order to succeed, a call to [sqlite3_snapshot_open(D,S,P)] must be +** the first operation following the [BEGIN] that takes the schema S +** out of [autocommit mode]. +** ^In other words, schema S must not currently be in +** a transaction for [sqlite3_snapshot_open(D,S,P)] to work, but the +** database connection D must be out of [autocommit mode]. +** ^A [snapshot] will fail to open if it has been overwritten by a +** [checkpoint]. +** ^(A call to [sqlite3_snapshot_open(D,S,P)] will fail if the +** database connection D does not know that the database file for +** schema S is in [WAL mode]. A database connection might not know +** that the database file is in [WAL mode] if there has been no prior +** I/O on that database connection, or if the database entered [WAL mode] +** after the most recent I/O on the database connection.)^ +** (Hint: Run "[PRAGMA application_id]" against a newly opened +** database connection in order to make it ready to use snapshots.) +** +** The [sqlite3_snapshot_open()] interface is only available when the +** SQLITE_ENABLE_SNAPSHOT compile-time option is used. +*/ +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_open( + sqlite3 *db, + const char *zSchema, + sqlite3_snapshot *pSnapshot +); + +/* +** CAPI3REF: Destroy a snapshot +** EXPERIMENTAL +** +** ^The [sqlite3_snapshot_free(P)] interface destroys [sqlite3_snapshot] P. +** The application must eventually free every [sqlite3_snapshot] object +** using this routine to avoid a memory leak. +** +** The [sqlite3_snapshot_free()] interface is only available when the +** SQLITE_ENABLE_SNAPSHOT compile-time option is used. +*/ +SQLITE_API SQLITE_EXPERIMENTAL void sqlite3_snapshot_free(sqlite3_snapshot*); + +/* +** CAPI3REF: Compare the ages of two snapshot handles. +** EXPERIMENTAL +** +** The sqlite3_snapshot_cmp(P1, P2) interface is used to compare the ages +** of two valid snapshot handles. +** +** If the two snapshot handles are not associated with the same database +** file, the result of the comparison is undefined. +** +** Additionally, the result of the comparison is only valid if both of the +** snapshot handles were obtained by calling sqlite3_snapshot_get() since the +** last time the wal file was deleted. The wal file is deleted when the +** database is changed back to rollback mode or when the number of database +** clients drops to zero. If either snapshot handle was obtained before the +** wal file was last deleted, the value returned by this function +** is undefined. +** +** Otherwise, this API returns a negative value if P1 refers to an older +** snapshot than P2, zero if the two handles refer to the same database +** snapshot, and a positive value if P1 is a newer snapshot than P2. +*/ +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp( + sqlite3_snapshot *p1, + sqlite3_snapshot *p2 +); + +/* +** CAPI3REF: Recover snapshots from a wal file +** EXPERIMENTAL +** +** If all connections disconnect from a database file but do not perform +** a checkpoint, the existing wal file is opened along with the database +** file the next time the database is opened. At this point it is only +** possible to successfully call sqlite3_snapshot_open() to open the most +** recent snapshot of the database (the one at the head of the wal file), +** even though the wal file may contain other valid snapshots for which +** clients have sqlite3_snapshot handles. +** +** This function attempts to scan the wal file associated with database zDb +** of database handle db and make all valid snapshots available to +** sqlite3_snapshot_open(). It is an error if there is already a read +** transaction open on the database, or if the database is not a wal mode +** database. +** +** SQLITE_OK is returned if successful, or an SQLite error code otherwise. +*/ +SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_recover(sqlite3 *db, const char *zDb); + +/* +** CAPI3REF: Serialize a database +** +** The sqlite3_serialize(D,S,P,F) interface returns a pointer to memory +** that is a serialization of the S database on [database connection] D. +** If P is not a NULL pointer, then the size of the database in bytes +** is written into *P. +** +** For an ordinary on-disk database file, the serialization is just a +** copy of the disk file. For an in-memory database or a "TEMP" database, +** the serialization is the same sequence of bytes which would be written +** to disk if that database where backed up to disk. +** +** The usual case is that sqlite3_serialize() copies the serialization of +** the database into memory obtained from [sqlite3_malloc64()] and returns +** a pointer to that memory. The caller is responsible for freeing the +** returned value to avoid a memory leak. However, if the F argument +** contains the SQLITE_SERIALIZE_NOCOPY bit, then no memory allocations +** are made, and the sqlite3_serialize() function will return a pointer +** to the contiguous memory representation of the database that SQLite +** is currently using for that database, or NULL if the no such contiguous +** memory representation of the database exists. A contiguous memory +** representation of the database will usually only exist if there has +** been a prior call to [sqlite3_deserialize(D,S,...)] with the same +** values of D and S. +** The size of the database is written into *P even if the +** SQLITE_SERIALIZE_NOCOPY bit is set but no contigious copy +** of the database exists. +** +** A call to sqlite3_serialize(D,S,P,F) might return NULL even if the +** SQLITE_SERIALIZE_NOCOPY bit is omitted from argument F if a memory +** allocation error occurs. +** +** This interface is only available if SQLite is compiled with the +** [SQLITE_ENABLE_DESERIALIZE] option. +*/ +SQLITE_API unsigned char *sqlite3_serialize( + sqlite3 *db, /* The database connection */ + const char *zSchema, /* Which DB to serialize. ex: "main", "temp", ... */ + sqlite3_int64 *piSize, /* Write size of the DB here, if not NULL */ + unsigned int mFlags /* Zero or more SQLITE_SERIALIZE_* flags */ +); + +/* +** CAPI3REF: Flags for sqlite3_serialize +** +** Zero or more of the following constants can be OR-ed together for +** the F argument to [sqlite3_serialize(D,S,P,F)]. +** +** SQLITE_SERIALIZE_NOCOPY means that [sqlite3_serialize()] will return +** a pointer to contiguous in-memory database that it is currently using, +** without making a copy of the database. If SQLite is not currently using +** a contiguous in-memory database, then this option causes +** [sqlite3_serialize()] to return a NULL pointer. SQLite will only be +** using a contiguous in-memory database if it has been initialized by a +** prior call to [sqlite3_deserialize()]. +*/ +#define SQLITE_SERIALIZE_NOCOPY 0x001 /* Do no memory allocations */ + +/* +** CAPI3REF: Deserialize a database +** +** The sqlite3_deserialize(D,S,P,N,M,F) interface causes the +** [database connection] D to disconnect from database S and then +** reopen S as an in-memory database based on the serialization contained +** in P. The serialized database P is N bytes in size. M is the size of +** the buffer P, which might be larger than N. If M is larger than N, and +** the SQLITE_DESERIALIZE_READONLY bit is not set in F, then SQLite is +** permitted to add content to the in-memory database as long as the total +** size does not exceed M bytes. +** +** If the SQLITE_DESERIALIZE_FREEONCLOSE bit is set in F, then SQLite will +** invoke sqlite3_free() on the serialization buffer when the database +** connection closes. If the SQLITE_DESERIALIZE_RESIZEABLE bit is set, then +** SQLite will try to increase the buffer size using sqlite3_realloc64() +** if writes on the database cause it to grow larger than M bytes. +** +** The sqlite3_deserialize() interface will fail with SQLITE_BUSY if the +** database is currently in a read transaction or is involved in a backup +** operation. +** +** If sqlite3_deserialize(D,S,P,N,M,F) fails for any reason and if the +** SQLITE_DESERIALIZE_FREEONCLOSE bit is set in argument F, then +** [sqlite3_free()] is invoked on argument P prior to returning. +** +** This interface is only available if SQLite is compiled with the +** [SQLITE_ENABLE_DESERIALIZE] option. +*/ +SQLITE_API int sqlite3_deserialize( + sqlite3 *db, /* The database connection */ + const char *zSchema, /* Which DB to reopen with the deserialization */ + unsigned char *pData, /* The serialized database content */ + sqlite3_int64 szDb, /* Number bytes in the deserialization */ + sqlite3_int64 szBuf, /* Total size of buffer pData[] */ + unsigned mFlags /* Zero or more SQLITE_DESERIALIZE_* flags */ +); + +/* +** CAPI3REF: Flags for sqlite3_deserialize() +** +** The following are allowed values for 6th argument (the F argument) to +** the [sqlite3_deserialize(D,S,P,N,M,F)] interface. +** +** The SQLITE_DESERIALIZE_FREEONCLOSE means that the database serialization +** in the P argument is held in memory obtained from [sqlite3_malloc64()] +** and that SQLite should take ownership of this memory and automatically +** free it when it has finished using it. Without this flag, the caller +** is resposible for freeing any dynamically allocated memory. +** +** The SQLITE_DESERIALIZE_RESIZEABLE flag means that SQLite is allowed to +** grow the size of the database using calls to [sqlite3_realloc64()]. This +** flag should only be used if SQLITE_DESERIALIZE_FREEONCLOSE is also used. +** Without this flag, the deserialized database cannot increase in size beyond +** the number of bytes specified by the M parameter. +** +** The SQLITE_DESERIALIZE_READONLY flag means that the deserialized database +** should be treated as read-only. +*/ +#define SQLITE_DESERIALIZE_FREEONCLOSE 1 /* Call sqlite3_free() on close */ +#define SQLITE_DESERIALIZE_RESIZEABLE 2 /* Resize using sqlite3_realloc64() */ +#define SQLITE_DESERIALIZE_READONLY 4 /* Database is read-only */ + +/* +** Undo the hack that converts floating point types to integer for +** builds on processors without floating point support. +*/ +#ifdef SQLITE_OMIT_FLOATING_POINT +# undef double +#endif + +#ifdef __cplusplus +} /* End of the 'extern "C"' block */ +#endif +#endif /* SQLITE3_H */ + +/******** Begin file sqlite3rtree.h *********/ +/* +** 2010 August 30 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +*/ + +#ifndef _SQLITE3RTREE_H_ +#define _SQLITE3RTREE_H_ + + +#ifdef __cplusplus +extern "C" { +#endif + +typedef struct sqlite3_rtree_geometry sqlite3_rtree_geometry; +typedef struct sqlite3_rtree_query_info sqlite3_rtree_query_info; + +/* The double-precision datatype used by RTree depends on the +** SQLITE_RTREE_INT_ONLY compile-time option. +*/ +#ifdef SQLITE_RTREE_INT_ONLY + typedef sqlite3_int64 sqlite3_rtree_dbl; +#else + typedef double sqlite3_rtree_dbl; +#endif + +/* +** Register a geometry callback named zGeom that can be used as part of an +** R-Tree geometry query as follows: +** +** SELECT ... FROM WHERE MATCH $zGeom(... params ...) +*/ +SQLITE_API int sqlite3_rtree_geometry_callback( + sqlite3 *db, + const char *zGeom, + int (*xGeom)(sqlite3_rtree_geometry*, int, sqlite3_rtree_dbl*,int*), + void *pContext +); + + +/* +** A pointer to a structure of the following type is passed as the first +** argument to callbacks registered using rtree_geometry_callback(). +*/ +struct sqlite3_rtree_geometry { + void *pContext; /* Copy of pContext passed to s_r_g_c() */ + int nParam; /* Size of array aParam[] */ + sqlite3_rtree_dbl *aParam; /* Parameters passed to SQL geom function */ + void *pUser; /* Callback implementation user data */ + void (*xDelUser)(void *); /* Called by SQLite to clean up pUser */ +}; + +/* +** Register a 2nd-generation geometry callback named zScore that can be +** used as part of an R-Tree geometry query as follows: +** +** SELECT ... FROM WHERE MATCH $zQueryFunc(... params ...) +*/ +SQLITE_API int sqlite3_rtree_query_callback( + sqlite3 *db, + const char *zQueryFunc, + int (*xQueryFunc)(sqlite3_rtree_query_info*), + void *pContext, + void (*xDestructor)(void*) +); + + +/* +** A pointer to a structure of the following type is passed as the +** argument to scored geometry callback registered using +** sqlite3_rtree_query_callback(). +** +** Note that the first 5 fields of this structure are identical to +** sqlite3_rtree_geometry. This structure is a subclass of +** sqlite3_rtree_geometry. +*/ +struct sqlite3_rtree_query_info { + void *pContext; /* pContext from when function registered */ + int nParam; /* Number of function parameters */ + sqlite3_rtree_dbl *aParam; /* value of function parameters */ + void *pUser; /* callback can use this, if desired */ + void (*xDelUser)(void*); /* function to free pUser */ + sqlite3_rtree_dbl *aCoord; /* Coordinates of node or entry to check */ + unsigned int *anQueue; /* Number of pending entries in the queue */ + int nCoord; /* Number of coordinates */ + int iLevel; /* Level of current node or entry */ + int mxLevel; /* The largest iLevel value in the tree */ + sqlite3_int64 iRowid; /* Rowid for current entry */ + sqlite3_rtree_dbl rParentScore; /* Score of parent node */ + int eParentWithin; /* Visibility of parent node */ + int eWithin; /* OUT: Visiblity */ + sqlite3_rtree_dbl rScore; /* OUT: Write the score here */ + /* The following fields are only available in 3.8.11 and later */ + sqlite3_value **apSqlParam; /* Original SQL values of parameters */ +}; + +/* +** Allowed values for sqlite3_rtree_query.eWithin and .eParentWithin. +*/ +#define NOT_WITHIN 0 /* Object completely outside of query region */ +#define PARTLY_WITHIN 1 /* Object partially overlaps query region */ +#define FULLY_WITHIN 2 /* Object fully contained within query region */ + + +#ifdef __cplusplus +} /* end of the 'extern "C"' block */ +#endif + +#endif /* ifndef _SQLITE3RTREE_H_ */ + +/******** End of sqlite3rtree.h *********/ +/******** Begin file sqlite3session.h *********/ + +#if !defined(__SQLITESESSION_H_) && defined(SQLITE_ENABLE_SESSION) +#define __SQLITESESSION_H_ 1 + +/* +** Make sure we can call this stuff from C++. +*/ +#ifdef __cplusplus +extern "C" { +#endif + + +/* +** CAPI3REF: Session Object Handle +** +** An instance of this object is a [session] that can be used to +** record changes to a database. +*/ +typedef struct sqlite3_session sqlite3_session; + +/* +** CAPI3REF: Changeset Iterator Handle +** +** An instance of this object acts as a cursor for iterating +** over the elements of a [changeset] or [patchset]. +*/ +typedef struct sqlite3_changeset_iter sqlite3_changeset_iter; + +/* +** CAPI3REF: Create A New Session Object +** CONSTRUCTOR: sqlite3_session +** +** Create a new session object attached to database handle db. If successful, +** a pointer to the new object is written to *ppSession and SQLITE_OK is +** returned. If an error occurs, *ppSession is set to NULL and an SQLite +** error code (e.g. SQLITE_NOMEM) is returned. +** +** It is possible to create multiple session objects attached to a single +** database handle. +** +** Session objects created using this function should be deleted using the +** [sqlite3session_delete()] function before the database handle that they +** are attached to is itself closed. If the database handle is closed before +** the session object is deleted, then the results of calling any session +** module function, including [sqlite3session_delete()] on the session object +** are undefined. +** +** Because the session module uses the [sqlite3_preupdate_hook()] API, it +** is not possible for an application to register a pre-update hook on a +** database handle that has one or more session objects attached. Nor is +** it possible to create a session object attached to a database handle for +** which a pre-update hook is already defined. The results of attempting +** either of these things are undefined. +** +** The session object will be used to create changesets for tables in +** database zDb, where zDb is either "main", or "temp", or the name of an +** attached database. It is not an error if database zDb is not attached +** to the database when the session object is created. +*/ +SQLITE_API int sqlite3session_create( + sqlite3 *db, /* Database handle */ + const char *zDb, /* Name of db (e.g. "main") */ + sqlite3_session **ppSession /* OUT: New session object */ +); + +/* +** CAPI3REF: Delete A Session Object +** DESTRUCTOR: sqlite3_session +** +** Delete a session object previously allocated using +** [sqlite3session_create()]. Once a session object has been deleted, the +** results of attempting to use pSession with any other session module +** function are undefined. +** +** Session objects must be deleted before the database handle to which they +** are attached is closed. Refer to the documentation for +** [sqlite3session_create()] for details. +*/ +SQLITE_API void sqlite3session_delete(sqlite3_session *pSession); + + +/* +** CAPI3REF: Enable Or Disable A Session Object +** METHOD: sqlite3_session +** +** Enable or disable the recording of changes by a session object. When +** enabled, a session object records changes made to the database. When +** disabled - it does not. A newly created session object is enabled. +** Refer to the documentation for [sqlite3session_changeset()] for further +** details regarding how enabling and disabling a session object affects +** the eventual changesets. +** +** Passing zero to this function disables the session. Passing a value +** greater than zero enables it. Passing a value less than zero is a +** no-op, and may be used to query the current state of the session. +** +** The return value indicates the final state of the session object: 0 if +** the session is disabled, or 1 if it is enabled. +*/ +SQLITE_API int sqlite3session_enable(sqlite3_session *pSession, int bEnable); + +/* +** CAPI3REF: Set Or Clear the Indirect Change Flag +** METHOD: sqlite3_session +** +** Each change recorded by a session object is marked as either direct or +** indirect. A change is marked as indirect if either: +** +**
    +**
  • The session object "indirect" flag is set when the change is +** made, or +**
  • The change is made by an SQL trigger or foreign key action +** instead of directly as a result of a users SQL statement. +**
+** +** If a single row is affected by more than one operation within a session, +** then the change is considered indirect if all operations meet the criteria +** for an indirect change above, or direct otherwise. +** +** This function is used to set, clear or query the session object indirect +** flag. If the second argument passed to this function is zero, then the +** indirect flag is cleared. If it is greater than zero, the indirect flag +** is set. Passing a value less than zero does not modify the current value +** of the indirect flag, and may be used to query the current state of the +** indirect flag for the specified session object. +** +** The return value indicates the final state of the indirect flag: 0 if +** it is clear, or 1 if it is set. +*/ +SQLITE_API int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect); + +/* +** CAPI3REF: Attach A Table To A Session Object +** METHOD: sqlite3_session +** +** If argument zTab is not NULL, then it is the name of a table to attach +** to the session object passed as the first argument. All subsequent changes +** made to the table while the session object is enabled will be recorded. See +** documentation for [sqlite3session_changeset()] for further details. +** +** Or, if argument zTab is NULL, then changes are recorded for all tables +** in the database. If additional tables are added to the database (by +** executing "CREATE TABLE" statements) after this call is made, changes for +** the new tables are also recorded. +** +** Changes can only be recorded for tables that have a PRIMARY KEY explicitly +** defined as part of their CREATE TABLE statement. It does not matter if the +** PRIMARY KEY is an "INTEGER PRIMARY KEY" (rowid alias) or not. The PRIMARY +** KEY may consist of a single column, or may be a composite key. +** +** It is not an error if the named table does not exist in the database. Nor +** is it an error if the named table does not have a PRIMARY KEY. However, +** no changes will be recorded in either of these scenarios. +** +** Changes are not recorded for individual rows that have NULL values stored +** in one or more of their PRIMARY KEY columns. +** +** SQLITE_OK is returned if the call completes without error. Or, if an error +** occurs, an SQLite error code (e.g. SQLITE_NOMEM) is returned. +** +**

Special sqlite_stat1 Handling

+** +** As of SQLite version 3.22.0, the "sqlite_stat1" table is an exception to +** some of the rules above. In SQLite, the schema of sqlite_stat1 is: +**
+**        CREATE TABLE sqlite_stat1(tbl,idx,stat)  
+**  
+** +** Even though sqlite_stat1 does not have a PRIMARY KEY, changes are +** recorded for it as if the PRIMARY KEY is (tbl,idx). Additionally, changes +** are recorded for rows for which (idx IS NULL) is true. However, for such +** rows a zero-length blob (SQL value X'') is stored in the changeset or +** patchset instead of a NULL value. This allows such changesets to be +** manipulated by legacy implementations of sqlite3changeset_invert(), +** concat() and similar. +** +** The sqlite3changeset_apply() function automatically converts the +** zero-length blob back to a NULL value when updating the sqlite_stat1 +** table. However, if the application calls sqlite3changeset_new(), +** sqlite3changeset_old() or sqlite3changeset_conflict on a changeset +** iterator directly (including on a changeset iterator passed to a +** conflict-handler callback) then the X'' value is returned. The application +** must translate X'' to NULL itself if required. +** +** Legacy (older than 3.22.0) versions of the sessions module cannot capture +** changes made to the sqlite_stat1 table. Legacy versions of the +** sqlite3changeset_apply() function silently ignore any modifications to the +** sqlite_stat1 table that are part of a changeset or patchset. +*/ +SQLITE_API int sqlite3session_attach( + sqlite3_session *pSession, /* Session object */ + const char *zTab /* Table name */ +); + +/* +** CAPI3REF: Set a table filter on a Session Object. +** METHOD: sqlite3_session +** +** The second argument (xFilter) is the "filter callback". For changes to rows +** in tables that are not attached to the Session object, the filter is called +** to determine whether changes to the table's rows should be tracked or not. +** If xFilter returns 0, changes is not tracked. Note that once a table is +** attached, xFilter will not be called again. +*/ +SQLITE_API void sqlite3session_table_filter( + sqlite3_session *pSession, /* Session object */ + int(*xFilter)( + void *pCtx, /* Copy of third arg to _filter_table() */ + const char *zTab /* Table name */ + ), + void *pCtx /* First argument passed to xFilter */ +); + +/* +** CAPI3REF: Generate A Changeset From A Session Object +** METHOD: sqlite3_session +** +** Obtain a changeset containing changes to the tables attached to the +** session object passed as the first argument. If successful, +** set *ppChangeset to point to a buffer containing the changeset +** and *pnChangeset to the size of the changeset in bytes before returning +** SQLITE_OK. If an error occurs, set both *ppChangeset and *pnChangeset to +** zero and return an SQLite error code. +** +** A changeset consists of zero or more INSERT, UPDATE and/or DELETE changes, +** each representing a change to a single row of an attached table. An INSERT +** change contains the values of each field of a new database row. A DELETE +** contains the original values of each field of a deleted database row. An +** UPDATE change contains the original values of each field of an updated +** database row along with the updated values for each updated non-primary-key +** column. It is not possible for an UPDATE change to represent a change that +** modifies the values of primary key columns. If such a change is made, it +** is represented in a changeset as a DELETE followed by an INSERT. +** +** Changes are not recorded for rows that have NULL values stored in one or +** more of their PRIMARY KEY columns. If such a row is inserted or deleted, +** no corresponding change is present in the changesets returned by this +** function. If an existing row with one or more NULL values stored in +** PRIMARY KEY columns is updated so that all PRIMARY KEY columns are non-NULL, +** only an INSERT is appears in the changeset. Similarly, if an existing row +** with non-NULL PRIMARY KEY values is updated so that one or more of its +** PRIMARY KEY columns are set to NULL, the resulting changeset contains a +** DELETE change only. +** +** The contents of a changeset may be traversed using an iterator created +** using the [sqlite3changeset_start()] API. A changeset may be applied to +** a database with a compatible schema using the [sqlite3changeset_apply()] +** API. +** +** Within a changeset generated by this function, all changes related to a +** single table are grouped together. In other words, when iterating through +** a changeset or when applying a changeset to a database, all changes related +** to a single table are processed before moving on to the next table. Tables +** are sorted in the same order in which they were attached (or auto-attached) +** to the sqlite3_session object. The order in which the changes related to +** a single table are stored is undefined. +** +** Following a successful call to this function, it is the responsibility of +** the caller to eventually free the buffer that *ppChangeset points to using +** [sqlite3_free()]. +** +**

Changeset Generation

+** +** Once a table has been attached to a session object, the session object +** records the primary key values of all new rows inserted into the table. +** It also records the original primary key and other column values of any +** deleted or updated rows. For each unique primary key value, data is only +** recorded once - the first time a row with said primary key is inserted, +** updated or deleted in the lifetime of the session. +** +** There is one exception to the previous paragraph: when a row is inserted, +** updated or deleted, if one or more of its primary key columns contain a +** NULL value, no record of the change is made. +** +** The session object therefore accumulates two types of records - those +** that consist of primary key values only (created when the user inserts +** a new record) and those that consist of the primary key values and the +** original values of other table columns (created when the users deletes +** or updates a record). +** +** When this function is called, the requested changeset is created using +** both the accumulated records and the current contents of the database +** file. Specifically: +** +**
    +**
  • For each record generated by an insert, the database is queried +** for a row with a matching primary key. If one is found, an INSERT +** change is added to the changeset. If no such row is found, no change +** is added to the changeset. +** +**
  • For each record generated by an update or delete, the database is +** queried for a row with a matching primary key. If such a row is +** found and one or more of the non-primary key fields have been +** modified from their original values, an UPDATE change is added to +** the changeset. Or, if no such row is found in the table, a DELETE +** change is added to the changeset. If there is a row with a matching +** primary key in the database, but all fields contain their original +** values, no change is added to the changeset. +**
+** +** This means, amongst other things, that if a row is inserted and then later +** deleted while a session object is active, neither the insert nor the delete +** will be present in the changeset. Or if a row is deleted and then later a +** row with the same primary key values inserted while a session object is +** active, the resulting changeset will contain an UPDATE change instead of +** a DELETE and an INSERT. +** +** When a session object is disabled (see the [sqlite3session_enable()] API), +** it does not accumulate records when rows are inserted, updated or deleted. +** This may appear to have some counter-intuitive effects if a single row +** is written to more than once during a session. For example, if a row +** is inserted while a session object is enabled, then later deleted while +** the same session object is disabled, no INSERT record will appear in the +** changeset, even though the delete took place while the session was disabled. +** Or, if one field of a row is updated while a session is disabled, and +** another field of the same row is updated while the session is enabled, the +** resulting changeset will contain an UPDATE change that updates both fields. +*/ +SQLITE_API int sqlite3session_changeset( + sqlite3_session *pSession, /* Session object */ + int *pnChangeset, /* OUT: Size of buffer at *ppChangeset */ + void **ppChangeset /* OUT: Buffer containing changeset */ +); + +/* +** CAPI3REF: Load The Difference Between Tables Into A Session +** METHOD: sqlite3_session +** +** If it is not already attached to the session object passed as the first +** argument, this function attaches table zTbl in the same manner as the +** [sqlite3session_attach()] function. If zTbl does not exist, or if it +** does not have a primary key, this function is a no-op (but does not return +** an error). +** +** Argument zFromDb must be the name of a database ("main", "temp" etc.) +** attached to the same database handle as the session object that contains +** a table compatible with the table attached to the session by this function. +** A table is considered compatible if it: +** +**
    +**
  • Has the same name, +**
  • Has the same set of columns declared in the same order, and +**
  • Has the same PRIMARY KEY definition. +**
+** +** If the tables are not compatible, SQLITE_SCHEMA is returned. If the tables +** are compatible but do not have any PRIMARY KEY columns, it is not an error +** but no changes are added to the session object. As with other session +** APIs, tables without PRIMARY KEYs are simply ignored. +** +** This function adds a set of changes to the session object that could be +** used to update the table in database zFrom (call this the "from-table") +** so that its content is the same as the table attached to the session +** object (call this the "to-table"). Specifically: +** +**
    +**
  • For each row (primary key) that exists in the to-table but not in +** the from-table, an INSERT record is added to the session object. +** +**
  • For each row (primary key) that exists in the to-table but not in +** the from-table, a DELETE record is added to the session object. +** +**
  • For each row (primary key) that exists in both tables, but features +** different non-PK values in each, an UPDATE record is added to the +** session. +**
+** +** To clarify, if this function is called and then a changeset constructed +** using [sqlite3session_changeset()], then after applying that changeset to +** database zFrom the contents of the two compatible tables would be +** identical. +** +** It an error if database zFrom does not exist or does not contain the +** required compatible table. +** +** If the operation successful, SQLITE_OK is returned. Otherwise, an SQLite +** error code. In this case, if argument pzErrMsg is not NULL, *pzErrMsg +** may be set to point to a buffer containing an English language error +** message. It is the responsibility of the caller to free this buffer using +** sqlite3_free(). +*/ +SQLITE_API int sqlite3session_diff( + sqlite3_session *pSession, + const char *zFromDb, + const char *zTbl, + char **pzErrMsg +); + + +/* +** CAPI3REF: Generate A Patchset From A Session Object +** METHOD: sqlite3_session +** +** The differences between a patchset and a changeset are that: +** +**
    +**
  • DELETE records consist of the primary key fields only. The +** original values of other fields are omitted. +**
  • The original values of any modified fields are omitted from +** UPDATE records. +**
+** +** A patchset blob may be used with up to date versions of all +** sqlite3changeset_xxx API functions except for sqlite3changeset_invert(), +** which returns SQLITE_CORRUPT if it is passed a patchset. Similarly, +** attempting to use a patchset blob with old versions of the +** sqlite3changeset_xxx APIs also provokes an SQLITE_CORRUPT error. +** +** Because the non-primary key "old.*" fields are omitted, no +** SQLITE_CHANGESET_DATA conflicts can be detected or reported if a patchset +** is passed to the sqlite3changeset_apply() API. Other conflict types work +** in the same way as for changesets. +** +** Changes within a patchset are ordered in the same way as for changesets +** generated by the sqlite3session_changeset() function (i.e. all changes for +** a single table are grouped together, tables appear in the order in which +** they were attached to the session object). +*/ +SQLITE_API int sqlite3session_patchset( + sqlite3_session *pSession, /* Session object */ + int *pnPatchset, /* OUT: Size of buffer at *ppPatchset */ + void **ppPatchset /* OUT: Buffer containing patchset */ +); + +/* +** CAPI3REF: Test if a changeset has recorded any changes. +** +** Return non-zero if no changes to attached tables have been recorded by +** the session object passed as the first argument. Otherwise, if one or +** more changes have been recorded, return zero. +** +** Even if this function returns zero, it is possible that calling +** [sqlite3session_changeset()] on the session handle may still return a +** changeset that contains no changes. This can happen when a row in +** an attached table is modified and then later on the original values +** are restored. However, if this function returns non-zero, then it is +** guaranteed that a call to sqlite3session_changeset() will return a +** changeset containing zero changes. +*/ +SQLITE_API int sqlite3session_isempty(sqlite3_session *pSession); + +/* +** CAPI3REF: Create An Iterator To Traverse A Changeset +** CONSTRUCTOR: sqlite3_changeset_iter +** +** Create an iterator used to iterate through the contents of a changeset. +** If successful, *pp is set to point to the iterator handle and SQLITE_OK +** is returned. Otherwise, if an error occurs, *pp is set to zero and an +** SQLite error code is returned. +** +** The following functions can be used to advance and query a changeset +** iterator created by this function: +** +**
    +**
  • [sqlite3changeset_next()] +**
  • [sqlite3changeset_op()] +**
  • [sqlite3changeset_new()] +**
  • [sqlite3changeset_old()] +**
+** +** It is the responsibility of the caller to eventually destroy the iterator +** by passing it to [sqlite3changeset_finalize()]. The buffer containing the +** changeset (pChangeset) must remain valid until after the iterator is +** destroyed. +** +** Assuming the changeset blob was created by one of the +** [sqlite3session_changeset()], [sqlite3changeset_concat()] or +** [sqlite3changeset_invert()] functions, all changes within the changeset +** that apply to a single table are grouped together. This means that when +** an application iterates through a changeset using an iterator created by +** this function, all changes that relate to a single table are visited +** consecutively. There is no chance that the iterator will visit a change +** the applies to table X, then one for table Y, and then later on visit +** another change for table X. +*/ +SQLITE_API int sqlite3changeset_start( + sqlite3_changeset_iter **pp, /* OUT: New changeset iterator handle */ + int nChangeset, /* Size of changeset blob in bytes */ + void *pChangeset /* Pointer to blob containing changeset */ +); + + +/* +** CAPI3REF: Advance A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** This function may only be used with iterators created by function +** [sqlite3changeset_start()]. If it is called on an iterator passed to +** a conflict-handler callback by [sqlite3changeset_apply()], SQLITE_MISUSE +** is returned and the call has no effect. +** +** Immediately after an iterator is created by sqlite3changeset_start(), it +** does not point to any change in the changeset. Assuming the changeset +** is not empty, the first call to this function advances the iterator to +** point to the first change in the changeset. Each subsequent call advances +** the iterator to point to the next change in the changeset (if any). If +** no error occurs and the iterator points to a valid change after a call +** to sqlite3changeset_next() has advanced it, SQLITE_ROW is returned. +** Otherwise, if all changes in the changeset have already been visited, +** SQLITE_DONE is returned. +** +** If an error occurs, an SQLite error code is returned. Possible error +** codes include SQLITE_CORRUPT (if the changeset buffer is corrupt) or +** SQLITE_NOMEM. +*/ +SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter); + +/* +** CAPI3REF: Obtain The Current Operation From A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** The pIter argument passed to this function may either be an iterator +** passed to a conflict-handler by [sqlite3changeset_apply()], or an iterator +** created by [sqlite3changeset_start()]. In the latter case, the most recent +** call to [sqlite3changeset_next()] must have returned [SQLITE_ROW]. If this +** is not the case, this function returns [SQLITE_MISUSE]. +** +** If argument pzTab is not NULL, then *pzTab is set to point to a +** nul-terminated utf-8 encoded string containing the name of the table +** affected by the current change. The buffer remains valid until either +** sqlite3changeset_next() is called on the iterator or until the +** conflict-handler function returns. If pnCol is not NULL, then *pnCol is +** set to the number of columns in the table affected by the change. If +** pbIncorrect is not NULL, then *pbIndirect is set to true (1) if the change +** is an indirect change, or false (0) otherwise. See the documentation for +** [sqlite3session_indirect()] for a description of direct and indirect +** changes. Finally, if pOp is not NULL, then *pOp is set to one of +** [SQLITE_INSERT], [SQLITE_DELETE] or [SQLITE_UPDATE], depending on the +** type of change that the iterator currently points to. +** +** If no error occurs, SQLITE_OK is returned. If an error does occur, an +** SQLite error code is returned. The values of the output variables may not +** be trusted in this case. +*/ +SQLITE_API int sqlite3changeset_op( + sqlite3_changeset_iter *pIter, /* Iterator object */ + const char **pzTab, /* OUT: Pointer to table name */ + int *pnCol, /* OUT: Number of columns in table */ + int *pOp, /* OUT: SQLITE_INSERT, DELETE or UPDATE */ + int *pbIndirect /* OUT: True for an 'indirect' change */ +); + +/* +** CAPI3REF: Obtain The Primary Key Definition Of A Table +** METHOD: sqlite3_changeset_iter +** +** For each modified table, a changeset includes the following: +** +**
    +**
  • The number of columns in the table, and +**
  • Which of those columns make up the tables PRIMARY KEY. +**
+** +** This function is used to find which columns comprise the PRIMARY KEY of +** the table modified by the change that iterator pIter currently points to. +** If successful, *pabPK is set to point to an array of nCol entries, where +** nCol is the number of columns in the table. Elements of *pabPK are set to +** 0x01 if the corresponding column is part of the tables primary key, or +** 0x00 if it is not. +** +** If argument pnCol is not NULL, then *pnCol is set to the number of columns +** in the table. +** +** If this function is called when the iterator does not point to a valid +** entry, SQLITE_MISUSE is returned and the output variables zeroed. Otherwise, +** SQLITE_OK is returned and the output variables populated as described +** above. +*/ +SQLITE_API int sqlite3changeset_pk( + sqlite3_changeset_iter *pIter, /* Iterator object */ + unsigned char **pabPK, /* OUT: Array of boolean - true for PK cols */ + int *pnCol /* OUT: Number of entries in output array */ +); + +/* +** CAPI3REF: Obtain old.* Values From A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** The pIter argument passed to this function may either be an iterator +** passed to a conflict-handler by [sqlite3changeset_apply()], or an iterator +** created by [sqlite3changeset_start()]. In the latter case, the most recent +** call to [sqlite3changeset_next()] must have returned SQLITE_ROW. +** Furthermore, it may only be called if the type of change that the iterator +** currently points to is either [SQLITE_DELETE] or [SQLITE_UPDATE]. Otherwise, +** this function returns [SQLITE_MISUSE] and sets *ppValue to NULL. +** +** Argument iVal must be greater than or equal to 0, and less than the number +** of columns in the table affected by the current change. Otherwise, +** [SQLITE_RANGE] is returned and *ppValue is set to NULL. +** +** If successful, this function sets *ppValue to point to a protected +** sqlite3_value object containing the iVal'th value from the vector of +** original row values stored as part of the UPDATE or DELETE change and +** returns SQLITE_OK. The name of the function comes from the fact that this +** is similar to the "old.*" columns available to update or delete triggers. +** +** If some other error occurs (e.g. an OOM condition), an SQLite error code +** is returned and *ppValue is set to NULL. +*/ +SQLITE_API int sqlite3changeset_old( + sqlite3_changeset_iter *pIter, /* Changeset iterator */ + int iVal, /* Column number */ + sqlite3_value **ppValue /* OUT: Old value (or NULL pointer) */ +); + +/* +** CAPI3REF: Obtain new.* Values From A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** The pIter argument passed to this function may either be an iterator +** passed to a conflict-handler by [sqlite3changeset_apply()], or an iterator +** created by [sqlite3changeset_start()]. In the latter case, the most recent +** call to [sqlite3changeset_next()] must have returned SQLITE_ROW. +** Furthermore, it may only be called if the type of change that the iterator +** currently points to is either [SQLITE_UPDATE] or [SQLITE_INSERT]. Otherwise, +** this function returns [SQLITE_MISUSE] and sets *ppValue to NULL. +** +** Argument iVal must be greater than or equal to 0, and less than the number +** of columns in the table affected by the current change. Otherwise, +** [SQLITE_RANGE] is returned and *ppValue is set to NULL. +** +** If successful, this function sets *ppValue to point to a protected +** sqlite3_value object containing the iVal'th value from the vector of +** new row values stored as part of the UPDATE or INSERT change and +** returns SQLITE_OK. If the change is an UPDATE and does not include +** a new value for the requested column, *ppValue is set to NULL and +** SQLITE_OK returned. The name of the function comes from the fact that +** this is similar to the "new.*" columns available to update or delete +** triggers. +** +** If some other error occurs (e.g. an OOM condition), an SQLite error code +** is returned and *ppValue is set to NULL. +*/ +SQLITE_API int sqlite3changeset_new( + sqlite3_changeset_iter *pIter, /* Changeset iterator */ + int iVal, /* Column number */ + sqlite3_value **ppValue /* OUT: New value (or NULL pointer) */ +); + +/* +** CAPI3REF: Obtain Conflicting Row Values From A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** This function should only be used with iterator objects passed to a +** conflict-handler callback by [sqlite3changeset_apply()] with either +** [SQLITE_CHANGESET_DATA] or [SQLITE_CHANGESET_CONFLICT]. If this function +** is called on any other iterator, [SQLITE_MISUSE] is returned and *ppValue +** is set to NULL. +** +** Argument iVal must be greater than or equal to 0, and less than the number +** of columns in the table affected by the current change. Otherwise, +** [SQLITE_RANGE] is returned and *ppValue is set to NULL. +** +** If successful, this function sets *ppValue to point to a protected +** sqlite3_value object containing the iVal'th value from the +** "conflicting row" associated with the current conflict-handler callback +** and returns SQLITE_OK. +** +** If some other error occurs (e.g. an OOM condition), an SQLite error code +** is returned and *ppValue is set to NULL. +*/ +SQLITE_API int sqlite3changeset_conflict( + sqlite3_changeset_iter *pIter, /* Changeset iterator */ + int iVal, /* Column number */ + sqlite3_value **ppValue /* OUT: Value from conflicting row */ +); + +/* +** CAPI3REF: Determine The Number Of Foreign Key Constraint Violations +** METHOD: sqlite3_changeset_iter +** +** This function may only be called with an iterator passed to an +** SQLITE_CHANGESET_FOREIGN_KEY conflict handler callback. In this case +** it sets the output variable to the total number of known foreign key +** violations in the destination database and returns SQLITE_OK. +** +** In all other cases this function returns SQLITE_MISUSE. +*/ +SQLITE_API int sqlite3changeset_fk_conflicts( + sqlite3_changeset_iter *pIter, /* Changeset iterator */ + int *pnOut /* OUT: Number of FK violations */ +); + + +/* +** CAPI3REF: Finalize A Changeset Iterator +** METHOD: sqlite3_changeset_iter +** +** This function is used to finalize an iterator allocated with +** [sqlite3changeset_start()]. +** +** This function should only be called on iterators created using the +** [sqlite3changeset_start()] function. If an application calls this +** function with an iterator passed to a conflict-handler by +** [sqlite3changeset_apply()], [SQLITE_MISUSE] is immediately returned and the +** call has no effect. +** +** If an error was encountered within a call to an sqlite3changeset_xxx() +** function (for example an [SQLITE_CORRUPT] in [sqlite3changeset_next()] or an +** [SQLITE_NOMEM] in [sqlite3changeset_new()]) then an error code corresponding +** to that error is returned by this function. Otherwise, SQLITE_OK is +** returned. This is to allow the following pattern (pseudo-code): +** +**
+**   sqlite3changeset_start();
+**   while( SQLITE_ROW==sqlite3changeset_next() ){
+**     // Do something with change.
+**   }
+**   rc = sqlite3changeset_finalize();
+**   if( rc!=SQLITE_OK ){
+**     // An error has occurred 
+**   }
+** 
+*/ +SQLITE_API int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter); + +/* +** CAPI3REF: Invert A Changeset +** +** This function is used to "invert" a changeset object. Applying an inverted +** changeset to a database reverses the effects of applying the uninverted +** changeset. Specifically: +** +**
    +**
  • Each DELETE change is changed to an INSERT, and +**
  • Each INSERT change is changed to a DELETE, and +**
  • For each UPDATE change, the old.* and new.* values are exchanged. +**
+** +** This function does not change the order in which changes appear within +** the changeset. It merely reverses the sense of each individual change. +** +** If successful, a pointer to a buffer containing the inverted changeset +** is stored in *ppOut, the size of the same buffer is stored in *pnOut, and +** SQLITE_OK is returned. If an error occurs, both *pnOut and *ppOut are +** zeroed and an SQLite error code returned. +** +** It is the responsibility of the caller to eventually call sqlite3_free() +** on the *ppOut pointer to free the buffer allocation following a successful +** call to this function. +** +** WARNING/TODO: This function currently assumes that the input is a valid +** changeset. If it is not, the results are undefined. +*/ +SQLITE_API int sqlite3changeset_invert( + int nIn, const void *pIn, /* Input changeset */ + int *pnOut, void **ppOut /* OUT: Inverse of input */ +); + +/* +** CAPI3REF: Concatenate Two Changeset Objects +** +** This function is used to concatenate two changesets, A and B, into a +** single changeset. The result is a changeset equivalent to applying +** changeset A followed by changeset B. +** +** This function combines the two input changesets using an +** sqlite3_changegroup object. Calling it produces similar results as the +** following code fragment: +** +**
+**   sqlite3_changegroup *pGrp;
+**   rc = sqlite3_changegroup_new(&pGrp);
+**   if( rc==SQLITE_OK ) rc = sqlite3changegroup_add(pGrp, nA, pA);
+**   if( rc==SQLITE_OK ) rc = sqlite3changegroup_add(pGrp, nB, pB);
+**   if( rc==SQLITE_OK ){
+**     rc = sqlite3changegroup_output(pGrp, pnOut, ppOut);
+**   }else{
+**     *ppOut = 0;
+**     *pnOut = 0;
+**   }
+** 
+** +** Refer to the sqlite3_changegroup documentation below for details. +*/ +SQLITE_API int sqlite3changeset_concat( + int nA, /* Number of bytes in buffer pA */ + void *pA, /* Pointer to buffer containing changeset A */ + int nB, /* Number of bytes in buffer pB */ + void *pB, /* Pointer to buffer containing changeset B */ + int *pnOut, /* OUT: Number of bytes in output changeset */ + void **ppOut /* OUT: Buffer containing output changeset */ +); + + +/* +** CAPI3REF: Changegroup Handle +** +** A changegroup is an object used to combine two or more +** [changesets] or [patchsets] +*/ +typedef struct sqlite3_changegroup sqlite3_changegroup; + +/* +** CAPI3REF: Create A New Changegroup Object +** CONSTRUCTOR: sqlite3_changegroup +** +** An sqlite3_changegroup object is used to combine two or more changesets +** (or patchsets) into a single changeset (or patchset). A single changegroup +** object may combine changesets or patchsets, but not both. The output is +** always in the same format as the input. +** +** If successful, this function returns SQLITE_OK and populates (*pp) with +** a pointer to a new sqlite3_changegroup object before returning. The caller +** should eventually free the returned object using a call to +** sqlite3changegroup_delete(). If an error occurs, an SQLite error code +** (i.e. SQLITE_NOMEM) is returned and *pp is set to NULL. +** +** The usual usage pattern for an sqlite3_changegroup object is as follows: +** +**
    +**
  • It is created using a call to sqlite3changegroup_new(). +** +**
  • Zero or more changesets (or patchsets) are added to the object +** by calling sqlite3changegroup_add(). +** +**
  • The result of combining all input changesets together is obtained +** by the application via a call to sqlite3changegroup_output(). +** +**
  • The object is deleted using a call to sqlite3changegroup_delete(). +**
+** +** Any number of calls to add() and output() may be made between the calls to +** new() and delete(), and in any order. +** +** As well as the regular sqlite3changegroup_add() and +** sqlite3changegroup_output() functions, also available are the streaming +** versions sqlite3changegroup_add_strm() and sqlite3changegroup_output_strm(). +*/ +SQLITE_API int sqlite3changegroup_new(sqlite3_changegroup **pp); + +/* +** CAPI3REF: Add A Changeset To A Changegroup +** METHOD: sqlite3_changegroup +** +** Add all changes within the changeset (or patchset) in buffer pData (size +** nData bytes) to the changegroup. +** +** If the buffer contains a patchset, then all prior calls to this function +** on the same changegroup object must also have specified patchsets. Or, if +** the buffer contains a changeset, so must have the earlier calls to this +** function. Otherwise, SQLITE_ERROR is returned and no changes are added +** to the changegroup. +** +** Rows within the changeset and changegroup are identified by the values in +** their PRIMARY KEY columns. A change in the changeset is considered to +** apply to the same row as a change already present in the changegroup if +** the two rows have the same primary key. +** +** Changes to rows that do not already appear in the changegroup are +** simply copied into it. Or, if both the new changeset and the changegroup +** contain changes that apply to a single row, the final contents of the +** changegroup depends on the type of each change, as follows: +** +** +** +** +**
Existing Change New Change Output Change +**
INSERT INSERT +** The new change is ignored. This case does not occur if the new +** changeset was recorded immediately after the changesets already +** added to the changegroup. +**
INSERT UPDATE +** The INSERT change remains in the changegroup. The values in the +** INSERT change are modified as if the row was inserted by the +** existing change and then updated according to the new change. +**
INSERT DELETE +** The existing INSERT is removed from the changegroup. The DELETE is +** not added. +**
UPDATE INSERT +** The new change is ignored. This case does not occur if the new +** changeset was recorded immediately after the changesets already +** added to the changegroup. +**
UPDATE UPDATE +** The existing UPDATE remains within the changegroup. It is amended +** so that the accompanying values are as if the row was updated once +** by the existing change and then again by the new change. +**
UPDATE DELETE +** The existing UPDATE is replaced by the new DELETE within the +** changegroup. +**
DELETE INSERT +** If one or more of the column values in the row inserted by the +** new change differ from those in the row deleted by the existing +** change, the existing DELETE is replaced by an UPDATE within the +** changegroup. Otherwise, if the inserted row is exactly the same +** as the deleted row, the existing DELETE is simply discarded. +**
DELETE UPDATE +** The new change is ignored. This case does not occur if the new +** changeset was recorded immediately after the changesets already +** added to the changegroup. +**
DELETE DELETE +** The new change is ignored. This case does not occur if the new +** changeset was recorded immediately after the changesets already +** added to the changegroup. +**
+** +** If the new changeset contains changes to a table that is already present +** in the changegroup, then the number of columns and the position of the +** primary key columns for the table must be consistent. If this is not the +** case, this function fails with SQLITE_SCHEMA. If the input changeset +** appears to be corrupt and the corruption is detected, SQLITE_CORRUPT is +** returned. Or, if an out-of-memory condition occurs during processing, this +** function returns SQLITE_NOMEM. In all cases, if an error occurs the +** final contents of the changegroup is undefined. +** +** If no error occurs, SQLITE_OK is returned. +*/ +SQLITE_API int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData); + +/* +** CAPI3REF: Obtain A Composite Changeset From A Changegroup +** METHOD: sqlite3_changegroup +** +** Obtain a buffer containing a changeset (or patchset) representing the +** current contents of the changegroup. If the inputs to the changegroup +** were themselves changesets, the output is a changeset. Or, if the +** inputs were patchsets, the output is also a patchset. +** +** As with the output of the sqlite3session_changeset() and +** sqlite3session_patchset() functions, all changes related to a single +** table are grouped together in the output of this function. Tables appear +** in the same order as for the very first changeset added to the changegroup. +** If the second or subsequent changesets added to the changegroup contain +** changes for tables that do not appear in the first changeset, they are +** appended onto the end of the output changeset, again in the order in +** which they are first encountered. +** +** If an error occurs, an SQLite error code is returned and the output +** variables (*pnData) and (*ppData) are set to 0. Otherwise, SQLITE_OK +** is returned and the output variables are set to the size of and a +** pointer to the output buffer, respectively. In this case it is the +** responsibility of the caller to eventually free the buffer using a +** call to sqlite3_free(). +*/ +SQLITE_API int sqlite3changegroup_output( + sqlite3_changegroup*, + int *pnData, /* OUT: Size of output buffer in bytes */ + void **ppData /* OUT: Pointer to output buffer */ +); + +/* +** CAPI3REF: Delete A Changegroup Object +** DESTRUCTOR: sqlite3_changegroup +*/ +SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*); + +/* +** CAPI3REF: Apply A Changeset To A Database +** +** Apply a changeset or patchset to a database. These functions attempt to +** update the "main" database attached to handle db with the changes found in +** the changeset passed via the second and third arguments. +** +** The fourth argument (xFilter) passed to these functions is the "filter +** callback". If it is not NULL, then for each table affected by at least one +** change in the changeset, the filter callback is invoked with +** the table name as the second argument, and a copy of the context pointer +** passed as the sixth argument as the first. If the "filter callback" +** returns zero, then no attempt is made to apply any changes to the table. +** Otherwise, if the return value is non-zero or the xFilter argument to +** is NULL, all changes related to the table are attempted. +** +** For each table that is not excluded by the filter callback, this function +** tests that the target database contains a compatible table. A table is +** considered compatible if all of the following are true: +** +**
    +**
  • The table has the same name as the name recorded in the +** changeset, and +**
  • The table has at least as many columns as recorded in the +** changeset, and +**
  • The table has primary key columns in the same position as +** recorded in the changeset. +**
+** +** If there is no compatible table, it is not an error, but none of the +** changes associated with the table are applied. A warning message is issued +** via the sqlite3_log() mechanism with the error code SQLITE_SCHEMA. At most +** one such warning is issued for each table in the changeset. +** +** For each change for which there is a compatible table, an attempt is made +** to modify the table contents according to the UPDATE, INSERT or DELETE +** change. If a change cannot be applied cleanly, the conflict handler +** function passed as the fifth argument to sqlite3changeset_apply() may be +** invoked. A description of exactly when the conflict handler is invoked for +** each type of change is below. +** +** Unlike the xFilter argument, xConflict may not be passed NULL. The results +** of passing anything other than a valid function pointer as the xConflict +** argument are undefined. +** +** Each time the conflict handler function is invoked, it must return one +** of [SQLITE_CHANGESET_OMIT], [SQLITE_CHANGESET_ABORT] or +** [SQLITE_CHANGESET_REPLACE]. SQLITE_CHANGESET_REPLACE may only be returned +** if the second argument passed to the conflict handler is either +** SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If the conflict-handler +** returns an illegal value, any changes already made are rolled back and +** the call to sqlite3changeset_apply() returns SQLITE_MISUSE. Different +** actions are taken by sqlite3changeset_apply() depending on the value +** returned by each invocation of the conflict-handler function. Refer to +** the documentation for the three +** [SQLITE_CHANGESET_OMIT|available return values] for details. +** +**
+**
DELETE Changes
+** For each DELETE change, the function checks if the target database +** contains a row with the same primary key value (or values) as the +** original row values stored in the changeset. If it does, and the values +** stored in all non-primary key columns also match the values stored in +** the changeset the row is deleted from the target database. +** +** If a row with matching primary key values is found, but one or more of +** the non-primary key fields contains a value different from the original +** row value stored in the changeset, the conflict-handler function is +** invoked with [SQLITE_CHANGESET_DATA] as the second argument. If the +** database table has more columns than are recorded in the changeset, +** only the values of those non-primary key fields are compared against +** the current database contents - any trailing database table columns +** are ignored. +** +** If no row with matching primary key values is found in the database, +** the conflict-handler function is invoked with [SQLITE_CHANGESET_NOTFOUND] +** passed as the second argument. +** +** If the DELETE operation is attempted, but SQLite returns SQLITE_CONSTRAINT +** (which can only happen if a foreign key constraint is violated), the +** conflict-handler function is invoked with [SQLITE_CHANGESET_CONSTRAINT] +** passed as the second argument. This includes the case where the DELETE +** operation is attempted because an earlier call to the conflict handler +** function returned [SQLITE_CHANGESET_REPLACE]. +** +**
INSERT Changes
+** For each INSERT change, an attempt is made to insert the new row into +** the database. If the changeset row contains fewer fields than the +** database table, the trailing fields are populated with their default +** values. +** +** If the attempt to insert the row fails because the database already +** contains a row with the same primary key values, the conflict handler +** function is invoked with the second argument set to +** [SQLITE_CHANGESET_CONFLICT]. +** +** If the attempt to insert the row fails because of some other constraint +** violation (e.g. NOT NULL or UNIQUE), the conflict handler function is +** invoked with the second argument set to [SQLITE_CHANGESET_CONSTRAINT]. +** This includes the case where the INSERT operation is re-attempted because +** an earlier call to the conflict handler function returned +** [SQLITE_CHANGESET_REPLACE]. +** +**
UPDATE Changes
+** For each UPDATE change, the function checks if the target database +** contains a row with the same primary key value (or values) as the +** original row values stored in the changeset. If it does, and the values +** stored in all modified non-primary key columns also match the values +** stored in the changeset the row is updated within the target database. +** +** If a row with matching primary key values is found, but one or more of +** the modified non-primary key fields contains a value different from an +** original row value stored in the changeset, the conflict-handler function +** is invoked with [SQLITE_CHANGESET_DATA] as the second argument. Since +** UPDATE changes only contain values for non-primary key fields that are +** to be modified, only those fields need to match the original values to +** avoid the SQLITE_CHANGESET_DATA conflict-handler callback. +** +** If no row with matching primary key values is found in the database, +** the conflict-handler function is invoked with [SQLITE_CHANGESET_NOTFOUND] +** passed as the second argument. +** +** If the UPDATE operation is attempted, but SQLite returns +** SQLITE_CONSTRAINT, the conflict-handler function is invoked with +** [SQLITE_CHANGESET_CONSTRAINT] passed as the second argument. +** This includes the case where the UPDATE operation is attempted after +** an earlier call to the conflict handler function returned +** [SQLITE_CHANGESET_REPLACE]. +**
+** +** It is safe to execute SQL statements, including those that write to the +** table that the callback related to, from within the xConflict callback. +** This can be used to further customize the applications conflict +** resolution strategy. +** +** All changes made by these functions are enclosed in a savepoint transaction. +** If any other error (aside from a constraint failure when attempting to +** write to the target database) occurs, then the savepoint transaction is +** rolled back, restoring the target database to its original state, and an +** SQLite error code returned. +** +** If the output parameters (ppRebase) and (pnRebase) are non-NULL and +** the input is a changeset (not a patchset), then sqlite3changeset_apply_v2() +** may set (*ppRebase) to point to a "rebase" that may be used with the +** sqlite3_rebaser APIs buffer before returning. In this case (*pnRebase) +** is set to the size of the buffer in bytes. It is the responsibility of the +** caller to eventually free any such buffer using sqlite3_free(). The buffer +** is only allocated and populated if one or more conflicts were encountered +** while applying the patchset. See comments surrounding the sqlite3_rebaser +** APIs for further details. +** +** The behavior of sqlite3changeset_apply_v2() and its streaming equivalent +** may be modified by passing a combination of +** [SQLITE_CHANGESETAPPLY_NOSAVEPOINT | supported flags] as the 9th parameter. +** +** Note that the sqlite3changeset_apply_v2() API is still experimental +** and therefore subject to change. +*/ +SQLITE_API int sqlite3changeset_apply( + sqlite3 *db, /* Apply change to "main" db of this handle */ + int nChangeset, /* Size of changeset in bytes */ + void *pChangeset, /* Changeset blob */ + int(*xFilter)( + void *pCtx, /* Copy of sixth arg to _apply() */ + const char *zTab /* Table name */ + ), + int(*xConflict)( + void *pCtx, /* Copy of sixth arg to _apply() */ + int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ + sqlite3_changeset_iter *p /* Handle describing change and conflict */ + ), + void *pCtx /* First argument passed to xConflict */ +); +SQLITE_API int sqlite3changeset_apply_v2( + sqlite3 *db, /* Apply change to "main" db of this handle */ + int nChangeset, /* Size of changeset in bytes */ + void *pChangeset, /* Changeset blob */ + int(*xFilter)( + void *pCtx, /* Copy of sixth arg to _apply() */ + const char *zTab /* Table name */ + ), + int(*xConflict)( + void *pCtx, /* Copy of sixth arg to _apply() */ + int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ + sqlite3_changeset_iter *p /* Handle describing change and conflict */ + ), + void *pCtx, /* First argument passed to xConflict */ + void **ppRebase, int *pnRebase, /* OUT: Rebase data */ + int flags /* Combination of SESSION_APPLY_* flags */ +); + +/* +** CAPI3REF: Flags for sqlite3changeset_apply_v2 +** +** The following flags may passed via the 9th parameter to +** [sqlite3changeset_apply_v2] and [sqlite3changeset_apply_v2_strm]: +** +**
+**
SQLITE_CHANGESETAPPLY_NOSAVEPOINT
+** Usually, the sessions module encloses all operations performed by +** a single call to apply_v2() or apply_v2_strm() in a [SAVEPOINT]. The +** SAVEPOINT is committed if the changeset or patchset is successfully +** applied, or rolled back if an error occurs. Specifying this flag +** causes the sessions module to omit this savepoint. In this case, if the +** caller has an open transaction or savepoint when apply_v2() is called, +** it may revert the partially applied changeset by rolling it back. +*/ +#define SQLITE_CHANGESETAPPLY_NOSAVEPOINT 0x0001 + +/* +** CAPI3REF: Constants Passed To The Conflict Handler +** +** Values that may be passed as the second argument to a conflict-handler. +** +**
+**
SQLITE_CHANGESET_DATA
+** The conflict handler is invoked with CHANGESET_DATA as the second argument +** when processing a DELETE or UPDATE change if a row with the required +** PRIMARY KEY fields is present in the database, but one or more other +** (non primary-key) fields modified by the update do not contain the +** expected "before" values. +** +** The conflicting row, in this case, is the database row with the matching +** primary key. +** +**
SQLITE_CHANGESET_NOTFOUND
+** The conflict handler is invoked with CHANGESET_NOTFOUND as the second +** argument when processing a DELETE or UPDATE change if a row with the +** required PRIMARY KEY fields is not present in the database. +** +** There is no conflicting row in this case. The results of invoking the +** sqlite3changeset_conflict() API are undefined. +** +**
SQLITE_CHANGESET_CONFLICT
+** CHANGESET_CONFLICT is passed as the second argument to the conflict +** handler while processing an INSERT change if the operation would result +** in duplicate primary key values. +** +** The conflicting row in this case is the database row with the matching +** primary key. +** +**
SQLITE_CHANGESET_FOREIGN_KEY
+** If foreign key handling is enabled, and applying a changeset leaves the +** database in a state containing foreign key violations, the conflict +** handler is invoked with CHANGESET_FOREIGN_KEY as the second argument +** exactly once before the changeset is committed. If the conflict handler +** returns CHANGESET_OMIT, the changes, including those that caused the +** foreign key constraint violation, are committed. Or, if it returns +** CHANGESET_ABORT, the changeset is rolled back. +** +** No current or conflicting row information is provided. The only function +** it is possible to call on the supplied sqlite3_changeset_iter handle +** is sqlite3changeset_fk_conflicts(). +** +**
SQLITE_CHANGESET_CONSTRAINT
+** If any other constraint violation occurs while applying a change (i.e. +** a UNIQUE, CHECK or NOT NULL constraint), the conflict handler is +** invoked with CHANGESET_CONSTRAINT as the second argument. +** +** There is no conflicting row in this case. The results of invoking the +** sqlite3changeset_conflict() API are undefined. +** +**
+*/ +#define SQLITE_CHANGESET_DATA 1 +#define SQLITE_CHANGESET_NOTFOUND 2 +#define SQLITE_CHANGESET_CONFLICT 3 +#define SQLITE_CHANGESET_CONSTRAINT 4 +#define SQLITE_CHANGESET_FOREIGN_KEY 5 + +/* +** CAPI3REF: Constants Returned By The Conflict Handler +** +** A conflict handler callback must return one of the following three values. +** +**
+**
SQLITE_CHANGESET_OMIT
+** If a conflict handler returns this value no special action is taken. The +** change that caused the conflict is not applied. The session module +** continues to the next change in the changeset. +** +**
SQLITE_CHANGESET_REPLACE
+** This value may only be returned if the second argument to the conflict +** handler was SQLITE_CHANGESET_DATA or SQLITE_CHANGESET_CONFLICT. If this +** is not the case, any changes applied so far are rolled back and the +** call to sqlite3changeset_apply() returns SQLITE_MISUSE. +** +** If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_DATA conflict +** handler, then the conflicting row is either updated or deleted, depending +** on the type of change. +** +** If CHANGESET_REPLACE is returned by an SQLITE_CHANGESET_CONFLICT conflict +** handler, then the conflicting row is removed from the database and a +** second attempt to apply the change is made. If this second attempt fails, +** the original row is restored to the database before continuing. +** +**
SQLITE_CHANGESET_ABORT
+** If this value is returned, any changes applied so far are rolled back +** and the call to sqlite3changeset_apply() returns SQLITE_ABORT. +**
+*/ +#define SQLITE_CHANGESET_OMIT 0 +#define SQLITE_CHANGESET_REPLACE 1 +#define SQLITE_CHANGESET_ABORT 2 + +/* +** CAPI3REF: Rebasing changesets +** EXPERIMENTAL +** +** Suppose there is a site hosting a database in state S0. And that +** modifications are made that move that database to state S1 and a +** changeset recorded (the "local" changeset). Then, a changeset based +** on S0 is received from another site (the "remote" changeset) and +** applied to the database. The database is then in state +** (S1+"remote"), where the exact state depends on any conflict +** resolution decisions (OMIT or REPLACE) made while applying "remote". +** Rebasing a changeset is to update it to take those conflict +** resolution decisions into account, so that the same conflicts +** do not have to be resolved elsewhere in the network. +** +** For example, if both the local and remote changesets contain an +** INSERT of the same key on "CREATE TABLE t1(a PRIMARY KEY, b)": +** +** local: INSERT INTO t1 VALUES(1, 'v1'); +** remote: INSERT INTO t1 VALUES(1, 'v2'); +** +** and the conflict resolution is REPLACE, then the INSERT change is +** removed from the local changeset (it was overridden). Or, if the +** conflict resolution was "OMIT", then the local changeset is modified +** to instead contain: +** +** UPDATE t1 SET b = 'v2' WHERE a=1; +** +** Changes within the local changeset are rebased as follows: +** +**
+**
Local INSERT
+** This may only conflict with a remote INSERT. If the conflict +** resolution was OMIT, then add an UPDATE change to the rebased +** changeset. Or, if the conflict resolution was REPLACE, add +** nothing to the rebased changeset. +** +**
Local DELETE
+** This may conflict with a remote UPDATE or DELETE. In both cases the +** only possible resolution is OMIT. If the remote operation was a +** DELETE, then add no change to the rebased changeset. If the remote +** operation was an UPDATE, then the old.* fields of change are updated +** to reflect the new.* values in the UPDATE. +** +**
Local UPDATE
+** This may conflict with a remote UPDATE or DELETE. If it conflicts +** with a DELETE, and the conflict resolution was OMIT, then the update +** is changed into an INSERT. Any undefined values in the new.* record +** from the update change are filled in using the old.* values from +** the conflicting DELETE. Or, if the conflict resolution was REPLACE, +** the UPDATE change is simply omitted from the rebased changeset. +** +** If conflict is with a remote UPDATE and the resolution is OMIT, then +** the old.* values are rebased using the new.* values in the remote +** change. Or, if the resolution is REPLACE, then the change is copied +** into the rebased changeset with updates to columns also updated by +** the conflicting remote UPDATE removed. If this means no columns would +** be updated, the change is omitted. +**
+** +** A local change may be rebased against multiple remote changes +** simultaneously. If a single key is modified by multiple remote +** changesets, they are combined as follows before the local changeset +** is rebased: +** +**
    +**
  • If there has been one or more REPLACE resolutions on a +** key, it is rebased according to a REPLACE. +** +**
  • If there have been no REPLACE resolutions on a key, then +** the local changeset is rebased according to the most recent +** of the OMIT resolutions. +**
+** +** Note that conflict resolutions from multiple remote changesets are +** combined on a per-field basis, not per-row. This means that in the +** case of multiple remote UPDATE operations, some fields of a single +** local change may be rebased for REPLACE while others are rebased for +** OMIT. +** +** In order to rebase a local changeset, the remote changeset must first +** be applied to the local database using sqlite3changeset_apply_v2() and +** the buffer of rebase information captured. Then: +** +**
    +**
  1. An sqlite3_rebaser object is created by calling +** sqlite3rebaser_create(). +**
  2. The new object is configured with the rebase buffer obtained from +** sqlite3changeset_apply_v2() by calling sqlite3rebaser_configure(). +** If the local changeset is to be rebased against multiple remote +** changesets, then sqlite3rebaser_configure() should be called +** multiple times, in the same order that the multiple +** sqlite3changeset_apply_v2() calls were made. +**
  3. Each local changeset is rebased by calling sqlite3rebaser_rebase(). +**
  4. The sqlite3_rebaser object is deleted by calling +** sqlite3rebaser_delete(). +**
+*/ +typedef struct sqlite3_rebaser sqlite3_rebaser; + +/* +** CAPI3REF: Create a changeset rebaser object. +** EXPERIMENTAL +** +** Allocate a new changeset rebaser object. If successful, set (*ppNew) to +** point to the new object and return SQLITE_OK. Otherwise, if an error +** occurs, return an SQLite error code (e.g. SQLITE_NOMEM) and set (*ppNew) +** to NULL. +*/ +SQLITE_API int sqlite3rebaser_create(sqlite3_rebaser **ppNew); + +/* +** CAPI3REF: Configure a changeset rebaser object. +** EXPERIMENTAL +** +** Configure the changeset rebaser object to rebase changesets according +** to the conflict resolutions described by buffer pRebase (size nRebase +** bytes), which must have been obtained from a previous call to +** sqlite3changeset_apply_v2(). +*/ +SQLITE_API int sqlite3rebaser_configure( + sqlite3_rebaser*, + int nRebase, const void *pRebase +); + +/* +** CAPI3REF: Rebase a changeset +** EXPERIMENTAL +** +** Argument pIn must point to a buffer containing a changeset nIn bytes +** in size. This function allocates and populates a buffer with a copy +** of the changeset rebased rebased according to the configuration of the +** rebaser object passed as the first argument. If successful, (*ppOut) +** is set to point to the new buffer containing the rebased changset and +** (*pnOut) to its size in bytes and SQLITE_OK returned. It is the +** responsibility of the caller to eventually free the new buffer using +** sqlite3_free(). Otherwise, if an error occurs, (*ppOut) and (*pnOut) +** are set to zero and an SQLite error code returned. +*/ +SQLITE_API int sqlite3rebaser_rebase( + sqlite3_rebaser*, + int nIn, const void *pIn, + int *pnOut, void **ppOut +); + +/* +** CAPI3REF: Delete a changeset rebaser object. +** EXPERIMENTAL +** +** Delete the changeset rebaser object and all associated resources. There +** should be one call to this function for each successful invocation +** of sqlite3rebaser_create(). +*/ +SQLITE_API void sqlite3rebaser_delete(sqlite3_rebaser *p); + +/* +** CAPI3REF: Streaming Versions of API functions. +** +** The six streaming API xxx_strm() functions serve similar purposes to the +** corresponding non-streaming API functions: +** +** +** +**
Streaming functionNon-streaming equivalent
sqlite3changeset_apply_strm[sqlite3changeset_apply] +**
sqlite3changeset_apply_strm_v2[sqlite3changeset_apply_v2] +**
sqlite3changeset_concat_strm[sqlite3changeset_concat] +**
sqlite3changeset_invert_strm[sqlite3changeset_invert] +**
sqlite3changeset_start_strm[sqlite3changeset_start] +**
sqlite3session_changeset_strm[sqlite3session_changeset] +**
sqlite3session_patchset_strm[sqlite3session_patchset] +**
+** +** Non-streaming functions that accept changesets (or patchsets) as input +** require that the entire changeset be stored in a single buffer in memory. +** Similarly, those that return a changeset or patchset do so by returning +** a pointer to a single large buffer allocated using sqlite3_malloc(). +** Normally this is convenient. However, if an application running in a +** low-memory environment is required to handle very large changesets, the +** large contiguous memory allocations required can become onerous. +** +** In order to avoid this problem, instead of a single large buffer, input +** is passed to a streaming API functions by way of a callback function that +** the sessions module invokes to incrementally request input data as it is +** required. In all cases, a pair of API function parameters such as +** +**
+**        int nChangeset,
+**        void *pChangeset,
+**  
+** +** Is replaced by: +** +**
+**        int (*xInput)(void *pIn, void *pData, int *pnData),
+**        void *pIn,
+**  
+** +** Each time the xInput callback is invoked by the sessions module, the first +** argument passed is a copy of the supplied pIn context pointer. The second +** argument, pData, points to a buffer (*pnData) bytes in size. Assuming no +** error occurs the xInput method should copy up to (*pnData) bytes of data +** into the buffer and set (*pnData) to the actual number of bytes copied +** before returning SQLITE_OK. If the input is completely exhausted, (*pnData) +** should be set to zero to indicate this. Or, if an error occurs, an SQLite +** error code should be returned. In all cases, if an xInput callback returns +** an error, all processing is abandoned and the streaming API function +** returns a copy of the error code to the caller. +** +** In the case of sqlite3changeset_start_strm(), the xInput callback may be +** invoked by the sessions module at any point during the lifetime of the +** iterator. If such an xInput callback returns an error, the iterator enters +** an error state, whereby all subsequent calls to iterator functions +** immediately fail with the same error code as returned by xInput. +** +** Similarly, streaming API functions that return changesets (or patchsets) +** return them in chunks by way of a callback function instead of via a +** pointer to a single large buffer. In this case, a pair of parameters such +** as: +** +**
+**        int *pnChangeset,
+**        void **ppChangeset,
+**  
+** +** Is replaced by: +** +**
+**        int (*xOutput)(void *pOut, const void *pData, int nData),
+**        void *pOut
+**  
+** +** The xOutput callback is invoked zero or more times to return data to +** the application. The first parameter passed to each call is a copy of the +** pOut pointer supplied by the application. The second parameter, pData, +** points to a buffer nData bytes in size containing the chunk of output +** data being returned. If the xOutput callback successfully processes the +** supplied data, it should return SQLITE_OK to indicate success. Otherwise, +** it should return some other SQLite error code. In this case processing +** is immediately abandoned and the streaming API function returns a copy +** of the xOutput error code to the application. +** +** The sessions module never invokes an xOutput callback with the third +** parameter set to a value less than or equal to zero. Other than this, +** no guarantees are made as to the size of the chunks of data returned. +*/ +SQLITE_API int sqlite3changeset_apply_strm( + sqlite3 *db, /* Apply change to "main" db of this handle */ + int (*xInput)(void *pIn, void *pData, int *pnData), /* Input function */ + void *pIn, /* First arg for xInput */ + int(*xFilter)( + void *pCtx, /* Copy of sixth arg to _apply() */ + const char *zTab /* Table name */ + ), + int(*xConflict)( + void *pCtx, /* Copy of sixth arg to _apply() */ + int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ + sqlite3_changeset_iter *p /* Handle describing change and conflict */ + ), + void *pCtx /* First argument passed to xConflict */ +); +SQLITE_API int sqlite3changeset_apply_v2_strm( + sqlite3 *db, /* Apply change to "main" db of this handle */ + int (*xInput)(void *pIn, void *pData, int *pnData), /* Input function */ + void *pIn, /* First arg for xInput */ + int(*xFilter)( + void *pCtx, /* Copy of sixth arg to _apply() */ + const char *zTab /* Table name */ + ), + int(*xConflict)( + void *pCtx, /* Copy of sixth arg to _apply() */ + int eConflict, /* DATA, MISSING, CONFLICT, CONSTRAINT */ + sqlite3_changeset_iter *p /* Handle describing change and conflict */ + ), + void *pCtx, /* First argument passed to xConflict */ + void **ppRebase, int *pnRebase, + int flags +); +SQLITE_API int sqlite3changeset_concat_strm( + int (*xInputA)(void *pIn, void *pData, int *pnData), + void *pInA, + int (*xInputB)(void *pIn, void *pData, int *pnData), + void *pInB, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); +SQLITE_API int sqlite3changeset_invert_strm( + int (*xInput)(void *pIn, void *pData, int *pnData), + void *pIn, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); +SQLITE_API int sqlite3changeset_start_strm( + sqlite3_changeset_iter **pp, + int (*xInput)(void *pIn, void *pData, int *pnData), + void *pIn +); +SQLITE_API int sqlite3session_changeset_strm( + sqlite3_session *pSession, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); +SQLITE_API int sqlite3session_patchset_strm( + sqlite3_session *pSession, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); +SQLITE_API int sqlite3changegroup_add_strm(sqlite3_changegroup*, + int (*xInput)(void *pIn, void *pData, int *pnData), + void *pIn +); +SQLITE_API int sqlite3changegroup_output_strm(sqlite3_changegroup*, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); +SQLITE_API int sqlite3rebaser_rebase_strm( + sqlite3_rebaser *pRebaser, + int (*xInput)(void *pIn, void *pData, int *pnData), + void *pIn, + int (*xOutput)(void *pOut, const void *pData, int nData), + void *pOut +); + + +/* +** Make sure we can call this stuff from C++. +*/ +#ifdef __cplusplus +} +#endif + +#endif /* !defined(__SQLITESESSION_H_) && defined(SQLITE_ENABLE_SESSION) */ + +/******** End of sqlite3session.h *********/ +/******** Begin file fts5.h *********/ +/* +** 2014 May 31 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +****************************************************************************** +** +** Interfaces to extend FTS5. Using the interfaces defined in this file, +** FTS5 may be extended with: +** +** * custom tokenizers, and +** * custom auxiliary functions. +*/ + + +#ifndef _FTS5_H +#define _FTS5_H + + +#ifdef __cplusplus +extern "C" { +#endif + +/************************************************************************* +** CUSTOM AUXILIARY FUNCTIONS +** +** Virtual table implementations may overload SQL functions by implementing +** the sqlite3_module.xFindFunction() method. +*/ + +typedef struct Fts5ExtensionApi Fts5ExtensionApi; +typedef struct Fts5Context Fts5Context; +typedef struct Fts5PhraseIter Fts5PhraseIter; + +typedef void (*fts5_extension_function)( + const Fts5ExtensionApi *pApi, /* API offered by current FTS version */ + Fts5Context *pFts, /* First arg to pass to pApi functions */ + sqlite3_context *pCtx, /* Context for returning result/error */ + int nVal, /* Number of values in apVal[] array */ + sqlite3_value **apVal /* Array of trailing arguments */ +); + +struct Fts5PhraseIter { + const unsigned char *a; + const unsigned char *b; +}; + +/* +** EXTENSION API FUNCTIONS +** +** xUserData(pFts): +** Return a copy of the context pointer the extension function was +** registered with. +** +** xColumnTotalSize(pFts, iCol, pnToken): +** If parameter iCol is less than zero, set output variable *pnToken +** to the total number of tokens in the FTS5 table. Or, if iCol is +** non-negative but less than the number of columns in the table, return +** the total number of tokens in column iCol, considering all rows in +** the FTS5 table. +** +** If parameter iCol is greater than or equal to the number of columns +** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g. +** an OOM condition or IO error), an appropriate SQLite error code is +** returned. +** +** xColumnCount(pFts): +** Return the number of columns in the table. +** +** xColumnSize(pFts, iCol, pnToken): +** If parameter iCol is less than zero, set output variable *pnToken +** to the total number of tokens in the current row. Or, if iCol is +** non-negative but less than the number of columns in the table, set +** *pnToken to the number of tokens in column iCol of the current row. +** +** If parameter iCol is greater than or equal to the number of columns +** in the table, SQLITE_RANGE is returned. Or, if an error occurs (e.g. +** an OOM condition or IO error), an appropriate SQLite error code is +** returned. +** +** This function may be quite inefficient if used with an FTS5 table +** created with the "columnsize=0" option. +** +** xColumnText: +** This function attempts to retrieve the text of column iCol of the +** current document. If successful, (*pz) is set to point to a buffer +** containing the text in utf-8 encoding, (*pn) is set to the size in bytes +** (not characters) of the buffer and SQLITE_OK is returned. Otherwise, +** if an error occurs, an SQLite error code is returned and the final values +** of (*pz) and (*pn) are undefined. +** +** xPhraseCount: +** Returns the number of phrases in the current query expression. +** +** xPhraseSize: +** Returns the number of tokens in phrase iPhrase of the query. Phrases +** are numbered starting from zero. +** +** xInstCount: +** Set *pnInst to the total number of occurrences of all phrases within +** the query within the current row. Return SQLITE_OK if successful, or +** an error code (i.e. SQLITE_NOMEM) if an error occurs. +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. If the FTS5 table is created +** with either "detail=none" or "detail=column" and "content=" option +** (i.e. if it is a contentless table), then this API always returns 0. +** +** xInst: +** Query for the details of phrase match iIdx within the current row. +** Phrase matches are numbered starting from zero, so the iIdx argument +** should be greater than or equal to zero and smaller than the value +** output by xInstCount(). +** +** Usually, output parameter *piPhrase is set to the phrase number, *piCol +** to the column in which it occurs and *piOff the token offset of the +** first token of the phrase. The exception is if the table was created +** with the offsets=0 option specified. In this case *piOff is always +** set to -1. +** +** Returns SQLITE_OK if successful, or an error code (i.e. SQLITE_NOMEM) +** if an error occurs. +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. +** +** xRowid: +** Returns the rowid of the current row. +** +** xTokenize: +** Tokenize text using the tokenizer belonging to the FTS5 table. +** +** xQueryPhrase(pFts5, iPhrase, pUserData, xCallback): +** This API function is used to query the FTS table for phrase iPhrase +** of the current query. Specifically, a query equivalent to: +** +** ... FROM ftstable WHERE ftstable MATCH $p ORDER BY rowid +** +** with $p set to a phrase equivalent to the phrase iPhrase of the +** current query is executed. Any column filter that applies to +** phrase iPhrase of the current query is included in $p. For each +** row visited, the callback function passed as the fourth argument +** is invoked. The context and API objects passed to the callback +** function may be used to access the properties of each matched row. +** Invoking Api.xUserData() returns a copy of the pointer passed as +** the third argument to pUserData. +** +** If the callback function returns any value other than SQLITE_OK, the +** query is abandoned and the xQueryPhrase function returns immediately. +** If the returned value is SQLITE_DONE, xQueryPhrase returns SQLITE_OK. +** Otherwise, the error code is propagated upwards. +** +** If the query runs to completion without incident, SQLITE_OK is returned. +** Or, if some error occurs before the query completes or is aborted by +** the callback, an SQLite error code is returned. +** +** +** xSetAuxdata(pFts5, pAux, xDelete) +** +** Save the pointer passed as the second argument as the extension functions +** "auxiliary data". The pointer may then be retrieved by the current or any +** future invocation of the same fts5 extension function made as part of +** of the same MATCH query using the xGetAuxdata() API. +** +** Each extension function is allocated a single auxiliary data slot for +** each FTS query (MATCH expression). If the extension function is invoked +** more than once for a single FTS query, then all invocations share a +** single auxiliary data context. +** +** If there is already an auxiliary data pointer when this function is +** invoked, then it is replaced by the new pointer. If an xDelete callback +** was specified along with the original pointer, it is invoked at this +** point. +** +** The xDelete callback, if one is specified, is also invoked on the +** auxiliary data pointer after the FTS5 query has finished. +** +** If an error (e.g. an OOM condition) occurs within this function, an +** the auxiliary data is set to NULL and an error code returned. If the +** xDelete parameter was not NULL, it is invoked on the auxiliary data +** pointer before returning. +** +** +** xGetAuxdata(pFts5, bClear) +** +** Returns the current auxiliary data pointer for the fts5 extension +** function. See the xSetAuxdata() method for details. +** +** If the bClear argument is non-zero, then the auxiliary data is cleared +** (set to NULL) before this function returns. In this case the xDelete, +** if any, is not invoked. +** +** +** xRowCount(pFts5, pnRow) +** +** This function is used to retrieve the total number of rows in the table. +** In other words, the same value that would be returned by: +** +** SELECT count(*) FROM ftstable; +** +** xPhraseFirst() +** This function is used, along with type Fts5PhraseIter and the xPhraseNext +** method, to iterate through all instances of a single query phrase within +** the current row. This is the same information as is accessible via the +** xInstCount/xInst APIs. While the xInstCount/xInst APIs are more convenient +** to use, this API may be faster under some circumstances. To iterate +** through instances of phrase iPhrase, use the following code: +** +** Fts5PhraseIter iter; +** int iCol, iOff; +** for(pApi->xPhraseFirst(pFts, iPhrase, &iter, &iCol, &iOff); +** iCol>=0; +** pApi->xPhraseNext(pFts, &iter, &iCol, &iOff) +** ){ +** // An instance of phrase iPhrase at offset iOff of column iCol +** } +** +** The Fts5PhraseIter structure is defined above. Applications should not +** modify this structure directly - it should only be used as shown above +** with the xPhraseFirst() and xPhraseNext() API methods (and by +** xPhraseFirstColumn() and xPhraseNextColumn() as illustrated below). +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" or "detail=column" option. If the FTS5 table is created +** with either "detail=none" or "detail=column" and "content=" option +** (i.e. if it is a contentless table), then this API always iterates +** through an empty set (all calls to xPhraseFirst() set iCol to -1). +** +** xPhraseNext() +** See xPhraseFirst above. +** +** xPhraseFirstColumn() +** This function and xPhraseNextColumn() are similar to the xPhraseFirst() +** and xPhraseNext() APIs described above. The difference is that instead +** of iterating through all instances of a phrase in the current row, these +** APIs are used to iterate through the set of columns in the current row +** that contain one or more instances of a specified phrase. For example: +** +** Fts5PhraseIter iter; +** int iCol; +** for(pApi->xPhraseFirstColumn(pFts, iPhrase, &iter, &iCol); +** iCol>=0; +** pApi->xPhraseNextColumn(pFts, &iter, &iCol) +** ){ +** // Column iCol contains at least one instance of phrase iPhrase +** } +** +** This API can be quite slow if used with an FTS5 table created with the +** "detail=none" option. If the FTS5 table is created with either +** "detail=none" "content=" option (i.e. if it is a contentless table), +** then this API always iterates through an empty set (all calls to +** xPhraseFirstColumn() set iCol to -1). +** +** The information accessed using this API and its companion +** xPhraseFirstColumn() may also be obtained using xPhraseFirst/xPhraseNext +** (or xInst/xInstCount). The chief advantage of this API is that it is +** significantly more efficient than those alternatives when used with +** "detail=column" tables. +** +** xPhraseNextColumn() +** See xPhraseFirstColumn above. +*/ +struct Fts5ExtensionApi { + int iVersion; /* Currently always set to 3 */ + + void *(*xUserData)(Fts5Context*); + + int (*xColumnCount)(Fts5Context*); + int (*xRowCount)(Fts5Context*, sqlite3_int64 *pnRow); + int (*xColumnTotalSize)(Fts5Context*, int iCol, sqlite3_int64 *pnToken); + + int (*xTokenize)(Fts5Context*, + const char *pText, int nText, /* Text to tokenize */ + void *pCtx, /* Context passed to xToken() */ + int (*xToken)(void*, int, const char*, int, int, int) /* Callback */ + ); + + int (*xPhraseCount)(Fts5Context*); + int (*xPhraseSize)(Fts5Context*, int iPhrase); + + int (*xInstCount)(Fts5Context*, int *pnInst); + int (*xInst)(Fts5Context*, int iIdx, int *piPhrase, int *piCol, int *piOff); + + sqlite3_int64 (*xRowid)(Fts5Context*); + int (*xColumnText)(Fts5Context*, int iCol, const char **pz, int *pn); + int (*xColumnSize)(Fts5Context*, int iCol, int *pnToken); + + int (*xQueryPhrase)(Fts5Context*, int iPhrase, void *pUserData, + int(*)(const Fts5ExtensionApi*,Fts5Context*,void*) + ); + int (*xSetAuxdata)(Fts5Context*, void *pAux, void(*xDelete)(void*)); + void *(*xGetAuxdata)(Fts5Context*, int bClear); + + int (*xPhraseFirst)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*, int*); + void (*xPhraseNext)(Fts5Context*, Fts5PhraseIter*, int *piCol, int *piOff); + + int (*xPhraseFirstColumn)(Fts5Context*, int iPhrase, Fts5PhraseIter*, int*); + void (*xPhraseNextColumn)(Fts5Context*, Fts5PhraseIter*, int *piCol); +}; + +/* +** CUSTOM AUXILIARY FUNCTIONS +*************************************************************************/ + +/************************************************************************* +** CUSTOM TOKENIZERS +** +** Applications may also register custom tokenizer types. A tokenizer +** is registered by providing fts5 with a populated instance of the +** following structure. All structure methods must be defined, setting +** any member of the fts5_tokenizer struct to NULL leads to undefined +** behaviour. The structure methods are expected to function as follows: +** +** xCreate: +** This function is used to allocate and initialize a tokenizer instance. +** A tokenizer instance is required to actually tokenize text. +** +** The first argument passed to this function is a copy of the (void*) +** pointer provided by the application when the fts5_tokenizer object +** was registered with FTS5 (the third argument to xCreateTokenizer()). +** The second and third arguments are an array of nul-terminated strings +** containing the tokenizer arguments, if any, specified following the +** tokenizer name as part of the CREATE VIRTUAL TABLE statement used +** to create the FTS5 table. +** +** The final argument is an output variable. If successful, (*ppOut) +** should be set to point to the new tokenizer handle and SQLITE_OK +** returned. If an error occurs, some value other than SQLITE_OK should +** be returned. In this case, fts5 assumes that the final value of *ppOut +** is undefined. +** +** xDelete: +** This function is invoked to delete a tokenizer handle previously +** allocated using xCreate(). Fts5 guarantees that this function will +** be invoked exactly once for each successful call to xCreate(). +** +** xTokenize: +** This function is expected to tokenize the nText byte string indicated +** by argument pText. pText may or may not be nul-terminated. The first +** argument passed to this function is a pointer to an Fts5Tokenizer object +** returned by an earlier call to xCreate(). +** +** The second argument indicates the reason that FTS5 is requesting +** tokenization of the supplied text. This is always one of the following +** four values: +** +**
  • FTS5_TOKENIZE_DOCUMENT - A document is being inserted into +** or removed from the FTS table. The tokenizer is being invoked to +** determine the set of tokens to add to (or delete from) the +** FTS index. +** +**
  • FTS5_TOKENIZE_QUERY - A MATCH query is being executed +** against the FTS index. The tokenizer is being called to tokenize +** a bareword or quoted string specified as part of the query. +** +**
  • (FTS5_TOKENIZE_QUERY | FTS5_TOKENIZE_PREFIX) - Same as +** FTS5_TOKENIZE_QUERY, except that the bareword or quoted string is +** followed by a "*" character, indicating that the last token +** returned by the tokenizer will be treated as a token prefix. +** +**
  • FTS5_TOKENIZE_AUX - The tokenizer is being invoked to +** satisfy an fts5_api.xTokenize() request made by an auxiliary +** function. Or an fts5_api.xColumnSize() request made by the same +** on a columnsize=0 database. +**
+** +** For each token in the input string, the supplied callback xToken() must +** be invoked. The first argument to it should be a copy of the pointer +** passed as the second argument to xTokenize(). The third and fourth +** arguments are a pointer to a buffer containing the token text, and the +** size of the token in bytes. The 4th and 5th arguments are the byte offsets +** of the first byte of and first byte immediately following the text from +** which the token is derived within the input. +** +** The second argument passed to the xToken() callback ("tflags") should +** normally be set to 0. The exception is if the tokenizer supports +** synonyms. In this case see the discussion below for details. +** +** FTS5 assumes the xToken() callback is invoked for each token in the +** order that they occur within the input text. +** +** If an xToken() callback returns any value other than SQLITE_OK, then +** the tokenization should be abandoned and the xTokenize() method should +** immediately return a copy of the xToken() return value. Or, if the +** input buffer is exhausted, xTokenize() should return SQLITE_OK. Finally, +** if an error occurs with the xTokenize() implementation itself, it +** may abandon the tokenization and return any error code other than +** SQLITE_OK or SQLITE_DONE. +** +** SYNONYM SUPPORT +** +** Custom tokenizers may also support synonyms. Consider a case in which a +** user wishes to query for a phrase such as "first place". Using the +** built-in tokenizers, the FTS5 query 'first + place' will match instances +** of "first place" within the document set, but not alternative forms +** such as "1st place". In some applications, it would be better to match +** all instances of "first place" or "1st place" regardless of which form +** the user specified in the MATCH query text. +** +** There are several ways to approach this in FTS5: +** +**
  1. By mapping all synonyms to a single token. In this case, the +** In the above example, this means that the tokenizer returns the +** same token for inputs "first" and "1st". Say that token is in +** fact "first", so that when the user inserts the document "I won +** 1st place" entries are added to the index for tokens "i", "won", +** "first" and "place". If the user then queries for '1st + place', +** the tokenizer substitutes "first" for "1st" and the query works +** as expected. +** +**
  2. By adding multiple synonyms for a single term to the FTS index. +** In this case, when tokenizing query text, the tokenizer may +** provide multiple synonyms for a single term within the document. +** FTS5 then queries the index for each synonym individually. For +** example, faced with the query: +** +** +** ... MATCH 'first place' +** +** the tokenizer offers both "1st" and "first" as synonyms for the +** first token in the MATCH query and FTS5 effectively runs a query +** similar to: +** +** +** ... MATCH '(first OR 1st) place' +** +** except that, for the purposes of auxiliary functions, the query +** still appears to contain just two phrases - "(first OR 1st)" +** being treated as a single phrase. +** +**
  3. By adding multiple synonyms for a single term to the FTS index. +** Using this method, when tokenizing document text, the tokenizer +** provides multiple synonyms for each token. So that when a +** document such as "I won first place" is tokenized, entries are +** added to the FTS index for "i", "won", "first", "1st" and +** "place". +** +** This way, even if the tokenizer does not provide synonyms +** when tokenizing query text (it should not - to do would be +** inefficient), it doesn't matter if the user queries for +** 'first + place' or '1st + place', as there are entires in the +** FTS index corresponding to both forms of the first token. +**
+** +** Whether it is parsing document or query text, any call to xToken that +** specifies a tflags argument with the FTS5_TOKEN_COLOCATED bit +** is considered to supply a synonym for the previous token. For example, +** when parsing the document "I won first place", a tokenizer that supports +** synonyms would call xToken() 5 times, as follows: +** +** +** xToken(pCtx, 0, "i", 1, 0, 1); +** xToken(pCtx, 0, "won", 3, 2, 5); +** xToken(pCtx, 0, "first", 5, 6, 11); +** xToken(pCtx, FTS5_TOKEN_COLOCATED, "1st", 3, 6, 11); +** xToken(pCtx, 0, "place", 5, 12, 17); +** +** +** It is an error to specify the FTS5_TOKEN_COLOCATED flag the first time +** xToken() is called. Multiple synonyms may be specified for a single token +** by making multiple calls to xToken(FTS5_TOKEN_COLOCATED) in sequence. +** There is no limit to the number of synonyms that may be provided for a +** single token. +** +** In many cases, method (1) above is the best approach. It does not add +** extra data to the FTS index or require FTS5 to query for multiple terms, +** so it is efficient in terms of disk space and query speed. However, it +** does not support prefix queries very well. If, as suggested above, the +** token "first" is subsituted for "1st" by the tokenizer, then the query: +** +** +** ... MATCH '1s*' +** +** will not match documents that contain the token "1st" (as the tokenizer +** will probably not map "1s" to any prefix of "first"). +** +** For full prefix support, method (3) may be preferred. In this case, +** because the index contains entries for both "first" and "1st", prefix +** queries such as 'fi*' or '1s*' will match correctly. However, because +** extra entries are added to the FTS index, this method uses more space +** within the database. +** +** Method (2) offers a midpoint between (1) and (3). Using this method, +** a query such as '1s*' will match documents that contain the literal +** token "1st", but not "first" (assuming the tokenizer is not able to +** provide synonyms for prefixes). However, a non-prefix query like '1st' +** will match against "1st" and "first". This method does not require +** extra disk space, as no extra entries are added to the FTS index. +** On the other hand, it may require more CPU cycles to run MATCH queries, +** as separate queries of the FTS index are required for each synonym. +** +** When using methods (2) or (3), it is important that the tokenizer only +** provide synonyms when tokenizing document text (method (2)) or query +** text (method (3)), not both. Doing so will not cause any errors, but is +** inefficient. +*/ +typedef struct Fts5Tokenizer Fts5Tokenizer; +typedef struct fts5_tokenizer fts5_tokenizer; +struct fts5_tokenizer { + int (*xCreate)(void*, const char **azArg, int nArg, Fts5Tokenizer **ppOut); + void (*xDelete)(Fts5Tokenizer*); + int (*xTokenize)(Fts5Tokenizer*, + void *pCtx, + int flags, /* Mask of FTS5_TOKENIZE_* flags */ + const char *pText, int nText, + int (*xToken)( + void *pCtx, /* Copy of 2nd argument to xTokenize() */ + int tflags, /* Mask of FTS5_TOKEN_* flags */ + const char *pToken, /* Pointer to buffer containing token */ + int nToken, /* Size of token in bytes */ + int iStart, /* Byte offset of token within input text */ + int iEnd /* Byte offset of end of token within input text */ + ) + ); +}; + +/* Flags that may be passed as the third argument to xTokenize() */ +#define FTS5_TOKENIZE_QUERY 0x0001 +#define FTS5_TOKENIZE_PREFIX 0x0002 +#define FTS5_TOKENIZE_DOCUMENT 0x0004 +#define FTS5_TOKENIZE_AUX 0x0008 + +/* Flags that may be passed by the tokenizer implementation back to FTS5 +** as the third argument to the supplied xToken callback. */ +#define FTS5_TOKEN_COLOCATED 0x0001 /* Same position as prev. token */ + +/* +** END OF CUSTOM TOKENIZERS +*************************************************************************/ + +/************************************************************************* +** FTS5 EXTENSION REGISTRATION API +*/ +typedef struct fts5_api fts5_api; +struct fts5_api { + int iVersion; /* Currently always set to 2 */ + + /* Create a new tokenizer */ + int (*xCreateTokenizer)( + fts5_api *pApi, + const char *zName, + void *pContext, + fts5_tokenizer *pTokenizer, + void (*xDestroy)(void*) + ); + + /* Find an existing tokenizer */ + int (*xFindTokenizer)( + fts5_api *pApi, + const char *zName, + void **ppContext, + fts5_tokenizer *pTokenizer + ); + + /* Create a new auxiliary function */ + int (*xCreateFunction)( + fts5_api *pApi, + const char *zName, + void *pContext, + fts5_extension_function xFunction, + void (*xDestroy)(void*) + ); +}; + +/* +** END OF REGISTRATION API +*************************************************************************/ + +#ifdef __cplusplus +} /* end of the 'extern "C"' block */ +#endif + +#endif /* _FTS5_H */ + +/******** End of fts5.h *********/

`GZMo2gW2^(8RtL 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 literal 0 HcmV?d00001 From 45ff128e10f8965e67d9db2662726cdc3337f966 Mon Sep 17 00:00:00 2001 From: renommee <475442458@qq.com> Date: Tue, 20 Nov 2018 01:11:14 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E4=B8=80=E4=BA=9B?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=93=E7=9A=84=E9=97=AE=E9=A2=98&Legend?= =?UTF-8?q?=20of=20Five=20Rings=E6=8E=B7=E9=AA=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dice/Dice.cpp | 112 +- Dice/Dice.vcxproj | 21 +- Dice/Dice.vcxproj.filters | 33 + Dice/GlobalVar.cpp | 2 + Dice/dbManager.cpp | 105 + Dice/dbManager.h | 23 + Dice/l5rDice.cpp | 206 + Dice/l5rDice.h | 47 + Dice/l5rDiceManager.cpp | 553 ++ Dice/l5rDiceManager.h | 31 + Dice/nameGetter.cpp | 223 + Dice/nameGetter.h | 19 + Dice/sqlite3/sqlite3.h | 11177 ++++++++++++++++++++++++++++++++++++ 13 files changed, 12486 insertions(+), 66 deletions(-) create mode 100644 Dice/dbManager.cpp create mode 100644 Dice/dbManager.h create mode 100644 Dice/l5rDice.cpp create mode 100644 Dice/l5rDice.h create mode 100644 Dice/l5rDiceManager.cpp create mode 100644 Dice/l5rDiceManager.h create mode 100644 Dice/nameGetter.cpp create mode 100644 Dice/nameGetter.h create mode 100644 Dice/sqlite3/sqlite3.h diff --git a/Dice/Dice.cpp b/Dice/Dice.cpp index 4ae448ae..6b33e74c 100644 --- a/Dice/Dice.cpp +++ b/Dice/Dice.cpp @@ -38,10 +38,12 @@ #include "CQTools.h" #include "InitList.h" #include "GlobalVar.h" -#include "NameStorage.h" #include "GetRule.h" #include "DiceMsgSend.h" #include "CustomMsg.h" +#include"dbManager.h" +#include"nameGetter.h" +#include"l5rDiceManager.h" /* TODO: 1. en¿É±ä³É³¤¼ì¶¨ @@ -57,50 +59,11 @@ using namespace std; using namespace CQ; -unique_ptr Name; +//unique_ptr Name; unique_ptr RuleGetter; - -std::string strip(std::string origin) -{ - bool flag = true; - while (flag) - { - flag = false; - if (origin[0] == '!' || origin[0] == '.') - { - origin.erase(origin.begin()); - flag = true; - } - else if (origin.substr(0, 2) == "£¡" || origin.substr(0, 2) == "¡£") - { - origin.erase(origin.begin()); - origin.erase(origin.begin()); - flag = true; - } - } - return origin; -} - -std::string getName(long long QQ, long long GroupID = 0) -{ - if (GroupID) - { - /*Ⱥ*/ - if (GroupID < 1000000000) - { - return strip(Name->get(GroupID, QQ).empty() - ? (getGroupMemberInfo(GroupID, QQ).GroupNick.empty() - ? getStrangerInfo(QQ).nick - : getGroupMemberInfo(GroupID, QQ).GroupNick) - : Name->get(GroupID, QQ)); - } - /*ÌÖÂÛ×é*/ - return strip(Name->get(GroupID, QQ).empty() ? getStrangerInfo(QQ).nick : Name->get(GroupID, QQ)); - } - /*˽ÁÄ*/ - return strip(getStrangerInfo(QQ).nick); -} - +unique_ptr dbCtrl=nullptr; +unique_ptr nameCtrl = nullptr; +unique_ptr l5rDiceCtrl = nullptr; map JRRP; map DefaultDice; map WelcomeMsg; @@ -148,7 +111,10 @@ EVE_Enable(__eventEnable) /* * Ãû³Æ´æ´¢-´´½¨Óë¶ÁÈ¡ */ - Name = make_unique(strFileLoc + "Name.dicedb"); + //Name = make_unique(strFileLoc + "Name.dicedb"); + dbCtrl = make_unique(strFileLoc); + nameCtrl = make_unique(); + l5rDiceCtrl = make_unique(); ifstream ifstreamCharacterProp(strFileLoc + "CharacterProp.RDconf"); if (ifstreamCharacterProp) { @@ -345,13 +311,21 @@ EVE_PrivateMsg_EX(__eventPrivateMsg) while (isspace(eve.message[intMsgCnt])) intMsgCnt++; eve.message_block(); - const string strNickName = getName(eve.fromQQ); + const string strNickName = nameCtrl->getNickName(eve.fromQQ); string strLowerMessage = eve.message; transform(strLowerMessage.begin(), strLowerMessage.end(), strLowerMessage.begin(), tolower); if (strLowerMessage.substr(intMsgCnt, 4) == "help") { AddMsgToQueue(GlobalMsg["strHlpMsg"], eve.fromQQ); } + else if (strLowerMessage.substr(intMsgCnt, 3) == "lfr") + { + intMsgCnt += 3; + while (isspace(eve.message[intMsgCnt])) + intMsgCnt++; + string reply= l5rDiceCtrl->dice(strNickName, strLowerMessage.substr(intMsgCnt), eve.fromQQ); + AddMsgToQueue(reply, eve.fromQQ); + } else if (strLowerMessage[intMsgCnt] == 'w') { intMsgCnt++; @@ -956,7 +930,7 @@ EVE_PrivateMsg_EX(__eventPrivateMsg) AddMsgToQueue(GlobalMsg["strMEDisabledErr"], eve.fromQQ); return; } - string strReply = getName(eve.fromQQ, llGroupID) + eve.message.substr(intMsgCnt); + string strReply = nameCtrl->getNickName(eve.fromQQ, llGroupID) + eve.message.substr(intMsgCnt); const int intSendRes = sendGroupMsg(llGroupID, strReply); if (intSendRes < 0) { @@ -1478,7 +1452,7 @@ EVE_GroupMsg_EX(__eventGroupMsg) while (isspace(eve.message[intMsgCnt])) intMsgCnt++; eve.message_block(); - const string strNickName = getName(eve.fromQQ, eve.fromGroup); + const string strNickName = nameCtrl->getNickName(eve.fromQQ, eve.fromGroup); string strLowerMessage = eve.message; transform(strLowerMessage.begin(), strLowerMessage.end(), strLowerMessage.begin(), tolower); if (strLowerMessage.substr(intMsgCnt, 3) == "bot") @@ -1802,7 +1776,7 @@ EVE_GroupMsg_EX(__eventGroupMsg) if (strname.empty()) strname = strNickName; else - strname = strip(strname); + strname = nameCtrl->strip(strname); RD initdice(strinit); const int intFirstTimeRes = initdice.Roll(); if (intFirstTimeRes == Value_Err) @@ -1866,6 +1840,14 @@ EVE_GroupMsg_EX(__eventGroupMsg) ilInitList->show(eve.fromGroup, strReply); AddMsgToQueue(strReply, eve.fromGroup, false); } + else if (strLowerMessage.substr(intMsgCnt, 3) == "lfr") + { + intMsgCnt += 3; + while (isspace(eve.message[intMsgCnt])) + intMsgCnt++; + string reply= l5rDiceCtrl->dice(strNickName, strLowerMessage.substr(intMsgCnt), eve.fromQQ, eve.fromGroup); + AddMsgToQueue(reply, eve.fromGroup,false); + } else if (strLowerMessage[intMsgCnt] == 'w') { intMsgCnt++; @@ -2193,7 +2175,7 @@ EVE_GroupMsg_EX(__eventGroupMsg) const auto Range = ObserveGroup.equal_range(eve.fromGroup); for (auto it = Range.first; it != Range.second; ++it) { - Msg += "\n" + getName(it->second, eve.fromGroup) + "(" + to_string(it->second) + ")"; + Msg += "\n" + nameCtrl->getNickName(it->second, eve.fromGroup) + "(" + to_string(it->second) + ")"; } const string strReply = Msg == "µ±Ç°µÄÅÔ¹ÛÕßÓÐ:" ? "µ±Ç°ÔÝÎÞÅÔ¹ÛÕß" : Msg; AddMsgToQueue(strReply, eve.fromGroup, false); @@ -2520,13 +2502,13 @@ EVE_GroupMsg_EX(__eventGroupMsg) } if (!name.empty()) { - Name->set(eve.fromGroup, eve.fromQQ, name); - const string strReply = "Òѽ«" + strNickName + "µÄÃû³Æ¸ü¸ÄΪ" + strip(name); + nameCtrl->setNickName(name,eve.fromQQ, eve.fromGroup); + const string strReply = "Òѽ«" + strNickName + "µÄÃû³Æ¸ü¸ÄΪ" + nameCtrl->strip(name); AddMsgToQueue(strReply, eve.fromGroup, false); } else { - if (Name->del(eve.fromGroup, eve.fromQQ)) + if (nameCtrl->setNickName(name, eve.fromQQ, eve.fromGroup)) { const string strReply = "Òѽ«" + strNickName + "µÄÃû³Æɾ³ý"; AddMsgToQueue(strReply, eve.fromGroup, false); @@ -3189,7 +3171,7 @@ EVE_DiscussMsg_EX(__eventDiscussMsg) while (isspace(eve.message[intMsgCnt])) intMsgCnt++; eve.message_block(); - const string strNickName = getName(eve.fromQQ, eve.fromDiscuss); + const string strNickName = nameCtrl->getNickName(eve.fromQQ, eve.fromDiscuss); string strLowerMessage = eve.message; transform(strLowerMessage.begin(), strLowerMessage.end(), strLowerMessage.begin(), tolower); if (strLowerMessage.substr(intMsgCnt, 3) == "bot") @@ -3412,7 +3394,7 @@ EVE_DiscussMsg_EX(__eventDiscussMsg) if (strname.empty()) strname = strNickName; else - strname = strip(strname); + strname = nameCtrl->strip(strname); RD initdice(strinit); const int intFirstTimeRes = initdice.Roll(); if (intFirstTimeRes == Value_Err) @@ -3476,6 +3458,14 @@ EVE_DiscussMsg_EX(__eventDiscussMsg) ilInitList->show(eve.fromDiscuss, strReply); AddMsgToQueue(strReply, eve.fromDiscuss, false); } + else if (strLowerMessage.substr(intMsgCnt, 3) == "lfr") + { + intMsgCnt += 3; + while (isspace(eve.message[intMsgCnt])) + intMsgCnt++; + string reply=l5rDiceCtrl->dice(strNickName, strLowerMessage.substr(intMsgCnt), eve.fromQQ, eve.fromDiscuss); + AddMsgToQueue(reply, eve.fromDiscuss,false); + } else if (strLowerMessage[intMsgCnt] == 'w') { intMsgCnt++; @@ -3781,7 +3771,7 @@ EVE_DiscussMsg_EX(__eventDiscussMsg) const auto Range = ObserveDiscuss.equal_range(eve.fromDiscuss); for (auto it = Range.first; it != Range.second; ++it) { - Msg += "\n" + getName(it->second, eve.fromDiscuss) + "(" + to_string(it->second) + ")"; + Msg += "\n" + nameCtrl->getNickName(it->second, eve.fromDiscuss) + "(" + to_string(it->second) + ")"; } const string strReply = Msg == "µ±Ç°µÄÅÔ¹ÛÕßÓÐ:" ? "µ±Ç°ÔÝÎÞÅÔ¹ÛÕß" : Msg; AddMsgToQueue(strReply, eve.fromDiscuss, false); @@ -4097,13 +4087,13 @@ EVE_DiscussMsg_EX(__eventDiscussMsg) } if (!name.empty()) { - Name->set(eve.fromDiscuss, eve.fromQQ, name); - const string strReply = "Òѽ«" + strNickName + "µÄÃû³Æ¸ü¸ÄΪ" + strip(name); + nameCtrl->setNickName(name, eve.fromQQ, eve.fromDiscuss); + const string strReply = "Òѽ«" + strNickName + "µÄÃû³Æ¸ü¸ÄΪ" + nameCtrl->strip(name); AddMsgToQueue(strReply, eve.fromDiscuss, false); } else { - if (Name->del(eve.fromDiscuss, eve.fromQQ)) + if (nameCtrl->setNickName(name, eve.fromQQ, eve.fromDiscuss)) { const string strReply = "Òѽ«" + strNickName + "µÄÃû³Æɾ³ý"; AddMsgToQueue(strReply, eve.fromDiscuss, false); @@ -4769,7 +4759,7 @@ EVE_Disable(__eventDisable) Enabled = false; ilInitList.reset(); RuleGetter.reset(); - Name.reset(); +// Name.reset(); ofstream ofstreamDisabledGroup(strFileLoc + "DisabledGroup.RDconf", ios::out | ios::trunc); for (auto it = DisabledGroup.begin(); it != DisabledGroup.end(); ++it) { @@ -4907,7 +4897,7 @@ EVE_Exit(__eventExit) return 0; ilInitList.reset(); RuleGetter.reset(); - Name.reset(); +// Name.reset(); ofstream ofstreamDisabledGroup(strFileLoc + "DisabledGroup.RDconf", ios::out | ios::trunc); for (auto it = DisabledGroup.begin(); it != DisabledGroup.end(); ++it) { diff --git a/Dice/Dice.vcxproj b/Dice/Dice.vcxproj index 7b9f5e84..84078453 100644 --- a/Dice/Dice.vcxproj +++ b/Dice/Dice.vcxproj @@ -23,14 +23,14 @@ {BA051175-B8E8-4104-9DD9-B9E225738C42} Win32Proj Dice - 8.1 + 10.0.17134.0 com.w4123.dice DynamicLibrary true - v140 + v141 Unicode @@ -38,12 +38,12 @@ false true Unicode - v140 + v141 DynamicLibrary true - v140 + v141 Unicode @@ -51,7 +51,7 @@ false true Unicode - v140 + v141 @@ -92,6 +92,7 @@ MultiThreadedDebug static static + $(ProjectDir)sqlite3;$(IncludePath) false @@ -130,6 +131,7 @@ UseLinkTimeCodeGeneration %(ForceSymbolReferences) %(AdditionalDependencies) + MSVCRT;%(IgnoreSpecificDefaultLibraries) @@ -204,6 +206,7 @@ + @@ -211,6 +214,9 @@ + + + @@ -239,12 +245,16 @@ + + + + @@ -252,6 +262,7 @@ + diff --git a/Dice/Dice.vcxproj.filters b/Dice/Dice.vcxproj.filters index d6616df7..07092561 100644 --- a/Dice/Dice.vcxproj.filters +++ b/Dice/Dice.vcxproj.filters @@ -22,6 +22,12 @@ {911e9211-0dd0-42ff-82bc-c6ae90928af6} + + {fc5562c7-7d7f-4d5d-8b15-f825474f1dba} + + + {94eb6446-566b-4d95-908f-45f3a6ca5d97} + @@ -75,6 +81,18 @@ æºæ–‡ä»¶ + + æºæ–‡ä»¶ + + + æºæ–‡ä»¶\database + + + æºæ–‡ä»¶\database + + + æºæ–‡ä»¶\database + @@ -176,11 +194,26 @@ 头文件 + + 头文件 + + + 头文件\database + + + 头文件\database + + + 头文件\database + 资æºæ–‡ä»¶ + + 资æºæ–‡ä»¶ + diff --git a/Dice/GlobalVar.cpp b/Dice/GlobalVar.cpp index 6830b9a1..38a6705e 100644 --- a/Dice/GlobalVar.cpp +++ b/Dice/GlobalVar.cpp @@ -33,6 +33,8 @@ CQ::logger DiceLogger("Dice!"); std::map GlobalMsg { + { "strLFRDontExist","»¹Ã»ÈÓ¹ý÷»×ÓÄØ!" }, + { "strDBFailToOpen","Á¬½Ó±¾µØÊý¾Ý¿âʧ°Ü£¬ÎÞ·¨¶ÁÈ¡ÖÀ÷»ÐÅÏ¢!" }, {"strSetInvalid", "ÎÞЧµÄĬÈÏ÷»!ÇëÊäÈë1-99999Ö®¼äµÄÊý×Ö!"}, {"strSetTooBig", "ĬÈÏ÷»¹ý´ó!ÇëÊäÈë1-99999Ö®¼äµÄÊý×Ö!"}, {"strSetCannotBeZero", "ĬÈÏ÷»²»ÄÜΪÁã!ÇëÊäÈë1-99999Ö®¼äµÄÊý×Ö!"}, diff --git a/Dice/dbManager.cpp b/Dice/dbManager.cpp new file mode 100644 index 00000000..dc946e26 --- /dev/null +++ b/Dice/dbManager.cpp @@ -0,0 +1,105 @@ +#include "dbManager.h" +#include +#include"sqlite3/sqlite3.h" +#include"GlobalVar.h" +using namespace std; + + +dbManager * dbManager::instance = nullptr; + +sqlite3 * dbManager::getDatabase() +{ + return (dbManager::instance)->database; +} + +dbManager * dbManager::getInstance() +{ + return dbManager::instance; +} + +dbManager::dbManager(const string& fileLoc) +{ + isDatabaseReady = false; + string location = fileLoc + "dice.db"; + int ret = sqlite3_open(location.c_str(), &database); + if (ret == SQLITE_OK) + { + if (dbManager::instance != nullptr) + { + free(dbManager::instance); + dbManager::instance = this; + } + dbManager::instance = this; + isDatabaseReady = true; + } + else + { + DiceLogger.Warning(("Êý¾Ý¿â´ò¿ªÊ§°Ü!´íÎóÐÅÏ¢:\n sqlite3_open(location.c_str(), &database)=" + to_string(ret)).data()); + } +} + + +dbManager::~dbManager() +{ + if (dbManager::instance == this) + dbManager::instance = nullptr; + sqlite3_close(this->database); +} + +int dbManager::registerTable(std::string str_table_name, std::string str_table_sql) +{ + bool isExist; + int ret = isTableExist(str_table_name, isExist); + if (ret == SQLITE_OK && !isExist) { + const char * sql_command = str_table_sql.c_str(); + char * pchar_err_message = nullptr; + int i_ret_code_2 = sqlite3_exec(this->database, sql_command, &sqlite3_callback, (void*)&i_data_database_create, &pchar_err_message); + if (i_ret_code_2 != SQLITE_OK) + { + isDatabaseReady = true; + return i_ret_code_2; + } + else { + isDatabaseReady = false; + return i_ret_code_2; + } + } + else return ret; +} + +inline int dbManager::isTableExist(const std::string & table_name, bool & isExist) +{ + std::string sql_command = "select count(*) from sqlite_master where type ='table' and name ='" + table_name + "'"; + char * errMsg = nullptr; + int i_count_of_table = 0; + int ret = sqlite3_exec(this->database, sql_command.c_str(), &sqlite3_callback_isTableExist, (void*)&i_count_of_table, &errMsg); + if (ret == SQLITE_OK) { + isExist = i_count_of_table > 0; + return ret; + } + isExist = false; + return ret; +} + +int dbManager::sqlite3_callback(void * data, int argc, char ** argv, char ** azColName) +{ + int i_database_op = *((int*)data); + switch (i_database_op) + { + case i_data_database_create: + return SQLITE_OK; + case i_data_database_update: + return SQLITE_OK; + default: + return SQLITE_ABORT; + } +} + +int dbManager::sqlite3_callback_isTableExist(void * data, int argc, char ** argv, char ** azColName) +{ + int * i_handle = (int*)data; + if (argc == 1) { + *i_handle = atoi(argv[0]); + } + return SQLITE_OK; +} diff --git a/Dice/dbManager.h b/Dice/dbManager.h new file mode 100644 index 00000000..849a5d85 --- /dev/null +++ b/Dice/dbManager.h @@ -0,0 +1,23 @@ +#pragma once +#include"sqlite3/sqlite3.h" +#include + +const int i_data_database_create = 4; +const int i_data_database_update = 8; + +class dbManager +{ +private: + static dbManager * instance; + bool isDatabaseReady; + sqlite3 * database; +public: + static sqlite3 * getDatabase(); + static dbManager * getInstance(); + dbManager(const std::string&); + ~dbManager(); + int registerTable(std::string str_table_name, std::string str_table_sql); + int isTableExist(const std::string & table_name, bool &isExist); + static int sqlite3_callback(void * data, int argc, char ** argv, char ** azColName); + static int sqlite3_callback_isTableExist(void * data, int argc, char ** argv, char ** azColName); +}; \ No newline at end of file diff --git a/Dice/l5rDice.cpp b/Dice/l5rDice.cpp new file mode 100644 index 00000000..bc6df861 --- /dev/null +++ b/Dice/l5rDice.cpp @@ -0,0 +1,206 @@ +#include "l5rDice.h" +#include +#include +#include"CQTools.h" +#include"GlobalVar.h" + +using namespace std; + +const string l5rDice::symbolB[7] = {"","B","O+St","O","S+St","S","ES+St"}; +const string l5rDice::symbolW[13] = {"","B","B","O","O","O","S+St","S+St","S","S","S+O","ES+St","ES"}; +l5rDice::l5rDice() +{ + +} + + +l5rDice::~l5rDice() +{ + +} + +std::string l5rDice::roll() +{ + string result; + auto iter = diceList.begin(); + int i = 1; + for(;iter!=diceList.end();iter++) + { + if (iter->status == dropped) continue; + if (iter->status == normal) + { + if (iter->type == white) + iter->result = Randint(1, 12); + else + iter->result = Randint(1, 6); + + iter->status = rolled; + } + + result += "ã€" +to_string(i++) +"】"; + if (iter->type == white) + result += symbolW[iter->result]+"(w)"; + else + result += symbolB[iter->result]+"(b)"; + + if (iter->status == additional) + result += "(add)"; + } + return result; +} + +void l5rDice::insertW(int cnt,bool isAdd) +{ + while (cnt) + { + if (isAdd) + diceList.push_back(l5rD(white, additional,Randint(1,12))); + else + diceList.push_back(l5rD(white, normal)); + cnt--; + } +} + +void l5rDice::insertB(int cnt, bool isAdd) +{ + while (cnt) + { + if (isAdd) + diceList.push_back(l5rD(black, additional, Randint(1, 6))); + else + diceList.push_back(l5rD(black, normal)); + cnt--; + } + +} + +void l5rDice::reRoll(int i) +{ + if (i > diceList.size()) + return; + + auto iter = diceList.begin(); + + if ((iter + i - 1)->type == white) + (iter + i - 1)->result = Randint(1, 12); + else + (iter + i - 1)->result = Randint(1, 6); +} + +void l5rDice::drop(int i) +{ + if (i > diceList.size()) + return; + + auto iter = diceList.begin(); + (iter + i - 1)->status = diceStatus::dropped; + +} + +std::string l5rDice::encodeToDB() +{ + string result; + auto iter = diceList.begin(); + for (; iter != diceList.end(); iter++) + { + if (iter->status == dropped) continue; + + if (iter->type == white) + { + result += 'w' + to_string(iter->result); + } + else + result += 'b' + to_string(iter->result); + + if (iter->status == additional) + result += 'a'; + if (iter->status == rolled) + result += 'r'; + + result += ' '; + } + return base64_encode(result); +} + +void l5rDice::decode(std::string &read) +{ + read = base64_decode(read); + string strBuf; + stringstream ss; + stringstream buf; + char charBuf; + int intBuf; + ss.str(read); + while (ss >> strBuf) + { + buf.clear(); + buf.str(strBuf); + if (strBuf.length() == 3) + { + buf >> charBuf; + buf >> intBuf; + if (strBuf[2] == 'a') + { + if (charBuf == 'w') + { + diceList.push_back(l5rD(white, additional, intBuf)); + } + else + { + diceList.push_back(l5rD(black, additional, intBuf)); + } + } + else if (strBuf[2] == 'r') + { + if (charBuf == 'w') + { + diceList.push_back(l5rD(white, rolled, intBuf)); + } + else + { + diceList.push_back(l5rD(black, rolled, intBuf)); + } + } + } + else + { + buf >> charBuf; + buf >> intBuf; + if (charBuf == 'w') + { + diceList.push_back(l5rD(white, normal, intBuf)); + } + else + { + diceList.push_back(l5rD(black, normal, intBuf)); + } + } + } +} + + +int l5rDice::getDiceCnt() +{ + return diceList.size(); +} + +std::string l5rDice::getResult() +{ + string reply; + int i = 1; + auto iter= diceList.begin(); + for (; iter != diceList.end(); iter++) + { + if (iter->status == dropped) continue; + + reply += "ã€" + to_string(i++) + "】"; + if (iter->type == white) + reply += symbolW[iter->result] + "(w)"; + else + reply += symbolB[iter->result] + "(b)"; + + if (iter->status == additional) + reply += "(add)"; + } + return reply; +} diff --git a/Dice/l5rDice.h b/Dice/l5rDice.h new file mode 100644 index 00000000..f2b31ff8 --- /dev/null +++ b/Dice/l5rDice.h @@ -0,0 +1,47 @@ +#pragma once +#include +#include +#include +#include +#include"CQTools.h" + + +class l5rDice +{ +private: + enum diceType { white, black };//ÖÖÀà + enum diceStatus { normal, additional, dropped, kept,rolled };//״̬ + typedef struct l5rD + { + diceType type;//ÖÖÀà + diceStatus status;//״̬ + int result = 0; + l5rD(diceType a, diceStatus b) :type(a), status(b) {}; + l5rD(diceType a, diceStatus b,int r) :type(a), status(b),result(r) {}; + }l5rD; + using l5rDList = std::vector; + const static std::string symbolB[7]; + const static std::string symbolW[13]; +private: + l5rDList diceList; + int Randint(int lowest, int highest) + { + std::mt19937 gen(static_cast(GetCycleCount())); + const std::uniform_int_distribution dis(lowest, highest); + return dis(gen); + } +public: + l5rDice(); + ~l5rDice(); + std::string roll(); + void insertW(int,bool isAdd=false); + void insertB(int,bool isAdd=false); + void reRoll(int); + void drop(int); + std::string encodeToDB(); + void decode(std::string&); + int getDiceCnt(); + std::string getResult(); + +}; + diff --git a/Dice/l5rDiceManager.cpp b/Dice/l5rDiceManager.cpp new file mode 100644 index 00000000..a2fff078 --- /dev/null +++ b/Dice/l5rDiceManager.cpp @@ -0,0 +1,553 @@ +#include "l5rDiceManager.h" +#include"dbManager.h" +#include +#include +#include"GlobalVar.h" +using namespace std; + +#define TABLENAME "LFRDICE" +#define TABLEDEFINE "create table " TABLENAME \ + "(qqid int NOT NULL," \ + "groupid int NOT NULL," \ + "source text NOT NULL," \ + "primary key (QQID,GROUPID));" + +l5rDiceManager* l5rDiceManager::instance = nullptr; + +l5rDiceManager::l5rDiceManager() +{ + dbManager *dbCtrl = dbManager::getInstance(); + int ret = dbCtrl->registerTable(TABLENAME, TABLEDEFINE); + noSQL = ret != SQLITE_OK; + + + if (this->instance != nullptr) + delete this->instance; + else + this->instance = this; + +} + +l5rDiceManager::~l5rDiceManager() +{ + if (instance == this) + { + delete this; + instance = nullptr; + } +} + +string l5rDiceManager::dice(const string& name,const std::string & command, long long fromQQ, long long fromGroup) +{ + string reply; + if (command[0] == 'r') + { + //reroll + reply =reroll(command.substr(1), fromQQ, fromGroup); + if (reply == "1") + reply = GlobalMsg["strLFRDontExist"]; + else if (reply == "2") + reply = GlobalMsg["strDBFailToOpen"]; + else + reply = name + reply; + } + //else if (command[0] == 'k') + //{ + // //keep + // reply = keep(command.substr(1), fromQQ, fromGroup); + //} + else if (command[0] == 'd') + { + //drop + reply = drop(command.substr(1), fromQQ, fromGroup); + if (reply == "1") + reply = GlobalMsg["strLFRDontExist"]; + else if (reply == "2") + reply = GlobalMsg["strDBFailToOpen"]; + else + reply = name + reply; + } + else if (command[0] == 'a') + { + + //if (command[1] == 's') + //{ //add specific + // reply = addSp(command.substr(2), fromQQ, fromGroup); + //} + //else + //{ + //add + reply =add(command.substr(1), fromQQ, fromGroup); + if (reply == "1") + reply = GlobalMsg["strLFRDontExist"]; + else if (reply == "2") + reply = GlobalMsg["strDBFailToOpen"]; + else + reply = name + reply; + //} + } + else + { + //creat + reply = create(command.substr(0), fromQQ, fromGroup); + if (reply == "1") + reply = GlobalMsg["strDiceTooBigErr"]; + else if (reply == "2") + reply = GlobalMsg["strValueErr"]; + else + reply = name + reply; + } + + return reply; +} + +int l5rDiceManager::sqlite3_callback_query_lfrdice(void * data, int argc, char ** argv, char ** azColName) +{ + if (argc == 3) { + std::string * pstr_ret = (std::string *) data; + *pstr_ret = std::string(argv[2]); + } + return SQLITE_OK; +} + +string l5rDiceManager::create(const std::string & command, long long fromQQ, long long fromGroup) +{ + auto key = l5rDKey(fromQQ, fromGroup); + auto iter = diceMap.find(key); + l5rDice newDice; + stringstream ss; + ss.str(command); + string notation; + string reason; + string reply; + ss >> notation; + ss >> reason; + + //generate dice + int diceCnt = 0; + char charBuf; + ss.clear(); + ss.str(notation); + + while (ss >> charBuf) + { + if (isdigit(charBuf)) + { + ss.putback(charBuf); + ss >> diceCnt; + } + else if (charBuf == 'b') + { + if (diceCnt) + { + newDice.insertB(diceCnt); + diceCnt = 0; + } + else + { + newDice.insertB(1); + } + } + else if (charBuf == 'w') + { + if (diceCnt) + { + newDice.insertW(diceCnt); + diceCnt = 0; + } + else + { + newDice.insertW(1); + } + } + } + + if (newDice.getDiceCnt() > MAXSIZE){reply =="1"; return reply;} + else if (newDice.getDiceCnt() == 0) {reply =="2"; return reply;} + + if (!reason.empty()) + reply += "ÓÉÓÚ" + reason; + reply += "ͶÖÀ" + notation + '='; + reply += newDice.roll(); + + if (iter != diceMap.end()) + { + // fresh cache + iter->second = newDice; + } + else + { + // insert cache + diceMap.insert(l5rDPair(key, newDice)); + } + + //fresh db + if (!noSQL) + { + + auto *db = dbManager::getDatabase(); + string encoded = newDice.encodeToDB(); + ostringstream selectCommand(ostringstream::ate); + selectCommand << "SELECT * FROM " TABLENAME " where qqid =" << fromQQ << " and groupid =" << fromGroup; + string readFromDB; + char* errMsg = nullptr; + int ret= sqlite3_exec(db, selectCommand.str().c_str(), &sqlite3_callback_query_lfrdice, (void*)&readFromDB, &errMsg); + + if (ret == SQLITE_OK) + { + + if (readFromDB.length() > 0) + { + ostringstream updateCmd(ostringstream::ate); + updateCmd.str("update " TABLENAME " set "); + updateCmd << " source ='" << encoded << "'" << " where qqid =" << fromQQ << " and groupid =" << fromGroup; + int ret2 = sqlite3_exec(db, updateCmd.str().c_str(), &dbManager::sqlite3_callback, (void*)&readFromDB, &errMsg); + + } + else + { + ostringstream insertCmd(ostringstream::ate); + insertCmd.str("insert into " TABLENAME " values ( "); + insertCmd << fromQQ << ","<< fromGroup << ",'"<< encoded << "');"; + int ret2 = sqlite3_exec(db, insertCmd.str().c_str(), &dbManager::sqlite3_callback, (void*)&readFromDB, &errMsg); + } + } + else + noSQL = true; + } + + return reply; +} + +std::string l5rDiceManager::reroll(const std::string & command, long long fromQQ, long long fromGroup) +{ + stringstream ss; + auto key = l5rDKey(fromQQ, fromGroup); + ss.str(command); + int NO; + auto iter = diceMap.find(key); + string reply="ÖØ÷»½á¹û="; + + if (iter != diceMap.end()) + { + //fresh cache + while (ss >> NO) + iter->second.reRoll(NO); + reply += iter->second.getResult(); + + ss.clear(); + string reason; + ss >> reason; + + if (!reason.empty()) + { + reply = "ÓÉÓÚ" + reason + reply; + } + + //fresh db + if (!noSQL) + { + sqlite3* db = dbManager::getDatabase(); + char* errMsg; + ostringstream updateCmd(ostringstream::ate); + updateCmd.str("update " TABLENAME " set "); + updateCmd <<" source ='" << iter->second.encodeToDB() << "'" + << " where qqid =" << fromQQ << " and groupid =" << fromGroup; + int ret= sqlite3_exec(db, updateCmd.str().c_str(), &dbManager::sqlite3_callback, (void*)&i_data_database_update, &errMsg); + } + } + else + { + if (!noSQL) + { + //Êý¾Ý¿âÖвéÕÒ + sqlite3* db = dbManager::getDatabase(); + ostringstream selectCmd(std::ostringstream::ate); + selectCmd << "SELECT * FROM " TABLENAME " where qqid =" << fromQQ << " and groupid =" << fromGroup; + string strRead; + char* errMsg; + int ret = sqlite3_exec(db, selectCmd.str().c_str(), &sqlite3_callback_query_lfrdice, (void*)&strRead, &errMsg); + if (ret == SQLITE_OK) + { + if (strRead.length()>0) + { + l5rDice newDice; + newDice.decode(strRead); + while (ss >> NO) + newDice.reRoll(NO); + + reply += newDice.getResult(); + ss.clear(); + string reason; + ss >> reason; + + if (!reason.empty()) + { + reply = "ÓÉÓÚ" + reason + reply; + } + diceMap.insert(l5rDPair(l5rDKey(fromQQ, fromGroup), newDice)); + } + else + { + reply = "1";//²»´æÔÚÊý¾Ý + } + } + else + { + noSQL = true; + reply = "2";//Êý¾Ý¿â´ò¿ªÊ§°Ü + } + } + else + reply = "1"; + } + + return reply; +} + +std::string l5rDiceManager::drop(const std::string & command, long long fromQQ, long long fromGroup) +{ + int NO; + stringstream ss; + l5rDKey key(fromQQ, fromGroup); + ss.str(command); + auto iter = diceMap.find(key); + string reply = "µÄɾ³ý½á¹û="; + + if (iter != diceMap.end()) + { + //fresh cache + while (ss >> NO) + iter->second.drop(NO); + + reply += iter->second.getResult(); + + ss.clear(); + string reason; + ss >> reason; + + if (!reason.empty()) + { + reply = "ÓÉÓÚ" + reason + reply; + } + + //fresh db + if (!noSQL) + { + sqlite3* db = dbManager::getDatabase(); + char* errMsg; + ostringstream updateCmd(ostringstream::ate); + updateCmd.str("update " TABLENAME " set "); + updateCmd << " source ='" << iter->second.encodeToDB() << "'" + << " where qqid =" << fromQQ << " and groupid =" << fromGroup; + int ret = sqlite3_exec(db, updateCmd.str().c_str(), &dbManager::sqlite3_callback, (void*)&i_data_database_update, &errMsg); + } + } + else + { + if (!noSQL) + { + //Êý¾Ý¿âÖвéÕÒ + sqlite3* db = dbManager::getDatabase(); + ostringstream selectCmd(std::ostringstream::ate); + selectCmd << "SELECT * FROM " TABLENAME " where qqid =" << fromQQ << " and groupid =" << fromGroup; + string strRead; + char* errMsg; + int ret = sqlite3_exec(db, selectCmd.str().c_str(), &sqlite3_callback_query_lfrdice, (void*)&strRead, &errMsg); + if (ret == SQLITE_OK) + { + if (strRead.length()>0) + { + l5rDice newDice; + newDice.decode(strRead); + while (ss >> NO) + newDice.drop(NO); + + reply += newDice.getResult(); + ss.clear(); + string reason; + ss >> reason; + + if (!reason.empty()) + { + reply = "ÓÉÓÚ" + reason + reply; + } + diceMap.insert(l5rDPair(l5rDKey(fromQQ, fromGroup), newDice)); + } + else + { + reply = "1";//²»´æÔÚÊý¾Ý + } + } + else + { + noSQL = true; + reply = "2";//Êý¾Ý¿â´ò¿ªÊ§°Ü + } + } + else + reply = "1"; + } + + return reply; +} + +std::string l5rDiceManager::add(const std::string & command, long long fromQQ, long long fromGroup) +{ + + stringstream ss; + l5rDKey key(fromQQ, fromGroup); + ss.str(command); + auto iter = diceMap.find(key); + string reply = "µÄÔö¼Ó½á¹û="; + + string notation; + string reason; + + ss >> notation; + ss >> reason; + + ss.clear(); + ss.str(notation); + + char charBuf; + int diceCnt = 0; + + if (iter != diceMap.end()) + { + while (ss >> charBuf) + { + if (isdigit(charBuf)) + { + ss.putback(charBuf); + ss >> diceCnt; + } + else if (charBuf == 'b') + { + if (diceCnt) + { + iter->second.insertB(diceCnt,true); + diceCnt = 0; + } + else + { + iter->second.insertB(1,true); + } + } + else if (charBuf == 'w') + { + if (diceCnt) + { + iter->second.insertW(diceCnt,true); + diceCnt = 0; + } + else + { + iter->second.insertW(1,true); + } + } + } + reply += iter->second.getResult(); + if (!reason.empty()) + { + reply = "ÓÉÓÚ" + reason + reply; + } + + //fresh db + if (!noSQL) + { + sqlite3* db = dbManager::getDatabase(); + char* errMsg; + ostringstream updateCmd(ostringstream::ate); + updateCmd.str("update " TABLENAME " set "); + updateCmd << " source ='" << iter->second.encodeToDB() << "'" + << " where qqid =" << fromQQ << " and groupid =" << fromGroup; + int ret = sqlite3_exec(db, updateCmd.str().c_str(), &dbManager::sqlite3_callback, (void*)&i_data_database_update, &errMsg); + } + } + else + { + if (!noSQL) + { + //Êý¾Ý¿âÖвéÕÒ + sqlite3* db = dbManager::getDatabase(); + ostringstream selectCmd(std::ostringstream::ate); + selectCmd << "SELECT * FROM " TABLENAME " where qqid =" << fromQQ << " and groupid =" << fromGroup; + string strRead; + char* errMsg; + int ret = sqlite3_exec(db, selectCmd.str().c_str(), &sqlite3_callback_query_lfrdice, (void*)&strRead, &errMsg); + if (ret == SQLITE_OK) + { + if (strRead.length()>0) + { + l5rDice newDice; + newDice.decode(strRead); + + while (ss >> charBuf) + { + if (isdigit(charBuf)) + { + ss.putback(charBuf); + ss >> diceCnt; + } + else if (charBuf == 'b') + { + if (diceCnt) + { + newDice.insertB(diceCnt,true); + diceCnt = 0; + } + else + { + newDice.insertB(1,true); + } + } + else if (charBuf == 'w') + { + if (diceCnt) + { + newDice.insertW(diceCnt,true); + diceCnt = 0; + } + else + { + newDice.insertW(1,true); + } + } + } + reply += newDice.getResult(); + + if (!reason.empty()) + { + reply = "ÓÉÓÚ" + reason + reply; + } + + diceMap.insert(l5rDPair(l5rDKey(fromQQ, fromGroup), newDice)); + } + else + { + reply = "1";//²»´æÔÚÊý¾Ý + } + } + else + { + noSQL = true; + reply = "2";//Êý¾Ý¿â´ò¿ªÊ§°Ü + } + } + else + reply = "1"; + } + + return reply; +} + +//std::string l5rDiceManager::addSp(const std::string & command, long long fromQQ, long long fromGroup) +//{ +// return "addSp"; +//} + +//std::string l5rDiceManager::keep(const std::string & command, long long fromQQ, long long fromGroup) +//{ +// return "keep"; +//} diff --git a/Dice/l5rDiceManager.h b/Dice/l5rDiceManager.h new file mode 100644 index 00000000..b7787684 --- /dev/null +++ b/Dice/l5rDiceManager.h @@ -0,0 +1,31 @@ +#pragma once +#include +#include +#include"l5rDice.h" + + +class l5rDiceManager +{ + using l5rDKey = std::pair;//qq,group + using l5rDMap = std::map; + using l5rDPair = std::pair; +private: + bool noSQL; + l5rDMap diceMap; + static l5rDiceManager * instance; + const int MAXSIZE = 20; +public: + l5rDiceManager(); + ~l5rDiceManager(); + std::string dice(const std::string&name,const std::string& command, long long fromQQ, long long fromGroup = 0); +private: + static int sqlite3_callback_query_lfrdice(void * data, int argc, char ** argv, char ** azColName); + std::string create(const std::string& command, long long fromQQ, long long fromGroup = 0); + std::string reroll(const std::string& command, long long fromQQ, long long fromGroup = 0); + std::string drop(const std::string& command, long long fromQQ, long long fromGroup = 0); + std::string add(const std::string& command, long long fromQQ, long long fromGroup = 0); + //std::string addSp(const std::string& command, long long fromQQ, long long fromGroup = 0); + //std::string keep(const std::string& command, long long fromQQ, long long fromGroup = 0); + +}; + diff --git a/Dice/nameGetter.cpp b/Dice/nameGetter.cpp new file mode 100644 index 00000000..db3e0bb1 --- /dev/null +++ b/Dice/nameGetter.cpp @@ -0,0 +1,223 @@ +#include "nameGetter.h" +#include +#include +#include"dbManager.h" +#include"CQAPI_EX.h" +#include"CQTools.h" +#include + + + +using namespace std; +using namespace CQ; + +#define NICK_TABLE_NAME "nickname" +#define NICK_TABLE_DEFINE "create table " NICK_TABLE_NAME \ + "(qqid int NOT NULL," \ + "groupid int NOT NULL," \ + "name text NOT NULL," \ + "primary key (QQID,GROUPID));" + +nameGetter * nameGetter::instance = nullptr; + +nameGetter::nameGetter()noexcept +{ + dbManager *db = dbManager::getInstance(); + int retCode = db->registerTable(NICK_TABLE_NAME, NICK_TABLE_DEFINE); + noSQL = retCode; + nameCache = new map, string>(); + if (nameGetter::instance != nullptr) + { + delete (nameGetter::instance); + } + else + nameGetter::instance = this; +} + + +nameGetter::~nameGetter() +{ + delete this->nameCache; + if (nameGetter::instance == this) + { + nameGetter::instance = nullptr; + } +} + +std::string nameGetter::getNickName(const long long fromQQ, const long long fromGroup) +{ + sqlite3* db = dbManager::getDatabase(); + auto iter = nameCache->find(pair(fromQQ, fromGroup)); + if (iter != nameCache->end()) + { + return iter->second; + } + else + { + string name = "pink fluffy unicorn"; + if (noSQL) + { + name = getDefaultName(fromQQ, fromGroup); + nameCache->insert(std::pair, std::string> + (std::pair(fromQQ, fromGroup), name)); + } + else + { + ostringstream selectCmd(std::ostringstream::ate); + selectCmd << "SELECT * FROM " NICK_TABLE_NAME " where qqid =" << fromQQ << " and groupid =" << fromGroup; + std::string nickEncoded; + char * errMsg = nullptr; + int ret = sqlite3_exec(db, selectCmd.str().c_str(), + &sqlite3_callback_query_name, + (void*)&nickEncoded, + &errMsg); + + if (ret == SQLITE_OK) + { + if (nickEncoded.length() > 0) + { + name = base64_decode(nickEncoded); + nameCache->insert(std::pair, std::string> + (std::pair(fromQQ, fromGroup), name)); + } + else { + name = getDefaultName(fromQQ, fromGroup); + setNickName(name, fromQQ, fromGroup); + } + } + else + { + noSQL = true; + } + + } + return name; + } +} + +bool nameGetter::setNickName(std::string & nickname, const long long fromQQ, const long long fromGroup) +{ + sqlite3* db = dbManager::getDatabase(); + + if (nickname.empty()) + { + nickname = getDefaultName(fromQQ, fromGroup); + } + else + { + strip(nickname); + } + + auto iter = nameCache->find(pair(fromQQ, fromGroup)); + //fresh cache + if (iter != nameCache->end()) + { + iter->second = nickname; + } + else + { + nameCache->insert(pair, string>(pair(fromQQ, fromGroup), nickname)); + } + + //fresh db + if (!noSQL) { + string enCodeName = base64_encode(nickname); + ostringstream selectCmd(std::ostringstream::ate); + selectCmd << "SELECT * FROM " NICK_TABLE_NAME " where qqid =" << fromQQ << " and groupid =" << fromGroup; + + std::string str_nick_endcoded; + char * pchar_err_message = nullptr; + int ret_code = sqlite3_exec(db, selectCmd.str().c_str(), &sqlite3_callback_query_name, (void*)&str_nick_endcoded, &pchar_err_message); + + if (ret_code == SQLITE_OK) { + if (str_nick_endcoded.length() > 0) { + std::ostringstream updateCmd(std::ostringstream::ate); + updateCmd.str("update " NICK_TABLE_NAME " set "); + updateCmd << " name ='" << enCodeName << "'" + << " where qqid =" << fromQQ << " and groupid =" << fromGroup; + int ret_code_2 = sqlite3_exec(db, updateCmd.str().c_str(), &dbManager::sqlite3_callback, (void*)&i_data_database_update, &pchar_err_message); + if (!ret_code_2) + return true; + else + return false; + } + else { + std::ostringstream insertCmd(std::ostringstream::ate); + insertCmd.str("insert into " NICK_TABLE_NAME " values ( "); + insertCmd << fromQQ << ", " << fromGroup << ", '" << enCodeName << "'" << ");"; + int ret_code_2 = sqlite3_exec(db, insertCmd.str().c_str(), &dbManager::sqlite3_callback, (void*)&i_data_database_update, &pchar_err_message); + if (!ret_code_2) + return true; + else + return false; + } + } + else + { + noSQL = true; + return true; + } + } + + return true; +} + +int nameGetter::sqlite3_callback_query_name(void * data, int argc, char ** argv, char ** azColName) +{ + if (argc == 3) { + std::string * pstr_ret = (std::string *) data; + *pstr_ret = std::string(argv[2]); + } + return SQLITE_OK; +} + +string nameGetter::getDefaultName(const long long fromQQ, const long long fromGroup) +{ + string name; + if (fromGroup) + { + if (fromGroup < 1000000000) + { + //group + name = getGroupMemberInfo(fromGroup, fromQQ).GroupNick; + if (name.empty()) + name = getStrangerInfo(fromQQ).nick; + strip(name); + } + else + { + //discuss + name = getStrangerInfo(fromQQ).nick; + strip(name); + } + } + else + { + //person + name = getStrangerInfo(fromQQ).nick; + strip(name); + } + + return name; +} + +string nameGetter::strip(string & origin) +{ + bool flag = true; + while (flag) + { + flag = false; + if (origin[0] == '!' || origin[0] == '.') + { + origin.erase(origin.begin()); + flag = true; + } + else if (origin.substr(0, 2) == "£¡" || origin.substr(0, 2) == "¡£") + { + origin.erase(origin.begin()); + origin.erase(origin.begin()); + flag = true; + } + } + return origin; +} \ No newline at end of file diff --git a/Dice/nameGetter.h b/Dice/nameGetter.h new file mode 100644 index 00000000..fa75c022 --- /dev/null +++ b/Dice/nameGetter.h @@ -0,0 +1,19 @@ +#pragma once +#include +#include + +class nameGetter +{ +public: + nameGetter() noexcept; + ~nameGetter(); + static nameGetter * instance; + std::string strip(std::string& origin); + std::string getNickName(const long long fromQQ, const long long fromGroup = 0); + bool setNickName(std::string& nickname, const long long fromQQ, const long long fromGroup = 0); +private: + std::map, std::string> * nameCache; + bool noSQL = false; + static int sqlite3_callback_query_name(void * data, int argc, char ** argv, char ** azColName); + std::string getDefaultName(const long long fromQQ, const long long fromGroup = 0); +}; diff --git a/Dice/sqlite3/sqlite3.h b/Dice/sqlite3/sqlite3.h new file mode 100644 index 00000000..0ba2852d --- /dev/null +++ b/Dice/sqlite3/sqlite3.h @@ -0,0 +1,11177 @@ +/* +** 2001-09-15 +** +** The author disclaims copyright to this source code. In place of +** a legal notice, here is a blessing: +** +** May you do good and not evil. +** May you find forgiveness for yourself and forgive others. +** May you share freely, never taking more than you give. +** +************************************************************************* +** This header file defines the interface that the SQLite library +** presents to client programs. If a C-function, structure, datatype, +** or constant definition does not appear in this file, then it is +** not a published API of SQLite, is subject to change without +** notice, and should not be referenced by programs that use SQLite. +** +** Some of the definitions that are in this file are marked as +** "experimental". Experimental interfaces are normally new +** features recently added to SQLite. We do not anticipate changes +** to experimental interfaces but reserve the right to make minor changes +** if experience from use "in the wild" suggest such changes are prudent. +** +** The official C-language API documentation for SQLite is derived +** from comments in this file. This file is the authoritative source +** on how SQLite interfaces are supposed to operate. +** +** The name of this file under configuration management is "sqlite.h.in". +** The makefile makes some minor changes to this file (such as inserting +** the version number) and changes its name to "sqlite3.h" as +** part of the build process. +*/ +#ifndef SQLITE3_H +#define SQLITE3_H +#include /* Needed for the definition of va_list */ + +/* +** Make sure we can call this stuff from C++. +*/ +#ifdef __cplusplus +extern "C" { +#endif + + +/* +** Provide the ability to override linkage features of the interface. +*/ +#ifndef SQLITE_EXTERN +# define SQLITE_EXTERN extern +#endif +#ifndef SQLITE_API +# define SQLITE_API +#endif +#ifndef SQLITE_CDECL +# define SQLITE_CDECL +#endif +#ifndef SQLITE_APICALL +# define SQLITE_APICALL +#endif +#ifndef SQLITE_STDCALL +# define SQLITE_STDCALL SQLITE_APICALL +#endif +#ifndef SQLITE_CALLBACK +# define SQLITE_CALLBACK +#endif +#ifndef SQLITE_SYSAPI +# define SQLITE_SYSAPI +#endif + +/* +** These no-op macros are used in front of interfaces to mark those +** interfaces as either deprecated or experimental. New applications +** should not use deprecated interfaces - they are supported for backwards +** compatibility only. Application writers should be aware that +** experimental interfaces are subject to change in point releases. +** +** These macros used to resolve to various kinds of compiler magic that +** would generate warning messages when they were used. But that +** compiler magic ended up generating such a flurry of bug reports +** that we have taken it all out and gone back to using simple +** noop macros. +*/ +#define SQLITE_DEPRECATED +#define SQLITE_EXPERIMENTAL + +/* +** Ensure these symbols were not defined by some previous header file. +*/ +#ifdef SQLITE_VERSION +# undef SQLITE_VERSION +#endif +#ifdef SQLITE_VERSION_NUMBER +# undef SQLITE_VERSION_NUMBER +#endif + +/* +** CAPI3REF: Compile-Time Library Version Numbers +** +** ^(The [SQLITE_VERSION] C preprocessor macro in the sqlite3.h header +** evaluates to a string literal that is the SQLite version in the +** format "X.Y.Z" where X is the major version number (always 3 for +** SQLite3) and Y is the minor version number and Z is the release number.)^ +** ^(The [SQLITE_VERSION_NUMBER] C preprocessor macro resolves to an integer +** with the value (X*1000000 + Y*1000 + Z) where X, Y, and Z are the same +** numbers used in [SQLITE_VERSION].)^ +** The SQLITE_VERSION_NUMBER for any given release of SQLite will also +** be larger than the release from which it is derived. Either Y will +** be held constant and Z will be incremented or else Y will be incremented +** and Z will be reset to zero. +** +** Since [version 3.6.18] ([dateof:3.6.18]), +** SQLite source code has been stored in the +** Fossil configuration management +** system. ^The SQLITE_SOURCE_ID macro evaluates to +** a string which identifies a particular check-in of SQLite +** within its configuration management system. ^The SQLITE_SOURCE_ID +** string contains the date and time of the check-in (UTC) and a SHA1 +** or SHA3-256 hash of the entire source tree. If the source code has +** been edited in any way since it was last checked in, then the last +** four hexadecimal digits of the hash may be modified. +** +** See also: [sqlite3_libversion()], +** [sqlite3_libversion_number()], [sqlite3_sourceid()], +** [sqlite_version()] and [sqlite_source_id()]. +*/ +#define SQLITE_VERSION "3.23.1" +#define SQLITE_VERSION_NUMBER 3023001 +#define SQLITE_SOURCE_ID "2018-04-10 17:39:29 4bb2294022060e61de7da5c227a69ccd846ba330e31626ebcd59a94efd148b3b" + +/* +** CAPI3REF: Run-Time Library Version Numbers +** KEYWORDS: sqlite3_version sqlite3_sourceid +** +** These interfaces provide the same information as the [SQLITE_VERSION], +** [SQLITE_VERSION_NUMBER], and [SQLITE_SOURCE_ID] C preprocessor macros +** but are associated with the library instead of the header file. ^(Cautious +** programmers might include assert() statements in their application to +** verify that values returned by these interfaces match the macros in +** the header, and thus ensure that the application is +** compiled with matching library and header files. +** +**