From 6f5191e623c837ea2f46d708c5f5f6d0149f7398 Mon Sep 17 00:00:00 2001 From: "Christopher J. Brody" Date: Thu, 22 Mar 2018 13:05:33 -0400 Subject: [PATCH] SQLite 3.22.0 with EXTRA DURABLE build for Android (cordova-sqlite-storage-dependencies 1.2.0) using -DSQLITE_DEFAULT_SYNCHRONOUS=3 compile-time setting additional doc fix to cover use of sqlite3.[hc] for macOS ref: litehelpers/Cordova-sqlite-storage#736 --- README.md | 7 +- libs/sqlite-native-driver.jar | Bin 2494847 -> 2585027 bytes package.json | 2 +- sqlite3.c | 27672 +++++++++++++++++++++----------- sqlite3.h | 950 +- 5 files changed, 18588 insertions(+), 10043 deletions(-) diff --git a/README.md b/README.md index 68a3d84..3aa27a6 100644 --- a/README.md +++ b/README.md @@ -7,12 +7,13 @@ Contains source and object code built from: - SQLite3 from [sqlite.org](http://sqlite.org/) (public domain) - [liteglue / Android-sqlite-native-driver](https://github.com/liteglue/Android-sqlite-native-driver) (Unlicense, public domain) -- [liteglue / Android-sqlite-connector](https://github.com/liteglue/Android-sqlite-connector) (Unlicense, public domain) +- [brodybits / Android-sqlite-ext-native-driver (sqlite-storage-native-driver branch)](https://github.com/brodybits/Android-sqlite-ext-native-driver/tree/sqlite-storage-native-driver) (Unlicense, public domain) This project provides the following dependencies needed to build [litehelpers / Cordova-sqlite-storage](https://github.com/litehelpers/Cordova-sqlite-storage): -- `sqlite3.h`, `sqlite3.c` - SQLite `3.15.2` amalgamation needed to build iOS and Windows versions -- `libs` - [liteglue / Android-sqlite-connector](https://github.com/liteglue/Android-sqlite-connector) and [liteglue / Android-sqlite-native-driver](https://github.com/liteglue/Android-sqlite-native-driver) JAR libraries built with SQLite `3.15.2` amalgamation, with the following flags: +- `sqlite3.h`, `sqlite3.c` - SQLite `3.22.0` amalgamation needed to build iOS/macOS and Windows versions +- `libs` - [liteglue / Android-sqlite-connector](https://github.com/liteglue/Android-sqlite-connector) and [brodybits / Android-sqlite-ext-native-driver (sqlite-storage-native-driver branch)](https://github.com/brodybits/Android-sqlite-ext-native-driver/tree/sqlite-storage-native-driver) JAR libraries built with SQLite `3.22.0` amalgamation, with the following flags: - `-DSQLITE_THREADSAFE=1` + - `-DSQLITE_DEFAULT_SYNCHRONOUS=3` - `-DSQLITE_DEFAULT_MEMSTATUS=0` - `-DSQLITE_OMIT_DECLTYPE` - `-DSQLITE_OMIT_DEPRECATED` diff --git a/libs/sqlite-native-driver.jar b/libs/sqlite-native-driver.jar index 53f2fcbdb05a3f118198d012e88730680a7339a2..b1850ad01b7fa6fe0b3c6bbf3747a8cc7264719f 100644 GIT binary patch literal 2585027 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 z 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%0D+~&IHJuqW_`&j&|TIAQM9N`mH4hQCqKUIB} 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 MOYWRW8`HzXzmE) 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
  • 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

    7uXbZSK^?R!t@9kG>N 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

  • AP3U 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

    &o%Gl{|@;umi4sOeL5?D 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%0Ax-Ni`BvFJWFR^ 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з9K=WwC`!4 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ℑ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

    4Rc6gBrye*2a%#gNQmR1^ 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ξ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

    +?Z4Ddytblb zUzY-YUzrQ)M?TBS`i=OujD_g!tL0@}qa+#dXQ(>$cW^UfF-1iWpV>bt zW#$P-n-#-@Ss~A2oQiu9B1=;ym3M{A<)uDlCf9g8a&P9^$QDe=Xfjw3a2-gv^S!~z zk>Z|Li4&2!LfQDFqTd;^CSWeo3cvM!SJoZE_;AZkwTFU)G!uHylI!-K>&Bb@;5U1{ zRHCm_tz6%_PMy;`YQaGCf!s)v=@IQl?R1?4Pqye8ds)EegTF((^6zDawIR=@P`Y<& z2*JrW@|jW3%Fjl!to?%_KkjBx3w|5tf0~cCN$Br61WG?>`}e}|c^VPV9-s5+Je4;7 zc2~`S>Op3M@2hR=p2VjMrX=#Qa{JPLY-H!RxGZXuDMZfVj&tF`p6?0l#3uVsK340U z`7fHPtv`#TW&X+z9r?!u$s9jbsz+`mJ8>@Xnf3AYf8xwFoO2_T^XUpMu)%abs)#k8 zk9O(*l7Hr&&#+1{xnl2a@=CJ(H%A4B28khO_9mWOg3nL@#@dnC7=>f2751%?Z|=Pq z-I7y(_JVUGHQ4b5+(Z>HBY|&8(b1&sI_Lf3#l<=J@c!G z)Eh@NGO*S5z;-k5#(D(@(`t{HpQ)IzK+ctBPCG8IHzJ}`Ww-=GNBQY;J;csCJw$Ab zYap80o3y=e@Duv&txwhf^BD|SEIvH368C9t*iE2ibs=BUKdKp#vCH*#EaJSa8acmAe2`8d^+y7x|(Ftdn6d2#m_D?c5#tL#PEuRdxcz3~^b;!)g#EayJq zcSAmAI?m~BUal0`q+x!B{C2GU8DLvI-1ro!Xr;AT9<%r0#BgYzUQPh$kMQHDXf5%d zJszdfK=JG08}h(rL^0#ah2G|_W*$u*%@@C*Wyp`PfKOhw{W^3SCa_g9B{c>v@)gDi ziP>91rlU`%c!~8_yn++K8w8T2E)VCueYD{-JUfhlFRBQJZP8TRA)7bTy_HV>O0kUe zX*0>3#PSTkb#A7vwp+A&Y8I7>w(+o@q`N)jcMF~jRo+;9NEM9nZRD|Q?cGE}7HHg| z$8u?z8N=7IH@KmfC1DcVA$k|ec|$qofF^q5_i>0cPdXOI z`~~-wIB;5|r)r4AI*^E=(QHprnDXo__D6{{y55NM3)%>fEZF*xGaU7`aLjLDh5A@+Sd5yNPd=_2% zFox`GN@S6=8uV%irsPZGOvoYMhmh^_3jp~U6~ad>;a|{P4EGG^tmw#h*Q9Poqs09V zw_+Z5Y^zPokNw=C%icI@lv&6if4kt+M6gr*Pk+;HmF|dh5E0$pdqq{ICi1PldP7V+ z;neZdZ)O3eup5fNG; zez2HwB5fq*Yh>wtZZTX>GZ^%pm^tQQM{^1CPmXI01LAd6`K-L??B&`qZh)Fp_jwmK zhq!sC>dK!&p>>%2SvsG`2OqeD-JNZXIfOrX;*&vDm~*gaU`HImGfX(dF|`^cwlu}% zl?OF$(-O>WT{H55W-mzxoLA&IcykfJ1m=qSw62CvD^I%{WR??})eIha_5AWgRFAFZ5^FIvt}7SXLe%r!eX0A?(oAP8SUO~Es?agt7k<-$Ldbzri&!6 zaoUxI-n|nbw);e{g?+*8s{9~1t#}*zjcTGWk%7)-?8S^4R#w(yB z@aal!N!jMe$&dl>Ts5k>?Pl)bu0wov4wtF!Z~zlx_w&-((tG}B{>O|bKlJ}tb7C?5 z4gv-&mlzR`f9~c)G++)pQR@4tR=Quu8lwJiV6^u-1Jk0PZlq~f+g7_OyK_`@wD&tu zsu7LZ1L9UQQ%Nn3qFydh&hz3vTToYK#ld0p2WEsV`PxtH1grSFeW1-9PgQSdXuj;( zUa{RUw$OE{0`9Go6kCW%w5{ted)y*N;Jth4HCxqB+1+BCI_~>51CB@4M=_edXWEvk zl79Q{RN;OtgQ#8luk1Yi~ZP6=5l`o6&Vycn!L9Cukd0@=Z96DRY!eV5D`{ zwuvO4>SqEkDP*Y|@CyJis}0~EjeT}Hxf!KnIFDy_v9h`jActMIP`I`rbViH<6YBEp&! z1ZF&!`))izyaaKB-eA!4{hgxJ2F>Y?AumCs0~Z+chbJba`rc8k%oDGF(89S#Zh@YM zh*yloaohexz3NNT>X^?yS}hgtoD(B(W&gO|Fp9lE?&#y&!QY2+W4f(w`5Jiesfu@%l^&$vss8MA# zT{#m%5Q4AoX}X&wpA8$mi7?Gao+o2XDd7F!v<&*5dvY_ewq!P{ZA@rtue?)%huDgRz5nO>2Gkbie`*@thVAT%*_0p6wGs_lAhA$RAt2DjPJ1 z@&zAfS9vlcO3BAjf4ZWf*H)+WcOUY|AvMOgS=x?S9}-r5(&DIIhFN_{Z+ zdqr$%d}@@nADud|h`^2wmVoNPTJhMi44RqRVaEWWL?3+|PL%hCh29SNH7#$&hd`dzJ`%e+?SM z;dxfXkLvHZ_Su=wyWuXKy8kpY*(Km!vb8vv*qll=mM`dv#KQHTffD^OLf&S`knDbk z3@O2lumcKGNQ@!wu%Ra<15vvPG4T0V#tJ;WL*ngQc}I|+@KPoG zARpQ$cpV}-O;}rYNHS&$qiBHpE}jeJ?X!vbsnK20_OBw4}s2p2j|Z;1mVYc zr%xOq+oF?R63?R}gPz3fjdk`tFXAQ^iRG&5={ic6*#bLjSM99YyhN8{J2zfNecBk{ zUOpy$l3b>S5nQ#IUBQP+K~I_#$ZQIc-|km$YLb26`@gE^oIZzGaUBky9Dvn^r>_U44*Ya!m15 zlE^oL&LUPE&JKzdb^edut=5Fv1fJ%p=hqyiMP3pC^FDmFG3K>1MuBiH#_b~)-Z#`r zxTKLddK!M{>WI}=Pp#e`$MpG@o!*1B{KI;V(e{W5485XgCJxtWQOpW`7Teq%KfYUB zy{Yy=8%}skjJo}F>?Ix`Cp)FwhZMp8edK-;4UnDnXNq zy=X6#mI#h04eTgKK?cx#PBeY^&Q$g5Q2%2K!RFJ{iX3p#XF9Umd2xo^uH@LKN){rQ z*kB%c{j6FcXX841w2S=7Z*iDpw+rZi4yHX%^N`v!k3w|ob8#Trc|k1AaGYT&{$TJi z;g9}eRM5#M-lTcQql7X5V&`jS#Vdi?h`SfyrfTO!2F4I{5Nl zNL2C6<<&{9;ZRk@M6spx+}kw5052t55q>z_xtr_CLeT(SMgN#R^R!}St>Z;4UHU5m zWthCF*5xH1I;nzri}-~VI{xamlrGkNmIwG7PO!uEIaZvidqHq=?#QGtllmftmVY^0qdPDfW)>r zw4ug_@^#($P1?OZRSC5=oi+VVo(1y&x5|;kN&;avrSq^&C=DvM`!b$}hNj`g67c_+ z0ZGeQJ?Np41D;_6%wE34!l+Q%u-ITACotvo zI0O}q4l9yjlD`c5n-s3mFgo}Drd=|pO(O0$C~9?iB}yYa8@}Ve*f7+5Vh)&C4C!-*X8s?V-!l{t?lv{d7+TK1N<iT4VQqX;5_16-U79C$9Y>__?i)}ma~R^s~hpToY>L;%y!VVOAw!80d4 zv5m$7G=h#rCbOK7Q{J?~ZLr|^CLOh=*+!cB#`11x6VqXmZO_fC_MQrV#lK^ZRU(S@ z+d)Ge3<7=7FPG>Lav9ctfPb8V#M_u9DJbl=nt9_sfAa&nJ#Q^()C?-s97@ zBD#eYHo}d+8|!+}E>=}Pf9M=Yo3<=CXfNAWb52uYs`m&Ff0pT0OXvEAG`OL2^Z<@+ zWHUv~6IuB-M=D3uYek9NZxftM%siW&&JUMkJTRDhG*sN?Ym*o{-|mbVZ<~^flW#=k z1y&6WuYLSVm`iDIP1RGyK3KKvP(zQ(VPZDgY!iWbX{`SFX26C?BHh(*xSui0uMna4 z{1u>lmia@^r#T{oa1OHn3lH&!9X66@D0*Ys-SY?`aGOc`uEroDDvG8&`&U`=h;(S-J1Z z7lTaocAX3|thrS}3XF!dp5lY~fIz)u4|s_d#)dT_*ZX-4#VD4>)_8kqBYsVCd(gGEIXU|)tpINxEm1mX zZV?}ln_zZuCw^Fu^^gMlVj1p!Ay7AN2UcULtQnQZj@K)q_)z+ z;XNgGLD-aViprJ-0yv(Fc#gWKy8ryd;!J~gIG>ZrCmP0CVmn8Z`W_d&Vu0Bx6bIhh z^{KT2Z6^R+$choz&Co$lDL_SMt-Hy#k6Xvwg8>r^y3}%(cZa9lc^;==Cei6NMlKIo zIcZKKu;aH=w>W_dp*9|<>}OZexy64}s1VaNyNfEYT8yN&hHF5_9Oy+mktVQU}h+BvXvoKK|m8yZk^RX(-J2X{Ze0QE`H+HX2| zIJ<^)hD|DPNmQ9}=q`)2_AQ&gTSJmu)QR}>@T2io)yb4_D$P0A=@UpFfy^e$0PzKx z-3Q7Q@bB2^h5m>@uzYS2&Bc#p>B=i!VII-iLQtVS-r>i|P3gfa7crvNg1XNGQNPvd zTPll_;-`)KE~=qC${+ZcQxm z2ShTOkMvl*!?_i!AXc)0Vv!E}rQWTXWCI*{PV|r;VBfyS6Q0-s^j`{)@;8ffqB z(O=M~=CTr<$_t*}DV534W_(wdcDe&=33{2=LJc}x7U?h%+3zzbIT|K!kJDd75*XM{ z-{DQc9HSLs)_wSjCH=$jWUDvnoBq+Sq&9s$)~tTe>R!yg{fj3W_M}fb<#UO791SJg z>7VW`L&!ZR-onsI)1d3h8Yvq( zgb-u?U*}48z_|~6TrX+}to8APw-OLhVp6I7J=WW-)r&7WDhIhfc(lpFnQ81}j#pt$ z4JDjx(YhkUh@9x|)pb=6@l1Y_@eUqFr1~_*LI;K+UMpN;DFHxbP!xQ00^B=c+Ro+@k<5bY5x(IHTlQ*gXcGTG9 zx7lbF@~(|*ltg>#9yQr%rxuUsh)W=8r7`Ep$%3?%Gvn0W;%l&G`;)vxWx=+2tcvC5 z9`vGA2D4{p;1PWCZMgPyl9t;()p>saZMuvgx75;B9vaLva4jU`RB*hkd2)sBn6o%w zJ#_SBHcuC&afJ!CWxYQ4AQpp;n7d)1)0D_E7%lv(MV!ipSuT+KIb2V_Wo#t9i7WR< zjeYPvEHt;R$-bpzU!()OKQK_TgOX+D+M^l0BPExjuy!~V(~?8{;u8s4JpNW$1URbJ zo~1dU$1sHV+A@780^6a9G(>~FrueFA0A`>KtJ2#zXH%B`5E^5u3VzrDH~PxbEqqjv z3>1446JX?aKN&ILG8o@-{gI>e|P zpT@L9=IW6bxem5JkjI}PTED9c_jN;`;CrnQfo+-fVkp}PwfLB!8Na=UJ+aHAt#lh+ zmJ)ePixyAW;fHH6B*za`&^M{{x#4D!wBu?&1bhkSyvN~tm#CW!v=vozpn-;-S3#Ki z6DjL}Bf8?sAR;o||3G5n_!jvK;&6ZxqtENcL2PJ-9pz+1Ij4%)O<-!r9@r5(52Y{T z)yfx@n9QClea7&u>u4$;0gKUzd54zqQpePu=Mx<$51{1f{@Y!02%r`jCH%kCoPQEM zR9aSA*tBV)2DDUry?>985@Qfjv*-1f;_Ef3{R5nT&KfW_2p6^ZezAk>UG6ECqy-W% zabELZ6TZU||8qyg1Gc`azjHzek8zxTgbaeRd4_}C{|&mQd4(yiKerWj2NWY)iI87U zVn`Dc7@J(N%R_5k7OVj_Ea}1wxYCwnk|iWC5$!KT1OnN2Juq62TFJ>U{$Cdd_|}l= zVV)ybIcrYZ`ETZ@WP(5nNt8&*6Wz6Ml}2=fy3-hVd=2gY!0z(@M6(FQINp^}{(0YC z?=S6s6q6;Q8@A%GtCMzr<}>@in=K6r(5{0LQy}<9e*rzz2}B@-w15x zM4taZeu_j}!33uYIrZ`aU*DI z0^q{$Eas<}1|}k|GXr_W>48~bTf2y4es02OcJT-%mSV#jB=@Zsn8}xX^;1i?4!;q= z*S`fa3$=YOvS!4a^&b5VkCVK|YV&zUBjl(+&ZFrc;Y`8|iuXLiUKb3Zd2(6F4uo1Y zbt9<#LH#WaM*WTFK(q5X7Kyk2B$zKCjOPymnsuA^7cRz-{)+lB)1GNpu&o|QrCVF+ zDNcHWjbb-_$&_Y3ry;u>_^ieSFNq-=Xp7i_2b>EQCPXmebn<^jeaD261H`~l=7$~v zEvyllpvehP#NU%j&I_8upeD&`F-1O^I(Y8kLFwdy|J5p~&U|;H zVPD#c#%|z~SH|Q*1$+OZ(8B`gByp;N!EOTh(lDKsv?JAY6W)h0*mX0fLvl}xCg;m| zO|}2888`?;mBLidBE`1j^~71v4Qeh9CWXUC#|?J%3>HjnFgtnBL0IrdYBYZ%_zCml-c}wCxOH4;vHn0bhD& z*>P-4?+-1W9qJDKz0Yhq4tE|-dfgTQwL9EN+G&0Bidw-mP<5xV#6le$?&PZ030V_x zhB3*+^|Rr?as9_VJ5f7T6F+FJJu*+67WJu~KYP8mc~YQft|U0q2`d)`xJCObUs2mr zVs~(N_{aYo$td`(s>iw0XXha~=z0rMU74eWU^ z;FS}O)p)kqToHr%EO0k```nxjxQLuw&rxk9*~94e2j7mS#pZ;BU)r3x!AeADi!LhD z6aRx|+Yq~{0Tv|{!?%;sqaYJgkXgHy8ZG>+>NT1hwf9!h$cTk&G%-Z3YVZ0M2?q9* zmWg*~@d#@(D!7@G!{>(N;5*WXEL@eBg^DfN9!Ke3k#&p&RX6!h>`s;wjzHOy^QkEV zj1m#Xx58boh9hGTuWnuA({+k$BZ}T-Ej;S<&)`#uwkP@6ZS8xF9G;RJbBeX+Zdt91 zg`aOk+7~nSV_O_z@d5Cc7PrEm8Kb3vIDzMRUR*7#-?2M^F^{SuiMNt_-A?aLZf^MH zy4`AXSq#Fi>GsCzIxU_fZ+CzEbJ%zqF4S^GMHbkqzJ|f-OYClu zlZ}`4R*zM%S%jyAWWTgU4M)b_Q~lHD4)>FCN?l``!LhVhUa=}y?G}H7TlX)|4fvDm z;{}#mMr_5=61}M!+wy$4&ez4sZ|g1SU-44K~%N%PSM$B(*5X zT7F&y+SNQ0f8~@M<%zSfzY0r^yd?Tc18;vIy<2TB4cB|NiN6@*6=}rlzjcyI^D_E# zVVt3|qLE@!!h-0rn7Wp{y`S3qAXa={u`YapV)=}AhCrZ3|f4-A> zLMx1}#J;_ukuG#ZzR)u3&7gQA?9U$QJm)@K*M#Q}OQNO3!}GMmn>85BRjPldFaHCJ z5I!vW!#-3f)f2U!|5?^Vy&=~MKyissws))u%p2qHvYa``i*^o>hs@uu~k&j z+)c*8t@u6jml!v@xPFm)SomZT5{D$yBuv5lLfdydig0B? z=0YZ_cWmzBzzPI1kS~MyG4~DM3QgPN-66fP>E$-1-G-6woipgrg<7L9(l?Gx~iKr+`(+6#?3m$DTkmpdkId@ zL#{aeuV*$~t*G%^(52B9U24L*qN}E(&Nz%&neN&hf3N3NiRy5?OFDK=5(g?kgq7Xp zKZ8%H3kZk=F&OnW-Jj1SLB=zcJiA!ELHfYy;9p%tyuU=s!>HZF{Qq|H@Va!G1TR+O zq&=`x?ZzBou_RJ=7;TP+By`6~hZ0g(#T%{z^Oxe`y~UCXm#=0s_}ra&8!RN)3@|=< zGV?lwVsihjTq-@0tVb3!B?0X?IZO@MzR!8n+R5BZmft*3X*s>E32QxN!9i~|ncF1c z+iNQXj#}cpG!!Kc=7LmxK5(Qi{eWwVw``AzGfbLWHK!&dD^N4l`jy0(A1yK&0WY8 zzc1aeNDrVWR}DOrtMY%YQgJe%QATB@(}9cn~gme>Z)tk^kIt$25Bien@d+`s3eH?UgKJ1sTqF2$A5mz0rTye z*2>{S{Q^(K&6T5N(L~NCsRJ#U>pK;@Gf%z-Uz`&-$|@LYD>ufgKtB#=wjs)O5w{XF zQeLz7t4Lm%;&z@NWWq;dTV7lZ*VHA}2ylxJ0Vm<>ml$euLE0^@xY!LZS5WFVg!|sA z(u@aOsCaRK#5H$dxFj12K{T#vU|<> z&BEMowZt?=`u9s1K1COnmimdbaOSG31gy1k&42P4X^?NN`Le&I7!HEJvbWUqJoi{7IK% z9yf3!{Oa#Z=46v;F6qB-;zrzUQKV#9buOhzN^etFMIHCnBXpks-Sx^S z{Kz@|y2Uc(iw~Io>D0%8uR|yHvXot~+l*SMzYqA*MvU$Ckc3daw*a>S`Jv+(O(0XK3-QA>6gz3P3B+8DPs39u<>WgF-G6BQxT>`QY3Bd zB~zYFq>H4StP|qPpEP+pRzz3gGnSZrV>mjY!sRq&+r>Tz+VbW^I`j<8I>OU{{cnK! z`}+KDq9CM>+w|z#TFV>1d=3|7>j>d;;Zu-0s_asPW`Su_+Xr~Qt;?Cg#?SEoUNcN0 zljCV=T*d!XUN;%FsN*zMI%&*q9bf;2&!yB8{bA#^7NJn=E77Nl%Q~XU2sh&K&7QlT zU)}lkgMbZ|i~M@?aUcY|9wR=WAjk#7_Y_hmR5`Kba*X26+pkste8 z9j|VCiYDW+0@*U*K9h5;DQE8ut*s~Mdg0&Ty2@nm3F(jS-vB=?Yi|)E+t$s}a6vT6 zS9*j~9kO-PvOwt2TRH_ad~ltE&4bK`u-O>Rf`_&M=Mgv+XVkq;Na<#w%f)s2`L*lp zF6`E!(6#FdBljnKVLM+}f4XpH?)|fNT@MDLr9@KtqwiAtJ&rG|PL$eKI|==D5f00YB!C{E78z zv$4S}@f1Cmp@n?E!iVZxI)5c@^xg7Z_!Inv71)^TBG_cA-6Z9)vB0!YXqVzETJUeHKKsSMSGoxvzVV!sN>&?41FgINmdzsrM}ht_tehyFoE6Ts?w;U zGfJONCyP%cYUT_5^;~g5RzXjn-U#nB;d=+hi?+)dB||-0Oa1JSebQD&#`p`V2H>;LWqk!?fa6#G-8Hnot3n`~?f2Vs7u@|MEt zQeu6<;8$m9)>q&x1A5k0emRjAn$1<`uTNy7UjHHzOGLfjFlOER_%7vqfI6Q27g5Y-s29k;e3O+7@gpwmfIo0*qJKya8X-tW<%78#)sPv zV3Od{tMFp*gs6r?7>xDMN9f4JpiG(h{OM#{7mX%}$94Jy#FWlPl%f>0)g=8XtaRaC z#~bU8oL7GnP|)m0H;sz4$PaTlX3A3yT{n>MJa1o+>$5AA8EkUr8~B;nDh&e*+3F0A zDzg)zrx6p8G*3Cb|GA`G;SOZIF$bQ{=OUQ7_amw9qS60YEGWvG)DHD9u*`p0$4mLo zCl7=GyLH62p~MLPJoJb3IsL%X{F#w23nyI!W~0(Bq2u;17zO6jBBD5lhhCCW$IThzWf<*?I_KHVvsE3 z>kD*7l;yHhISw|z&~y^`=F^*aYPL_QEDy1hrYnsXs{ z<*j#Yw(0WRr5SW-52oIcRHY|(U$FWcivm8ERv(ZDnR5U0{u#>Vc`4X=Np-Hu>z4U! zpcPy0T^m`qyjdgY5vFrCWOM@kiGL!oWXl1K0Q1FH6%Z%9pxOc=lpo7{M6r;b&pHnRU3aK>Y8Ifwjr&MnmvYTVZ-f2pSr! ztoz_Gwa^y3n7En(66e%13OBlC=6duFy}N-Ks|x>0@l9BU#EE!Z_Z|Jq=lCR=rWsv) z+GAcaE!Y+n zm@`JR^9YH;>Pz^qhit6=K=APh^exE@JcW=QL}uvWd6o+fWZ9AivXKNU0k$5*g;)XF z?Hd3=g!+5KhxQ07-QiPt5!HY4IWUeFEu^?jIM&mvPdvaEc`kLmmJc+^S|`k(zRhmr z7e`FrgjL%3jAYk&UNmHP;aJaFP-3eK=45?S+c9b$1D%r4gOH~Wc0wtk!ic&>QO0Qd zcPbc^g4Tp?Xr(?sqV6I)VDHKV^S8K?A?|)RV3`SNF6Q^R8Mqc+8aSXok;tDf~^93=Et0G&ilXYCem?oVc(AQl38w@I#9sgEu_Ne zv<4Dguyh5eR(8boVXyNQp zg)+c^`W52wYdiJ0I=R?xr_k0JTnps#Nh0X^KZHbD+9F_c&#Q>8?BjdZa=YGZmBx*Ox^59fu-?C zyGn5J$*tff%X;+Jtu8y)8|Hxr#z;?ackiOotny~+jLZ5S)I>USeE)k&zA2h+_3Z)B zmgv;%2_t{6%lBZ1njmSnVQDF_Q;CAK7nz78~ve+LbYTn|%qqd$XofJ^_>=D`u@r=0`zVoH5jG0WA_dp&D ze1o~tYwa(Mz87OYLg}{JXO42#*;1}DY_$2;Z!6sIvG>g=0Fv+WN}W~CW{6qAy5FIw>_3Zu&2cvQKLvyvsp3aQKe zUqF0-i8FavC;=392VqKwk&W0%Ac#vLcLv>N`K6N#>olCNALQGba1}{V{y^@`Zv2Vl z;W{hG_f-AgXcufZ`=j^4Rh{-&P`V1I5K#2_C}3lDyB$EyR<%R<=Hg)Mh+|*|yv+Kl z5(TpcpU*adbw#Jv1=kSmp^K5p@9LfSjb+wh9uJI1W5&6P4I2viT*fmZ$KDG&Lmr8A zdhO&FwcTh*<9koyQ$leSA2V$Ye!%c@(er-r&7XOVfghp$%W`Q?gsmTmv%F5Db;t;F zTq3nFx0#IH!goMDeu9VFKvD}mDAYm@Flw~M-qA)Twy1@C=q{)dRfyHZQe?T@7G${` z+X7{Lzy27d6D(PHtU1p?C``u(#t()UZj{|DKjiBVm;hM$b@|$WcnW`=+gMUjOZUN= zfvSW@j`rE0CVjU%#tUP+u6MqTyjS7t3#cPh$hh9n(>53@U|2KoQ^eCOFSpibcYH>x z#$=vQ>JQ|2?-o~ii6sY5H2B}i^kpan9$qBsX*>0D09fL;&8!pEx!$lBvR6WM13m2;&hz4M>T$z!pp|P-a`ag&|0*qQ{ zY6~vt$QWIcW;{edS-?bSJOKN_jDcC}zJZC~W_Q7XW*-7m=CSzo;1fW=lJo7eTpk8- zxF0O3kGla%UUH9cRm>=XnVG6(aez*V5{ro@=+qbSZ2qat3@ zoCu)VS{hWu<2y#>iJ(`mo&*kKiKEo=aACy69tRjW%VaEN24q_Kr9{o&V1~1M1JJ>0 zFx0;Hq3k1a+f=Ds4J%BlH}+Tk;SYNySsg$0+t^Ku)(f&ZO+c|g#%xE>Pes}PFIR0w zPfr8}-TIbNNO8F`8$}xple)HWT{i{wuQVX5XL$-TsUY_#w%$(Y_iMKbB~_|%H2{N z0E()S1eo}Bt_Q=-)WDCP>Joe{NJRQU;H}~o6T0@7N2QYU?`WllPN=HFc^8pP@w2wb z+ucY*NTPAXy1>Jo^80bd8rC_&shksm_fnc51o)RRF#nXvEWHK;i$61wvrRIU^6lv1 zObJdUwm%^$0e!ppT+y=ELsz3P5yS42g(A1R<7lIjb;oTZH1nNYD1#5nZpWbwuZ>LT z+%dAsGkCaW-l}j(J>y)p(xoR~iMWRsZz_z`cuJM_plt>$L8Z1#Ez}0XB0w)10qLb{ zv-GTod!Q7CG-BcqEWkPjKsck8P`E>opU{yA)D#2^BRy&%iwPnM{27fzMt^JlPf}Ge z#2-D(YXZ#-o~|xJe7G->rdS83Ri7!~Q$rT>Ze?mH{`d-jTI=mNsKAEX?XkXOl3WfC zxLO?9au5Ucuze4+&Q3&c2ZE{K1{y8&@w=sMv2`Pz>J zdA>M%3Jmio-f&c^KN53O$n3ZtD8fq)_)YqcZTxkg*xRZ8Q*ceI=7h&zXxgO-t;>oy zf1TM1Iv>A@PG%(7PAPD#FPQoVcU9W@gD_NARw(kCoxUtvolvo{tPnDuTp>F*A@J^t zDKatE`3|X2pwG}ZLG+_+or1@${s+VR0%c-j#DQ4#^?($kx)TYKA3f*sYO=b?KhcI~ z1uG4MPI%kL$3o-3oC!MpS?{KeL2sPli-uioxv?^O-c{MTv84NKFBIFw;wXp)^!k7jXDcuO<< z!z5U8vt|h}>!)!rakwZT-~nAk;n=|>Yea^Q`iO$$p~kpfBsO>*75aV;X^7C5P5nz& zAsbWz^g{%|BH;lh9ayv9oBceclIOm4H1wie0_WTDqFidD=iuqp8SBTFXTEhDOhbaYm)@H3dEQEYI6eEb}c-Z$G9!)thm0in(>S^9_&8i*MRFpPIF3x6 z>TLUbcy3=P6zI}N7+NqiIGy;Nb5pEB zEQA{u*&5Lr&14S|p`Y65;Jn;X5_%PLO)@K53OU#4{7R0ul`*@}$*F7tam+fnL6@w2?{m(TaA zIi@qF8>gRD9BV$&eA?z+ssq+B>-))ylg*HFOn5Bwgj-i`cjkAPBkCEwI`I4b3K5B} z^URPK4WXQov$sOPKuDkws-4B-!%*i=> z_Uzf^xA&RTB>U*C*h@L{AMRGu2#A+B*ou!6PcgXk0ed2JiWA=9M*ZijcxQF*jrsI~&Z?c6x_$@~@>pIzy-*O@o^ z84Eezf=bkJ(*Hf?(YK-C&k(6PbSClZecw>+XwQyDRS}?0J6a@0JDs{`Rzpue2VMm- zZZ;P^+vCy0pQIdo_V!ua#uI$BQcuU_k@@6f)lpgx9Q1oUA6Ag(6(S3xhO6NP86p}r z@WUmukcFngdCr36&nfd`veok-9N=HfIm7Gi|`3udy zCzF^o1o9IUzXesrjry$gI2{c+9kTall%CYnK6>xIP)K3T1Bp8BvTLIb^M5r3Q=p8B z8nKw$XkWAB6No_Lv<>LI7oA&MbFA;%n^XZeP* zwx`0B_g#KpKhQlK`q`Ix*1at=c@)Nw47_pMCAcc1>V|4cvPVv;sJ$a??W+59?7e*(?GWFhEm22?6mGK>Zm*v?SauygYD#3V zes1<<&oBJ{Y$Ao?&+ZU&te;*=h_Mel$&J7>2tppK}){^h>Z0L}A96h90t45}# zoT%XD$(@OOWw&DK2F1GQwWv_8v2hEmXVV=HsUHE=s}8^GS?lVtk0}SqTbl3a3->GU z-|HJ%cWK$*+vL|9EdN5Vt_iA+C}$s!sf|YDWtd2>cDJbX-P`f$sAilVEH^9{Dl5?I zTf$?ct!nNqSc3AUg;uTQnjok-xZzXkm0T6saMJNjsMoGHn=ipP8n6G2^|JoL?&O~{ z0jm%hWoHO`Pe`5T;@=Bf0v#P2h6iPWk%Wr@+;ybwyAF#2qxqxL*V;fGFHC`>qb?^- zW3Mq~Ybf@aTUgZamzFyBIcYjTj#*gO{H|Wxa(ewMO6h>affpZuPhFG`rhNGsFx7BB z4?MA76&2pgoSfLxxNfrF~TR8fzk?PH89ZN4lYt4UQSr2D=sRXJ7@ z3UmkM+B|S}@HyXdu1EnLZ^X*s2qSSTP@3kn#;E|&&Td%{2}XpzxZQienH|mVYh8F{ z^l$K{@9rAeCaR_7+0yb|m%7DcTW5#2AJ>HztQMx~2jzK?xt3M8ip-dttw%49?Vrvw zw4#a4xR#Z=S{JQ`TGgX7;&v_T)0Sy=Wc!j1qc?YWq#s$BA6et?Lhyomxwc#!{Qb1~Y1Be_?yzBRnqE?K%w+i5 z^<^diuZ~qAX@$tb6nEsOw(jbt>it~xPnEtyPC|8ue{zRwM~9d?W?%a~ zoMB(w(Mu;hN9?@bmOEe%una9Hx;+om>k#g-Q*IVE63<`Lm)Q{uhBEq{Z%hu*;8FE^EHObsxxl-DGb5UaCarJ%oL6^n8Ma#q0&v0^!nPy2 zBe|on!?AN==V-{0{LkH=Q(LWY{ok^Ea(tJo@~a}Nn5w0#{i}1TG^^RFj*VsxQGKO- z{Jkuyd#WFgT8`?C#*Ai+){I&Jmt-0RY3`H*vb)&lH<`US69y5mkrUbV{JO!#1wfhk|XkbuoXi=h>- zVcfQYXiG)2-;c%u?L;o6<%{Pb{`Of8+*CZl$!zk)ocRG(MlyfGGDK|5J)~aBpj}4a z_Kv~(JumN{Hu5H84oOFolD1zysZ4a@EXmXVbjSBElhnOWq?O#p-CLm=GENWw%%KXW zqx*X&9M=lYYPx<~J3fAF_(UDsidj{RSHgD_m5$lB#Ci5LvRrN4ro?96=Zgh5cQ`hp z69 z*%w57=`x!guNeB9klS>gUbHt|cEQt&F14Wi3?fak3&Vf%Y&*1DsPw0wTxSw~T~}Wf zk+GNZ=iubE!QLhEZG`-$z4Mc=##PU15HLmL%L-`P>#)I|ElhJoYxw!l(SlpGO7gb% zy%I;=x%)SxSjQW$H!-<66t7(fPJjGWbyMxWET}~JP*HGYdvIX)HGT(;>|nQn9=|TX zY5VOdy(606G$C+4t4wBhAPq0=it(6d3|DY(cO9#!xiJR`NC4!14#9J zN=PvIoKCs7r7tf2(#p3cTxuijlil^gCJF8(-bT|q5e1{K1O~mUPy2{ysZMT|Z0q@; zn^aR)=vH@}TT&*cER@{62rwwxqZ|Y6m>wpoYUiHdO~gVD);W3Hy-J@@`yybGF|R?=E>^t7uQt9 zE3}Dv4;WSl>o=PB=C|WtdST$3J#R$PX!o0V1r575I~EB1ZmpbHC?b4}yH8tWK=5r+ z2JYk~g`H*${$hu6$n#NHJvJ|3ZjDLVAJH=fr{j7tuMYkoY5Y{ zQkb-MC+)$n+{fFe`mV~nL`okMYDHenFi^iznCq>>Yu5dBt<$5%7uwJ<#Z?z~ch{7I z*8Ig1AIHZmX(;~orIG8#>pqWtcK&a;Dpl=j;lEORD=}!wd!cJ5WBJb1K5jqOY%mhQ zGWMfFUhs7NiCM}O$RpP7>jz;sU)i7^U5S?bA+Q!}^|q^*ZRx3as3b@03UX&hsZe0; zh2_0<2FA;($Oa{muXig3Sw?y#_wE2^6v8?9;S97HnRK~VyU4PW?4xU!z$WQ>LT~&n zYcTtrvYyGXC9Alkp)9)uZRRiT?Y|thljF&a_`{=1DjiSa$=@Bn{&$zkkXN!0S`huw z-9A9^{{DEu(=MU$^hKk$ZK1>5J)^H;4B73_ecxbvqT;StZ8Oy6j*b>rnr(?-{G z3KaTAf5f{@20Uw7Zrk%tz4H(i6zi6-Q-@5r>^4$zWrXzj@yE0DH2KP3-l>cGJtZry zCp4$NOh~_P6SUF(dnQdssTS?;j2*}L`3P*eXLGalgkDe3Zg6mmj0k!RQ4yL~>&E?E za+@?BgDjaqubv%!?lvjKM@UE8^4ucc2v3I`chC9AE9Ljh-NZ`Q|NiIu#|qJXMvc+O zY%G{gHQsrsrB!kINFqDe5gUtR$C-~DId$a74D#{yBmc)A3)sGY*GD-_OT$y+qVhjN zt|O;To%;U}O8mbGL7!mQeP6{u??-n-{1k5mf&W2D!O)fF(~r39cc`9)C-Q0qZY9a^ z7ZxSGx$vBytJsy}ef)8O6YZByJ71HOR9(Dc6YIrc`SU7KL#_Wk%(O#FPF&O{LF)7y zUf3@grJu0H(IR&4|Kw=c-DcOWWs3+z|L!531Sc>KXC8fAD-CRp*llqoPkxLTY8Jor zz$Lc*O)f*c*5ZqY*`VN;`{i0z-d%azbW~Bw&;6%@C4VU;1dgv?I80StSQrG@3{1?T zZ>mW|xMr23Yy5Vc()O(nBe10NpFNMSmbx3wPx5|!boGvyMGeY!>u2KT{B6ZYe8v{L znkYdxw7Ow7A?Ltq$S`{WQR9t8{6;fO7w+Z^B4!TL!=9i2d~w%Er|i^DMak{l!veX+4^uJ zULil27X4dfm2Zj(D|!YkNA*$+etmzGoK$&XO+FKTgmQjX2xoeZ%zA@vJCNosxlI;D z-CA^ojEQdx8QU?yC+EGla?%mU7IWCAxlOPsTb#)yEh!C(Z=kfF>~_hUgLHXeloJQe9fjU4|_XXwh1Yj`zgiPoG@=*TK+XGPGTD> z(UKh&6)rG4$9YsZAE&HVTPS{uyCyPVI;4<+!=`28Hm&w zh~61%=C+Ksby;ufmI~Z~7x91>B@nO7+}6{&p5L~fJI2kJ@FM(q=~sB^*Ldl-c)b);qTgFjpsD z);VmHUW=~&V6FS?H^pjJNI;U;WIv6A;3mB{j~ii!HaKp?-TZmGhF%PLwKbj;Akd|B zc};(IZNzXp=3TQyiNVM@5!Kiwvk6n(rwv4R=l)~3(tLQsFHPdQ+-%mO9YcH87^iNA z9?*NhN8z}v6!*!&)NN1-ZFwkLBZ$vW?8xpRR!GyI-sPc0;jq$Eby}I=vpkq^NzKY# zQ}$iOmzaENScc;@IyXfYCy*1rp^dAZPsbYRqQeA;JqdZVw7H|RyXQicS>^+hbON*B z5|lpNGW6x4zF!6`Vp>*HwmH1^bL5$mjdP0mWmwfqZvTyhLDZdEpY+G@Wtw?jy(F`V8K zkRANr-qY^Ii)lJ88xFI!A?zMN_-o+zcxoVf0+c%Y*R*etBx$?7+j^S$+oeJ8*r5_@qBL$C zRJiQBVBY`AWdDh8>&a6|mU1T!4*tTFpjY zhrFPlnLRo%+B?c9yw>PLj5~~p`ozv;6AocERjfFq>Z4rJUE~&0Z zca3bPpWi)Zp$jWlNa+26xRf@2fx8bT7IA!=Ez+o??u)uKbX|SM-W9_n}4;t*OR3Af#@6`e95C5O{$lNutu|Atj3H~2oj!&rZLSNXAu{_He| zbuoR1dp4mrsPkyZ*Y(urVvsPSgA`kwjzb)t1RSRrx&vj+fHF6G1apSkh&x=>%?Rt- zv1u|-)J#X{Q?hWY&7`{6kK&FC_e zro;{plU?gXh?Q;zCFPwvuJ6FM$+GFTg;iVnuy=OwiTSd3(~0%A+QcMNaMl=Xp`S{n z;M70B)hn+_PQk42VEQE29wtmpcZ#E~O<=4Wa0>no@0-i;ulDZAM8`IyQMPZ>{1Y}p zd-r=;g(`LMUV^Mo;dUtYh3&{3XY>Wx{9Psm=@%j)W_!~(Q})ooloIJAv@s?bKcAE2 z>9ceLd((Wv5;Mo+Y^~19a}GRuyf^u)rT*1^34n!3oB&%aicHAcPRoErvQdOCSfA31 zhDfamNbg;}yk;=_yWz*?dq&cz;~^Ka@ogyL6kWg^Q>~OK!ehdiiqZ@sso;k!~x;&eDHXgi%*oXFpFMk$k_? z?M4s5ZBB}ceM+ngxcJ80 zJlNv1dE86yGqD^j!O8STPfka=6bPB>d&5XLlE6u8>Jy`$Y0QbAh|D7V-&Sqp`MjI0_SN&@KOdeJ+dp zkBc`fTe|dHhJQs)*Y=4``+8(Zi3cjIez)Tc)D9mN9E@;Uv48-t1~)k{dA)fSDW&$? z8Gd%6q>)9m)0-f!P!(#?Sn3oaGP?Oxg_L}e)!)xCJmyJZllWdNn zHrtKkER6UH;17Ka%-iK+?mC5&`Cew^yC?eY05l*szMW%vcV_QDPHt?sShHh!XP-kX zhl-dcQ-<#epCy*{R}#4b=D|IppZdO~G-nwzB^{AhRJtiT*|K=_)whp^Cr95=&-r*h z^4?JJZul=>H8ySy*>=a^F9p|W>*6usdK0~uK4GVV=BU#@hYU$xkdJ!k{nQ29Iy-f~ z=;Gy@HzP#GR`~W#ux#Yq`atA=a7w$2C+o^*CP!Yqpxk?fz3?&0@t(7Ms!}WzJ-?Ag z=Va|o8CB=lX5(Cc+sYELW9OO8-zViObtgHwo!suUZGUlhUbyUP(S- zNo@&gQZHuqB{unZADh%dwscFe6%sD;# z%$_C_8wR_Jwt?k7S2wg;d7)_B?qxNduiM_fndR}a?nB!H<;!(TVvFLcsNd}P0N=-= zQi5t{!(<~S?Va9TJ+UajK%F$sxOrwnx3W?kq9}9b2c6xS+Fzl7oydsMJRk8STv5J6e3+8SO)?lr&$n-l z(8qHx_dM^hs0ki2l8ZSbuvq+lt=yx>i%Bwl$|k6HRPL{;RF0C3D@!GcvJ)@Pb6%m> ze*TS3T!~GN@gv{PSf2^iO`SU(<>v@72s4qflXJBwUz2O$yRQ}GE9;p%+;S{j^0I^m zlCyH=yy%=9uJa`)_%@T1U%SdNd%u>JOh>U)cre?hv->0@GJf5E>tI6}-FIO6? zM4Lt+7N6&aN*l(cFoK^K8Hq!qct!Cl^&sP`&vnHmd=buksOb`6Omv>3;b|>o*;wQ3 ze;>|}G0%0XUo;q4nGl$HatUYjw8#8WW`x{1E{Q_;JO_1$Ad?!XQ>@U=C9==&g5DKkJL4(1U?F9d@=hk_FZ6LszI4 z+no)*uX|JNn(KQu%Z1n%h8-#--z$T6{EwEYrm>(o6~Kqk^2h?xE^{@}@H7L*!}qRp z6XtLc!BX6e?&Q7S@i$JvP&)lWU+pu3-3c+6!Co4-=%g|#o)Ij+1olg_4{HBW zPwj5q(={^}ddRQb&;IJ9g*06F*PITi)`jfGeVDKrhm9kc-DI`$q#9?Cng0A5B3xse zMqkc)^mpi#Dv4!UM}@?S@?9)cP8_^w{d8U?xu8saRGgI8Y&;G_9PLkvK;0@hnRR{M zqXNg>?|R_0T&TRKNj=OMW|Iy1gCRtJ+o*IQ7yJ&f>{my)XKa>{2j(8VWKjr;xG$#= z`YlLCAv$)RuL{nd{qp=CqF$SaaonaE-KvSPisirX%24`-Y-5+o4-oNHI3D41MO4}H?sNHdb6gM_j2lp#{H~D;T%3q~f z{-QSd1Zhq3UUM)PERd^(q}7~8q@(FGx;(*wHG8bzgZv^{;ekKqbnQ2VY8s<5g9|^W z2In}ml5VEMSYPkaPNn_a$ky*xAte&s1_Q?G+OKPntOFfhX_HQoW=8^o)>2~8>(DT(&>6}FG^@v{{Fkqsbu{>k*3PurEg>e zw|>2-?axd4ssHA03qG~h%(+ARJryC^-(^2NQzGl9NB+qAr87LZ^zH_&f?h6SHZ-SO zqdZ!Dd1mv!Pa?w+*qCFUS@42k)3$w5l|n2*%?EZ~yOQi!qL61*QTX3@f9!m-B=Jxk z-f`#5x`>za>n`$jDyzN$b)s||QQvy}hck1}nUV?3%xx3upMW=1rD;!v=3pO+5LW@K zYem;?WN%|3kLz5dN6?bb@x%H=27C0zCYmnNr1y+Y$5I%Ok$DFAD`B`0T<{AzZ~Asi z`zRdRskRHRGV~-}aCNfz(}Y|732Q~CXN8dC&$yHY)a}-_b{CJ4%UkbDG{@Qc!5NMFXm;~1)~1!-h|Su)C3!D znJ=v*#JO$t@{dFm_&yDcQVEn*n=Z&kO)2mr4 zYfa69Yc1mzp}UhFfgU3FD#J1KN*lP^nkb6UkRO)RMBe%M5FE>LLx(jtkwct0-?{U* ze(CwGvO2)~&K-{QPj~<1{kuf*defJLyE&;UtFvr_O76N=9wiO)2+@kZ+X&IX!pYF4 zQUBdZB~`%XaHVBj3KlZGn%=u?G@%N3{`_}nlea$Fh|-m2p^F~hR&19h=1$*$s|gDf zQRlWLr`oA|FV$++Zo`>js~a}@F%4N1`J{0^g1B&7m>9(gpK~tFAI?X)ig)C&z74+w zVJL+(u;Mur5BMMnVLU|6q)>JJ ztcDO{nUN${K5RilAq8kxMIRleKshKq9&v#T-8^>Cy9VT?8M>2_%XH5;1rvwaDnJn3ojmM5x!Hx;mYY ztU^Rn$bD4*!xun&)2lZQ)dQv0{Nbl4N_eo$e*2JX_IH7eJ_;yFayA4n&5`B}X9h|t zWd};S0F*>JXMOwd-YhGg#5uy}d1ayx=rA0a^G~GPKqN;_WpDT;3NxN81y;O|QC#q7 zNe=?m0ym=4@-*xi(KWHs50e!pK_qidf1{e>qL5&*+z*oh)(zcp<9rYwJcO8y;9?-z zM5o#t3V|cOO$rD$+Uvr7LZVG3`l;GDUtVk?P!j7b1xb)ZbyD4CyO93pLRC=KZvJ2; zHlLE81cD+P1VywI3f$3+v*3+>8g_yxkmRUFzW^i(Wv}!HOKl@6bUw;SJodsrvn6V( z(d8*;kpVPWI-iI+CW}H$s#irYQ$q08(o^4wDGg|FsvfF}GQ{LloN=}CMti!m4)|c; zNXq{li4W)qDke;zn$IR7N7#Xmpg18U#N5sQFdW3GCOf)=8Zw)UBwqj`Ndu7>*+3+B zus#jBhRKHYnNtX1(X#=(kW`=~X%5exFhPn59xNC=rJM#z@-zez-2{$Q$_e#9GzXyJ zX*xj&V+B?NQmMDRY6!8H@ids|ZZH5kY6d!DFae3sl0YJ`fT`Ak3R5Fia)zqtdmU+q z5Zk~y6$C}q#amxMb%lA!fL%<9IVy-)Ad@Lj)6}#Hg#aA)EYjaY93B73Z(=nQ^K#i! zt}%_GG5ZPGVU>kR0RXg$%(Qg3|r<7)#03Rb2tjmB^9aa6mT9+&N(xgCqg4JWNZq5b#Z7``r4RIE@*=CXsFE$Ps zGcwU%jUGBHg@jmR(kY4n-lmNKD{Ek|mNdXB1~<-IpCZaoN5}zX5X1xNtjMkmU>0jJ z;U20Wu!cW-sLGny+U-MDp#N!85HcPAJV6&k$_OX8P?H3_u_^I@m+=BPp=U1L|ImMs zf!q}^qhqrRm2s;`w2^K$r3=T&7YY=JI0n-sg2i(_Y;M?T;w50fN@))QH3NiOGzxIa z2b`i404FpD*=u5D_YleON-rZeiZdf5+1)1{_#5}%-9R8|&s$g8w`tHqtYaqy03|ksW$#B7(L381Y!r0k399hX#IHoW_cu{^wmxxLTwQT^puD zoMun+J2V9@AtJu!btnT+%9or~lO4c^U3A-!CeD*yLijvQFe$K@FeYLdh;{@IOi?{E ze`K)>IqsRhJ;E2A)7^FJaMR!yS#=F{1=dO31`dFINp-;siFEGY_c|mOPk(P9OMIAa zr)Ct3WVEl)oR&J&>Eesh>Mi8!&zbO#yCIM9r5qq;w|w|Lc|HHFeOkOPV8+K}yhr!DrX zT9~;9K|6gUC<>@VXTiKBep6lwsGcI%H4@YWLItH|y>ZqJ4J`ZZ0NA2M_0uQ@H{L^T9YT+NfXwaCFKi|-{^OAJiLy_I_2VC`s4MSY@-eEes)@R!l ziDz*%jJt#FL=Zx=U9pl8#Z}+f%eHF~=r=)k3s-FWiiI-eLlc1A4RuD1KdT zo`m!?0Es0(DIomyp)5!&(^7%{z(aZQ#L}NyJz<3H`@A64Dae7)@ZsyYDqXcU-j4gh(&BzXTOOwppncI11H zbQFY`C0~r-87U<>Od|b<2LvMbqUv+9V14r2zP$CC=E4H;9qPhORvTAAsVSW>!|FjV zOJ7F%gK+Wq?6DD!DM(58-v~-1Z3ZRgJZ#bc1uS(%`&SEc+G>J8bq~HP=nbkg5H=DO z+_4+36~!U9FfT!6MfiubD{_~k`OsFnC>R@nT2E0_FA!Y_DKIji)k-CT;tFd8imQM5 zW=$Fe01l)t5x7u_1hV5?#h9V3s#Qmc~8@h--`k5NrmDtIMl{CEx3jp zfcrq9{+Oo#Kt@pJu>LSrpwHl>0I70@SR?I%2DqX2F%xm&0FS^=MtA!05YIa7m7JJF zhMp}_R+sTZ2+M@)61O#gf7i3Uoo4r$FmUsqumn|>044mep-qZ#3zG~|>W8^{7kuAt z^>TPrCp5tPV8`_sL}~BA172)x9K|(~7rWO+{Unc^{@O;hlwTf)4u5W;ohMNJ=IXCj zSR*Wyz^+uV>)mEhCv**LIDB8WMwBUl-P?Xq2M^9xN>k#&?m7+RG(X^!LRs#Ft|IeE zcTN9K){4V}_0zL@;5A)iU_%fE7)I{z&wDc#x!@vPh zg&v&+ner7-lr_h$I$Z(wsbDApAWeRvwAz|Pg?dX2DBPN^LsaPcz;Pk}iZfQAU!A0S z^(k;^h9ZIclx)-(*CN{iFz~m0HcS9OtA08_L(W9fzaqdKPxzOIf&uCwj#3=((wtCV z-A%p-NFj`8F;pGVxQLc|4HpJw{v_@(Uh(_}8%P=i-$TiJl`eRJmMj9(h>HG>cy|ss zsgT|t2Z?8^i4Q6n6>wr%^BSc34K#|0=$L^(@Y0y^!Pl@)VSUQm0(_p=_E){PXx>|^ z76-#1%Ul>3Y5PlHdF#n%f<;lJim_ryL;x>M2`_Z;*R?C~Hi<`%$BMO0oo{5PCuoBY zN;TL>SD7zwY$WfO`yE~!AfIacRKMjea-bMBBE68^(gRZoWY{h>fe5FUdtuVI0{FlS zTutx-O~ox~6#HT_X`Z35-2{pe+NdA6YG=G8twukxNbq&jxwhI#l_>Tkgt^xL0{TBa z0QJMr6MsSd;fjj^^*f)S*jgy<7G5a&2b>Lr1&sqgo@!1r$B(?EyLgD~YmA&lLjNVx zKKjRGiej-yjc#U#N#_QUZ`xoVoPl10WKinOu-ULsNj$qeUDvMl?!N1VLFD&J3p6%wUqq+|_K)B9 zKh&4&5P1hubYD1X=VMDx(x;`S0vy=r^2gx5Xr6)kO{}ni(#y5XSr>g}wZCy}4e6g+ zvf~FY9BXl7+`4D_uSBUujxV;%p2UyS4QVHdSUYVY@9sq(-JOd|*7ppbcNK)iLIFDy2;WoC5k<^Dpe=s)THaP~$&Kfado?^nUUsp&o4KZ~~(japvq^%zL= z)fF)0zQNX!Cd8x-!jaS7Q$x7ax8L12^e z>}jB>cM0%WOSU|PF~LNXNi1Eid?T0thM$M#Kqa9hgye?G;MO;o*=Bac3SjJI8UMu*Tqk;zZ-$k>sYLKR%CVyx zGuO-QFYU%0aM8M$m2FdXjAwqQdsHCmA7S1=jAm*Dm(eka8 zf6J!7ui8+znMYWpI_jd_XEwR$6|IxZ5cj>Qy9uqz_F*SrhgK_z9_99OZnXU+m$>LR z>k)BfSnDd28HQb0OslCZ{8MX!JjQk=g?YMY{Yh&S7^%M5e&#eY^ak}VGt`k9&P=wU zjxq1byU|iNl;WDWrarA-jSEPQ*jr?-18iBNnp%g*wQ080u(%GnL$|mN`H9znqC;NS zdFJh}up89&=PeZv-Dd*h*c_<3abTG1aXQ?n%JsWorVaa%9Nf&-c1xZg9&Ya*zsIfb z@Uzm98fYAy0=RZVZK$W>D($Hm%+QMiwArSbZyv z8C^mxwU_}~42)xxKm7DQr);_lYERuW-wTQJEL!J{gA6CvI>kXM*2Cf;|D^ORS-%xW zxY1xVlOyluNX=pnm50~0l4K8=KZbKx8n}D5V@_c+%4`i516AJW>%R+igES{t!T$B z8Z-9hj61WnJrG!0&P{%8ehC`w#I0|c5*_FH>2HUO8?7)Ih*%CptaJ!_(@M4v``k)) z03t3yP5v@NEI(jfXO#X4ofmyu&aKaJlUq1l1Z+ggb5$&$vzQ$>2`+JE;rE+chu~14 z#zTz3%so2BVdmZxknob{WYNP*&@EZFzBX6xiiNHRpu<#1T-n}(1kho$^5G@ys$D}~ zLa6-VbA1Fpzp zkh(7m#K8r+sWOa|#@y5Qu znudP?B%ZGYC02Mgq-8{uK_i^m0Vog8cT0l?!#&Rl=%->goB+M2$(|%=(8hbWycr@g zkocf-(4FlK{5fcLi{KwYQ)WX?22K5IL21COPbQ6XhozBgelV71*up+P2$-SLf-rz$ zq^Lj?P|VAq#Xxf=lfbpZvS*js0cHSa@Af|p8l`Ukf4@$4lTIB(^Q@)?y#f7vZLBzU zSi-fsNz7ob=jJy7=hQ3V&%hzmsUv%EARt>2{3-Z3{TBWjG@h>u6u=15GS*;(aJFt9 zz#2@C2e1ayGXtuE8is!cgvxK>NuVLT(KQ}rHsGjWUFP6lXG(Id??ZSJOVb0`{shg!BJ1x14`=JU1`@zjI3k-ApxNbR7Z7F&R%; z(0y0NQwlVWG6bOCJ5vO#zY7@^FjA20!P3;y4^x&6=F`v37a$>jMr50UwQ+O0HbyaEL2v2C#h z4WEqi{~C@3Fl;$BZwy93CkMR*4E>AT6jsRRf!&g-L~b<)ZcvU~j(+-BkZU`yNLr2R zPSY6g$}-eQU3x6R)}rrrtWVjC(QjFl8(Oz|YcJqcU4~HJKD1&}j+E7}?WmP9sYH~> zp;*{I^jdU|nA}Sqj5lDHXtq8(II#34dE5KbZfi@lzU)dv%Pz=N_ZZkadyNmCHNa3OxDC_z~ilZ z^<7r5V)e zn2TDg6)_vFG3wn1Yu-96We=-hHkHpyzVb5ZvJrT;K9(e(QL8f9wM~v z=CsGPMQ0Mzk;19FluP=D^Lh{V+;T!4?hmE5MeHy|*k@dlef3DCvQ+O@FvECP>2s@T zvRf#Gz9r1HR$Y5D`SD>w`{MWWdgE+TxFybLx8Vs6Sq)yEklVgeNKWDa(huek?gf+o z6#`yc>xGt@75&M44*yF&RTP)v(uZn)mc=!rF8;S16nWy5na<;l0#a;o%-8Bml8ENE zn7)WU)JBXF*;BsS>QbbxgclD{V!TVXAu?|#OH_Z#)+ zj+Z4EZA{O;V|@3gU$6b?wDyeifSwKU7*B_fN7U~=@>C)g^_+S)BKXB#GqJ(Bpy2j# zTF+Wa{5H$O?RSX(Tw!{S6&*z#C#X3(E*85B?e9k556bW&{f`_BNJlPn&Ss}2XkGiA zFWsNRH+9%;6o1+Ypt(M?@i(%=L=GaAD@ra)vhB5wXMBTSuhZ`b# z5*!063X|n*YtS;h&Xpf_ccFl;{fX#4?9^riW3%M*wwD|hwKpUN;DN2RpL zjf1|oqNw(}2M=QwcLq+)?A)zxC25axj!&%&F4o;U{1mheXWnL8Q9PZ2;gy|B&-un7$`ZsZ)QMpa- zf{d+lh6Q<2(QUtS@{2dwqP1lC4*KW!mu5x$RY@tX9vn)RKQCUcTuXa_DhrI)SD73o zJ)B=VZ1!fvm%1@VlPvaWerabG>)Tr~IcVtPdJ$ zY_)<7EUe*($x%+U<|XZ9#eh||CWv3|M{PM?+=}yXPSwrXZ8MGfWm)n{TNsfW{WxyHy)xX zrze0roP@ih@-?_xWOOrsPYhZHMzJ@URa4ZQPDILgO@*nplZk8-(ZMg4$}jF# zxVL_>Z@SYqseEcMusCYpQ$TQ6u_&PayMvQ*+~eVCUr&)OG{>ov0dUm&;^wDz9c9@c zyE>AH9W8ufYL(+xg82GWW_^r=m{Z+Oi{6bERpU;#A&;W#*?0=g{zE;5nbTAC*pT(p z$*oL_Qvs{5xT12tjMz3~;ZJ1lULGFB+);473#j?1X%fCnwPz>`6`E!XSU1O4WZ)@|fSns_5_+yE$N3Z5j z^7#s!rxm-UBnhf^zKWf0rx735{@8g2?s7pG*f1~n_KYFWPDni9uB_MV#<0;eIOEZ5R6+R3x z{q(k(kddk2f3~9ivdNOZwuf3DW!hdhfgV+ni4byVx^VOnvQ(+! zkHlET#?$bSL@p=6DW&tCUF}MZPSQMVUG1wuwhBC(bFH#G{@)CtNr=#%b?}jW9 zbj$lGHSdIKZ!ij5*2m|1FmV~PgM9^D&lXJ?tkEi3td|RAbB2ry*SQPk9xKmQ|NjeJK%&2h?p>US7d-0%r$TuU{wL_(X?DG;**?=qnPd-)3&~&W zqECT3&8VBuI6(Gbu66=;sPHyQ+>x+G-BLC?owd8T=D6-h}bbli&T%{B!@- z|9$?kZ2gb^v8w*r-}vYJQ}gZr%s=H#|NH#&rSCubXQK2^)#R_Afio?|3nz4%7fx-+ zeyrt5x_8Ja&tPw`vwVzRcmDGa4%gnq6Eex?zv&xDhP*=}o)N>t&ugJ4dr$UazeiyA zbN4f{Q}D-t;v4uLUFA-`S6yWUMO!Z zjYT8Z(jfK3b}>kOvz<2Vds@_Dhup_jjdN#$BQF8Z z@1nISZy7^whrNu+&xyaw;qNAFA)6i^MvsM2c&CTAKQa3$l{8shv{?4lI{$>4>pxQeEZsU`LBVtuI zZiR9Rhd{)8;EypONw1qQ^v^9P4b|($+p4x&%Qx!AZkO%FE?1q~0_W!NLwjYpKSB;V zL!@6v5AzNcH7b>sYva9-&a82_Umfi;Ntr)0b*?Qe-Tp6Y3)2cPN*;}@SCuJsPO zcRz_kYZ+{=(}Tv48)2oY+p=OT?335KPxh0-F>WfbclY_Q!SF+l6QkS#sqejCen>Zd z^FQ=uFeuMSyhG_+2bo3P6KZDh`x8A`*iex>{q_WA7GKLWtY$9+K*8(7;WW@EwnJ77 zz0q8}L)hED81IR!XW}QGXuM7MBdnF5se7-0L}<1>wI*18I_`9;?$x1-@&TP`51g!f zr(&XHgOWkT^I0GQ&jw(1(Z6lNc!10-wfbvH=PI5+OZ&dRJ{Pi0FjVB1uRM;HjU&rW z?X_&UDCU$WFzvx)abRGcv<`29TSmWM&9zysx%Zg$C$PP?kZPm4+AA)4MYI5=8lzV>v zn9MzGw~5@-x3VYqocyB5Jr_UUlY5@|cu4LU_jph4necc|?s@j(J-O$3kDIxt<#Fsk z0*?(B{c;72b|Rn0gCFz!;pI@Mi_tEO{kLoW>{xR_4zJM#fmS&tW0A9NVV)~4Y zJu&^jWB9<~{8&NuR?O6mu_IvJcE3-bI2NDJ+a79)ZL+OzGNPk4ihh0n2D$UO!I3vU zhGgtsLH2rLMemjRm>35Fa9KFHX+zI}F2MsCU34J;2FUt($38@RpCI<`FYDvpLW2p) zf&M@)*~0gqdxhKhBWZ8VemM1Pm$myReJ-v;`U{oox542rrNi6ce1B9_J`o5+co0s* zMv0uKS8hQflwmvwrR_r$R@N2S;Pl!5YKPoCGj}si11EPF>bmbMsAE3R9 zwB;4&`Hu>VcEcgy!ha}4dD$DHpWXb1s&>+&!af@EkxqQVuS6=-J!! ziP4!*hgr(Ur*OI z-pTK+mq&{Uj-1sX9RB9|p5u?lNx&4vhlx%or3e$HzA~K1{XnbA@b-4l;7f1gC z7R#}2_oD0_QjLo`rv=DTp)mxX7cWDNjY4Dc<-G@c_mSS~&g-{Hf8xn7`ct|R_Q{Lp z&h>a(sAs$Ah^i)cJ#1c{2Vd0gS^cDg5U;LZdt$B=-Q6?3=wdId`33m+ z!KttOBM9MOyW?4L+X3ozjs}tQ9&xnmu~w(|=&v(e;o> zJ2GYV_uIN2ALKtwrjCA?eDKsJ;e+os(S{!$5&vk^MP9y>kq#rW)T?O}<+e zFQ2PT{zq@|1F+QW9T0XcnB6}jEAku;-HYL*7Zc* zzhn(kdy9SfAyK&$;~-qWi}fA&NCb;K-7FIJIIg#hdRd00w~QjCjNv_Hc*cvTfCB)e zBy@`)zJH?#;yX8rApU401@Ug#d%pOJEb%xvA7H1zAmOx){}AJ$GO|L|p8JP+M3V+P zc>nG)4r0VOKNb-)kRk^9N7yk9wn?e;J!sW>9GMc=mV&vH%=F7kJ;KhjTEh%wgo@AbUD5V?U>Bi@2#sU8|q8Gp&p{!VMT3k$XlvS%* z7B@ok3_F+-H#Vw#AZYtve$Ju=qJ<{ZV=z5PN{cHgw?d68u>SrV+WGS%<$lr1eevS9 z>W41Ot^QDqsg8?5Zs`!PY_Po50ect5#ikkS;_x~nFj9G*8Ei@OO6*+Kf6_S5tZGOi zejAIo5`Podk5eshtq2>Us(s}@>Bc8%2}iuQ#?(cPzBtuhmIxP+7aFNCdgQHEJ$p}@ zan%3TN5Np=FJ}2r3S3sI`OlB2^yJePt@2_m-RQPe-#HdEoo0uFlna?x{bQ?UwF%|h5ED3-BESKzC?e;qGylzt8O_E{L1lKY#;^_xWIAF zmo0&zj@Ql%3~;_OJ`m-6$x?6Zf~)W87BIWUSNn0fFTkFs8@sBy&qy)m#EnleR>!T; z#J#Cy1_pcib&pzdz0RMk#-4UE1?n zN?oDeX4V7ts5(5b^xMD!kq^Q3a*3WjEox%F-0$Ip#m<$-+8Tk+M*mEYU5l9*U!Nffyrvj zqe)b3n~-^x|FQCv5rG`(VR8avEtJ2zr3R@HsBttMYQb^{Eq zD?eL$s;I|P&mH5br?9x*_%oU+o4{#1D-RD?awaT8>N~Y=u#r-i*6S{zT?q~YJHA9a zIy=P)+v~Q=T*mKxIjy{4t+o6{bk?WGp(9e_+$qLC;woWx|H#uKwLngq_ng4lpwdN^@1Jh$NCE$D92W_rPaxg!yNn&+FCFi0;A{i~C#-gEg+FOtTi`U@CG;pO zV9yk<6w;vMfS#`@&G-&Yi*Qx7M5Na2TzXQ9vGdT!&XtGJ^PAAea5d~ScGB|-I323G z3(I53--YET_3ZspL|{}s)OA?Me1%}kOO`6%-m31owmag+;AOzb=UT+%nA_lD6RymH z9nMXd6*)JHNwqVvF*gkrK+Mt=&;B;q1Q64769kABK+G$S5n!YMVxnz-0Y(TQX5t>i z)lGv05L1P}5kS1$v{}qO{+9ql1Q3&jw+S#<05O~RWdR}t5YwL@6~Hclm@ix}z%T*C zgy9teSOvhpft#G0juR684P-kvMF|Q22Ie|9jS>?64NP}#vIq(P1|~W;4GxR z)K5tGH!#*I?o2p0onRO#_;5zI40Jz+^FRlUUdXGC&uR3bC-EnV> zxGpQh1~Ilmo4gEd66_GCkU06%peM@Lq2ET^Y}NS2f-8GgRJ!rDzVfgr?2cuT%K2q? z8ndE0%W(oz)scSAS5EarI$t?mmWQW^t@?gZ1f836Bl)>`84#gvtH#H#J(`ytqv?uN zPP;tYkG_fhY8$j?2fF7{O&;AiZ+{%w_g7B2nX6C<_GkMUuNID2h(CPniiL<%-0 z8XtB}w;D|=zl?yItvrl>WucWT23l-2AL7G%?{s_TPfr8XkrOK|CMu+scwmTCneYV+fOJ8l~SRZYxd7z)!Y<2yx zGlXXQO=G1tE<+)E}bd0Q+|;@Yf+&ncZndPMka4_?Q3RCquFKSjCL6p78>@e64eEzfcJ2SmzBm zAHaCKvnyJpW8i{-P1Q;BYL3dI{lrM?vZb`9*Z5rW4o&XZVbInoJ{TKxFw#+Rek$Gu zUX7_^c2jE7!O-!2YUQLvXwjNM*!4HNCN?kI-&rvTebJI`H2eQ}2d5)+xr}D#%5TN! zdF>#@Gf*5l=borOoAZ{azE8o~gUz;_K3JZD;*RyTAaqWLeUgF@yx`cbWy7?}%_6CS zy-NCH58eM5U*W#hKZ=vUZ54C-zKTTWZP&etJ&C8SY9$m*iKqW6u&T2nDzqqZP9>rl zaJ_BS4cL-xNn6-aGSgdl8qOvYW3#Qg3umtwpFv{k|Ke?WN~3$Pi;MN%5>q$0|HU)m zVEBL>tA*1#jG1uITddGs8$b9zgFQM|M2N?Uopu-jaM14@7}e7yfZ2y{fq1%Obu{l8 zZjV;A-WOU`$7tP(acC(&X^VIR9|Q1%RO3_s_Q9Cs{o7@HpKknww>z;ffIdGut!`X! z>@YDSSw_y6;LtQ%Y6pakXS~z4{{0kVchY`Hv&8)Z$Q~w*hfBFpNqZ-LWV>&h=}?+8{-uA)a+jc)m}aVs-9_X9-m&b*Jj*| zDrZJXm2E?OoE;b;k{DfFJ9V8fO!J=wx+z8gPk|Vx@hM*X+c5IK*-4Qv?wp52f7y8$ z`A2b97jiZHb;ySI?v#(7Qm}dV<7x0sgi^W9f3s*IoAG|lwg}Ut*~5>W>K9>LFr7Y7o=$Snp+a?^Q7D|Ekx` zIX9?Je9Kn%&uFRX6t8RA>Yf9+vppIIpOZVQBjobk2t3^MG(1H`q zW%xSh9Knab`#U3k!6#im`afC2EKD~#I-~oE$qNT`+Zp}yY#+il|JGK#M_1gMTJ!Y= zOdL~edIzRWdA74*^I|Kk4;lI@&O=xMr^*4FeaKo!Zt?yCTmq)W<-dH^k_cmK?VPwl zRfi*N_xW7L?yAE!I5(|LP^9e&wz0aAj9fzpI6r*EY5YlxhCwd-~<2fbh!}YXH z_K^8^2W(e21zYhs(XakkQN#FFTRc=K&z7)SUbP$#*jaUSuqRq~2jfOV3TN8EC}a|>q0e@E*_7F*yIVIC?0c&dPpxm|{@s{JB4s1?mx~UMJP(zn&xN zQXKvEE3n5b7F=oB@_c(AI~w#$XynCoZs@HxMKN|4DaOCWRb1!jsNTc=9S-0hB@Syd zZh`Q6y_F7q6CV2gXgNm6+@xr9B!nHTxr}XT(8!5!HJEPv0+m@hBh6^n54GzeCBSPz z*Th}Wjkh~qJIfqH%M$~a%InhJwB$r6G2Qqo%`0RG*lkHcQ{OYfQ5m$rm3>uP&^fWm zX-jW%8clFojiYM~sKBkGb?UL5Tkw8alFT{+S3b4i((wjO@Nvrc% z2c{W^%!8*veu@Y3pYF#?U@4fD5$3@#fW-{A#N)@KPB(vGJX^d|9gSRaNvMkPu72n{e3IDI z8405)3QgZf=o|2TOEJ8kvQ>xO^@JuEd@bb>(4N`Ndfi~HYNrKL@4AuCjvA(|8a&Kd zJ1e*<>QYx-5ezWXjzT(C_!*v)tIZ2JJ<7IznQqa8@1z+Yr0ebjtzT`Vq&~ z&edR>KJhS^UH0#^x>Rs~S4x5p+`l}*SvNbFuvJg^Ko4%+lBm(mvAur(c5sEU7ti`c zm*EdY;4?#rHykTdy!VN-GPQb-r!=L`6@+%t3)-%nJ9n;l82-Z)oJ~>}buJ9iu7vKY z!%@p-8edor)Q!0O&?nBiv|*N{Jt6ncCPe7j2Vwj@F;UMx;H*6{F}SmQSZeK@L@=s3 z*t!wVSmQu&YmINk`^ImgJF511`a5eKL07O9E+EEho|zD^o@pC`2bPG-lG2O8QByxv z9hIU-Lq@U@neo=D!FIha#cn}=Ics$+$F?4ZTVM6g@*h(Znmh6B5~CUNW&a!ZS|EbH z#F?8xpXk~7^HlF;R_N*LN-f5cnC7Tqv9dGs&CAswd?3a zv8cV8JbTRjQxkrL)YWz;ey2nAUdUfPXI)wsb)iUM@q0N^@dW{#$4a@ZEBiy7KU}jF z@=7tmIeUk0Y4N7o^@%OZMnQn2;C$VC&?_BIV@E1f{4{59hccfr)#^?3Ohbop2(x-?vU(Af?h&9CUhi9fe${)`Xs>ZGG{0RS9@2X+U8Gz!1%-($g^ z?Mrca@Y5m4Ic-~HN^sYHkUERRoGf4Gs|Rqov-634!JyeEkA4CA=t|jRb0LF@{Pz_;m_;!RL({yr*0uVe{&l9U;xKqGJZ%S zZ1A7iB!~T#zuf@(E8?rR4RqEO#toz)55{^oY=*!7FMUE21{A2~Ya&90=m^PogWE;< zZYVz!%iksUYIUysT^t~`w_t}T*x|1=3wA)kTjWq_i^oGgEVir=JH!u(#q$2{LpNbp zvoz6mvSw-zISx18;KNj4dw1_X`>@NZne*8yTAF;mg)%zTt#`1%{51MR{suTjnP%rJ-EC- zhE!tUa$7uQE*Wq3npZp|2@kdGO%Vllp$hxSV+Bq!>sdVHB2+7X6YII%)QUTKlFbt} zDWW_C8k`G{d;>Gc5qO(7{yw)_=)(aY%7+SwX6fymj2% z53do$@yhE1_v7e=r3IU+zU+^W;S*Z*gk5>I#d|~nw5ul_(iIDIz(u<;n->QNiT|T- z!Dp*pwXM7S0IW6T*-Bbx!AfhMEja?N!k6!^*(obiJ|u9W++T>nci{Yk3I%rucYxW; zet{Oea~W2sIn8(?4qxuftC#H|z2Gu_G2ZuoznNO&r_H=Iew1X$>CZrG+=F_bz+jW+ zm4(UX7?#&}djxk^9kr~e2k%VLY}HkoxOq5U6WtVgs-9XkzuZv?*C#dN?cuuUN&gB> z1EL@e@ZSi@Rg~3P+Yc^WD)OAo(=2BO7Eu4$+z)Kt4GBrVNr|4HCY@bA0gkf_4k;cx zfNG)(F38~!o<{@Yjy*bVs0|Fpc7$3~-wbhqeOcf}-1RKyp-@a^Ny55QPVFWp4*1IoGfW@<~Xqx=*beVXaHCf_^`dh8}8n z)}=&&IL(5)pb3!0^b8r*-7r4kwQ3iRT82L*q04sX*RT$waK$NlcB_sJ3VGmL;(6 zC>rY^9IzB0Ngcr#F;m4If^@t?kRGFZ)A0_$xWEX#?)=vW4b$jG!H@nyt1Rk^k@8V= zd6K?zJ3g&erUo{ro@i-F6%&91yD=|}ZFT^0NV3^KeEY7Ke3j_(Ef-`gPOl3k=j902PO0b3pC zwn&|JkXx$b@WE7~T*a;xA0zo65PNz~P4X#E{#T1qZ8a~Vv~oKdaqTuNu!|0gy}b^_ zm|yRxPDqf~$Sv}kS@avQ{+YjFX`lPoe}Nej6$v#-f>QwZ6dv9jC%*X0 zbK=43xOZSBs(iRvhW`(*MeCd%?A^QbA`txRU+bMeRJ9LAmY+kWR>ao?mxG(G16Q`B z#EGvzgA2wOoH`MQHub#LyDZL%S0Tn*{t;h@cYkA>qas7!vyCqwAg44XUc1eI$!mOm z1h&6)*w6nr+CQY#{bCu?*xG+=Y@8qhrb7n&k7HWT*ese%X(w1Szj3X%&CI)>;FPWY z;Ah~JYHF#-(9;YnS3VeBvvNB+0K5~sJ{T19QCIG3!_Ln*`hV?|2=Pm+oY1b{EG9I4 zajciR{-c-drdF6ZZ;`>h=TCS`M!5f@PccBx+OSm2TihrX|ASz+8y0-58n9vtCia$7 zpFRk2JX#NqU%9*jI=FU_`A*1u9jlnH^9!4+gE8cZ_06z`3_iwST`bT&$w z|143g=akf>VBnfmoItW1c4wq`*&$jS@NAl`>{-$?KT*y}En9*! zI4AF`qbY7ENmox4<`1WsT3IX`7b9q=iD!0#$;xP_#wR z28v{8LMMz;G2u&$yYL0Fe<=04=!5!S)~GYS(L zD&XG?d|pvth9_noNO(ZDE~}iEK+iF)R<1-? zXSN9I`i>XY^-0a!QwA7V1e|gtW-!rP;^U9k^@CdGRAF5&_)JRy8QH%VBaE;ny!Uyt zbn;OD#%9XR(2Vg#y0--Ta~3v&?0Sv9-4jS`ZGojR;&Imrn93x70yM@Ojq+mAZl8@c zslP3s=9hmG*DA=0<5#7@b^=&7iFr*@ZRBjJ1X?nW#Fkc4E#d^1b#Q zz(bpf3O)=Z_E?23*tr<((3?iNYEhj3z1|F(kXi62=yYxqpM9rlbsW9RN@RXgS)%fR zTlqI>r15!p>TOo2<5bSA_y#SwF6Epke`EH|Dr|(;iq!!#VV7wQ0AhQy_ik-Dd{GkJ z_^jeJ625Mh$CfQbAWt+19UA;Pzv3LqV&31wrvpA$ zqpO;Q^F0`PuqE*_tc}{(2@w^eS?r^neK^=h0sF{dA6EP@+uR_^VCpFjS|f7kwKWCZbJSvthVXg{ z56ENZ+)D%=osxo>Vw9Y_P=hJJBr^WTi30*N7u8w|3VBU0Bl|i;)s!axZoxk;1tjZ5 zfLxs_>wOs7h@r0v+uXtfEPsyO;!Bn62xVa>0tgHJ+tRxM2k6lfmaFGKafjmzv&zHkZazN>O7vj+l{wFTIz zIE!-ptibl*E$>oKVAM`79Z11Z(AQ99dhr$G@U*Tbkp~ItAg$#5M4l|C?OHXI14={9 z+Hg%OhOOI3=FN!mRjZ_N^^FLNTmqd?k2#vFoa*fZgXH_A9HsLq@nkD!v2eH{NvK01 zeTGnvAcqy}Lsr$#NoYH%rM`k#MirY^e1)9{(XmF``?9WYWKom^e8GP>iQ~4RG^bU) zZwBwUnZfY9N1HJ1xuKu0}|;# zo(BB8j0H!{g6|!Z>AUZmGUY60|CseMo_n-vMbVK7_1BotwjR6(y_L!a^3djzSAfjf z;N4bN4rh!}nMv^5`X`<%+#SS2VR`INzm7%r%DZEc{dV}JE`t%jVOwCr;y*25FZ97 z(9TZa*+Kk@PJq#zzoL}}Yv1+P2u?s1f1B^E@TiF1ow%0`Oa%aJOa-VE?k#LA)PqZL zEC-~3d7#v~6IZ6nkT245>rM^#4y-$Mg*P>jHcZmr^Y8X)g+S~J_o^_?;PcpYpwBQ* z;7`;IfdYL=*>jIEhHts}F&yW}SX)ocR0+%L=@r;Hx2$Bq zzI^ow;T|aQvXUy{<6SFGVIn`F{!uccrfV{vE`tmcmBL#*{;=k(qqX3V7wD zWJ9p;wS>Qt9T~6(G&8_;Xl(Er+wWo2pn5!oAD~S!D=QHmTyfl0h!=l>H-es+?m-IB z{s>c2Ezl)k>)Ml6bj3L)Q3AkGpPsQ|625<(wsPB2VZ&{j7(gU1Q-0L4Uql_g(N1W@B_@g=THT0$wUCcjVw7tJLbC zs~l+Qab4jl*Xqb(@l!o#`;lx)MNrMbM3~)}<4|;f$l{_hm$h)WJhtL4;)j?6C%A@Z z!zYj;YzuWDX%$M1Z5r?wu8v3<=x(C&k+$S{o>R8__g3F*kijloMyP+8V_Q=BP|uu1 z8051mpF^z*;1|>M%t7!>`IHewV4xB$Ch}m+cp1DE{%BwS1-(0(iD7sL%42%^`s1m8 zjV(vdECAvGE8WMEgy`yWl-SK^*9SL3|2-!VLn(><79ENZWXdAxz=U==4 z2-gD-vvSH{Q3HuXe_}|fy7sTvSLK(exq-#gZlpb zWEkV0C5(3~pJ+p0AdJThNhtN*qP!=M9W^(cG{?C-61?>HxrXXGYpxNtb+n$swhH`4 z!8LO!JjrUjldfk5=0=j{Tm)a0V4RYKva9b#Wf!PPDC))t!g|l&V63c~At@kfzax+R z%N>NQ+uLDn_Q9VpfxujIKp-A65rIHIL7*U?p8*WI?N4a`ynzKQ|@@O4@!X}_fKS177Chro~TIhIOYeQIT{&s3D z6TR<8d0+eap-{!`g(wpv|aFB&$XXpj*eMw<)=6$ z39VXWiLQJ*AnJg-3d+A|mkWrU>}L_~cAjaF!OMuBB0mQ~dD=$q7{^_*Yb>`G{T&}~ z^$jIPhH)=Y+(+)1BLv()hILfB`jja@2YEjHe&GReJzu7LgG?(6Bso7z^Yx8TkDfJ! zZJ?}Du2F9~rYSk}98o{-xGTM*J(#`GYbyeM;ZBx|qP~f;n|7AVv zRD|w>ZHlJv6kE*ZEBO$5i`bimz!a2`TJw%dl|Os#}FringT#|)$3(~ z^9LN@8))jRI|+mSLGa@hG{HZjOg0$0fyJ_Nn~^pN4-ZLT`9B5_8>_M9YJYD=Houe7 zt|cds=;Be1pmGF?*jsl|v?G)?potE^g0mCq(FX&kBH&a$UmN2E2_(^4wVEmXwQ26a z1ihrLW~6?l?}v#2=P1s;YuUI-ftpdA)btGn8sQ{94QslFH64JaV+LTS0ccM@3mdi!Ap!*8 z`y<3Z4jTl(#$NpFc$j~%cgjF`s)E-DC!eIq?Zvkt`JMu#*uNw~zK`FAhKZAU=5x0h zO?XHTOG%@OJrCAUx-S)}0C?VWM-l@TT1SUPY(!WF~)po=?xq+w2BJz@Vb!*oJ- z!M{Lz+Ons+&|+tEP}_-gSS+$~F94`s#Eb1eiTl8emV-{NUjmX`etZdWIgbhAxO4BU_XIc=5= z7?T#7wc3g9kFc>%>zOaHCR4Q+jV8XLv3y@?FvCZmHkjdKp$IeFbClrQdL+yY-(?t( z`4k9eiBgj`PHH+cf^P7DC;xE~%RBfPM0zId|Ys{e`YX1an2v~we zLo;=vq*PcAOJjGL@Z>~N`(V6@_cMIj5&Foj!e+yq6=<#MpzOE)cDLYaaRW#?qP9~^ znp@R<{3l`D`(~5$M#*}OcuW|72adn;4>W!uZu}v0nL5%I$q-_+9q0dr=@8utZfWlb z*dX(%2R+9B?>BVf~MLzn9brhbi-6bGQ5~(R|16(VG24Ie8;_me0<> zRF%uaKilAEnY~k}$Ky_>XrA6oG6$KN@a8m1IaN{s|8n4;RY*^eT1y;^*D+=Ndo79L zA4+oRNvB8oQu~Pl?@BBlWsFBzl+#*5+GuM@F$2n^T+~8`P)L7WwG|ZW_X$NZ&jDpK z{5Nq`Fg8FQyKXx2uO*oOYhi?cjhJC*8DC5{_}7AJ;$MHSHVQUOC;s)Q@y>WXvlqM* z8V%iS{?-Zz9O>w!h8I+XE)`o#%Tb)!n#`uB&3ujz>nnFnN1Ts=UDI>~WdySSm`=$- zqKTVzF)OskI4^dv%mS2DLO zw~?p*t_A*!!3wYn{x)B)C^WYcBtBP;XuY51xgh$Y$eXbv&YOmV68z{?9Lf^b%a}Pp z?kHL`kq*)HdKuH?Z7pIAXlw4|2?n>*cI1R~2kgce(@(3zf^(jhD=9Me9W3fZ;K?kd zeGdA0F;9D9yGb?Ol*?2}R}HG==ei71F^zP@2^8q@+eQ0Vt$bXwsb z2YoP-KW4=b7uztihx81O z9J>Tabr#x&Kd*1oN+7Wagh)l=vN=ymQJ-36**X>zp=Q9$|^A{%dcBTP@AOghs~A z0~S=Z;(&#-^!1h$4d8{ah@@fBKK{-5{2AmQB#~06$MJdx^`lmY$;_CWkm@8$#H*r@ zZSYuBZ!M6|Bnc}^QaEnIY(&84_Y3l<6l8N#EI_()$^A>UqR$DiT{lL0Ng(;S<#C)> zsH?V_d?{P-;IHsN=;Fcyb<3^nGCf}}5H_BJc9flDCKJ`tJ}H_q!)12s&S6m<1@6EMTY(D?HC)5y+eQW&@TRR5r?^gzyKgu!J%5w$GL+&9 z+@Ltpr3w8cx%I4DfnVC_6Fi6KfU_98MwB>&7QExH0OmA_cyc8Q>p#ldgDs5QfRtN4 zmF#t53NPQag^eP*xcNrG>@8anSv3r92P7X1#GVvx zwwquc*IA^>g#fTub&bzw2Z6Cl-a zsdr@2&JHdi4(LSdXt||uH*5r_@~wu6<&~YNITsP7!OIidOGoDTQZ>t96Bm4h-kOrD zE5E02E6A}{0o+hF(pOcK)SC+Qx24LzW4?V!c5-MA*Gy{Q}E!uy& zZ-$!q+BC$aDY-bU!o4T&Ezlba+eG^gZ@ydkd83JAntTBa59ASBk^Vb$USP>6$Dmam zrUc@=sP71r@Gw!Aaz|G6Gfw-7nkVFQw>#B2wlwc0XhEeILFK-pzyw}Yr)1?JbVu5M z6dv?L7qHQ$;SvD$TBFNQUJl5;0MIoTfME8fsZ#csDFuRzM~mv*d~CGHJj{2MS@aW@9zZ=ikby_5|_d*^jbL!_;lX(C85 z0ZH()Kw_^gS8rDKH)&Z7<8$%T+Auz^;r^iwHxDaQuOV(+&xbF&sVyozum!nm*ZXB8 zwKxwqNs2bGkJ-4&rWyTK<()Z_{hgWvVqH~!r(1nyKTmh9>^Dd`lCc{plnzBvreD-G zG!gq%9T+6;JLXXbOX|E_eNq-?L0oDj@*=6pdU=kAQZi{1pT~oUHc1Kj_F~_(&T@xI zcz7ij&IPgs|7>=^pEC9C9JgFEz`}V)qVKMKXKl9BbU0BItj+-({Phg5ibA?45&t?9 zF`goHN!)zB1JKf-efURAIOrU}W}@%JTTMWkh6(Si`GZTT$`$3aCK^j^YG}OJIw99Y zuP@GV2cE(2lKqf(s9;SJtdp&R^~M~*dJ71()8XIsz)B~fV2l0C!+w-oa_VYq)k}yGiXJZ+)1N(TT^c+F|c#R)2<*(i2v zR|;W_@#4+|js$G=qJGGZw%pFR2rVC`i3*}H2Ghy_iHIHK72C8Uy|4i_vHd!_X()$p zk}5xO+Yfp$otRsgd=O8qvI1t_Q+W)!S<~pTpAa72LogKlyGVGQZ!3z`zX3n!URhLf zpO8)hdIT2mxGpsqY4d$_O?(3lrnSIA8J2)3pe+|Tz>j))Rt!kX43JLE29P@buORg# z07s>{xb26QS&;Wg0Ax_2u8IsJfadV>0vct1c6w)rN3}h}HGp~%T2EF= zkJbRc{x%a`j8J`I)@;{7QMt9?JYv>+WrWPJ0@=6osgE^8IaZkM?ObP5AHE+szmB5uvGS%H1nvH&30LtDXj`FMVa zWYz|ScTwgS)D2YGO0FP{Lj4W!Q2l2PCJSj78cHeW%;qfgFWG}f6~{2+$>sDS+SKrk zp7<-AiV*3u2M|PC+1~_pR-y?*uEwE!n~drCO8Wp7ip9KlXmOI)E~$yn&SmZZCVdYY z4_5z(;S`CF8c+M_dqTa%y5$zmmxkm3tCSt*$sF2wofO@b<4sD zgX)&Six*3(3s#?#i%h~pWhhg~)pKDn##7#e+sh3b8RmNaPA|8(!?_lfquO;7O-3xJ z;O`C9TU;rLEv`Pe1%M0PldC-kkTEW%!&%}9l~wSsOh6|V7f#h-OciKA;v08FrizWf zaEzw@^h|7t+s;LX6AkU%hWr{DHb|Z&?UbfXeDLJ9p!GNbOBX>FA_*{W>RBXN>k>z zfL>&a!uxnp-^^@`#7#q`B1?p=Jj0tHDu+;pfA}hR;e;sMW42WZ-o!V(m>A;Y#VVd7mzuQ86N8K(zExi~KAq?;*l_)cbO^*E4ZjKNyGb zzUu%|6S{8fmN_vS`=qwMjj(;goVbl$8{OC^HSZCg#MYrA`JV8gBEScpDb0mhNUp@?3yfA<5@1u*jyFaq_|Fj; zuf;INN}gg09lSeGD}jg%ns&h^G;nDZ^~}ctV=LG=`Wjsr^3lc=)(O52O(#OVARZ=* zThLXD{Ixdr?l4Yu`|qREw9=2+S>ayTW>-CcS6CUO@VC9YlS1E=Ro$rItGC5b!DmB+ z7i(|3AQhbX1EYfepZF-Bfdz30Yj)Cdg!vh&fx$Vabe%!kE3DhK2`?2Fo_`xQW7?uS z5bWN*#fh&cdZz>6O|P3Uk-{y(FNtw2LlJ@04!yjH;gIk5&=kHKdbzANw$* zEJkifYWPn3=^A1wp?rE08WPEmEu%PKh!pj;r^tx`_K&~$EK2TpPwW-O8q|M-ft$pX ze~TCKrnb_%X!do~w>d#ls(*)}E)eoWQ3v4|FISN}`PcbuU2K?O6-PU5w#A7^oNTz2 zp5T~}l7)n`SW+jIt5dUux9xj``X%iMm!*JyH-)vEyRygJQ?O{DQ@snftnW7U0n%?C zF!Y-YH|aN#G7h;knZ?I7_s%mUQ^n4!rLHa}*O`LS|p zfhrYXn!C4^UHI4{Oy2J8Lm7RbPTl=h^ss3Wo4!q;`!34=`2|+B zfF}CAM+r%JA2R`=uw`C(lZt=qA4G!i!H%{%AiY(jB?% z)=IsFsX$qA@<$7GyxY)3bGvDxmpau2`BdixsMAFsy{$A>AMLOG@fljLd6P^=%ea}a zRU92EViqYdawz6giH`RpiGL3-D}f2;Xg@9^$5zUOP4W;LaausixD10(E{WP-idMPLbPamAeA5&}vA;9_6U0KhCsrCb_jba*Ucn{RlE2-jGcPQ&1If zT+4lyH%uN@GA;Mw082o$znN)S@Z%|%_EMUO%mYi4fIgq5akv&B{Ca~t5pg4SILJO2 z9x)I+puvfS@iYUP9G}FoYinZtA^_5TVUnZ6GR0_;l$WKLh59Qgo!&B#-mfI5@WJ z0NDdH^vn_0;wf?hL3bL3@JMK%c1U*7>N8W2n7W`y3M{cm=v%(nAqmctlF}FIps@r~ z>UfhR<;J2=Z%Ii<%;?b~4mXA4>()ynSA1~{1Y3DGU!_PRtK{mdIp4$BOWl%uU`+QS zJ6@_|qL*da0L0BG9$x?-a2_ui4tUn?#`B94BF1yfN*ixB?*&h^E#pmGFeQPdPcqvI zcavjY8i<~^&jR9Z@eW1jyn$~0T~Q5eAQU@{D1FMU>~QNlfCztqY0JMZQ*NK7CQfl= za8HOQw_pc)Bcnoi`8JUuk8ME19NR$Pjf2pDlTEpwJ<1pQ4Owg=$nX&}-0}`Hhzof0 zfZE4~HOh?|b>SNPXOfy`Q+AvRP8V$@g(9u31K_ zR>OQH_+Oz0eY4PlWv%VQwno^1CHMmRhV_J99dxWY85 z&>gjJ8WTos@4WvWtLH@sj`%orXyBI!@d2LolR{PN5h>LHHa5ug@&m!;PFg&a!Z4FE1tf#I%aWK zWWNq1t}oAWqR|=4G-AIQT6Quc#xG!6t37y`+y4jBHVqq-v9ScR4ZyIx7|_K^ULADg z?on+vblTB<~IB)tn-mQ^B>W-_3~WS{A(ER@dUETI`QF zN{cP{pCpNYDTtO=s;+!sPji8}n|!2mdDDQu@V+GAQhexFy1$-O7+=3gY~S8PJXhS) zYc5Xp6)LWLsFy^MJb|8B`(X9^)-AgTb;OJJ;f-89*X+j|xm<5cO2EP-P@fq(oT5+4 z7F$YfJgAP-wAVUNt1F#`SOjC0Flw{J(&8A*)$jIZ$(wMEOf^X@C00JvTbGJp%Q$Qt z{N(DYZJf7fZWe!rPILiSC!p@7oOdXE493csMM`xQK$fbIV2vob19Vq4fOHDj%M^Rop=_?3Kv>*0nsfmqP-p*<$O@TXk(f)(47)W+%3z-9oTFD%cu-(eV7!3}eCJ)fw3w6EQ zb$mFc&BmDaOHH9moq-Y_hYKPU`4TwQa+@f;y)at@B85XeCZ0T&w=Xb(FWhV21vD<; z9br=TJM#`Z`91tGP()6^j&tVi&D-v@e_d|QL_XDT>tHpUR$IEuo94lIAj)R)w=J*ZFG1yPXz@G|R8v2@9 z;k`v;aWyksh2*BIJt`U0a9CKlL`RG-wO={eb5U5+>Jvl|4eX!Y_gN@WTn_|JK6ksY zrjc}PuhVJipsPoP`n62VJpU2sPStd=qb#GD!AZ?fOTF zWM^NCg9(G*kc^{0ZLvR$!6Lx)LEm(~z1AMiAA_d$I-;bctJ0t~4ms-Nhg7@60^9lgaqToD=-hL?KJmPlDCmFmp4^8qCHfNlwgeZ2AXxT`&;C(H;tgwD0nZWJK|pX;RwTv@_`YCdu93* za<9B@ic#>Z5#(Mu!gwcB&wLG@gn9yq(y2nx2nr<7&=HEZPUN=kF8->FxS*?8yxqWB zrru!zIpca*0_9VUTLh}|swq~Y{pq}McrX+wGnq|6Cbk$dF;m!4<$I3^CrS$Hc&l7( z=6!>Ku$G64++oi9H_$E+j{k50=ClA^e=PI|Nu3BBRDxwKU*J(@0R^V>f)+>09MzpI z?Dp^WCA&f5gdb>#E@mf1_vLCcbw1Xl?3*gC>Sjz{GC9teeAmZBo99iwurc}a{mhs= z3t=*1dlLmzizL-%&_act<#?riAcvN$%hd>>7k4cJl&U5JEgE~GaZJ;+Y1152O<_`YYSJKU@^@DsTcVi z?@fWF9ms3|={ISGvc2_>*kii;`&@Nl ze;@LZym@(yzYk0&L3oH9eaO1JnY?`*C|fak0d_3<`{Xl!pBBm9Tziq>?_Ok!<5|$zjH=aWp0&oEUo9#?-~KF7@8#9PPSf!igu^;7!<7>YziBRCF z!wo{q4L2z8BW|L=d)!9B$N5BoUoVNo*A5>ZiLc!Rh0x(KqeHQE$~+DA zaE7xy$_c;*d8|Z(nSl2nMhCMaKb)s3-x!RE4W=YKn2BsKgV{U2KZpLx^6Nm+l~5FV z5=QWKWcIIdv}M`==3VkT&jh)-B!`lbAVLD=P)nrn&m#J{ApCO{9ke6t->AW*_%$}^ z+YB(r=EE@OOc9t{Oc9vR9u|iAg7J}Q9vo)O=AmK6G%uEDnlmJ$pmG>Zvv_<2<{O7a zU_N0O!Q5hsz`P?2^E5_pKpq&@1>XCIhT;947#T=KcpwSkfjm}91NpGjDEM?J4dkC< zcX)3bYQXz!6y6(n2Jhl3aVf@cy`0t3~ z|IjG@=h0d;M)Cjk^W%SBSNzY5;D2;5JMzN#pBKh|Hkgv|U?#G`40fCc|MQIXcq1~H z(sF`=A({#G=%d9r&i8loKtvoN|HxePr(2H{hM;b(61U7mH%>$ zD9{IT!}6bt$$u`R;8(d!{u>v8{%g4ieJU)5uQ1C61xrS~$sDE@6yfaBme4UPNx}Jg z=CWKCj)YaO8eaUY(fMS2yKY+*S(^I=S1^!KjqqddJ%B1c$C?-W={CSVCP4bs7bQtcz6kj^MxTq^?I|0iZ@yQc1o%qpN(NmX2(W|6SDl z3;IV3v8<~IakkSoi|8RH9EQA^vOw1MFqr$_&;VCr8@nj)sX}ims1#$L?|FQ<4=<3_ z($NyHv`XqQJaU4{)`hsQOF)#KWR(IppkyHhK#mZc+es%WL6O3X#V9;mT1#xZnv-sn zS`(N&0_xOrB-?CZhg(2#PJ4$n9d+7C|FE(O8&6z`SHNhqpjMFVV)mzL9}Iynv=2ZL^HXGuk{~Hh z<2PdfzMDhU^4JMOaG__yqTNs&S?KLU43xQdh_TSzcv@(2yip(xp@qIA`pz@(#Aw-@ z1FFF6`bJ-tYjABvD2LwY8!h)8#w|T|KBzd`SoGORP52o#@{SnI$+&Mf>pb`E0vR78 zk2BTugFW8BvFILH$8V9Kn{6R7vRm||X?3XBj%;7mkljo7#hV+~Tp!FN}L(m_+rMmV?LW#YCZ$8VRf24`@1bu!+Z-sOH| z7%vP}`xm?=FCEEM55f@*t~GJOdKsnb7jwL02 zjY(lLGhU;t9{*xti0`%H7W?OF0|5>#(sc^>l5s_0x{IGZEs5%cioqpC;Y*pj+`kox zcLg$=>`@nFA#Yf3`yWVdC*fG5OrF*^}c;TKe5ii?ohC!s#AcC(xg9C`QcL?jJ zSlXLR-c+h@R!h^G+ncPu^uosWCf=99Ub_iiLqL?K`S|99Ph zXz}%Y(d_H>VusfmeDXyT-WQeJOm|~71GdHCd%1B}uK+Ju;e~$M{jZuROfost6W`ND z<8M=8HZm`#@UExvKScS@aHQy|(EA7#|8u0z!=Kb#dKiutod{sUS#JcBg6+p?>nJw}0-MIcMzTh1QIe-a#3Tqmh zyU{14rzzU<=>(!)E|e^fg$c$s^!L|#lln{9QxC(UgE~GT7yo1l)&%&Z9pF|bSV{E6 z$>?Xu`Es(w-8zBXXkd9?8lr!t>pd~$G!#v+z@z@c`o{Jh4j-Biv?DLzhV@-t1vCrx z*-@if@NPWLR<9Nl7N>RD=J;0D?`fM~dw!`m_3?<*E7bc*pfDug>rwKZHAghAP{QDoBriqqAdL+D2KU=iQVNP9paGTW(DdMx zJRW4BXPHg_U*dEEl7*fnouC}#-)x+X8%B2BRgu|j%QhsPyR(hioGYT)Tx&N9T-h|6 zfyO(@)Ab>LfJd+|fgbBaF3Zm7a{u}DXyC?stj6G-@{JmLbI2VTzFc5-m~p$MB#%d% zc3@P&U#wg-=Gp~YJ_uqSH@*41?VUvFx6XTw6p(mHK4n@Y;+7cQt<_Ke+^yA55U0Z9 z!5DBDkGBP93;mZ!NWvrMeU+ zIF2UeZf&F#jQD+Z{CQrPvO{?<9HNcMJ@69TT*}JeROi-&aw1#MI|=t*?PExbDT2PcANIC=N10M<^)4$@sxZZS)dtQ|wUIN! zuy>`r9Ym+T_7;<FDH~`j_JuFB6?+Qn>*kQB z;e?#fXiWaD992HjGxe+tn$I~ZxCEtCx5AplfJ94Acjdo5N~iYu4ItUTP+(O=<(4!c zZ#QtS^Inspi47A{i+Q0QPfg@ACgCBAF|1X>s#3o0lwCnA$9_4I6#&*_cLsw*oV{0i#~iuvW;V?1%S{8t==Eo!G2Yxkn1z zXVMPcfJA))^gTHZvqnU|J1rP*Q^uRbhPzV>caNE2v(gd^lbgC6@&5AuGR5q#=g#W- zYIrDBwj&p(U6UAm@-IM-m20Y6OD$%u8Ovh|YvT&ZUKCf}3-$*V@>p0GFW&1egd$d}Fl`#UemUiMr!;#vchr#Jrx^tue`^@MIs4(;A#-WhZ- z=`jD@ zzZ-GywL^<^QeP?65Z&Jurj+!MaEa-qu{!nzjtF${jl9T(l#cjFm-Ymy{9-?XR)Xc3-76v#$4#i2#8 z{bV>lHPEw+C_TfB;ZJwLq2O*-If9Rfj1d}@s@=5;1Tsj@i7tA)I@sE|PnvZWc*$!2jd&cfLq+wjP%|W-Zypb?l}pQUP(Ep6#(WK_s%zl*Ff;U)B~3VPQ%Z6LXB6mj zOgi}qlRri{6Ba|A?G{OI@*NA_X+dl_!VJd@GH5$~Wo+1XtiraE6keA%5PVfa=laI# zUb@^E^Q3(T54%&wX^O3-w9kTXQzY+HUY~@szh8Q7b4ele)cqeqHS}_dp zEouR{A?)Viz&e9p^F{@jDhST;H7wAp)}|zI!R>sco$_uC9eDv7dNN!?STCWuPVn2H z@Af9MufDy>;#=F^1dR{)60tXs_~r{NuQOe1K$C@ycM!R6g)J$j`M{{#pr&>g4512R z=aV?^{K7W3>ihvu%RR~oFHnsvcBjEbv!Ui{H=2K-hbxU9D9*jEI2XqY+cKWkz(`YIif#tii4ia<2pFo;GR z_oSTjcyb{h)Ai8hDAWol7XX$j!W#L}!oBAjz75r708A*ME<>SMQ)woH^iPVK`Sb#ar-3qHfBoQf1&uG;u zoDV)TneZE?fux&U)_ZoDwxL{038Njr^R(#_-fmfMLzR)I_i~7IhLO{7k#J7+s1Rqbr;ZCy#?*JmejQ&x)^nn_qb@oL^xDYWWwx^4s zYT<4qu+sxmdHZ%MT6B@J#z0E8y2@@?%bCHnZtW6Elw#A*L(@U+T-SW!;)>;T#)Lw$ zt{o~xeR2@X+&3qM5}}Pm7CnTIviK^PFfs!N%b4s|1(Y(ZW$HZ(g!PRrP5=-vX>TtI zN?7H%%EmW1k#qTGx#g{7t`q7-vN9~2#(6=@^_8R0yZ2WZ0<>i{VWZ$y-^7Vw!A4fF zD^k#C6s%%+`tN6j1;Uj3W{05VdllKn&$iF zexq;@6b3O=BL<%B1S4MXKgAM;D?8D8x|vn`IUXZ~!qu~DmZ(caq5u4vcmv?Z? z_3p9XQ{beo?ucNJD0j{g{Btq+5$0bnJW#b7>DK@Uv&FdsH3N#Yw`)yY5VMW4`)%c# z0n?ykOmm0nWYzft%Ds;8LU^ro?s!DY?8CE5iQV>B$!0SEzL3qPk6V3^nNMA?rCufb z>0Rh(bGtmYGb!v?(Q{zLhZ!p-0hdfh)K3Pmce3@&8{tW) z4;6lugeKG|JX@Uu$o&(AumO%b*L6S$fs7&v@C4SPUsOBZ zQ^i>Yzxijp`wXb1J5W|cY4~IE=T_LV)P*AhlX+$0NTlx7+i|D8$(s^dTDTj&_`K*hKWltotfJlu6+P%&oJOV2 zgnKPzN(bI1GAnL80nb4OBw_tyq+ooRCZD$Wde+%r68u~7%wUs+Et0%p8r!A&PN0m1 zH;I%Mr5MC~)Z3T@p>uJVjf4h>7-`LINJq+y={{S>Gg`eBGgXC=gr$U%iwG}jYz`#K zS=vpXBT?wQ-KG2___uM!y<=is?XA!|Iv9)Ujk*54EMr{Z0m=gbVjK<$6Shfe+7;+> ze0?}WrMfYPXGd!ebqb7{{E+>-Ye!&gY?=CCF6o4g-b>x;)&df}Dz4}NkxXf1tr^uyX;Hpye zDCjqMN<}31WS>yqNdEG96HOcyV9QSBuza`^v>|U_an(ws)Afx@dXT^COr&NzoP#SX zMEPtw0@EV+Hvkm_NpEDK@Cb%yit0Thf&IAE^++H^VcjFxgk&W7VfWW5pCg(CJhp1B zyb^oeK`F&PMM({mD&&vVn{tRi;}rQ|70UxGHqf-IL{ui;rCC@XqRhgGN^^yD zDXmIK=R|$wVQM-#MzeRAGMMBGoA%*{IOe<17Qa8s)b(rW#aC==IhK=ZAT!EX;LU+R zfl}Oo;(^+ZYTS#?0R^D14lJmmY=o4IP_R}E$btD)48*^lfz~SYR32Cb)D^88&H*{t zja%R87PeuQ0djrVS+g>Js4wv7{$`|B!xRjLi&Zl7ud-l@ioYL3VItcGONI;a4-ftX zIJ+_1jug1Qi+>fP6#hoMs{$qgmB`Bqdm%roNUkUUfrunK6?iFQWc`d@JUxMtJ<3J= zwLSLdiJx5#Ux=R#G?E6Rs_#*rCw?|33SW6_9v5b6Mg1a7?FBA_T}@WO8BFb~Y+`D* z0YTw1M8DTaa*P z1fNBedW&e&8g?L)jQC^mT}i2)2UDu&0l%2)Io#X^Be^p=9CSOjPa`*tBuTy18tVTd z@9Ry(QQKF8cKhZ~QsIG6a^V4qE!%ps6#${XyqpnOOWpF>AVUBLUTtvT;Ad=wyfet3 zWenX4LRCT6lDAQ2XkQKpl6VXRTGwLx2F7Gzwe|WHl%QGp03{Mx;KR3{UdNoH@NScX z&|=8tDr^tAJSv?|V+D{QlO%;sc|#Y$^J?DkEq#Qx3YJj<=#}$Xf$vopyIc!c4oym2 zah8Z(Kbq+($LxAiY%IPc=ioakLRQW1GO?9mP<1JH6iLxc>A&ktkIy5G(xYz>P(x|O z4wNZl&RbYQX*|H!ULTEMWcfQ{&LiMwZgW&VNJbsIyGul*eyO$Hk&@#}45rghhxL5^ zlgiI-rPHn6V)eJxUTmM2vur5Eqagje&jj3VDLP48Lqj45yW?>E?(vzp&=_=|rW#6# zwMwqE^hA3vm*Z9^!v^hvmYPeY%8xK-Xsh=0Xx!wUZ&mw4D2Zz<+uPm z%7vuHBYHxc`o} zc{*TVao8DjF-EFM%6l096AaBY5L@oZSyW}DIVYUk8h-n4X{b|wV%#{pl-)gG!LcX_ z$~-f&92&V&lI2#|EX2Cyd7Q5&PzfS`BAT*2$|C4>k~K6*QlG6erkaLPc*ZX13(u>K z=LPI}bO+#c{Rq^au(2ZExnD$lb{UF_c*i5%pKO6?p>~UxG2kKrb(7?6By@X|!)1|p z+8eK@TL8%85qpj@jag^VI=h*fBXn;+VLh44?AqcqsdA?@udzttTSFI1>X_Ej^8Qe= z75``(9T=fJ_PXmpfGe|;R}WNCONz$Qp3Po0Wp@2;U*_P_iqHV4Hx%ljTVwDNsH?pz zlJ%Y>6s06~(|&n69g~7G56GDPVvOGt7q38pT-lXaT;>iOnH&8UZrUS7Ymp# zeco=E#x58nC^TJWa&#QeT-{$Zc{4y<1k&3>RPRp11-UA8=ZjWfc3~S(;Y+uMkCTSq zN7-DVym!dmzQcjFy$NE%6*#VUO~!o3F8=T4`^~ru&G$@4xA{u)57zLU&rUh-oZsyDZ|B@2GG~jg z--~A7pcgZ|m*dnj>P)orE)Csv9E8Fo{N6Wo%W=0bl)k5it^;y_W0@E;Px7L%#Lc$1 zcJf;CwV`vNZgWo4Gm~NTM!CGhYRtVmeskxa`^J<1?c9a2;klcA88H7Wn0pn@{W3o= zl0IeX)i}{Up@{?l?Qp#bS^WR7w5iu#XlZj`piW~4BSVL_H-wIKy)Q31U+d)a&UbhF ze>>kn#TS_G)%E9_?=ks5neRnoFErnR_9(^rPv)CbcHa4Z^7DT?-z&!$^X(!|3$(E%2OozQLdV+xdIrta$%rotaD z_}{J99iuNa*JUTpvtBIOi4+*Vd?K50S^R{HPQ*?4Vq?Ni`;UtScjf!Wj6t#JKI1?U z&k5^Yu(b9{uZTEUsBMbeQ&aQEyIsK>edEv+Z z^?Xbho)2A9vheQzFY~!Lem<_k-9bvbdcOR6SuW*W4|J)#Cn+C^3 z?cZ0M*ezeE{u)~=RXG9ce-u#q5P8eTx&cP?t&?bEtplY#;2>x$>O~Gf%?Q}nI(5BV zQa%TR9P6!pld0mnV+qE}F@SG~6rM0k)Qs3*wQ73G%55E-U&OsXyZ-vQk`*#WT z*Fb5VN(XU4OgP`o9wI6qlSxF&29#Esfzi3$l_%ZmgK@|x1&S?1->Ob-2SiNPUabKv z>?s8RHOZ}&Gso^PjEDFEcGvzG2pavl!~MN-F4EsGcb1CA>T9F@d6aSI>2E;S{#a+7 znls!_M*IsugkoNZ*iVo?mX|3lZslDXDd4(hI)|yyFww5Jrx8D{i~7FMw60s0+;B68 z-$!n^|CW?KFxDE2wW<|H%|F=Uv>2|qnXfM;SKNJg-(^8O?%xnXQC=thVVCz7K< zaMWqsj?VMZr;8XF66;QxUndXQT~1-$u3*CH^UJ7tbGPjpCzDh4tet z=%z3T_RwpCtlX-!Ldwy1-*jQ!Zg}=`HaS8)Eb%|;UwG8fK&*f`?>xi6FZkc0BjaCM zYIZ{*F87rCOXTe*rAl$*6NZIuBc97kLiVF2~!Hn{`_J`Tf$@fH- z##_~iX#lN>sfLets4s>#U1O9O4_%mp^CVttyIuQR2W7a8-VtkMmuLptaVv%g*LpfU zIAnHZ>Yu}d+bPY{ipm1{`R>4sdvAbQOz<7i9v$ZA+|d6nN#TjU=~h6 zI^$B7VTPdmRNf6`WLu2lx34TTHEyqju3$6;9Ud*=xZrfNjeP}1VYc~t+@Io6#xO2n zG*x&Y91oB5t-{i-LQHs3f;IhoPUXb66L6(0!=i zoo{2EFTXWjfh(e+{Y=c(Owlv{`dvB^_)1637Ul|kOn5+M$mE3CecFM-4a{w!M}0mj z7I|QDQv${LlLGVeEhRB4T@qPoT^o1{Bl}iINo1+pnE&w4F6EjMTIosQm5wJFm(sY# z81hdVlYbIH{sD=8-*A%Xx3CkCh&X@r+jOowEV{+NCJNh1bI{m{{)X`TN=bc$(oy<% zdoOdUqM1U$3meIwu<~R3$Va^yYR#i&{$r=TwWf`kNt*!^AGI{c!58nUEj)mkc<#Xi zvcs1e7s%`0Tixnwtcy19^&-35-l;A#lPNatzKP0X69Y5ew6NnYyqk8S4ZYxe$>Zya zhjHHY@v8Gpvy(sOw0G3(1(7>(ygK8}2+8j*??LC7eU?qvLBD$$jy_FVvV53tCPQ{u z|6%su48v>4m!g)AY|;kF$9UsD=dk}cV$o89d!C+o$2YiC@KbKKpc6`90v`G`qcYvW?19TzNa%ZJ)np+(h?iE)1$FI}T<(aSw7Q>b%De`K% zv-5Lwr@XX)PLuKLO{3szD-|+4V{KfnXKsNuLW88r7EyiZK|IbyhXwy$Z<^RzPrva$ z721v`iZMw5-pPr}??v`>Nu?uXgn67lcn8hqT%14nF@_aFeK8&UKg}{0fE-GWxatk? z?|vrT>zVpj>GTNQm1$t(>Dt;ljyZzQlES&v;BziI6anPs!}kUF4EVLp%W?81RK85; z@@o|yLO-Ha37DsP4&J~Mm}8sf35;#8w}#JGCFP(LDC494EXq5@sd$-af)tpY2nU6z`T0Fex*zNj%aTlHOB3qj-g9`A#bUmW=8L|W#|(# zh#YS*1^*cMwbINPej%PfjjbkF6}`U)$TZ(vH)fn~6z08@R07Ly38j|um~*09n|qHL zcprQV{+{Ey#DCHY9(4iQcBd`Zp9jkQ0ZznV8c z4LGbPFnrPqE78SilG0S0R~D!Nh_t!YWMN&O+`>jTno7Py51CJ!zA_~*d}tmeXhcEgl^}KTcFbl}Zy2du2^WFf6;4}LsQuk^aE3wjGcl{VyY`6S7=o^4`Ri#OicUvX-REBRlW>izJ2b7cRXwz)h8)w(@pLaB#Iz z>Lzjy&zH}`=VgKuH0@qhu(hi;STL@7yQK7}>QQ3B>?9#Grb~f-x^UFKQlRIR87yUl z!CYzh^ZK7Bf2P4tH_-lvT}rW0NbYkn{s5qT4&C{WnPQXo0Ix-Q5d|y@gK-t=PIx=V z<=>4rwMgo+Fq9wtES;0Lkgou8OABV?Mu!0$2;O+^58rrhH(UYyF*lwc)&BScApqK4 zZ(x1^Iq(m&H%hG~bm@6$9Ps=2(|telae?Q?>Ap~Zb1IXJ6+fNu`@<*vFN4z5aMB5? zPd4*n)EjXbB_Jz-;X8+;8ED9)JMd#v5qzMV72AL_Y}R06vf)3>e0QLcxeNjG^HEeX zK!iRYbXiL-(tv5&QM_1D*e-e!OEaDH#{% z`T}yfkyJ;HTfJ@p-Z+vk1r}sUtxe?a2RlHD_it>H?0^f4b9_IAdR484dW~C-v3fXH zC*DdzSC#{sC?&aN!nW}f%KVMBi_0+QEdoMVXB`hTZYZp5)oMUYsp;E9w>q*=ST_)! z7Z1z(7~y>l=#y7TdW)ol;_{QMOTtRI!nz*tnU*?6PLYJsGpleo{lJb%;K3dprzeW=0PS)MDQ zD=BGQu@Q2M`cQP7Z*pi}EPV3bmIBoaFjk7%bJ~~haSP5v@OjwyJjOo9;RnS^$*qoX zyp(qkK*KBrDheDFFa__AX7#pPDPD?lH=}cJCFK(tZ>6DP-%S1x)-SjPv)jy4s6e^MO_7%qNS7BTJ648DX`uI#f*C}k9zr=*!qmS?dMre}koxZ); zNQSU24PN&GMm@PQN+J~Z~RpMC6N9~;=mi~o8^|ONC-Vz$!so1#J|x6)Fu)%8MjY5EPZoDf^-M_VXh9p%4q{wt4V3S*oQlY;5a|7Rdh`tSG%CPlg3-GfK5K1IwIdsI{5iJn>m4 zJhUf6UM8ZQd7jTqZ%|L3c?j0nhP!cJ?$yk50MT@QP0tjhp~_5Du+FvnE#zW!0O{RH zemlAh&RmBZPT4Hw16ga&a{m_YDf!=F=m&buOrGGFkx6|r1hk8=4!54wFZk!_{XV9y z?##@$^j~-IE2C)I*_jcePNAtlkT!y21~S*fdTuy zJt|fQIu-(3v*(0P2uR8BVP?O3`Y-H(gR&B;g%Lg~bO|Xh`j|C@FqdwV0)6bz zz}Z^;*_Y@@u%1PF6p-av##X`ufnH-hn>hvFy7FujPwh-)$e$2Ea<&WmCN~S-15YH$ zWoPr?mBOxLdLjQ>`U6jJ@Py%N3C_Nq9d|EJz}1Th(^Yt8@)Gj~@`N%<@SbH09@D&M zRf`Evb+SxxZisS|zy0!u)aSMcTp_dkiAU(c$W-|WeboqWyYw}MnNux(d!8(1$s3#Etf1obi%uSt^-W>ow&PGcD0>((&{4Wp?x-*EBgetOIMt7|w%r#*VXkRH&mh zMrWC4I$wRhr!T4UU%ED{wUCPZM63LSft??+B@1mmfc=D%!0MigW`eNFO3-WixL~KN zDXugeah}H9MNXv(4nh;D{(CN`yRHfMV=8aSmzw#TvBwXF^YmCF zk)o5)q7Kf};IHikVLgo-4Es#MWx^;XWhRoEy=}sS5eZ${%9whZ^Y9cZ5&i?}wqm4U zz*`GUbonz7sz+pS2rJJEcgGUbvBat1!>ojzmjJHwyWj&xM)Hkg5TMIw)Vd~}eQ!rn zdjDDSPs=34po4e6t%?3O*8Ji781K+6a1*0{cSopgFkeoiJ#c?B@0vE%yQY(Q*R*l( znl_pTyn$$LwloH~(GZ?<|CQO&L!JW1-gK_q{ctE_GG zPVtO;F~eVQBmX8{$#?@&&=D_Wn)jlJ^(c1^+_nc9_#zu{Kni4Z7(=G1Um`Q7pbY)n zVBO;sa{&u~e?2PA+LU=Hl>9fBuV>cZ{06ljkX{b?Z1B5(5yBRIixRkN0x6Jmem3rhb_)Dh z8n);p(Y6g~_$;DMna5US>~m3iH)RPK+AUXbyEbe|0A7#B^vxv;a2;*lzIC%{h0|hY z8zIYq_QFBAE%fk`j)@9#9f3Ipj3NsQG7AH{ER$v}b&hE$oULy+sN^kE$be?K94HA3aYcpC$Yw# zR%4Cs+cEN(vIB}AwtFrmEZW_G=9FZXgA8=8l?AOvyQlIAy&|Dc@cObSQz^;~-Hofg zVk*YipwPWsuPf+ZA-({gK$&QJJ+Fo^mfU!9f*Pp zGesZncd>G?jtaG>Ev4qp1}dI%?@K@$m7;@4@;=G4GwZ`gfJS{p^x?e_C9DeJZGWko1BUWI6l&SAZadC6rPNA&kXm6_sRG^65nTs zfq6-K5Z@(9w>#V&-W>RL7rcEqDcm033-J9We4nvQ$lK<+Bh-(Ld{4|shlg(P5Yv-N z+zB1C@aoZEuFBg63>9$@DY&t+tuR7xf@J)1Ert@UOuI@700k-QO*ZoZ3%Nps8lV3p zowlK2g-t$E6wqIb0llu()$EBlN*kQ=ulDMnfap(p42s$PUG-vRBCy#;c}LDxn|H74 zR*Z>*hGl-e37X4>W~OHd@RSHo{f#-7op5lsLH-h0pnBJT;4k}$bZcOtV#)u-CVx@3 zEHoZYR%>94&YB;A1o3G%N@a&YqC+>{WWXe^1w+WK1`0^0FWe?L#8s!or+Q;rAmi$f z(^Xq@GK zwk?_of8*e<1pW%qd2bA_4+o@yOjW*Q*S^8e4R|fFNm4c;WOrzg-Nhk$2T!uWc142x;QKq8h^HG!c@1{C z2EiI{z(ebHU{SJai-=yea|8)oHV`6RO%rR2tXRfn%Ek{8sUMqRNoZY2r!F}BeN3Vc zT^ok4k3zPYk{2UFZ4TY{LH7Z6NO;c?8mPv@0As-6YRE>CWlIVys3QcHDjGpwl{hN+ zYSH8(q7SX_Ltj#KHs&N77Q`)*-(Z&mL?-l)Nq;0J{V{eHrbOsV)(Ai}iky64sknx! z7?$SV!Fe}Mc2N{MqP(Lq5}f~Hd{uX}T2-oo7R0oLE&j)c2hx5sQeTTlN~L=c&_4Ej zA9J<`56syf3~qo8?w&ah@tBDRzo81<#i7@5kky%K#}^mcu7lx>UMX1@W=)1JNNCz4s)ly)KXI zwfl8!4#md7%Fg8HZluM3@9;p!9Y$6keN7&7TI%~JtP5u!@5uXpWIuztGu1K_puQiV zuA@Dw--e*#{UPqCcAV=UkOUK`R5cr>dUcri_-=cA)EYia0d1IwE2#;t`-XRu7*klW z^7kxW6BY=zOG2~-PobA%=i?^c&@|M^7(hj17UiIrML8m7vP92!%{Dje0A)a$zbZay zw{bvx=wm#TuEa0BE(xtIJ&9C6s$zzoEjt{3*WFhd`h9bzvY~gvIF#-~Z$+mOAe>uA zXnAahQ>nx51@VhdYO?rHzmj!k!hY-<4l#~L{DeAW{We&E+q4xJHpebEB4JuuZfnS5 zxF%@78i!_x(Gh^7gwh(&^ziILk{Ap|Vk{5HiTq)VoG3%W??SLh$4!nSLBrK};SBLBck@s36%z4*D1;hcKuNCGg{=^<%qY+W#%_-NRZ_WH=VRutC+9QMYlLhacm`37bO+MF!%fCGIX^lE!M!dY#y6rn16~u! zW#Jvk&RVbOEBMJ}kEj8R3*TQv_vv&cFF$Q!JNjkvw^hr`zl#NOsYRf;P znsx3XG7K&t!{9rwXc$~Re}drd67K2ne@4x!Rk+q;j;kFhMMQ!FI|Ap&F#x^b4&7<8(2Jt2{yn2>Qvpzbl$V!2PW$})N5M+d?}6-&vp9yo5W8&+jJNdz-nsqqKv9BrA2+@ z8s^>^_U_6mzaK?}{`>Nfp3|L$k?sXt*sIl9)na8x_qDy$%YD~PH%+!qI~|m&5BES( ztW@2YMYo04#5sj1=<5~yhhGnCE=zE=H&>Ok&VE{znHphBKnNNl=5|-<4~-@826%ehv#w|(Yd2%L?J62Rs?`EO{>nMR;NK{ z@~prf^s-bRNtCL`n=%tap9<0YmC^=_YT(nE|Gwv2?pb7eWtP z`?$UeIe+x8q^*M2CGD;9nQ)G_KH$xoQ@x;#RaXU%=DlzTmF{uqPH6GzWcH~Y^;uB* z)Lz~mzA46E=XPt(_64a{-8OlOALli;luKCUj_%?W-e)HTXRWY5B)ozlVKa z-op2Gz{l8ib3^d{ixGt!Ur_iLbULO5fVnv&LZ8!NBa@#>8go?2o@2Fh&IBP$N5Vk>6k}nJ zch853VlK%9^6Y0Y*G1vYH}@pml<3L&0%jz`cJ~?&_}#dl5G|QM-f0;8DBm2C(C6= zU`rqmdB;HC1(GTcm$wI}uolA8ZDu7rNfI~ClqB6g|L_lHTHtKaSDZ)0FuP~K{_CDl z7()$9WBAud_ub6CCSWi(qfG}?QbXZ}WX)}YLFdVcsAv{?6c|01I;@iDy>jie|9I~?PlM!o1`7BkaL zh88asM!kRx(+tL9oeYjnj=fZ99Tqay%=O&BhIJsdXs8lj7WkQ==;SzWI1!> z4YHisT5J^7MJ;FM-%pk^UpGXQ&@UXn8DvYIMJ_J!Rmq!0AFg`y0lQ}di-hMxo1qXY z5Zd$KQ|~O^Q|~N%(L0Ox)H{n8*Qj?Ef8VX$S#(^>uO>FH;dd6p_R*civ-^0)pV!cx z#hl&RoyF-j+MUG$c(ijzQx!^bHNHBL0H!$iqtD> zxH(A^m-5)0s$DuEw85(vnyp84(G_xCj&S8tNhO4zPi=4rft=s4lr=&kyi4LCJVFZX+!+s>U8GXXWVK&#HYTZALb{Q?67vhCAoa zEkR8%y2EjY@T#Or(C2ft3c^46lbU3rl0$^pMbl<=K|eOh1E|GcbgwybL^n;3o=+-bDTjhwUj?QDeI zf6;ib!!t(b9jcg9iHl_2izF8K=rs~LFx8H(ar>i5yyBP|EKq~FiZvLep8^@FsYYSV z!?t^G>(HrqRNrX?y2A*rAy{k1KgeH{~)jRwM(#;5v+!2$6+wvn-<>$*?KcOm9q~bi%@@ue7SMQ1o?5st5VxbXcJR$(g=Jtgnq-s~C<8D|32`z8w?LmvjO-jvIj<%qlKaVQu3z@RT+TJPX2?*%Uqt0%(r`@W&Vc zEgK2K9vs4J;vsak_3Z^zC3SL_^FH`ra zpcMU3+_8*Yx%{h z*;6Yv^S(A3sIQ4Q5!W@@Kk9sJ#{RPT_(tt7^+G-aYl6BW|6&oX2Utff;=luZp+K4? z{}3DFLA93r{bEt0d2gsf$D$2P(`lQEug|I4`W$PBZlBDFzkmPS&R6Hn@vBpkgS4|< z*ZB6T&+;C3yAW!!sR_6zVDZDCRet%zV{E`wxN1{qz+m5u5W-o_#_I=wZ&PXwZadmP zyJ^6Vssnb;bDR&@Ss0uzwE_FGLg54UW&R$~`=^VfMx7|Qu9tVGZu2xQn%f!HomhER z3KV1{8ii$D@6PL*Cwiw~JQQ+ZY0a+_eQ)EXNx$i+n(~UCX5TjmN`zLRvBwHq{y8=k z)<$5Rt$ZU`_~x8s(Kf)3$#j3pw&yhy|1Z`9EK!?i{e|_6j1q! z3M~Uv^uh_OU~q^Nc%88-fr$*fA0piSTzE2EuZuewQ1>5UVZ({Y;ZeNvPyq> zPa^+r1WH~Xe76yU(da~9DHO(CabpvDNbLk$6{o!i+@FOq63Bxlwg&I-h7cRs%s*Mm z7vKlaZ3+E~f(u#+p%CGPpF&3nFW7K)3uq)CPU5p_*E6kmnELQl)rT2Au1npf;^Xbw zd{#$~D?-JtS#(=Hdn)>Wp|Lwpr`1EgD&QYQ?<53+t=GB5wD;HrtA#?YwEI9HorCha zL*-|(ph@d>XO=ol-5_VNA_~@JeGDY2Viwvpv_|n$8{v_vc^!fOsdg_6p@NvUpZZtL z94^ z#D3X;M!8!oo=ZB>Ta5Q?e;`C*uCp$6rFE;Z>bn84HOkbj3BSUa?u;<7;AD;B>S@<) z1t^==KPOthYkN4Et-2;oC$2^hk>qqj@VCL|gApFTM&6B18(_HQ>QGh##uJXA z?Io4Mm|$vR|4?e8;mN3riWiPYPzSNJALYz@j!61ZcgB(Q=hhHOKOKt3jp8`bHx%em zqRuDB3?zCjoo*V57yea%Npb6m-jDIX)6BM*?UUX_j)m>=jy2_s;2`C^lTP_a@MIgD z@enyu_yn)|O0e^9aG!@HPOmaKKR9avn~t@Zzq_moS_>zb>(PduKCRVP(~PpAK8N}&s#S_X z`5GDilZiCOqW1|nF2eWPc}!4X$2!ps<}>9{nSAIsQt?PSl zal$OL1p6-}S|kM3qN27#QPy1_1C$g;HvfGlZ-NIVZ_*;8qRKU0Uxdec3bOx>!VstA zFSv696Ku3qGT!)my1;=zeb~QqiO9jtBoXPpg$tc}Qn7-_dQBoS|L>a6$$**K?!(;) zr!QuQFY~=sD z-tn=2|4zN*uijJzOh10637AUW;-jX#$%k|KCK}FNn|Q{)H)%NE|4bXsUTm!lv zw|dtANtGTOd6l&v01Ps1xmVO+#ILBqh<#cx;#ZjSaZf?zDqJ1IV5YaO)mF!CZ{Q+0 zq+}df#aGA7Dq0;MR`HD0t7vunk$n>#CD%1dh915Scc5Z_gksT5Z3E&wp=6B2V;l5* zo*W?n{Vi0-xau&_AS(b%Z*#yIsh*8?xjOg_bp62?e-He=!tO8PbVmC)I%83cOlvg2 zLVos8Tfx;si{&@l=?L_dW*dbNUUb3p^>@Q_HQ|YM+<`fBx7C6Z^GW2y{1JzLF1n6z zFA7fwisSa@u-AR6!!wbxuoGqR)a)qD(c=)&9H(xh9DRUjj^Hh-PpvQWFcNU^^7nv* z0)2~T0X=lb+iC#&VCA(5+&Q^B-CtBvKp_jS!_Zx`j6zIz7ygahA8I}1#6HoP>pcZ8y^agyI`TULcob^o8@WBj&rbOp>c`g8 zwU57B2(UIx$Mupw=@>jx1c501n%_U@N`XC}e{l9MfK>Ajy6uv`_j)K8%*DpZzd356 zE1RY29~1eC-kN|mFIBE?lAQEMDC=+M*??W^zb#=PB6y8uluS_v*ISwO+NOI?S&l@YE^j$~AZvm9|U6A9-htzlpPwZ|}lv zG>w$6u;HxUy|G84z*blzO_pjkKzOi5Uj5hW+ zpYe=CuhPa|U8$k{zOON~51E@Vvo9M=C%Ug%q`eYzs>EZ3(@O|OiGJ=Oz{dOUejv{OeZJL&J3pU1TkYs2#yT$7&2%} z$UyWBOr=Y;JvQ2R)$kK4U`ZQT(!0GO=_XRV?+?_l_vX}?3to(WiTy7nyG6YT=t`o! zbD4DrEJo5{K^lHM^T?PT-~R@yDGhxkndn}IbU(c&H2xEFn3+8O9_GKh`EM2f{eb_z z#(!7v-*Wo3qRtXBBspkt9`Kqlz@?a8PPyrYGvRL>{FT68A^hdSUl#ls#dH!=6q06I z0+May4+2Pa(p$n%9~f}TUhAb__1GD1SM?vSxx#${5<-%HbhhHmba#>b3+Q?&S@NeS zC0U%9dGKTe?b#&xpnDIn7zP2yu4LW>IL>f{fg;T+FEc2D>ppDIlF$1acm!bGa1~)w z^tuwrxXEf1f?*4u+GVCk1ZFdej*bTXq!TPe3WOFU$IExo=&eLTmBGMplN3DIiP)UU z6Wj*X9|qJl1L{g7)j}ZtES?3~g18(nTg?YnkQTapP^vzf1gu9k)1|MavkJgiXcXLC zksCc1+&n~~J>5N#sjgc#;#g7;0}L_Xx0m>bW{caQyV;rj(p?kE?Xw|A%A4qc2WV3g z+;)rKneD4vXjzZ=|xsV!T|-z+|DRJbJr+8DZMfS7};r%i_wn6^z@ z)Fmt=qeC6Kq?v33BsCuoexs%QGZPQLiDQ6jtmEj8e+}KB@Xv16n^5<~TW48H!FT2% zd6mYOogIUJ2c>{p$C*yi+Z7cGDNX`<8wus;*o{<-{~L7DgU!qZ=$Cm-=x-JM2~CFA z{s~MPU3=A8-)dsyAZt)zuDs+>c_+77w z>21OG7Z-bD7+x=9c#pH#O*g+IXhtJdIwtTVC22C6%tBj&dHW+ujkTM)IOUUUZCX0U zj8jg~p*v05hHQ=FMlyzhVa3HOdItan6&i?l+NwHPjkvgtPO~m2E;9J)KT)x1E2$yO z*D>J|ZUrE`f87UXagDV%3lA0@xav3DFloa+~R* zKgAyZ0FQHt2)7{-zFs53eNiIZM@0Bg(iDEz#7)RuH%g@a=B0%29ge8N+(=#~5(0NwW$rO}C-uSWU*mW#*+s=9Z~z=pRI8w>`j@kLO> zz1}Imk0$)IS)#k+FSJb?+-WLOTP9Fg#AX4Hlwg$$JA5m5VYBH+V7L4jMrue4dNrNmb@zA+LAp8!$-5*!j+L$a%PUC8RoTA#7}w(c$LvJy@*M z2m0eZI;_#}Lt&xG{hF`ACc8`}ZqW`qjj5=3KNo0CLnXof2Vo}H5#hL=Sea|#fmoSN zoRzW5DGqr(X`#Y#Afb7(M_pAqVB;z`h%PJ%W;#{-EJFDo0_?$T|r`?93`9cAB0tcF0LPW0Na z{tb9OK$FDOFSIPPnvkn^+j;=n3zq@8^h|#um;N;&%F_(lOFYdrH&9M)Iq@_duQ$Ts z8x^Fk-${bh9(&^isf>1!DD+=d3A|H zuJRlaE9%N=4W*elnfb{4l&f$leFR&Ik`i@%S*`0dXn1TG4zv zmu`;1r#;pD~8 zM=leZwzzIX0lGmGpxZd&36auyDEM!T!YF@l!Sk)b-64d>gSi3mERtyV@XI+SY9`-? zIj7N^M_MxA$=a>t{71Bhr2O9;@_BJFTJ0?B?md7nB>FS&{QzkFGiYsIh4*qdaQ`!v z59%bPnqSAA33qIAzYlrKItL!mc@MbSSmmlnm6RWvz1F8-y-WWA1w2Y3JkOqfZa-w3 z62;1(?lNX-`UV!AsZk0%ksx`h_5Ht*MBA?amo(2-z5AVpO^L2tOZj26r>#2oO}xLM zp}O)Pw2#U!&{s;8`9#Wx@1KqBSCanVmUUig;=fJX>!I5&#mh6${=gxB?v%IM z?;+v^Z=Y!g+)RmRYwIa^ z|Cw|=UYKLgg0*jHhv$teRC(|-{P3LcE*+k4y~{J+dxj3r#c%P$6P-OP849F^ju9}- zg@VV%$oS=iGDq!X6F-W7!00~(Z*(MX!3C zoVT3!J>?zhyYvpv7($g7WWTA&W8Pe@iQ#X9M`$A3B0pLZT8V<^sMu^dt|jbiN4kMV z`?>2e@?Yh4^}LLc|4H%==7QNSU$*#dMvH$$N8es?Dwsy>#8`#zNc;W})GF=Umx=GgKVWQyKT z2pP;U&>|c_i}0oZEy5hO2>ZUF4b$HOd^Cmz_%I#*2MyD8|Ku6j0U9RV8+;L-q(%57 zq=tUPgGgSG2@LPTB75l}oB1c!|9kwdqZFXGAe3nog5AF01C~qnsZNBqYhbp{BD=f7 zNwWu7YkU5G%IeHjbc(z~6s)rFac3!ExzHO<7JBtksA6CV|-sTacH5y)t%92KlSKmnvvp0j6?D? zYUo+yEq3J#hx`j0FNeP$;>Slk1r>gk%wF*~ZIUkgIW_&RpHEW1w`r2f-sTw|KTXmo z{!ONm@hzkvLs8C%2PiWZ%b+u6A^NPHo9MGMoq#_3EJ~k!d4}jSp*Et>J;j4~YxERg zZYCW^!Eaj|keu)?KtUc3AwD~k#VDN{3heLzq5_A-pQT?sDNEtL{Uf>H$eYk#~$1j z_vv>0G|+cnXBwgK92%ir8S2Hz>|beYe%jiEeLz4&Uzm(9#u)z_`v8YfO*4n&ypM^OJ&?5*(wzx&o0(4SF9 zIx)n(i{AgR&4qQp4Qxipp<~h{ff!ThBu+f@QHTsKELC!ni5&GjbfS5QgcJ>S&msc~ zW2jS-!7dLmh@VQu6D{(PV!u@AIWo?YI;3!7ZDBF4i$bD=;IoFp!YtRF0Ii_L9QQmi zS#b4~0wqSt-$wj&R;lM$q7)dK?TI9~>%~v)W8f>#c^&h4Dj89@XoS{)%_uZ7MDavs zt&Qw}L(ieUgsNR&SG5c5QSAad*Din~c>7}Y2>$jJ4UrTt;YY}Ci#a0kt|COTbrsL} zVlg3-H($|?;Om!YNAUZU`7s|$4CMr*P8&5gv^z<;w?Di2T|P$7Y>UX5DcKY4kC48> zWR3M-n;paY_hPJn4Lq?cOLQF+oV!Eig~NJlk2%Bn?h(BwE+IL+6u=1`g2&*_P2AwF zW&gC_;4KGwr3Gd;ZddP4MNEGq#u!JejNa-{5K7A3ZuC8GQbS^K8y<(e@idNg0DXzU zjv6_UiO&J>sbm5DK`N_x8~mXycf(M_jrI*;M~{Qy)vkC1jq_1h;Gok#3&VBiTOgZG?(N-#ZBu zU-?zq1^>nwD&6D^lqCsFe-2uqdujJ`=DqNFM^B^9@)>mr_pGZuZVePoaE)I8u}@fZ zqRVl z+otPr&<^}8;&5H2;p$6B0(v3ke{sW2|Z9(#7kiq z@=|EYuB)}+!RIdZW9)TYWvURj6VU15p}1Z%YYQ{4B1ZQV+Hn`CX{pgP6SRIIM|B>S zNj6NO;IQ@R4FL)qq`9T)VIiK5nX1f2dUcC;F&)f069XX7} z#0yAR`{$g-=k_T5RJPhnlbK+9YuQGoOBVcf7v6?^B5<+1t&Uy~vzxi#KFAG=$Pe*J zMNd>Paw`OW6Y>t5e|8h(!(>-qt)uSk|Mk?r<0-H&RQaZn&qd`Q3;9U97OL`(zcBg7 zUwFpgg-rhO9A|FF(DlSCkQ%yA;X;TT@y$k@>nGWq7O};jKh%lhdC& zjz(|+DIL^GcaIb#TFzXVom%H6%HTfoT-LeGlHbEP znkrYZRJxK~*?2Bw&wWCY_ehCPQ+92Qc9}I$CNbaFtSge zZ+#jSNMHqy8Poz&12H-mS4R}iH?5Cjo37skEp*4rck(zA2Y|jAmIVi0 zg+Z!5oD5YbNdB2dDbVfmE|Hd=+2Nl%xuG~o=gxKb=VdavYQrFSC&O3W!+P?2mBmbK z!|lxnSRhr#iU*H8MER~0l0P$iREvMB(y!KKciOxSqBpM%8cm>m<4#eqV-!Y#g!dHZ zlyoejKA;1=Q&Mo43nl=FjzG7C?}Y&OMNsO%FPCzjh9Pc=I^U(DcecfSzaN<{PvXn>KxO%{|t9y(+=2)Gi)OrsH;KM)QgG|mCM>%eO2_IiUAW18jaZ4PXIa z&|r!&aVc5!olhp9VB$otHzBqorJ}D+A2(e-w5RfpNodmD_DOM*HI7QS4S#!Lf2#=eVP%DY9^WV*KKxt1^-^4^M@8Sw`nW-Of=bPaD>Yv9q2BPi6b_Il zw()!DgI-M=UlHGUPb!rhS85)M%@EVLK&1}HjqFUA>cqJ5KahZ>*2a~ZF8XfJ$Blm_ zm0H5}N35I0oEb+k8|E{WL*aYMCK5A4p9>T&9Zy(N3kVZwlfrT^xueDs@R{0^&Jc9Egg5rS=I;K)fv> zZZ^N8QXj;XdQ9{^pAa{jpHQh~(NZc}4kX0Q=W;0Lni#h(*6|W4ti%i~VU5EUc3#53 zN;t5@_0bYfh~9tT)l{I{!!>X!>JEPNLCNb6Z)0E0htf?T4+}cXzR3yLqt*p}(+-HfjlPu@e8%DoSJtukeJ~p-h(W zwD!qASsn9v!lPk3yv^Wm^FqU^eD6_|P)}}};MK`rx3iD$=EY}($728a+jz^e8A4&+ zL0FHX?^+$lHKYy*rP}aPGec)sCFi%Wgee&PwOg3KJrbS*ZwL9?%-AZ?3m+}`P%W$B zQ(kI%=&vl{EuJtb_A_)NPUm501uIp~OSz(@+;a#~qoHHBM>I$V!`prQ?Xl1-vVQG0 zPy@Rc3{0ObY+#17%${4+VSbV&bmR$-#M`_6no`GNH0!^QFPvdRbWJh$eZb(!GoJss{o zv8DX-3!~wvhkWl|*G-Jhs;m<$zqAL^b}dV5V_h~EOCj0d!w!|7*NH2u&;_7aSrzL! zXvGL}rxFRi@m_?Y%DPg}P1cyvo5_`VuwZxe&JHyXNr5|2^{1@{&YDN~3}StxHIwX_PjSsLe%x`4Xg)t13)(fiysPnU_-|zb(`=*KLm4>F`L8k^ zJ9toa?3QTeLa&mJU3~;~?7WYuOzg9ZH6~V=$?xjle~dG+cRx)`?4qZ6#^T3_i5uAt2A$bF@I00LJoqueudT{d!WQUP6`~SuX zqaCOrjvd}cz})Z{lRyRfPLH67IHO`DF`yGJh_PnRbIfFioy86<$K0Jmd_Pi z5afq9H{q%e3s>T*QI@Cd@+e*AUImO_AZgg^C^k)7E$OP2BMcP;V34nw!A2)s4lnKD zg>HOi;%beF?UU3v9ahalm|FTY=gZG$i%YhXhmmbkB7-VmH^?kIv;}iK1!4G3aCgA) z3}e!Tje44g;66A!<15er676;_kR)O5utnAuW%YNLf?BQ0+ ze%Gw?$@-Q$4}F(2W=`XMiZtz$QSDP>v-*Cy(qJy0&T9;}TI11Xz4@Wl-u$Oo+5N4S z-NV*T(KK!SjDq#U%u#~R|Gnw@X=t^g)6E*aP2XDCUi!GQFg!Qv*)=W|9I8s5F#4e9 z0#rp|hD-NKiEIEp)#@S(b=Eg+wxHE!?`&4~_EyXGZdNwC)w0(&E8DHrvRCttGGUiw z&>Ud<1rg|Mqhu6~C0U|zWUiRrt$0ehAf{*BN#`wE#T1`@WDp{Bd zkH1W&N2oFB8}A%! zJ}+8}|4HJ&JropF5~a;j{%%PevI($n)kK6p=|ddRL+4s;pjN;*m7(>mlt37t$0}aF zLV*J8#QZB1Fkpd)pg{1u*CR@-{nwz(%}wRmK;XwXTeQQc7Jo6?PuOi{WgQYG6QlMM z_hw1{w9cr1(pB=qa>EfTCvMa~uTaT&mVa$mYPmgyJ%3l(wwU_QkB|CMjJLOrg<|t~ zX2NV%!fm;2pt5D+3VSJ3oxep4EG1xyvoI1i#h0}jNJIGB@_EJt_m}9r!{N`i_-FL8 zlrQKYxH@?*C%G!24&Y(dhVP5^XFb9m+;R&t5H-Gf_kI-B?~RTZUcOEAEWAT-x4}pe zpKrv_g{aW-FJC?I4X%UXH$T#u>w$SX5CeWk0N;CHHFCA0b*l}Cd+XL_>V`xx!u>DW}=MNkl+wl zR6282_??zZG}8#h5AMUdXSC$*-b(3*_VC({0PyMElUUSA6C@Qik}v6mPWxA)v z?L5U(uwg9nfJ4!DtiNFU;~FD>=Qz%<9~;XVd3PBx@|9&gWBpiSv(`m72^RTX8aQA5!d~{$T4k%bF4iAkTS@*_3Up0Wc6cu97M;Sk zoNBx56tGs5lAt==IIa!{y|9QYy)@oovr~S9+Qr}4l33VM!%9)&Wd1oUfq0y`0yarr z-1&7s9vlrZ`o>vG#*#7VbiwVA=j6qxIge3#E*OJT0;${s$O``;SDb%r|Dbts@8*V3 zYV7$JXCH9UW~RuqKqO4srC*|{~f4mk_Shr5fxiqCnZnSxY+rwmi#%WE%UV$K)d(Rf;$|3DM}BZ*<=wM z$y>#z$Dtad{~g5p=#Z!&JZ0jF{|=ssG4RYF>!Vxj?%jw2W8{#3bMM)(l*Z&x(7Qv2*3Ejsm0nvk zbJ3+;<1uw7#`jw&dFC7N0-Eq(h9So&ST-U8+K?o0)#%^|0Z}ho5cdLJc{p7N7o-2b z1X6yOax;FTNu7X$*1t%0jJv}mn>uPE*;L(ek&C5n?n7d!?_Y>0sE5)--5n+fRhpL% zBZNN~ql+8Nd$~N(Oqj;A5Y?NVSU}kX`B_r_rm`PGSxOW8GLpE48ql`v3jVg!l#IlO z*&YO(1Nd+qyO8}T6MkwvsDOq4YCSU()Y+nq@%=+_F1FDg2hIi5gz=H?#=>+gSgd5c z`4F$YKPEh>WUS-~aaEFZ(qoKk(`8jM=0f3ce>1w79Yym=WhD78{{wgf;5+#pOyr1Z z^yX-pmKqE1pRzLu6i7ui{%@}8_Y9U^lu;u22W%)DC<@90Gc`*TvOkIX&f4769!W)W z)6t1W-`jtO=&JGQ^UtF0^#9WCr+YkPweDr zr+j{@V7bpSEO@UjzDuGH@1#N)*+u-+Lw+3_Ger-EXy%R|D5Uv@Otz~X^4Cu2_KTD8 zh`MN(PuS&JG9AD`D%=r(Q=VjS%5#nJaQGdjjucG~=x`VTgk_VU!ea3Z5Zt8>`J6@h ziaXqQza3E+i0)zGQ4aq)=6V5kjveF3dPq606Qs}M=@VFbGz>e!<(o`~_*gH+J85km zANXtYd7SeApU2E*(WQ^kWkbvJxr0_2i(`e$`Ah4dRLgY<{5x%#vyRE3iX$jtmxHF1{(5x7?|QU!XTYP@il@5`Mi4^D83w%>rd%0z54Qj&|Z znC+-sWUwynXRZ%Th^V(~4@X*xS3VLsTG(B+7WoT{YDd<@A+5;7CyWk| zfHl{Uu2nu^m5(^(M#K_Ez*xgZ1YfzNE*E|gI_eD-F*M)CEB@Sk8^3#BlgJn)?(}Bv z3WEEdiL-Czv4xrk$+-7EbeyKTq+z(qDxVE57TD@+!*N!AxQK;mHEBlRjzBw9LsGwm z58-qCcI`z)Y5j=#?4{;?`es-ZHSqv8t;Ex?$+hST4c3aCV%)>9!x6Gt;HxFmbrtRo z1N6Qp8Jbc&JqlSLSckgKXo^^7%0ic&AN`Oh@XfNGj&q{l#7d|hx?`?~s>wdob2$Qp zB3grOKq-Pnw4M&%6LbH*A98SJ9hBjAJB8d?tb9D5Ff7 z*1-IH=BO4!uOEV1JZrc+DD=#Lu7^b5a#;T%inR)xybHOlYAEcL;17@ag@>jm zkgsucRU#_Xq#4KnV_-mUSX(!+)4wJ0{oPXa3DdN_SLdKB?5`%{`Q34o6EMSU zXTWOGHTA#sWVTp&wOHAwjWuT{;*VZ%He^dmtwY`mF$1Rn~Z%gF_K4tYVgb?FRL z+cu?5lx+#hX6Ee`T~vMjG-60vN)a?z{_QBNru?AjeT9~y%@{J$nZ1_)G(&IDhsV?usrbv$+a>#FbS6SE0@#e)?pB+z5y`e;Zp+S6#Pj&neGw zoh~x5$$GMjLr%aL8gUGt4t;Q$Y!^dslUr7FHZ7lo-4i_YDl@QkkEgJuW3CvsG(14^ z|3md9)lMQ$P8BS~B4lufQ5eXZGKg@g&^$%`74W~gUZP!|-HZSkN2fzM^`HAQC5Nyx zvoZ8Ucd~%-1ju`CZ4vpyt|`iaqpn}nqn5q4imd7Yr9N>xMwM@H-R~(l=tKd}2=xCr zKI;GRUTz$1xL5W6IFSq}sI@et{|i2d#kVEo6@Gu5 zU38jSFXNHSRla(MXl+DdFR^fGaB0zGV4J?7Gn-@t9NKlxbWJRxM)ztW&u7fSeufg& z=6Wd^GkJ3k|3{5f?bof!qo7PUqs0=M9QZ=ixSZ#D$ zz}oxS!P{$I;&->V!lAWiV6_=pZH8!jWomoPOSIe`TYtWWg||6M8`Q>1l#Cv{G2kJC zjEBsoIzGx}jk!(X!D{h5CF9q@>FN>37)31Y%26`HkP*HPYWZ8UTEcCjMYSpa9rIm2 zSR0RA)>~Hjy4>h^Odrh0qj`x|#{<}XU;y%WExHB$z)sdgj^@4O#gtPrS1m)7n3Nck zAMHa+@?YjZKs(D-w==knar?qET3;(f@dMgS6qg*2ryEw>lP+w)xU|SdW?IVon*vD~+Vcv)+cTNO~>H`4X(aBroX(d4Hqp30roiGH-0Kr)EjK*9IViZgvP%r>V zK(@c0b<6;GI0it=IR3TBLSRNM;2rXj;Ixw(r?)lS#$3;z*C6q;aRn!S)S5Vw72^A~ z&E5jb9mS6n);xlrlnz2Uk0T%{;__dKSKV%}{vpYc_&}B;P^@zV`i}mKC^R{r6L5B% zaMWiO!Et}PSlMZySlRKmoIOrBip{<{cW+4na&D9A&nXYG)9w^2yTEVP+jG8^NLsB_ z;fY=6Is|`ZHu&nHWyxt-{b#r*i0%~<4W@tHh~7Se{SsKbd?c^j@U;5r+d$J2CTe2(qt z_^8q1m$HFeT8<7roX;3uP?tcc+I^g~~ zr+*3J5Sv&zM6~!RmIaCsEXt>do=Spqb95w1Abt}8w`unwp2j2~L95C7Pqcn#L!#mU zMvUI%zJ_G8XY8JuEPMWM;?rgvpX7h*fSNtvJFtdbO>XnJ~eNWl5qy|!eb$QGNgy^k2)52J=TI#aZCB4 zHVN*2+^M+eLk~72GQFBCx-;(R6m|Nx|0(hko(uKHc>8`^=kBxtw|;QRW*v7JE&5RP z+CQhHB0`qDsZi6{45JXfp^#$kWLPs=wB4PM$82|jieds??+L_qS`VZadXPaq5U~eD zWZe=v1#}KTmC2wwvx%UhysIdp1=LQWFK-PhnKD95^sRvxpv;6Qu2B5s;1jh+?<3u8 z1Yw#MW+r}m+M|0|x6?m%c#p9qVH=F#*G#DVYsc6CFEETNDoEx$>TAlLbt?&7M(j~# z&Kdb6Zsp$*r{CmfF9^&l?}f8lT&=@eZuRAx(l9Xz_aH(OzT=ct=n;0la}9s)2iPV zt&gyZC(?Fqcd2xz-}+3MZ|^+RZZo|k3jRLJ^Y@AO?vsZNnMwYcrgbuGv9oy;Pr zO3g#4j?!aJq{=b67Ab5f87BuK1r5C| zVl3Hjq%bhu1a$o1Oy(k7u2nMjL$UBR<^y*5Wazd;Uc??KCJzc(Q~|KLwMD}fsI|5T z4RPUTCax+e;32zQxhPA_PFnr~x}hs76OBo)(j$eyh72EjL&0yY=WVuYfN2=3t0@|f zRLbRncr#m6SX(q*pfc|YWHz~|VsP%bay=LBH?k`xgDUY)_k6%os`y3(q+@&@7i_ma zccck~lo5T_A(NE}L=ifvI|1t#l}(%H?8cmgmU1dH@G7Zq^#!!jOnSR{-NBWtL|(d) zWpOzS%Y`aPP!N1HgUPZ`GLA4_knQF9X#G4B=Of&eMy6;0@Ph|XT5%{i_6V1+;#TUexgdVXQ}EN> zs+XT%Mrgx6ZU7%$aR49ozdlUEe&}IU-{Ec=_KhPnFF*YUXn_yvAQRB(*0?yv<3!&~ zG9`@*{skTD#5#6!4s}fYJWi|r<$lz=Yv(i1jD=8e>UK1mu1CjG=;s4gvHU#}9&#v{ z`6D`|s~5e6=pDPja5tfyRWvmP9isg!znl9Cxb<${zYPyj|CEP#Ml$Q)q2YX4og#lh zBOx{P6NWje4}HwTNlDDrh`*nDe`;BSlWT430Cb5Yz<0q}J|a(hks~7V*X>G>Yveg4 zL?3w2PU#YNOt8EFT6hZI{3s+ZB$53Cl7A$|w<$!S-=dB45bqy+nfu=(JcdZ9^_T^< zg)`~M05k>^%A807JPww^eOXP2(IQHw2Z@rpT~U;T6AYs&Ti7Sb%L->LEgHk%KJXU?xAnh+ z`-+g>{QDuwgHG*hi*CDhH5Q{DBlFgxdnQX(jU`tHTM-c@LyG^tprB_08VQwuY{NF@ z;tJaPuR%qG;4v*>K890Eap(NkK(&UKcXGV!YHQg@w=0R{4Ql>yYmfOQq7M&Uz`r9k zXQqr!01hYMGL5ugJe9h;5Iywa@l^8qrE^iJ>pEJlclM)rHvPJFhe~E&Z8Iw@xQwfN zxF;s3K=Par9HYtbAb;!d_uodLXXxWLSR2qYBe7F-oBAB_70d@5%2*pL%6@qh@I=?3 z6niAP2&}?j>H7c;%xPm3f;S#wcwr=W8`|kE6`S=Os_pha-KF}2xr^`i-S^XOPk(@C zWZp%){Y;65%^tl=^I3K=KV48ZQ=p$vghi{$R0o`n%ci4#jdmKYX;c({(Qsc84EB4d zSRCm4XdBYwNWLXqP-P;)J^#W8l(j&yxhDjNKhB)4QcMM!HEM*KCAOyUFyYIwsZBLO zF1YESsHvm;13d_zqUC7ZLGhIvH9_W=kc=Y|Oj-oXCqv1@NI{q3f3_?aeG}C}F)JA* z`I<;8<0N7#k~{%74RWyJxH34r`5Q4yN5^ zHR;i9k^$$V-J>uctd6zJT>f}4+&hi@{rNBu29(TYCCi$ZtX4~&VJCSzR`SHn>B8DJ zyv!?VnH{=jq}7=_*?nc~tr@EHkOz)-tJZR&ju>+~@SO7DVA)|>G?og54wSA$d@L(O z5tNahtv%)q4`&2_ox?65GJ{hW>Nw<0+OL52Q4!f^ZVuasmSO9|U`s*R5}Ltw_)r{d zSI5BCHVT`Of%WBrR=_%O2M6oVtj%4?MrI<)zB}NKsJjNe?5|1Y1TM>6AI%*DxvS!H zUybI%k=WOltfF7at%&Ac54mH%6Jx(E)pA8ITK70H2%;Sqon7;K&uFWqeN}Aqf3Yml@M|B{J#1nWrkQ;?BD_|G>0d($rc*lxHkq&5dK< zh`#RVP!COTRoCO5f}8trqBZ}$53-fVm5lq2EAt&>BrDPcT@Ripufm8LgctzjM3C&h%pFS;akh%=oAonk9&o_vAbxvz&<9~j~ z2Ko1st!$9G+X>7Vtmk6}N^zy0y}d;MZ({%^dE3YFg&e@{zX!nd)&R_I4q(OkW&obO ztwjJ|?nnUkK>%ap;jlIr9QYjo&U~U30GHg>48X(eoX+V;=X572=A6#?yLwKuqaBJF zSg})s(uEl1h@kS8S~9k3AAA#frjgSSQpM&En&aD}=5*}*Wt|ZNW1$+tp`dwFBKL@V z3uGOurX%v=HFQKCS}(?u0jfvjlQSYp7?IbDx&KWg=tAH$7gq_Fl}`ZOvz53(T>4%tXM;IrMZa6KD#xF z=t8%~BDw>&V*bmws)+8LVy(H%T;9{#TX}Q$v*zeLz>L4%O3lqJZXMALyj30Cq0yQ* z+{*FU47KJ(^L)tZ1X6xL*hmJ|8vCK+9 zb)pvhQ@rv<)IWt)^G}h1{wWgfg3%)%Qw*X-s&|U6s&|SG&Ad~fgXd5$bzwCYX$xyY zZ@w}+_T~#~m7NyWPj;RW?nMi0OOdu~Exol}yAv`kctH|XLx}T7H~c0ngOB?WtL5>{FMgSDmOS#AIYc} zRApv#2y6E&$`nK|3K#g@GwGJvGvakivD5$D1x-*uAZ|=?Mf)^Z6@v^t&tcc{w}`%1 z>5yNCf^+j;80ny69iB!d#%1>yEXxKN@~T~Fc>{A@x91HU=^7cHBl!oC#YacU|D+KO z8V$;B)I5d4Lkv>wKsqMmZSaYEhvdIULNin>o5#xT;bjM5*+MJ}^}4%3tuwLKG$=XF zF7H=%JLC&cg5p`O;oF&y)aN4evS?)*b+VL+51H^_q|lr2kmWgQu%!NMT{_OtRNj+e zu4kv~VX?@1gmgTK8DjVlRPG(C{!+yTrv<;=@rqE*00uckYirNTh zJ6hL^f5qrF^%=w?`kc?fJ3}+s zU%0EiIZj`9LY>(f>S;&}3!E|BF1&7%v1^<1zz?y?`B?P~a zz~af8U>isQ;p%4#1+E18Vhoi20Xs7uDD}>859nWFwP_M+5VOufCEa=@O;C@&11bSAp_G7h5xj`P7Y*GKUGiXx zKgqGx37nFEM$2T^hv{}X8Pl1k>mB$$ME^bt5B8pF!d)QWxW#(|y1|#%$gqx@hitJY_7E< zE8mD$;m+#AxD2F3yrDvPftBpV(<=ws>9KB=Tr+lhOtUt~J-hM(Qh0T&(EO^(OW>>0;#o(z#(f1i2 z+wXmVBEMTeVnCa1Unmpxieo!LZG}Hn|8p19Uy8G*`w!VMX%3|<#~qk!1$4Wv&?A6o z)FiC-FDXP|IDpSwYaMHcxJfdJyP%p(1o!)Y0Lv!<_N0?2&>a_ zbKgb!Fb;$Vo20e4WHp}N8zF11uzE18u4{5XL>yy?+yXOt6bj{_%3irrmtn>@YAtKF`s<@gL89G-Myn;?V1N3c!)p;{^7$`tB<)iXdlY+}W+6 zuA6s`ugGXYA!m$!fwd6c7`N-OPynq37Tm0_J9CpBbc^2o?cM?58{qT)o9NARmH6`x zy5<0R|F(G`75#kwd+whC54c|nsuQK)x1;!Gc#f5MqV}l~&R~?5)z88>178IFR|tI;jE__dQ7G6_c2KMLx%8=^b5;p z5h-Ei@WiQG>1tWwM4y)J83zBa@Qjg^S_z&~ykng51Y3K!l!y~5^EZ-~qOYlfD3ue# zKx~&3KAZ?OIOSx>d%2_thz#kp$$zQcQXy{(Cv8lN=iY`4?~#Zi8tNC1w}V>OK<;lw z7PbOCpH!jelX*h!^F*J8+?REKCx5fP$T9yXZ*t84NfXEXpGYp^fso3g2#|;F{c_@* zpm20sLrzk3$M%5+YcbCfQSGv|!TK2&b%Sz*W3Kodwsv3Zw>~XXcyxLi-EH4;Ym7ra zU>5ExpfkL6V=34~py(fC>HT*2ybj&9s!cxu$>}mEtk(R59cUnF_Z7_;%0l|V3)zKh zSuH~|xXAIwz%-6Y;6eDy z?=|$!TXo62Kk1YAwoB$kzuV%*fya0*B=%z~r0C2Q8EB-mYFp^~e!T%R+VH)Au^KJ~ zm|>Liyk6C}ke9sk0qu=+YKBo}$)Q1dBg_{w^F^c5wC5vV$38P>G%T9DZ8L@-P<;f+nGHE|=#-FUe#CvhxXN~#gp{oO-o-G7}zib}u8>(PH3q902?G9;q^ zb`#ToyGc*Da|qLa%hMH=)~1mD8+;ADo^o*jFz;{;muIkWc8^0go2Km%yS4Q{rv!!asB@XJ_Zz?-{d{kR(U2eoPg>-6azEI6n*ShpI$8cQcq}FN%iO(C ze)v3rTb`ML;TxI&wd5d3jLJOH2^~8hf5vsuTl$|oB*z{Ap>O&itzeHguS8fgx3b%| zPuMhekni|mDNvV%wuOZg3c9_6fcXwl4v;89g4mZp3p@;=h@HzQSA_ct7?24-zOBGWh6>Z<|Fb z*jaZ_tgji}?NnYzUpda!M`B&(+zP9Tc*ntvpYQ80XEA`}&P({qp>UeNxfeC|4odPN z?_O*i7r~0Z;h7Av=i~@seKE)M?8$?~l&y37!P0&y~ep8El0AIuqrRKdo7*lpBGezs0ssR?mGQDKncf zEV=x?_XN5AiInTNz0sZph?^udq{C;04G4wX6Y9DEt~MAIl76&k39W{G!PI`l6m)B{s>sI`_L zJUDHettsYwR!Msp1~920a zC!T8rQ?g*1ViHWZTLjZxc|yhv_?u=CGRjRtMk1o+Z-0syc9$hWeuijSDFZ=7$e@jU zRR&$$s$cKp;=@m&n8K{|?G%FwWuq7oxFzY99N-?pJ7K_9z(?{SVK3MrJn|Y%<#D^b zU0Gs;_RN3|=Oo3`0yEhm@9~BpcL*IgESo@6a)Z2urgi#YlQl(H-2}$XH5IgauGF^39|q4rPL1U}Gh&Wb z$MX3#@1bzANRp-_cQ@dz&ePKeBx~usei0*Y2S!VJR#6|(>gzLAu=RwPdd16#YjU>mG%+%izlY}rJD#qbC$ zE@QADP!t0wAh+iy;rV^WezHz($vv&iTx0Sdq+WP#fYCR5tXd0f)O~R81D4Z!D6|MI zSIIo5V4L>}n7Dw*>kA$|nvJ#!kDS)otr)8B3I_r4gT4Eiq7_DFAju41-{C1?yI?nk9b=*Bd2D8M!7hXfZAZv{e zwXAOj=%1(H=V|a+{cU-y|5z3eq659(YMxus7|1Qj-^TijJFGriuCqV&bsz_Ou8{&W z6M5Y#cy4(&yCYH`jO3zZf4g@pxhJHEXT9#n@VtlJz;xjrRfPvTGa~-r&Zs#(?Il5b zq7;~$#FJ)mxBA^=Xs;P_CG@lh$uKEfZTlSPmuQQAp?^lzuI>+;YdDcUVyXxQTqFqG`~>|DbWhDnEhzDO z>L=t$fd#zhODWiC5mpx_0)siGO5i4S7*dSh8zjEj)+D!utFUjcIrVNw?onZu;mQJg_R-7S_;vPC1!w z$?L~+-n85{Ta)jCNqC`&@3A9aIgN}_J6Ig(Gh665EZNpHqxqr-VuSSqvHIFUoF`oh zB&9qnaF};Sv!v9spbhcolacxdVf~M@`umYl;3b+!$0md|#iM*j_!-T5&Wq@~bdzq= zCmeZP89<&}KB3u2T6-rN7_>>gHjCuDFkkS$%Q8*jDc5!ab0qnfg1<>mPN3wqamjN9 z|3CEPL`wc^T=LHa{~z^a10_Efm+TSzzt)qJDEYCt*0MDzK_NC zpNEH`2U~o%;=2b=-I89%_e^}hcR828-IGnZe)BX+TBx2qXC}x@X+~R9{&ugy>1#>B zJ-VY*M_Pw%pC~tLO|}k@n$9MW_MG!hl%a}lgn~6I9UuVBbodWCmBKGPWxytF>vca2 z^4wrN6CFBfd3FK3T!wb+1^GL@gSFitSD}y8gW&;`usp56b`Vn1Fw1bjalX_uK=O4D zz{OVgl&vY86m(IyeoF!wrv}lqwI=p{S~qTY%DW^P)=Y;}*3_>Z zc;e_upTX&u$8$wQy`z2qYik_N2!Bn)&e%0t5{Hnn_;?;qk9JSv{o(o^C z)Auh0Q%d;qnER4Dn!c2TYf{3=2(aPYmuOPZo{#cI!71+(xK*P_bj-qPi!$4!i6X)SaQ$*iV)G5ObIG6Ca@Z_@s=af_2@&l$Cu{D{0L~JSR zKMz-A=Kx43%j9;c}3>p`@opzdS$aDS#GO{Vw@}wz2}62#P$r}O{N zpB&bovflmqbOQC~jVCF2>nUa_zoJ)vHcsf%A6W0PFjm(Uv-LGdQu<4ZoS#HoElm3i z?I<#ez3#7L;U8L3tOtzltv~iIG$WFm4_p${B_$Dc3-&P~fGrmcC!+MnSagTUiQE?L z2}E&LDtx6&c?hxmvK0amms=3aee4DLCTbtr<+D8+W;Tf@fgg z)!$nblH#03sz(bEvN)2nJu49@qu#c>MZN3N4bwut_zG?;?AE@A|LO%XykUw$%q1Vc z6vT=ii-FkOKn%nVhG!$hVlb^)YBgB#6$5p~+BZoT`GBRc>i`v`lbgOqfz zFAh>cB7KJ_yQc=mcgOn!?@KS^R>YjJ8Oc?du&ib4gPwh0@@K^ zykq>y+zfR@{K*W(`uh5lnLw4q`jd&SubeN@Hq|Kaj)R^BBcw;5_a1XT)=!Aq4L>9) zz85ilw^Y4bnzJL{6&MR$nQH`z({9w+N)&J$Uf^kgt#klzfu#l5LUS&w8J_LX2ampWD96o>R|G#yp z@P|5d#YH>R)1PS-eZcaLI;y`$(RI=Bc5G$uoHs>Osq}bJw=wr?y@&C6>cuMv#8(if z|LBspiR6|PDs*m)R_Jf{+zyoxb0W#7Bij{eO5Eq>&#c8 z>;n~sZ){%yj0xWcg>CyTRXkoc3;ibrIT9GkY}^~K^fRu9_Quy9iEusI`+Zae<946E zZH4MmF3msh@xXM~quj0^vDo9&J1>?V%R9>Ngz9eYy+6hBhj-oFn?LMb-u1oZum8dF z+232f`=;LI`|!Vjjr+&_AP0Pj`hP#}zp20R|6Ko+KK1t=f8n_A8~?EHFCTh+Y@hVF z@+<2*D#1`H;H4W#2UCm^`BYqkJzhNh<_ReUvo^gGvWTs9Z!JxuJe68Jd zOlhbG=4nAXszPQ5@kXZ?OW8llQr^|9POx1JU(`R3B@F^kg|Fz^uT3B!I??{We~B4qNM<~I83500{f5eEN_ygDtCQh_ zZ3n9Q2LlHA$G!HG(D?ZLKQw=Dqb_NT{MFn3r}umB^1aii>CQK=kP7}u)}I66fvi9K z=@CxQMDrZ%(_bM36f_{^`5Dpk9Hq=0NHdL}YMMXTzt3}-Jk=~EmKjkEPi_qfdEHtl zm0Im}-v_PAAE-BQ92xa2$wF=4#6?i(yU<|E0|rb^NnA!M_WA z8I@<^sd?J+lA*5}yhAZwLbg(3(zah)Vs0tPPG~J5L-5dxs0EieVVWVKLaGj=~R2=z@CyGmr}6^xi+>QOGSL}$PwO90W9t;!L%nItV;Xu7^CZk@{$BrKu(Pg=`qLk;l$bG6 zqUOnppzmM?4BS4#BY+;LcS9p#i@qSFg5dm{*D^$YoO&#`sE8@LQ_$&%D1gD*7DU~x z*8;)-9!h~3#&G$6fr;ZTf{EV0#o(FbYc@L2Y;jDCPhZlc3eD-kHxRmix!ctH{93=C z>QaAa#a#=nsXirD{5|csy$sphABUAS@wAC-fBTVFQW4(ViWl7tdu|qeOL92RD7?OK zDpT?#Su#51(mb)%VP;IGgG_I=q#4Exn9?a`q2Y6mOtoesj4yX8-byX&G!SLTN_NM3 z@Wl#IS#0)ewYO+lO|X2S^@&d9&V02R0I1-}I*jO^hsbDbza(R5j&aW|ro+uA>jZ9d zD)fI{+frPHPWdDCP;R#t?UQn69`OS^(Xy`S=qVFwAOD*yxrHdEDZhH6>?WS)h>Q^kk!b!@qLH5uCI8(}!JTkCsB{pN^TeSigfxinwel0R8 zqKYr}XYSPwCy?Z=~)IiFDt>x_>@_mC4ew7QmNqI?6+oK?|EWE&UJ487!)n zL=##{6Y5k-p~F*(nN19cgjo;cy^rA7E6E9%i1=cp9I{mGD_RsLDAO&xQuIhdw3}Z+ z0ukvyhV^dRST`Ru>QN>h3R5?4P0*p-)CK*>+6iAn|HeQa*wfqKO-Gz6hCT4F82{zr zKMVddQA|%jGjfRND>`*D7RP6VV{!bxu&Hm5P3lb;N`;ELH0>h$dDNe}6XP^}81b%9 z4wPlPEBDBf>z&mfP7aJ60UNZif;pL;KikD0cU7Nd29oM4S9fb}{u@W`IXC}xtKFK$ zaAmI5gbs*};o?Yp>Wmyf6wcRa@Qe+iH-TRC5O0prw?ByNPJS0Z*P7wXlywf*ySxpA(_Gav#@}B1MEDK$YCPQ~je zx|=aP&Xrg_o4S8oJw6I}#HR36yWADcpui}?1E3u9T}0pbZMLS|kmqWsdYH~LOV!)( zT(o+xtwYtInzvIEFeLHYsbqW==Y-wX9{xid{n{<+Q637d;R43Ls^hV{M&EgWPq?OL zrCsjKRfQFg>!5iw0vd!4fJIUYt;*eIhukeLJFaOwXWPfj^*y-^JeTP{IRH9WGU!0x ze;a;PeQy-Dqr)WADo=)SiUntu40$^>5wPrhwpWmRTP&^Q8~N>YE~3WJGaAf}MVEdU z{w$8a#JfeZ#O!ufPeGRsOH5K=W`7Migx^T#&P%!PNz1;4hLQzXS@rey zc4`U>9^|rOI0fH%o^;fZ);i_Eaj~tjB9J7PZN-L2lKgr^Z~I>KpCI<`0~$!LF3Co9 z(6d6|HwL7SyFQPlkK>QW(#IlrgZ<02yd+y(J~cCcyT>g0x_R=EB0PSx0ri~{gh#J8 zP*5)3Ywq3wALbVz-y&*dCiu$<4M0`$z$_M<4z07f8hA*cA_l>~0=^U`EVw+R@R!I( zM#y+8T!XV#o%FMiiCw%4Ys!cDjwS-Ayl&uMvw(YhgH~Qs0y#J!mmu9x6UL?Eb?67C zTP+l8%GRW1eH_ARs2v3?Zx;4A2ast<_&%DYW6@lzDVOJVb@vFIEE>M#>m0doxU|-k z!*dpzr?{Mu zrl_W9|BVC)?0?TdnP#%2%t7tr`o&qCxPiDSe;dyx_`ewR2^EJUG~U9aW=j^YIdV|0 zn}nSGVxG;5*F>WfeM?Qe@c1`083rp5%pGJ9zA6ZPJ$yoUH@OL$0}ky=asrs!Ch=P& z7V~thHD-=(!ER%p1^<`)|1?eGsK>R}MtkeEgx=uw)zmXj1K7YCR-qx=l~=~k)fMq` z_2A__^OOqnu%nAwf*D?!jWS2FP3i2u2@8B z+3EXkr0^<6#Oux=VQJ$b-Wm1tt?kYvzwwWPvi19T;oxGl1^0<2shdEC&NDhZumC zM*!-*?|%TMdYpiHr4CF72E+@G?lqid$OI|gObn)}zCTPl&>5hfWYzG~-rY zwEjqJ&#sB<*=Trk2JXyuEBBhj`o-A^!owP;6Tiwx^h*Ty2$;dmpXqBkfR5&9asqR$ zdC?hi2Nt7j?~X3*<%kXSbyip*4V9#lIMZqhM?yAYrBoAEf@RTy1=~yj%pjBIBsaDw zCrhmkj@)YrYlKMM-*V`$8BnDxf+`Yrq(Vm(@(hHs7`9U!MS~5WF;a1m!?ghTQbMF+ z7iMm;TQhm|pJxJ;#dDJ%Bdu;1HPpWHkH^Cw`7rCBejp1FfG#&^=o_2wTAm=uQN!qON8aCp z$09Ckj^Iz`bu6HG@W@!Xlq!%mKNA{0f=X8c3b>SNk}sDXV?2*rS)8w0vl-8WUaCj@ zf_R=zdcxX6B)>hWm$_cc5(%ET3e;R_n0#AoV^|~Lxl1mR^zAGd7ax~_H#VoZJ zGlyP?W4@xR4#lp^ClAH0%a`E|s8y1^aZE3Lw<_;EA{}w@82(H2+H{nmmkEgsOcJsP zfWwGlT_lpy#M~LPHbZm1gQ=|<(kI?*P9J^{7KX2A>c_ET+VpYkn40iSDKXX8X7URL z!NQ`bGQOfKuncf1c@CRaUz^1-L!44yQ9@j0zl^KQ2X78}Li{zq;77x#h;udun(8Fu z5uDhj_`QcVf7(n?7Y8LCNWc_KvT6knren@?4&jWFr3* zZ<2os^uw1O+Kx=7Qf3KlCXY~KfSZvxVZ|Yu?4@R$F^iV<>R}Tsz7(dK{Tn=*uAVBn z19JyxE&vTmV9wn4(f@vhv!GpAK|cMeT^Qk+rApdv2{Q1zCkO1gnpCiD@lt2tHq8|n z`D%?oDpzKv8H6m6tDs#H+$TklLQ(cagVD~*S&)mypF`WkPmvI+Wxa5iq__2T!!|D zONABtBd5n5s$no*ZG@gfz9vzW%cRf>dc*})1zg_$CfoMJ9d2%Xu zm~1o5==5L9 zI`T20kwp~-N6tz<4-Z%Q!EFC2g9Qt`M);3H!x=Pq3uUoGf~gj_GBql#AF7U%)-Rh) z8^?7&i#sIP!=&{)GP|`9QhTa6REn#6S|$ppoKiLqhy~x=Q8vuvG1O1>np(@|aX<;) z#(&K#eM{$Y7{JWaHwS)P*~fp5TW%5MUFiCTd|CBzeWPXl1prP;)J0r9$JM3F+k#!g zgY6kS{0e|j7;nZ?4e``Bz_P}z~B5J zmVmznZ_rzlq|CNBY#n5+Es*s;k(M0Ikq78p>?`{2{n$$8#8t8w-`FsPhNT9~@RP_V z#gVW3{6wb{?tIEKm-3WCp3prgF)OK_mneIs;Q5JCFf>-;@i9%_61*@xcrufR-?W0ZB@ei&zd(gbWWHU2 zqRZ|P&@rUhE}sn^NlVv2Y;aW{VTXXn)d#Y4LcBLIh7fmaS%VMI3KG=a1KDxf?$GOr zIvGYUHcqX@H6C{Vx|e_($Wa$&02XXUXGZ||hg{@)kAhJFc#DNKe8K)D>A=tBpc4ee zusxiBmlw%^ZzDK80HY) zwgjdR zMrc@$PSiSF@(Da@|E&pauP}6IF*IQmR%|4~e^T<*SVp%UJKKaBk>*Rfa@}^L6fj&LO}4*l0$5Clc{fYG zph4n4aTe_KuEoalpt<)wH$vO}q~NhcCyd?6?;`h#arQzvE*Tc3Z;R2*e=TW2?fjJqUVP(_1EW`oMYL1B2sE0#yDO5aL@O}gq^SScFpcYAQs97Y1( z`7S+p1qv6QR6Dxo3_W#T)7;9!e7p_*nJaMJ>s6$oufCS1o05w4bs(&I%H07^GEcez zr`08p$U<12Qy-3GqzvR**}I9EE$*ZAP%1jZ>u*=QKp#3DnikFh(vO$%%Z_0X!cCJ1 z5fS_gjkpiD*kzV8H!dH*pEBJVm#KC}i(>?j{?pKgS7B%I*flLH_kFrTFxlmEcKI|+ z9DM8g58hUiJC|Pp880#>QSN-9;dD3JKtshs!>73Bc6~~4nNO;FF90Z`ur zQV_Qp|E--T6JIp3f48PCPop^tBq={Z;eaM<$6Zux{hb0Uu#Oc#Cl_Y5ACwB+i(;kF zzq_|SMBMpSzP!8l@m3z-NwEvPkM1FPE|7Mke%wf)7vDP$q|7RRA-?w+@TifUrt}>U z7ITjmcWi?V?q$daPX<8Fe8GR3BU2quE*<@?6xK+YqW>Mie;J)pO9SbJF7sGeKkp$r zxloEN=)}0z1?;lb7p&F2cbmwCcSOe2cN#NF08T)$zgI>IkBXYSAX}TF68Y$T7>^hj zlP7qLJ~%(K#xBp#3_U}na%w(?q2A%ijyYc__{d|Z=`RAO?S$^^@SYadG>LwgJ#>R1 zE_(-+6UAj6nuhV^GVNEMt&vMIg*7Du+2g?QL}1Nfyd!k~o@**#ydMbu3>t66z1DxN8^7!rX^}BlNhpOV5_@R2Ai>;S%B9w;wezlSK{R-jrv%aFA??g&gs8i|v zJ7ZbW13QtHmr;((^&G499I23_QXAO{ua(U)=P4C*kP9^MfnuV;g9zX5L@%5XNc*sg zKzV*m@AIbZ60E+0kQ8tlyl%&(62ufNyV$<ntqL(59qLv%@fg$^7C#?`Sbu8v=~^=LNqjt@cpRnd+W-FG-!lc|HgMOECA zJouT-c?ao2F0zX!lZb5q9N6aKJEek>in>%+;-cAZd4g8rvc>xd(e*R;d6KkpS9k<; zngr@0k}@BJ=`-(|Fdj*dFkMp7Ti+SQx;zpd;;&BeoS=TuFs?S2t}{GVqn34cH=R6< zk(6m5T#w7B1nQYhXsN!R)UCy_%2?j(1s*w%6v5c>B3}Ir#HH)ft2lm#z=hWX3{0G- ziQO{)%la&nqo^^I*c+HUqLiDY@uJc5tX}pQlnvFA1xJ`$e9-(9-P_)tyZ0%j(D^WD%B(ke=;@@AY*C z(+!?0V5kXFpjcacrXCom8$3xZu)eP+HNqCV0RwEzwVFUa>R*W)(a0O%hvCa6^ai`` zWnv5grIUbukxInPzOIC&BE`3aPdeCL=oa^+98zyLpbIP9*H36!dv}uX^zZNxzz3MDZe!1W%CmEZGl{U3qMcds zwCGm4gcbPwc7crUOl&{Z3v5d4g%$`}Zzi3eAn;?uEBq1i)~wuoHBz(%DRJkyk@-T* z5akcV-fnOhcL9r6+<=e+G442p6yJ@&>~sDNOov@Q2K;iH4%>2s?X3vg*W047#h{wE z<0uaRd^-}**te(=KG@}MJ8G-UX(K4V5w3`B-W?Hg-A_qmgM7D^S>y&H-`x# zUd!9aI$ecIV#J&&HoRsdE$J?GNJM^(skT9l%1T z#X$?#lh~3BYbvQOXd-u#zM@-p5qJMO(Watu_7>z=P=o8n?lLi50T5ZwGM&;}b$vEE zI^D2?#y5dnxnJ2?!~qrd=50#k^eczCEPWV76pGcKQMGMOW#%@l(fgLKEBV3pjj2O= z`6|QyGQTqfgID8W02AZAP2kj92%VFb<0j%O!XGF!5eY<~=%<(=k7f8Jq=c@PPFpP&=^g3#1+cLHMfELf%#&JNqwiwx5ULQxz^SccmBx$ zgL(uP0gL}&t=FmCU*S|rtE7TvNtn7{DhPWvIFuT*TUjz2EyI81R2Ec9xu-p;&OqS} zTGqxL`e7*&7m}sq16tPR9e60P%^7g;NW+Ck5iMA{mbH8bVn)%BX&CjQ-RlltC!!}h z1R>PdieMm38^JGXEJj^%=w1SO(MPue$hG+R@$x4Q`G}U4tvBiG(!36*a#y~(h3k>M znx@3bUKgMqhpio|nx-&yqE3{!inT7(tE{4Z;GkQ+f3{P;s}eQ2D9ko=U=|dlCXR)l zQ?G>V5&f#FKGR^gRth;uyW0nFc&%!Vu+aKtzbSe>^KA=WZU}S~H9U^>tQ7pW@jB~S z#hi|Suf+u4C&PEL;?_C* zn|1cF82{y=QEI-l}8ogwK2D!IGgdRCjsy<2>&U7Be_mdPj+`{ zF4){72j8E$;tsxt-NO9MR^Y++KoqOt-@1-Q+F$PK>e52bpc=v~cgb{-kMjt<)C7S)gn`J-F+#(eO(w2}9NGvCsM;>?C%?=YJp2moz|V4)eTygC(zDFN zpi6M8u&H`=f2h!FC0j)TS?4SIcyol!4Sx`2b1R$l6PuJKoy~pvV`6hZ{8&%;WHYh3 zYxFW>w5+j^HGD1e(+-JYOT^v*18ddF=qpE33RP$I!fY+;9Dv`&x8r37xhFjkHek1% zO14!Gt!R(-Yg$jgnl|grKd@QvSNB2c*ThJ_N?E^#e-LHApWkeX1Zm5KM?3`cYqc}9 ztmkKP1dH2_8zr0B3LuQ*dk1^U&Cwc#iy&)5ZY*GI+Iy_-mIcU7)8AaV_ zA(+)Bx0GaaVL@F3xRny)ruUgGm!94^O)=9u;6l&zrb%(rTk4|eEh_Ijy^Wn0o8BkZ zN5=NzzUbJ}BV*gJULRZeej3|j`}Krhucxui-4`8OXnk~S3)cVNrZ?U{XC!I}n=w;y z^^wNy^e3 z8?fiEZo*yE-vpbe+#dyL^e-7m>i63i`yY6JBKEx}UJFI+!zmD=9@%bG({JQCJp$8@ zmVJ&YW4_%6U)KQdXtIQR6xRfvF_=-h)Aoc1GS6*#pu64SBwLeQQrX+yo@^!hcnWnX zW6)bS&g4Tmz>XPE#9zOYc6dKVP;@F2B=noIi6dUDNnAUOLRWvOqE-}&N}geWxpOBA zdZ@;!Uw3Qr95acvA-sn|G2cio!DTV0$4@@VZA$4}S731-^OGNF1a3}ScAo3zxP>_Z zN%IH2SIX$BZE+RZ%t*f0?<9F~m3qbPP;IM&m^k#V4>GTOKz$$3Kyl{@Yu?MB}lPCM|a=!<8%bv7OG)b)x8gHG3x1Gx@84=kVPXwXDqRSQ6JwiB(5y42RM zyYRxn3Mp>+j3)`LQ%&M(9>F=gzP5`02k%XjKWYl4gp>ZkLl*SWognWYsePwu>3BNP z=&}k8I|Tdt(1}7(K4cdhs-vL;e>z%uyI>D*M$Im@YjBU*_C7vBz0B}uj0CQwMkP6M zGm4z$v0E$NqPkzyL`bV9~HIRi-G>QQ*BQu8aR%yAcr~l1c%3<+9{xD*f6xhvec9*u zIp8odaEvcC3M=j~BB2;Jzm$$#W|Y!SFn3b?9md(+#Nsac5;*9hRsSY&{5NU#+|6 zlyJBO&;zI33V_A8^_e{yLQitBkSBungPagXz zcGx2Ep`qFEFMF!JSni5&(WNqkuVTX{uhP~102KH4i|=J!q!u&kP(>Q|1yhzC?bNiT zgt1L2z9XH|vrhS)l0e!`a@bj|NrB86sPq8kC5b=p3cPHTdFC?y&x3ldCu?~9N)r8( ztiWLh{Oo|$Z^oa1pKNkvhlICHus+0SYf@lC5=&fMi3$dMD?C-u&qll#r9c3H@(8Cq zq2Vo5^$OUB^H7rSg!)S=)A!0vC%;iDy;tR#MEv6~HCtHFHT!h7cW ziVnX;NK5gvm7rKixt6EiC9dUzclCrrZxPqBnw23)vBM}W>l!FS zzD@OcMzsRGmF5xE=VFsF>!RUxx~V9-ucz??Z<#1qrI{pwhPU({3}QW){;n<}%wRnj zyF(Wd-buj5|Bhb~v-&~Xq0E$6%+ircCtZYRq2H3Da~Mz>wTfCDvK#h{zhhvJ`Z{YB z(En3H!y3{wfkP1k4$?uBVEjf&z68!%_ z{lA&kI^Ug(MAk|I@-W91hy+|OQL zr$q?71&<<7b@D5M>_DJs-6Xt<{wnHk+aEGD4Ch2$4TGkd!h|Vx&slzOfCXwM%qurW;mkk|T zE#AAKvze3Fz4`n|^X%SSXgGz3|AD#55zpj@OQGO z+RZbqd{S06;QtI@IzH#cH9THr;8wVfX)m5ouT0@|2AH|Ub}|*EMCQdCy$!)0oX94A z1D!6Z!`z6}&%8lM4Wsq^7*O&LEm2$^@TR_AHol>wv1=EhabTC8u<8v$5e3xI%98eaYLJ@T?~N`u=2w6m%+ovznuf zfd$Qj(J&b8f?>xm#xXVCHoC=eT>=okJePcLzL1mj!~r}@b7XH~=ndk?qu9L8owU)% zxws*uFU0TF-fYR=@z78ycsx})_lbm#e5)5*i9DV~y?V%<+T-xk9s6AlQ|mSE95k)Q=*4*sWtw zvEbS-|Nd^&T!QOa(KagzB5L@sFa?wiZXuA3gq_>r$g;M>J z%aNDaU5;Bsdg&C7BBV;P?l#*?xHDT)oW=0%MZzT<#ASGQd8_Y7iFIxaU&O?n9is3; z+2v5pQmQSh(~Y%F-Rp0HKFla5l-uHzAEl}R4uMrvaMM79U_}Kwzov7{1|ppJ+ob=# zssFyH|E|=3vA7-Vdh5Lu`YC$U*mI+N>CoN;?^YWfNkI@$CdEf)bol?I)Is0??~vO zWCM66myz2ekojjAi1+eLgZ=-nwEyqb_y1te{{NbOouB+#WdCnv`+uvRaOkgW|L-X? z<~6*Qzo+Rr*@>gypQt>Yg%3=!@MtPxovccjtsc zo8bS7i|Bgd{Ki?dKre6pEB2}LFT`Hs)pO|iuQg3^y|@N%O?=yon}!jFoCFLB-HJ|QBAaqV znOkOf9Qp|?_99%;i?c7 zC-lbzQh_IINm*}3 zwrMY_mM98-)`Hx_%~Z;JYRK%I#`Ry-z$GNFFaAkLHOBlk|D@X8liw4sEG zK7_7PY({0({;0Gxemz?33Ju*@9*8gL^wlrQap0$dF~e#Z;r1;5{1>bjkY5j`L9e?GIeYD9=$78uXE&o$1z_~{ID0m-=b*G(zPH#RLvCd~u?gpJqVVED_L=y| zDNMkgqDjATp3~%#Y`aV_P<;4bl#~7K52Xm3UwaEzy-YtkBq*+ZljoVGdAo1XXgu`V>R_AzbRkNXr(2B?njALSG_}GW(}iAc+RS#4 z%j4Zqpznxqo4Wkdt{DI2QS@-i=bZ9)Zs1JVkdqR&GIg8;ZI2t+5xflzr>xYnF8m42 z+}b_Bk%wK%9E-20>`!=->HuPJ`^G3SX#SHWxTJ1 z|AOa#m~sQ8gr7t1&q%zRg^X}kPqzvp5KtU2yMXE_vl+cfZuu| z6GRQeZq8-ZCApcNw!pSwx*oiuOMDqu}QQ@R-ohocS+)-LMLCK4ja z){d*klO7kndU=T%)pB1=^r~V<=~$!psI#@yf@LM&dcqUWaGc0V`kAcPX4{AN=Hz*7 zDA4(EF)No0G%nGbqeq)MtOf_^hqzh(c2QW>T3p|i&ipro{>8Fj4KoJoxdsBKz_OqQ zZ|DiatWq<&9TGkFb?ESa3j?fFt*9*~E9QsCBNpa368aw_D>hm>Mu?vf>Wa(*~X zl1UrX&{BL|f+(yh9Xs-@2C~g|zDATw$J*LKV5$*)OK#%4S70mkwE&k4#80Pkldavh z5BBeuOdR&dlM4S+1%E35TAnkyr6e;Mcyf=qei6-jxk$6VwS>)j80b*a)%cAOrqIf6 z?UMHD=DyCDgBoh8eY zjWFNqmmzshl_#aOPAVQ|!7ZNUmgHYaZe@v4gdXQRtDh%2Ecu!ZlJLfUT%nbsQko|R zgCTRH%bJD{CU{71oMjyV(w;zDn8%v7&OnuYq*a(jc^kTD7^#Vy z+Tb3vN1_Gv=o}-g5t$;83;6&!m83l{nEnfBAb)d)sLxs)Hf$)`9XWareW3(Yt(f|8 z*Z1hJGkZQs{;F^Idii-$@RwcILg47^k#|%cn1HHrkI^gXe+A}PY#jyD@`{D0TO^@$ zH-A=AW>_S72r6_Pl@wMo+@D>y7;Fb^P5h(CO#2q)@!ksJjg|5oMWz~eXhBilE(TSz zy|LIVzY{!dDsG%NMBW{2Hx@U}zPwSo0!u*RO!$5$e7dVqx*I>W7FTiCXTOO-YzYaK z$B|YlkKz=;N(KV7!HNf%!s;>s-m@h|%#)NHJwU@l5~d^1ur7}Paa!H-F<#2x$zH9e zzv3`yO?13$M6DRYFH{Pv@zoY`fYWJ0!=VKI_!BAY*Y~RsD=x-&grtn}O&v;1F zg+vWmX{LWe>V;(R=&{3dA&93Gw;DFJu`v>^s4U1sAIJd~BVGOXHF++;h_Rhd}E|eR9lw%Ma|fLO6O5Du0ygHC4?sFCBC`7Q?@Wu76>~qv%LRXj=f`>(tpd=!HS7*Z8UW1& zpz{Uum1%WaTfvqG6XlXRr?S9E$2bzkW>3Lsim7@YR$X5+b~D*Oh0=JEjo~>B*niJx z^w54a8Vm-WPs5&Jz=+~VZ}Cp)7^{mFfch+HIRDcj6G$z-ZRUp-pz1Q4V|#)bX26ce zH??<5t<5URbh+>0iDnL+*w6U!1hum$&JUadNXJGK?uaE-2ee=@fhq>#HnUPS?%Gd)$ zv5`gl#%B{ehv2#KU)GcOv&xG5tKuWNO`FHbk37*?A)5}&gCxVh^Xaf=D54;1U z!2H>y^{SrTj}tj4iJN+4RVU)hczgbZ}hmLB*C(X}qDY=c4ORD7ZSuG_cJep(B zj?6G`9qf2?5EsSlKNuOYtzTs4JR<=2vxBD-e8&?p1}BCPPhl&D@_HdJQiIS>FW|Xo zI}tgN)E*zCsjjz z_&xjiI>z0jRnOr#a$jl8C?k8!L0UmR0+-i4DFB^>_zT zuJ4}GzlGqNZaVYC_Rz8 zN6c-q!}}^)vy4B`4<=#W=K(|IB8Cb$uqOQ0312;U*HMgvgQZyMRNTN`c!|AGbOw)X z++)~`Td!k2sEA_Hb$7uw*r@e+KI)Rc6(09d!9%z)H*xGf%M!>mA^>yrAR_t-gAy^s z#ZGz`n2v;nQ4;6}4lr@L)g?6C%g!Kyr-4pZyR4p=I1B+pBE~g#@kgO@1KShX79G>V zu|(FLO5Cql??cQo#KbZkz1lP;GM1yt$!~?l1-l8N z5|1#t_Ibh>r+gR~7Z;g8^W@;b0?G4`7*x6nJ}2}R9`6J`BzzS>n5fepv<3b<(Pq|F zT(r-Ip2IKWfp{}7jc7i`Iu;%8R$3?xzayBHSjhdvN*#c+?fe%}R?;FB1SME6gyTss zzY#qdid~yJwrCZ3bQCib2}%L`w!{>ZQLC`X+n}0zd#VB6?J`OEHQ{n#+?!XSQk{H8 zRo>~+V8i1;h(OhbTF!Gb@PA$+4z)EaVa0cpj4k$LYTJ})d1RgsvdVE2(tSL)_Vy$3 z3uLeNk!@VngqJic@(4XYW03U!9&c)O`l^B0ep?<3mh_@2>TYEfdH_wR18VpV0`?<3 zFT?FyK}mW0NDek>U@Q6sY3Hnw%Ws$GRO$hxu??l9A|UZ{IgEY-tyX!_Opx+`5wx|G z08dxKc)D_zGHp8F78q*`G#G8j)1@T@8WJ!quxcEB;I{-C1Y+~{Bu=a1wlgJicxS+Sl_ZzU4xu*=W^cW^B&#rK;jTi1XM6pk433$j z>$d~MHfR<3zRo1(wqH`#BR{D9nz2IO;M-*65p$t{YAC^uZ3%)OHyBag<=p(y`$^|5 zf2jTty+J4?(GwVB^Vts=Hp@HSFp7j@f5SAB-7AK57aF99Rx%c zu9mrYlHU=R9Y@thy75KLQUKQgTZgYRu~=Bu54KnGt8 zVdM?kt|^Tyq;&r23t(c;w}q6GApss)Y{UEGqsUk%jXn6_n>K811ZHL5FX`8$r6Ca_Tw} zbm_zx=L#w-m*$W@30}TA1CJ2a%D|@T_+VES<=NUD~4dcm@R7+9C4$kprs=IJ=GC1h1b%DVlFR_Z+BPeb`5h6MR zoyu)!psJ1<6*&(As&kXRBM5#0T@hUER3@ywXQ`1BuUdiUFuonbY#r?MkoK^YP$Qly zw)Z-}%;A?ap@Q+k5HP4$YDG%g_uZRC;)KR!fsxC9y_Qlx;^IN2XwxvLO?n5;O?-^S=%5+9o z^+F>%E0nk6t!lTJ`+=jN+b*9Kg{iH0!WZzQL#`t(rujJ*V1uCr436A$wIVX_Ms}YL z_2P~?2HU^h&3`T`cNxWk!}5Mnn9?c*yfJm0Z2|b^9)4(NIEgAiUd$jRQdHb_Nw9Cj zh#*e+{(Lgdh@F~CocA*1N3Z_q4#(2l&J-7@v$`}5Y3>TVRd-guEAb)VgP4OcXW*_h zw=xQrl@S*z;4u8u5C81-Cp3Pj`S4V9bPCxx}a|W+b}h`_1H;003!Wf{g4i2|3VPR9#c>f>ACl zCIv9L)Q&kM$SUDOF+5a+j&kg4d3I{E&L_JUa`3e2?T6KtIF8QVcN z4_jSwdjvn-)t^lc7_K7!P4eE{kEDV$u$^qJ^{s0IVdz#2LaDFM%`Ul1 zhb`?dbjg3Muc-Qwi17a4@1jKK@FO~HS@DQYbcVh}MCY!T^n`mKA)+&(r_B0CNPPh4 z&%h}CnW%qz^8XR{F5ppBSKs)Yxg-+^IRhpTG)UA@6G2Vdh?ypVImt|N1||^XmMUsA z7^9#9IRilgNt_wY;V^1jt=d|x^=)6<+G_i?T)aSrNG>P{sEAS#@HWH9RZYSrIsdiR zJ~Npl(C>Ty{hsH0-^!evz0ba`z4lsruk~A6jA%S*b;xI#-ZRKSn?}pG4?R@3ZR=C% zA_9cUeAI4p!mhqy@s!|WCk-vW7R<80E)%&CT^|9w; z&Hmo6_2^~4*3}>Vj=Ea+J1ya1KXrA^^TYY;oqn=s=qM$aM7BuFaDgVeI?6H`&yA0z z^>6(9M5PQkLP9KlWt@MmAb;iJIIUal-TVSxz{Ir;b#ZHJ_Adv95f~v z(u?=CvK!UVm5W;&gzR@*fjccFisQdgpmRd+2G6f8B)u-E?+D)WtDSt=*TstQWmwZ; zK`AqOd#Bb-a6zNhRzXgL(&fos^aN^RiK~}?vGpYO#r8!X!xKb6>Nif(eO-qrA4IVx z^j0fyjNC7w-z?$t(1;*(9dDkztwrLVkhnSN3ZDg9>=Szqi@~EtL0(|Su;|A_RsC8t z)eLJ)UM^PhUIqbkB)WdsF+B+cZ-fVI@OU#u955$?G}edK+IP z((8RuOHdyn(%b)>W?TPjw5v#)4cX~>o=p<7m~HCUA`!g{--MU<|L@`hogZo{w!~VQ zd%y{_!jNIzH3I3Zo)o-$F4bwTZxXiPL7CGa!G^Z!ijx@N3s?=;?g}1Hb_U+YL>JfL z3Z6)I+IrYWYs?OLMEH6%6T5F;Bg(4HN7RXQ-GkswsaCiAk^G%o{>Fi)jN3xFW0?S* z5jD|5Ibb62jo^{w=50Etvw6ostW|D}jE(sl1)5rjtwH|Wz4Aeqe6*(6`&I?wYv`oA zL=!$t4`ft0bGx>xpQB{ICw_eRjgz>K9JXUC(}V(0Qx;GIgiNKOJH+)IXOn-g5PaPsxW)4Jr*A|!D7CDf60BZ>&VT5G(=tB5C z-fy!A4Cecx7;KpXGbjXJwc^}~+;+Tg3`UYsLr9kohF%`Pmi2!_hItLvbpHWqT=RCC zim&M3oj4(G`Aj6m6?lS)Pj2)Z8mIyGr|hHNvz#YS2t0sB9_-{@-lsqf!Yp&)FoItVqw721J=h2M?*`RWJCGxz_s6G(<rI&2QoL67&L3=yA_93-`6-y15#u57uR2nNGS=-Ra2wYJh&# z?NX-N8kfU!%oQ+}Ib`W?=WAq(GgpmF2I9-&iTLJQi1@A;i6D#v)HnAtqQ0CrhfrUp zXG|>Y`hZ$9{>_WgTP@k64rMY`-ZKdeS#P2NxA)8<{)vO2e$udc&x~kD@&$XmFB9VQ!j&lSS8+@%qki6fn zh0Oo~uiuR@8X$||^$Oi!q5SQTkE<0+DT)I@_?q6tQ*qw8Km1Q4vj;2%y2mR*e8$^j ziNnbT>9dgRr>H#iddh)a4ObZ6`_)n@-d-~c+`#}N+j##y%;pM@5ol<2yaoOzT6jwZ zDi?FDwF1JKR0@dVB5KDl`FMWYh8l7*_69bH{E7S%cVqK95*QkefB-Jz4}?wVX4Y>a zQ=~VsQr@vY{H;M7A=U#nGCl-!XBTZ)guENXV83x4ha>j^@7s?11`K3aWln@>d&eiz z0P%i2LZS{(FY&~V_dRBajgWt}VPIs)K5}5VVXUzT-)IIScTe;a@xq^IcZ}ie_+-P- z66H4UITQ1-L&k(gk2qQf(e`8~zHG&@|4JX5Pk#=YLB^A~QeMTV9EP1pJ-1sZaHIb( z4^lANpH0g>fXB=@?1g&X{{#lh!dm}eq+0!t(rJI9sN|E4j$3XIUA`G@ba>x4kmXHw z-OhS@tA0p#!lMXY4>ftFl4)tN`H5bHYF(X*ChP~?#5-ADm{S&e$w)H&WIP7Lt9pW& zi6?rz(Raz8!D4{o=sP#sD(?r?B)s)JgL<{B)6pC9Q8p{(I<$LoTk8w;(zVpeXpv6T zq5P!jkrk8!{}3o5-JBqaLiT2`GpTGzT};6kDGZ7@$Ugg zAbc4Y9Z&gll$Ww}{NspAoO?i<&dK}n{Ngrm(Yg9)yzCKA#w5U%t28%`YgTCz;6I-x z39$QVEupWTB*1-7uy4kwX>%ZJWW7Oh~9cSrAbHY z`YL#^;=>|u(Ip;S=d;lNVSQ|!KjG1wrKftdb-wdww9Zq0t|g>-Xq_KdG)=Gl3~GA! z!rSnhXDFzLns!Qpzy1P$gGrLP7(D%MMv3(YF+(EbT# zilk7=!9UaV+9JknUWB2T$W9Az|J|Aty+-AIP3W!Lva<~9 z@gxoF#wWFeEp;@k&uHIVqNb(7H<6JwjDNmZXJHk^vri}Eo~vn>T!Th$E@ljr+pRv? zq+=rlI;@HvBl$+)ogHDc6w?r_SvODjvjX7p5c|r`X`_#Eu4g0;=v9*vVne&g%-jlC z!~-pcq7Q?Z2>gcI1>r3UpO*bEwM{D_hmgfy~h@Wx!mDdWiR(;WNag2W3kb zob6|(So^yAhGmY*V1FG*qIzOY*Gk!IjFoa^pvnu{a?z-~9h)itGsX*yN;nB&0K0J^ zR9?X%QLMj-H@Q_7F>U7|j_Y3f8Ng&zcz!Db=NnJuf z9smg9A49VaA>dLSS9HM?!XH*nXmQSS%H{dclqGzpAZz#0ZtGH)Twd$B0`yDdUyA~% zIov*jWUV#KwJzaKbGzWLxmGEX2U;j);CIOFJiG-qSRuEMb3#+z?^9VQ8{AIy z$hnu`$uf#e0XxE!8+Dp^QW^Dl)MAZ1L4fjTXNLx0TFG=skQoeFMmkvRtjy?F@S9FV zn#uk!GA70dL_Ut^_GCkEkE4+FI(GgF^fMPZLj}dyaLJ+2E>cRQ#qiZ!$N{ZLmyd_C zj-#MSCVX?zWCq=?-PTNLf*?OoDag)+AeWZU7ZfKVS{UJX5qTssNfcw=a6vI(G^^WT z5J*0$WEQuNBaAyjyA;iPklcn>kp@vz<&Ux2oex@~g8_VV<%1f(O;Cv6mMI#)ok`h> zuJvo%SOI~7{1)DZbI|d%JC`P)Jg`O-*Zcfd6DObSr+09w*(hpDP^Ru%5r z%X%^T;Sg4Ku3VvE0@f-og_)7TpugoOnNaZ*0Y*l2G!yeH!4G#B0YVgtr3KAXMpeIU|I> zxn0w}g(2N0WIeny7{+++SbQks6;dTrw7XQw5NU*3UF!DYfbkfynd*~xJ@C?dQJq8D zgUu7GOR`*n!Vb55RLtInA$LGNYj_2Lp;qTODwHp;*c^SB+{9s}@6*qsWsXFEJQv}X|wG_~gnJUH>Z2yf|;1NsGj^-n}ehwDqTx)*#MzrHme}57A90pu@s5ZCNRZwe|l41r^PQ@(nT}~K` zZ<`wD=^V;}Du;6CB59?dq&t-=Bmb_G`&5Ac@$Wgge>u4i9WvyQ?_K1sUYYOWc8P(X znq9VoF8M$?Uv^NGcZxk9xw+3=@(EY)gn@tKD+B)sTCOSC4&|ptey5W=B5+3qEcOd0 z_kmOX7b?JhG)D{L!8+9DG+3O5N+YDQy6#*gR^OQ~a_@?P`^=&(BJyPsm%Pi>v(LpH zcgQ~kj~UeMqW3FgpWmRbD*Z}-v zwi*6Pj{RkUzfxm=rNdttSPI#jezLqZ;t=I`aS0VV#vq&SVtAH`{E@g%g&OY}B2 z=p+k5Rxkt;9R->fl`_IaK|%mJP*yIIRwz!O2`4lFq^@lONO9arf!j@OFN1k0gL&yh z8W3&!UGgVxzN}M}cZogw+}tjge99FJ8(eaPf8%Q)gAF>orWma(GYb3;2e-|^?d5kl zxOQ%zAfGIUCE!P^<8T-J!<{zF(-}NQZXeVnuLNQ%17d@U1R%Cn7hl$jmo_~gh+Lbz zKNvEot)lmkK^iCa?5}weJ|1mYMw8F&6V+DFacF|*J(s?G8QpJd>D)eem~A#JOJ+|N z!?INNlx|p-0bjy=yKTYcyCXlL`R7}GNU5~XYrv#p$&%1kR~rnS_JZ7Cgh8wDpBynbEL zunNLkcj?G@O!H4J$?^6ktaJ}a9@8-HwzN-}imxLNiP?Kxf%^R1?uZrb3ka`U zF54}7K|Gnr{z{At*o%tZ#@)cAFD$#bz^EEoRXNZC16=LwP(dBJ0n{}RK zSHNL5<4%SC?zq2GiLil=7S&F)`8kJye)-q%oTZiFRg%F@X|2$-cBIZT34W4{l2tPT zR4b~el|cN6wIWUQn6y$ zAj%U)z>{K1hJV#o*<@UUSi}XU{S6i!|9ns$)ziQ#ev=iVUah}7+GKGpwsSVM(_hKL z3`KKEcOjg4oV^YPw#V47lP_RTnI*{YlN37a#vL?644b0!_UV`3EOdA1J&7RyrgEMe zT*}*MhK@~JippRHD12oH@u(3*(gm7W8OBK4=nw%)p?n-zh(kUT;`Df>7siM#h?jke zYeov^9lQbOi2EUDZ#MJ+Hja#lQAF zopFF9r#?welh7c~T;>Q0^fn#s*UZ$3mDm@HPHJ>1{wQop?p}<2alDGTbKC>HOeZ6P zDznR5Xw^xVsb%Rk7`%K+bIXzB?P zA*$Hwljxh0dm#L4opzjCuKXTJ4L`dIrP)lE?58*{(AP}XR|;`Uvl*Eo%E?v`>V89h z$lf*)h5z0yQTIe?F@^0!o4_xgN5LGu@kAG%EZ{M7UZxIVa0!GDih+k57wGzCK_y7% z+yms{D3Zy}HA8LySwN=0)@`&}vj&A&8`jB0wDMqmq-%`uCus2T?63RO3+O*+xQbE8 z(1<}q`x=+>7=aFMsJPyH1os*{MbY``oorI(xsv`WZbgZ!2uBPp~!=fuF$>bmZ z3B9TVO6vBE4<93kn~QE;kv(B|7M zXJTkT&v=~MEbJREsE?tGF5+r5>*=Dte!ODZ0;~Bsp=T?OvD)geoz&bk0yibHPTq8a zI;k7d$sp?_51phb-A*UoKmgFY7dS>!=`K8Laoeh5&@Z4DTnPIG&w9`g9^Ui5xnzYl zJwLpFLxZ~pwEZm;$p_^|>QlDUwlZV+RnVXBbqwn$o6zMD$Ab5-q-Ap~{2LnbQP^YK zM&!)=BMTu3OORFqn>0Nf^Q(gLGM6X2lt!e6(E5*2>?La@5N7kI`9cXxm0(;y2(LAmk-bnY*icr6JEzwKl2uw2iWdjd=7}@G;z@q z3!CjaGm^lV$mGHEFJ-W~KZ!xl)Hyi<8v6H{Bom@{Oh;m(D=ngDc_CHFD314EgMM(= z#^dSG?5JWogUiXY(oqMjgN1ktKuZLJyLe^`>&jAnt&&j4N!Jx7NH*xs&iXjOBQ>;z zxSMIK_I8}QJ93H8)QFM|136MdtMyE~d>PTCQMh58#u3FZ8qmr$d-q~g17h+NKiZxH z|7D6Db~}xS3~X)$(34pVh$7Mzq=+n~K3!g#Q`2G3i(u>%GRYU#~q z$ZN(K#4@C}K)h2*%-``3+0$di41=mSYf$xVp?iKA^$$aNsBhivsZHk+JZ8l?IowKL zHl5S+j}Sz^_ig4Dmd&g{nACV8R6UXmXf}ApAtLXI5K2a{aXH%}F8Edg;&N6XdLeW! zneeScFO5O?NTdt;9@*hJ!}814m0#lP@}zb+C!-MB?o3S(1EYT514R2H4Z15=c236k z8i1&bX=9t#5P<0V9yBH#Wy09Q1RxqPGdC<2;9!`4$A<#iRt#|=0wEf9?NPbM;2{nA z{XJeYdAAV3ti3+>00v6Y{9|08FNjKER_KHA+CAB$wD2|bqC-#uV!Az8iQp|#12k>A z4HkzDG|^5^3LXw4x|&m41BE?1}ODAm>o*F!cxeNBrXJ1Xxy+Kg{yJ&3EBXe?F zVLU+ce!7)D^K`*TWBC!6uHeSyrPfIg1)laJ6s4~a@`zQb0Vv*PFldKFj(I|`y^qNh~9D36QpQ3Cbo z60I{MS!ZYwU8FxP(f;uMyYWEZLk_{vl+k2p)@T>h?Py4q_WfK7O}9&Vf$cd5q{U6E z?K){v)9PtD&sfa?dB}Z4dx>4Ap=6-%Hx~SAbcSDMG$2M%6q!P>Wi0;eRcBWK-3Z?E z$qwG}MdV>v?A!3_=&zNXNlFztRlCMp<5`UF`o2ZNsCXX21VtTe4OG#B zf)tL?1_*~5fV`Ua)-4*AWCvaD=DVsFSV3~U=ZQX*MUx{d0HT!~ZQ62=;lxdVkr=J> zjG&U#*>(^ZVRHkCQD`qsx4<#(ND zns5f@=X!y*8h=!-{K2B_J>OvXkok|}_0(FiJiCv%!cqtqhAKfQ2Z@4whgIXbs3+`& zLc^=@0`0aypE~3|Xbu^BHQGZbM(bh$q6P0(O&)OOc4KHQohA>Ip*)ZtYQwy0yQ`Wh z0-yr8Z0#ryfHYjLtgLh?3DOD>2MTgy;=mBMLuDm`x1k`gZ&p+g_^Kwh!QE1!Md;!x zv<>dbCA7iqS)wKEpG6zo-)drlzzr2qLEx##iT0poolzVXC;G+a~*rnAXj>-8PQaN#o%s&E&ZpGG7IcsR^D8 zp}j246iLhNhBZN{(h+=x8~A7NfUBY`6~iP>MtJ6?MvG1w1(QrL2>es65gwJ9`4h3X zkQoC=l%+zpOA(`%HJn0k(HRB3hdKY|TNF}FRVPSDWf-G#P7vtVWNJFYriT*8MZM>$ zn2++4gXGtIVW=^i!>!n1NQ zu*971lHYN0@3CW3hvLyOFTOio?Tdw{`iM~TKacm~o3;*}s(<`9F0xupyRzKEq=D^} z5jLwy-l8RLTxrFyYF1arR$9odowq*Y)>hgz_t8qb_dYG*K{u_mGWLzjiF< zBXhe52Q{M4MJX@$fGgn4^mW0+Z&!4J?933>IW0nqb1WVhrc3qZfi+bidsjtAhEDl; z|0g;Y9JCxywqZTGdB+bfInix9$p_kX%(2K!_b39%q+~bOk0*1VjEY$$k|Yj05`0D2 zBn`XBwl?girT#Ws>Z(*ND9%i3S`$fD?~ziAJgY26RLs1E<1H==Z<$ROzi3%kCgMGC zt)Sdl8JNLAHyyT9{G%d{?AtM4D%(Nc|4&4yTcP=USYmzcz_SThJ*aSiun^c4?GfnU z6jh9*Tv0xX2d-J@%#j%yJ%;+FP=p$32K8?ZirxpLRRV2uAkX9WYYVMeI(%gCgf#Sa zGL->Mt8)@^*O$`HNP(aP@J7L9D6e%D@SaI1D`t1PssjwKH5m22Zo}v}_|5v5e2JS2 z&no5DPh*F+G{!!J;wLDhxz=>0IAfqRBOM1Is+CLmO;qT+S}C4fKwx~HpE{J~nT~?G z%H>PK|I$an$SBWi8R|KnEQl$u4a>*ic=%Mfp&F$ny7Vqm=E`RR|ew)l}w(&CW>(H9dRCTaJ z8Sj6eWB!X-F{iRGdEXy7Rwk5&7$x+x>md2Mb%)X3ySa_C#8VTx7_$8~M{ScoL7ahL zI2oAzc(HmDl^n~-5?$!i0u%20<}#jxIMpaVs2O5V(w;(`J|bw1OJ7MMq{ba zG&5U}2`>3YC~A;6n}fc47&0I~-gobI@5SRadcUogC94&L!9g4D(sJcm;8FxOflzeB zXkxg*A_xIdX}6MKzCeaWiStjSZEv(NhK#wC3bVQmZJpE8n5{GK_tRoMh5(Of{iDMu z6K<=U;Nl^tpw6}Cvz&AEbPVan9k+}kQ!S{%fb%T)f{eF8@(3}o&^p&0SY)kmz%F8S zKzGt3<)o!?`za@yYhp!_>%4vU@cuvR*-|A&VCFuFvSiA`yaQy8N*y>Kn2QnoRJw%t zq+C7}x<5JEn_uJQ1W4R-1q_*ft;qaHo*+;rWUo&QVy`ZFJH~IC>ySf^q>~Z|oGYue z+!0rd-$uWecexBJYk?b7iMDpnm8{X(CtcNBS)mt?0)cQu_c@Q=_YS-ml;^VVvhZM^>(vf2H?#lQ9~3*BQ2Nwe4T(V|Gr zjr_>XorHwOJeTq!(^UvC|8(e2&A2QZMR)cOl>49q@kzo2-h-vvaPyV#wbC%tyun`? zG>deCuny67$mat41N4vH_@Q@FQD3B8k3vPLcq48J?KDLvBLjWr+j3hSw#f1wVFbs6 z8TX7pG-h)cEdl8XD?kgW^1w<9$lM^Ol#TT^SgktgN(3pN;8LDoQT=XmeUzfxdKpD= zamYtQ#-=_N%Zk8Bf1-_r7BFs7bZE2)R7n(pYE5Ef%mCbEG^msyzlak&XzecL{qu~P zDq0`6e4G3544fM7;RWuqNE++TRJ2~>KErPRm_P_6tEh!lQ$stRQ&o9;dl_9aU=mi`VJkw!!rdzuV? zg(eVL?EKU1>~`e#Fg6Br{)Td{!2{BJ6e*a4voI{PCQB?=C z?1o90)d)$|B}Vef-ptu`3Oe3V>o)j6bajBx6~Gl2sq-{mh<@)--Xd0>w01LR z)_Q&dyKBb}5JW}9CS|d2{-|Tx0<4mBy0Q2E3 zdS@CLjnECWQuO}(n66T2x9Av#Cn_LcPtz0@&q7jIHZ0T>mba&o!tzV)!+X`VOW?!E zow>&%*9!cGl_@Ca-9i2&+QMbvULy!|hHete<*$en@cz^1KxyaCYwshM<{tAFT}2J_ z->GV-<7(RUX%-C#nGNX}t%vlAb<!2D>Bof!Lmy)=)i%+4&h9zxExHyvA*yNDn!e=iO_8E`BA zq*zA*XQdb@ukath!w0vLk2X^-CZc4KBM`dPp*u#<>F@H`-SQ#a8nX~t%B*MxFa#8D zM(qXFNf|h)gnr81vG2;|po?DOu@tw#Z%*ymUvHIuK z*ygi%_t0>S*u1TiRwSY>ZurNzrLf0xr{HZq5=iseCt>s(zqSQgN0=8DHa49cx$~@{ z%QvDY3#${M6y4AX!Q0Cr+>_ZeQQ)_(xBflK9r+FRR9jF=s=+92_}1lRp`&yx)@Kf4 zIOFEsJe6X=+!>7lGnU1GfidG>-o`(&5Ixa*$RTVXtdkQ@tsHVYtlL6%nSUupregLm zOU*9tRGoAuGleOgg3XN73=1Z+w?W>X{gE>FuNJiAcp3$cR@*k-_a_cWrr3M~#R=+DEa;RR6q*)U)BA`t{&Zet!LF%?uZ)(+ zVeW)V9{4l!p!iofR`nuu7=IX%E>0OJ&85stk6r|d%4nB7KcDPud{pIfdsrrku?yPe zxiT!U#)fU|H&!ME6|tU26YzJ-l@;dbU}<1xFjm_`%UAR<){lKatXgj$=Se|4zjT2g z?PCF9Fg+xa%jYNI5AZ}^US_6yKV!RaJ?EBlUokTzQBe`dTh0F}xuY+$gkMHmuU9=6 z^LN4f{c^d3V&Lt$07_^nV#7*TifU(h;IGU!cuN!?mJShtq4TeO94P#vdo4{IVs^4}$PJRfzYlVtk?)d|t+3&Y z5EQ~@Ma#oL*`cCCK-V-#D>nvy78juOkAc~$e~0IH2(;?(pYc40jx(T$DvF^hDCvz$gM^@F0onq`yO`CbMcH1_Alz^=)xfb?45X>bW_#eN~IYn)) zk)2Z_mm-APw$StgYAl%h*HA-^;+(>7Yy~dvadtb=B5ngwz7s~P+%DQ`HG4QwnRfwm zILMO^DHICLL!r=CqtNd>Ku~LVpk#qUGd-8$TNR|J2;@2;sL$Yv!xZUjs47csd6p_| zAv0sSJX4fkVHU^rP(zN|C04(#al2E9JRLI~ja(CNDTb}q48=snqtgtepBi(wy{tHw_klV#f zve@tRoWx8lRxjF$;BSuho2mU;v|pX}OMzLlS!j~~X^da=@LG!hR1qX8@7smV1LeaU z!&`$b0AVq;kb6!-hm9ML=}NH7GNRn8)aQuuDY8G=Rj@W^IVd;FLBN{H z`gz(Did>`F!^y?)z8>BKkp(@$Na_EYr3TB5ux6B%*V^bW^|bTZ}gp1r(0a0|z; z$K62io}K8q4?`h{G`?LFQEHDe8(Psbq`dxu`P81JP~uuv?@4ISlxTZkE|l4sNVPB@ z8za^s{gtH;D{zuX*okCfbW(X2D~@>m$^B2lcome<_&f|fTA7JfF!I@f`EtwCGhK>+aRT5&&$i+7 zb=EDv&%TE7h>WQjn%*m_LD73AllP+&-XL^PTqqv1*!&JIp|;R(AH*HE3|DB4I%|r= zwK@2WWqCq(E9aRd+UkMDEU+W9seq@Iz-+`gqn%S^w6g%1%}O$Hv7w2JsDNt5?z=^K z0ZIx|F|^elnN9%~Ulf&5KmL)0t#0LJ)W$p1!)THT8B+$ngb&6e`yhX=GFZR$X8Im^ z3TVUmqPN}xTVOd+<{@*96RBYu85Y)C+Ae+`%kY_p2ly4*6IhsvuhohiEXz-PJJ|~3 zXyMndB#Xe{N$r@!tnF5xYkOxU*@VONYmWCxn&bTv>xkf2=A@kte#0W`NJr9FczD*w zdlC5vnLR~q#h@`zPhj>*x9u#yKABbZ{Y9!m_g4oyK)}WYdt>>`gYs>^fY_iTvEk2{ z(h9&9!G zon62lEQ#5J5&!-_vTuvC2fHh34<>lmrt749wAZ6xO);CF&KsBpb|u;S%tw144~!F? zLqwv-1Z{7!aWMV;1`FBzfi$8W6dbzP`pI(1edS8ISgzcThC2@=!9RJEwC#ucfA+*dJAqGbM5xp4X@_Ktyzh1J!za~$K(C*Z8h`xrkz#j%q4BTW# za1)e7YlIG`o=%AoNyjDsvxz8j5oDzOc&)R?$CMRNro_ct^D{)ZWlcROtz;B#_&lX{w z>uRB;e59Z(%LzQLGIgpv9g0fUl~)US%||fmm>6)ULGu=+0iTlZ88ai0VQ|T}SGof3 zk!Bc{DmVA3OP*Kj~Rqy(sL?j%D^aGMzloHv%=_^G$Ock`eB^rt_8ytPXV zhOe}JQkM-)eCaLnvUs1y!St(5g9e}sx*5h<76Qo&We}L1fr|4k#bxdmew68!zh=>Q zKzBXoYjyCBJvF3tlaxVchZ3HiEwQGfK^~spu>HHb9VR{55Ik&#-z5evX=eeNkUnxh zUe?$?;-9z+my_J%l=r#i1Fk^cBsa>J^Xd^2DiZ`-F66Ma@=sJ@HuW9oDq1r1d)xIc z+dEGAv`aqF@GD`R(~O4_=}eQxv&=$H@b1+K!LQ9F0pC;{Y<^>>8WeEYICzWkuP5o@ zU&o|Gt~2ShRK59O7=Qwd&h^MIby53kd7s0!kADIuRjl3x*(Z+#CXFAD}%V~V(7`*YhWJ6ze)2@_7=^*tYRydxY#$Ko`M)+hUYE+u$z; z*XivwZYC_TvQBsxt4Kdkk;UZ=>aix?@5aCrPsTDC1~Od&nG7t`wa7>jcqEq3I5?k? z7@RMG<$DeDo$QaxmpC|IBFpy}=Iexif`>4d%M3|o z?_tQt((%YE{0eiSAMkJGHzYV=;()cB3ghV|2uO_%xfRObH_YTP*e$#el3IOT^-1o) zOfLMMj^aeK4EkXi^x;3pXD|%QU?7$q%U~RoAptTNBTHhbreUe3$jn%3!m!kYNKPy@ zaad|%WQ+i5@MPvUl$u!@43)sq2&lm@hI$m?J?K6n47L*~#zCVkCUrVtypxb>LEQ-G>vnff3_Sma3 zYc`F5rzG8~u{E1U!qW)ds^r{OwD{$pZS{6050=m8i1G(wU@gc@2ScxuAl>S1HP*-_ zV>OqynvRlG6j@8i8U41lA^Hx#VHWT!V+!m^DZVaV{s!K`8j(AJE?|&E&LMZZXvQn-zy(^7(vyPF8Pvk{@^qNnVwzi95T-U8SAF(Lf$M~&GjwWOX=>%^ zshYo>OWuu~82Ium1n0OQO9sh))*jfqDpCbQg*p4QcN^|x6=Tsqir>Iv6JH0lETxU# zuz&+nOo66DYm@f8uE)2*!!SE#`lMj<;l|d9I#`-1-Xo2{BbdQJ8IE8EL(;b9BU*-$ z>~kZg;-I7eTPrgQx{1{SUqDHabC$`Gv;#-(QW(ywo2DJ& zleWdO?|D6evQwF}5*)aCy6Q8phMG@8!Ocga`A0_cCt`j~*J;HkYQ)9rCv{R3%cO0ugEp{-h7aWbd7!|^ zeYWdsi$KF&{}hSnMJtP9*MjS>MD=;X14YcK=}yw#Om`HauYMK$8xU1_)Pf@BtUn10 zc_Ao|nqI_w^KB;UG>dKx^vHA>-H?uY3hxR70!*Jt#>awDd*P=6b9Ax$#j}O6$|qh) zwSsh9O{N4Bn`2;4)pSAnhbt^Pis(@E&cIinT!EIn*Z*lMtNHqu;K5bhE*eY|u?E?c zP8FN(f}gcmaV4v`Su0`$D;JSMLFobo<)Zi<`Q>uEyi@+bg@^%zt*&winzo%8GtzYg z`JpL|F-SwTB3}-o`unktY%ZqhJSL&NY#K+W5a{Ab(D;+l4IpBy|hiU-SD@pwsN-NL{UD;TyV-Xe3J2camJw=q*!4{bI5ttigbw=sJ7o)wMt zm@aD0*lSa?L_+`vs;e@kIu9{+1$pPJhxtSg&VsF&ZBMnVS> zT$65+yp0GQ`T{=62N6AVkUe)a|s55Q1siIVqF~-?dn^X zYh9gDKwVv5pe6j`a_Z`mfp5Z>BOFFC7Af5UNwWu%wp^~^);EU9GC7yy$h(^DgOarAQ?ZpCzQ9wb7 ztVb)lLbv=6I!cuq2I3<=jG%Swvf<$i0-v@cdzmMA`%Ru%*y9fnu5qr_?0JV-E9PKK zh8pc_Is+M00OiGnxoi}u!}rl4;X?LNZuAKYhuJ1PU9t@&E0Y{p%!$nKJg2?b&S8Mg zz(1(#B1Sa(DD?h+)2)g_d6nLxg~cOQ&}Jz0>(~Yt+%7uR7Id!H^?9wLzD!MCCj1UAydF1M!`PQL$1|P zu1-zneSaOv&IGC)0S^bmMW%>kmmZq%Q}mFiGlmuos`>K~%;un?2`^+_*(SVi}#N;<0a95QGyFHP#6^KBGf3210F5}4<`%F zL1s$cg?84FF)oJ4=$6@c&fG5QRSo~psOnPCsI!lV!J~Qy2u%enDlqTZ&DeCc9pr&S zCW`Va1`2_Ac1#ZxF2E74#H){|*nPJAJVlb_A4hv!d5`xja5lHqx}s2!cZ042yWtLZ z_BQEy__jhcG@udPM^L-zBWH^4JH9cohVKiC-VQ`R>-8LW`ddB5NP6zx=>cN}8pG8- zStF-bi0U@cw#V~59^2ONjXo=ap3}q9=tEWXp(6TVk3Qr?A2Op4mgs{n`fyUGJsgTY z?2bO*xaF#7fVY(5eW9VPJ21K4-rd1@u5jjd3tQQ_r5IRG(V4?3TpS*lz@WagGz{J) zhlot0@z<1WH$@3IDo-V2UH-lNi*0E2@M5rWBoHh7{rFn?RE7UwCx=gHo zAJGTPb%K(-UaStmACqf^g5+20M#^UbjhtIP7D;+i4hHNTGQ{dGe&Z6#{Ax|HJbA6{ z<27T&>Jtcz{{WDlU`u|Lf2xf;Cx7lzJ8U2G&$l^jo&58`hJfwk2H92pvB>R3D|uyJ zAKBK5&cF&N_#{w?k?a5+{L4MiPb2mdI_Z?pxaHIQBbU(yb+#Bh0=mXqsjajx|-WsO`Y5lljN~N}7EuXf7|Gt_#zu5tV$0 zV(-P9B2ElPXq!3N&*kPQH;Q{{#6` zJma!$>`*)1>PEXYu3 zR}9?7;f+r!9*1V}>n|r;#0U&8+Sug-mvqYgyx)mFJyj-JA><18s$Pp4{4yE?msAOa zzF$yW$v^Tl5`w!0ud3(Q`{-&J{e})a&&<{uK!`k3@KV4* zIO(+8Q%bn5mz;ZHOQudHW2QIoowk3&y5OR{G=O}8*J_9><(AJWj6lglK~!evxRsyK zvpcX%qzAP*3hiy~5Gr-iXT?>^cd0>nSMWHCtYL3iS&M&JqJP~-C~_?i-p_t#E~f8f zVTq_*N005oTuv*OaE7&V-ON7lmJ0e#SuvN}6<9x-u$rGrp;A-97)&8&*O zTNHa&%kAN|;a?zq$>LJ>TOrXeZ?V_%qn#D-EAkexG793{RFBB~qEfG6&r;^^1pc7} z{0GC6Tjmp#Gwe3y7Wl`BzP?qo6bHHg)@r{5;S9e^wO@(FgsG1yEYw*b92d$EFeON4 z(i}2>F=4=_qV!8pQvNaGUtbrKl%KjpldnrI(In-)H_38GcmG#*%%*rW){J>X1g`u+P1`g^Yf2ew zO3RH}8=n|MLVIntW>(yR28?Nk$5_~s404)O1Eh$%9G(MP@OT6TK44^(j2?#^6{CbQI0qm^+-C4XZ>Z1xpKQ}P{ z1L0PpA(ysCnbr<6Gc>U&iQ`*rJpMt=2)l?zdSJdSYyy4Lpi*zqQVS7EF@0LJ`dXT7 zysN50g8jmx*_i*_qEX2e*Atc8eZ7`&pM|KT_}UneZ>2Z5JaAY|P?zT>5r`y2Rjjuj zB4^JoT(871D&^4{Ew@U^qB0$ZDM@iv$;dgSOK|Up1zTK;|5V~XV$;KRoy6$lvLX6b z{MrC*N7qrz;6aK@Xh=Pm57)2;eR9(LTuhs&=h|Mh6p>R@&0E>463W5AT(ZNQt(t5 z4C%dx3_wkV(s<|$G9*~dg=$3>eMW~YH!HOKFjN~#tSsES&lFz*?{-gE`bNW{p}7zKuqo zN5R_LN$xKds9WMX!8)v@kbq!hM8W9sd&sHIB5c9MSzg^*E(gm4f?6)Oxq@GqDDU*@ zhII4v>V@fhptj_rKZeAL@9YDap3Xz`RP%NG(NwDh55%KO*% zQBah08IJ-O%li$Y!GL-VN)GZ09Gj+9cOm9PV2Lh~n^({SxQ$Hu$NaWzNVNxnvBwtjjYhrw1H2 znMIg*QC?izUXrX+%5qF(d?J^mLy2R7X&X3n54c8;BXk80L>{4oOwqx>+>9@;#Fut@ zS&T1BD9RUkNVJzt^=r}PXrW%fp!s#0Ce~d|mpiTbn`m5-Z zaYNyoq6jb@C53p*&MJMI8DdISOI&>Ly_#`bIP}swJPq2eBJ!mweT^vJf2)*I`o4`XDQ@XWQJeVvGx8>6B|`%77N6Vg{5)ju=WsQley(MFw9R@?g8@B0XaZm_z4qS zxJ%Huxvk0MBrB*3@?mH-(9Ov>#Mef{4MjVtflG;yFZaMmiZy*3r)kjdv*@F~e_=q> zEoLn&>KLSheilg-8oF|9p-~#6ji0Zc(;98W3M#Z&r-&Tbi}*HL;@e2|J<8-2^n_SD z04X{bea+ctXltCjS#KtDqx}bS7VjO&p1mCHbw+j=GV?H=cYGnEMp(!+7K_@@bD!E$_!=g#O7$ZFc^tcBHZ6 zTj&6mNP-O}E}iht^@CT+7`9SI(n?_$aB-_eT6~d}!u!y!3!|+=!P&Tn&Fg0|3dOif zy=eQ)m;r5O2!~Xi9UZl6qP+}XhvCUuBg?T5X6WT>8U^@{;B+?ikCH~fzawBC(Y*;I zw8_-51TkQ`>1B-8=p)~&@C(tPs~2CxD@MiE?{69XGN~22{{%@lrr%u=yP1m8*j4<7 z&Nr??7Vz?py0KAW!}w&dfD?$|^id*-l2wk@8~ti;>{G#A8;wQz0iLUTWA%?{r29ctH?YJ_zGhv?h`j43_c zMpN?uO7PFYsNp=L^Yt)tw~$Zv0J(!?n8N$Iq7y_mv9r#{CZAEPUE_WO9h@EOptYX` zbxq@_1(y#nO8*;Y+4E&O>EU?(V0i;+aC5p&^JS7QDIy46l03-)0osYDCd^l@hL_;) z8vf(fBHW#&D{(>G{y}t)k;Ytnf5|_KJz;zTt;IE7Mm&PyRF6GNG9n_Re)?~>9p|7a zpT`Z`b`VgHmAUQA|CVg|N1u(`dZIfEZb#vp$eMk7__;H2OHj|2Ahc>WQ1t%GEqF|DcQWZ)IyscsoTGrFh=|VK18rvrfA0;)IHGcAstlAN+-0tqmrPr{x|Cuj?H= zTXeOIL$R!vMbm|$(0TLq{Q9b1jF?+rtMdfHbKyC3c~PIrkG!bALe@~1>`ceHHD;$z zl`dQ7M20X9Hl0hF)*u(SU60_$X~u}bnX9^$2hd|o)S#*VNkpXhJGEj!e4K0*JNz^_ zI8fEM8^z`}X214%NW3$O*U$U5aT-h_B7@xs%`Jyd-SQE!c^hVT5mJmoaYYtd&C$5U zq^BaRe`dM-4=akbl;YqxXgvRPtFBdOaagAzGE9QbOe;KnGd&SJkD$)exHB||_qjMG z4@@i6OUcmy?g&#F4Hb>p(YePod?z|B$_U}D@onCscl&uQUi7DFv2&I(m1jpV-H=LW zGycoyY^MD(?QCWzCMZRJ(7qX?rd|D?j3Z)lhSMEYBeNYjyH zz399YcGquyO(5M>FChNmtWNKm$xx*!h;MmEP?Y_I+06`X(zlGE238D-4{_OWp%WKV zxD$4b&@XME_6~_ZQo-UAiAss+R;nxb4U3ap^6_%+>u&os$)aquN@?yuZJtt*mwgmh zNKeS}lRh%wC-dj*JuNdvfLJ$o?|>SKH#t%U{A=>$ zw}VD$_jOBmw3m=i#ka8GMD9gJlP+L(?u%D6vry3#1Iw?AR6^R^^&~Jp5+H%Gyd`Cj zBSq-$e2nhn)UBH_A~FR^$KnotgvHgNx5SV44O3yEWb&05&|)2O-59ym%^d>$wGt+T zJyr1=g6xU(Swvz`>=)2!hv=lk=L_TSl~=!NZPEnDdNeab&u6+y%(I6cT!`ie+gZp{ zx^h4R;TeI2z%GMdK%RyPsGK;mL$J!|qf|Q?JcRP{ktZ&();n!K@PQ5@`h^oFI|CkW z(0Pdys?Bi7tG{I$3PJ~uz(;f*Z!`;vc9tlYe2AwN`EtoghD7<{Px~}4U^JyW5syN- z`DV1SSOXs|{xW`}zf=(`NfyXl#~L%j&l76kac-Y&*9sH7&&K!s<9<4C--8FRmcXrO za1x6zi;gK|u9(SoSvs-Frx4LDS zqP&?oNeiN~AV=LHR{u?Nl0FSD%m{!YcQ9)pkQ+EC`AHZfXTUlUK}j4gWu_e&XaPxK zLco|p@GH4h9EiAu^ooMsm0s)&&EMB59pwCRj2I) zA3*g7S0?)ZhVfRp*+y_A6Ervy_h<%3!oM8kANd|-Ka4~+3{2#7gS;*Kv?Be?g5&iS zfr;=Fb+&fiw-r88x5@j0$Ki`^_Qmll7k4*A^LsuC{{vCdj)iHQTS3e)>exXM`mBAR zW5+*_@6c&*_wn|UafB%!RMQH2cm@gZb4nddo1-<_j7%8t-+iCK0{r;bj3j{?Z^NmO zgWfK4jXWz4W?)3f`3}rL3HclUXXCH73F=PX@1!X0HR4sL6@3coQsgZ+`D@FNMbJN4*FG>>-AX?roBQ_`& zg(MkU)i@i`;v)LoW7uI^X-1t$POaDu$6uMWJX2IV@a4RJ+!qlkQipAMqU@3m7iEm14owM$s==mG<~* z`O$i)nSc(E22fd~2Jo}Cv+6(kfU1}8Pj<+6+eLYKg>G=4#xM%0y6aZ?Y!|hatR7MfKD(3fbw~W+Mjd^+@od1XKTy+R3UDn!jvpG;0uz z4*4)1hxl9N?Vf9+Q91~ZpWSzqR-sgSX+VPr^gT}pBx~)V1^){kw2=(=z4 z42g%S4u!#a$Xu@6n}w*-RRZWTd9G?7J1i(7Osi`}6Ka_Q@s~ENHxaDWyP}Cut%?ZL zDkL<`$}`hpk^oyEi|**QY9S-t)=@2stSO)(^4i%;vIeqsiXi!!E`Cmv@}LBUCgk$A z8ySG+;Ea2t8KZ4=aqSpsH61EQ#s>>LjB06s8W;ZC8p#?WS_Two$KYdCV!*+XvRj2= z-f{$GWlqSym>qm73^T&tx^}u#Y0S~WfjLoGjqVq2YrVr(IDUD$77(mIB;v$-1AE>%{c;;d^W3uYz4zXO zt>Ywal4^TkMn7z9oju*zdlb_aSaT@$t;h+?=5o7j+wkBw;7HNi_Df?F(~GfWwbi!Y z(*W&80O2o?ubLi-CCb6TGS1u9Cv3v1A}NFLd*2N#*4uuNdZ0yp`sE;RuFZ4tuk|9= zQ#+s~`+Iui&$B;<=T_VMAVYXN_1U|*{kHAWJFpb4;sp7@!rWt#ZaOMuCcZ8KpJq?@{j$ z-nW4)KI@lum*r*heqy^*-U2b`1v>nmN|0c=T_AfrGa%uiHI}1giFG6^MyasaZZ%31 zMMVTrV0r~G-KB1MIc$tZ?>X-EMUp8u$4$M7Zlq;v@^lnk$l~kX5pk{!7`VO+rYm=1{%H9kV zRu+qY_#f&gYMYDSQd)_@D`1b`g6~2blW3ofE=q8RH&q}GxmE_6-b(agR3k{e{;a+820p>Dh@n_xgDHSt0@Yr3q`}0pn z(4cv{q~s?XV+O(peiqnup}s$J1L4O>WFY)KiQgk?iI9QtYXhre)6#B+qS0O~4eDLw zWL_ynCbJ;NTG|&--XZ@Q!5BO7^HJ)bf1|-;+~6B!G)c-r3XHU3)NN8|d_TA1LzFv& z6%_Gns!)?N3bt#bFgio>R(GGRQbHLZra{#9|A{=BfbmENxa6&({I!SyN!#xyiX~;H z)vbI=b5KssHRTuv%hi8WF?#oADdTcr?~s>?*Bu_X5;%6%L&UM)f0#J-!`}A(#@$+R zLGs)ZxpJK&^GCenm+`>Z!jQYK!5(%)qgGKEdc+|gl8nE?HW0QHLy&_=$}rvAMd~$p zR95*Ahf+pI%U+k3|3bj1%kATnH!yGCyYk#luEvKqtI=_Th9;o#YDJG zQM-R7QLN`eXhHo7c4W~+b=e911`BXA?*&j1uinVNq91C8dQ)Fi#J@u?`;t1zNHJC? z+N_yTXZ8EE~Z#9+5dqDaZ-UX%U4LMR^V-r>iJzMRzl|*yJ>t{2Q-=Gh#fyo+2V%~JTVNxjH*mhV%Az(({emn+RK zxiUj4`BDlWG-Wrbr)+0IOD{5-(KN;!)2xW8@sS(oNYa~;eFTj-`=OJtKW~x2lOvUc z0kQ=Imi}ssD1U|3G9n44ws^W)9fmk}JLML#MyuqOY0IOLpar~H$csg*wr^O!1z z%)LbUtTXdR`$-y~Ll{aK$Fd|PH+vJ{3U{YV!^TZ0(#{R=^df~k(o zC=Nyl;FWb3$33B&pupu6q5Bn!6-TuhB;dV3zHWZx6_D_?$Zakl3Wr%l|3c1~NtI>rGKFDaUPLb)VvyjNK>v5eNv4Hn{7ZUPMj2Qn3)$u96^MQ6# zB8u(M7Z;A8e%qL!^hS;6Bd)SnE%DX{~Q~fY$n=``fSe*IG$ETh`~S z)=n=g_Fl*i1}4M@n55&9=q`0$AFe?ENjx!NRW5n=Iarm|H@A<01=vv%pH)%QZ7v5z zm#Mf8`N!xWcHW?rqdKeW*26S3>d7ZFw}Ud>h|08ot0{9=$Z@@9uk-ehkA?0tf*MS* zyvjF%j(fzu%@Y|sGw;D+NVJq*9I*7gd{iA|ByWPHVPA!|q$_Mx=7vIyLGbeSaIDmmn7X3^hb{3mLZJF7=0EB%Bmc%&;|jj|3{y?`!-XQzvT zv#vv|ufKKJ&7frzDEc8?ksR_NkYxD(Oi2|O==15`?azOhJRP= zxP_u?tr;E9@~65LZ@NRN%!8e2u|t_^6NN9F_LlPgcyE2Y=sRgbZOFmSa^a`Zn=IPD z7yPJ9JG1vic%t)(|>$6Qp#L?@$&T5f9J#bff9N4By{>4{$8G32e zq23%*W>T4y5&RVLN0~8ztR9i>?WK&czzc1w2Y&>@DuZw0M@E(sIwyXel~g7dDfifckYFJaQoanSdD~j)9(ZM+>=cQaiUmJHXc_m_%Xe zhG-S9Dg;iX0APQ|oPfLW+mwi2MU?jm!Hn+g9<$_9Miz@9hmB4R(yK??@Y7m7x^MNg z%d5pJ@WhXzhFc@~Da^v(7GKGJNLV-`1&8r1rF0qSrq2cZri$%Vi-=a#Wn}$-=r} z*ZEJHgwVSwII28beS(49n3YPiC~R{E_IV{|Q1cf4ady`j<7QV$X+OJeU_rtHJTFoW zKL8@1GBB+%9kfQgK~dW(+8cz0hoKtu;kiWgoifqU%`Ra{82<)3L-QGpLNLL|)AD(Y zOvSdKtKLo_P(m)0P%T(WH=#~a^vdi_lwW6;|8R@qxz+$mDKxg=T2#+5py_(EWDn2Y zAGsVJs0)5-qlIO3*L-HNerbS0#^IV$iVPHN7S&=o9s0)qkB}kYo+QNCk1l^hnN$9k zOSy^5l%sF`6~+md{Jm2?1dA+UN#a%zfJ+C2Im>sPlb_;OT(hO)io@?}*+G~OJpGK( zJ3^$sX(wdh#8HBuW2oFMOeQlUK8)O-2+cVyLZc&d`$IkCaP!`L+?V3@toeeY5u<8p zCgBmv+9#jP-nSZEPFW_g#qtjSffmKx#UN~QWbSwf_9jQ=EzRFnox&DYu@)k7#4Z1B z4-4+^gppxMtH;@L*^hhIN6-;g-Gl4OS`~!y{6vM@9ojPnuI;pF^hw1OF?mPq^>FQ?qh^%cRVju(c zx;8SHj_gNw687WM?}MW zf~$0RbK~H}+=@uCbOl!exuPV?@HwIw2f@XQnTwai>S;;UBEUPhm=cUB55Q-A>X1-R zbST!;vNXJ4GFMk{r@j7HFryenf0fjpqGOXcI5v5AGPc-Z{!V=ha9p8wKZxr&=;Os>|pcBYPi+T5K~?ei~5l z?g8keYg?0Ba@v~w*vy(l>>`#UnNXwZMxS6XJa_?;1fHpOWoN1^RmqZYRQl6n)u-`T zHB+kvX%;xZJOa*rs)_}@d;R}5>OAFK(%zH9_B_A;~Qa!DBt6ITq30&j0q$|?!efHG18K15crsai_LHyM~mPm#)m zb*}6Dr%V->V!UwdQ3$+bh_i-{Q!jcI)*G5l>)B)do|ewgIB$8~5XW0K8#?k9jD(~f z-v>=S{TFN{;!zc^tycX;*Zf1*ZkkR?ZF4Cpwd<#KHK>QWfeMShA$%PQfdS}2`_46F znDBldqmw|-lgyHz!SiFqpFVVX<*!&%9j2OQ`Q2tfP8y5G8K*DemMsaXHfqsV4X`RS zx#2}cVZl4U8e+#tu2xhZaL*KQnhtZvwyICHlQ$iz7Xo?Z< zDo)N*68r9jT669dzXca&0+dn%!S<=B(p8S$?n< zD#v~7@#f~tU7?}I?49;TVd?si;~JBFj}Tl*l#3}oU=d*c!GE_Gt}Byb!u39@eUe!S zQW`0xvMh4Bk#9@~sE_;ureZqB-YyK_aAgwdPLk4#I94!>57UzV0(uKw`(Ozn__aF; z!DUmro`dkz`2w0^&(PJW|H96XCdMGb^FP+cG}gv|4sA5Bt=3>@gP>2q2F7C~BY6)r z%FO#h@E71>5sY-rv;rqA_R2E1JYA9}#htx5b%mg!Cp+e&@J^#%1{%9B0Uf=meg_@0 zSG-=2UN-HOl5!-V0ehf{ducj)*&>(~kq_>cJ7{o$5*pm7$?XSsB`EWe4Dq&b}HwV^Q9gDxha&pxdb=Z}6t5>Wk3y4GDk2V1GwEh}+msC&aEy=1fBadl$nIP%d3P0Lmg?mzY{_V(CQ=AO5 z&!7|KHWB8Qr%Lh+RC8mp%O!V0ZY-=DMPlm$I&4LeLYOI5?^y<@U+_n1)h4K(ix*U@ z{~)MPLa4*OhE^W^3j`G(ClKiMQ;0yPPbC7)y8Vy*BeL`;>}_=6gdeIffP~YYJv!6& z%yRLYIIG(qFneDBh+qE;EaUpjn(WdIhkCleN?Od%{>dD}U;s6FK@ z$s^o5cy5iIw+rfGbZHFk^A7)Ol!)Ly6zwr}`I_hd3en!qk~kF)2hfx_Bi>^Ju$qNu z=F^hTYKuFbUv5UDokf(t5aq8sTKtNYp=S8#=~lcHwy&RCnODaA*9t&I=;sQJ&k>2* zlYym+sGDD{lnuc9P)3p?mTNq=+?QkB=s;a@zMRV9+s88DEoJz9I!N8=X^{Ks1;rZ(<%y2ZH!)$y)S~3M*Avxy?R-hrpKC{A%1K`A5s5)coQj2HZmMq zMdg8BT0J@$3%8j%ZcD05a9%AC~$;ocYR z+diXJVOvJ4K|G<=l+A*H+}Ip88=wzCRyU*|ew~Kp-8|#l99fGD%Z;94>4eyCk$J3I4X6`2n!ytUG>g{Nx8jE$nN#fUk*zQ=se>M-aV z2A|>eA~G&`mPwny0J;M*)|SgX!H?=r;5fnL#_Ak=Z-%gNDILpl|Ja3;cf1BQI8ocO zSShmL)k?g{j0dx7^S^bsSRi=sfye}s2!$OJh>d_X_-rhJ*ock^#KyEG5M%aTJRz;* zC#1Q;icvXoqrcHoDi6zP3U?C%=fkVM45RqOCX{>GF>v0Os9v`6LAbx?Nu z?V$peRF_(@OLY|FTvLA4wP@)VQy*_6ZNEhL1=!UB8@UU47h0K3R0u z_nlgoh-al*b`w2EEcZx4&)35ZPUak{)n(VBJyTRt7r^2W9rlPPPunDa{>LPiJ2a=+ zUl9Td?pC^33;R#a6@_8j{CSGO`)?_fs)$O@1#&k@tCjpGE4=STey4GCOo@buVu}p# z!poojD|lgp!w%Ny1e+YpWCYy7dwX`1 z?~KtiHi}bGtYisW<6nC&!RvlGJhRa;41uPWCelKOW-y3OrB0=>GkBy>PbPNM{_s`^ zJ_l;gAI@(H8E)8oIPG4uH>D_4S>^)mE7~7*ZWrj>F3`DYHxEA~r|ji+c2vEwun79M zK6pTiZY~*4=8{X5Ap?McCBb6PiC&{TO8ody;>YK!TfP9qr}%~GEYu7pX&*n5K4<)&oYAV@^*Da1&2ld!^JbK4y@>46*Y z>qyB6*l>bEn&V1J^v3GAm3xE`0AR_C_=C_FX?of_dw z@OeJqMDN`=U{R;{NEW+o5$3h!p(G)0ugSI$$h+nMmCAqr7l2Sd<(m6T>G@J3` zNV5svLYhtSX#Mir(o-NwuEFpxC!S{V)0-7JME;uBUdHN-W_5bS>a03NdQi6UtVSLP z@~=p_ZKn*?Oa6-02@8iJ52mB%rTiVr=503E!>#Qy{kd&flq#)V!0&&ywrHh`|B&xiL}$+q>G1Gs(q--a z%Z1<(TzTzXGGJ%t85BI?y$)#Ryqk$;9Ak)PgpoSUY&u4Z!3MpH4V~~&^fgi50(#XA z@bO0XXZ#eHtrOQyJY{+ z+?>n2X(1;$PykB-*>7(Y0v{OStSP!xe2gLu0Kt8|C<|nEMElQZX8*aF*?)@kA%4Y% zD4uN_;?#C}`uXZ7^&}U#dY-2Kelf{~wV&h8uoIBqz-T9tZQX`e=UnEmYmrLo9P-bM zQ>P{{R_#tOR(ldm)ngM9*s##9Keo-kYTzPRcaFcpze>YPA-4c=7D z4#}>3-D)MjTXwzmobk;>^7V1a8YlsX*q;q_-T;W1V8v}~4y6f-b8EJK)n<(SfN@%A|Lz7~SFQrMdgmw<5qaf25E*s{rP2U5MJ0{<MTJ(f=3r9}x#RD7W($ zm*g+~_1*lfDZ;`sQr{CVJkiAY46)X{ z-J%aQ6`HIsOof)xH>cXXN&dMR1`m4tsfB~6&3@SC z8rZYiU&5`+gT3GjYETdK06=`SS4oiMm+)Kk7JvRbpW+;jgZcP$XKW7pea6FM?EaL` zVd);4!#DQu7w>&abGVS#(Q`^_eb3?x?i7y#RexRy&uMj8{W7Awp#hUIa4Rs)5o1@GD-`wB#a zu<#2Kxhp6L=>qb7We9P}Nk#Gs{1!n$;^K(A!o?AHi7SRU7egGiECi=wlDU^@Qf|Z> zm-$mx>&U!!M+}+!R&$&^x|$>Ng58A7+jjF8(^eBQZ(wzVz`t=Xn)VSqr2~T~=0WaG zC9l_?VX8S$fRJnayb3#=1Pz?p9_zGpHQonk*3#1SPG8+co&LCszxZVpby~;kbc;i= z)))JUd$0j7`^3M0e-+NAPhW2=rLO3o2eg>#QXWW0dMr;liv;TtCI6>va=Nofd^$yU zuW!}d_Kz5q!WW%N{d`i~@<&9arT+XR8eYzS{6+Ba7;Vgw-owv22<6UYnR$*!l3z_l`SPp)K)x)pCf zmwzpr{=T&S{gp^0lHyIryQw2BKqUUUT*?0J>>nfDjASw+*5)}66HMKEHK3H`72xn< zeP(_t!V37JWnJy`MPm)xqZ+|a5;o}}fzmXQ~HVdUjf7BKSaR3xt@^12tT)OY*y z|Eorqz8`Lh(by#`_`RAfHJrvKen~X8>`VUQ)f%F)N?s>JOFIouqUrQcCECwIbyc%(+0@o$u*(!%&M$4&pOW89EhK z-JOPc*8*%aYja(piAiPIN7~QtjgpcRRddcWuqZ`C@09Fy6)M)n*}|IvuF&K%Y(RxM z`?g3~i<2H>sU6}^kidcYD<|vnq9mNZ4KRo(%-`ua(S-B&z53pOKg{3Uw)xZCN=dq> zAl8+Yxcy=EWH>f|Z_xZ*3}0yedd7IR*;XXKK@)gSQSb-P41fNCkM#*WzBx95lRn{* zlTtt76ZrfNn!tbU;4cn+OcVGSuhUygvqRD7`Sh~>V?Kdx^H<2{uaM@ChR)^>X3nMD zE8*?lCVk0?23u4bDlOV}JbrV@LnXG^R7WOa_{Dosqw;ly&Uvki zqIebR_2*LkLZ~04B4k`qJ5v*SCGR%TUzuaT@Jd4U`~=Ee93pS&$M- z>mn?~=%qr<_O-staToB)E_S$S4@| zb3V)GG8CvaID@~aG@}dCC-gJeVxPVW`h0J6V9%br}>y#(-*VxWbcFWsnM+>#gzl3Y*d2FY40~LMe?t~JV_va zeU(!To>BU^!;wzSJNyTX_E0S{@aq9RxdzX@qHhiMk{~=4wruuH!63iKRI7kIltI@J zoWtQJp9NIoEqEWUFZ>`zN(~8tG+c*|63BT8LLdo#=9z@xoA8_RZAX4Hpo^==2Hdg; zu=PYWq9)-9AAHQ4a*jd2;Lryhwiyg-=&f%J4#gl;qdiBI@5#k0HUn%3^Te*_f*Gx? zwrCmp1igl6foa&zC4;c&!vu=x<(BWXS;z}6Hmw3Q7VXhtO5Za5x2F`a1UM1`H?vz< z2LDO|NC>>l5QZt%S%PVF=>A7vx}idfoTwD#f~>L#HJkjWdU!7pWoNES`Gh&yA5$*} z7(mc1=7KH;@Z>H4aPM~aPul~3#Q5K*$EF}++3LA~ykb0^fI#z%&N;Hv6DxviYfgVH zgnRo^QK1T$&r&1m(w{VKGy?AlQ7EJar>#8mg=~`Psk%(hJ`(MM_g*S<6EQsZ0AI(e z;umy2$5rv{eL9G2&lb4{{!q;0=sNUyO~=r`KF&NYCQFW_Bw$ohA06HVY_m|w)krG5 zV4HKUl5^rqehnp8nFy)SdIVj>MkuMjxs`{=u`O^bO|u{=t~qqT;-VuGP1_;Yx%~4n zG9<2+B4xUPPbEfEyxoBOY6@;DJ(r=382(F(CTX?E#e0eV&nPbuXbTwU4{(-;o^(K{ zQM!|u&R~@r)K|Nn)uK7D${(}ci371W3JWkx06BTW2p*foozBxKb|KZOS6^J$$`28# zQBO}wWahC^_8qHwEZU-Bnn{& zOIgQ)I6t$W7^(NOh%J!;(K(SqfTx+GcSv}TQr;_t4v%C?}Al*A4UABF=PA^BU39_M9#oaI`aS~2AU_T zj`j@|i}2>l6_OG%7@6vNk)*6a%~RX4riY0I$89|gno^4H04G;` zbV`rFK2IMhlrPx3QXT=b%`Lx-h(j>0N7pN+L#?9#+%P3s>gSObOaN%A=-U@Sx(S8t zMS*>+`E((GJ4GpU)!N*yhR6m3bB0g~`e7;s7FiLOElC74i(Jbj$$1Z)WieNRpC-hr zM1jgup;1@HaAiQY%U_>?V+YB0YC==gm$Tu@6IndYE=rM74;4B2~_1|7O~$c-p>=mMJj zvs$O(?yZ)E*^I3`i_2K=4)t~1hz8IK+W-*A`|wQ9;<5S9+$lVcwh8|kqxZaZT@2il zGa1TagEr`o@=HNq9bPkcYZ=;}xF^{p%dAZs9)^uQUnIs_T){#2?KGfQ%Fo_31OkD24%@-jU3+)Pa%!^i8>_G;R6 z+T)+l?(+%;ZWZZRbp2U2N%9juE?)LvNEY82v;>ZOorv{Pw)&^8iA~U!*BP-|2+t3` z&SxoU1I^N~4SbeHQnCCi)^K9=;{AlQm*FXPbRTwf{<&Zt^#_>q|1-?JC?QO%9{NUM zcIpbe?<2S1NR-!*%sc?hbDzaV(W%`iK75UjqF_CZqG~-KMfGbmifNzmQ5>dGeDfL` z#Xqo?Upf;d{$B>!KTNX3)?{2 zBzSIWEd&K7ankxY>ie|V$b|k-iRq)OG2k3&jIM@S{H|X0=vggtfGAThEd>9n*O})_b6&K;BOjkYMH+PzWMf!_gR@yMkVl+hFqdI=nP5mcx%Zn(clNRu!TDmru zEi_g5q*agcIGql%Itkr|WxzkH)G&;qxv|zHc}hP?CV(O$=}n*d_)tJ-lfo|hW@#e5$K$dSS^A6G&yF$4bH4KeK&8dnMtiIt+1(%l%fq+*t-YJ%ApM*NvB1`0~#H#nA+H%%b3E zz~g_13>(Uy)hq7D(8Cx^svS4j5Vh!St*z$Ui!XZ8(C(>i1Cf9e0&n5gMu(0CoOF?A z6BN6kEgy9?a&{1B1>|RUTpz;KFobkN2Y6G|BPB+|IUw6B`tGz1Xmu&?P{t}(Lx4UF zTuU4o>)6_{Kk^M#CiT;b(!Cc-N@a%=Co~#e@M{ZN)+PB{?+)r4?+q>rk}`_(wg&%v zT0j_v-B*Pz!{x8&Z83NTVK`)a-MkAi{irBd&As7|ySG&oy16^yUvno>tB+>1w;$&8 zM!ddy0`$cOb8i}g9_<{&6&e$t$6OfwP=}t^IXV;rz4tRwRS$F>dVzjP_U}CX1#6OE z9ciVMlGe#tLbu!D-xwhH5mupF0(O&+-GI8uGd982m6BB4X}hKwLm$&U5V}^1or%zrY&Om+% zLVC!+(k^tckV6w(o3C>zL#-GVaE7Q1ognfoa_}$%AC|$xiI^{^A3W*j;wh}*VX;Ut zkd&bXlqp6YmJ1JO;KMxlGE0<)d7^#d?HyK;$4%_`PF-k5GeBtpWfXXa)R#dok%VN9;Q2S!#AM6cFLA@{Z7*@L68V(G%9Wq- z7uhe7SV`e^rf6vk;YoCSQ(>afI}pa06@OmXpA<%T2K-R5Xp$xVBx_nOWtGBEB=L2w zXUs%PtACNq{5XbJj=`#HC?u{NkEagy{Wkh)DI&#AnMX_bl2|;lDd}$eT^4Vm`UIOF z5Cq-`<^Uo3pM}IyU*s5kV>Mw=UCmz{TSgdc{5WQoaK4CU33|D6874QFHx=KcN&bcwmppH(Y934> zL#Hz3)4NR2&3e#|udQzch*aqpmhry(v%Y8PCz9o?Z+BarP4L8@e<=;61YTvgy?SvO zpYtNUxqq#q<}O~%U)Wf4XFp;mcvx>x?40sG9h%k`u#0u@*Wg`-2BG-V%meUPpUuV0 zf8dPdpNkoQ9yJn8zQ}YO z@A!~H)7lK4yP<&$S`^^@J7t#gyl0 z)VUwV*5fD7#mt05p2PJxDT{Y;`tN!d$!%Rcpm)(%@8aVc>f-kr{-WjY)Wz2y#Jae- zt&8vfj$MqSs}F)psZ8eyOHfBHQYs~~_F|w>(LW!L?@ki2-K4&sOh(dv2-$i^yu4_NxFY*{%X>E0u zJc~Rn`V0>9Hh6XVz1XX}p5=`GJiWQsSaXLz<}Z#sL(SFmI+tl_g-|ql5%snG8Ep9p zY}xxd6<-VAnMUR;z&}~|CjbQw&*=GkE^Hg$!e{twUH1$hU)@JEzNC-&i!N+@hu;Vl zwB_$P_B7JZ#DTP?O8xn-KaHJ?g$kd%8|&m!y^|eJ^G>F+PX6%`f3f^&>ZFR-xftXO zJc*`th=;1B&8Pmx4x|N!DS-yYuP}r}BIOEiys!iEMB1(oR*NtqgEF%p;LvkF9;s1= zFSmRQNZr-oG%#8}{FF}XzrPcM|Bk0|u8(PH-E{b0{wKkI;Gg`3`V_$*ekVrjH$KhO z0C>3>UP8~g*z?1G+ViYf&vV;)#&)TVXP)9cU(R~IOYiw!*7Go4=Rz%QBRq+Arzpy7SP`;`kO(2X?rx#rPaGioanbv?6TJjkBvmrVE$c8btF9Sb_}pX zOZixrEaiapVSwH7A%AiAQUYwq+cEU7TN*>Zdnq0c@l++aow=PLw6H{9&TNhAlSMO| zXN*uhIdkyDSo@(x8=<_AL!rTdwD0ieZ+?E<@*Y^mB936jKabD~LDEvgJnO z^66@67cOD*J2f`HcRiuc?*q%*=>G{0_>w1d`e!4$<30Z3?k5=iFaN{*j(P&;7s)@D z$RED2J!-wfHi3Q?>(6->SC1_V7eMO)CVcc=T6+5w#y~G)$d`R?hWgQt77VtNrM^X9 z*u75yp2V|eyzHUAY2>*X3IUUafXPC@WFcBCZioHCcnX-^N-DuTT_vzl2s!4@H80(5 z)YJf)?MNSR`5Sb7;OfPQxY2-w{5N8VduuTl`L{0Sh*RGo#AUwAUt}#N#3l1Ooo{FR zn5xCNkKz8B{8{2+p?&;1G?$X%+dkkw2&GGqXz#}KNaRF_8z9eQG9BQ_pFh9qaRl}b z=y>t#F<{R=&L{Jo$2qWr8L$=a@E88a3D}9ePJhsc;Yswe?Aqux6k-&u@z-r{0Y2Ir zd+@%<^gsBHMl!KsD4XJjB>d!|Ly-W4c&xMJ?dcXiyA&8=LfjUZ!V2lw`$(3tejcj%o_=PFsaoZKwx zD&FM=ktN^Zbr*WfS6h2iTbn&(j8yeY0eS7A&v&5KlZ~lTvxH2ytw6{eYbzEqC)%b8 znRnXCgiMybP00M1GS~~5pV?lfEvDPn&n;5~J&KDo)@F?(;D9Zc%(*wYlob>m{P%AG zYR9p%zrG^nzKOILF!&AQj@~0_}QO$a@#o+&p+5)lE z6tLmVWV3gO-iCVhvR2La8MSQm=HoGg_j=#lI}G0J`od{O|EE-QUP^->J#guS!H>g? zcGr8;D|NZG_$BU z>EL-kjo5?H0h+{h6xMNH2Y=%tbbqj;1gXF{y52N?6nsn>Ycs1YpHk^u=f~Ww^Sd-TFSmL+aR)6tv>!enmwOSgaaXb8>LqNFi}Kp~ z2Q}NV2chNuHU5SS^0B!S4I)}-4n>Cp_(h%`2d|oB(ayKU3y;*Ok@l!s{1Nfb9l>F&S5RFNksONfF%AZ5{M zrTzYlip$}PS=%XZK#0)Mg16pL{-g1EOU1LiA56Eq$uqkRlDilr-Q)bf&jn9z96SR6 zp5+{#j2JxUF?i5}lef(B`zcgCRX2k}x_-asY4iT+p`%ReE1 zE&rNbOL_S4K*)Q$8}{7(GbZnOx;3>6+IrODWkd;iF6Bn~JNakTI+%VB2p)Mz5SxYq zU7+|N!a#dab|o6YMz#@#D38pe!jRrP%htSIxE$@Ujbh<@{Z0D73aQ=*b)YXs<^8j7+yBFo_aQI%n$-s z6MOAMYLLS=1OH4AGR-z*$;lu`YVSHqtJ_*sCFcZ;!ENeY322_lAB zlNKRu6)6wGwtxP)aQgF;{|lUcwLr(|p=B|g7BA$e(-v@?E_#JHEuK zI32JshSOE_5=QBghh+)wc!?VJpLJl+r&<#qB6`Ptf+0;X!c&ZJj2^> zd4cC|E;@gZlqbl!O$I$euEMX;Vi>m-6SYT&7Ae=elzHRiPr5#IIq14~O7b@K*r66JdYiCf zA$M6VKaaZwEM(rQTh+5L?r5%lRS#5!RJxY?I1LX}w1w<^zg7s)g;RP*XZ+NHJ2V$# z%Tng#KuW$U$M*G5paiJRE+t7(*?7FaNg z&9EfzQhTr&_D+bp-15ojXy$V8Z@L1pAb#{Nc@gt&faiSl=#PTWnYZ!+=H5{2?ZS!Y zS5=y?sM=ZQT9=<(WwL;}BWGipHjJcOig2uuXLZFpNP7<*C6YLXa@>IP-Zc^V~*PE6N8eX?{Kpt*K5FR z6NT2OiKmS^$9?XxW9Tw>GogJZ!jnPo1vSzRSPZ7}zJU=*TawuwfE4FFsLeJ~0T zDFhnm=j=Wx2uT<0*3&%~W6S+J;V@$@pH9-@V?;r9(Yqw|O}qvxEPBqsoNla=e}AiF zY?MOxnjNf>q#TQWAwtvill)bYbG8malaczO_OE)Z%)8>_oj-)fZnVUwiQ zd!v$HOPcK~OuL;d)X!i$g2=rsL zcAX{$|82!6~?+EG|+U)0L8h6#apF+g0&2Fa+3kGgFs zzEd#wlb{@h*`Gogpxp8)VbMRxd-qgaeoil}tx6d8B#ht_>N!ZVH3AZ~Uj{KQKhzRdrf} zfjw9pKAKeEJKVd#x3#vQI@@>fCg0~iKs8N;y>7NIVohilKSh$yLJJSBt?q_V|Lt|c zBe&sIm!D01e*x{n`grh$@X=IgSAcf+L%W#E8T+{je)|fl?>FilnV_QtYNiJ^^9nQ* zKH42hc7l?}dCk=LnjM=m=}p1t!)9u#5q(A{kYiFSV7H{A@$T#n@n=4FN-pjJ)F3-y{Rj3nMYF@xMV|KP7~J`ZN0aCi(RLl)i8$ z{r{&g3>F$sU)TSy=qoz(|4v++VFKkwN9IZ7gsG8S(zZ#xrFH%?+lWarX^4?Gj4{-= z8i@9k?L>RgTS8CM)b4IKn|8T5d@RNP(@ik_RR?LpPXoG;94x+r3BJ$&C50YJfN_0_ zZk3Ve4TcW)U;l^n+#LQXj-FfpxAZJ5yc%=7|5~~jz%#-qzN5>Pl5uZA_4R}{wBNL$ zt=@=9L*OrnrHM96Y4e7uHm@#{EGUM09)~^-UF?Iun^E$XBFDB6J1>HbsulmFyYvL6 z7rE^#nf?r4bp6@K^k>rl-<=~Eu;&a=^{<5an#1PHa|N5LHWi)1H;e%yBfcLKYB~>TGWRjUZpIje_p^^iF#5Ca zRDX}vcj_u{S9mO9CKL^JLiiN{ajn|?1^t&wZI)k$H|;hNe{kD3RSpnp21}vw+a>?$ zl=9w^uy(f;N|mLMd-!&2LaWDqc107jH$gpedB#Srz<`j3wyMbwUIwK#>|l08G}dEI zCyE%9y^r0Mqf=IRQQ*_A_M}7yvG^&V=g>gPFN<&LJcR2|J5aR7=uXT-07Y+nw1@BW z4BzSLLU0|rLsA2R9}_|rJUSTK?=J+dfti4BR|&!X2~=bqA|-NJf_`<61|kaYpD{Lw z@>#L@TZiC2Mz+pH1`68=D<%~q!&-zz_#~|L_HQ#vYwjxL{}KE_Z6564Hwll^UIKG1 zrpi${M;FVi&9l#y(-;ET}IEr$QdRdwD~3!G@lyTLS}DBWEQPupe6tI5*UxMzC3~2-;{ZWG zzQ3$P9&0m8^6#E}c%HcAMR>m$zBQ`NAHu4EFG4>kSc>N$8R{W;h7EcW_3EYgI>WmK z*;U_9SPkG{sRp6CFAWWAt8YU+wG{rG5N=I;;FT_hhz;$&9e{J{!0BKyAQ89%1n&1` zU6}kM_{N_DzQX?qU+`mAqcpyX6{--x4|QW@OUYuUTHv_@@87ELeSpU_M=`aPIpSx$ zCUMn&bumOAI^hzo+!(zlSW92#OvK?mj&E)QqGq(XhA%DQkzaASoMelK-Z`^>h!mgI z5T-EibqVyP=6`^Qnw(e!E$JOcVaCR9g7(7%)Cr+m5-od&;M|Tk+J%wu@q<%veB}VL zY=0*k*9q&77TQF%2B1-v+a!L8W{InQCQok@PM&xp{(cR?7< zx^27D_=VeeQnH_%{cSXfh~o!P6-*x(U7=fy7$>#)dtg2;!LbYeoh=F;kp$_qB;QCx z5vcX1x6O~H>&Zu<_8Df@^xb5jq}9z^>W^Y5)R%W8B6j3660YyQWkt{`T= zY^T4i?IEnqv1gu;{HLt*Q&0&uZV2x5`~?3x8+QVm4c0!?J-P}QZmlS+H4pLEHU?|w zya~Xq!l@FRTY|OJpWq0e>%2D>530SLZRt;Kb~d*>2)~%)jwE96b@Zo?(dO>;n6onp~=0r&h^K`^5ANOI@4swu^ zqY;!-;-ljymw5Jj&AI7Hw4 zJD}0JJt(Jsbjn{~@RMYA9~=5mS3spzsPZ|n<}Z@`E%rsJy9LKyH^ISjaTf(^y_Z*= zNl69W`I4$L7$-vrE~lE%?pBOmncvkA39~0f@^APM&otx-xvZKH#Na$qe}+FPd?exS zuit*_t+!mt;}|mlAlq%}YFLLwVK_x^wP3z*HSH60ch9pytN#{)Lv}MRk>Q&I;|dPi zjjlUp8zoT6@UPTQt$ndmYabdzBAs{R{$c|F`CeXE4zd5_g%6&$>WsEFiDCPSCnyIHX7b+C_YCrgMzjB9S0VV&E)ESQv``+$WlCzx_+5CT zJA0?LBQg@cR*$s}WXDs$ceA9DAvv%H3S6OCbuj2hR8Dbd+jfN(`b_NS2kd7x|A_`Z zqzHJ_k3V{ukoL%8Uf;)lrgLWmx^f#DQjFhgSz90QSNln<0HfH{5U?%f#7Jxdp)9~t z_Vj2m9#*GAG1xk%M~C2LeAodvEf@_7#~}$T+$Kxa0mF@ek4?r>8GiBR5b>ppN#sRW z#q2?%7Ir*ZiAfpFKB1=888{*YKWRW9yHx!HgD9G-&_E;}VNQSaIhimf@j_>nuZs6|=6hIOKzlv!Qgg1w^Q02i~fkN?Es{`_g193%Kr32Dw1cd)o&pS&@$jb3hvwJ4Po!RI)b z_=Ak)2*K^cSm&S2 zV=GpYLbK8>>V#%YpjKb1++&C=n};LWUxXJoewOPTfWK6p#N9_%@k)l9K|(Z2ij<2U zJcvJG#c*pWe5aUcKCNH+rs~IRCOSIY1?5wvnVWK@1UGaCg(%pbG9ioZ=g!wOr7#yy zJ&~oMlg|uXHbib9V?MK?QJ{eZ*dghwo zJ$M()$GZWc$A|t54Xtd zR&0&v8EGP;zZnF{{T3{am??4c)#$+KPR$w~8k=Q-DW8~Sk@x6ydX0oMHr7^#=k&!m zC%NcrER9equC*2_W3Npu6lx}33tHeioF0$Ld)4m88POhuNgEMzT+4~p9s1ZdfoQu4 z3Z4BO3xP^=RMOYer$n=RaXl5&dV-EiJ6~8TUl@6Hm=502xir8Ac)Sd=+pgKMGX9h$|g7Asl@HQ1S@>e8kp^dmA z{*_#9nh799R(wfe-0v|B59J)mBGilpwO}G5L{BQMx!&nUAHZ%MoJwF3&M(Vz7lP?w`7Z+^86c&NJWSkiT z>nj6xz;t+}lF6wweL~Q4J-nT{nR1ta*40ah+;u(Sux%FHGz)f^1!h?aK7)0P+i(g# zMNtJ)a=}bC6&shpPLq+(Xg+lH{1dj4*T|`b3<^LUyqocq^#=CrzIhXX z_98bj7qYdFAeRR1V)E_iWPFV@bHfbu>JH6HIvI;!?UJ{sPwhlCKLQAHG)mfLn9*k? z{~6=_{eWcD(MatAO5DcUy*z;J#t|-J_6&0Ve{It-dk(IT_USBNt`Wnh!%`tj%_ka2t1nPdrFld`MPKe@ zu<}K6GH{xG(~WBw`e25EnC1(?CD$UUPR;^Z)z>Q23^O8czj+LL6Lf;r`I5m9k~IG* zi?Hy_iw1+QWTG*W^b&To!OAXSUho-vWXi_bUmg@yQI?^#R)hL?0Ye?ohz?3(m{V>`m&hh=D6h_rUVl z9`zkE3N`xz`-H&hn+=9XS=B%-?L{+Y@$hU4Yao(&Pg|?%nqRRcj_T?{Q+;8A?*4<# z2lgT*ko%&)(!!XYu;{hbd`%$Hno*?HfB+cM$tq! zG>!WY1opwVh!Gkuh51Atfb(1`UWQyUaQh8(aOkp|ghj8z>=BdPKZWMr(P#g1BdS7y z&)I{%-Xw)j_Awq0nSJ)KcV4LH7PLL_`clbGa<$8R1LMXo zq!YsP;0v7)c7eHD!TdLNm0v`$IqKCdGnrpwVBkvh;ASH#*;FbVtNm4&?`X8bU)a1f zI2wrtT{87U@Ppjeb`sSG&OFTq9o!0g-^hs-h)1pyk&6-P9s1Ja3=SVD_nVc`7QT1U za0hZHUs+f}{jdkB7XDL-LZJKxPXD`Nd?<3?4NNvO5l~P@6OKElP@Y9tG1g)!ZC;P! zV+|+-YF!uHFg8S1=eMb+Jd8Ps8_)T=y;KfMipb)bV)gxjM2@ZYQ;{Em#h;bC`%`30r?mq=#_= z0SS0GD|CaO-HbwJfbAGFS*#iSq@@5@%-|G{BI6|4Pu!u3{{3J$@CW!CnRMdrj<5~> zt9&04;QJ6JF0|qde?@dm5awTmfLIbz98#8K>XWb=p%ns$AETw3G;`E?AQk-)z6Xm1M8PyJ38I+ug zne~!n=Kx&x^WN38E=KeZac0#!XBaR9s4M(a;&3IE_Eu;~9Ii~v1uq`)7a;&}sooE;Kg8$G|JUiSQN&J-e;towujhy^2 zHZZA-=~vrfftb4qD?Hs`fz%`HWAyGD)E84wS=(FMP++kbBD)I7wgEd4bb@0utu17m zN3YeT49g%yQ9Rb3l+&~8b$UEoAeAyKS2&f1*m@r=E!c)h%4nq3WM zZ$xS+oN6#I=~gEx<8Z3`x$UPhgYQ505XpLhtly%quxRBv@7~BPYIWvRsliDe=ky}t zT@$(GzCY2h3C9CqD=-P3I&*cVB&-;cs_)T3($6LdSu(`(2Q?sG{2%AyA4RG2fUW`L zgS_*9MlTKC^VgcWtbMgvFVJfXu3r{*Kek0h1qgShB+zhZ&>t+kd9bs8il1Dfe5EwSXin%%Hs}O;Uv=UGg_rvUjR=zZeZO92KjW};#^5fw z2S}^ZN-K+I$ZezLm4WP6STW8dg%1Mk?rxTt0a|<_=R}#OPfT1PDW)JLcY6k~skPr5e!@wCxzx(o_q%aF(SVfj$ zOx{&conw?jiT54vLgS%eTbOf_a+McnD3VS1T-byn0Wrz8@mrdWH0X3bF2Z-!v@A{g z9&@-V46Ue&3ybW?0ly^MlIqCG*iSoz>!g;(9L;)BJc5=PntS>Y90)NHoi> z6wGP2F&)r|L37;7pd#gRH%fg#<=|XV$r%i*c~N2xjG|HUpEL`PY#W5EJS_STBuMgl zcjo6p;Il!LoZc0hI5^i8nqej8Un&XrHk1nGCoPh^yHvQZOW8a;UB7R8sqotl_}l~U zzRZ9hd*REk8Cd*KsZjQVqg43nApCqv;j6?_ctWuQ{S7VN zSBtojz%8EOr8q_>QD-7qR=QR!*V|53HtU(;pnB9C{N6yPACCR&tK6JhY3Z{v8TWNC`<>zg;;R25Iy@-R&N9hEPKGn(q;EG<8qrb)E z>FulNpJMc+Lp%N1Dr>-Wti;vV)!`b$n5mxrRtzY%7%4~&V+;fgU>`uu9<)(LV$kXb zERMaVKKT!H?8o@L$Z__*&cse-hzGL=O|JL7q@M9@+Qn5AlzkdhhJDsmRYcHlKsCi{ z!Av%=96g=IreW7ugn0Za1HjD!DUFqakoBQD&z8?&h`ThdtyIJ(*{toe_Bp^dSS%|RJq?>j`iGF zYCtCH-ZE&W%S}RH>2iL^1>&y1RT(Lj`FSXJr)obZGsTv>ZUutEpu1|tLyx0s>rfu(XZ((neE%=wXKoFI0| zUoaCho-9p>*>7+ju8e6K_3KC#p$W(HH#92$CIsq4zIeI%5ZUoT$JLC8ZE_ebMj<%! zpr%FM|KMCpX?1L{+UJsehY;xXmfn!@IC29S=A}Q@zwZM~PWn4&CJx2R_CI(wi`_`Z z&5Ye+wx2E03p>Uy)V5MqBL9ZmSSqIOtC5xSd@~n;jEiQnxDZZjsbEbg#h4;Zg~=9g zcdSA;!8r5(f2@6bd=q8X|D;W6C@mB21q&94+6qF8pp7ls(1cFf6pDaU0j(A*3QC0p zinI_+A{~Z+7rgCyUEN)DT`#W+-fckIf^ru{Sp|0$Ge+)G?w#K`=XoYc3-0dwd4GRE zlgZ3HGtcEb=kh(@<1pco*3Zn0Kb8@I zRwl!m55K!d*evQYYkGsI#*A;4t&0!9=Shb?1{3L0Imfn#uBUwcZ(h)|dtF z3XY7k;F$-Uo*AStdZ$mFCtJrUH>vpQ9pW!|AHAb8+Ia$w=CBp=-g*4HL5<{GFz=Z) zo+yD*+GSK3a@UXBK@qHGj%8(TtA)_YVy$LNxscI8$#p^7#g+AsK)yzFJj(YptWZh&1y9ZCD$W6Ycku4X14_wR5SPrtPcFCs z&c(*@X(NeFkT_Z+sGeCKpZbP}wv5$mbAJ0(GHP_N52;48{=vxE|E){mw;@rNLg^Xi zn1~F~=WozqQU{M`8{36T-_mZ$ZXANIsK=7D(*lnrIpxpPw})_r%T-lx#OiHT9^JQ6 zQNw}X)mJg~A_r@_xUx^t8Zc~7CtmeCVJwc-FiXJ+21zbQT2(P{*IuN0e?|8x$YB?| zxPY&iOp?0|~e58?W8K1mMo)okC&|s$9zyteY4?MC3Hw{<_`~QNG9D?j?L@PU0}h(mX5xzO3+Db^PJQ7oDK<)VMrRq-=)`pNhi8oKJ@e#NH31VeKnd4Lc~5cu&0 zt{yRP#7sDUI%8m5R*TF|PuPhx@BUi6-RKvmMmYq!Iyi~b$9B#k;JTeS1cJBoA6DCm zL*U-2oHXy6TI5VS07um!wLDzXS~$X_6ZCj``Ra|N@HXNDiw=e#@W6%djcABjIo^5>iz4sTO$4!`j!_ip)fDs{8q z$ahh@ky%s(SeW-NZo54#Ww^~$zl*Evo|(89SvdKwXQKW;*q4<1O^)RYs`(R@*Mh>e zvJw@KDrYK!!8o)lHP6=u=69wOhwzBaw;#;!6RzxyPWfnAc1ZLm<0Z2W!rE4);A?qA zK@)rcthCQv!DlNl#1V8n>`G8k z=>1EA(?$ucpB1`iIYEy?S{sVcj=ETc_Rt5c?V`7+?NNH$qj=lH;@WmuD#UdLZi5&= z55+nwgaU;oz|6r4b9o*Mh0~Fkx;b3=DZBemZ?e&fKI)q8o(z5-K1JTAtoR8QXbrsg zCO5oGs_eO`B~{a`sj%6R9LcY!6Iaavi#Iqg0n6UZwv^kgKZ&c?hcD;vv4~$>LuSKx z7@Aa<{Lk^h8KWp+Kg~ped|yj~b+8+)Qq+Q{xbd*1 zy|9Y2tKscGIE(hQ?=+~lLkD0Ok}!H#zpE=B!MD)`LshL134%lHR62QUk+1zdGBTy! zPQ$iXK1OK;>G+RjQrXt)5d~s64O>d-E!FbGTiP}?zzO0fn?Mo#oSsKk81-XqO>6PU zOiyxnPpYOx3MFNHmc|fG%2ENE!L#b41_Yi{JsIp@hxA;r;b`w0+d4rVA`FgC>Ta z;IQl|eNRQZ++!3!oha$(yztYXa8Lieuj3|p0<{INgrK~6c`msoZ+WS)K>~|@kqM`$ zQ<($Xa($)X8K~6fgkAkGT;O0)w+ZNUYv#JUqY?oS^#y|Xc%xiY-c(efx#YK5of^26 zJPQZKU=YY{fv8KBj6CM3!>XK{F+a;XrrcxlmKZXG?&HvCzPDb5o)o zlTr^^I^rMVP#VoFdPWb%7_6HAT?jwpGC>F@91>XIR>iN(A)$CKRNz^JFL$r^0mB*F zr_7MKs+_AjlJ7lU@39vhD$ImAS7tz`rb{U>@v2i5=GMZ51kv9LR*IK2onOgb+2T^} z%t1Bpp$VwJ+bvlR)b$+Y>K7PQ#ykyWOaaY7+2%IbYMaLtMAh#R+v3AsQaj8F(`?@F zM5ZgKH!r_}>di;*B0aL?)S z4&jkC@eW~o4LOA0ek2}b@%v^&Ckx)bIXwMWSX7A?-QloDj|AHLnGp1I_Hlfb+5M3G zMKbJa4VlEiV}*zxGl~Jr?f9X)=s!{)uMQ*MPY6{?^gE#2CHG*p;t0C%ISS+VA(vs*Naxr$9WpDF*ra+@73sDq=gpv~LhUnZf8|R!lel)0WjN83ejdJeE%w7VxO{$ND<>A#75(SHl2&(Y)-=Q>#$p9xU|Da< ztx@T({4-a9rW<3aGvu>zCkd|Lj3nqidlCm8d_RaGHa~k4gy5b*%m9+ZAdNvqC}cyB z2%W-QZqAQ&m#z9(pNrWhprZ%&y89|c_I!uQ(+#xQ1l+0%?eZ_`sN37Q@IlGCW=*_j z(5~F62X`cpztcfi`<97ddp8q9X=6Pu?H(Au1kdF*d85s@#c1>Wgi^a(`f_Itt)T0c zL_!DN-=WC8r6np{2qLj4?QJcRH18#I;?;wFL%y_BK@IhXpjxm6F!vl0%HIWdQt` zD6Y*G*UnB7vJd0?5+5sj0?rT5Y+?acl!_UfacOUB zXB0@mj0?y2Xb(2N!O?7dPt9Ng?eh&BW2Me$XGD9<+<%@)b%Q%#ATo1zhC`ntCX9hq z9<`B+C7oP9)^9}r5Ii8a&^CG{{U~L@56IQjn5A~J{V&?egSIBewe=~5ycT6i`HONq zLlKZ6Df1AN@xn&jeGARd#7x4W86@i-DOgzOIf|7KWdjd+n3kN=yk$cTs%K_9&n_vl zb>tLIMyGI9YBIu~Xsol3Nugg7@7~EA!=TppOorig!W?L#aai4=o7wRr0iqN}ViFDl z7;0<4vVLbF^LIPMb#q2Az^(zkJeb`dI8=*kZjvRB)sChr|f$k-kuM}_B$7M;!4Uh>@UI` z7a%>-oZ!V*T68*9+mmDn!` zis6esgg!zX^B0<;u9Z5xV0_%l&tNN`1?~9yKhU2ox!NBoegfu|`W+o&kfZ+)eYtD^ zyZSnIwR-7*iy`@6(6=IO6T1n9f~J{FtsA<-wlv9<+S**`PDt#Hiz_RC3K*PiuQJsO z_PZOQ;hjtg00GoPTsON1w7wBrH(M}91~V)C%fGN{X z;hkDPGrJeB>F&NC{QIp!s{i#KyT{sR8P8&j@{mVY zZQ52bFhJuTWc0iZnt}D*QTzR4hCnVs@&x+OV>x04bm9{ky7+0)rM?lGO-&*DR$Rfy zS6o?xy9>pG)jMMwO--D>Z|n+FrE8o^mOFQ=GuXzP^iOE7DkCm9(XcK9wbp;;vz4a4 zmhrz;omOWs)k*#;caB{v&qA6U&4+&_gob z7@_~ebl}5)81SJy-1no40UyK%?^)IX^H9z(4>#iR<*sFP>v+h+FoZmeT*l(Ogf?v} zz6W<#uFWIZ(t%akwearQ=QKHFYa4%$4Yh62|Dp^NWd5iBMTFzrB~dNrjeSguIj%!@ z$nB^j(JC2kknqyV3X7Lk;|julIhFC5ShQ49dV*Q*fNgHnUz*b}DgBY=G=V*0_j}Gq zv9JT5$NaiwNZ(@s!_Tc7e!*UKNCv=jZ`r%y4&OTK9FBvXo$BQ9YqEYt|NP8oY0X=$ zZ5qEXO-4)&_D}B)UGdIy_)7o!w;r4%KRge zo*GMzG?&HfT?pp;C(L~RJcG@DFyG(j=KJ62kQ2@K$p*ACT*}C9bfHUGXjY%jAa@WB z?j6uVX_fu5R2{=xs@N}!W&-KEw9632LxjCw=P)D4kI0;r#W|RADzEqbGbMM^8nfGI zQ^r}M`8v}>l!DkimP9(4dE}MSDc#;M^U5ZN;Rs@BybdA3A#dfR3c5+jr_3~(GJ{>#dj(cpz$M=c6WMX4 zxVHXEmK0=Qg9aB(Fco?=qxc{eu9i;|uCYzZ-YWWc2vHbgO^aP>Zblzi4A)pKei_1V zo8jk8cFqSie=i)~!*GsY?tq^c?}HEDz=6x=OeO&2FV*62zrqc6BKYx3_;3t9%sCEU ze$ye5|F{qm3BP>_=X?oQehGK@@~T|ATg_MFVE>+UJ_|nXW*^fLA~|?6LL{5ciGjP} znf;qQT_V@u`$uvxByZSEnn-X`kCu+{`bk@|B;WcLkdX!{=+u@R92cw`jNuE{;5cH8 zF*1B@a%AJsnZ&g@QgAZd_^>u1-CLgxOVDjeb?5l%EztWdi4#GtIHCZh$xgdI^?73Xd`SMuv6Wa$f3Tt#P|Iformkysfn!861Eur z!}Xe`OwNlV8@L$HfCF^XdJr-};u&yO0zWrP5 z-a}>bG1yBsA~D}V7N`i$w!)@a*Vn|=#4*G{FfN#y%X7_)SQzwrr;@Tf!MFyD?PVj8 zr)F&<$mfjPiDcwK*!;EqIIkNJi%W{ZZv60GY~L${Io)D=8;rJ7b?NH5tBFWBxw?yk zI(pw|V&#IK0yEZgEpF?NB{5TWdjUT9Nte9Kg(Mc!EP3IdUI!fk7FnKCR-N*<)ne9m z_3s75N7h??xj>*g+9nz!ECA{BEv^(igKQwJ!X-v@c#LHp;H=3}53tiW7Cpc=-(uzh zc9b_cDnLL4bYdZwTyJv89y4gE2CSDb4&A_@QONQ9hcW+eSv&u4S-Mlc&)noddyO)( z4J@M_g&B_V)lbkYN${OALF32?oYc5K!TZBmQ^?i;Uvw53E;pH=M8SCWeN8J7<57R@{b>gwzq-61xhA#iwbWzU|uOm-|Ohg{BsEwH#8{;|Sgn9Chx^v?!a>-A}>-b67ZwPMsyM4AYi47mq?j?)PI!SCpl8 zvHIb_-r7Fa>4N75vMFoxe5Wp5(#a;iv~liL=vKyyJ7M%p+YVo0j5?7%ie=mH@SuNq z7#Pf+4kdJW0wExVtpm*&41H9*BSKw2XPyw0H{sieMWtzbv{%2>s zAq{nj!-U&z4!`;(M+cu*kENn|cJC>tZ==ywT?g^+a;>qCg`Xhc&V8trJ~%Wc=S5vqW?{TP*T?Jqb{Dc`;beB%i3K@ z-%zPiAHejU#mV97H;BPU-FFTCl&tP5C()X$_JqdJVCk*ia4qd{Iu`@O=3$ltc{Rz{ z%}9}|j=(6Ta7{U>C$rZZ-h#owFQCinY0qj?0yC*tI%cA`)MQjIHC#|Hsh~()fdbhs zuA67FwKl;vaa!Qz5&|!=Phj)?M6zL#S(%s$-90aA<=N$<;m)rxBQ6v>M>p~C=QFRf zpXX2+Iz7KBks5^GeVa^3^G^m|#QJc-7*8EK7uF~HXj>6e$+Yp!rsGy3$KO-a#1qrO# zUp#3bmnMl{sDDK`R1kAQQP0_gm3ED4eMj8uJ}S(H~rb4_am<#YLTW8Gds?k2D*M z0#B!1W{OXzMRl2|00w9irRYfic@cKfG#Y6%ymZ?=oewvT&MWtx1C6Mf0pY?Aun^|z zn`xxU+n`l|4e=o#=*XR*wk+b~eCAFPO6q$gTRXmcQfHH=5A=2#bR3u>`0`6Pv9~v& zR}kzA0GeC%+J77xICOR(Ln?q(IFwGjfc+AmNB_SoUYp{ zcpVa~r9yYLF9%tJr7TGMk!{e^TLuZj2e=H$l@M z{^^6_=Mmky8cTT^1e-z`&03?)x(uN*;;Jq|?hQipK7w0aazqOK3*(sSAYAH=1oea+~%f<(!gn^U@;kO^ZlsaI`o3K zj@Od zl#!M19%cU-fTQYPaq$(TdOkbFX52q1L5PN^_r%!bx6rpm%oN}u2{Vv z~Kd#8>1h@^CR}h&j4?7{2~*`jYSWNQ}ln^uLYUaGW+A9dNi;9HykOxZ{k! z5R0cwP7Umol>1Gh|9@~Ujw`V45XWr(pb?)lu{XjizY$l0u_nkV>azlMuh9a%JL_y- zt9>-4Bo0fY)iBy584lC0MwsD5y>@GV1PRbUe293Wyw@{!)L%IRToTc zzg2y%?^G*6b@tX{irjA_v1=UVQ9m(lBcnh;(w`KbQ%Rv5D|YRTui&hSy*wf=K8^Yf zW^IAtP3=mKqX+PQvv$FOp1rXU+)hb!9+QGo+NA8wlHsUiJtj4;C(azPYzIsNNtAY| zE|R?%Ea%?#MjDz`2NdQ&#{$wkXm&SRh`tG!71eB8`ZI2*YQ?qfho%f9OK1JjpIk!| zJ^^Omwd#}o+np(^%H65Hg`mZ}Z!lEbJ~0T@cF}Q^)b!?}RPqUJTx>->UE7$wu|3Q7 zuoW?u?f5I`>@B|Yh9%qda3fQkUN3Gh=sad+vXP=bc)LqapVJV&+fbCE$FTqLS7yb~ zpipS?$vM%~4PN1x4!?v^zMnlfk6GVhqsT`h!?3b>+cj?9VpKS8>Vgv74K|)}CNveq zwRd**wSj!I|K_dlnc$FrUeE`6v|RF8G46_BOgOeA(I%ht*7v~pDLzGTbjtH-g8GEO z1C1DzSM;F#>`<6qC+)9@W@$g+J+_Na_DA|%WU^1bj!pJwKnD!J@dCW_>I$7*lHNG? zAQF9}PEQR!^B3%jkD0H@1I5lu@gOgZJ#FL z)W#Hl|98`%ee2I+;JTg^hLu}DVg?!=qT`%|o`$yYzt%IOEw8$Hj42_-cd8TgaPt_V z*~o2-WFkxc@ihAT)V>=-)9J?O2o3^&MQQk%x47~E-Ol}hs0 z;RhbUS{O_|VQi3N@4WYdu$=r-`!#xTu&~plI1BW(vFOj5hNXCL|8yxiWy<^%lRHi5K4m62AZnJDE5J{BnOOOe0`#SubuhYd&n?0yX@ph<7L&F zSg7owD=w!k;errP%|K$;!AXm1{s0Wp>cw_U!ELl@g$1qaGu@rpOq6fVEDyao+-S6>x0+L&NpdzCR4-o2YI^5Bd{2S3c@Ud%2ouFU7UV{zg$gG6_G9H~2S+ z4VPI#BiX+sv_H9Xi~2SDApw6t!&CnOSvCWI0Buu!rj$@;jXHc4VZ)d~B?eNifFbE~ z1>a~SjC082V`gxn!K8aTo@XcZXlD`H zA?|yz-Ldjns`3=AJ^?4r?08}to_H;ss2;3D1%RKc?t^dMd;_&B2JR?n#(Mc!+j{HPy8SqB8?x~}7^3kd zOr%cd=YKbyVR9?JeRa4`1g*ilpf|WmN}D zf(1h)c~KTB&oo2Z!XHWJw324~5R!^u9J^B-fge3d)ed=aC+@T#pGgdVpp_$~T2ZPk zILTsYm^jt8^fL`-ZbQ{A@>fd_VEsBImwB@2W|zDu(@zOaX7@lTII$+TH5Sk9CuvRM z+C@_(-};%7wXN=;&AX)1KvTmrOR74h^vX*W1@VpTGU)Qobg9be1}#u(ZW7L+hUYv9 zqi|GOip^!>>dq8hTdkYLvdwa-(Kq^y6zE-A^qx$)Xi~V~9(?*s#Gc>S{ z%o4?(2d`QKuiA>JPK;wIUX(9#O@^eT{W%5GQfmtr_Lo8jQlyjLOI77rQq@cgLhs}w z7%)38$xYf0PV6Ts4J4eZY#H!Q3;Rf+{czPDscHgTbw6D76<*Q?d%3kmbcL9v)|qEi zx-XNIxA5|X7?#klya}#c3|D?l(K&f+rpqwHQrl$fVraIJlIp!Zy-f=C@~=rFxQ$LE zSOO|A%J_rifB{Vjz0b3eN07Qh6|RccpV9NV3-qSrHjFzQdV;{{YH2Qt`K}%sf^Spcc)!$Ie9X8lOcDLb-lPc6r7Zs zAn&nfAF&%64cl{fo;+@sTkY9R*-iXZITT!Iuv<@xk2YG{#7Ea>t{2y?&u(I(na^MO zxbJKNk#x@O8=MzyH#pXiyA!$qUO=J0a`pP4eMCZVo@PDk{?fX^z1?R0UVLz8eT;Y= z;jhHYdSf4)bCloh&c-?>;ld1^*2rH)?j{OHrg`~97R1OtLm}Pm;;P&B!*#=R(NBJ!Mdv&{$b?tCXkS2!t87asAepXbpF47K zn;{31@}L_FyJc_JTCi(s;3f&UzQn+w9DL#|yYj$Lo9|~spmFgWJDBXXHs47@?m^o} zCR#O|uCGKX$o#}eCF0J64;JfvGTe({vW-$zQI^y9S*B#&Shs^y0mrr>JplnHq8+Aw zEk5%9499!@LK`8==|!JmLXHqsfH7IvChvBqdu8sOaANEqqY?P>g<0^#xw(5kP8Ybd zmkH5=Y#i&(;o4?Q8ZOR~v<+BJ7+eOTnZ?fv$C|(bWcAFWKq()q$F$QndI~RKK$HGAcQdL5%KKQpB2m-y&HU| z62%n{fN@7fxd?D(`>0TV36y)4PGwGJiLdT5li(hXRJ+yjx zU54OYR}!lD_9Q_I(bbWGC5rnplngd`OSl(2h+S4u6jZ|Ya~XR}ZG*F_m=D*6y45y$ ze3tKY0=>EZh~mnh$HLOTvX}x&D~J-><~wZw+ZAgRcuWMx#D!|KNWoD*V$B=Q(5L&q za~tJv!!NHh2$B13O2!+wX+DlGe>S0RhD}^+w+!?*x^F>%4aFXVtEmwL<6sNWi%$(? z5y3^E#g3*@O-Z0fdAfj7){{GYplMfJ)6`_{I`p1ryb+Iqk=pcAupNH?nXefH&J^gf z9<1*I(-;@;cn#wS$lo~0QZ7%(!AE!?l?Z;(eU4ve!PgJbHn0a5C7?YoP>l0@=pb?$ zX4&P_-XD@#p*q{HpTxBx@ujA@3vzdY6`L@3H2U^NzR%g>TBMLVNDG00+jH`$yhBNP zG&#zkDDTVOrZt1WYX*Vm+nkWS+3>B+`nAV|9Q6YQ&t>rX()01Jk83k`twGSAsc`wo ztU_^ZlP$2(J?p<~zk6K!-)C>tKx$i?+P6QDweRi=?SKDV$M)ZP*B}Io5;^&!xa|5a zf}m~S9gQ8_jKR{ZE*Hj~uP{XUa4_DyOrUu4B9pDP*(e4&8!*b;Y!U;15$IEb=szLE z$D0?$#hXuupI*+U&yLtRv3T?8@bZV*&kHVyH!m{5@9pBv1qEZofGjX@{O^XG*LXXI zoNtZ`IWJ#zF*x$vYc3Le9`rya1)qOr!RKuld|qVgP@lG4{CNv>X=!lU$QG0~l}=(& z0$E?dcEfTcCem08mS2xf8GIK5OGV{|#X|;GDgs{>q1^u>i)m3RrU4|{6Z7TJ4%PRA zVN7uLLOccrrGeLj#xTYU0^8aAIF3&F{O{!ry!ilUF1TOlkT=jen&%C8t2%$|k`JqG zGb~wv|==>@xg>u0MgwmEcxg<*buHD_fOP%ZzEs z>h7OeKM-$NXQ^@0^_;|z9gl?)J!s0`(`AW(%`X|5JAR* zGSq?+__6KygxO@_T6t54kjVwOfET}Sf8r3Mv%^Cr?NP2jN-m3wM3b8l^Iza z`mEx9Cj0U{P~)1$b{8l!IKwjvOjxs|+ih1%Xvcwo$=#{T(^iAQ(?^08;|t|U*7bFV za}P#X5HgZP%Nh~;@$B5;R|9BkVcP7a&M1#PDo8Ac0<*UJnD9j~k0dbYeo{d2YMVUP z5@@uEkB?2THI2oBC=BJ#(i5x$JlXi1F^Yujc5(6O;qt4;@6TgmU-;ABDI;Tfn zEDNsS?v?oiE^w_N&hciHobzi0mL^%G;Vh^*L$lx-3ugovUE3`>5q>(uC&KD8d?F0) zLla>}A3hOgouP?fXV(x~Q%#n-Y4(E-@>X$c}-plix- z+gp&qJm;@m69YAE9Uc#A8h#B2HNjwt{u{1A3IhgCsk%lt!DlUlcNmE)1qGJxJ<@_i z|JuGd;Jd@W-qfb4PxmDlSfY9lg0}PAmK5gu=?Ai_6+_6q7cwb3@eeXsj|ap%P+1IS6w?-m#9I9DM|y+Km(YV zE?kJTa+^8I>gQJp))YzU5PwAAQ9=q&{xBuemVOVlg z9&xT)dv+BAu1Nxcm&_?NlWSI>L{6rs%-sZsiE20Tu$?B_Dbl?Xe_6tg{ZMYnrArpl-FdZiHTzQKibUs!Sq%a~d4|>62<+u4OfMUd zjIHxYT4pOrqK}4d(%0D1lYEWkoaAfl(;l?Ogr0njC7+}B^klO_2Y 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¬zC1JFc}W-PBg-2CUg%G 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

    SC25Wk=O9+v)ty<$0~v0 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

    {fUus*C$TlLi8xKv%vh@m0mXwvEqn>3?UY1FT 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 VaB}^L6J-4!u>%0VdnvK5{tLw086*Gz literal 2494847 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

    h384gucyEpE?Xx;6_Q`)g@fZ} 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≥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


    u7Zm zOqLzTi8wF`WTvN{F{^_}b zGXeCxnmOJkN(<8%Ei4?%X<<6h!cw4x>6btYOE@ircbZE`%R8Rlap35?*l~#0{Nw%& zR&OfJt^yb%-06Nl45xJLQJ{Z#F4$i=4s_0PIq?_|{z_>y0e;tUfSr{9G_Z1MO|=YU zwBvJFUQE&AEts2CRSI|h9JlKip^P>OWJdEsw~N}>m3H(^y$--?aSV$jopPdYKC0%Iv&kkzeL(%u_s zypBv7ts|rK*OAfMFYf_7qrErMbV|5uCxXT z_D(b3%XHWa*4Z2jA(8SWA1AbXtgW4Zy5&DeK#q5Af}}7VGe6IsCK~ zewBXsrP=qM@HSNf{LHmR1MN=&&s1Xl9gr){wZuT-cJ07xu}m0z>9BLbeu~ma%j=k5 z^AM*a55avO&wQb%2mj+Bqo;U3v%-nvU~Q2N^*=S@;!8!gbaQq-=4h%%0=@wKbjj7a zt_I@l1i7F3kqfdhM~UWdszHXDag_AnIbg1m9qwcLsq}or-E=|Stps^mITB$JnWG#@ zoQF${&NHP{2YVB1(kVet%jPwekfsb1>Q?_rLEq+Ke`a(x;QW9O^`8-^nd^0EQx(@hYqdu5H7rce+2N1x9qy0sh5b0A zkw)pvo>;Qyn}OeBJaMyszr+3e&3`J` zmW%ThDAA6~Z0R`PANXDozS+1xzOSnRwrBV}Mvjj|Ob>!$RbMd*J`#9l)#R`5Z>>A4Ho0=I|W? zUP5bx3uE_fsq)dd^ez9x;?fV?OzoU+iax@pUJv*P0S^+_a9OVrWG{>rM}GgLZE!CA$BC!(87F=#z^pI$^cUB@aZumzNehWjL37T{2^AXrO!h!uI4{c56L z1E1k}7G*}RL7(>Lm(`T10jF_&MJddWSd_wK6EW7a4tTBV31UDVkNqc+zh|MXK8(E8 z3B0--?syU0dBh|9zDusumB5;22=b~=koTZ(H!L+_sUWLb2X`Fdh%m(d(b%_g7Qg_< zs_^GLI=n<2WoG!Edm)I zbq?l1 z-kwQDQ#$km(25`7jq{7nYdyXwo-Yu*ozpMMkZUW}Wc z40G0)tMbQU%;e|7WHDy)E!YFbXcxeI8GO!~keEr}h5opC+`B3ymjA@BKK)ssAJRC= zY^nz-Ef&x{Vqt$S&|TOW+(6Gj0qZ&hu%8O>7JUc}^95R$e!hrjzuw@FyF5hYlO%hI z|J;-89UynM!JTYYYDeS!SL+!Kr}q-Zh=zLsd^q=YI6J(fQQTJAA5Dq~xp&wvegwf< zZ0Wjw@2i63M!`5}cgFiU+dMnJ?|T^)axawwzL#i6sfYdO0k%`%_j-(zfc;|5H`W9g zN;u61__Y8|Bw^3sabiwRiv4By-2I%nHY6(6I zIJuJ78=TB*39gjvJsI|HgFA$E)6AGN3HniG9LR7O^M7rC57eNZy2$9v&fJ-*7F6nz zojyIr9HHK%T*PAj*YEI|FmJKc>(iibdKj#ASOjrch>_K~zCmU!9ZnpxgoSU<_(JHh z^O_iF*Rv>$h7FO#F&n;H`S)-LoETmhdY!n@*U&%?X;nbv3+ekE}%T`W{}TuDsDLSzH_ox6b7j}_DwBYYOk zXzEJQM|b7MfRFA;xP#(5vtrmg>n482f=_DIml9QfIxNzAX+Nqt+{ z)@)U_b;fx{doiy#^WiK`GvWTgT)%?6hwtGyXj8>ndKmXY@9Xv1e*d}v&-R>WaL$H% zX~US1;WbW-&mAsjF|>iYx~lGVGO;d)+Fw^Uj`QMEcrW?BbbMbOml4xW*zduSeC~&@ zWOHxuHhp!T)y=dmS@>L<+3fCo$ml$b^%McG6!FXsfjvQyM{FQ9WvW*S4Mw<|U6CZG zB7S+QSz!K6kiT+~r*xql27IN2^OZuOel>pI33mW}m9+m8_QH7Ar!PjC?*mEyCy6Xx z2;Ze`HhMmYpuMw$ZEu@HYRPcB+wcfxcT0;PEhvk9ebT2j9HJBtQpOQ^Zze}j916piD z-+lZrtFF4a6>F;$3#x_;A$?x~@Wy3o;vhh0&Mz#4F$!#_r+w0_+2+&Wck5NXzx#Fz z`);c;_&bCbejmNnr@_zh8R>hs!{@icXM^B=n?WW^gl8%M->7djEHrN*(f+1|_C$2z zGog6{XnXE!j&=RaJ$et!4g0=U-h1xeISYw)>jmb<@9QmM-1{KAbe>v^S0nu&V~Nhh z4tAfOCctNKHVfsp^Pd3CmJ2$JLD)8kIHtl{R}EruWYd(O$4PqTwIvWe+TO*U=U5+M z(1%9PL%{1R2Uu?l>pfw;t#^PIJw}4-KBFx!v=-*N@4QXFz}kL^L3%RCU;px(`@Ky| zXXWL?yat;j=enM_^DsX3U7!W%kLw-RKB#xTZ-{Tza*?=pIzG2EZ+(LGf14V~Y7bz% zw^(b~1@sMLUblqA0Ph$bu!mr*E5=V?tZRB-x&8iLDS_CI+MO)6RW+pm<9l*xPhK7q zEsb#%Z6KoUV>tI!AEbCP4sf6l@S?zP3&A*#GZ8nsJ9e^o^{lf#M^_lu4ZOyR@#=;9 z=hIpVAd}`Cf-%q@g>ma0oWEqqnLP@9o>KnOX=C;%q(frN2-*z>aeIMuEjT~osgzdl zw*}-TR-Y|+{rFDXEU(7*iO~M*T)}qsewocZLk{05;F&PM^KhU;f)(*-z6|3L!gZ(R zVLG>5p=*A%&~Q#J2mF`W&&UOPCFmfwS6M8*0Q=bVVxeKf9RR z3$oW=fM0J2-x&$=IA3FP1kqOzR#$YbT-gosdQe?a#3zh*|2@UQLG;e`w;p;{ zM+7Ub>j7AoJAyb{KQ?;40Umx7`JjAY_0$^_tjETq3es|=WNnylB#x;KCyvfb7;{$` z8?!Zxw49Nr+OZ~!G-t*gVdU|?gY7s6uDABvKnx+{t*Dy~wtw&kZxh0$L$>9H$``Tj zTg?p@IwQnmDNMuqn0pz|*}=JSU-$C4ThID}=KjkcFn;m+eAu_acF~-p-`?j3VI}U9 z(Os<__xsFyq_JE}^oJvio@T&fdjjfuMo+_{h0mcK#$>k8ej0z&tWCu_g%~?4_SBdW z!Q@&Rj}7#(GM?n_!@rT1@mNJO#wrdax%hn}&@S}(Ans?&tuQ7S%t`K_8VwsZczx<2EH2)d# zbr`W8j2ukkm#)1J-WyAD@3BEsED?e5S1YH-h_ZSf=0!A0ns)y zh-;!5uosZq7DTPo+E&|J0c&p-QBi~$2$|>o{(jF%CIPLz&wZZX^ZYTdWX_y(zT0PC zMYym;MEy&B-a3m${jW%_&#!vDh5os(#fNK;7mFxm7wem`q9xdu4k?e044t(?tRw%J zwJ+92Ts)LKV0ZfwaIsO=+IYRc)&}cm%)uHP?-SwWLe-jkva_#+&owUfg`4hYFN`eN zXQ*+hz<1%z)J5S@%%$nUvPk1oas5bHd%0x5$DJ}#^&_=yKfNDmmZ^{5W1d@9Xb$%E ze4N{;1tP$>v|au6f<}gB{and_e&F7C+@o^ivIphH{o>a#IdA`EzHko4&$EfN+*FZP zcl!wU(#tS+=7VjI%cY`C%!qv+jr+Gi_XUp1e5%oyv%}1%>JsjhxO_7+7C`CaxtqXrD4SR7QcEucH zvoO~;%yXSFhTtCR%C9SPwGzeW)_DaocA4W?6U4L)I^+AE%vE`B7{{je8azenSbHrt z5A`fJXwqA{njfB%``&CD*mvvM1N$EDlm9VriS^_uf36<#e9wq8KR+z)dD_62+u~tU z`Peg!HOlu}L_6X8`fyD4C!7WS{b*k->)?oiJu#oN8qduQiSUp6`vQ*)jlW;4<8|7f zhUS^l=N>8^>~lXq_3QKLhQ;SnrVh=c8|L}%Uk&7(x@_R_artuo;?wbJ>kzo88b+9~ z4}uBj#{+vtm?#?-zh^me?RzmUVPXK6)Y{_DWP%+yn+%*i!?~n%4apN_ZesEP-g1l= zFop?p(2ZoCC}EvCG<#1D)uC%a`*`hj=yTMWCqI@GU|bI0nU1r{JwtBt(0A;!sdw=C zr+^1$jy@zZvgyO~PP&zZLsA z6xSzVKfDI6%UWe(;GAs0rEdMK0?&(MN_n3BIBpqC(?3ZiO`mW^n*NJk$Xfnws?Q3Z+MO7<{+-L;Yt3YQK|-i?MQ()t@KM4Sh3wJ( z*lf|pdL|>avgoDw|IkGu+W0e>FJ9RAGc|wzWr|PwbIW)g{7Ca2oFJl`Ev^#GgLxWl zO=hoB=$bNl0Hz|{3Lkqk8*v{qq?e%!7<7$*(KI1dhG_vG~LxRdW%r-}9w>a6Co33}iGJomUo zjN<*gmo)+agFt-0d2d^yXgh)XXx~4u!V)m!uD?2uwGc;#dNF3~IuSjvqH*GZ75_T% zIPU42ulRE3W)YTpoM=cVAL;>(I`Lsruyc-x_S_<(U7v|?_oZ4L;5K|rcZ9f?TZ}p% zCs<=X3G3Ue1+<#GBek!HbvtQ8vowTfv)0G`A}~j{_Vhrf`$!+{=>@KQb)GN!rJfn` z-=|`WX;VbWmDR`o`Pt@-UP5%`Vv{nB?5rD&Ka^@o$HEnhxNx}W-vF3wO4^hi+LR zrtyw9`Zi3rMwh*dagJ2vyB(YHTeofvmD_v|ucU6ST@Wa*^DnXDx4pR6rr8{R@R^#G zqRy2p+ISDI^FGHeU)_Wx(Z<}M)I{b`Iz6lK_j#?MZjFe%x+Y_I^Jg_aFMSiA0VY1x zhB;~z#r~}}5y08C@56eR8S7=;E5>Q}7&&1nnCmiQy{oXMWmxYjthd%!?=r0SFyLmh zrheaoHSfThS7FV(&NU|)@2SOlG0u_m^Us&-t;Jfa>S~wN;(IOD=Lm~B8BZLIwG+Qv zEt0268$4~J0(wnh7`zAgAnW0H0gJOCli+U?=(@B;-k|cZ7&G2DT?;oFc~_0Iweahj z7)3gg2R->D`SqpjA*Xwa8^k)|EB$Dfmxwl%|2M!lFMyu0@HATMSYLAnTFZDfj^Wg_ zXyb*HJDmlM7Xk+%3v^F_K2a#zE10W!sfv@fzUPZJ=_{Y0&!6$Uz>9s3UG8S)OVn)I z@WB?XVfsq!19J~5a4v*>Gxn-SPx0_v?BHEjC+4Pah>O3%nq_?OO2}*U-`$FNPXV6R zdU1A@BD{<-%87ZBPI4|y&w-v|Uw~glHTN~tVGobc=TV!)*f^;p7u4P+0*q6;Mu_5D z_d82jOKXlc(8HB+0`7{dyiLE070LgDko#^Fg*D*2wy-bk2EN&u9|4}ea29wi>qEW4}Jm$Ioj44_=OvdtkPTN%vc<-C^E&L!MPAiN84<~2C;1rPZ8 z>n)_(2hRPnL?x?{cQ1|O-LBOGyqmm%V=fyl?(`o_3Ru&ge1frb|BN$cEZlf4p=!=y zu~^2<+k9bN(;brbFH!N<8=qD-#zyd_V-hw;g$kF|ul<3AePVwU*)!(5Zq^5S!^p9v zFMU!n^kBSW3f7(9mLPLN{;KDO{-!4~CM%5hMXzmRypO71P5bso&{gTD*f}WIcGTDB z+B&{nEPPH}Ed2F`%&PpOd5jnHT#mC`3VDO}#@;08CFIwJELT3>y`FVEY>;yZJDq^H zsnE+@MZlfmrkt58Wmxl>?%|@~pAGqv&)bc8j6O9m57M54!_^!PfkzRpaxf3#ek*GR zfmd>0I#*b{y)TP!Y^I3DrZ^%mj}+^M(gFI2;_1Nowjp$YW5@Z3@@*zej~>YX-3?h1 z?*(7*I^9^CuKY#J`K?JFz=?kvl&hTM`Gn6w?l_9GZPl`i2_x=hzO{Dnze=22WfAa{ zF=Jiz?^m3h@`;VFN<}QQ{?xKBnfMYPY>idNB#$S&fYWTIp_4RbLZ~CdCt&v z3c1fy0ej5Z;yyCJVGi_0_lr;Ds#+!!)}I&;8VTJ|)~~z77jCtSBCdtccD$teOIq!s z4fCt3xlh!wPh?G!;C@oxh&EkW7HzVd{SB<4zu>H|{~za7XNUCvRC(2Z9FkX^{XfX7 zZvH=oP;f1rC1#ydH`tmN-07{T%Ylo;sdO z06Tz5kBNWBt1!-*8{F|Q8jpv!rksw4tZg+qF7JO{ih|L<0vB^+++Lpa%ah+U0JH`_whmbXYxfYx;^#l<;Nbah(gygjS+nUa zbN+yJ_w}k~fk~&5<8aw2arv=+TqYjJuX*UXeUkb$YmSGF)cEx(_y}@7hJNAD@y;aL zQk@>ktXFF?f5<}_Xe-8Gj5qV;KWtKbmvQ6fZxQIFwOXo!xKewTinXQAckooKy2d8b zEJ_b4SP0tLW4yCg`62=s$GgFJ=dH#&YmImQ1hT9ttGM?&1C@K7fy2qpf)C#ii>)`N z=2g7d^aTBHlwppZrw2!^#`qsQ1FO26frk5hYg=Ayej@xsB@4_NCfZ)deUm?Tl5TrQ z2T#ti1gZP&|Guh;dDWc07VD2hI(0qL`GeqTy#D!K(96vYVd@)SfgWaI-p6r|jkyrm zzXnTIRj!`ZEcG;-sJ;jLxCdiNfBJjQfV*pCfO8)AV&fAB!FSr_c)6ho#&}jO%fT`4 z*9XRY7h^Ww;`9C~QG8y%`{ICqxV71uZ{44%skqtEc=jmfl#Az8%t&rX=%bn|aeXHK za(^8q%i?$HEHVa#btKMKxy=vYH^y9>IP=B` zS+d19)(OS$k%5;&$o!SH@>gd&00KnLykKR{?zqgnHR8}&KP>a z<#EvYyV*kk`eN5?;P08_@FZ!^eS!AeOJy#W({nIM$wg)yYUdUa{_AY9?htctB`I_xP6W$+;Df1GS{u|$8kW0I!2yaXm;dd-J zBgQ>|rqI4feQ(d5vG$iw#zX7A{7Xe0pJRL>0<*Tf# zS@NlF4}GRvJ)ar&!gnxtrzKU+o%D}$lKe{6svX_)td`;^gZ}p>ow7yg>g==otqhA3{c|lXiv+N`uX;GF{7^pW3MtpQP9Cc$QqM@59L@_ z*?5)zWjS*1yG7|x#TQO(Skv_zM^dlPiR3-MbSXvt*!eq*wTdXq;rAI(#Bj?Tkx zA5HPe^SIF|WIZ;kHoBmEjpnW3K44!eu_v7}hsEx3VC}cQ?_Sb9&KIr1_?313$inyC z5%Lx4;ZE%TMy!?3e1dbV!h9+LKdb8eOK2mhB>drQp2Hb_Xu#hW;3Km^Tb6znYbOob zpj&Hm@l1&JG{7c#)k^4PnK&;$&hGvDtm~^aRWrELqRy{;R!rtzoB#|HudK6T?f-Rx zHr^b$uVa7E*WzJ3)Hm2pNTW>q$?RU7kv#vL|Ml~4IdP`*SMz+}-MI6g7JvRZA>z&M z@Ab8GVowf^8#wz{%xg(J`^^5cKRHfBpT}H zL*Fv4=u?J&W^kwFdm(BQ0l8|wU!^Ov*Em?j>o#D{ic_wu4Z z<^IxuHBF=)SRu9^&>ODkTr0d?TSPE6LE6r-uOjf?CeZb@KCkU8$P-CozYVbdex|iK ze~mAq>TQn=`7cir?TkV9$Mt6P8!+cLVD4_f+;L6y0jmMb zEd*IX)^KcR9*Ez7IlqLtk)iJ24(-FJ>a&jf9{VuL9(ka{ zqY4gU{Yow!DdQ9%D+IfeMfjSh#JaJ%h#r(Z4M&C==c=`sd-o{zj%P@kLj8+*rKjpE zaL(m8@2jAHT^Wo{@I?U!Qumq*m>3$jeN5LwU+I?6q&vi7#!j*Z0%KtO;N^_J${#J# zmE9mAbZnMb#~9)^U9?%pf)6EZyz?05^5`%T-J9eKuS{aCSF61O{HZBPgulXXkJv>t zX#B=H#O0dR(qBHTwN>?>GKZt)aR%*8Y|BC0X{L90~lqMaO<6;F&}`n}q#I z4xZYrQBDj!4!k&~CrDc&_R8}m@Wl%papi$7I!2V_YGVp6%hSAH;#!SG#g$G-SN6`W z%vX^)2+mNRXh{DA@(}Y;uLZ0ws<}PFc(G3t*?VDb@pIy#685_I4dkgskV&X(ewyZs zzMUxZx1zu4i?x4B{o_5cn7*YCA5b|zpFlRDPvTRXFZvFCcm9jU8VuymUU~n2iN(ty z_g=WHq3**(aikXV%jbCKMalFHIYaCz@lws=(z!kL?;fa`8_|T%yQyYgX_-Z)ofKawwH z$+!N!uVt;x?B&cj+N*GGSK|D>gL9l3JaNmEAmwG8Z$P{f%W`4uZmc&iQS5hNE*yjL zF05t5*qMsnnC!EYt*N|^MBs{57tId#sly(&QjcM6teSGzQ~;LuH1l! zG3EH&n&B(0z$dll)>2zdO=(cGRb7q!slfhxm;{+qV;-3(Dj%NZxx8M~6*)Dp3$VjH z0m|p>3*R_7*~?ri$g72N%}OuBDcQQf>>qqc^$>=P40@_(cqk{EvT-M5 z<71GG0UztWX^)5}u@%YtdlzNndJcZi#eI3We>8C6Ebxrvex5;^)~hFnPUuO}zj_pB zz*y_AKqI~cJyAU?E#S9WsGN1U3#4Cv@h7rhvd`-}OUb1>@x8P1Dj5etIK1a8(Y}?v zDO!|$3C|X;HTpdqU@RzTz4htI-p&MLUs|;Q?iqD(oT};ni`{)K4Slgfjwky^7%_aE z1tR?97oz>qWXAQDMK|`w+N_1x>!blcZdH=<w6u z$O)ZS8TMiP@7XHW^*{z-T_ceYDdAdrridu({hhqZ7iHWy?F?_|ir2*Vi6Cwc?GwQ| zWkdT!uwGGKN6U0`E_r=B?tD_n`hW5}@$NAdU-gda)14)2uv~{d@J|+j1TnboF!Rah z4^uT($%mcm`&#B@s$S=;Ieg$-)Es_vN35kjQ$$ZD4DNI8&xB5vp!%H8FCJW5IK;fT z|ApGZtF?jJ!g9^Bws4lzIbZ)b!+-q~;q6&e9wa~UUk08IxayhWi~7He710JxTQ1MX z?0ZrVn#A*|gHEt4S@kjDIUQI)JO9X#H6us%IO)1cM49s?`z<_kd7$fgNAUP&Td*6t zZZ>!v&)RM|{j9fWr=Rs$?ew$eS$&%`d+CY3mYpBR+BnyFl!vh<))D7CIX}t>glCJ8 zwDg7id&UReU>~h)#$vfjKA9rzT_NT#q*@_|@;mmob@gDKc`Nq$Ht;9D=Ru4y-!9rJ zg;DeH3QOP((C`Ya{-sH8X-Ar9x5D}6ga1?}_`Ix{S%u%0{Zcz3uUX@+y=YuZiM#fU zacxB0wf)AmQE}HEF|K9HJhrwu_iBshCNl2b-rVJAm`>X{|F0R=Fg?fcX`0vExJLPp zeZ{hjYfY&Q(;2_Ty4~sKeYnQGVa>@@^FBOF{$@3D?079m8#4K@W|KK~gg0xBs#9t1 zhr7mKN|~ScQ09{Kj`jRfeC$2bCeP>3XUn`kc|O|M62jqLoaLL?-{s6F`+ZF6Xe({L zaO-fRugiO}qDh*>`xo+k=SUo|{F};yyyp$kem%~+akN6KEuwTbFJo~eMmz&++(@?5!pbC1QUGYQ95)-VtS zpDeNl51f}A{In!7$h{<8Sdbvn_QWJ@cp?9Vb0xo+`EM%Ub^R{jroo5&PM=rOEvKyM zA7yRpH$bCU?}PaZW}d?a;O|0hsn990kjQzSw<@!O6FUU{akjvj} z*`n}~L`4UJkQ4j+bf+kpm+@w@PxsT8%X3@zWM9k82263i?2o|p9{4m?{XwF#pRgzJ ze8Bxl@EYpO>$5~#bbCUu>*eI&;fq9+wdtaa7x|WYbaR%{qwBLo`>!wt>#DgRE4rZz zlI95Q`;m?M$jDsa*lRZ`yJ5b8PtPR|?!EJGadRg=aqglkR=oxHF>br-n967Vm@(Rr zEBfR8CkdH9y>U2X2j)*3HA%StvY!<8vhj&iK?6eZOgEY+W(3%;1Mug{tI7SqENLk zcx@$Zn1KCPG^^w7e-a~q^H0mx?!h>Fwc(Bt_byxO(ndI}XNk18{^{Pe*2VWe+^Sid zZJV@!%i?fYHJgKHmIl7^JEK?B9-~iGYpW=_R%3oxTBvJ^9{g;)h<>_2gb(A4da^{g z8!&ccxQK3qZp!GxNE$` z3nRxcEA-BK6_ek|-VRTT_Hl`WdpnVL6W)mnls(H5m0TE)55$Fp-}JQ{ls0=2+P+Ec zH|;+YZye|;+hpXMMp-Z6|H;0x5;pTf1tGD{_iv(TCH<<6O0wd~09I5Y5ve zC#-@DB0B5e-3T4;e!wsFJbmH(Qf;Bi&6p3^8_@NJ_v?BI3m3?H;&r`UNup?4t}hzE zGxM=uhcxD$0uPz@Fu+-l8q)I$rWZ6%8>jC1!XgTpBO?~hExm;H2&`kAG4DA-99bYl)m$U*Bwx;ZSmTw~-sT{V#Nbnrn@J>}1REq{Jcv@c0evc(Vam$>qEc+~hGtgQz6 zty@E^oAYhxb=5FMuf4-W`xiz|`3kH_`ZM2%RW}1(Rs&wTvB$RpMreDOWAvlERvT9N zHemMljA4U%bKW_qe`Jd6AGvW*|47^at=^n>;QcQQ>CL(EYx_s0^!JZ^s%Bp4#(%Ik zC--X(>mEg7)o(*Kmi&LuIe~U9jyDZcylHG3WbFhgI~jS&S)rGoFmwmdoO>EXdt$<1 znnT*#ljRGu{@teweBsY`ObN2S?~&nV{lRahn+M-gc|_hXVr_?pE1v;n`TSXZEycS< zT@T(V`_{7V-exUO16s{GKX%HaJ4D?V?18B{nkQ@#LDr$b@6GPbdXV+%ig&x3NyERG zq;${emy7oOx)>G3xHnitv@^@sUnkgt^&G++PtL@AF1jk%G^SyCU8<~G5%xD}-tHEq z!~3BNTn$~II~lqVV82UG@lnY|7y)ky+isrj9M7}9NL!go?nQ%DCqOe z(En&h-Uxne#vjL)G3NNei3e7!o_J`c+VfU@WCwHjRJ^gXU<>*Ccs;;8-s8`w1Y1{( ziiB5WM1s4sI=a8q>TcK~*0H|W=yTL~#DUJAPYu>Wrs>As#4Z)=(bC+7cf4V-H+MUg z-sT1jKTDq&`&RBM^Y*Zg@1-LAq(;7<5@IYf`^PxnQ#K3d1KMK3XD4KiMqPM`2aOIx zCctl$=ev>&pW%2FYaPEAwATPJ0TAnrN-^OPX?N&(kqW$ci#-Y%@~6|A)t zYaPvX(nfo}DB}L~R9zKhj9(*g*OurDS7>vKgW{nQ_5>gu@f)^8S*tct)#TdK7i*XE zoo89RiS-)h?X2@BL`rJ#yB#!v@{oI;kG8R*iU-TQ-DB8u$8N89Q1deXq0>^P>?66N zy4-^?G*v6%ppjGZ+`o%;oR`ld`hC@`1Co=G*<8-OzT8=0t1Dhoj(2yBkv>g(Io{n_ z@07jl{B=9)DsZ0*_qcTx^GILD9Gn4dp81&PCMhdvA=Zq~nMt0W8Db3@sfStAS{RST zGtUG)NL4aeC<^=;ok(6WIz)UshR+pvp7ZtUqno3E3(8}prPRxUpa&m zJr+@PK*kY|4rP{?d2^ng?8VqJr{&;JlrOsuw2<%fv&ONk72Dq{#=~B-AK}@?yVbqC zZ%;a8x^b$8*62D<cUrSs(D#P0A39i!W);b?Ktc zelFx(>?dQ@DYNpL^$Ic4xm+y1mGV^rWHVgbv(!0bIo>(eAp#cfvWN4nj=(Q(=xg}` zt-Al z*0m3NLz?5!@(LTY!_T(Dzhcv0eH}WnYCn%JWu5dvMN^aQ-4u*<hWnK5(kgLY*6jw4onzQ7Y3rbk z&eaUu0)9cq4N02-V9n_ki)s6ugujeEB}@~Z^MxxwelqQ`z7{^medE34vE_J&s~P78 z*~Du26n2pgtN~AfY-7zBlTNwZwFdVjXmVg+-tGi5Hei#6w2Zys>fuzeu+ zlR4NcONQirj#6=}O=rj>VO&>y{>a+10lz=uoV>m|-%E7+5L)B*%c(w`mH^%3;Sk&D5#yIdxo3kv z(#Aslf%RcO!f(4qsIfWbB#fCGi?y-VZ|AnMFzs>7n>?HL_t(q9wNY1KRo6(!I|)_5 zX9r`>0gL-r`fExheQZ^A6PYtH9{M}wTFSHcYt2tw|Co}&DYH^`C4FZso*Dm6SfE|+ zZ=4g}m5BfIv)z*3vRWM$zDSXc7o4aluUf!TlNe{O*lPI zVrY&8_mOc~W`2ULUAQyjY;F~XUNiR^=stfZHm5f(Hs|fWSQgK~%o#ZFsyc7EkAGA( zB`w&4WbB(de_!}`T--n7k(<9J?tf)m+&^)JasM8`g4H;875_iFKR$QYt19-tVNj2= ztk8F`&pAdcexnhK-*kpp{HoJp@kh(p%&{G+M=tI54fy+qAu;(`MofO=keK|H-yDwRr^r?jLCg&l+bu z&3z-s6^kogY?8VA?h8CJZhItSc*sw|FXQ>-Z+{hQm%Sy4i;(k(XEx|8WwPHD>xPRq zdsCTrPKMIEx*$`yR!@%jrSFMwu5h(H1A6Lkd4KdhU9^ui{4G*WIcvZ#BXPozopu(+ zs^$6T_xoku8S0nWcxg=8A8$Qd;`$4ZDnH7T!psR79cq6z*78XI_l(fTTVwro`n>)B z=Y<}JenH>4nJbYmV|Bh4JbK;D!DBOT3P$G44xYH>#$fNFS;5$fWa*Fp(Tu*9Gu85A zoX(FRt1zym6S@!MaadES2D+MU1kPgPWUtiU4B6EEIM!zoCChVF91-=8i_aG88gfN+ zBjnj1-RTSe$Sw+@Z-#$d?2BeXPs;-Be8eW&I0owjvTrx*19pN}GCmf6+v4l9F+YYi z+7>?>%VO=o4gU+Z1J4)VTsv?%&Gj zz6|#Es$snp$Om$t8YcwC)%YVS-XJIRvqwz1-5FXBz4PTSW9{E`4up@#SoaQi!ZldG zt*_3Ad0hfrxhHm}m{+wYd-kaOk0qa)_2wAwnj5lWzw>mQ#Yo_$t_3dJU)(I~?)8XZ zKIU-0PWdG_bZmMbc|dqht*dk?Xid5DkG$~B_33g?!=Xt+gZ2oKHpl}xUa@|^wDm?**ynXy93X?4VmjV z%xQ=I@?y>HrPLXJi!)4LcxR+c+Mwr^3XxXDco!dJb=I*us1KKQtj3P=m2R$?FYV8B zg^+cuXn%&zQmAyz6dChI*k#WAhtM$@OMflCUv&7McOUd$)WK_&wt@H#$H`bV?Q%7k zcXu*rwU}0+iEuajNLs|=u0L$Zt+I&(!tAKcvQ&S%a zOB#?9nu)W@FmQ-9w@=7kMp;re<(dB>NsHW%ds>r3T5REErB5b{{l_iVX5!Xsr(*5S zmxY)7SabMf-7M>?!fUWkMc#mPfS#wmBX@MUEV=YdR-9wp#XTaDXfpf|pA)w=E`QH*5TwLm?c7YP~f+{>Dv z#Cr>USR*B0uiO%A;r;A?Ecta2`E?cES&4U7V2pB%bro><${@y;ILugS)&YH#aRfgs zQ*i`8)VwQkwjN#8x{iOKQSTEVPah$55m9VX^MVyKiwifup8;$t3)&dd! zE%ATKnPY_RA8yvI9_0xJl&%vu$7!6S7xQyLj?3(5nV#9V|Wght% zV&jy}Y#=s{F|m7+#}=#cazfwj5bNfGo_aB_;;&+bZP8-lEH{xg%k z*)_G1R{YPn5%#Jk?aID|B zb2FHWln)w9SYk{pV(lqC+VmbHMlJq~n~s2X8hrv7qsIGI8Zl~aBSuX=Ys9FzjTkj~pAn-L zUk9Ew;92wCtOLJ{zZ-SnP56kf1AmZy=44T58;I+Z{g%s;Ra_rn{Bvvjg#l0UKzyH; ztm6Cnuf1qoONqPojByRH^hWYPd>Cz%jPF~RJP=zZ$I4dM7z;L!-$!G<<~^8~yf!xO zIlPOpkc?gHAM*iYOqaS=j%!Zbw=-GA3(_A|OSx%JQ&(sg3(HrP9Ip>_v7Z{84ZdiC{X#n$1gN!^KbDoAdzX-V53K?SSsaVk`M*IbMTiYs| zFS;r&o~G(ptomx~#m7!xlrZ%)J|F3tgsc3gFP6U8pWb|N;FYJuI_P|9bF#!@?aNs8 zcFJe}T^96j2aOTg#pH>8F}8#-+vpN)+wl8#z+?ACzVJ-wG20Ee{M~J09j`IQtJUb8 z8xMoFAuzbyfWaFGf9!K=z~4}~=_< za;108!rMz%FTAbvu$I~%Q!jg^;d49tMBx*E&$UKO{Z_!vEbM3LrM~E_d=ZW4_7H1J zHTA~Yml)So{d83y`K_H|UG{ii^s!j1oiQ-ntD~8==1!d3{aD9%U7daY=u70eUyifp z^|N)x?Ha$mqkb#IZ=J(sE&C$5=ZRxW3NL4U8I@1O{W8Y&wCob=+>j$TSh8yqw)mDd zS~le3eA_%X`oiuEUv!S9u20pUJ|B(Hliq`Fnt{K2jJhGTX&uKpHd$0nh%wNwHzk>Qnz^C#e;#Yu zWLLjs;Ws{a9Qt?r{UQ*vfHwBUs`*a-P8;4Z+ylB4{qR0fw+`8#3?hTit`J_ zHprM9+sC4AdT%Ui8^(CTpnvObWxog!@?fvY1KESG$>_m%*yyjDV)O%ju+r?kH|!gG z@0}yQx%Xa37ljVIr+Hzm>^pZp=1KbVAn3{t(BHQ;N7YWF=N@U#Vci<)_a}oFKDcnO zKl#D9zH`j23erZ1^I%L3=>X+y7xty|H?cO`i$3pO_7>OyIY(Ga80SPk!4k+TH-c7| z%xnmEC5dUBj8oCF?5>$2T;mXhV_COzq>rG-L@)8g)A!2wdR^85 zIID=SH*;`EJzA?-b0#-r*1$=5QTntBRPMR*x3qR!yjMTU-cF2HmoZeKsbj^u9k}kt zni^BBCFZ<1C*7uM%)FI+`n-nD$+>!9PUMyA4H$6%Moj)_`m9@x{;jP4Gk5#o9?0>u z>agy7iS+7LTf_9*<~MvXlxDH!aC{HsQtb0YUDi%5=v?Z&)N=2AYa@`o8+Vg8XZLi{ z4)kmFe-r=TKDlm=u=Z3~$(Kh<{!+HPuVt=7wBKOt>j7D3MbVpAUx>AEZQG-<_Py*6 zfO*ZIZ`QfalRo60=6PSpTf;vBL7D=_1NC`bg&;@qtU0Xab}sfJVEuy zHrL$6^&5T78W(BdOc^7c9ip$XVF&1hMpy+tFDMJItSt*S--34y>6_NLK*Mh;N4@bD zEet(X_J3_OdYm=hMH?~q)e`byUpGpaQ2YGpcWGa9hQ?kbqP@cvevJL^So>wz*WN|j zf+ud#f{{6v;IWx{@aT03!Bh2#!BbP%8zy;w^*fip*O*D)1?_CgchR{_ME!@#!gv3r zjD6_SY7S{(|6jE5d%(FRly7FLSQ_S?cWU%+hyuQ&YnfqtOVlZwdGP+gsrv6=%&8cA z3g$2wb14hbW7j?o4GY7wJys>ZK(ubCV<2_0kU8ee4F2+>xFa~XH<&bq1KCmV#NwyZ%^ zvkp~-ugu#tOq3)p^Q{e*>+7dNHoOJBRZ;FDrW@myd@^;`r#vkY+htd`;t%-_@;`zkXW%~gq$S+`|>Z6f$3erv*g zS6f?4R_g!Xna`VgYe^MobHzxRm)zz7U8!VkYSv-G-wla=#wX|oFh;|pbO8EQAMCi6fqNoS+sKQ^?=y4Q@cJ9NjLQ&nh zmT^|Y?EXUB1OCLANyafO%=dZc?AK%*!;=`>ehy+nF4f1i*^FPt{4K!Wn|#q%@JuV{YvZtn>GqJ*y9#OoYPXsz~tRsA6^seED>@|#aPoWyYdN@ zT?ZOCQ~j?&_Phe$ccrWEm*M|qI^^j-E%>2b*@RjdE3ax%E@s`7nrl@J(~aKJyuu3MX}=VY$WhK!N} z8NQTtT^zo!rmJT-?#a89-{-jORr!+$WuU)Z+t*@sG|2m)#{_;qS?V#eS0(q0&+xuK zU)yKY#>@`AkN@S^fCcu-p|7%hJjTu!vS#l0s`^^gb>*L)hwq#}{r{{BKkr1Wnrk6E z_uOK@^aa-ST`PQHTbkybt*QMf*9UsVR~Yq8JQ;b-w24&NMf)u152c#o`zaV>?`+k# zmh}u}A3yp5!M_=c$o{~4w+-~Heg8jv(J<)PCwD2Gs%akNuNuf-KY;x8iy`vYJjh=) zT6h9|e7ye$S~zONwCpir3HBKM;yCX;hVOol^xbF5o_`n52Y>z$AN+*Bpk7yInn1U&X2={O6Na1D_0j zM!%-r;Ais;enz+_ADe)^zxoJuKSyYTHfG6&#DpbV!Nay1Jc~XR@+!%*K-b8x<|JB{ z?4?Z!=kLl_IOjC}Y8k$08DoF$l6D%}A40J;DzBmow0N(cUCigkWpE85I_@mvxwG)m z20wRXjlw1BV3xBKJn<~nzAV-qpP}wMFh)Jk>spR4dNd%`9mo|?yOCSMF`IgwCC7-9 z63?xn*THk{$2)drLf)EFDe2^)X7<3wxUzmtW+;Pr3|_l;82N`tXFk;)$f2DVDt&hk z=xGd}--8w(=LfW>_|LI+(jxK-IaZ14AzZN;`X%O3u4R{Gv)|_*K#vUGdk{36@|U#B z{AaB22IwM`6SHM(B=lMBtOClv<}>s`NLsuXAL!YH<#-vDJ~&fO6>lp!b>~}#oGPT8 z`Vi$yDXXqha%z(DkE!dvNr4Ym4fK7Q1AV=mxm&um*71C-nsNkjxcZd3ehj>xal5y< zL7V<`ZIJPVtxt)-tO6}SdOM9aRaq-Lvp!tY$y zIOw{$yT^2}miLL7BG9QPcn^)#!m)o9(K%lZk5Gp>q$e1?5_3YXe9ik>Z>*)8_?_je zt00U$AnM99%Dj`W;5m*iD9_Nmompk!@-o4*jqcetI6jkoVi_OH-mprCw6AyDWbW9Y z+Q!_o{2}W)@hs+z@2*t9YW+YRaK=U2sfUCCPl@6o#%kIbd%j4;X|i`{<%{cc-A1j@ zigQ$bUGC9djFU6v`;o_UMVr3+`yIO>?^)N*DYfQ~EjfVaE&7}eX_M=S>j`ET)vPnZ zb=W%w*3so~7TDryD4X_xU-10LTlP~A+OZ<5V>580b;Zn%nh(lYBh2CdKnq(}%qi^@ zt`hP9T{rU-b7b7{lGnsKp4UY7ZNJPH)-mpa%S2e$ogK#(DLdT<{k@WMrR|1sE0y5i z70@5dy{0|0DQ>Uh?Ig6_EI0Psv@!fU_WOh`Jlu~8yvqhyVeb}>_ox2x@@lsxsqq%# zo|>WKS&Z@G`~i$LW4#{MS3HP4ll^}&)}1QGRq`{&TDbO4hCE0=qTOB|kue}%Yh-xI zo-4ugk0+OKFSvf@a{dW$HXnO3?g|m+{FWx0b+z+qQ#)gFew@<>+f>ba|9Ja)*1$LG z-dj!ycdoG)mxBf@w+!rs34gOO$CKO-oKIKsn1VjwOc!vb)4-Vz&ww-5-Okd_PR3e@ zFSgy^ix6MfI~nqLq1o?v4`7xxWV;}na-OyX1+#9ztXY$lJ;Asx!lP-Uy5@jd7yB*K zb`!tvwlm-q;eDymPdS(Ul!uJpWQ=e26cBihc(&|5;a%pz_>{F8Vny+={P|0RV7ZF0 zOkKL%(hz=Vs=xW0lV zpqp(cV_8qJc5vaCz=^x1FXe^&i;Dxx30rrwkE@XMk@ebNV{bXVI?@T5wKdm}^T+t2 z9pD4Klxd+yxd>;v)o#;8I^i$4BD3@$ZAs8qI+I1awcfCk)RTWH8|E?mcJV`ET{qz5 z0N%L~e35*F>s;v(ZH(uu$Jmh7!i?$k-&7X9QO|a`hvzuPK{hGdC<3zg*vv9-XSRxS zh3r#s9BUY_8Eg8aP_F$Nto`R$^IW^M-AWtAAAU%i_f+qJdeG}jp-ZQNE~T)(hoV=9 zMwUsMHO25B4DCg6YwGDa7V&h8cE=~9u{Lu}3-SMrka@VSN#IvnG*-UIwcoH4`WI>8rI_DoFz|V?+%K(}vZRW!lKdzOvPB;L z=7}(42bGOl(OB=MSPSh}PVDbJJ3wbsL|ZrX3+m)G3(CR^YsS2Hd~?lKQUa?JvLI*H4Yb1 ze^r^RaoDh#x|Y+k-XWq*x(GLp6yD@=2^XFS-q8)civ3io09O+s&qvpaa0KJbN@UGH zXXtUjAay?OMd1>$&Ii1k>+nU#)|W)AfN$oXWaA!JO-U*B!Z~_Y&+@)lHE9j^vlnu6 z1Y<-Yn{uD|eSR_IRM2bo7<_8?s1DNf3gG8T;FQV3i3@Jc?iep~UKBrn19Z9E=nFw! zY~t?TZD+<^%1`rB6%QlaZ3!t}Zqj_#leK=QOvVXxCU3}f=~fT+yM(-rF_Kp9SAr-K z4%I*89Oz(UWvpec$K)aGTVV24Prk}Qa>w-pp&wzhl(REsKad#az<8qfHBrKKTxh;{RTjCR=A zv!S%^>-J0bDVeWgiQ@O|dzdp}A{%gEpV<(uz?#dcUqU9a&IG@$644-JMsZQRPtDVD zNcVWGF1|e*D3!| z4s`Ky=|9Sm{-g3=tN-agDmQ&8H`9NVE9u&cul2QbSNWnFkBatxPZp!f!GEk)QCLnN z%$K5Q9j@&yHhnpe)lyXrhgSWDQuYCC)iX;eb2SQ4a`-OUSI9$Ib}$S8V?dn0XLgX^ z+=I_7z%l(ihnht=2QW%LcRAo;9`JCF;rp>BsoIys_nQqLkXfHN-UoCpe(RnhqEGB# z-h_<7|5pB=W?lJzmg=IN<1vrN9FOlb_o=BGduEJRj`5~pFB(lcv`9UZJH&s~J%zLY zbOZBx9(zlF^NHSATRCVD=?&@7EYP6}(4lhBp+?XlpFx8db9FQ5PzCU+9CYa8D-|6& zNuM5cV`s9;_ddb8i5MqZ51kZqxB>Jf2lOc4phM|*D>~Ewyxh68B;o=cqMy_oM~9pS z9Wrr=?~m5|!lXr{F{DG*{ul_=7wTKlm$(=R6Gu$hcx`Ziz7SSOW4g{jV*ocLeuKvN zu@`%EQ8ZW5n7mL*WnT-Q&H0veX2KciOkU_?%!TjaJl_|CX-%F%YqsfG9elUx(=_p* zM^}DL2i8m41KF>jb!}#8=Wf7!iYTHz&zd6IUs-WODf#y{(E6vb=AUKmtUENr7nOMo zSZkt|o_>y&eW}9#RL0wdBEWyzx5DSf+FUR1tP5tU{QpXfPx`LLGH-BXW@&}4Xk0#M;0}FMgtTOj7AX-%&M52inLSW5f!Di|c6wh2 zf1YlS$y(#I3GcCpI==tB&EIh|PxNVB-~Y@4%JrrnaCGQz*h|o#@P=P9-!~_e`KDNR z5c}G?_J&fx!{SXhLhdo-fHM3~{$FR8a@a#pQEtC@Qeg6`qJX!luf@%L#qGZE{J)fi zPsHWU9==3WPZ*Lrd(9}7JL`$dogHWN%xcoWBX9=C?V?S_E*kpcmIP7lNu*zYaKB9U zew@G_HHjj?{)wBJZ(sv$vWfIs&9-j>@Xe|@s;8|>ucHhH_?7cvdZsk-94fsxFRibkFIn>vj@}TnD=EC@%c=Pc!=`# z>?s!qjz6piPC^bR-47am__51ZOdPxXrxSO4<_&I}QyOG_jg8R7U&WgEKKc!5MFlQb+%uYLiBHlFcLaf=X`}%G3 zB?>M)2U%0QKc->DL}9FN+oFN>{WIpnXQ^9#XtC8&ALaVGF&EB_^W;3R*MW+<(do|J zuAVN8&wfTVfZ^bjw2rQNCDYX$@00Z}BD&ktbrXA)ind6t2(!1dj0=JMM3`=!GNOZf zP>1=I7`6fzt2h3?Cz<1_mfo4}v$niyM6GVGS2JkkQeFw*u z&`)29=c_cIci9gtGH--+d%5?u_^me8=fxfuzY1D~d&3JYV@tTkPWFw?v9#4P7Qx*h z{k;2fEY-DX%12c@PXunodpBs-p0T*DYL46c`=S2l2r()+#uwcSI)7Z|^-+eyb4iLO zeApMuDwDN3a{6VEJAbZfCyX`tAaxw(gdV%9uSN1L;6wS@qJ0MN(PhY;wk%QYGUPxP ztKFGOaA5n2m6_9f)A?H>>&MhAz=axgxtz?`NX%6IEjz>A=m@yvZ zeY~d~{I_4$?Rs#qtec#q>Lt=g+KO{zeY9MhOYZBUt-`KKa4w73xGEUWWPAvU-LCR2Hbzp3Qs71t!L(IqVQO~>T#yx zr87h2&0-zxmXtZH>_dPx#gbT4mod}O>E=Q297!Ldfb5?e`fVcplfsgDR2U?_2f@QJLwH$y+DtoO~v}IqCKQL+{e%ZqWYhRGr*U+nVOeyRm(mH z^l#13!nApswlHbWxkE?A#9`=Tt99z5zVPEi*3pP{P_I21w~ofRbvy)I9*XxL z45_b@Yv>)M2mW7)wtl(U3RqfE-C@|y9-{or9s%yu;y~qlMeNH=+WgSuT}@9=p8ny# ze7!8q{rN{^>4E(jprQFc8%#r0{h8d*GuR*I;r%_@czQ2bMH?G_rh37C-M+A&+vA`; zukF6RVa0Ietbhiix!G8{17%x|rcD#yx{fX}LZk}>| zhadRW3H^DzO~{zkitP>Ir}XPP%-)_CBn-q56aGJOIAw3r^0?lf<5my!_M{ykit$cb zlsssyH{`)woMW6k=#P^J{RZvbyMppyo|Ff#>F8@2`>|+0J6ZX?C?|5y|MQtxOF8zm zVo1Nw_&8_wA7!u4L2=GU2HUSx|Iu8-XEj=$=T^Skh|8tlJc#|N#8_RBN$l^tJ6d;F zcYIhZ79V>VJR9$BO;#{(&HsI_ZRbyAol2ZR;ZH!TVw*+yFzaUMHoMm)|Jc^P5)KA+cLEOn)6{`-Wt z#_no%KTsC#!g{G+log9=_VntyVc;G=?#aYGuhCwP@eg8cD&}47`*A(hb1nA%u%6|4 z3iSBEbs{<^0dg(m(fGJ_=}#UK(|)y;Jx5QEwYMA;?hIqEiVYvCUDiDi1qJlqTH?=N z;qwL0D4!+A?4}K4yO~px?U{TvT#r=R0#XUIBmwZ1TODdf0Cnwz%z zk8mx1Z+2kJ`1eNuKO7^~GI)$nhMyUya*TDcCWZ}X2U(Lnk<|Kzo3P3r%Q>E>pO*Hr zFz=>9`VH}mztTSqK`w{3c04fM&FW~pT#i5TYK!C&@h8v(iC4$xWW7;yxAs5%X2e20BR z^J37_;s2tsw(qp-&hkC%)Q0ygd=&G-J>7Wsb#M8?&!>s7Z`Zzw8?}ZjIEU+4`x5tU z>5WxCYviY2Ew82YG(!*nxiI^p=SsO|6Tbfyd!_oA=Nfr?IiA0525&TKz1hG^CQT5R z%(atWTgk6IhoA!_CdOL0w}-G#>`$)VnIZS(_nS}W+e7h_y~&62ZSJ{A$L;S!&XB!T zM0K4p&bR=$KMcBD$w05(E*;~%I7Zrvf1E0csv*PD4#9eP$Z>%HuGY~%!a^6gT_+xM@c zkTA~}5tYZt{mhWClKiyNe@(pPSrIopMlI&OmT!WY%>UP5Ch-g~GnA&CMrX5}r_dE4`w+F;^Czd=P1wVd)N=qHs=Lm@j;8SVbUIxIUD?r>pctW zy%F>d^R6&*7Z=*~z}5479UHJu2WCPKl6mH~+RAClUcx#0?bhZR>`mqaTDSvqcy#8# z`&=`>{(WN9-+x~a@8drH|KThN=a9o|S6&C4nw{ugin-TZ$oK}E#|?P*pPT5u_LS=7 z`?jWZ8Y91LTFn`Bnk_{`b(%b>(^PF%@J=6TYmuv%xx9=8%EBJ(nOzp{X1)>Dxp!D* zzaNyny33gZvPcw09HJnTcABu^1083?PTywOqi)l}cj?rvl`dgBZ*creDxRg?NEH0z zcB9@8D}%?b@t1r5Kvf6LTno{n_$2u>PHeU~Yur@>A=boLs zN`#jX?uLsr>YjuXgBkdm`5!CzY#Qyec#P7gm0z!F+|h0( zpPiwaX;U3**i^eQ9&wT|MR?nKp^)~~c-*9Ym9YVtbEOqbZZ1=~(sMyi>A#@=YHV7peI@8PZSYxBV@34SkSA=SpBFTB z(Owld!1#!d$B1;*_gmV&LVv?EFTJE{H_X;WoB7O7e#J~S#BkLLGhN24~ z+trHj?|0Kzsr-}8R#8oxWrsc^!gcpz{BU~1^q)8xN9>DQpdT_%j=3zlrsDsoi3Yxu*abfqJ3o^2Zk^ced5YaBjrmxVP6td!KC^Ssc=O|ce^wVwU=@Ec=iiU~jTgF>#!UZCoE zG)H39(OQ*jBV_{SsTi@3A4xrIq}25ptMZ#VvF<6*MkPn7SQEm*#}XFuSYO_QAH$Yk z0A>JN^G-1rEHhMvGwPInbR{d8vWIDJr=DTTx_-;o$+{V`_S-kfx*3plbuloGw3}gF zt_uKvwEMHBBKEKcIAX7x&|&HfA^nC@!XxC?lGTRp!1qf0gPcbjPwLR?$*0@+2HB)m zE1T3oJa3V96H!3>jd||HICtU|ZQF;y7tdsuiPvFLY-hGdnK4}|k0`g_7cj9vGsBACe zoSmL8K8t11x8NS)e{s#w!t^=OCocKOO-b~? z^M*1)tRKp{i#E3}%KSQ8D%T+jo*J*>o**BvmIY`!&T~ap=?*Bc4e~|8PAE5h}ea$+yeZxB9=T0A0*qHy&xtnX{y10&V za~(qEfPTR`fa82#`YB)e%XfnGThjOG%6dGv74IDUj*L*}ZV@iQJ2s7zwI4k5jNH6A zkH%W~p76Plvu;la(vO;dM98?Knyj654(f)`XY9XZzdBnjdj&W?$M<{H_l2J_o=c?F zCo3K2z`6f`j&rWkaW~6=O-A?6Q&yeFXrAoKC0^6A6|QQE^|qMTp(l; z2$5PR6VQqY$%r;PU~5PO6rw2F0%A+Th#0Ze7%{}*0oqGuD6LASX2dGi z({lpWwj6u2wr{y;og{!#5N0rBzt4BAwP*GW0qJSa`~LpOC&|p->+-B;J@*TZaT#*w z-_U~19(MWbIjok)6HXTKgyTs!z0O3B44dHVpXfPU_Gyqf+d%pZ{a^T^h#TD$K-}oe zXx!*xQ`{(IDs$Xu)!a%?wJCP=rmIG}^>>jc==4K=au8h^re_f=YKq@;kNh|5+HGNw zm4*Cf(-8L;d4^TlY4}^&Mq2E@BQ~ufqQD zy_-IV4ubej+yg`RhVB7)tfqT_@j$cwV2baAjAO)i_DpUGqK}@B?n+zAzkg55|IK?U zzkoeK*Xfzef&scyfq&=$x%L~dcKGNuxwb25ZQM8Qo$sqWuIHF@DZ zcEUe7twP9l`!8kO-VHovfN9vyXbku&DIeO0lfjAn5EldUv%30p>w{>N_NNjo3HFMp8w-b@pZQN^Si|JuUJ{O`(~F}# zz2Nm^f_b|_IC~#xG&@5K^G4au!)|<*7M$X>zr93AD zx+t&HyOGDb+;frg@FpWR2DOcinDX^Jzq6wAhwJ`#<6oA4Z}j+=_pkof;$L=u@BHyE zJPx$=+kNFSo;^b6wVn3kR~Lo{crD(EZhTf<$vUq~p52G~7U&7+dFi`OZ=l18I;qfQ z;7dULXXrv!H9lU!`Y6%TGP=X08-*+^03W{L6WYs!Psk>HLIY)@b_?w0_}j3X<6W!5 z0;m@qwYilEy1>Up9sP^cPWQH@<*4Jkiq^4|bTT^YTEv=ON6)Xa+dJ;0HPw)=g^ndf8~;p+-Pmqp&;1b!~huM%;>+&66}{ceWZiTs#>MJ!TJ`W^bNAirnT zLM>Q>nEHh*Nb?6TdVOi%0P#gP>3>TVi?@>2fjS@j{Ak`PT`yhAoZkH@B6rrD=MQ`u zEzjR)H|16j#Aq4j-)0AobMiI+`Wd~u5b^DvL*f0% z)8PFaAUC?Pj@J7H+z=a%+#vlIF5x4gbLnUC_~9h{NRsF3qvt`=y-cxj`^0~ zGUeBSKEX!~-*W%UCf_oh<&}nS`F$B*QD*pICrJOY)BOm+3As3^(E~d=k2y8@;mq{* z$79b;Z_Q`nR9NXeNdvcyjh#t7&2`!u^NY1v&t)rcdY7f1-&Wux{Kb9SO1J~R)IZ8% zzRtPl^^ax#U*R9yOLI3?Cl}?L>>b$8Ho~(bWuk8Or`uH0Kh>s^o?uhipQA<8*I3ts zGqqq_s<55D(mJkhG@P7h!b!v?-G3gO+>wBjze+zFC$A#j=#e;Sjm9ud@QZsik;lXA z-+bZtcsS)e_$Xt2jGm7v5+4!kgBT;=<1aUh+NeEQWCm2F1NMuNTdnC7XXvxV;mHaQ0Qs#e(Z@tLpnsXnt$Xl7w7hwSy?k+>W(oCDUq z2k?511^?Cc=h1oxEW*aiVQ-?vW;?GD_Y{|(NN1aG%6}GdP7`Du+I;sag7q~dvusIX z4R5BgTF8(>m?J?FJwQuCs7TThDtL1rWalC;l)yf2a~cF4Lv z7`vKy&o5-H8|zftW^L|ahz=Ma6qoa013r?rpLeCD{4A~pX!d^3ml0{;JtZ-ORpeq+{0XCXh` zIe1AVa zHoVemmbnVtm(U!b*-`tw+|Q9w_fZ_bk0vhX1P5nnVlTwotTJ}((5%>gFi*PNi&5tQ z`c%8@r;2r9F2o@e@OnqzaSHlUyxH&rqE6R(k`+K3K#Rc}qP>@s;^6=rfKj8|42yJA zoP5(c_{&=fV;R1g#QgVY%q8u4vb0?owPcKV;op8&@BU<1FNK`5=M~ss1%D-;%j+u* zW{Ep`Q(;k*uMV9)o3HY?V44qp9|NAj?}}KE^U31>3hr(DuEae{JiZzE@#!@FcKBFH z=Y8wtSbTWF`|&m%voF=axeYY-TfjLQ`_M{3!;icHpL{ysgE2=B&Cx+{Jxp-*(LC5k zvE0WrQ(i`D0{k&Y!#UP(K3m}ji@z^s|4XWbO=4ZWB@*_w=~@JQX)nz)MEBp_SlnmO zV$~6&#nIXtM4xNu{@E_E$L-~+guNJd^q|C}&&$1pZ)K7Hjs1L<#y9)3VP|k3QSWm7-x3?2XU z83w+icO%}ws5fNzVL{sm#|l5JK}*wLXI)r>S*E?9bu=Zcqv`B*JSo=^{^mR%?*VZ1 zjPM0tE7q{~LlGZ>es+JnRExYT8De>^-LOj9v=^bZ2}HF(z`aQPb9{h;fbo&128~9IHKWtMH8+qOn_UVS)cb91V?m z-}I5vnp47$@wz4E!?=m|Oy9eCz9sP$_ynHK)Pk+3$A|tcL6h!a5&qyP&(2KL8%=qf z8)LF6;7xFwvAAfY)GgOgN$-}?-0`&rg)jDZAH@75hOZTV68KxIm3V(^M@G!wIyhGN zTffQTeHPwvF`vbTvBGEZ5IxggGSZD4osd)H==9HHrS%q(x8ur_HSOlJ(tGGL`mAV=mvlv|!=K>8*|bsbMhq%^IIj_3oN^bdg-_?x{5jKK zkNI=obBF`dCp3lYT@hLv5lb?k?%SvY` z|J?bYrpMN?tQR#PKWt`Q+E`YC`j0$LYYci3>~4e|9DOGa(i&mMKS;O_n`Xr}xA#{h zXRW5O?a3_*Q4hXANosflHIT1nnayV^j#Y1C8QwG3yxpejwau06m}(K<-Fc?+?dEmt zSalK07*f;xb@aVmj`QZo7LpaL{>LKCZ*M7N$5s`(9nZpid9z099 z0N-jE-4~MkBUOsv%~e4yXqM$6^Wl5Q^121Ge7Cb&*4u?V4>_Lur0HHCdIP!hPWOjH zdJbYf*|-aj`SgwzF`v7~vH-F#OJ7Ih4HN8313F^z@`k=d(*9&>@nl?cP(UHi0Oxq5d0>w)+2n_i+$$UgdBfz zneboZtXlqC4?H~*AJ<^KH#hD*r~lN<*n6n03|-ya`zoZCxnnUiPB(nsjXxCpBaw&0 z_HkIoZsgIt#i=a|+X=@v8$A5tSid+P$7}dwN#BB9?4*q8Dohpr2t#MN=4rhf^^_q~ z9-{9**r^5oZsO}keB^18CtrCnwlFX1=|0*U%Q*kSda>@Pz1k#qAQtgla!1^n zk4PV~Tr*-2g`cUwJ(1RHUPF&u!_ZP=9mQv@W8-BB>qtLa{#i|U54;>U>b9;F{SRQD zFvr#zHu%KYy0mk|*5$qvpMMG)ypj&R5&5SRc>d|3r)W=dE*a-uGCYm-8lQ1}L>0C{ z*EAMrld(5#bS6E;thB`;>H^d(heiTb zr$)bD4e~uhRxU8#FZD`(f6Vvm;7;S-kM}?KgVFERTM0NiE%n^8F>n-m2;wmeI}H3r z@Lj-1gnQX^B@3pTaQDzoap$=IkItDtKcdI^neveDFXK38MsaO|ce-5L9$AB>U)Erm zHnwG9EY`#kjWrp3*JNj*J7hQCd+vwKi{AS$J|*<~lO&(>no;R7{cwQj(!h2WH0F=S z438~{yT3M5oC|C`+%C6W+T~UYyPOe!b!aX^<-iTV8c zlh5Vz%kyqcI={~^?@=WP`&b+9L6f)#fcJo;pGEQxm}4i-ij7l%#|8cdT5HoMdZ}IJ z6e0E!u@eO{_Hy%Sz0~Yq~pGa4-waSgxh610@}xRiD! zV-4=cD|sz3;9?Q2!LZL7YjBz9=%}~|n;+@zz=xgbaA_O*$Wv1MeEpbNJYFcJt_5;p<4t;ITTMtA3{kQj9Z~ z^*i%ryo|vc{IY%(;4>#f3!3fNaq(ek=Z2HVWQW6jf$epDn&1!bNjTlw6|>2kZSij< z#)F*)M!BX~d(i6xQ641VGn?j!#y;6uZJ6Y1#6KORpH`C1SA?=U-&0jTYAA=CsLSLk zGrq@|RV2R||I=N|#5mfBUVDuy-`~nQ*Q3tT&8)Nb-jQzD`=T*aGN$U^8A~;$D?XOW zCu6C;T{6df=}l7UspuWz?0~O%j@8dk^3#Y_GDz>_R8Sks>tU*Hcb&d*&jxQ1*6HDJ)<0-(lcrU{npi_eZy<)1P=$n zC5_;dPH-AS_%+sd<_)#;{msm0^a@1}+S6*P`y}C5PpdP$7WP}Z*I|;chE>I1N4SGL z@jBoRa#acT=$BfD-dsOd8sO)wlklk{`0(5=g7pIpS{7cVvdEQVSXXdDtp^>-sb^u^|dYu z!>+qN1@^F9!qo+I2J`7G=Fyp4M`u&x8(vfGqqFJ+zMA2TyNo-EzUCaxe?1${@H^a3 za1JX1uP+47UJ2)$34Z^HvCXjN@hMsUXMP~?_)n+w-h=!z(G%`3myL7>>77gI_s3%= zg-K>Y6!}h@MZ9B8XQj8$XHOBleoyN|ZG?7$*9L-D2f?c?0bXqcuMGq*^cHU;c$HdM zV6mK!+vk(x=YwsoO~SGbu;hN4Z2w$Z|HtU7Xk)!ZKZE9dw9!6ZOJR{pV;}1nKV$Q_ z=-u3cyQIpV!xyk-)PlmA5g*+4Dryv?H=GvPK<{?YyN}Vk?ey;4WM1nzW2utnZKroT z=-m$5Z#%tPNBhk?YfpK6PuaAmt+eiCghQDL&xmug_#HpsJ;nTVF1OyWAJLt{d7o*TP4}nLhh9G)r_SLt zJ~B2h9A2u>owCq(D&ZsXP*v$XN%ZSuTE_`m!!}yOR0bO#Fm| z(>%v%o_2{lw03?@{i&=J=UYd6c$&sS>;P(v4yaFWvKeQG`vk@Vvp zOZ%pX`qU;DoyP?9OC&sOr+IR0B&@JAuA|be0FWk2%Nx%B3USudOO8r#*vDe(U_b6~~{&Cx5&uo={{NKAkcz(`+=O=m`JnPN{&&X(U$G;BGJ}!4C z`%Ww%p3p>h@eS6wh-8d9^b)80I7s(#2>r;%GTysmsF?W>C+{HIIFESqeEPYb)_Is< zy<@Jk^VhHEc7CX`&T;=J>pZ49{DmY}{)4`|D2ZiUlakr-oRZYBB1!X9Fx5-ASo{6@ zJIbdLod1J9pF=RehVEHK5^H#0wYZ1qZhn<%o)r4Li+-oB`f7Q~s(Z_Imf|Hjy7mW2 z?1mLdtn)Q`{t^29W71Q`5InY!%yCHFvg8nBT;Fe{cR!%Dr>t60eu$;iJV&&AsgoUB zNN0h%@8HQd(Ar*5GCD4|Yo4W(S%X!{aPOr#wj{G-Kc?TPJ$$V3&TwZ$57-i($Fq3u z$cXS4SrzAuX-O>$)08y(mPbi{LOg@=xw1NoYo;xEQf5UVYhZ+D%L#UcQ`F9tcaL-< zPlDG({%b)eXb-+i8c#C&-ImUS1jj?F-T%I7^WS#2==)et=L6q-g<>CiozC`5(;UL< z*+gfpZaPmcn_NDfbfnf~k}1cL+>$}~o=JG0MbBl^S&t{3CAsrvI%{hVYMV2^AqzmB zd`)$R`)6pu-&uIfMk(jVs>ts(X#B6gp?8~kK*cvu>mZxURPM`1x-qUHPZhp}HQq>b z*U}mm(OMSLnrUtlok+0WJyk?N@bceeo*p{h9P*Z$6_tO^m)0VT&jYNN6qy0|d zeVj>-QyfE&$y(pIXFa5oBnkTMM(r8vcw2``?>sw3^d5ygG;{Sx_qGWd@0(2YvKMhx z+}3zaWu%{UHCKz)2wlu}HOq9hu*SKx_Z^*j_e&F4q%2Hy^I`sdM(API*fW9XjAAY0 zai2feJoSvt+%q`av&SLg5V4NoF`Vx-{A5;~&?2#C7=c(XXMcHYV%4 z+lH#;nS)pMT*)FiC-lG)+6Ur`1_0AZA~vH1wZ;pz2*I_thG2^`@e+KmvuTlyxxgjc zkU}(QBdzx+t?zk)_iyN@q5kgjH3ZkoEMsf#Cb%ykxbGmi|C)ZDCz$_+e$3BYPjFvA zaQ`XcN)_^?XK0Z&^x9R^{HS}s0e!gT=XD?Iy}%3jOKU1MPjf)w{eEk{pm~ZEhr1f< z)%CzV&|e96tdQqvZJbtoKZ)aa^#9K#@pD~FXX>Qq6a9TSBbV$~-d}yK$2ErQf$r1W zS+HOB57;x41w$Py*fXDg+u^4GjuyCqKTA?sMnA2^r8ph^^c=>;cad2vGSJL|`=4XM zzrapG^SooH`(sxkCl{~?coOhSr@wd8n2|Xme;jMwRn5AVEnvOFH7o)=K+dtXrLqxy zU#%@l<5qP-xPLx)51VmS;k!=wDc`ZQZE`iEZcDy>fcqu$xnI)NEc}wt(@LKo>2@`d zOx6l|obN7D*bG+_qyI@}s1f^$bQnERf$Ld3j`cyp_29~qBJ^|Ey27##bnLa(-0;@c z?_9ODwfm}{{c)x*y@hqXqTUq7o^})O7+65-`=ic#EV*n-mixvx|;BF!zg*K?Yl;=JA)h>*B-jp$Mjy@5pQ$TlfVV^ z6TYV28~!DoL7~EJrM$QB?vF%o;g*j?Z((IT=Q+>wzQU+=ahK>V{3B-M&*n$#)_m>> zy*uJ7S5&^Ucc? z`;4ncI_~VfT8^-yft9g(q>$--t+$j9(R>?PTNV~6&P;FaTz50Asr})Wg`SKJ&Y^2r z(51S{&I#)>0qc#V&+EFqNH1WKc4;F7jj>&9-^^t*T1UvnWBEkBugRV}9ruaw_!GkQ zx+f|{?AytcdX7temN$fl?cqBj|Pf0$B)b#xFsR$aw1F$dN&SjHj; zpR*T1ew;_NXNcAV*whifs+Tr$qib8?S7{)grwo+SHh z<#Rjz%k!EOQp;zW@!r_0nZDfVI2*5U-w^MfZjQ|aoE@Me z(7grTOr!lqE@6>R7PAQP;obon*L5|^;(6bs$ftEYH^RC^?IJCBROWL>7Rh?o4&tu~eu&j+!Vghx z@BrnVL+!jyS=zTn$>sUA*H!-Qe$oLh*D~XM zn#iv;@}Us-j-03?w63Kx<{o)4MsEI{W9fYQjJ$kP>_H%*Cnxs-r~3`x(l0ma-KaGj zStR;X895qH5p1#kBg7wHBRE_)mer!)tr<^_NEpq_ipP~-WsHI=Wifvwq+3t zt+Beuhh$DpL>=SbLhCw8bHjh58GYrDJ3;gGk8D|pd8Z_^T9Io!#=q<6NcY7uF1t;} zWw(``o&U6b5se|^91b-V%n-CB*B_?&Km&62>w!Gz;WSPU;gR7t_R-&vN&iBh+t&$R zWYDKOm$4GysPGfHH)B26%OM&QxR`ji;Kwz?%c$)e2d~9i5b_d_HK4OGVhv!QL2lY1 z`b^aK6?bgWM)W@{aDx`Uxljw1x);J%HtN)^2={{Y?dx`VCTE~-) z(9GqZhV_JBr-^?q6H9k&%faH(;mysMclVGu1=xXpQSpOpyQ*Z5)H7lqD0h(X&31<5O4KPK+LbHs9%6X}4hs3{-p4?zm^<;FA4%Y$h}ju!&&D0c z{RZrBGu?5->=<_(XL_1w%guZ~ryu8k0~@{X#sYd~nAY@ZXXl`^Gio=2|FtVTruJKi zsU62ey@dBbYqA8b!T9BJzv%hlC%i<=?G~Ot_e@;OE!Ky)TZ13FKGaJf``0B+DSLL# zl0Mv>DrT*5y;)b@Pqf|80SwuHy5(%yAMrdb0a{Xh)`fZPy z8P6}ZAch%`8J=7D*V!_n}0A0zEt#k!Z{Ww*+WL`>?YDJpbtY2-b;G$t-oI% zMDG&BR@^qe5;j?XdsAJwLdhA@h?gSYv_Q!l@**ai^z@rA8R=eTVWo)0$NzX|5q-8B zbZzaVMb<)=q0k)%Twna$NH-%rd63{zMe}Im6&|-U_xDOL=YCfhdIxe<0S6oGap3W>;uW@)%9IwwJLk`uqsytbvE|2tvU9q0UhAxa;%mK9k^&dUJx1nZnmImIz7CZM*=7GHh zHm<)tO!tDG>Hk3IcRpI%lkRG}skSG0dhSnH7w6?^EHIH7d7b%^){Wt`E}Qm%bwLj` z<@kQf$O}NN)D5EU=?&2Ti(cr6=J|p?@$pGV1s!nNrj*S}W&wkigHA&+yiq!aE)e(wT(%4VhCgT9^~ z&u{*;LCC6qRE53m6B>J%o`DSNSC{k|IrFnsyCYhsIH8u1&|UL3=O?T?SACU2q{kw?Kcj$jt=pTQx!Hf^OMgS22^@=<0O-TveSO_%t2U=!tV7 zI_3d;ypH+g2Iw*3|0Nxm~p zlYM7eQ#+0Lqf^{pltg--%Kb&58CvjT3;alm|Jip-eZA`VFzn7fGA?GA`;Fk|%=bS> z^KYYh@&DB=diS>08^b(b5B3lGf2Vq5_`A&TGw1q!&3bp8DK@9@S4!=frZ3aFzC`Q0 zjn;W9t#^rUc+D+7T0i$C?UlZy?e3Of&;P)e)PD|N(l59#DTn)#p8M)Z_v;fNp9^2o z{tNIWIf>5wc>;@UIz@U*tMDaNwX(+k3CQiYmhrwhG)`3t>vhYXw?ia%7mw2OR!d=L z^}L15T}ArIFA{u9Zn``F4&TyrOPp`%Tf(=L!|7USy|CHgtV3UCo<~eR3HQ%6k6mG9 zHf~d4kw1s^KoflrKLx&9#n{Zj!Py=^@!pdnf5Uw<(Hh940^Uyl?=rV+vTa1onS9g* z^tT+*OZ(ow-1oEA%<$a2O3x0$sgG2vyIq+w6F!OR6^Z^SEB8;;CCeNQl5^WKS??a2 zJ7n@tg^1?$XRwlw#?e}4YQbNn5M7(efOsUI*Xss58ypt_Oo3> zXEI-&34BjDlb^^lnV;D6mhkE(!nd2Q&>~+iWON4|e)!+ohxNeM<>ya-toOQTEr2Wf z?hX*0cUNkjr9p-F>HT3ct(Eq%ihjSzT6jNa^ql`y60OnJ5+pk6e+{3}x}O+7rsG3e z`}H&jeEY{}T^aQa<=W8)-)5_pg)L0;DD}6OlW19UJME*A_Q8@^=RtL>U(MFaE9obx zenq)bzr1`sQ)=eWJ}PM++lc4GC%@E^KD7Oe@TLEQWFq+8{zmuHF{}%?p4J16ggfpp zXr5W z*=EE{)3fvGPX2_>y4uDv2I<^^?~q?nU+U;_7KBcPdgi1H_0Co~UwYo~%|-v`zPTL# z-E~AGi0^zT{lO>c{hzAY;i~4{js7K-!RbU>P#3jlkE=tmvCa*sXNfqoKj@_e@Nd2> z`}&|ht+dbd+@%B|M}71r3m*O(>1MBLkzqyj=JnlP8T7BJ3~v8wWw0l~PSbO{LfTZ!?3wqgCz@;h$DCuy{!+i;A?7DIJA~Ux(QxCZmkWst!u#=j-h^HdkW$o3;gc! z`5iTc&l~9HPQv9E)!Ohh@15nV2bE|+@`g|BM7q7QIebyBazJQ#Z?3zwlLTKz*!Ppb9x zVfdag|BAl!PF`o_2eT2EQ94k4t!EExpO%*3GsH8usMaCGiDF&0Jw#JK(ip_DtU4U-nZK5d=EvaIV; z7g;9}UAUa&Gn(uE$t?4L>~#v;=E*ax3w#LU|CI3QA8*w7j;YLTCE7QL`d5~TZqz*) zx>5_m7cq1tLriSRb##u1^G1EDDZ~dI7n9shG|lmIt+9r1Esb#S2)+M!pKqi6J)!1dRN{zATh?*rp3T{W%T@qoJzv~f^P^S2SNIYIi&v7IdVJ0@}+cF$&A z$98H##B-KBulF8bLwcI@`L{hReEw|@D~%!P@4rI&`-e&2Y~%j^EW1sCzdwun``ZX+ zqUS@t-_tYFjj_W|kUrZ)dL#GyXK}xOTN9)Iq4T01;gqrgfMXMPul5SOlNzYw5k#8^U$T!aj4HaKn&ELUtu`=s4n3 zbN%%rtm_l{e5&Egd?bbQfDgYaV}q_6YWU`hPBs0bOvA)`=W@e2#U7h(Cg^L0$w-LWcg!eT0*Q z6SvYGTkB9bUgeX_@27iIl}kFaI;HI7N|JF12Tu^a4By9su2ff9JIT9kFSi6w|1IW2 z-3VWixz3dlw_xs<1AE?D>C0cP6g@?2ziqk}2@{TBj$s)$0(~Dc6L|D9Ia=fy;?XBa z=IWoX1*_NXZtPLB``SqU3V{!!7R@d#xWp#xZG(rHu)UD{GSI{#cGxPVUk9)>{OC55 zE}Cts?~2;R=%s%8hhHqR{(N_1HR;Dw0pA({PY&xjEI9aVO3?-h2l(#}Enq>^Hkmh$ zc!;del!kj|6FrX~GuN~-`RyN!`r;@0iDyRZ8U7w|b4~EsJKd+RL{3m<-}~xho;y^K1-i1A1l^w)K~uzt$UlgD157fWel%mk>1vfK4na-F69A& z&;E1NrQGO@uL1bjC^Z0K&+x+jOL!#W9kOM-!$fx*&HZSL=x=v6T%7Jp2_7d`YC*^= z4~Fz!>>s$iVb1Juo2*?ln8P9)PJ!20y@M-QaP_!&yf$EC#_NIO@io#PjK*SQM`JOT z)7l<;Sqrv}F=AlSxP242(v~dxNqY$o+GK6Twu@u^q@B1oHPEBe+=jmpyzvlyCU7U4 z*BHP&*M0*zRm{DOaCq1*^wRmW<6}AOB!jrdi8zjdvGFk+^C2xnm9L7kx;cHzT^EzI!YyN<+ctj}1^9gjjf-Kg;>D+#8s_Z_5j z7Wkg+H|pLGJ*s!}wXQ&aoC)rpaiWi1VlMiTF{~DS&CI^^bLRN26~3eJeS%g_Bp9wv zxNj?IAC<6uX#$S7ens*VCuCzSvXNwX)JpvlJ=afk)f{VL#F@a}@^_-)23;}Vm(vw2 zczZYNn(`ZQPpsPP@GkGYzF~qvsMX@Lp3pq#-vApcuhD}%y9HYCIInqYb=Q&n^%*tG zA!2`>ezo!V{ir`TX1TEYLIy5SvW8wqze|E0`nk8rdWLO^fZ>3tR`A;w6>VOgvfFbz zc*Wm^pS9V}BJ^G(;2)uTy+4n1UD%Qd_o1syJxO@aX|%ZWQJX30ut(R%$9}v?^C13X zuaU<~I24TmSs?S@Y29uc{hlN9;0dRYn{#l*{36tqf)D#WZoi)B{tDp*)`YbIkG|By zx*(tG1XrDSiBA0DI^aBVmT7$4<@e@@n2DPnl{xhE-4sQ{NZ63423Qxd%Ngk@2k39e zeQWelgm__d~dc={XbMQp>~QDPgW6)Po}8}r8E8}j`>#@wUeFZ$sDf3bE0hk?I{ zaTpbcE2RH(POP57zycBbbnrLVa(E%mLBK1^olEm#?Bnzd;1q=&ohj}?I>E2!Ma?rv z__v+Tw~m$13@zlevsb@@@Q}vKqBY-n6Wwk2N)TJ8q}dNoB^754?YH@W8_NzEy$!AqJbF}EPmQM)kDb*EBnD?LQ(X~*ai$_{eb_@C z$?vxIN>2sts|EgZlFQpjmg2qu=;#YXU9&$G675)dT@mu621wp=omuua;v?{Pk&;`} zytk;lj{djuzg^`xpNnK4S=jgv@SYyI?)Padl0W<(z$Q7&x{R~JIRef&N5FJIEpiWR zrghW3_mOT|w~XZ4rKkawTjSbOR~}l*N{-Y1>*($-GuLEBJ^aL)%+haMpTLhf?roO7 z;{~z!QN-C7BgS0fOC#Y62{Sjiczi~#9k?Mf^pUi2uRrK!FR4j%zKFFhtanPd;b~D3%mmj z#<~ss`w__$ar98e?v$Lk0DAZdi_*iwr->diB`};S;h#0X2>TYXC|Ule4cKo!8}=Iw zKD0~Jj5qiYa;rwIACf=|qB2#w;6?b~4Ew?)@bHQ5uhAMX2WZ`MtqVB~Q*c-0e(I0V z-ei5ewlzwyGu2#^Uc>|6(JExa9vZ{CPTD!sSS@t$MPpgUXX<$H}dzL0lV#FU-2GrLkGH4!wCoukE3;%>P*P zJV^2;Lro2w4arw^uqh$#p-IrvMTIeW)A?S!yb0TsHIoJOhneSb*k8B}A{O@%`kSa1 zW!9_By=<(e_>Y-{n|^g+pSiBmbM(K6orO(6)DheFu;?KMc$(wT%zD^$V?@1XvmWMe zy`j$zx-%s3-Y#{=XX*1p^jYN?F%MwY_ps<0hW(g(g>f5-5s!>HjM~eld*-9@aApHT zFRM$@?yf_UV83jf-(Gz$7%dXYTk??g0q3EcPM$$_==4Q_$uyIRuo^ekHpv1 z75y;`TTY&P1nq2BAw84l8G}8v$U2{yJai2tdn7FfVu9tMd6eCri z%$|?NNYQ-u^TbGq{{(5l+v*zi6`qQEw7hnfl z7Gh^?vd)@W#^tgK$v?E#W6^l0jPE$jG4|lgW;@|^Nu%2d&2lz)IARsS<13Sdp8g=M z51;e#*yuIj%={ngLwp^gZA-gWv=>n9pdmo_6N_O|zW6 zKXbiz#PFitd!ecB`9ygh@W&ul#_-1=W(aln+QzdI{6;S?!`Gq?^V(T%(8ZH9#uf`Z z)u^|#H@JQXDCC?q$vU90ijy`B_Sa&I!p zv00qg^|o6C9T=i>+dwjz!`2c+J%eT$?=WwCTE~uLEi#7W@{j2ApN`kc7kJl{XB>U- z?S1tP;VBl)v(US&e4%A*%`&1r3rW7XoY#3s_ZLpk$}_XI^4Z?ymbIqVW#T6AgTf_hq#4cn3SD1GV8pFA3a0{M1JlrHkvU`C2eb$#MgZ z&ycSDN>~qI4D8=5hk9x6AusG=1^%^`3GN5fmW8m}5iDmkr?AU+(;l}pvtvJo4BxDM zyZ@qor&Yo;pxJWo{C0z6nE}oR}2nH^~fBkxjz{R!{ zHghyQeDj~c!^;xzaK@+L;YEapGyVs7$a`{`a1im(^9?+lq6H@?6WqYTVTps-_s`U< zJ|6QyylC|V!ofEM4nhtinJN?c)2MkDnxS@v?jyO)PQOnC_kqS$i7y*>;w$h+a{cg?zPi+ye%L|dLr1JM@t*_d<3A_$QRhz74-e{k zj`?owY}UK4iTY+7?y&0cpShZK9U?x@`61^=D(`8@^~Th*`O%Jl=%eV3S@C+KDYqJD z?IF1i^yjdoKagi#h5b&Sx~LDe$U-OdlF-wd2Xh`jE^7P?+$VaR0`{WMX_oABy5;^Y zbBc#{A3eLzDez6y_sinClC_0ue%BEFW$b#_)KNkMvqz zBbM+O`1?+wu(uqPO$Z0xBXYjO)@2I*`)Ur(EPgRQ21sEJwCm{FJk34etBz>^QqX*G+Ex5L( z-fr+J#Akel&gwnn?x$;!7TCIMLRLi#QH9h&+DcZ8^7n8)uqv9vk0-55?qKL;fF4KQXV-h*v~?y@5H%Sts75+T4gmD{6eO zuU-kyoXdGZ(GXJvFTlKaSRl)YT?tnxG-ixrT~IV3)cf+>^%wJ&P>+0LPGn zMRwAd@Jk(Bq49X4_u#7~S>uB>#=Ua-|4#dO?Trb20}d8E&g*e8&kc5^3vx1QTfYB9 z>{;NskhQb?d8b)d&l@-OA)Y8#vAJ(S4)$8qJ+2MI?tfKK;1%*o_YzK3DEYjXoq-d` zFHN*}pM?|1u{7b;Bx!FSmif#W6E!%Fo5lp50e9 zJl_g9m&8hT(jHF`o(2hjPe$=COXhZEqZWYwed4DNL|B&ri}wi@e>c?zevh6*eKuWX z!7pbjT~XaLI+hWGA;!9z;D_4$aqw-5AJ-VK+B6<~%G;nlge9%U^QV}EgO8EeGHpmEz=AJ`Fkh!B1Y=%8c$_J*NfkthYPm>Q) zvr#)GQk~6!Z!-WCDya!GGgAF$Q$TpGn?7!OZt}nfQKL zJl`*zqD9t!s0U806}^l}mn_BoMO{|Jl-Z|~u7f-V`o4H$P2b_okUOTiYu=gGhr4dX zY?|#+CrtQ^+*HK5wU0t~3nY9HXTtq)2P~aMO3dGZd~S?o_y}Oj#8^fwn`^YV5ZEkb zY#8qC3BwP&OXR;M%g=BQ$PGQn>*Z&2o9E+n7T7c5RJRk28K%3AT+<_T@6l_aooLtL zsptv`(yP?F21Cygp+I@%x>iw=1=vVdqADj%mm{NSK@F zP|h4BC)M14R?d(3X)EC)kF8PD-Nss?_5W!dA(`75lDVCsXl^In%T$HO*7R@ryojmU zG7`Y^Ra-_%6W5hU2a((P&(c97#}jMIqqX6j56GInzaiPV%_95&JU4suNNLM#Ey82n zewz}P=egjEBi*-d8VUUO2|Wif49F=&3`2h!D_zcY)@=V3^t%PUypm+yx4bhF`1MKDY|Q4*EE^mN z)Sl9FuN~kO$#-HwvhPe&itkLT z(uv$skxQ!bnxrR)Uz{M?w}JTIar*rSh4)V2c8~$p>V~~%&!06<#b1>Mnkip}V4pdOWsel|g%5Wzca4J@ZQZ8C#br z^qmr{L7vqeO3S^JcNDLm94@H8Dva};NHp}BIjnQ3I&r9}m30=L&})GQ zfcrN1j#G(V(fdUMO>bN4>%*w=I3b-y7SVno6LUJ^O64)Lk1qipiaN_r-K}@;L{CgQ z^W~_)7KDg&mkP2?HgWG=_8!ydC7V!@~bD(=ehK~lb*|?=kp2oC;86IN$tGlx3hll z%F!aI<&PY=VKvFk>+$LyUpAe)QJ2zs1>$c-y>#SU8#Q|Sla1Qw6a0U_8+u5AKM?K3 zA?o%%evbXe_x#BAdrbR3yXQx?|8lu!?Eli}-}(Mx`rBoy{rmdQkgxqE+UISw-&<+l zOKAVM5L|Bd5j;3tu*RO5$iKDD?D?z~sY>T{5&X!vwzyd@^11D@7l@;%h4+&Fcja^& zy%H{4Eb_UH+Q5hz`LulQA2#XTf1JP~r#{2tY6BymyWe6hLw#Eta-iwQHuBm%$b}y8 zvIzVGM$Oxf)X{6+?oT=piXOIemBXyAN@P>yWcY9cjG>b{BGgr{rN4i{BG-g z%riu5d70C*7;e30VUd$-MD2f^-Rytpf&EP6e7|%`5B!yh+O#-FBR9`hbFF7?4l6+o z<$pLUJ;NWc;ES!9eW<5w8=CDI7|TkI(Ri@;q9*QA1v%jpd5xaX8lrufTQ>RCtiEIS zu}F`a8E#pJ-XX+uCNf^Hc!#>E4>gP7H@}dY#RKC-&0?(4$O*SLX&%>jRx&S}l}vVM zkykm7o9It1WnCkLFC*Ek_oddX@ad&=woM|(t-n>|xb?RxjmYV;qE3ay#(N74r*7f7 zZaHe(rqDwohU3b@cby|ENiR{HGVjgF^WH)a8F_Cx{-#YM-6JdMd>){89!Aca(_N(G zyF(9wxw0_H!GOQswFUf@@C-(Z0&zLM~iSNIP zc!nZkhr!R^9EhdL9XeZP<;JfChPYmJ1QfU!bk2$&MERur;wb6 zT$-&HvD#%*2`A_*XUf{p{X?QQbfqc(Jo-P+KcDFT?ad?I!_k`UB&*Qf-1Hm0*T~gK zAzo1W8$Iygh@SJcqk6A(YGuTAR1Xj>j)acrfgIdZx`QEFudRZWaNB2YrN?&UlCt3s zwBVLvI75_$vvd|nyGR4UCIT)(_r z9c+4Aty>YkgK3^e>hCDOh9%Vy?Jv28@B_UC-d8jIKg`z3@1UP=)_=7e&%8&^e39_u z8p4myD28oB4wASBV zzMl56oGCT4WgP|5uSyE{@^?z`&VOIPJC#KDXS^!jfnDf%dWR6Ia|-N2^s~NxS^2l? z?~wKv1hCnc}vEVexE)&vI2E*(!D!~2JDe_tA@t1 z8UL}%hyk}pW5CPKu%gdMA0zT@d42EJr%85tihjDT>Ql4Br){kFHkELgXzX?yt34%i zW|2?6RaN&X_4kFx)U&SL#7C;smLPcXsfWRjtwZo9f*yhv!@hlBEO_8#^zh&|fo1n2 zCUsHxFzSx2(;9tB%fc-M>>lgYEX&uLQ{JAj#rf=1%Ra%!h;OPB!!KQOc~Os=+jru> zgxt35pf36@&~M0l{Ri|?%;$gO=03otU&3Z^ji_<`7SYhX=30d^FL#eArYlF<5l+*Z z3!}Mt6aD|WSkMXN=cO9oY2v%rjPIcHlm2&vXa&yoeeiKQL;Xn>47IZ0PNIi^rI%=5 zh;Y4!&NlQ=tmeZIY8{a5g#H)E$NB~1J>C7V>mNq_rxZGS`rCbM-M0sczTdgp(us2` ze1wfXqT2ly`ulO^=JIb7J%2)3Qr@y&^L$IWt$e*w>FHFyT>kL-O3xdUEc36KY?*&( zQp)_K{FM3XWc&QjJG{K7Gh(9e!SwvUZl zap~-FcU=0IlGOPY(Rb~Ut@Bym3-gzfjF84YJ9!!H!6Mh{C0)h4nsu&Do?Tvze0X|h zN3yc$F(uuB*iFFV8M+fmN?OepHOYH`a2CBXR*=lSMI}8mnbp3(M$~X_Q_9OA6IBSE z<@v&`shu(&n9E&D3I5NX(R09i-vv*cC1Q^Ah$tDFd6Z6dY`6o3!`w&iP|GIxrTnikAih{=0z;nPrMv7 z3qGHITGJjIE1`Kmg3kvzx!~LONkRq&J~P5m^rP5IcM<&7;IZ>a*7^y_T7RQwDv7`T zl-~OZ$y*=NzV^}G{D^+OUEfgtE#h6*TgKHi5bwI4cna$Hd`Lh0NY?s@e$3C1jMaNR z@s!_^yhZdQ09&v3axJo*WUe7Ko%hkGraKAw7W;De^Z=JL=ow#+9{4le53_ya0O7$O z+eJS!Jde8*qIC?A%uBL$Bvj2Jct00vL*@nS zX45=FD>RO8=ZdpM->7^=_<8Dxp8=petBHVn$o&G%vDi8ur_r&XNaVOr=C=PQzAkY1UBXr1@w2Tr_lbL-$74`2PhG0W zryo*D&ysRL-6gSndW+d^&-?qu?&*DU{7>k9WBfg)ybkPR?m zP>Q%+o<2X+Y}7=@Uh>_y$+`Hw8ynyIckd{99cH>U*cz)jVE-!=y9N13|-_IO5 z#~ukUV=tJaU(SITVdQnV3X3=IO`wfAMqPtru{oAU=RmGaj@vEg*c&&8J$fEI?q2$s z=3ZPJ2d@fKZa&5rbwK0!L8ci_GR_@!dx%c`7IX^ti}c6R+X=6ucaZz2H^<$<+luK9 zHH#kPAve*{?pP0UyTj-~p6}gSGzkidi1$DxAh5r7vO$&ZVbn0))SnsmG>a`!*wa5aZX&>E!&&GLo z|3&9@&YqyPKo_LvIgMuYxsbiBLp8%X$sIH%$!t2&q9DMv#dF8)_Rvjqk1u19{g<#vJ8Y6zMePR%=O z{|4Rk(Rloxu2zb4*fVLZpU6DTDw(%Fu!z1VdAjb6Sbg=n|BBUDuamy4xnp5hLeE{B z|7YJE>E8ci7Pvi`WEHwQ{b_WEl4E=*kN6Pw(jU=hLPxL>4$MN$QH5^HEXKbJh4q=E z?GLd(iE=6Q{KP$`OW8D!?p)oimBBiaQR)^~dU}4uO3RaR4;O}^pB1fZdQz#c4=+!O z#l$Kk3xY?ET5o3j1>|Iy>?Ep64FCSMS~?Wm(Z{V=~Wk`1?pA`n!ui6fp=*Pj%NzL zjLupu=c2PY-u;&I)7c!Nv%IDW(WN-~h4yRwZ+s8>HB9_<=VN+r9qQlWbNL<3?fHmc zfjaJntXNUR8j#m@o6_#|Woi*O$!4%89k@xab(0+Hzex}HCuosX_hD`+QlAI!sLBPCv@Fv~~AeNL2-rYG?H z#CyZ@|L;AU=eL`9K4^`>>vaoweRq`C124eu2UbY?y(vd2&K6=hTdv|TAlV=H9r9tJ zdb3^r%^VA=xi&AZLqnsY<_}qxGeV zz5}7nESSZ8Z!JN??^bUSzMrB()(PCyE%u@P%<%nKhl(l%UKoA-LYuW9db-1&03RMb zEVe;cq! z^Fm(-ED-;a2n+O@`&3xG5QD{d6Yb&szvMkAm1{%H;2~NMzBAU897nIjca!NotPyJk z-x@>nk0HKgz|MSMKMiha!5G|ZrgZ==MjwHrv=)WtJWBHo%@Vlc&uUp%N9R_btOZvQ zf4FNp>E7?qejBqgNe2%Cw+Eing7ER9en69IbHLC4=0RcO{RF!E)hu&h4VV7|x0B9^ zvx2SYmfIz-e@JVDdaNO28Hfloy`5%=3uosbY9(3 zr#~^Bb)Dj|l8eHJK0vJGMBbn8#0fD6mtX07$O_1*s8>bIB=>8|n8|rEX7UKZ0`eJR zCX)!>1E^d6vKF+MVkVJ0%Kg(aW^&Mo;VVpwi^wPVe^#`cY(_Y~qOLodsi|CvTSE-d1X)>NtjEOT% z91pQQ&+^#Hw9OV%Y$e7uVk^-PR>bm6+ni2&X_~4!#nC7R{4M zYtL-vJ*1BzhDRg*o9W2xU?k(*@C_yS811)nlJ@PTO2$xHH|h5D%(UCnH+R0J1&?L0 zV9V=oUbSCoxf*NfoWwHm+;-C0aJL{QJkCEGGt}`3>6yjiZeLf(YOQOMi(o@_6^b4h zb+##^%HgOV5~pX3W*^2`KM}LdK*n^X(s|Li18+m#$j`JYHg_m}bY3%k9OF75>ZTg= zU{1`n$Ed527<0NaHXnM_?Q+KC$|~o%`vYEjYHup43g&`NO^5qr*gG`)9`Vt4Ft z2>6+G70f*v>?{ee172TjiRmuy?Tqo3U2?yZ=zFXKeNhtkdBhq&H|$ZLHaGVANrzZN zUb^Vzd5Xq3v{S%b#PjBGo8Bg@f&K<=7;-({MV!On0#@6NwJk;L&_XV67Ww zKDV6lR@nvS-kV_7r^MC^p7Net?;5#Qtns(<8LSo03ENu^*9pHOpNrE|Xn)vK^;}ka zJMHPzPC?IMqwl%Q$nDSZPPszLFEd8TrM&zCbNhG3a{C`uV)~g`kK()o^x>b$0h%g@%{$?GGhM!xA_<0Qr~F&>sd83{49N!$iI%=t#?05umQg@cnx3s zzreq4Xb}9%Jl_9=e<3$uIq@&tU*3ajx)vc_sTcOxq02~jZ7l8^AUal0bj)neo|hD_ zuNgH+;_TV2(w=<@>CCcj8tS71hn{k<-nj9s@#7i&uHx*y31eL?W!*#cnW$?b?EHww zH0ytu&!hv!>YEgt-|v#B10G4x0gW0b=kf{SezcM7yxfq<)8qYm-n(PIO86*|kB+^V z?bzJ^clSB<*$dta<_M(BrL4zsZ_!d_^;SdA8;!4zy4TU|r|3JiSYd%nqPYyQ zJ5FB#K0}mcXg;Z8u-g;ONwROYE@%6!|1W#*9v)S7?vJlMlgrG61e3|+3M7G| z$#AiTgk(g^1W|qLyV!UP8bJ-SF@tUY9hkBiAo7e!ro66zEF)EEg$(p{Ia`qk6(`&+g1z00(^<}yumTDx2u zo!;rywhEc%nMfWpYD4xu)SZF7?_-s{5B0lp>38@Wu4W;7A7VZvgTh;e1#OZCX+2m6 z)-(Y8N1hNyDbhn)YI;EOrxpCUR<^GuKB^*)N=+XY#5>$>ZAwN6hf zrMdn>x2D*!RlDhi)^({~{{5X&$BA0_b(_5V*QM=yMaSCUn+I9ba4Xx?I(bjPK;8JSwOOicdCs7% zE}ie!MeQ*6uJN#2rn?n;Wk<3Y59h2Qip_FX!Z)*7t^$rs;xR>TjQ#V!1)S*HDzP?Q z4E4<#Jbj3-GwGZ4j>V;h13CL@a)>TT27}&_Q_3bWUk&wf8_7K+a}XU%sAY-K@xGUy z-^KI^C-u?s!8HV2=115#j}vU>1O(4g?1ZU=)3+%0*PjTTFEZcFP&(g)xNo*k<5hez zCunCD`&Bkx=w{e6uAj+wid|81uN~2Rv%N}^#}%|tto!}t0jD8o?;U1V^Kd-><8pD| zqws8;d-&ZecLTM54OD}-mdBEeNILVSr>q{-K8CKNdo*W$yu{|U(s}7wExCF~Cp$Jq ziFZNm=xj4;h#;Q?a!I`ILmnIje}g_5Zuohw@1?V*t=_kT)Qht-cn-8_2N&zt$BHo={x7j=)}2a!eZrqTB<$Y%Ge^I&GV zA4u^#bLp%gFH2<2W9Y>Chx5HDxc{K%%J@p{L*E_p-5uAt38%*B zS+Y_Kd5}K@uZ7G8*_;vyzk;?pIS=b`*t)2_h|3w}zHzxMN67K)J+l7VDaW&SM#;4a z9rog&T${XRhx<1&PQvCfOunB*|5GAr4`<6cH*Iq4s4bg$FeY$9r{vuvoIDsM@1}0- zxE2Gg4>+OJAqHOPA7>VBzj$P7RQsj^J9X}cL3X-@;q_=?2kChz&_3>RARV&4lDk2X z!%i*>I2F4y+BQBIXwRj#cMwkHmx-7%#D7%sm@)&8DI1*_iYt4j!XLb|?Sk*i-TpRy z=Ww@(Y1w+0pVM1iCY|HEuIBL*u!oeJYzD+yRG91r$d^l(%I%P^VyVAf=>z`d1@wnD zWlQ`#7NZZkaJ{v@lK$w7)UH|VuO=MZ2pI%?F(E(+-|DVr%y*nyh zeez*jfl&tVm4A=--=fu=GGr>8AAD_gQ~PuxRu@1g#>eqQOip6F>8 zV)_@!`(YB#@`-Lf{srk*3+3Nvyv6~MgAaZ4d1P9Bs9pBu^I{GK^j$y4-!@Ka@EAz` z?5|?*Wvg8}+h2{mH@xPo7BQ4!|9fQ|35+qgfERpxf+t`KoZB{&@RG)dt}DT=O><=M z1)eGN^sQBXK5x`)*R5d=%p39Y3e5Q2>GxjhKVg9Q*+j^#zbaAowzc9rCGoOQl#5A~v+2Qd>)8R-|&Rr z3IE@G)GaGf_N2@LzW`qIZ6ouP$A;qcdSXIxdRa6^dDY-JJ*JC@(_#?o$z<0^N3n0$myp1 zu9JW7M15=doZARjP%{v9etH**dK%XU>uF^1yeTK?_wv;um({RMbsnjO z!v3(B`{-^SoJUILd!5?+l5Wx$kI~urn0||q_vxp!M+!WZ`Xs$mn2*=}lVRFBMf8c7 z59BCA90<-;)LdmdLNJBg9iYDcAc-~NE?a>u)_AIh)=1A4+$bl#dC*)I$#WqY^aSxA zUfXSW!#vDk0%BuPGo@vS8ZkQt`@!RULdFOF+i09x4{#rGQ&tab75y~cdeR&F7I8XI zn`k5$(74=YHe9U#tJeMp1&?;fKI*&65%6viwO&CB^XnVxM@y(}2x8jty9<7cf`q zSKJ1;YsDFI(fR3~4%t!X{?OoeLRW>XUM|b(<28| z(AyPUfo<|DafSA#l!eX(@MIcrlg8<1s{H!&{X`Bc4CdFD^I9Dym{!PfAUeW_UXt(i zu(^H(z0k|_0yTs{Ge9dM??(Eb;(V0*Z&t-bw;P_k0=pq}rpU7g{ruQd;#|Of$o+}z z0jC;YVRyxIJo}8E@w2ipO1&ugoM8R5Z^>11&7y{{q65vLx#-pB6!u=#IXy_@S_#fv zZVH}F#_1uCH;s{NOeTpjm2;{4R>ZlK$K<{WtHX6jWxW_1XB2TDJ84`#rhJ!x+}b>U z=R#Hf&V?cTRB|gSc#1q}=ok0H3a;L*X-F{;o?=V|ry%D%F)~!Mfy37$=e`5)T^OFb zF+b1HQbYWS*J%iYi9X18)%Tvjdxhu0UK6|z*dgD4E(+aQV(-6vs?vphz@6oBneW={ zf>websB0D}d{%uA7oImWR7a&x=0&L4qTX-Zk*WFnEE=m~(0+$_dN3E8JeIOHbrzM)I41eTX2l1d3sPAUh}j<8>)G_hV(e(_3kA-(~LP653UnBOp2@%n#k*f ze$Os&R;jnC)Y>f1fv+Lq?9NJ;0*mQ)Si@-3Q1B>F!-MuFTV+p=Q|(z^B4|^#`9Ey| zXE*JI0*|-9C19b31O3n8;EI4lfeH>&2@df00Bb;$zpQ+%!BbIkB{0b1Fc|T5Fp%j2 z>vvJTBH@(j-!5@*dV1;Zn7HiB+LpJ_1A4x{hQlGRcxWf!h)lKA}u>EfqrAJ=hx6*)`pHCaoaL=3H# z9lh#{636hGdrK2*mY1HC602s@UL+!q59ua~eqAN!>_pxptPgqXhvHd7;ifAt95)5; zT=J4$jv;_vs8`|Wwm1=64VaI_nzbVep|2_Oe!i4HncD=2-|C*^xu8?vTLgP@fuu9{ zJ|*POLAhCD#T-FfYiN#k84tkU`_gj?4GL|gIq+Io^4=J5-%5C9NMv8ZN6cKlh{i{N zf2idHKk9y&=3;yW54mhY{2>evRd>rqg3VaD&m`( zh0Or>;);(RenTE*Wvo`MYOLnLV=WmXj*5@ftQw2-eB>Zh>}3JuRzTjaRaQ&+r~YE| z#Xx#+4%D{OA1H#4jZOBk>HR{jcZdAGj!5D1)G~dz%n_8Q2=Ax9$h=dpV_v}hBE7Rz zAF?4R{-9~t%U44jcs8`kTmMSAugV?g_Vl+PX0>Pja-<^PUB~URn|AZ!ZEa zDY+q#cSX(((Q~iJ8F}_~tM9CwYq9sPGEZMknWz7rGEYxL?0?T)5_k-o$K@;uRB=pAS26Ln;8PHbl8!JZ=LBw}dukn@w) zKCtR0+WQ%V1JhmJ#nW6qlEnx&cuvE2G=67bUF7^A=hMazu4vs~622hcW10@R9@D%d810`{a=*-2`_^>}ytR3v=0@7}tgUlx zSv~Y>9mxuvYo+?v=(&9g^OPr8JxgFqh8+CdH29k=BX4W7;(DHc7+?|NUovXZ2*(mOGghZ=`)ZOZowF z@wON^t>O82%ZphtY*?v*K>PC&x5xY)4)jZOXW+N!v}9!>NNxoekbt~_@w zZ2QPvOLVt=1Nu_s;>BH@Ixp?gc*Kd1aR2#XzjMjA>74O=^4V_4eTjsFC+FatvOSx& z-{9D9pHkXNvR6}0Pw7Do;npBrN*shsFWAFzX{Y_GaVb;T3tgf^+0w&hpLxsI=8Metd2X%~30$3-+g?EZ~?tKQA5wRs`qA&+b;;Q_y+ z{_Ql&rL#KMMbh1frWU*C_kxOBEH2bmgFj3{PT`J^k@p6rcp_nBVRNm$bk)a& zj#<*Mg#ARPcm4Lstlf`F#y>v#lZ_A5-s|1_XxYZybdERF-dnm{N~!{%LvG65am;aw zbc)k*Zc0b(k4vAdU0ymtlUQ}DlABV;igqz?$!g88+8X!?UJg{p)BZ1(jJ3<+*xXwB zuBGpL*WK=&luPF$iD;{;rueR_SoNWZn&RV!HOxDyUGfsYBUb0zE@NKBcK0a!w5iWm z2!6*#ur_XEynO=CE9;%%cec~BV){KF{*-#FCqJ7N6~(fn4M{V6TbcZO9&_k!!oAqk z_b1c$_eV2F=V;JElN-NLo1?n!$qs%eGuG-moJD-*K<;7aVQ7PU5yM#KTS9GlzZtZ? z*;d~h@R`y4^iQ2#&wo*_Kl+93s;)0|W8d9Od}1>20QYd90i9W_$YwM)>+(p>aIm`8 zaiE#(7X|O+JM!yW_Z3ZkYTmgw_uj9Q^vz7ldEZSqcJNK2!}LySBCq{asLMOVV^}-i zWS;Z4SbfOZ3cP?1$Le{6AD1-M8p7>q&t^LaR|-MrpQ7{LN`0k%i+SKLOR|nfH-dTa z>}}EuIu*a!*{rx@8tJ2R#62SJ-${RXdhWG;XN`uXB5$I-FVKcuiC7on%a-z7iP`R0 zeVGrnA&@iC+8Ze1c@wV^c@qz$vg*CmUgCCPugB51ub~@jvpf5zv$-~)w#mTb`W_S zUyblzm>lk_d{WE45 zjEbW>!*J9%2uE2AYipe?`a?cu(ER-xUH^8XBP~SpFX@CI(3Q~qTAiTzi*&5L!yiZw z&Nnl3hI$IEp0im@$SZ}+b2h%hg?Yut`kmdkh;_u!{}-o|-jEi`Pb}S|tsYo)8}a38 z;?MJmPtPNMJ=b;lzFS?yzd0`tA5XxehiE!*QKH{#?S3cwBv1qzn}40vlbb2#k$)ZY z{1>%T^Ce&_1i z;!=Vo=Uw`@15tQa_8{K1tTvo?)z*GB@45^5-O|&Wjj@EE1kZ%$HEoEiZK}1Ej`v7& zTZwl)0bi&Xwx{wYlSA?ASWfgDz8xEgotd-|SroSg>z3XX>>m@@~6}?|c z@Ar+>7Io1(+q9Z@_G>ftZMZE!^y>C~dgOUeWOe!1ZOOVOlXL=V)38<3b`Clc=x8Eh zhDaBkU1l-V4@)8V)XgVY|LtDCljvJY=RQqQ<3#v(8O@CondhKM^s!`{rcD`Z1&wu{ z`fH={wh|rK636Ni{-CMuh;knBy!CS6wC){~WAApoqun6+_Gf84t#R~Oqw$2D;aTFH zl^W(blPbo|-5MJAHX0ZExDD$hohk1D;HvQb;c`P0w{P&i@c$0ZytkPOXB6Ay02SYruC&e1q4w`kgc#~2Gagj#7l3yrtrbxjfAT27yO8XNa_ zeOjHlK*_t@gg6iCf7cBAFv86fSeWD>Ixo{lk-zXb zouN;Nmw!q$`7`7l)H2@_i~P=G@$75ct)+IR7<8uAEQf-%SxhbIN=+XXFN_c4fjL1Qc=@h?a})Qw&omcZ4z$+?VZ#cQ zc>p%pp8pn1r^`=%p?5P_q;IXs!ZdI!B5;2pG>*!5DQHIsTm-jDLR`?+?S%Nz`t|T{(_UYPU2l z)RxKk_ok{n_KvqRsM;Nnc)NcaFYr`XAbgmQydJ2&MBhtjpNr}5%Xs$EIbQ28$9=KS z=xE=b;_%Y`VqdQ(+_f3uru^_^ciDc>BTwccG77eX9dX$n~(ajp>A*VWQv-(f0 z^@sz2-FfTFf$F|nxIe%zCJ+n?)<}*j;+eY~CI|Q?a;QUR+dw)Se1nlc9l6s_X$@Rw z+b!#CXfsih#C100Pfzk_iY6qMc@zDC_CFH+ewpy$-RrHMztX;ttdr~|9?*F`^K9mR z8ENiGBZXf^H_|D(!$%B)|TmU6bc1r*_+- z;K~$L`*Ol9-YyERT&HRWoZ{`0RPDBDc)M$Wd$SQExxlOVk#uOH`v*dQSNjM4Y^{us z$s)fF_U58C!;E{_Uebv>U4b@R8cV)7CceOCAlY^?^VpK;b3Xj`)6EZ)F5EMf7d>_^CLae-jINeka)y?cRPkxig!Up&;?Oz7%U-@vW5B>@7(pdyu zROlaU$M9cK=wIb)A^KM^OjQ@TI~1#-&_HqLh%rRn?Z%}cyeOA-G_{XRNIwG&%yOTh z_7~;$NA#d=F7 zDG8?@P0g+g1d0KlBW29-$Lr`%vU+eXale4~kT3GI{*PHnuP0^io;$JmNS1V;AlD9vU-QW3^yzQ#I@i>H}J{tdEq@ej&I085*C_xP{0AU%Q0X5S|DAX~v3Z zopW~&1d3rxe3E{Djqqs|ed0UMZN>FDUG3rXf$BvD)&^VV4w4bOxm}RcFrEXw@Kd(Q z`gEXpua@*xf^h}mQu%8Qp1bc1-J$Q&2;U;m%gWcH`xBU+WCb{9iZ6kP_kYj@d?k4c zu`TZ9BiJV3!9;rY9JQ4a6+APUPcI2LxAL=NbZ6_VJ};);;YrRvDqz&$+SMin-DyHkDQV6eT9wR zR~UIb^(CT_pr>9McisxWvk&#m`ES`~%)1M*)?3oRdCo6nzNREr)G^WO!``d&z>?nVJ+C#J`%0LP@cRsW7HpEv(5hkF7Y;P5 zW>rVMvCQfzmt&JwYYerh=gRLUlf&tkkoVGB>?+@qoPV%_cHDnae@5a@tK(SR;W$=( z2|AQqk1kD;9NlAppNJ_~=oR?_#QD@q>CKQqIyFt3wX`=qQ>h;*qxm?=p!rkSCWWr5 z^REq_Q+7*5OlVHV_rm$Ih*igUMxqBMP7k&(7CwTg-G+K;7gLzSSkU0f(Hi^vNgnln zbaMgD9L^NZ9AMj@%Zj>)c3^GS9Tjuq_xP{zI4w8kxS&9ur%s+Hos|UmRmyX%pt;rz z3;6++9AO20Q$z9fR_r&y=^*XryOFta35G6`<85!Ka^=3M%9Z=7$g6tr!$7s5DSG#L zqS0!)@>yL3T_L>7{jWfKpC7g}QG+$wo~vW1b7;;=4sP6`+3qa!w5G8l8)|_3El~Ux z^`-c03mTkmM$OCPQl zGasXN-|O%@@5OoI@wrOhMxO6`BK3ja1fMqYF{fWK{-lNBPx_GflODvM6dEtGZ^(_6 zB3DXsMKBLlT1%fcJLK>4P$+-7VSsVJ&0`P2Mkm%J_*J_3%kK+c%5qhH^j&iQ;6LTB zDSix-Tij9zpQgSSisMD!BIk<&D>3(vzb|~s;Daao=I}fWkoy4}_&4>f$|#lkdRh}|^s4>x0W;uJw~@(kGnseMy3iNoZJb@j_cv1J z7Cz~dxv%eGo&zbZWrw8r3+A}5qWQx1t(>Q({efzm?5|*hzXIWRIlYr3^K{stqv68W z(oXoMEsn?uu{ad#px99!qII2zZz1qxzSX0NVW)QxpN^sRpxv}hDUO%VT{*7z%JJr~ z#pTGgru9nR8y??1N&o6-$s$ui(A#nMSjLYybTdjeA z*~TmdkNe;sLA22PM4)|}PuLxLCI#BmI#%tZK=rYm<*u``3^b1TL?v{rn4x8%*;gbB zC48+cG%HdTV*kss5c}Vih4zvxv_h7J&PK>Wlkx*?xSKLjn_tSlBY)3en@C4+uOvCN z=$b&AdmU^QbgpL+9$A=2v0GTB#?5YSqxgE;#lpw@&Ti@hcW{eHUujkBZw6`~%T7zu z4ByrWyWZcg@dw*=>R53awR>Na>u9BR2cp<&j;h+1(?0TcQEWADs@mz|(OSSUTk&#NbAP(RW@(a%T|k-o-L+lz4EgP zdRDQ@?iKb+6L>V|Imd~1^`2rbk|})mon@O`xR;8k8Sav8neJCrxnhE}apX${tlh$#cLF{SwEp*A4b{If5?>fb zeBtF-ai7&`2&a)%20xK*5=<)f(`KQnS|MSoP8~pQge_I>v&o2#vf8ySCSi0b! zjkB#j7i*Z;bUpK6-$6?nWLv*_?}y@<>wn^RZex%|P3{egLp-xQPUe{(P9MZGhhMGY z9kHw!caNLi7{z(!nkYO|d-Y)6wI&MB^o7aebMkX+xQ1{nb|APc@t_*X74rpZ@d_oA;CW zEm?~Rwx7{wh!3Uld$glx2J@aLBY4l1-lOf1_X7Op{zU=jCgSlch_@773bdcPKst$5 z#3gySJy^&{@M)Vw=czYd+%fBtx7>+)nSv?Ileu{C9WwXznQ08WL*7iV0^eFoy8CwG zO-vH}>*P%2pS^wGVkUT(@?7CJ7pqk98$S#87egJ6V4k2?!*hQk-_5l#u$zf{!&BcM zVxGst{nUO;^E^xQoL`UF0HZs>JK)r&9FQ0 zJ40I2kGW0o-qH<3dje8YEzT_RpyU1!by48s^MXH6y+_MZYpE^h!iL&f-ge0Yth$}f z_x>z)Mj8lIyQmF(SKzAx*x}QNoFkW3ztp-e-D`bHYTGtO^G?G(psx#I|9=rM)Uk%A z@!Y1btBBKJk={~BMUC-z81X5j}_ zv>v%j>0RCOMDB;w`!#+@m4B0p;L~e+Q7VF+@rxvu>YnqU3-rWB^aeBqc(+8RGhant z?qB71+OD^HAcH(WGzvbu999x?s%97J;M;USs_R}RRi7n1ux)7G2S4zpqy^p}UOA*N zyn4$h=TTDO6u)1g^Q57D~%jV+HcqjAFhX zv&f0q97E@p`l9*119>%dDSPKE;Sg$0>+CDNJ;cXWYfL;>7~Z#QKqrw0Y$5k^W@G8h z&qYlLtFMXnZ5(ncCW`!0pdW5+hPUs7Em?-;%#vSVa6RQY+yW;nzDfk29Or zvUiqU4scwVMs0TR`n>7fHyU$~y*S{^`8KPw{@!2R(cv$~8n@|X8bbXYe`o|hSFJSO z&#y;5Y;n#^s&kf~qzRp~(@75dRRW)lGCnt~l7fC({Z+yjt(VSw{!->yNp!wxv(-}J zNh&!@{K%d(eP4p4n|mTVy>PVzpJ=P6m~hHQ>qe|hfu!T|Y*V4t*I39rF61yuX74l< zGM{yW-?@c88#K6&;C_VW&qImsz(?Bs#r*#}XdU!F zas|PTTH&#J%5Rg9@0r*B<@22@dHClY!oHJ#hva$oe8_(gYu&n1YQw#8(hvPk>?{1{ zdTDR*UO|C~_pa55J6YUUFAHp$hx^!C!l&i5?}@b6yQr_-v#j-ROT!HRI*ZlYz~`k= zg}dp0r7myn8s=yw`hv5xqE2e7B{EQdS^2h6xbuY}1@b)O=hjXO2z-RU#;cWroEy2Exc$v?&UXGb>qIdJGzFhfz z_-d?vBflU18nrY(jJ3q=4~-@J@y$Lj^qVCXnK~r#QVt z_T`P7>$wZQSM-Rd`p3;aejbf*K;;mDq)c)RAwqyYgBv<(KW0{9tklN_~ zqnl_wjj|8#3hICUd8w`O=8z98p5gx;!-Y@l13`Jo=a7YLJquukd4!Lri7k5TFOB>NC-j;>fclFLfb z{D$_887u=u^BdYdX0QyjG>WYB9JS*-iey$J$(Zl9_}fSh+T+uXdWm%TJ@3Ds>^Mhs z)l2e+g>>PIZzS^^%pv`ER8aq&eMi7~XM)wYSdP7kwCjghb28RUZN4P=YX!l3g*VXtGA+BRR}`jBx}nPuYxQc)x61iAx6 zzsIsOx}Qqbir*>dXG>+k30eXgI*Ho9GEDX#eag@82#*OL(n9#g>?!s;fvXQ}Ai1Al zd=Bw98$xl(;60EFR|W#@+-^p4pJF%Lsq*=O?M&FshQ{gj^@P*1+_>SpDqqZa8K<8a z>z^T^N6m}IL)#2zWr{i#TL(V1J->?^b&UZc<%qoQsL7Z^6`U>47Pov zoBH-V|M_5FzmpNZeuL~|@i|{_ABzw9wcdO?(L{osh1Rrc9dk_8>S|HXsQCi%le5AG z-*|)62H7w50GqqT!0MWQCslJfH^T3p%eue3LcjaxNY-r+_q*rv?)lU!^1ELw=Z;OS z&zXN!BCQQR_!f!h`^A|>&b3^L=WOP(m2QOKLDm|n80T46BNYibqm0+mIv^pRCCQNV zPAlOhGl9<{{-n$TnLuZ?T3Y{8D%vXIF81WL95yQ1Z zDk8pqdg~B8HI2T9Vz>k^0y$@J|Sb z-wDTIl4p-E|BblWCOd&Wm;$F{Q45gl7;69Ct5y&E-o<^isdmC8F%QzScuuOFx`uh3@_bsa4&|fbx}+R~|89JE z|LA)d_1z=O+*RjE$5>2o&}0{a=EHBKmtfaBj`aF5TF0F<#!rxsjr82!Nys%yIxw|| zzYgi7B|XTYHct3=lzqXf^AQ7FB5Du;M|0)8o=uNgpRUL|7{CJ{ezB_qtO=J`CvL zrqt#P_>7ZW*hIYdEYI_uV@7VmnVDslD!qVTrD>T#Cm9kD54@AkNiES~`1Bn{o>KZ9 z{_%*{oqu3sR)Igzt`#xZAnB$;W zV(sbigL52I*o7=;I!1J#*4s$y1^o21Ml-F|&GJjk7OST=hGgBpj@gGgodtSP8{U0r zO!K%qte(5+S=CK!pHds1>wkXXr-{Dy(|h?-tRDMlac8eP(3F)wg?S=lM&Qp8J!T}k z#g(kwspS;%+*!b1;Ff%@kuz#rGS9go=bA}#U%x=`10~lW@(e--d;P)y_fd_EBRL`G za>E%@>Ra_QQQzw06(fSN4bM=&u%n}vl?k=TWd9A&13LS>mes*vEvqRlsWeYDoj4+& z8yB4$cf`3-e2B2lL1!mMtWSM*B$~^4#DfvuHubG~m-yW;u&)}s-JAD>(Q)-;CGOVh zIV<~@g~?{JZ`t8jL%wBZ*|)4Oe#uMlpD>ebruGNoaXRtgaXKH}hP+42+@TS^SHNl5 zTJ9!Tr^!A)ouby)+=DW#0cXS5@hw#ZXC3l=(mT@FVRBAK5i9i_S|9dyFXR%Mn~~|;MLBJRKnSw*E+hiJ&6kaC=(CfBlgiC<0-~j6Nhm|@tBt5@_s%=;~Wg*CnD$F;Pp&t z=?kuh@%2R8qwe5ZLVV@H+Xm6YqmlG*Kc|Pk7X4Fd^$N%Ju$7@EhgW|peQC7h3U3g(jB zN%V87lUcTrtf1jJ@L1vRNM3$^5_JAdzTQs=-v9a5V7+TsRC$Qtn6Ts}lLE&GeT&N= z3E^kDuR0*|8PGnj)PfI=EWEOKuIv_*%Fi=$oDghSoU4$}u{{B`90>0p6260kcQ5ru(N8&!P}^e( z;W2{0p)tDX-CYE;)<-+)z4IBbzqE4%t453+?vGsc4fXq{74$b`vuYQQ2TtYr`t{kY z26MXh|o)dgS~Y`759k zWb!zo>Gz1bjN*HS`^?z^UYBtRjSINu(z{tKdJIxg@LeN+_n7=H=G;)s+KE4B^XmAWGS~Ah<3&o%m?aR?-_b*w%szD!N)B0?u)$`lwBAzaY zn%wKL?awss8ltK|EP5jdJbbNx#YN7F+zOV%eevLACct?gl&N4*?B(fEjn zpD5Llyz>X>(-}N=BL6?d|A?Ik;>9V%P6)U?`$NBT$%R1s?m!?tRBK0^(G>uO0N}_)f*AJ#c}kIs*x@q%6R zzB(Tg&-rviszb!vmhhYdrul<&4nRkUw%(?=AP?rU1?Cjw$B{Zhf{1%RF3<62-*nyD z?+?9heg_p=_kCBg?pwpx{lUDU*Nt3`9}cnZrmtJKq8rKUE~jxml-G?r46*ji;Mxn~ zLu=0;GxXYZL#+MV)W1)4MzH=KZKkxO2PZpd}e_`y18 zwDs%e4c0*wc>#Ve?*-vp@=wbPr{)f}XFjReDP(z}f@Ff$(F%MA%aGAzh7aco`^1&$ z4MY$0vOIqUa>E;Q1!e=dRt z^$-s#FtVbq2p(kHZ>@)X;wAb_ds_sW%X4OE^=5lK>W}Sx*u}iBxMNi{xQNyslJO&0 zM^V;8QAhEF#+Yz8h$C4ol`)|htnuBUm=)X|AEUM+hAhpkw~n%GR@;UcLB+K`FSNROwU5RlwcBC z_h33{j}OsFzTWQWd~|7i2P0o5K9)~zxn^m{P*~+|9kxR$gN+^ zhiERRr#%r zR>-ZVzXu8pPcr;pZrHUWI)H?>=;E z=p4bPR=GFQ3;!Zs8(le9xC_H3?81*+e`S-m0K(Jjl?Z(U2gY0*F%{8#AQ zo$k%fDXe_lBa#@r=E%`ZDBULa9rH&*Iub#CRM@c61ZgYSOS{R4Mq>crep0|0oW)Nz^+5vw0AgNs;w@9fas1!@jdWOCcu z9>um+M|)sH&HBf!mWl^hk*>)q>azk?v5lL5r)8<|L$n)>%>{{8?u$eG(4+RpA(+(k z#G^j8@XOI$8}iHfg-W+<{I!U^P<-Tg&d3vM8qsLxfZK6^IH`IHII z^13n{Z^y`S6Ny%zx-Z=W4IXuWAFBHMky`)#m8!o@Nsia#`RQJ?S~_paFF~IE8#JiV zy1<*OjT&${axP#cQZ$bo)yc7wkiYg(wpo0M5CVQ`COVf)am8Z%QhX6pvk zn3sn;mdkJp>uYYAMcvoKs=ngX^M67;|KW~1(N_#Rt@GW&V_-Ix4h+h9KFj{k!FU?2 z8$Mw0<@y!05*U^)=QX*ndR5C^5Y{8G#(Hst>43;e}&k8uv#&+#Mkvg8T zf8qd-SAe}1HH8bxn8UngvDX~O+A5Lfn4XQ7tQO?PtEKZj`zEVpxqf8IZpMm`KM1i( zpMxe4oq0;nQUcWH=jmIr0($D(NuSBA?i780K^kVBJ%L%Ou49%t#ms{DPtv=K%a~=c zg;`MF^#sc(`J8wf{a&~sIcCxW2(6EU#Bvu!cF7`2y895Nxb>v$k`DGipCRte+ic_vI38 z$j{R`CK1hz{8f&-=p4a!vTNbsy#Q`9#0{*8apXLj;)1x!mpFq|S`oxP9MBaVe5elDplN+^FY=6=gK(_evcSLNF?P}(E zndXXj5QE%D^4dk3(|Ml%)M&n_8Rdxd=kC_1{JAAlGyJ)Kl4&W6}r#Q;vt-hH0^AA7Aye06jZu-fpjj?t+uVe8^m|t}U zrzP`0W}8+@Y;yVY(_NMOt@VmrrL{j$`mOp0y!$nV{!gCYk_8#G{A1w*0AGEDrcAed zl^#5T`&1}-c;Qc_(89O~83^>GXJ){O`?IN9Q~v?l?;mm)rn>*VcfhG%$x_@}wr3~( z9ig>@k5nGWb<}Rlb&RJmcOA)g%(mM~r%Fk+d0JL|Fa5t;N^1V2hPBy~SsgI2v*1^q`(V&pj*WUo+WrS5#B(S zQOly})2!rUL98LGW-y-I)9v4N;HCH^hV@AQ2p zV$sxj&k>)cA4xJH=`@C2GwcPAS~vEN)AKy!1&N0?>+;0BbuTt$;XY_6nXGYqh<~T4 z=2Jd9$iI)~btE}Z*TS4`rlvx&82&@D(EltpKzoPq*UmbeA&9o&epXiwRCT7`t@p2g78+Y;Y|1*5= zvCjl8E|%pG9)qe?#Tn9^pCp|W@r>9DW??N1Oao}kYsY5gY|D}M4x`k!d> zt^uoMKfPxq*`+a$S>S8FTGIDd(wJ3t4xopD%e!%+wcRcg@t-diau4 zUyJ3w@~JQSbAWasW&^TZA8KCRh+1&$Xyx)mM{QH01M6EMt=~MAWIV+u?wiVZL**BL zvFe-GKgm>`!8=qog4W3@oZpk^z&&^4<-k!TW`KAKWXnR-)=_eVpQX=oRUe4qgPbc} zH)Bv-)In2tj&ROT*XHrKsAzc+es3BapA;=G!d_~3_IhFCQ`;^gbXmE&4!rSLr9KNh&{9*QR2 zJuXC(&dgTrPl0NGevst22{pS2|4MH4JGXv#xmc+owBa(&(9r!?srvs=-T&3WyaK<- z%gAs{ka)gnbGcqKf2h7nReimw>Z|-)s<{>=IuwP> zWe^927^qH~FC&<-+b1}td^X^0&@kW3Pa$LExbc6*r+hyOMQpfaLCz=hGgiwXrkiYj zT-Yl5Nj6_C8EOyw=jCdAH`2Tj@2k{Vg-zT1IMJIXW@&x%a`m5SZCs8#k>wEiNz&Xo z#A}e_q%nmh>q?o&xQuxWG4wZr{(eB`$4@gGie{1`C`^d37KNdMkTey59Y zbE=8?T4jAGfp`ze$c4zUm}`H~Yel_A9m(hP9P!}>#MY*8Ur@*UYncOWSRl}jXQ=<_ zBAsb(pVha&kNFDfN2Rz(-GyIR-5iFA=#eKJ(1Nlr(^Cpg%`A0$V*$e z4|<(8jmuSyw2q#~tQ%2_fOu!Mo_^1b?YL2wu4`to4L9aW9XA3WF2=EB#12Tc4|<`e zw9q&?wUfQAW>L@JeYu{&xPd@*z`*KWF*8qMDy!a&cm+8=uO}uvW`6T01J15kR%9f3 zFB<;rCHxts!k-sr4bFu^&-Ub<4zK$$A$4%gu0b;L71Zpy)LAaNZrEbflejitE`Hp}YD^@VivHv{55JVTC!H|YC;7l+2Ta~$7Ra(sI$K03Z_ z;`p}me+1uFenWiAhuJZJfZjbA)dfAUDuFdo-y*eCt%L=uGtEi=V{1zN`4H24QStf;x$_tlke$G=FvTD6WZV|Wk2!k1i~wh3loKp zrL(Cp|jIq%(0I;U^Z->x$yJn!A-&u__^C?!?CP2@+!MV6{(SDl=C@UO?~YRc82=Q>v}b4?h4dYB zT8x}6G$)oJ^4?uX>;Hnr&!cgz^tau&TITOYaUhS_bDQ&$XyfO{0!5e{BJFgJ0#_0uKy+C6sIQ4{#PwG61 z!Mul=BJUw^DU|mxLF7HGQ0G0&4COtHvj3;#{U0jt;lEPY>dzcW)dq{i# zwEgSz9&R6E|Es)Twg0GJmE*o=i2c_F_uu3m*E7IrW5+vzHa+#F+ZU3RCJ;?C6b-)9 z(eE34r!%l>2Jy1##M7p^yo<|RzWAHGsKpuiJMMebcRgs=a7!Tlt9fD>@kGg8MEYTU zQkm}oqOTU(+lNQ5^|TTX04?kx*tITze;q4A&4sH89=|G-96y3yqKZdum1%0L9FP18 z(d>(meW_0u(QG%-?43ljTO(+8E75GX9FN>eG`mD%?eHaOmCsHqj~_6($I`h${rC?! z%tbyj(BtnNhul(H>Ls}A-=48gH{I$r*NvQCS;ms55#Ewc)8>8y@zy%-JLi5={14wb zH+<(LP5-o5k=qvg`0^coC*mxy{ziH2G~eQEdA&K*etVSlw$geL(}%nlZd&h7TJH!S7Ur1e53aM60pX}!r&){A(Fo;w7d<)dG%)nlghz_()kZ01S- zu)v#BZzkQH`C>SZnmCVolJw-&NfPNF@;%d7nk&gWt>E<}pRdutKPA=8=&Wg`1e~Zv zgEi{D#foXomd-J(*!8NYb=-H1vpPP~$o55&m2h^`_BrRJ`S;%sJsJ6-Ve>fn*s6`lqxqw?RuAHx z4{6!yPWr2?OL6GNrZ_$#ISg~rO6xc0+2Xl8^NBXb{VBokFC;tfn2d8Q;AtUv+6Ef^*8$5Cx-h^Q-iL#EA=3xafs(Y6MLA@PxCe6J5=76)8^sk->zv;dx_r$$X?ukK@ z#r<%4*!}QI>UXV1*4aCCe4n1Z+Aoh~^_*A5+Tq@!A2vGFDMid1jhUF-Ft32t(MMxW zkZpjIW0_~F>@O@OD`Tbw$6R=`h_UMmi?K7g|MuyCGhL3c>ydr!d*%BP!&q}L9wmWz z5Pp-!8sr$ebS|5|e6y$<^&Zg+z~n>@?o$$YT>ebrf1pdsJwO7T|Gqcr|2$TA7j!0? z*9dx7UpF$Pg6Q5(l6&v^^&2;K4Ud^^9T_uQI?nD}7sKX!i~eF`0DwS$zu6qv@^1d= zj@dt-vHjkk&G_BDm3eG#*NCmN4~*D0d)iNbJKIcrFqghdR(3C=-=vsfv+)UAs)1cS zs*A=%ZJuR$2jN@Eb0Msk4CXb2<9%;3PgovH+?f(Q)P8M8sH0O2Bu36FX3*Q*6KS)=lr}@>pn|-Z*4qlyMuJ@ zJLt2MXxp7Sp0lQ?ljvbm(X~ zh-f@$Strr>4~WL+p)Z+dblxjyW2a2>JBj9(alIqWU3Cfr>eEK_8hrfV8_27ZJzsZ# zC2Qy$O_hwCKX!88awF%Dol1=o4fvz5M|{4}??j*FiLCfR>Jxn}xEyHjiXTz9i}dlX z1lGP(hFi|>SzV)!`cbWWzAR7iIVP~;AJX^1@@@Jc`SwJFeB1vu^6kcp0lrr5drC6h zziE+6jqO4H^Gn1>o;_RQu$1T>_Oz^KUee9ZjkP-DJeRC0yHEHnZ5WhlWr{Bh0bZ!xU!ecuJR^3Er zZ3dmW>2&s{(HSgrUB2(lR-E7S!$*40&5`IFYFq>B7?(RCXR75ZTRbZ+R^+Si#niP% z$XBSF*G6zFie+t$S1M03Ay00ibJ4I}a%j>}^DxK!VfTQObYdUubmasK5X0uxc8?w9IurembXv zJRXE-XD-YAvv={o5v(P8PB2|XGW{Qz12p5T0diA}*-P~8oK|B#ua(Sa>CEf05#O0# zVnYryqUG8tR!{osj`|?~ApU1p@ekzK0k5o~@zUrl<;b-pQ)OCBXUcLlKga3r#sH7` zabpbKz_pVz60ANiY?(vk_^{I)Y{VzDi&V8NW5oFVvK&zp^hZf(8EX8ILA?z1yTH3r z%`>nUiv3zIc$ZD)T{f9_8Hi^=c0ewn+BhLQ93z=8FV7&y;~3rfQTm=heFMINCTF+_ zUpLt`p<0-Ibk=OKq7EjVk+3?Lt{71Vb70kU+Oui2cV#Z<8s5eK-n#AhKza?qLs`G5 ziJ8D_VvZ-79lw>)cTp45$ZKM%`#~S8W(3mFZYE-U@)BColbHuHj=FBeyTw}8UMj!;%Wv?0 zzec?O9?^yT2)Ye=Tem>ifr^PfwI*dX>qw`0HHp>lPhs_~M0=8=yz>M39oY0-^iH`p zqYC~V`{=z^de24gbyk*Ha2L6iU?*%A>F$?_-VjVY)W-5m*8s^ECinSx=KHIL6b{*U0#|A*{%P}T!GReE42>4DfIwBd6jT@Ze4ADjxbq0d)I{%9xt0rhS#uVs$* zpXnTpqpiNQ`c>YKG^YLrg3A)FgQmGN%F8U7&rP$?dE#+Zxs2Pk-Ote2h^f*;uabiK z0?fdD)K~75+iApIgu8Lo6mR1wI^XaYv9Bu4w@)cu1-`4z?$0B>3!Lrj3lx#;#Px_C zf<=B`ptuWpgyXHgj*kbNvjRigO3srmeh##h^Df9xWxfaBhYP6g{=&=20qss+k^30B|x?`xet9b;LKQQeLC|q$uS@IwS*Tque??x$#$b<`4BjC zw?9xki__Ii_ZZTtM=_DhVyafykHTu;0X8c8(Us(`fIS7dD;5&I0H+7%pU8A?x=qN| zC2@*ujq{P|{xhw^cT95haM?4bu#fxTWOA7aHYOj*3q7Nm#h1o>y>HN`nfdzek}R)( zG$6}PLgt%VTUxqnGS_F_zzsXWf#_7Roz4{YwdPgfCt#=Zv{*h*b~;b=9K0ggey1{5 zojaRw67(DPuEtR;MITH0)Aw90Y#Vz=!{M0Y9!h5#3Xjim+F|vbCHdeY;q(Q<>2!X+ zOfs(%dfj)3rvpw8;Z7O%ylJexbu*nU(vytI!sb~;Yj?pOMEjpkc-17!a=NR8-sIx8 zGCkLu_R(HG3^_!5WwKkpYzzDg&21TEDwQl46V+Ch?jA{d3mq?G80MGZ7Ww?s-5(O{ zs%fs6|JLoWZD3C`;d|s3_pBz)&-asl)%qJ+qk-tLN;XAqm!R$MA8e3p`p?)pYvuI; zSBoOn)14sde)U!hTy@3@xgNNw+`$XnHS&7lU2EB{E=|LYJw*S{`!%kchxwg7Dc1T5 zYs0((Dc{gbdP%R@YJoj}4bA;yqB&YwmnfH5iSU(9cTafH@1(xnJ7~{a*UoosCq4pL z@w;~FPyfVE=jkN9!G@f!qpcnr&zqR;{^DQ#&aO1THQjyhF`S2RT-xauxI}*(muxYt z{Q_)E@gjfw$MU_(HfpCE#%-wWVopk(n;i3I`I(MCV`0xWD(^x6iRrkpE3V;2#yV~c zq%a@g!fjpfVYvNzhmhNi?wNUjts=WbKSKd+9LYi{B+D4-_f&drqIPL?meNVyj&0G98UnW`mBFRLp>$1Er6MXk;v%LR8^Ld5-yu=@Xv&bKGjh?0MgI#70o10_N z)LmZ9JQt=A&o;8^CM`Q%kT=eeU*Ed#9O7>zeKV7C-tVUVwy%)5@A}^p*{1F!oL^?% zzE1r10sR)~p9g!I5?=_}Z=5O@RzbnAmQs@cV4KT7!U}GX{qu;wTUw{zxlflR6@RJ& zeMwVzuAGl;gn3z6z=<|J8B*~-bnv}{JdC{f2|^S=%;zb8wsV18#r z4BKCbH|KmL)g6FOREqFZ*1)zJ!|Imauh{NGw#?nb*(S{8FwG_BAy(HI(=ac?)R=Wn zn_1|c&pck#1k_qBIS**+dTD)#z0v=T&d5I`em_68UQ<^_@Y9pN3R)ETv`32#4{m#n@!HO1b8CfQg$r;KZg0Tq`|qD zdVexF_Y(H_Tzsr+&10->>kiF38X9viefs_};M_)^%DNxOq`9xVt<+^~n74I$#=b7C z#?kt5MrrFGZrg`eW}Vx^4SeF#Zs+ z4j1A=Hso1pta2<+csb@*PKTQ4hO(cEcu8#U;k9E{z4Ykzw z6Ex@bd4}xOw3cb~|C4uw)}yM1eO@)^<%^>Gd`IHF8vcLQ z3_d?fKaqPlR3Gi}v}T&eiVH#((h0L$WtPtOSdoZBVuc^Ysn0-; z8MahqEyoD%L0`Pv!q+p?FnB#0)q0*MnD`Qy&jWi#n$?iqohL#b@R?mF|mtK0_N5AJMTYck552;)@X24T7EwcGgn2=N-~$!$;>^LPI44hp$pS#J2%6n+mjHOJ3+pRSt~kCOY#9dGq?al5Z6$a{t-k!}i~s0oapg%M1b zKr|+TpN`oQEoL?7fePJGg$(J>s9> zr9mDV%WI-plsmZac?cWkgHySTHYhjlt_VMW@Rdj(|EXuf%(oC9(isI$HxhpZzXh(pPjfj$^tl3c)o~9X84R67pZkWB4mOb$bxagKlf9tF zoJJSyJ3%}YdQt-M_Cv%!8d2lz*Q_pIdLm0t|4;obt6Ly7X00Y(ohK=BLq>4#wk8VS zx}I#t>zV}U6Zb8fi6`THe3fj|#Qd_Bys;xDEo--lRN_k~~WZ&;^t-Uillko7Kd+zNY_m6y%?8n;c z@ms&w`u)DY6EpF@>~KYvvoPrek&E#E1NaSj>w~M9ZB-@4)v?#L zMe(Nx@c%9Y?HfT~zy696>_&g-`ZnG5ow%;e;p6HYrmF8(B#L+$dhX|VE|Nt$g3U$G z)BHw2OZ0q>^msniJ9w?l+M~3wa68$5i@m~LTa5LTh3;36v5-DklpyrM{)?a=LKh@` zlJ1`(o0M|>R9%w(*YruM(MQij@DA4})%`%Y?G)2Hv9WQ`IMW+0kg_eAOzanaPZD{1 zbU!lD8-3bfw3v1GfAEaRdDWgFT+BUY!4rwD>%NQv0pl-wz#7>vtCKcUI`%&~MU@iLaktLuZ)z zuBCRC`3ClY*pCyrZAbd@f8kz{h3lO?KFFP}??AVw{7>wY(BqWP$4Wl4^E@}#h6ZoX zYoJAj@l%Wr<%+DoTEv%-Zqj8owTHd~KKhUpj=Bw6TrF`c03JvFOkLYRz#f2y$ zH!nbO3HXL_NO6mr5aJp=SKX)7c7g6X@x2)o%Ldx({8%aJ2aj=Go42|8$}4)-NNG)} z7)Nyx+k1tH?Y(jW>v#k*cn13SJo@~xiZA{XtlwMc%k$>6_7~8XKL~vBtJ5ZVzc*h> z8|ZwTQEpysFWOCe(;L2Z0t>TUd*;?l{(1EMG~%UrF7#)m_IdPa3EHDNrO%yKYU!-h z%6Ev_DttCc@yZt(f+Q_#~t0B`?L z#XzfU5g2GsRe_bV&H3CP_tmS0gF9bk-TM+_cnu22 zYY2|QYoKrYe!$OoN!~wNls&KGfT|NLm?UJrZyR$L;r>1@+j2+Awtt_e1Y`0bhug|8 z!~Tr76Q-w*wiEO=n%-8>+i1%u=6ZsbKPl8*BIFO=H;#UA9nB%WQDGiE)~jf&Nt{=d8#l9(k$k$Rn7ivZ^vq@c zmOao{v>F|*RC9Y{BHO#5wQi8~Mpsb^KkIA1OPur38Q+1`0vq6YwEac`<<8k%RG;8; zgV0@sE|xpehnaYe*3zNkyqRC|hRrP{J^Hn!*em_ouC$D`0Sk0kLWK1r=%`>s2eaZk z#`GAToaq(9lPm9uf}Wp5KRYi|a|ylyUQBwWWU_3;^}A+}Z*??Y;9cKL#){~<~E>+3A6`6P6d%4D|pB;+CKCzi?J@6)`| z)40FUK(@KiXXxCmQipq8sp4K&-X?`}RDVCkQh8sC#XVFluLv({st8x#ToJB}!@aIt zF5#Ytd#Jow3U8HIH|dp?Di(Dm$D+>X@sV4XXn4|M&oBN+;7RYC!J^dfsGJ=-j(xJ# zz`Cg~dbu4KSpBxI$v1c}`M8$|y^Ui0Nbh_fdZ!7tnUVVia=G5=Gzy)Q+Kc%G%6j(8 zWkkot8V~5VvP}Wm`y$n|YC!vv%y>OFlCj$$6ShLHp8~sKj4qTszAm)ZJi3lS|C*RC zM71!F;(uX(WV_xzsreGJn|3CNZ~2ozv-p;&C+1VQGEwjV^1E5^Ex`{hn?vRp&M4Up zku_Y-M;-VU?cJksyxF)~&|A6T+`M@=$G#Tp^wHwsVBbHK?(aeFwVFj;kjfh?!o7!- zlFI8V$^(ZL_rtiijpv5JPC-9tk6bZ#e7vpkY6*_QbBxm=lT{s1kLyV7m!SQ48Ot$U zxs1*FACj?IXO*#7k8{e{u{e}vJ!B_5ZDAc-WaB_}M5!g+61tE_n?KT_M&d6n{$l=* z`SR$!MEYMpzDI46&gQ&-^+pMLTdO5T`_RYENc*Xa<7AR~tW47TD-IjR=X=-9J2&5} zx;Mu6=70{j?qJ&pLzxU2;{@#>{s{ZjW%q`KoR&#rS)f=|TV!s$YjPDoY zoy`4=>K`SUvNsy@DekOQ`9SSBeBc`Bo+V>_i^PA%^DS;fA7>?aqd)t)@Ov$Kf2`l@ zz;jg7^xD(R+c0@+oAq>ShQH<+-2cW1)@^~Sbt2pJ3HkJJ&*Tr(=>5f=ZPv1`H>`u( zlG!Hmf#`kZPbZ(@tmER*KGH+U1;t~0q`I>Xn$zAI=6()+*k;yvK+G>wJV)pqGWIo{ zcdwJ#=hJ4auesv04K*8nzo8}#zn9?utML2k=N_pk#&7@h^);<&-{m%CqtRcp=&+~5 za?5k8)?fMDs_Cg)S3UCPbF0$v|D*Uhyy3Z3-^2e~uXujdw)M}iB3znJWP@v20n1!a zwXE!cn{sE>F-ublMZhnBV()mpn-lOxdg*UOxH7vEM z@Q3I>=J~)0#Z5Ap=I*yDkD7}21+5xK@I5ph@tkEWk1EjN6_H&A-sxUMYi!ZhSgh~M zvy~v-Us1_QD1Kxu^qJIaO`D%Bk~^L|Z0Oi-k~?k%zx^2dhp>q#o+3@h-{}na4=Qi} z33&Toz}um}T)h~)-A;Cq%G-a7HW!1pKLXzF1#kC*x6^kQlV1wY4S<(VLH}s|tNAs{ zz#j1PNrv(Dexd z_KSHP* zMtB(gP2OB;=rvCOaM=5=m#zo)#S~9)QLKK7iu_1rp_6Jyp z1p2xT^kse38+|NO#Iu>|E5c@9McDEU$dp${>*L0H3HPM%o(UM!H>7a)1lCRd*;hda z&n)tWr<_!5S{(A7gV5(J!v99=d^zqJNw1s1N{o zdM(hx+`o}yc7_akKG>!1rn{WU|%fME(`Mp6~Uop&e()4&5oJU=HC!nJA8 z-&Yz;?Hf$q^7X0Sa;J%PVEqQ3&r7=IZ*p4o?Ybpy*mf zkx9*i%I0}ccc5Kbo2&`Uqvb(W7KuD4%9nURwawX-^S8~LiiB;xvxwrHvF^#S^K9B@ zmw@(&pOT+>1rs`!UcdUV4D<~9p$oDw9pm{4Y>28vA&b{R7F(`0Z(a#oYm1c5ZLO8C zwQhl}1skaYc2)UIjP)mw#foZcy#-l)7=8SSIlcX-kjI}x9#ahCOfHYp2f9>w+>dr= zLLPq?^0-iy$JB?JT=u4OTk9w2*SFE0-H^_0Et1XCRN1VzwF0WGb#PkDhiTOLhCB7X zW{QI{%N@6x1D41Dv4#@oL2 zL*vYc@w*MbfB3_UnJ@e>u{{YU(+Nt%7zCHTp}&w~m0dvf988vHz1P`EgQ{(gDu zt(V{@13wS;;P1&rxL<_(MYvzI_z2oLO6_ER>(&c1zcr&7|7T==^VSD5zB%KYxc;LA z(f%g<+)h7ea}$2(J3qoVe$*q{--Msr=?86Y!Vi7tNBG8%GM3*uHFNolj?9~Hy*cyd z84uQ8u;kbH`LBX0i&kTaKS! zIT{u}gP-M&qO>+g(c))TY@fUBxKdjO+V6W$seNWxV5IJr#5wYN>hDja@%?i>i$?qB zzV*KF&qd{l+(%cKsdR6I&cMKb3f+SLn81I`;6E1dA7dQjoxsCbhYWMq;s}6O!XU$Qof~g zHVc!kb`<)ZDKS6OiM?w|7H4ZNjx}j7u4^gSPUFg;@i4*vWEqRiJqUWp_9($aSYJBl zAo=&qcOoq|tDx+log)!NG;BKvkS!(D`w3locD}PUxDnXi0i;dNukY~A$!nQdM zej7y__a^vjo(9c~d-gAl_EC!*t-O&sq1-pE>N%#5n3MdNgl|Rpd;4*ZYRMjuZKD1c z`at&ybBXl1i?1!%ybktvJM8cEu)nVa&HN4Tye6eJRluIwfHj3aTCyE<`kG3o&yx)f z`lRQ!n^W7LSADFh+{cDK_FO+mb;m=yz{A>`?Tt6MgM8JKD1zst9j{>@%t|&d6n4E|+mir6%Kq4|w}~ zv3jV)zx+QQ?sgv=|J~2y-u-^uyA-qP4-I!;dxrP>;@*Em|Gr$}D#W`rcvsVrx{^lM zrLCqjF&B8Ql;1S)Tc!4Agk5idjJhz5~xCEsp zZ}e@#vR;Ir0=DBG=#OOuBKP7~e;f)@ZF9;E$;0||C5u|;&aYL3@pnmNmU@nx&)iGV zhrfYWy{X|e*d}xPBu%wXwDqI;ct_1S^^@+ka9yVG#~^>iuchU)23n|=f9 zPDh(-DX;gWV$J=a1VM1 z-leu2-;}~0^!*{VZO1KYKW~wEeY&H2#r!*()$7fmnOT&hkr%qAQpM3p({iBb96B%5 zjy0p0ph}7RyI<(XJ|Z8s5qqn;%2(#VzMgj2UPk-Przmb(ck=6h!eezPrZAu98dAOp z`Rv8_Y@z;lhl00TSV=wTV=L_YdH4>|Mee7pgXY0Uc{4;0UlX}w8g2BNn44-EmnHja z=vri0;dH(Ub4qfRKNl8wbGw;3FS>ciRiB}G_I$y4epZUj^W75bo~F(7nEA{NDVK}+ zygq^LII^F07!I(#8eY^_FxGm@&Ut-i|2*GBd_N!bkt}jl>gApDj^v0O71}%RGqHD$ z?G^I_xxjM|_N(VA^sOmque0si!Tuy~%PGulB#lKQ3rTk@D8_oVM3UIZUO5E2l>CO8 zuG8By(?ffS^qsf&8#>-u#yZH~P;ZF&Gf0LQq1(W&CYp87pbDPz}t&QsLv67^;6)V7;7E&(Zlf z4y>M}>NyibbKC;!<ND5}5BH*w|OV#@-@jHx(vpF@`8G5C`)kzpVl;=?_cTAJ&pf}i>C>L#7 z#mD!ok#d@#&(zW$q;no8=5b(HsTJ`tHt4K5F3N*>HJxpuJV@x1CB|38dQ!b|lP9*G z*;vnPHWDN6(&DkQGuS4|rw-M4!`1lCvo$O{Ygb*5i*oa^o-V9sos`u?F^q&ALb9Lw zQ3*bWz2_P?SH4Z!J08x=4R6hP*Ju;iP)9KSV;FxV9egI+TYl6`JSf9cngHH0Rp7k@ z=MM+{pp84RFYHFv?1j$wcoN6e5;%Zeb2}&}(Y}i{OQ5&jByYLTL^jUq7w7Mj4l^@& zRr;i2qO-MWuptS<=4F4F*CxWgUXZwMsfO3IE-ptX-cPBo7nwB@%bh(^FY>clN|54b z-$h>|(1oeL{c^>Nj>N!+kz~f}IUT^b1imoOwR0t9vrRM~6sJw{uL9$X#|yz+a(_~P zazQc49+EqijlMEE-(|AEp83gJ;;eb!Le`;S1y}xPIQSU(N-f?YI&bc?upv5cK7eQF zy!m5Av5~wY*|nB1bI`66?Na>%YP(`csolnL(C2ojI76XJvxb9&WjYn#Q)C0yI05}k zM1Pa8#>t@d*cu;I@nk74oMN^glQ{lwxKgSw?PQO7Iv21G!eqZwQMzfrb!LjVSGx8t z^@=3wnhn!)@3SXb7|GD`gm zzCK8KrPTI?SS!#|33TYI2_ua#fPaU*NcdCr1}%5i?xHp*|LQL2NiX8NkWnEaqimth ztxAwloEK+w93m&-wyvtEEZL>L*uu{&9Z*+9YFR`W))>L2{ zHGo$;6VRTy(nEVDAhSn}6G}Q<%v)afFNS8SZLz4qaCM!PHTP27XiKPPkz{Q5O7{0$ z@8g+w8P9Vi%#b>)4avs32C121GhBtS+L*x zr5ikrlE6}Imx$)QQSyP`0-p0cp8XqWYCU-37SMK+ilaz+CbhQ?I&4*3%x<0z(brqw=u=n(B ziCBXqtVJ@`#E7*qVGYb(Lv4nRO7Ldv$*9pv@t?$-2?q)M`63pbBYVSZpyOGxSnadm zy#dfQn1PhloP5Yi)D?$(!}Ww{kk0e(QpX*+S=wuj<9mj=%WkWGng{E*3VF>IV(kvxO`n zTOd9Uc6x&F!D_kU+PFNrT=x08T=t10xo$QW#Vpac_Vb*7D?f`E{=O0{)XAw8wEn8B z%Hp!hY$jQ?6|yRdHBQ#G7t4vayZ-$WC3rh@^3};~@6&CpDHyHx|mE?PT0D;u#a3HRBx%Xgj5ANR~Se zOk-gUci@PMJ8)dZ9k>H@yhFt&edaTxP-zNWjKE+m$j%d)%vSYsNWtfwbpi|#vmzNX%mt?})LC5KY z4hEg}bB?j^{7Q$jKdYloX3gK&UlE?NE%20j{{`bMxc9ZMbkscrdkp_il>$!{{c2uE z%Y@+|>9}+bzU;3RWAI4Z>-2fWDjq4X=bf$Tw`%@ZZYj$IkNcD(DayLs+Jn9XF-{RbGw^EI|u zGx=GWA~_rUN|0)|?!1Ay2dll|zg)%K;MLhaHP6nb&KqpD;$@{?!qA-HD`nx=XRt8s zm4nl~;kD|1p&E4uvV!?!KM;<0KV%J`pZmq$AsnBTspHsIx^YF&UMF-K+CL4cf(D8H zHhr0LiPZZNbDzG5g$XN>>c`|lW*gIUErhvKfN!-v!#bQv0;8t0n3bHq$QxE*XHqUp zZw~faX|Cs8(1&{t`IRPyer98vs3s}tZ^n#3e&lUd-h;W_Wfrpc_e0Rz!NWq)W#xl&NjFiJvoP_8z5~L}+cW{P^7e}IUaT>nUn6)Cr)_I!c`n;jZ-|Zk z^%>sqCv#%){2L%E*Q&b4I-RbuHcfZ#bV%%1svorfBJYTewcu|`Fre}Qs+~?WKh-2K ziQk+Mn_J=s8Xq7z>@vj8ncN#C!Ey<$M>(9-5QD3B|4Ndlvex$p`AY{@jx0!$Rk9 z*gNg2{!m32mnov(ggeXo-o>1AbouNJDSFIL!h)RW3e6O9Vy&9b-pKLl#>$5MZwp_A z1Q|i^PXLYhV4rqsXP#Hu#+-S+CRusRF`aj&LY~~Bo_BVt=bg8hQ`>LF-s_G#>-1@7 zooF-utkb7E>l_&8tdnAn^|YkVYa5S_`fc`NJsr_rq8zV%HhXbwPuN}cm?x5(MI$oiyNP5t+7`BWL_d#=rmadc}{_iirsWjSQw%1@Nq=mBq6jNBjYmsy_hh zQ*!7csvW8K38XgFpTU1id=I)?n0x~!%=5$vu{Jw1&g5g5*i@f*b|1q;w6z~L^ZRM6 z`x7Q=2Kb;KlRXiYjUkdn=Yt>itSs=uo|IWP$0%ch{|`d1CG0@L@u&ZLL1%PrhN=^g zkK)f!#a*lWpZarynRV}EV{z4}U%#ms4o0D8eQ;XY;YiPIr?_*%s`R9@7H1Y~aX{vD zE~+Rmd`82YEC{)=SDi8oJF;Lq?->eGU!q(#<%I}e_-yqB=oziX0Le4by}3NwZ7&@} zyCl*+K(g^XhF&_ilter_or97-6H)b?hjZAbzNs<2fcV5~nJj$McSKC?zNs9; z%SC4qU-`pO&+u@MJes)NV@Zj8quwD0IzDn>M=@TzvEQ5HK<}f!+U=!0B z$6ATz9eQvo?2Ah)qK;J7UCBgSl?-~gMcjWng}JGYMn7amqsl)_YJBHG*%TswMpcpU zZ!9AH!Wi>$JfrHDr)LP=X0Dm>bybpB^GVoVq&v|1wZlG)SjZN(hwg17oM4-)0PE+A z!@p`I{43~}2f>Fq1{QQj@+%c#53PWnR3(wEHZi2fz_P1&S(=U-!Mj{%RrMazgfWLT4RD`UR_G_El;BRL;e1*{0^cwz)P?K*huPqXB(|6K`Q0a# zZrbNWPbY0+-tRf8@cJ41C81kip`QKFoETIe&rRUZ7Ilsa)nvG5V5RK1QUF71q&y{0iuvWyyVBL0(7%YA4X9f3n=DLPfUjf^*8aC)6*rHXi zNh@KmUfu;8mD{T~{`TDV>UFSHv3H}VV58Dm5Mff2tx9-a_gRDu`x@qX=Pw9DCyV1r>ty~k8q?3f1F~uR9ndO!Dx&&!h$DWMD#*+^El1vY#_21vaxSS-wOQJ(Qd`K z`zSBq2Jksa;42xyBTuSzZHVWchOI}~(v+w7nn7Tb>htvId@27`Z}cSSjr^16lRH7N zZInAPTVmZQadGlQ@3(q~$zBe<%+G-HM`{f{k2xkDb!@77CjK+#J`Nsue2F*Q0=>QS zc4_Z^*jnTZKOhI5(&q3JwDE7m_ofM&+}|dtyssdn`2y0D*e0q+*XLnj!to$Fty=Bt z;XZF3d&oNMQuaWT>K_zmCf25t2c)hO;H_kHMm*r-(^!;zL)2CSVX%URee!6ZzLDDq zEK1KTg6!h>tUT_-+C=n8dcBFqM_MiYc#d>^diEghk?d;3zNG6;-1l9W=%jm8pYbB5 zvk`RfO~d{=4qf9I`ga2R^9jmnpd9{J{NY7%OyB6A=8Z0tOcv5}oF1WfxL(oXv}~Jm zwc6`(`A@Apem`$SpSf_l5?q?aI^F}HqFR1GKdp2Rf(M?svC2t$s@;mY!MGbh)AwZw zdu!E6*m|JL67=gS!Z}KYY~cCk`8J@XAaU&3i3|NBdN^%o zQCdgE!k`Q1xZam|Zoi8#wmtafaeQ-k61%#W=g#DqBlu?3G*;4wZx)ub?%(41$7Ybd zqvCL=IkDXrvmKGw$**PQvDlGci@zxrJEGQ$FwGzyV&lAg8J%yIuP-~qLJsv@$U)!WXF?@hXBq$>+CNp~QdJaXtLH*_ zp`V})yV`zhf<`-5SBb7|$2r=rK1172pba`78Nj_g*t?aucMyM@$?s#ETuik}9BTZ6 zMONp9bTK|BCH%Z8QU}|^AmX3Sr=2~#t}y7$BVvJ!&XUb0wH?YAY1HM5tT+Q+kyjcY zuc*;%YF`nTFG83^0niAqZ6X^7_P}mC33{?YcP6@WzB0O2ytc1NHeQh+FytJs#4zMM ziLmvmMO>;&jY~a%|0@z=v`c*Uchj&w7&GmQ153Q4_Jy8zJSP$Fm^O-c*yDJ(z<$UZ z@k@126MI6-?Q!Be2W=v^CwObj{&U=V<}>E{gma%ULk?sgBRo=-ulA}rF2_bNG^{!d z4eKZjjm9Jm-^dzD`O0u`tA%ynKx;yH)f78NzCa^$dv*5Rr7Bhc#o%yk4HI*dyw-U2 zZj$|~-z}onN+3PR!(#cDu;oVOU(&rk*sd5akGt%L&3X_v>i}%lNSw_Yfz5i5>bs(i z2-UGkVBH1kH~MBkmL;<8nQ9K&PWk+E&?xqYa?t#+fyu`ZQEk@W4){AyF>m-h_vYwbAli_Yvd`SrTN)~@#{jg?^q zBRK?ycSrBjiV^-VbgexuB`9LNa|gB^Q);<>l_=u&wC^pO=?x!SGTI;NRO7@*{}_-b zazB;_-?!+#OEQSdAAFx|08K`cE=TQYaSjyM@6yFNP(H{NDdX!aCW`N$sMrZ1u zOyjn6u{N&9F(wbbL*F|Nx;$#}hELlyoLd_|`=tIypsUdso(1o6sB;&&&?VwBb?0*% zRoQlcaQRX+`DSUYV4+rz&_@#DU z=5q<$(7V;xO}(t7Z@+@)|ocCSIt<$B3?yc;F1 zf7qI~%P}6`k9qhk-Ci6&-|=gh!}SkaQ)*(|yIE}PyF;VjEz;I0-9EBT7pvo?IXtA= zWS#Sv`)+mYHg)VYzJus{{}kc7sZP-OZ8#1}9*=d{fc8F;)bC_5^*eS~rtUjj&w(!3 z4;iR^$E1Eo%&Rzmbb`n1kzzP!`tRKC5^;N4jUe)mq)y=SxBM59xK4TGL<4l+q}C52 zI@I_Y*)Km>xU^>q^qzRV^iaI+o-lSV==U|PZz0~HIc|vC-)}pWAl;{&pL2aj$obLV z(bqU6nyQtUJ8ca8if{Ee1>L>FScwU8AF_6b>lN}7m$+OXOzUx~u}wsiCz7cSn2Gm+ z&itq!`ZK?alg~b8p7)(RdaO@4)$_io6iaAz(LCRh!fMZCpOOEG?6W?zko!mR_pvxV z;wZ%+a{DZs>k*y57Jri-(W%M&1P#MBJ9Ki+aInzGy5};r=B=dG@kkbRXx5amODG0T zUtcO$rH?H2{H{)|xuie8qZs{r_9;6)o2u%5^d9D63wR8@+uEnp8Yc?d-8hkj8R5;M zKO|owbvh4f_m9_S{FB=*=7_o0p2~Ka6~4jZ0=8<7(3?yE$6GW zOmi!6STtJBcYW$mf+Q=c9okbrFyyw6g`Rz2&a79tdh)qUk62;hSB=2T}ACPQ+mD^M)n+tUI6y5(& zcYfs4$CKK~CvSJHn%=H)RZ8i}!tu%hyPc zsE)(1tJW~=Vs=a$=89N3$mLn{9?JV7tkrROoPUJJ9bKYfYI&nFVS&WiZl76L zalGv|MR(Rq`r1B=kYoJ(&k?iNzL2f9cQoG|&AYStIIA2&mm&RyzCpaPD}jAZzIl3w zzCm)5$HD*fu~C?>DC-L{kxVE)T)Fq*7f5!j3?#6P)pF4%$ zzsI$RWpZ(+oKxmV^w*RRBz8rfF_h1-FkTnsAo$QeJh%TE*i?zaZ%et52iv4_XFB*G zY_3yNle^|pJ-X%Ia;kCCznqo#T@D(XBb7(&kZ&znnGrh+yCKK6wHfxRajrbCWvgNS zdl4Ju3otj;Lo-UOSpN*Y_t#IcpKWLH<6vw}=Yjh%o*#$!63w-EGp*}TcDS>pAFvw6*{%}22Bb@BPF6R6Ks_P8Txf8 z`utV&S;SV7jI3iUOy@;fJDMHy%rVFo=pKRD;#(#ar=dR?vKsPwPb#ZDp6m@<8GEaM ziMoc}54by?e!Hy0M|kCrc*}`4Y>lf2`>{r`xS!E^8pm!Ic^c3ocZggLTWGUU&!ya9n< zz2H+3+ww8R7$=JF6ef<%H$Nnw2LPEsX1|8)2Qk?|`It|P#NcN0nC3~F&K!fAql>}y z7pt`;;&at`ZkXNm>kF0OYUpK4liA+)pf4{yqIBzNg#06YSi`%p&ePuzc|E6ZGk{Ly zuJQ7FmV$mO)fijt+>&y*?&S4#rI4aX&YWp%$1#`4(=uJjuAZN0X!c=FR#5&@b4f>4 zOIJ^>#A+~x_Cm@2p8Za>4pm|x|Ad@Zyi2P`qWW7L@2hd1OvHJ%lFast{ou%moo$jn zx*h96e2?OJq2qh@T_bYIK1ySo>M1u1{337>D;e*ZcXZGA5}AAdLM<*LC-kd-D8bG& z@bs7cVZuuPBza5zsG417R{N|DXY);ih_4OlaW)~lFHqM!l7)UiS36Gr2=zP9;v2it zM9jthS>oD{>6*Es>r)r03A*R(TSn#U{E`+B{i>$vj&T(4O759OSCMLX5(P?XP? zd)*^6xS#8HHrMeXb4{&P-TnXX*CzDox!2|bZjW1awSt7+-Sj0f=e-9MH_`I{lwMM)%NcF8k&GXm ze|Pfcg^=+JM)L5wF!!DMnqJ9bzsB2CT`!MsXV91&A1UrV822kw8}9nJ+HltkeZ77Z zos{<+kjq_qx}0-DM+YA&Djk&f@b*7c+&@G6PoRw_WfkL0Jy#!0&@j$&br@&4qcG0; z6E%#p+|YW@aByo1>#iTMk3??f<7oeGw11C08p}Fp(6Fp+IxK73Xl(2x4a?dVx&!Uk zTUhsXOkfyMt{}%SGBRF=oA5d#vcT)?G%Sb6oD_cRX%@wFFKbce6M<0)D6(% zfM^&XtsXrFNN#B6f2e0m^xcn??$6JF7jwHukJ(}i6{+u0f9nq^-7C@Ggk3|yJQEp)Z^bpD?mqN!W&yEdxI`7@tLRkN;n45T9{ON|#c*!f%$Eg9Q%Q?G4 z8Y~@Jy#U{=z#e;p=h`)-Yd8)f*J`v9D8nZapO=k@0tuH+sW;-i=0UZo7oF z-UpsQwvhZyZ}}%O^xw*g@~dE9AD4OV`VK8`fcsj%S`no>+r)cUJ~SL8pE2bv1k|`p zC*jO$=S~J)4Vc>}sqy?dp^LGul(Wb$6c=llr#^;PStI9e>!v~m=g>KmkdI{7 z#@8{%nsB*z_%({tBzs4O%uK+&L_Cv(XJPBChRqK7c_Y@z$L*a2ZtoCg#h}V(cpj%k z)JMs+c%ucfw|vXPhUTrN9@2j4Bq~;R*{@(QUHU6~ka-Yo|M%WjJJssv- zo?F#^<#VepPTjg{!<)~oO2hx(#n0y(o?F#{|6jb~`Bht09Q^~bIgeyxh5UxBgH-;#=> zueDQz{zwVX z+%z0yH$f-Ut}hqYAA1bC3)Ps+@~m_XBD`>@P`dg1jRqDqOOuLOVZ-DVnXJVD z8vTQTWfKm710|sp7R6 zP3Fc@R-$CF=%{xvm&Z2_2m7+TL-gLW0#85mFxBT!Yu-Z+*Y>Jsd%d?x;jb_;=AUBB ze^vi}9)Ev^zu)<#H+n~s$c5OwtRno|6&2w<->L}r#+}*qE|YLi3J*Z1?fsS%eg}FT z`3b5-e(+Ec){EB2bS0~$Yel~h|F64()tcBn-#?gK@uEvIx7V52;RDsIwn$p`eY)RT zO|dYxOrr#uiM6IRx?VRH%HPqC7avo+0+GlEV8e0&~jX9_IPgwRvoZ z=I`@Az_$Ah{&@j>@9|;CLGVnY&0Fp;WO!uoz*fSUdB@x#_C9+2J03ix zy!GItGdl=}MawnYhrMylXF}E(E&gynbbz&J+xH#g<^aaU_e!F~>o%^%{+>_!TP8fu z>`>$p?>(ItWO$4TxgOsI#?r^J&f1!by_4f=!J7N0!tT|sFBjK;jXhO3Wn}NX70~US zwYt5t4t?pQ+J&GO+OrFF-|j8U@Km0*mtx)C^6S^Kkgw%iBWr0NXDuh|)^c)eE$Q2T zC;O1bjlCM2!a7*>@7opJuBQ z1kIKtu|9c2k})?1di?1|0S{ z#cb@x9;aB{U0AwSE=7wrH#QD zIx=fG2pSC)fk&=M6Lk@&_V4-DMM#lT+UK*Bfd_J7D<#D0A{cT-T?AKxsEd#y|M%-6 zI97|g2=iBut&1?<=O_c;dV%4gJB!9jISNLB^ZIU$;&y-NF(pVca{J=sP2 z4c4A$*o!^wm}D#sfM?kychlAa?aapNTJtE+MRe`sHvY}u=ez{Gh4zmLe93QMoUag{ zG+~X1e^qF_hOlkM=T zT=61dp>LB!+s6AMfApe#K1R-`Ch>6^wLR=@m`r^lJ*{6h@6mW@KaCeWvkhzCY0dDM z=CMpua;~S!YAk(h46nAj(x7+LXUFqutLsMaaF%s`yt*-SH19n)VJz=mI3dP+_hpRc zy;LV+KKO1CUDxs3{Uh?q>U!(DqxmhZC(Xy5Lay_*qHA0hq{YdC)Uo}cXWvMP^{F8x z)+f40{i62C_xt~G{{Q!J{-^q4IREv1O6}i=72780@o7VfZM=O zY(JhmnCBW=T?za0a@d)d!QQ+ScIQ{SPT#f=HmUH{UhyjUa{9!<@q7k^=|b2*LCwoOpFBM#^7J;*nWQZA zZW_0V#pmozDsC+n^7EZxr8`Qw%&_yf#?^-D(qYDHSZH)sreQwWKNyYql+5(lmG+VI z%}4A?uv5)LrFsEtT@)3_a*<)S#y_~*&~qIbUU zAGUR>wPonNx5taymGp7DyxwR?_yEWD;ZJtOwq`cFg!~fvxWQ~SZt#zaVk)5bTH@JxSj1llbw- zxvoDYUgi0@!CU?mem*wjH&rA-b{k+1HyWCYjF2^Q?xKjf&~ts_w>>YJZ}1SldMiKs z!JNVVVrJ&vinVP`6W2b%wR#hCcV&9Pd#GlEF%&Yh?(1cr=i`5snhCG6bD6hgEq>_i zP{KF5W_ZJa8N&a=csz4fQy+Bpiey$Bz*?1IjkXx91BCb3CkOKByx%D2nH@=2m3ErF z;k9OQ4!Mo{|Lv}easT7@7|(yD{_a!#LqA8~2$PfYIqUw!xNXpC)@t))xt>?=ui%)P zteAA4tyDAZgtDU*zd!!Ep}CbXRhhS(@alYoT}O2c8ym~ajVsEUBy)8m_6GD3w<&>j zxbSna)mv7LpVY>cWtPUKvS%er^%aCmrzj=UjwvNH&hhZ`P9b z>47XUkbji>UG2qH!^#c^e##_&*i2_tvbm{sNU0?}miD7cZF!Z3Xskp)A(y+ZgxGQ;K_aGV7o`@-=eqz*78ff{sHqXiblL%PF>!;shKS zye5H%#!oq~gxR;A<`eeeR{A~3(CnvLintCvu6BMZYo`1ddKUZ1MPuUlez?BhAnrHd zw}a{fIK(>clSV&3e*$Z!^Rf9>fdNJLx_I2a(dA^UoSt#yddrQ_Lx@J~kFs*@U41*F z|0euLJli4OKbAgeaP)Zs3;B{L&Pw8#-8-R22e4;MEKp<0*t&}3H~Cl@vuA34{$t4t z`I-?;wK7oy^dRPTtIXWAKeTI~(!Rm9Kn~%J<$7qJ^cr|w4vtGmIOf?{H#hcpt0DH@ zpYR^$!QBn};x!e2G(}NrxgRuBobAFM=J5+OwhslJxZYRB$0RjNqlLqe-E_F^3>)4ee*5QZLegf>c(|$*eFJmn zCbO$)AD>YBg*9(}?{%po1^b(7RR+}OiMJ7bZo1GLy~7~ZvGX6wsC$L~P)aDjf$Tt{ z3m$`wbrm=g_Hpr>={h}6^iBNcTrojfT;g%)Bqungq#E0n&Z5ULZmNZFN}f=B1UBx^ za@mf-WELfCTJZ1a(}@q(RKivy{9mfiX*2|C3Z$p=Q+4wG*P!bFY+ea+7xP{cpj$zK!39(^Kfa^?rpRUYEqezJ#OCd_!2NipWIb=_gZw>{wmpT}U*Fj1_b zjd+G~!>LZDO;Ji>n7X;4^|(i8s)3h9ZQ}hDORoCC0!bmM_aI!>0I#1#8`i*=D@AgZ}hR=kk@XI^7fF=zZuuS zm%?k4vof91L{}d8k@1#vvc+6^;7h(F7CwpnUvJ252kl0;VGb6o@ov0PeXomZ2uUWF zQOYxupJ6w6W?El4~ilSS{Lckx}URf#Q8tX&X&?oEiTT?F%B zlY;q#Us9Qn!PkH#upPu{g+UK{3(`d~b5D>Xq^pzlN`L&t2Ml<9lj(H;TK zG-97^!}oSE;cq{{eazXROVNh9H$wH=cjBIztA8eqMRO?r(8Bq6G*x$akD09~NuWg*CEbjmWop41FZ|VkKNddVbhe+KG9zVjgej z_%v1*ox%9Io|WbLiz4vRj*=e&|C0_)aw}l4TCk>;cv*Qi4Cv!JKGKc(r~OYh4&VE- z*!y>B`|=kOw{i6QGF#n`N2K%LkA&Mp`w_Z!cU|1t?Xw8n_C@OY9Wk>V+YH)1$#MOL zaoo9RZ13c_wo78~Y|9Ze6sv1#4?R1qqoEu;lOKC;2ep-tYm>*m_iy_5CgYhYvG;yV z?@eLR&MDqX+ZYn3tC>gv9>v#|}Xl|T1>$>~B8@nWR zO<}iE4$+;ZEGp>#%(&8m7w2$)W&D~yhBZGXiQ2tiWX-R|n(w1n=eYe!=h|=15cOK! zr%1M1RScS(P%8Eejj7YX!VVQv!*WuoB|MEe*pIJ5emBV4`q*7xCA~mq(T29VLG4;O z*392#AG}Mh8!VM*o^wL4^b7@Qo~YJ|jcNqx=$bVPA{;iKSpUHF@@ z5F@gg*GMq8*spmO`dK6CCik!2*roQHYJowob`bjVkTtskG};Y4@Z`yNx>9y%%$EuR-8NozEN$ zsO$HkO1t_wO^91hF+X{skEX|CNQt^mR`m5G#(s|_*8jh}^v~D-?Puu!r|9cR=qNte z_Wj@TmOq`$CPbF8az~y$Gx9A~?z`Dr?zB$MG)neN();)|yEjaG6#7t@)|+gMEwZs` z&*w_*w@KH3LxQd^fo=?-9~pF%0D8h+T@8J|ZM08`e1QR#W_bNA$VlV;ritY1m%!U8 zXVz#?b7rw8Vl;Xg+PoBPe-+D<7hE(`FLLA7*NOYfl5RAc_A7ao7GmPUO=3YT<5?X7H<3se%mU_*Uo3*K$5XEfU(-#v9Uh? zPdL^!XBg{C=xZ$*?`AbTSOOaKjAoE^M|< zl<)3?-b+5wrQk^s=(qucKfDGyO?97A`-kCk=`=#0*_1h2pD|{hTc5d8r@wv?eTMYc zmNV!xlP*^ESHfX6Ltiz6hRpsj*IN$V_qHbE$hYzuNcT9HY#>wvJ zII_D%w+Ft6?Ec`qWp{4qm(#}I1IN47Js`2@S~3GHjFKm%|59yaiCi3QZ4Fok$j$-z;ygDQ0)tSV(j7hQ=&u=s|*Qc>s`~8My zDINEXbT;U38Nm-#F^tGJ;A4+^j9%73vC+J3++*|%eP6lR<2b#fl>CTlpQ5tlEq^A3 zmC(8N`NX-lrhT`D?4$ZG5a+s0jdT43I?A#FmN}(rS=j?O<<6>8<6P_1I9CJieHGuS z%a)oSRO4Lh)Hqk!>Mbk8H)ZG^boR7gPT+B_b!wbzof_v_r^dO~sd28!kbv; z8kW*jh<0h751dfk{9G1mS1Ap?WGeJVDOZ4M46$!|`I!ex5Wi`D>9;@b_u2TH8+4)7 zWg|N3{BU%BCi$>B)qG`M*Nx~-0$pSi4oI%&1n8J(o9b$F{A0yl>H!Tg=8Y1j3*pj^ zheb>EhL$stll!$-V_39=;qrrVuxJZjg$+YG>KDYKohymhwbAF=*`YnI;UM9I++?J^ zT%h^^vO^Z^WjaS_N@lfWpNBE_lX8x04(9R*p6iUu@9z3g!!^kp!8M_MO?c9wOo3}c z|Br_!t<7}=@AA3NjO|U-aA^ zPZBj3!x7n7eL_9=3g~hGw(%SQ;d?}%xQ+3TpN*GC#6oli=6l&6J}T-5x%Ai^jcV?M z6*SRKwKKkC-hAiFF`P7g&K%FlR?isp*c{7jO7PB?F_tt9!^}F;cBhJAHZ9p-<5Tl+ zIyDS4w4bBqK2X~NFDXm&$?>+UZ33T_+HTb4=u(c)3SDiA&ypwde02JThE-BJ#GEB+ zey#~}cLm;|`p*K(M*p2`*CqIlPvEh0d`+!wvvbvU0YGU4r{Yk z#U3HKLC=ndI})E?<;40@ZOV}x@DE1w7&_l~s5pR*aqz8=q)#5yYR|bqXD%t%L;8eY z;(1i%Rfb$o1I121F{k6Z$A^N1J?+d8*a}nVJY6z0(V6!VjG5?8=j|p zfaFovDYn+=qU)=1U({yHave!tzQkdUj1=i z8#N(B@jZkG{%)x^{3kQT+X%axXr#B4g@Zg#E+_Q&y&MlMR7P>-Io|R}Vs0t<`U#7} zA^AmpOUNfzBGnPGho<$fe!IG{X>cXxcEe-Rgzb}9=4&eMVUx)l9d%vBJ=~(M!Ah*b zh6#qNUrS}pZ(ts`JS6e?+|q#c!0(lL-ty<9LeI(uf6MRK;7d(K-YC`BYqF-aH#K<6 zK`SK`lS%QGR9C~mWB=?f+Fyh66HoOPL+`&(J!?;B<#BR$sj#`|LRQPi^d)a}_m^0= z=@ME`Kj8kCgxzDJ>sH*q0KX?t?1?u_c#ahpVC;F`s2SHOf36=kmNO4_)YL)` z%~AhFgqVQ92x?_Uw>Pr)(@tdPC$QRhOeZ)3CFp(>ds&`%Pw6+in)){tVwZ&3&DgkSTFN z8R3-Bd;JSpnBE#uC)>9*X9Ib(To=3nYx*Fxekvg76X>I=Jvo7sAI16LNzNA|3Yb;W; zF;Tj@Ke#2I#_;s4wfS2>2jFqFi?DW7JMup0Uaw|A9-(g&u%E8Z0Bxkx-ebi#%It;J zM?4*lqTZ*l=6h*Q9j|*^>`~U-n?|*Y1?JL9{GBIdlsbQjdj?a}Kq}_bU~F1JJa1h^ zxi1y%kYFgxkPVU!gTI6ut zePM^^gpT6+;i=x}y5-&$qS=37?wv_u&rECa-9z}xRF@6*%8rYtc%v5Ri|bo_gSQgT z!q06@x0c<~bW7PGDYg1m=zUj8%uTtlv@W+ouitSJGgp=Jl_hkvd54>}&hi zxqWR9&+VU@+@)+};dhQJ!N{xyz*(_|3MXU%tH%Kv4;4KGi zTk^%)Wrv|-$Z0to{kmI7Z zF?6iKk(k!prZ-{l9i*66wN9i-S0}Q6oH~(&8%u3ON7~41+K?#PaHwrK&(Q{9poV(CLQgG zQ92shEGD{o8}v+A4dZ<~gl|(G0^#iSLH}-`IQGC-It*Cfw~h`4`!Qzvt{!KR^xuIq z)TcbC;pY%;48}bl<0k!A)TbQ%?e=Ve&(t@nMrA=Ly*pN;GNRTY>p!m=l{Su#craVk zsQgP@jmiQwx0%L7`127pmwDmWV%UWTb@|LGsc~zm*3am-sn~_kzeyH-g8!vdZG2YO zwfH{a4*$h0a!3CKYq(ZmScIsy?K;9Y2TycfS`qESo~Jl7!agxcEbNq-n^A2h*%*3r z$54=b4(nd=hu5k&gH+3)8e>_BIY=QaN5bO8|DuLc0pah2LhAT?F@9Q~EA9T8sxPGw zO+;@Y+#bUFodn$k`~4nC@DIZIBOXF}mBvR}*+}gR*S6Dw4(~|^-#G^@&gZoFZL z#jLUh@{hyj*>^6?s)Vy(R>=ahDv}BLkf`BN*+O5&92F)CJgP_nD~ZQ(xpKxA$8qsp zz}zdP80J)3A80EMbIL^5&WJgc6aArS(0ArDY3A==%uXRv{~iVQJYy zhd++tNPRpGmKI@B>#?-9p9hv!=OpGXMPK&m@T&gw@%VUE)ARo~@v8DgUh=j$Y$~gC zX8a^)!C3sHeJXy^8!CPh)g&H`pOiC#pG0d@rJNsrQkC_e05fyKxiK@LS7ytMJ-WQG zaD*lVwpEU6{(zt@M>=!A&dxlq{o~+L5iQZYwqDi*uLR-2cz(_ za$KdKiGD^*%>BeT_y00{_BDNHcq}$qRq{W<`pM^Bzl@RCT!DXe4I7QKr1`r3J#&1z z<$TB#!^Se2&Ww%aKM!my!rF2qGxwD&4ofacU@wh_DfPbT+?Y~bmKdhgi3^5<{t2x6 z;WM;1n0y}XnPTl7KzlngSa<6g=I(|}mA;Pu-@_8ymU3<^vGMS(=$cQx7LRwe)-V?D zYGgj-(f4Mv7#7yn_mu9R50fuf{NLB7bQ@J{tUmetv9YRUfsM5ldJ&z+6zcG<&gXrL z`u^GQuKweK(Rf$4zZk>2s((xAeh}jr@4c7e-utHhy$_V`-%F^?%J-XIAl9CGKtc59u(!X3|~zsd_C{ckM^&wF$awd(~@J-L=QmYkA)C0bE;i zKXjr*s;zEmKWOpSP`w-adqtYRhHN6T%OR40{IqXlV7WPOY8s&J-l*#BQu1)v%^`fKnr`VJ^<5)qG7W z*SAI9#(|%b|5(Ehv$`~&IGxFVY%ub(>pOlaay|m*c?PeYUB4r-?oY9g&USXaD@o{2 z=@+Ot2t4jJTg^?#30)4F+_Ivy4BsxVBK(_eb32@kk+R)}!BYDzQgfGuFjxZlhu(Q^$Xe!$RUPV6q6}Z;EVnrF@Z_zmoVa*>y|ET`P5&WJ{*x)YV$F{;& z891)gM$l$crZ;M~ddv9tv0hD9YrCs)MH%^3AHh0KZ@jf^yJQ~m1CbBtZ&Y z@O#OYxMv2{UpJbKQhu=yc1o+6Z3+~7!xaBU`ob~jB`;m*js8hdy6+)-TBVDK7O!9w znAd&jlZx%IT_p@SKQQNvyl~ zJN_1`*~mZ(yLa$2oY3tQ$MT(>Ej;d3>Nk>3L^Z~G6PY`*w1VnSy8Bi9j))GwBT@r>MaA!kES17jgl|6t zJ@oLJ6^=4GPxBd!?Z(4(WrSf9kxijOeBA4h@5O^ z2IYLja_=r`^4|Zn z%iBM(8Mg0Fm$vsMv+e)6#oYBt(A2g6yT&dJcaPS-v#nrIspGL;VMiv`ZFydCf1*G0 z4)nc$>O?1aJ7j{PqrZtoJISW>?3@=_PBm!^9mZX(BXTo~23A4GpYNa7H*4p-u7&d6 zu8S_|+HKtV$1XW@uwTwC-g-dZyT48D*wL0T*x8oZ)AdH?J$-Zh^MM=HQ|{yvzp5$^SluEdP2yWKc5ZBb{Y4QHm!I5TZHGbI?yWrhsPn5eE@ zspZ>erfy?fy~BF(pUkw)d)yBmjPq^8o|w`=|ID=n|EPOdxH~Z>er90jxYpzUgNIC` zHPEjd9_~CaU*&Cx7bugdyKnf{!=0Oq_W15k@E-e-IhAO)Pu6_+Rw#ly2wL<-)9pEf zU+vqh>{X|yitvSYs#`&yU70HP__$FY0C#pbYfH4VE->T>+Xodv(=ygZu-YL!5`i2Y3dvPw;C(-Zs&okDHFZWXR_F;u1WIM-7T8- zKQH_Wdp|vpX9;M)@%Wt7Y7DVzUfg0E^% zk}qGIv}C5%zV1gC_(Y~J7mbV!BCZ1coi2P{O@Fk}e>M7VM*kvC)HWOV_`Iv88E1s= zPlgQZzgzfN!}7T}Wvd`=6lE6Tf49BvaXU0eDe35L{Mj^YXa~j|_&?)<=yRv9(iOG-t_x~JE;pW&zReWn+jMCPb9Qo)JS#6S?t^nm#+=Ci zyAnl7WRFSDeeoM|aZ}#XYxK`|E3k$O8Ar|iPxOQfWK4x6&}X&H=+Y zeJNA6;jD1X%$wZ@xs-X!Kf>6zVPDTyRk%Mea~>(-Iee}m3_gG=*^r2WI_yA^%YpDX!SrQLVS=dG0^L9W#=ju`v( znZnN?#<#?KonS4pFka|SQf4Zm|Go>dHT6chuh56h6qKMO!8(7*r z(z$s`wr1iSLoZ`H^1T}@sty9iK+F<(AK^PM+IO&h;;mK9a@T?O`{F!J zR`C;g79^$@*3zjZ7Ww0tcXLM>_j0yzR#;=wqRF%J0&8Skcvj46OwgFJ$j3_l2iYA4m`M#wou$>(1!^F#B1DCX@zwP8WX0QC6DAFd7C;ijJ?tn247m z#{^nAc~p&QDaOP&8)Bt!Oh&CD#(l{9@UWEQrEHK=hw;3R_A}4vJ@jjlHg?OioSv%k z@h2AbVokVzTvOIM;u`sJwjH}Y;jSZk_aV^u;2c9U1nXddGhle}+Ov*-LS$oGM(sSK_URsUz<#QhO+#WthyI`&e9?X=! z+ZPHJC>s02;q&RI3vxf#nd5CnJ3sfc_7P*;60qlq*!v{Vzy#1jGVbIQ|M1M1(b`8c zj;%E}1l=V_EY38@G#Tm8T`6}%-s#f5QWmj=PAku{2e-?@8`qHPeop0)_7l< ze7m9VhV&Tc=_@pU)*H2%VYq4Y{J0d1H0ox3AZ7JmF2?jSpfU$+u|}>cbqZPONPT>pJDyyL7#W&suQD zRMIwJ(?Fy8F$?52{ZZjRKGnh)&?hXA-S%U=ebpj-@^%saDQJ`H^dO$EyKZc)EchF1 zB>Ul*B7NOuwpOz*o@IW{KCKxQ?)hfXIDqw;tzB}hHA9ngWPUGmE@W;(m^K*bwTDDg z7;@FgYehKIJem_C&opC*m~+A0jovu5Zko3#G=pnbDoT1yDqq-b>>R4;r)NkiJM~7$@kg?{7CaS&NF8RwmFM?+A{C_v<}xCHqQoZrI-Betnb{ zdi(T}Jn*^bXAhe50{48B>~rDy9sd}6whn*SVcpq=c0xiyTcYrQ&a2C^(la^HAj96O$#sS~nl@zG{OCY&?LHzec7MUf*qCa8e-+C1>Go59m=0&lw!JZ>)TwK;z9 zJbABKOIQojQf4Ut&)=)bI4BF~%Nrx!wOry^<6M4)Z%R{L=#t1dd-Htnqc5)Oz_psc zLo+Z+%`G);v6S@wZ^*i(w@m0xAQCf{oob8$U2Nqbb{yg#~ZPQ zl!44D7o56i81$}RA%Z1_ZUMb2xJl-6X?Jz5jx*E8R%aQA&rbGy$mjy>OX27m7-&(C6vMt*?0elFHwyD4|j zhBL^|i3`oPRGjFKLf0SGJ6TVZ_aJkdx8UrNe-KaWWU~nV$tFs^Ar!U==g!Ywv5Fr0 zcu(PP$M-#M=mKTM7`x1Gj^n+)ptMUoQPws?_|ieoKfwCZw;<#0Vu|%A{kc5{j%(8X z`TB8LyRDe#=w!1e7-Qf>F^+S)DMr?zTg3O77xJG9i%y<7BVKzm=y4GLuZ&YM+l--} z1A17TVeQz8zvqG%(Fc4Ze(rC$ul(MId&`qdN!9mZyfS+wqp{f4!+Ncbxt|!)jr{U4Or7ONbZH0X-c}Cj#OQE6J(`D} z8F)kJounJiuj5m_c4so{&(W5WE9-UZ*mu1{1h4;v-nk=A*0Td2&n&XMC!EZ?WA4s= z8QW(GI1(#DQm_7#Xl&6V@!>fEtYvuZXrJkUt>}~cRC1kYqO9cjzHs+}H#7g8_X+da zHxKEI;SPFnw`YSNZR^*2C^Iq6%ZW2a|6>3&G(e1`7$N;VSZ zyid8+w;|VS#A=6X7#M@YYpZC7i}jZF81r2r@|~0O zO@8{?c)n?yCl5M>wIxoN4&9PCN!_hEq5a@*r}9)yaN0)NGDUYB&en%9ickFmZKM~_ z=VoxEBU-t)CMr$H*p>g;=KG4bHttPUWC4Q-!DeL|( z-@FalIiJ^<{wc4yDn^uS#~#scu=+EPd#gFQ>@k-ooCLbwV+B7qc;4IS<5TRxu_KS{ zd)Iq^C>8v%v0+L1HKv5>CFpM+`b!3H{|x;J(CIwNgHkyb2Uc?#s zl-S=|qNLS0!~aMbg>k@}A-~d3-23p3reDU0lwV@+xR0_fP|Ak80@%mOg-Y%uJ$&ag zy(hA7+_Qh+9bLpVtbJXRv^IEHuZ0lZ-SrJmup946{fHQ-IJ*JN_Y`=;eyr)USksjv zyA*sK@=!w2$~Y0UK(_2FQ#iT@4ZJPVZqKmZ!?vQ|9k`A%6!adPHJ&Bz+rkWW50Wk% zpmUiMabSjfdXKV4l6I=JyrTI*t&!N=gP@Um`nYdR@G*9MF6jh6_ckmBy(}t!3wt{k z>o^DNxX3Jur@yG$X-7Lwv@`v8n#}bft;yOa-%arG9*JO`E=C&-4d-K>@@zL`ixP{G z?=uB|$7G8h))Cy9CA$AzelCjIv2ONdJDO}*lV-|ASQpX-=`tZ!+6CQ<4SIZx@x(Ib zpS&#b0$wJ@co}HpzJ~L8+2c6FiXQ9@t4I&S65qLjId5N+_P%@<|7W}u?L-MpJDTVh zsRC{A^A6nKTQH_oay*O5f4xkbw*~#9-IB+!CU5UG`6A;;!5H4j7=Ij}Vts$TTfWON zmE6mBgNa}2-3cb}8TVjHy%s7X&u%DqBX|BX@P)k_?xGLxFzBkihc+y`tGx$wOP$QpQqvwM+?0jn z_b(dXzX%==+NW%{@@~=8mnVYU-&-xBoB9)Re-Flk58+O$i+7aq9j}POA+XBdwCg-UN-!HE0ZDE-u_H-!105lE$%?U*=sq*3$Vq^=>=f zZIjr(CLej}0N&+$*3aRmUOX>zaIu~i?JH&Uanp9whP7$K+VmSWH)4(R&HtzL>BTEz zMDf6MPjJ3a=h>#&Y*oAC%ZOj>5-MkmxT1wIsxEL{hN**hR2}%tR-Ol}*H+1o7s>tI zgEO$mh;>LXXdn{nFfI+mi(<+>^M!4&5cE&`6l-#Sh`U?*rt_hP;r_;ah=U{V_|kvZ zd(N0MBzEDTfyZ#xY;y6lL9@jbddK5GIe&&9vQY3Bn&=@eHe_UXoA#AbM?y;tWtldU zaMK=sM(NM4v$AG+THqHWdN=K9`*F62txVoxnU?5t4kh@S!Skl1w5>aYvHuctmo}>( zC;AvOH@R=PlfJ-@pidscJ^c%OU%{NrZC{b!XZNW*@!5S#_q_pn^Lo9ZdLhbO&|Tk1 zvXn8$^dx9EI?wbt^u^P}ZD$Ttl96wkr1DK0X=ltx?4WIie0%$_p7mU$&;6>;v;R@}MV1%ab4eG>3j<#dR9-D4&h|pXjz2U! z(n$Ml;iS)l5#@b1T;`|m)u|8ZZM+`mJR1)d`2EZ6T;S!tb%=OS%T?xRZtsjoah z9|=BhHf4@}z7TVe^8eBsA?MG9ygvtWe>LR)D*w6rX8WNJNLxXLk$23#?l;E9SSRS~ zPt4es=%a4Vn2-VUf|vU7W3Q`YTu2FJ1M(!+&E{tfkaL=YkO9!|F3`WkAH;lIX7R2a z&oPeeFyz)F;03<|oj(Tpdjh|2^4?p1BXj^=OKKoiLqn{XM>&pnF7J$!uD_sFIc1UMHjqe6_ySFYe1C0#>`Cf)|c-w#>+i!&=NZM*SUIuwZUnd*Zq$7Elc(B7X5J=SDiCv6-(#zjeg&jZZFn5aW42PWgsDdyeB#_?RcK_QcDy8d##l3Ly^1 z6++d!y>YXOjrso@Gjn^+_?VfepHq0u55)=ap=3GlNQ}vMo*(Wc9Yo?FG+E2y{F)(Q z#zGkNLOjng77u&&U6aJGu{a=ueLy^XtKIPd{WFU8KCh+-V@#S%61$r@Q31wFIG&&3 zW{h`8#>ZxlTgO74eel`ck1k!~GT-T^Un&dq$(+E01`quRbML+7XHjxwBU7RCks&QDNmXcQ3NmR;$EXcgfGKMjcqQY43P>X}96r_o_I>!0`xfI?nx? zc+t&RMaC2|x1lb{6YPsCFQZSBXF2-;t1ohXPaG2d_LUwt=^tnP1&hyWobxn^!7g~N zljzGAFE}@)`slB36E~OP*>^44|MKBXha=CQ{D`>xRZC%_|4=85np#=DTC<-2wG?TGN6g7ne%IA)HW{c`Ld;Jw~|68pnEgh=eq zkDvYGnys_ROEVPTjLmCn zAY&(%C34D?u*4mBxo_-E~|53arNFH&wVV~u5IUlQ7xPCh^BF1Vl z6^z4EFRa5fut~~guE^P?|M#EOKH%96^Spu19FN}+Vm@x&6i>Jdzx(mItH6j6V~o;X zg~{f;Oy>6Wq)XaT_J3!Fk~5sk#a?1WfIf%l8*;_|OQd2YeZ=YE76TiA6yQ1*a|8MbD8w|`y#+lQu5{(h5 z@YFK`r?L#(Kiumo#$3f@mg1a$G*!iuN8;2d?|h8!Kf&*Ru=ay4{FgQ={F_%}qTf#o zOv3wGI_{!-gdx-CyMC0a?8*965zPL%-g!{gfl=*OEHP>euzqM#OHFg82opQ~!x6Lp z!(0(=E*0VF&B9MU+W+B(n%(;LC32lLt4-eFNzjuo_k=T@BK+YS2s%r``cJ?sAQ9`;Nyh4NrW{Gg+Prp+39`up)pAv(?z@Z_p2XE*8FOr37+{=&o z-w~?Jt8n+Do!Lu8lQpNMX7;~|rr8pc#p?Q&8RN{;++CS@9a@T#gGoO}aEGwXbD64+ zX5BJT(l*uO-e|rvbPRNnvPYXY9kOvRu_fa0&!u?jndaro5*$?F@S*UQ``tYHLK zvT35G>gpxoj zSAh+8bK=;*mCi#imkCre?<@E4bK0mb9xWt{Rw#fz zDpt=31zNL1n|>{NtS=;&Z8T?xsGBh_pezbWBhj|)^H;}vl_V~cVnIS9q}^1^+&y%&wN?T%)!07T%W)1 z)q8wsGkU#S`Tqs;Jd>gBd#=U%Petac?tC}qLm7^9FX&70G1u@E=KgokRK=lT*2W4m zhAjhp>rdcYv;#8dY}XW(uNW6A*7kx9$xC=|{PkhR2jmy+{;6o{&DGrG5#$v-TT(7N z#oSm+sRjJ@AZv70QC2erTsWsLt6mJ=KgZzxN5DVH`?nap|4Q(I z!&-vm{q&u!BBm5%&c0#2r@|!C`yfB`&GdxV#)%Z#JE>c2VC>dkbcM&p*sNKiWFPH{ zMhxBDnWFYOb-xCh4r;z1VV-Ajm(f4YdDK;i?(1=vU60?+<2Y{_vA1-YbGG?Ka#{II z%{K+@K6{Di3DfRL8hk?Zgs7`b_4S{@89b}k zK2KZnEQvcCX1#3sc6yaAEp0>mtk*6|WPSTf6d#GMZ~smDhmG&ZN20%jPMiLx-%HFC ziPQb1>Y7_sUF=(}qQ{H(KZvqFeVO-Zf9f^tPgjZa>z04zg8wzE%1_GAQ1+)gVpJV- zOIk~fFpI4gvvAW-MW2H(Yg?^_&}qLfnz;Y|8^5|9^dGiO6=COGPtba`2+nTW(KKDl zYG94Wu17sqLDSAoiBE*o2@~%xQ1sn%VoJoH1(M$ z6HJZiifO=2tKj3eXSXwtTJeGhkxO9UxPFt@`` zKRb9JV+;dViJ-HorD^(1=OAsLgOD$$>tcw07U#?D>*^SfxXklp1lJ8RWuQ*uSaV!m zcdN0|CdvD1Qw(ic*@itSKM*%V@ARAR+{U}AALAz;67;qp<1`^Z2U*M1>J?4>*Q#6& z`W^~0sQ+36f5yGHgShq09vL4p{W-^={S&=5^!-`>S0U&0-{%SPyuNPK*KK=1^!SCN zv|tu(Nv6OCywC4R)2uT{Tf*x`o715OWaFLCWV~xP@~LTx=&|}iq&75lM=jK$8 z=V#oCb)v5Sp~)uCYMLg}-!P@STvI}2-2VW^SdBHR2fyGr3eEIKC|+^+f1q#0Cv4;L ziNbSw?WYExpbfC?&Whj=_}<3qa{mGFH)2|}5t}N8wY>8K{N7?ypE)3Boi-=Pn8ekz z{{{_S!MwM{hAnup7G#d>ir;y{ce6$eWU2Or6~UF>ieSfgaTb1efvtI=hVQgsA@d?3 zFPKcCXJhq4e(FfSoxjv&wSNnb>?SZsm^?)@Bg=FzjA>(Pn9tuD93+FFZsN6qTlW*tW$=` zsNMA?)=B1uVx8nZ7`g1@t&Q3zQ{ZoDBb~G>%R1V|+?Xr+Wq8eOlj1Wr5#cf9iJ21H z-AUZ?M-@-0Ea+YLA=YC6>tT6uc9lbu7&78qoN3lVz}Dzg}Ah-379T&%I0YN%_~!5Q z+9Uaphm6=$dz`2Z;QSrW13v-33C~n9sI);48+b#%!Uf&1+|)=cS>A=znI%3hKBFx& z5?3mH#UpxczOvuHThNl_Q~5~wuA=>h4gW#rmvTP&MRl2DG1moiX|t;FpSWqB|J3a_ z`$O|@@}K$sjsA1@&GqZMVj_OjcMBHf__&sn(B4t#N*9bd^9Y+V?6g#K6Nl)Lo?hV+}mNSSMykfVHC8-XK2n;+cA^zXffJlnfN+`c_K80>kdw{Xgb^*G{32_d@37!pIl{m)- zuf};^RpGxf9cux8=4Fjvq5ihsUg6$dDoPg7cUIzYTVu1!R^aRnfNo~Xm@$vLquyJ- zvcA5&9;-vi*&5_j+8EQuSg7m9G45t~)DZ0Q=xn}?Zu ziqE}|;4CtR@M_jqP%)^3j7QbP&=$z5hw(r2es0hbYy*GZkV~BibFu|mv$h?IkN1BB z*|$ChGAm@+ySxpd8=xC+hCFcuw9ueMFsvtbEV6RH5(2af9mVatiSBTo`x`y(>%SFkXU&S5@OIa1hUbPr|dby>n ztM&G64y!139P_xlVvcPGV*hT&MRNOGvy$77@{X%tT>eh~(tVG6?+Xpd@imqw z&>ug9bMhInRUo&w)GsN2qW=E!WRYB51Dd!QH1Pt~fn(>MNABatVnU_L z|By9Ex!vV}PC@E*GB23)#(3scnCq{OJhJabLx*_0e!O^Q`=}1_B*yx9 z{lz*&bUZU{Z;M5!Oy(ot@7G#$LXmoFw?CtN-w_<{192@i&pxN^-7jUsd{>t_ciWGD zCT&^Uc(>%I2!)+&Hn6V2Q^PnnL9`jE12f}Gw0Ympl#RM#g7Sw)?uzeBSN?v+g-*tq z-H3LtGTIxjoo|0mJ2gf-95=^Yp?t6}@ZEyS>wT;-cL?*p`@>;rn+W4?j+c7jCi9)4 zh@W=JBE{3lgU%RhX2W=JmxVHZ;CZqge5YOITm<@)MK^KjOJile=ia{xg>68a6tRq@ z4a=zSdYNI%*=}GSrTx|uCSFV3m$khZ^*mlSeD=|{iI@v))SGZO?n_a%UH6S*(&Wnd z*)f;q`jT?ar#CaZBP~`)dn5TU@0#9H##v>Ta$Y5vS0?7wMLRb2JJ2oT<5caOi5(f> zA-8I(7S+!6%6>!JO*U~kzF7e|18V@@TofOu()$36u5;e99fW^JO3FF*HR${trJ zeLl9p0Ccvr=Y~6(7hwI3vhB>^x^4G_*O0g4d%1S^VC@>PcHhVRFTg#s+=I0v?ip=o z-`9f2v399kD+8y^a-Xqw2A-Kk;+fH2r}|%Etl`V7nLIUOJIn~Ywx0EiasyqNnH|>e zdfaJN=C|b+S-*?>f0nY}s&;Y$Q#TBE9*Upk=N*3VYESqh=tka0JWUes1NZVX;8z=- za}GBAQLlBHTY{AF3wCIb^R0s&y?QP8>9n0P4Y8K2(vR^h#v|p0ZK=LAtXoV(CJ|}A z3I9bLFUW;xn|U~FkG?n^bl0#$ua(%hCfQyO+%{TO)!=0}Wt9m6n@tbnR==T#-ef{{JeQlG^ zD1GuHeAbQsRv-#s`*3$MZVo7OQmhH{n`C~!hA)%6}{iHCAVH*qSg z1zLD~Of(heuuq-k(fX0hEqbs>^D)n|UkjD4EQKxt8fz~V!QC_dCG>^~GBDaMNKx1< z1G#A-XgmWXa<9!?zO$9Tw*7JP2S_cn~j?jPP|8uj6xmT^|5 zz*)u%TuodgPgrk`@$2~_%>4QgWW_qrTQ=@N`g#APDgP_uq3D05p2)aX+Go0MV{DDe zfBn!TnsnMO^F%mBQy7QNXQTYB=JD%WzV>_Y4o%sr|2zKHyFjOjV*HwX>yj_5CCVB` z*@3@eFPTRG+HGQPHOGI(81vkTqW1JRg}?8R@a34rv9i*~YiN_C&+k<8f|slX!k4B! z`qJq?yu5^R=NZVOFA#Sj9(o*fc&pbNqWtKJW!}Sr(tvoPjCjhl-FS^$I*HQ}tFStD zkLW$NjP#Bf_}@gkJHJmfFh3w`Z-jg}|38I{Go8Os)thn^FxM1!3$g7}LS#b`aX;G(Qg;QrFPMMjy9JxnX41{ z7VCMK749bQY%lmw)g>aeu)1E#!4}PKw=B!btA|_{x!3!z^8{_y-MN*UtazH=_L)P|u+4 zcD@y|GvwPr%Bc`*M`YafZJL|5fvy@Y*k#~G zb={=}N#E3g8EZn_m-D25u@bs`*HOK62IFs^Nb@aa{H@VPU%y^_oH(esPjuXGw_`0U zW5hA6YY@MSAB+)C>`1zSbv4xI*k8-nX`h?^{vG%~dn*2)s`Pb!R)^;;2TFYsgX=O+ z*p7ajJ14(M9Ckiq)dW5l;RSe>?e5?mauaJ^i1g3|#+l>>=x>*N={gbQK9BaBGuDrO zg$VQeHISt_j)&3jZN_+-@b_JZN`0q!SJ|LX@@@l7OrCIq!c(55#veUy@}Su`3pTC` z#_Kf3TZ#RdjlLM?$M<&#HC|a4FmLSrm(S@vT*K4f^!Ow5;2P`G1!K_Ny*N|E7vY|q zFsHi~#?1)H`2K$z?!=z$T?;;;cvx;A51)~rlCR1*m#d@WdaA+OtH9%DgV$Gr=g;z= zyYCx*+yT;NaN=jgsnGU*UTwQb9PV+W#xd)Z)#X;WyRk-f36o2`SAjoaj>KS^ucZ&} zu*-TV-@RhC7j%t%JV)RcpdheIHpI1Xyx;c_B6~$Mw zWsJV!E1;Qf-7K+x!XKFe*-TEcc^JOfDn+_8r~z5brD2TA=(OV`q)JZ#yM^ zbB1fYI(47{Ne^AIp)%=t<)p$&Uc3OPTB?Q9u-Z*qFeWd z%0W=M=L(l@!y6)edO+`7hu_;Ev#=g5{Vx^7TbLq@xn~9bj z(IoQ{AS-T?JTgPBC)evrA=ZX)uM^M6kjq{uuw?mO0k7g3v0h4uxW>(%CXUg9HK>aN z?`+0>4jOJ7#oA1la)1~fkyx9S)-kM2ORK`#JSk-YVj`(EUkUze;P1`jJnLAO;bTve zl;1xVP0tx)z?p3N41eeGjD3O36^YU0`kXQ3Eyg=l-U@y`QIyaoOPkOBR&DEkd&}1< zlW`A2=BhM&mTzW?+5yO8{fq~KoHiTtJ!@bDOvJtKUMzfP4hjF$Xmd(DcvUO!l+3^f zSjTIR&o4hMW4|&3-3Rr~$%pdGU$vT@+x8ZZ*War{L z$4=T1t$}t^u6>GCq(m^kEB|8*^ShFEZp}1kisL@oWnyM|u7=(DkM&6HmK4K>) zeq?$QIvVgK@yhstd933m-h@Y4hD8FS=XcpGOVP+ilq#}n|xMO5&h9}$u z9dA0mKXb_ApL}S3IqPl_6N~k<99ZK>41A9%t)rrTw{Tjq!Q;)t#72|uW**#5Jf z!<~oGUL?N%Fm04~8u9(NUL4K?M-yWM-I3#Z;{iveii07M~EJQ&$h&gZZC8N;vlg$rW3MMJ7lLm+z$rcqRd-c97|g@ zWH#oJEnB*#!dn+&OgYaL>$>nRv>3Wf0sdxg&HgOb1NF!l`)6Mkdnr?ZZ+AWby6Kwv z?Q-ISbxGgHx25lc_>s}^x{)~DcIwtVlf=t~%vz^~%GwPbrxZHQ8~0K-NiJh-d6E%h zo`$*g6E`0+f#}Qit$`dy{BH|%*kX*GJU$=$2A!aT*bBY&9(Nb^=9aU1&)@J|*VE(G zN!28#@_S~5kHWmaHT4RMWBRvEjl}h2-9L$sVj9C#+pO;B0Da4}hv9B>3GWX>eOL=V zOFwbX3gKgH=7%P$#7%0kspme#Giz~Auf_N;((h+#d+7tYFt=q4>(>-G5hc(4AW?Lu zVeG_1Y>U*bNmKI6EeDOdHSxso7R7v~?!0Hx0##AZNZp^YBtqE$SpR@L{5aa07t!x8 z(HfywpQqnnCL%R7(gRJOj&w%u`Umm%49Mp*_FwHImP#ac`S6pFKcZ^d?vEF>H~e45 zWKX%kMxgwq83A8{iqX0aYh<#H;pFZGE%ezZ5znKjmwr;5=Y2^cy!(5isn@0QxU7>~ zYOFCEm%L}geXdz;Z-5q7%ABuE=6lI_>0W$>yKL=oeipS3Wl`%;{3-2-`GM#;)5o@7 zVn~nWBhk)>{g>xs_$kI&e_qXDwfAyAZ7TNJ;#4{#ZJo^XVC`Sl>~uQE>XP-Dt*(B4 zhdFq)J4zR%s=C9_FV}Ma|CgcX^WE7a&;jsV|H%9@;?obt(PyS|xi_PaMWA{5FNj?L zUA_Bl^z$M5>D}3ut9%hQ8GlNAC%(fmNnIT8@qhYT>GL{5oD;(r#`+2Te@?jh$-|(7 zqm0vBPX9+jU`YFy&}XqXgpzGy?==`#4SuGX5?wc%l3ZVbzOn)R?a>llf_Y6^!ketq zx+r!=h`Q*iSWj>@zFSEwDeS2Ydm7MeHYfJbOWX=0=k<%~EdLC9BJ5b}bWga~SaYXP zGVWaEKMq6HHK&CD&${vT{>^8Z|0;!;o8b5ida&&KLV@C1uxow1xEM*{XK%Far>MTz4C zorF4$Gn+W=meSqaOWN%r56-?+#fI~|B@RnG_w($m)#KP%$E%OP9ITU){|e?*cefKO zmGZ8UCp#XVe;4|48rW=!SRbhq&dKvd@ZhI@pz?Z#4E(e=hxOVrq3~~6Q{H-=r>Px$ z`6INmL0B8;2QpI+fc_H6&HM=Me2o6{hV)MMM;txk&=IT0j=B9smp1k%m`kMkW&P{4 zK#bA%AMrh7z#+o~=U_jR%;H`81Li`%e|yvQz5#QBtC}@qm#KJ(H=*Y@#O9}h{}ufz z*LTe%k$O#>*!!fnv3$Cg+CW^H=b9QHV(rsinz`eKx+Ue`#m|q$1ltA?D|Oi#-0kyC z_CeN5rmUV)-&nqPSTFIS&)HZf)+wBe_1uI1X(O2v(^6xHT$5N=SUwkXCGBr-7c#EG z0-Y-XpA&O}_%(f4zpYqDKkH|JFG*b8UiE!GeisUrgUR}mRWS++-d5)t=tAU6c-m_Hdedgk44 zKvpVj@XGjN##Ki{vxWF%@s1En=iHHhwaA#hui%q2t%F zMy^SO4`doO$V_5w3)(zzx%$7@EY=F*niyx8@jpDr_Orw*$ah7sd_OPGm;TwilV(>@L>equ+a)o?*RYvw^j12JgP0#>Wxu;u;^T5-+at(VylC#uzm|ti!@d9&-?% zEl*T6J1AHFuhS!=wK~W%e+!+*^7V>vU5w~4#xPG}a$-GO?4-Skf!{!1puK6lx*ax* z$vWA&zVH%HIq_fkSw(@>s3)2(>#07CK55fqo-NnUc}g!?13HS-SDlmJQd3!=>Z`I2 zP;~v;gXTOJ@vMJ}HRihfEUE_YVw15hQ8jq4j31}=Ni5c6SonJ%gzb(gvd2$Jec#3R>cA^l=QIa<^p~%S;K#D=Wu{TfkniNkcZ^&` z*BYG3c8s?zst(~EV;@KB5Kb6>4n(hk1@6sj;RoI)n?TGv|Q?1A6bKJtU;d956?_N zVx%9|LCteDo;v@`TyLBioRRa+OkLEOIr_A!LHtE$#{M~HW;gnbu0ed^8Cj1u>*7UY zp+Qr#oAcA071;a4iK((~E_8E?vv9o?^BY_HyavcC@_DauW>{nMa9m3bZ6I8mD~)=q z1E9I-I5RGso&J>-*mp`WzN+OcVYw8Swwn`R!Pvs}>GX4col{;!Lov-~|{dzo&~ zG-H<{e2IIR#dUs7`VC#|6MVMh4DM;x7gRM9BRHjL@_9R+Uq{-+m=1!EsyXI1B%0KC zXv^f729w72z4D5&edk%*4_=)Up)rh+*c0c7*@4f`VE;pqW#w3tB4cIWIj+Me8Cy)d zDWA)7oyMM#MucxOHs)*tkFiAdL*`~hcucnI zWz4bNSl>uJ-L1yi9W-k7ZowWNXqo8p8%BViFK{tt@AGS^0n3z%8&X)Z38MM9f zytZxfo@+PSuH@LW@{49)R(Kv=mVZ1}r&rdF$2;7!16lb+W9=&**?LmZlhhf+7>!y% zn*-*FMXnbom4_h*>^ACbwt;Tmh^n*s=4hSG92xh0VVzCdTXx&59lT52Khc8h%PbVO zA>=&wKi!vjG48%Z&WNo)YG2}ou`juDUUMV+V$?4&`0=|De$0M|-_R`i@p@TDTk-;{ zxM(kpXH#UI^CO>G_PFh4kG7jOPP<#bM7#11 zMZ1ilkKCUJ63^!~=T3|eXK1t*Dr?PrQ7zO0S#wFrhmXFe;@K%5G7kMN-*D%6b?G9p zPsc5y`-j-ClbXzTP&qr8%PVm*7TvYeq&>c!{gQIJcDdS1_LivODN)VXAuO zy>oi!#yC;3FjM_sj&~;G{~zXlar@KQe$3~zKS@1vDW2JgyX=QkzPP;{JnJ!iPJ36W zXOe})(Jfh6r2bD}`$CjF0Da|w)3iB6>m(P~rTaqt4EjT+XshW-XsO9e-nc~KY+s`C z6=bZbFzUg?h~lSAxDRQ!)G}>;%(2pRM_DJf_g@!Uqtb$OEdf3GfavP#xMU#LB+=1SgvH=dXJ#yOX7aG%nx zK2IO}B7N(ST?7y2iy+s6_3h7^<8dFwLGOwUgv~Ly!?ZvyV}q{ngrP5Yv&Qz*x3>g$ z$3YH`V~y=hS!281abb<^(rta_QdcEqn;SjB{(Mi6weqN^c&AvM+7+xR;R!BuDnD}s zqwN0o6*hyc&xUmbM5Ajc0(5WzpA-T9Dn7P3Cs<*J?r z^CTWl6UD5ne9EZf&NnfC!&vOz8_Jlnj_>TP(a5u9 zEvJLE()(Uibsm@>P3&Q|#W;5x#%aYktG>qiVAh5`C-hny##x9l+A&5c=YsbKFg}+d zA2{}o$p?zY@?>8VL1T;=vl{sqU4|@BT;N*268vI*qt>_+{B0xF*;ZTOX6_3y5%|n? zkj)mx?{MFZu|Hiq(&LeanyOwIAJ5;k*=b#f5d~DSJoP zpsO(ThihV;;3cjvy1(nMVr&)8_2scn$t(U#?>RG~XGP9@y>Z^N@c9XR-VR>4 z)~Ng5`>?9}PT#MWb(mjQas%T)+Ww&aW*kV{YpT|{(@ftL`I|NHo!F615hr?zjPoEd z3qR0HUPB*kMjc>&2AQ`+)rS>Dm5?9b#CaKQk8*bu24S{PbwFk9^grr7Pou4t-$%uX zdpTZS(p+!|LttF@GZxDdfzj#Kdw3bV79L-PQ^u8ntt;T{r%(e`#f#=*Wv z>p@|CI4%dyL4O|B%ee3OOr=Pi&^sz*y)=naf;s3o zM~r3VeSD2U%L|_V|E{Jj@A}F}Zp#HVZTH5gnzqI>a!v>0xdy7HZT#bq^*dGkQ(vcw zf0B7)YlK^e+;xh%Cy!OQpR%#0*>d_DQke%<_j*fBme!to68CVkP5E=%Zd7qG`5N`j zwsqE@2sdkNZj7?`QdbOIVDDXIz4)%k+H=0`ZlN{8*Rw`#B(D#R(BCC(SKhJO%z_1$Ha5)a_NAXWnPZZuP!lw>q599BKRdOv7%) zHZ6ue?jNl$?ONXt`lGGNk@erh?K`)6xO4nE?JE9*{%Y1+>BGKS3tPr~uxYf_MB`pt z28s9iKpbe?G=_W4^O3f#vnFk1`x29k^T>C#LC^6KU}IvDG1XN_94S3kSHoVmD>`~iuTV8r=u)oj%pqw)uig0@HT61?}7 zFZP~~mvCfQFTp+a0`Bh@?9b0|I~!AdRhOmui0yT|*1oPEa{GWizo-HsjwQFlZOWUHHE(Q53%d`hP|GL^1+j-(tkoLhofADDR`5HRa$*KgM2| zybpz>F8xB0fz_84upW?p+3-f2il>q?s+Qfsx~macRn-);G~9qQ$umM(Fd|F61(}BV zw>%@(ZDVI7t!GT0;#%)apbv-`{b{bV$3{AParSnACfAzA?8dY)ym6twB}JXT-BIT+ zEy{keJVp5|*lxteaER?2HX6nYjpzI3IqNmfS+8-)_t-Yytr!}~ zvb{-Ok{z&}&}Dq~3i`X=@q~YAs|cHAjCQ8Pi$fV7jpL^8jW$zkz__-pu z3w>Q2PbLDC@lTmeu9LVU19^|k%VT~~pQ;zf_N zu{4Utg>j;m_MjC>3IpeWJkM#a{fytk9%qRxd*s>u#CuKkxFL&{`E~t?0Dc(v-4`#4 zoXbmmReQ^Qk(%TR>$pYXmA@?9{e_zU__ZSF+Y4RsWwc?IST89jO)7>sx`x@!f7Cml zlYVm*^UX7vk|)+~%2Ze>{Or?{dgsPW5$?I%6V4b>Icc1S9N*da($f)4)%@sKw5*GC zjEHV=*D94~61EdJ_Ve>hi1m3|(!GjL>rEw&uqcksW2pEF@4fSL7{ZKui{vmoE&Z6? z{wZdkYt#I47h_C7Q}YeExDb4D4rnD{vvq6%tyF_ni2vaP9kpSu+o5~)Vjt_y>D_*u zrEBr*%Q#E>Qbn+P)UTZpcrT!L@;S=0Di+cbi2p$E+<~=^*kwcUp3$?H7w}ZM6I5$OgzXmcXiT^S%uQVyM2rCF9CXQeLqKI;@^251YihtF&ppj;4l( z_&wjL((HEb-&PCu6#Gkgo_qVOm2sB&t~(=f@5Y!vFYf)2<@4j-E4Xi1AM<&3IJI}? zPrukNai!_veT%-=3rvyq7`xYx9KE>RBNw#$*5|aFwM=u8-gXvA{?uc_{kZeIKC)yV z@1YMqv(qGc!o+U;g4q56tp9ki{kxN(mt~43hn8B@nU!Tx3 z-EK|`ZEP*y%KC$KLi)%W2Y0ouGx8<^o6V^q>&yzuH^IO|S*g>tyd}RCD|7Q>HJPU= zWuYtGzJuo6BHC4dw`aKX9kWQ^V9r~T6}us~FHX!G{JscV?K}QBux!U4nWtd?W`&Bk za9Y<}h8L_!A6oY0@)eqoesAJlIA{x4iaoqt+67984`}(#SUyxV4h8d}EZddcp^xuq zUk=-XHUMHCUw%sl4k3=O$1N3itwrD zM6lg0iZ@;r?Q6Mq+sUQ0HD2oq-6O*7(?#lUmx!iUW{9S)XJegpzxD+C*9%#jS=PKS z6+w%=rKayu$NG&kl6$hJe!W&=u@%8&>iST~V&_=9xmnprYA97ZY z`5J#$EB1MzXtEY)KIY9Nz z&B>uK`aXP_SnK$a;aA5U+-1Hw)T!&oeukeDMo!)-=<}ynl=!mumCIVqU9Iy%wC(h_ z%9#6N%FLXL=KTR^@~P`Lwywd?+UsB0l~MlcJ;na*=FDxIur?c~n)jx^1Kn`ft>t~g zdNJGKyHl=Z%+Ewghiv2RKM;>+UdYN^94)=Wbs1&XNky*9Fwcw@#zFelnivOZmAFHF zx8Lk{PPO?QtX+Y+xH7N-0}AbjY5~B7APU2>zxuIdtZmB1~WBYnZdd zQcV`Mv|)v&iz4D$_t_^F{pmK#`mVQc*f!X#>N=2zd9ButdJQ}le5LEj`Q?3y$)$b& z3Yibj_fD~{Pb=|+Z%Gv0UZdtX>r>=pD4a6J%{iKPG_gLyN@5>CPFxCENyfKk@+Az*;Ve1+=Zq!M=p<@qng0k|*`vC`!(P zkC5&hmv~A!_h74{uZk?}-Ho20*W429+lO_@RQ20fC$k=OaCD!_ja$^ebl)8BqR=X= z%j#H9aIUtXbgOuxY*mHuts<6|fxEE^=Ytqu{Om300>q!#zEJtfS5NZ$RCy%sW+dpEikOte4Wevchdi6~(=@OQ(opp8eMbuf^HT2=&I% z4t?Sw+;P{i?cFXFxZmpf^1$9+p2$9C+2pY>rXl)bJlQXeKo`EdDJuTdX{ zJ`l!>Psd(>Hfwj&XS~qUggHM%nTYlMh)>9Q(l5+`QqvfUmWw``lKH&Q~Kfh{-FM*AFj{v zn|V{E-Y#w4D@KMpTQWqC#EQO4@j+R)C|#8NoSzx*SX1!6;cM%=R||IHJ2^h%KIm&z zc#H>dHoML9LTv{+n&%#ne!ooOlSZy=6#O{jFPCrC_z^|+63 zO>U{t!RPdU!TlaZx4-!m=LfXCT`%_cfUaLL==jZVh_xGuNo3G*n?c7GEyLC}L6qd1 z#Zb2RnWW_%cy>SNDwHI89)gVh!35FG{@m!p(t-I}!T+z2@=FioDOqQNer1P6#bEGE zk-n{qCtmwiv@gem^QvMKj*p&cYoRAxf5DlyPWbX?+B%hI`hoM#v^={w*RSb?PC0k1 zO%U_%;G96`=c4ED@HAPpT$=^-y#e!|D4vn?Z!zZo2%fP?pQ{M;P4a{%HeDOye93ns zG+r21Sb+R2V&CU8_^zSlN>Q5)x%#0~de1be$7BYWf44u%&)R=?MR1_LA~^WHieTRb ze%8LbHGHS;#J=xoLF``-b(KED&)O&btXa~}`W4XTMrn6ZwEABi%D1}lD$0u<$c>)x zj$i3LKN{AvLdJZYlULLbgSH=ZlnvQ*;4aZLPy}5McV3@MH1)YW!N}Po{T_cn=A{%% z-_=#3seR>&VCPXy-Y0KP618W(sjyNzifq0`P4(M05bt)o6Z5xaj8g)-u{I=VGu%~LlFh|D5@TEdSwN=0^*!g0YyUXo zs@2j1vBuc=x4{zwuAQnc=71eKr)(?yJTgAYFMs}q8spzgq9pqBxN7xzo=M5FGA0yf z;zR><=-WNvyEqSX=3pE6(=(8tSks(qoULUCxW?v_dM#y4K7VSaC%hcAHC<#5GCzMm z+Pe<47@?!cIpOndps&-QO>0YAja9SSobk9nVs0*NU*d5)q1UZtjiNZw?J)3@K=Z}7 z#E2&r82Cw!3-FUl@PE$~$W>ERe1XIvx&S|Eb8a+#Qu=xLNo==;c+xj|!o0V-O!t?z zrK%dr$1x8rMa3S)V?L31y%_wxA(c4KBHeKwu9E7XYqDX9aPt|?zb}fm+YH+Nn_zvW z9GNry))cXpGF>0&g6AoR7-eOipda#F1nnM$)1lY<#>22V zci$hRZQlXCo^A6y*O}4&%dDZ26VPafH2SYQrRx zbFl3t(M0?{2Xvpdqc~@uc--7m=tENfX&ZrVYd7Sk-+0`0!cr>r+(PI}yyr zk#cNEFL@bjeeIyfeQcH|On>ssB*-nZa33Zmmr+;FfIhUHxKEH@GI1xIZKi!WKd@8c zKjj5_XNtAZ)%K?2i2M-p5^a)fi?v)Fo)zS4LEce)F%I0TxNCM1Cz7>uF}G_xGPi*3 zb(w2IpttTwf7LN#{hf~LZ;R1imdKL*5pQS9GS8E93f@}Rrda}uaA$SIiXl7BcOve; zEwKq5s}F2=h<4BIVKL;uxn>R_&xJ#Cti-zYI4adR`@n~fgHDcvCx<{k>qqn~_I<*X z9^e`~;<@+pLZmCs(FT2<{BhAFk-DlPuzr;`KeW2S2vJ?^>Y$)%L%S8M4jkC;TyRnT=mjNoQ~-hY*o)bZ;}JmJT+2`e8LvVLIr(-et2 zT)I_*KCC4TnlT6JChYgxLC`whKio<^LCibcD#C5hmmScBoG)hCHP7Y8PqKrvC#2P8Y8aNH! zd3du34xGhzheYuBOKRE9DuCZU_L(%AZJ@=O^y)`7mSr7U<^sElXcF;~uEXtLI}&hiN4cXMBB)&|YU6Dqos%??z8mW}+jMi;z&^&NPE2)bxv2)8f~yZ_`xNeT&aDn} zvs|P3cAxUNkK*o~4H=HP%b=W9v1Uarl=81tH{zC8UWu2;cQ6g*M42#CM z;y_#2$F?{}8Q0PZ9x|KuMdmdOSL~ylw%g!Cr9--mX^F(M^fEU`6YkzzmAlDY0FJ?N zY(nW(!oY*Xd?I%z=S>;OiMdS;BfpiU|H6=H5L%s_NVuUwd{gb0G=I)+DySbd)DL4jpy{#O1zizu zGk1V&x49zT#;MVj$KC88{Y~?Se%JJ;lz|o>q#_>8QP%w^`2y$o`#hd0khm=u{KtJC zvWWu3gXUB89_c#l4;>_#b`tSC7J-F}-|)v^2jOqjN18=^guOOg-$3gM-$1^diPrpR z(Cm=-25NC&{YZ3gTq(z1Om&ose2zc@`B7G;<{S=}Ekb?=efz+u#)Svz8ff0#%0%8`HEiS>s#L|Pka57}hQB67I<@9$n z2hi;A4v4u1c1b1O!+vu`ftc&2B0g_vJs*clD%s;W>#^2+94_T^a)A88j}zVcy2AXo zesq!f*W#|!55r}Ux9}6N$9879#Otvhcwf8+{qCf1Ij?3aY>F>Q-&Ls89=&r~t52{) z4OizAzrrr)GqK0}v{_=j^+Rg+UeZp1aym|uzPFYVnyAi)g(Dd`rCO4OIx(NX=^R&In3rU zrjIv{Z(LaDnBg5q{u?lR<=Wa{?ZYB&CxG_nlYL2J!gy*-<`&?toTRzl2p?Iy-bjCU zFIO6n2eT47h5UwczSn}bV0+P8>Ca-tldm_ocPD)}2wt4BZdXGe@miR4u~RDlwKJsrssH7c+%T<` zJjv41PwSwFbadsF%9fd^7xmk1Th|w|6YyV`Gf`V)Jhi>@=(;CRN8->H<;C8VxOvM` z%=5+;#LY7iO^=Yze%r%e%=>qeCy&to$LAcn^Rqdh-Fafpr*|HnbNJ5Dj~UcV>tnOuF}1ncl~T30nJ_^LxrvE>Z11^Sr`*(0eL zS2DZ(%5_`7Cz)5S-_nu5QnS|4|E5fvS<14RFJY->T2I7JHuH8VHJ#)a$KJh(cw39B zc4V;9v06;;FS=@!U-7YtyiJYSH$O zLW6A~;;Cmwi~1J=cRbzy#>T-m%(vsGlGiHPTb*yS2H=bNOctB-P1aB;WwknYFrQP( zY<2!r_F%sO6ZSjV|y9e1Az?_6!7bxd^Ic!BJ(#Tw2H`OAGp!k#=vbUs3D!OtdJY76W$ z)B@W?ZLcJHR7rU)dw`KlG{D$h)Sqkimj%%$vsP<1?sJ&U4G}Ldxdf@m2>m-iZa)^GH z^L*tboLRc|9lp@^rBz^SWB+LX_M!HtmF({$GsPO9K5;wL5;xQi1wM{$hhF`!gPfP} zPUc1I(aWUa_UN}hyU?b$13ypydnEfbfP7K-dD!Qk$5g}!v?9)(<_~zipvB61OMAul z=S&+Q8Q)JfQ@3fXyMyRxA^JW?wkEgx>MZTBS@WteQK4x%gkQTU}gZ5@U7 zc4y*H+Hy=r`ex*N)Mm+*2LINi%@KVII3XR{w=kX-iuwc^Q4LNjvM~ zc4s^*g}tD^(-&iR=5YO)&+Ee@pH4CT1Nn5C{Ruh5?M&e6n}+As8Sm?Pb}yaL&woV! zfAC23{0Fo$#tA`A9+aoLMEpyZ{~*yX`9H&LeWWWLPV5(@6g!-PrpPTsOnu-%T9Z~s zYyKnU>X*cG*v|?~SNPxg)UWf?MLf}Jl55N7DP6j(p*BQLGxbHsHu~Q2aN8F&=lvv~ zD}aMZ@?(~yuPK2mQKjKZRA_h-PG@?1e^x=Uo~JwRL^OU6d+)&SAf@K&mD3_^Zu#^A zZ-?v$SH)|jFY4y|2HyUz@6-93ze)72L=F+r!7`zw9e5syF9N1vWpXtCuzxP{4_zYv zkbJ}rk~6qpLH%A%`f+1iG=A@>ReTfc5^}rhwW!?gvqjgN$$*;#8B@oCW$2@gXkCFE zV&GP@Oj}tTd-sFo#oj*PgfUi%Z*w_B{Uv#+4ov)x4|Z|w1amv$?wsW~LyB|VO5dCN z8pnWKa0L5Y)E~TGrMw{XwQ=EN8w#dvqqY5_WU*~lXL6jW%`}I15)V8|_cre?=z@*C znREyGuxT0d77d0=D~xz8)J6rchk(IHbn;2SD6&UnM}ap=BgjpGEtSS~T0YG!<`MIY zu|faqv>F|WLr&9VXdLHGZi!^ALESFkfYJ3=V&DI^HJ9-o}-b^b2O@W zzM&<834@r=fYsdEN9!%$kfQ;e*he}sK;N27^gKp75jGHPAJqQp({f;4-?z5Uz4n@} z^-?m|b#ux0xW>ZvU7O0h$n}~`{WwN_`$UWN{}s*IyVT|}YjW#xYV(gG)_+0rCCU>s zrR0IYQ_N#Uo-eTMzHe?%euw5bm8op^-Yb?$jaQ;S$(OJ+Jc~ToW7Nm_Jij}+ZqxZN zukC5&_pJlK4+L+6m%-nlb3f5=fNUf1wH25%605Izxizg8kElfCOvuR~Eq+*|&DV~W_HYQ2;C9tvmadti>MnL2@fA7B6VwF>?|pQ#7QCPB@B z*X<-D$@cn~DW1==SZM!fMLi|Q`%lZV>%e%%Yl6R$pm;t7HZ~J`{XzNRt*hf$=}lyV z1&B7L3`JcMCu$oGi$ylY#0#5;#|vvVqKfs%?Zi^aY13jAZap9F#M${P=ffqM?WmTU zfl(nagJvBfn=MQ1VT2|!^$F@rF3sJEUMzpU8l|&*k@n1uV2RhpAtX z4}5MsQ_INr0_FhlG;xL#r16Im^NMx)%rWKJjPcsdg1=H*BJw!9Jx8NY=FzC_!?A?u zJ5dbRJeNc?_+l~Vk<=w}UfluWYwW}JkzN3u923|A>~9|e7Dp1R2i6nujapF3>J_>M z*>j*sufdzfZJ+Hgh50u_1&F)Ocb%u_Z(6Txnd)FA9mEgNPrWk7`mf&}&#F&OM{H@X zEkJs<5&mYiIHL!ame1PA_aDm&t?j!Lc6r_+emg%~^ch$apI8~M)74>B)D;QXKNpx{ zSm*EqaGn5sHiw1*g*e+t8{>zzF%?)A)W&jZ5q;rMv1ak2P#*&GvkgZ3@tm)wv@>wx$JYw==u zYa&l&DBfDy=4c*hgOzoDDv3N2LH{(K3;M+Y(M|*TDj!QjG5K;eOg_-f@_OSC`xkV> zvkndC1voY4*P}Rg#eK|KYRF#^m@L_vd;!i|hU-0Q8?-@8-H`lNw*mi*>}HPbW}J`r zV=z5AHeR+S4+XC08``*nM9Uu<>>abw-og2OBqueaZtT>Nb5eDCCxdK{hGNo#G#`+i z6_3)lOzd&z_R(HPLq`|cXRS;s_+Smm;kCg1a0yJxqmYl2;kRVZtu)0aFp ztS@~NNoVUAl|9Vq`B&DNA2p|y}L zX~`K%8ynH)cc2@`;mWDAjw1a#o%>Qm*BnmQ|1{A0u5tE4ENLFk?E5Z|fpo$xTST?l8z`boi0L?0H= zJzd8m&Zi)i^PXo|{;DG$Yr5{fY(A?F&Wm?Gvw(Hp zZ!+TWW=8U`w-aqWL7GqSJR9yu#KqX5Undu?Nggg2roTTlAGkbOmkYTOn`iweQMqt2 z9$J+=+)m7WC#o}M8Zd{K4Qa#9b;oU=2yEV&nq98114kiZZK#cx$4q`z9hF5LvxF?_D<3Y4dcQmTd+{cHUq6bCTS{Yy!*y${Y%Oq2*47Dl zWaUi3rDZSo8X*}P<8Bw=i%$~3t z&Rs^*M+g2UXr^Px_e@|VON!X#&rQU61@O3XUGVq9Go!S%PGqI`UBusLmQgoD$f6MW z%#qkO#44JYs{7=1=UhvXHmsp>qfT^oBHM?W zDNmmdcgBtzvLbf8mua#{AMeSD98X2c2 z#s%LM;|{uoy>ga(^>b5{Q0(05?FwErV00f~&fF2_7Pv;)+y@_LH+F+9H$xIJCQ&(WkI06J^!*vKhy?|oV{ARN)}3+eCFinYZz?m|QiATe z8ozaG*vqcZ!`16(jcR)`9K+nHVVFBGj$^qWoD z7x#g8<$t|Q_T;e6oh&MM&;}a}R~vP^?<;kC#{UA{o?TZpnsoaO@lG|3bt2X;)-U;x zeq)bD*m+iN=hY<$-$dY+iG3{aN5#}bOQK}NDAxxa3xQ!$m+VXp4$ z#rP-R`78M+-)N1Hf0FRk{A?$FR!!PDMyjIDGDWeUB7S$w8OElI+2P}(dk$Y$Tb7T9 zp1;_08_WWS8_!$*dLc_+Yc~&uJKz5XHL4Krc*i)!2h7h-)HeT#;`yZ{@h+~iE+8P(0Bf31hqSyq*X=5@uxg)n=1zPj#y}~fJl@s#X{ZbVBe5RrQmdF`;20uf`7|OiK-m7B9fiW~A zHpa$dfBZOCjL?>``nfcwT8*~2UT4q_Owe#}vo*34QtVx%p*0?#hlc zp=jIhP}}_e+4*HU#=K7RS|rVP1HL-+ugJ^0R^ab%MxM8AW$q?Ih_9+0gr#I)?t zVv}AVx^5<#9+9*Cn~A0`=Y1@uU z^{7R>ZG%(~J8Mw)UNb1l zuZc9zpe<+&T7&ld8RYEAvh^&-*EI9owYRK_iW&k-n3-eI#nx)LW5l&HoL-|w=*Qs? zFWwKHwC!hUT!?86fyOoAtk!>)VexE?S zk_YP7EEzYsj*$(1c>?p!G^Oxd39MoC<6lTG-x<&6UBp!8P+A@26A~lapc&4RXvE&E|&gvc>d?L+D%O}6m^SL-~l(w!fq<6Am5~bsXxi1 z`6GK8HMxQ7-!xA4o~3zyiu{_uN#+B#J%5kJa+K!&a)p&(ROn6&l7}#a)s* zhT9x@qNakCbzV=ul{b~pb6Ol~<%)8(s;*p}dwaQB5rcPEv4VV{I!Q&`d&TXN+AATR z6!ggR?|C3vt6^87&}kJK23`fnz{}-vsL4kM+m>Dk^Lh`B39Pde@zXS~IjKtMXc1Ez zX#S=F3yFN%Wr!<#5b=~^Pq&Hug(j<`HS3Xb)s7qnf$iZ!>|YZ<+sm%ogFR7TPikkT zO^7?7`)!kvt3bamjdx=H^=I1XzP?A#&m%Pq#@+uOZtKWY)Q}yqF+ul_U|Ziv>o<`t zKt7FA%HcJQoTk{CMxL(M={@xOSzu6OP0B<2pG*CRZ-qRjr|AE7dVi}{2gI>f#3O%{ z$aYq|4SABs^MAuW{&Sz26gT{tBiCeM%NOHaLbsC54 zaSf@D>5j&?x4f>~FPWsfqcNy?hod->iIHXYT#wL-r9emtx1cwKz&N?!)x&t zXyb@>wg@^{#$Fbw<62%gsvYNp;+!VmKjA}B!?j{@x$5W-mq0%`j)qI`q48AEvxxh# zYPrbBiN?5^4KWdXKh-UKlcv{o-z2kr;eF(w*A zb4*-Bvs;T1dtH~;W$k@gQQIT0Z=|>gonB%O>puGSdDQu#_4}cT=T%1HK${~zv@s4e z_o8v2P2@v2Yx_*bI8ew3)ao!>6i;XhQ#&kWMp|FFe=jh{$GUK z*2~#-$fsH<>L90j!r`6x&dtEUDj;2rSh6Xk(~yfiUF0^vPM56)M{bY zX!}QKL!4<(=R5~I&~j=+#6Q_-PICNB`$hhQ zwDyw7m==vNrkVn=W@@zB7>HZ0jqG7hZ_h>zSK_@BQv`+%VukxjR!&-w*}kJt_P%h! z$B8!{v!=8@PP}<6CSJHn+c)c` zZzERtQ7u*&HFKH_vBLV^A>xB={F;sLn}LsUKK&arD{0p1YF3z8HDZWGT}|Y^6u36? zx|&&aWB)s>?LS%THfd`IIa$qCOKS`D&rSV<-mFhxrIpkk;zykSi)fHI0u3}gKUcF0 zvMHO_sCxPb@lK2*m2^$5Ava+qx9cuHAMDBjCEXSgoy_M!ej~KeE=dc)$+4B{c*1)Pp zeUDmNJFvaUb|~u2X4R;zv?6Vm6MnAmwV_zy@N;ym@S_%i6%L<-m;BAJsgW}VZ0ZpB^=;b0 zHu=twK0&^k5zD$fQN)qv_lx}N2J!`wZ-H2I^J0O2jhIr56ZVMtM#;nbu!wkKvG$$C zk}7bASuyPW4-!P48fw1&_-ElZg|SXXHquzw-pdt_GlkbLi`21tNRHYQN!nhVjvs`1 z!FdsA%Q1w=FV^WByC;SC>SZy$bu!Hp-qqj1xAgi}IBP^*cI03HtEPt5PfY@I15bg+ zoS2vzh-am}R^*yw`5(D|u&qeb;l^55N4PEQ;yT=_)#!#j{L@ICt1SOA>IY;X_ z+=vy*((+$H3*^?LHhc~FCQWbuAec%1(^C@1vf#AGe#g_Wjfmz=N5cXO{flskPWKnd zJ`+AqwtvN|gKf{C1}pLBEoA#Wy8?0D<~m^Veicq!_-%>&TZyij=$=f^#L=^~&ekUQ z1~*Dx^PHv9lt(PWq<3i-2G#5+WbGH0qw`{idC9+U0Y_oy2?_E|~6Fg!k9!G9H*|y6B zEx2t+{9M{S3%UB26q|^~u=m+`OM4t^e8LMl^1R`K;(}UJJ?b>Kni|!nWxE>IBTqe^ zRd1T4s7FO^mj9QM*tb|3r{h-I2437Pak~P(HQLW5J9xSkF|N7(@2wte^W8#xf3NaH z9z9Pwu+;aOs6RK$#;V`=PbKuMmDf=X`IeWf{*~qGj@!!Bj+h+Kj^z^FlhjtyO&zyM z>W|2Gzk%9=pHQ`6MtfBTus4Hl@WWhS46IwbrG{v7BkAS+@@RLDp2uNjr9HE-mu#TL zL@TESa<`E$ThXwqAut#&`5_%5|Fr};7^uBBOHx9T z%#MSn3oEYh9-{Aq*SfXZIeLu#NOObQuk`LqCgMl_e!k?brgwq03Ymm9aE7YW@*oqm z{Fr>;4lNh9;~t5}esyU1w;gw4A0mVM%SQs@TW|0huK658oBTBYw`g48FP(QF&qnGW za%ew28-DlU$ESGbJU7?|eDCZ;<}HxT19byfH{YeT@Euwcb7*bMrZqB))=jyO)(qEC zXK#PqH&V@MuAf|r^OS6IeJRT>;Kx{`3>#`I))Fsvzs2)979fw?xz5#IAlV1T9gw`( zBk1`Z;yLVmkD!O=A6t0-v8Z2U_uoQee$Gbg;w{9zL-*MSpuf9$uCslhmj2#F@4@8nVwGy2c=%7w%3ptBJ|OLD{#MTy*1w4M|mtC7c z@>NRb=Onr7lr1XRf5_FZl5<+k*E-uPueG#4P1nk{OZ&3u-$CqW^FC(zN&f76`<}tJ z58jgYEs?Va&d~p(Xl#`iSb(`FnFlQIKfTo@W$#^LVJBqjk z-5*E9=D|5@JW8No{G^IGcjHm%Pj3+g?z)~_KSZZ+xm z4=yFY;frwRSLxG>)uBH{Jb+quC$;_JSIlf@4Qie(6Z)!VvN)IAj=hQHjSU?M!Qc3x z7yH(}S4cWwL&DJd>0^H*>TyCwFS82UOUvEib?BF2@59Q5T;EUEYcdtj(q!z1X1nhv zI^Q1`t!WQD7t|pSYW2^h+BHGr`#tnN?t3`BrUm;TFEKE$XXAw`K#$gN1W&cEmnjWP!Rabig*{lTn#KG|_^ajzc{l-SM zHjyo;;rqmSe4iNlap*qrjIM+7440@?PUD?IzVD~uwnxX!a&CI{JH9|3Q@7C^Y`YNe zt03Nbn%30Osj^SUf`% z`!k31N5gcc8qdp)6^IzrNip@!f1f1w5>CrWE@R!=B*VV-(=zKERwvyWQzt!XcjRT~cHZ9PP9JxzP5P^WmNPeD)`@C*iL^X2WN(XgfyUpaEw4oj<`6v};)@k%hx)Y;*$&z~q+oq4;m&E1) z)x{g~fDFFLbQ-HGrZ0LutpB9`fL^b~u~M7?p$@3y@1hRqzn~6i9LG7->VOt-yJGBT zq7LY;62|L*E*rzD5181yq7JCtKjRfq2ec-assBbi=zvc{Yt8|mCZCm_rFQ)`yO%%FoJq zZoa-ga$LOrYKoCIIlS$3YCCpJn`7F0A$f!`8F*oPvhllOOc(xiq3t*H-Samzs?DSW znz#oAKU3?lu+j>?&zQ~6YM$vjQ z0{;{1cn33_QJaRIQHy=h96xHcIkdee2R}p3;b+L}XxvNBi!$0i}_HNqJCx<{@DSo{?uWPp_Jn~D>L

    QWJNM|^R-@Mms*|LvCthpoj}TIuyqjr~K67O!cm#r$GT9-`l| z@mV<|_H#zp2C}KhkK4JFXxZC+q3vms(}4md)I{?eK-@(!Y&v?+SVMu=jK7xb$7{%r zoJ;m(71@=QWW!hZ$j;=x{atqswuNWMlg*hz_eRq*sq}0by<;bvGo5Vuc<;fPEVP*H z&YCRYi^KMW&3QlR=pRvkg4Ew!vLk7|FR0)$B-d(2yaBCaHpGsc-i2p#Vqz2UY-N1x zv!1Syn}vQdZjP^+?6$yM7E)0UZl6@&_hY64f3^v=B@$Rk6UmG+`qu6TAKcPJ-@*0n z3|8tV8fVZqGc}vCLX%ym(!{<(ft0~zm)KLt;IgY*!$NERcYQA+!|(o-*3t{Cvo?O{ z_w@LOjMQ)Ny`M+FH=e%NNZ-4SzSpGHcO-wmx=E8OO(a*=Qr}NQ-U>WU)K;teeK1^& z+;PM?!Dr&Q?Dfp+l9Yx|OxC*Ruy-8~n=Pl#sbTfwZ(PsU&f)O8kkK6z;c!+X$-Jdz4L^=#UJJ>*R+4#5F*2`-WL}GQ7SKd8 zuQ8GB#F$AhtEgM?A|H3Ai`LmbvMWxkFu}hlbCHZpyG*j}J%Y0z@-O@uqgr1)!Mw?1 znfF)H57xXCKWEJ*3)}ZO*^i?W*n&Uqp6UDp`P!F-!<}R+m)f-0q<%TcZ!=q3&5~tr zC1@KzYYona5O25gJFKgTp6|_K5jmC@&z|fpAe)Ko73_0&-$Ht56f5bzf%I29D}6ss zT&vNpIsT269-wPYnhbB^GCbdZ^3Y)0F64z$ALv`5Z~@Nunfeo2=Sxij4+=73RVU5Q zkI4?BbpSjkR>(r<>f(LdiC*EW$v;V9+^=oY;v8zpPst?y8Bc9}2wYSt*H%M5OFyl{ zfOd9th~8VG$=Uu9YF76dq)nn?aZ_L4tk%S`6PkWw-C<)ix@N^-5lcBN7{K*^XtHtqIG|xL3>>%+u11^Z z$=86MJ4HNni0qyfzaP!tf0JzfhsJ^5(*5V;>8?G04!3n&O1wh0#etY-$Bk7&Z_)i| zyLqmMdIf(1_X<3U_{gR-;DqJ7D#)){N&NUd@+*HtJUBo+xG7Un`-l&(r?J%$FK&}q zy(xZEE^=^==12L_q2boR#|RjF3}a5^0lwdo@7gd~=*r$1G>+e1XxmV%gtn2M)USO^ z*S3+qe1Q7WLHc(V$*xKp@sypV_TSFbmD7RInmz4#Ij4(cV(`t`Il;gRlc(=7(&0O3 zjV+?}`L;C}p#GoM{G$J&wRNzSiI{tulRoMHALjaK z6!#gAOk^R@rD@&8>C*R@qUv<95RG_0>6(!~?@}Lo>03{&oaKD>L6Z}7Ik>_U;s3yR znnR+|Q!7o*|0_B@7DK1UhSTX+8lBD(ub;kJQ87Ug9pA6Ueucsa@cSiCl&( zp6{}d+Q51{PirF(!QRZ|*qeP?zHT?I!vQ(JxaU$AmlH*roam=H)a8WhD08M6#vt~| z#U7Q1+CV=F{}%52f_yd3dm6SZ@bmD@x3#fijT*-r%Ui+^7&_j96GP)Jh5etU?RSel zWYhOiXQU}}SA#QSSAz}th=`r}t%$4amo2U$lB?Er;y15@Ozj~C&&8iH(=%ol&IO$7 z#Qp^0JP_9dJI5-scO8;>Zj}`0t>~$lW|b^9_&KDj-gVM7XHVTUmt?lJWU_`OA4&D) z0s}DAO#KN`AI;P!?)O+ow$n4XHW&6K(IOb(v24EPK@W?DyJ80JicRFi8)bMYa>Rce z%@M~w(V-tl=l-C^V}JUCpnEWe?(f9VU0_%ZrF(yCG-uRG^KaJVU+mnf)J7k*5#=vS z1^&k$gxok6p;KOjPPH1HYW_(&HEDD@XQ0#RtJ(h@ ztxk+YE5WCCjzFt`8#M|Xu6In|kYepvvstrU41B}a{|I9~8Y5ru?UB|>pMkEH0|whD zhOSNT2pMD1F~1R4OY73rP}J2MbEeQAbEfcnTZ}yvQ~PPR%}8ru3#~$X+PMz-awP|{ zVE>r?$I0i((avrH+SyHDBn&r+l^o0x*KvMxXtfy6UivQ9-ar=hpE0*yZw@$ymyKy$ zXw}Y5FjkD~`Pnyj9s1SK`2E=N9f=)ZOszA%-=~ccd-A1*vEj_>ia2p*MLrrZQMe7( zgm^TWl{Uf#BVX~?H14c#IPRfmR-kLXe>1fST7MjKPL!{Y7rCMuevEGSSjcWe-U!Ei z{|cMr8q@Ic=f&UvmYeiB)^kBJTql38>8&EMH%T_32vOc3#W zuwMeQ#c!FQgitdO^=3_yu!}D_9d6rjsfL9;1Ni-{_@%e#`>=V)Crx*TJYS_7oy8LhD96#4cr&h=U@=cCtc=y+)i}=|VL;UPGlASZPGnMjm z9XCg;13zd)x&U~?mTDnuux~S2M8I`EU!voo#2Mzn@za?)*RWdl%|_%VPhoXL-50XJxs%_qKAiJ0|w8 zd$~mS#C}ZoZIU{c)=3`q9q+TaZ~lIr_P!#E`1)=wPOh8R3D4wb9+!SH*w#oiK|k5G z;m%s#Z?VU^Z;k zm-8jx;98S!a3k}ck|qE4OR+bOI5_6t&h!`-yX#aq+_p<%o&4Ne0 zuHAy?2G`E=Nwu}~&2rzV#M#06XV8ZNeqF!D=jv;6G^4R0%pb^Np#wG+nm$$u{e;?H zOtPxumU4BqjiuHm+ih;*w*${JZwC{xkl33$O>M40{EDFtoiQG90^NI+<}ou)#H)Uj z7*OnAAqMmY;+>v9Ol^fd$LkYsVBYRz*03jyHS{F2P)Aj{XV>%k-dUFaeJcy?K`cNT z^L#-xU!Tb8k-u^s`e%rl1fTxwZ=!Zx=3uxJW5IqJjg{}G;rs;qX&pC2_tQESN}Lw_ z8@EX6eTi%*zF(9`Hm4R7^xi|vOA0T9xT&n#9|ij|72t}y%~F1=*`qWZu!&eC6RqVR z(HvuM@FvDOyLj#c-J^BYYhpWpOno=s%hIqX(S-aQ+M(3@Z zKX#hq$j=`8(84UUz}iP`QFENwe-QCQS^j~iMLUQS4b%5T->wL*dB79I-#xG?(7$Dh z=UL)QN3Ca?ht~qg8Q2{PR|gZt`4BMPARpk@f!Dt-N8z*EQ77Q5F=YOp$kaoLk`MjM zu)zmN@Sl_8UFYRE7tWad+)g(6LpKaP`@vare+pBbvN&%(Z{ue>ku#w4vd5K|BjO=` zW60Oh<7DUdmbnHWF>C}E(ucc%6@BHgv z+t_)mbCro~A(MV~mlv^xoO?x%&#W!8ocGcgpAxl(h1?;2#yDPyjKdx|JFL;hQJWC8 zQHGpv?u*$kwCU%Y>8??G5m&}s#@L$Enw`=S$2zt47odGd94p<$V{0<~O?889m+*5B zyKA);Ut`hYYlh*KN(Q{rNPJDEe>t^{SO(M;>c|y!g*xW2(y>IJ4-EE;L#q>fjg}jM zyp`ovfg!Bh{eFYp4?86`o&f=zG_~?o|2fCUr>J_e>!4peZRrh*Kw&kMzHsjjt=z?qd3JGk^PFz zdpItM$Z1B*2I7f{_UBTR(DE#S7yD10@1OXp^Zk6+9eYHMFxkQ$vy&~Lcj~**o{1fI zZb;===VxrlcNci)*r%+fer>dmkbhtq+CZ=|swn!-ve@WrTdtbbkK(OS09I zX-y}u7xid!Rn(YgGZZD8-YaP#=)>xbgtjkb+$Oxj`+A)f1KrfGI41B^{|+|Q6uo)JJH$;JZ^H7E<^0R?!uEj(YVRlWLC1?#V#K^ zTE|PZ^ID>>xGuEWXbd}2Sm|PEX#encI`)TWL}OL4MlKd#Gh!b%kK9M}Z&goJ&OKxw zTKjB>OivbjIYVUnzLBtsh5Q7cTuvkoLj3H>YnOm{8(`j81 z9ZN5fhR3wNHv)#_+*~7uBy_I8Hhj28%(pF{)(+_{tes7?cB&+cEoIrL_M^0Rj?vor zoYu}u$S*Ki_}VEji9GNVw02Ud|EV;lncCVZrnQr5OKnY~etw(Q4ls@G=4)s4fK6LF zw&kPR@20i$F0GxVw03sU+Ce|==IdlMUpucev3Bm@*OK_!d6kJ8g1!Gp4MCHrA^4n$ zbt2~8QbaNxXB)^K(b-1S1Z^Y+1T z1T*n;W^|sLGQ~XiWW>&MX5H9JhR^fQs1NcKU_()#iUf9x-cOnOxbdeZC)a-@Ct`Kq zQE9mD8%gik4LZt7{*B0sfL)Nz@s*pqg&v6Frl$*B(Glfo`u{U|Iuf?3E{m|fFJ_nM z^+<-SYt5!#PVYT$VWlgWj@up0jlG)a!0($y9nJOAhvS!~Yxt$$-+{vdzx3Y20>2b8 zmOn$ZUIhHoPs7zs8h&Y0E>rQ&+)u-$-)IaPhH0#9((R2*nnxaYoK;X9l}iP#Od7*| zrYJuGyL4o^lUeti`K#qlCdnPp!z2%nuZ->Qi1C#oelcHcsyD|YYZ zOP;I5{J==SK2Ar1qB^9dWi{+^cgHN|#hzkE8tT+5p$v)sg~Pmt>Akbak3n9OR8qHr z#*KUgvs-Ss6&AY&z`HPyd2O>$SH?3d4#k?#dPa;3>mm9N#&02lfjtW+a zy}KsEevr`y#d-5nB-2l8`OE)EUDz8W);Y;ETxMVX;b7Y@H{KM)e$K0N*iOvhN0}L| z>{E8v$GI7;eP675uj7G&snC&2W%eTM@{d=#g3rp9R@l>38<=+$@%~xv3*~FI*0cS~ zZWZ4(Y5BO0Un#`T`NajhS-s`*=G<;-!&1l^w$gj>4=d$uw^(jw9=Dt1=zK*zJDY_< zizOd$u*_GEUIaQHN4y*L@0|Hz9|%X$8Di-6Nc-#fAHJ=A3nOkttGKIRRKXQ5xoIYHmsIbDC5poE^jjO}b( zyvy^ZoEwC%_ayv1sidW;h;>T9Tx97j4*J_n`muTZu7(D>7MawO2AbY%}YX$`;^{jruK1-A2Dr#~~owT)_G&`Yq&$xegdiMeD@hR!PK` zB5uOG4lz9z9#eohhTN>&?c8gX+2e>QsI0A><{-U{_3K!N{8ww_UPWyUzxPDZt_Cah zWr>tlS9z7P#ZTXw%iB$>JBSXbNj&#=0xPE~ zkyU>on_YN@g~MeBX0p(3;`O)dm4;7mRMcN=l=k(?$^L`)GZp76hlwA~kxV%y=eR=h zXxAAz*L7A-B{`7h|HZf2lLzlt)B`h7Qx*3!T&J|T`sJHzd|$x+=g()kFz=RpW)H|| zuD-OOJ1|=bS#btVzwbz6)qSWJm#=JbHq@-CC7Z96Z04$Uw!8s)uIJ2~3#*d$<}N8D zo+TQMBb#Ok>MkabjTKMNh1S1E_fG66EVBI+I6xThgJQg()xvl|lg2aQvi~Bv=GgAo zYatpVe#1dDPLtAX{Ql{1*&B49Z1OFLX&w5El|QreRJiOFdIs$-k>cv#Ci>SAzbqM? zd7^GRt>M8r?=?{$mXxy-M`Wx2kaoXiu>8Gk>)44pC-k({UqjElV4``pC{JvXCV5*L zR<2n|Z8*#6--cNW_8unxl-AM?_U*Dg<+~aN=K9L?oofLs9)$)(?$BTN{C%mF1PTewwe!2FIGJ ztC+or^QMhs^i}*8{BGlMHUZhogjs2CHb>cVH32=#l`B$+{ya&Id2EH|} z5wDxKJBQ2ztq-wQXq>oi-d?;nde3G>p}_n(wg{HsXjZX^F1vA?Ts zQ9PR@R<-F8X5VB9mI(~D%sSLN+;`AhMKS~H1Z(3s>B8*sN@&`L;ZDS3@b$iZdfo5iX?y&Q0llU<3d5zWxcj8f^3re}flOc0aZi zF~^l;gPf*0a0AyqiDb#L6fg4n2jndOs7I6_*@64WzYc9GS3H-MkD2yPyueS}RBCPC zbgiOZwmYxOxlHozxDf6{AG=9Tn&WfGE|06<4cxu?@Znin4Sm0RQ1LiSth9#O`!sjV_um?f$W@Y$H%(zrLcew=iF}2E4P)zoJ3u~2arYqeKpt<1Cp&@KswG`k z6F1G>bCh^05jYU6evgxdR)Ih1nmdk_)N1Wbpmux?)CF1UZW)WcA**#}YFs^|HFrqP zC^q&1`ms#w2ikKm(U0xCAFQ}rk~|&6*WJ_>AG1_Z2COa@6ZlEX_?dD+aS!#k!c^g| z8Lu=5zcJI_{W5EK<6j1mR~|WEEsw|f>UE^^=aa2Ak8HMU$#%PjY|yzrvgNo9dS)$J2)X}KM>C@_W-EHVbHm0t2EcOyTkce?l4 zpAEJh*jVm+g8GSik>(5~1pNQ|mJPOrH^R0YMg2>nekN0YQ>fo$SFTO<4N_nA{GL;C z9O*-m-vdk>UbFXdR{gziksU(z#Z8yjxF=lha37k;)SF*YJn6v0A%EWTak-kAn4i`+ zo~ied4Rx0Kigmb#UFU9|sx&l*$yXvW&anbjXNNZ zDL#@|Q2gTl8Qwqq#|&@ZBFS5|`tM&nl-ioRJ9YEcUi#fPQTE|%vwwD6Fx<`>4$dZ> zPUAz}c*hcRyE%vBFYVNSn+nT4yAcEM<(1yvpE57I>p~m$nIiX-H2NKx!S4s}yb$@8 zDOCwQPxdmupMC|uf1K`{pCg||He1QJC<&UBGII(`1Ew5u#&Ml&qLPEu=B%+}y>A=Z z!hCG86TNbP0qH2Kd6Z+&q=Cl3M%bFg%FfVxXL3`$$PdWQx~}Y@Jib>h`gq+{ybpgw z9}CEq&t#pzNcx2+RtrME!Ny~iyzZH1isGhIJZe1#X| z|Ku%Jzng57x9Hle#w)$g==Wc}!W$^6a9S>bY_rxq1eruM?xXfb{j6nSznoXRx36j8 zDwppbvg2ByofCSbJX`X8qd?j6HhHs z8lGmXwCSe`(IG#rDTU-2+O~+cfs>=RZH;?mp{v%hCYyX^MQ`T~K@akwipNqrHzl%? zQ&~*?GKGcyhwi^m|4?T+G^3#S$=^OZzd~-EsMQ@4~h1- zY_WT{kZ*!>G5US{maLgxJN<@#-Y3p+wg9WbNiubMZB1}B`Hj5K8KTd#4DJR6^&4pg)%izJhd&UtD^7pz#+ha5yHur~j_RS_4SL>XHI$Jd~hXHrF$B{T1_O#lY zCF)W4;!OA^_^Ygh*YYMEfgGtkem-vTr`HU&AuiqAB`}trM=snd4a04fq(aV{-%wE3 zd#8o`W$V&%)mBrkj=Hs6wYHgHq)p&%TkH%Nhcc}H@SI^kfBu3P*MU3{3pb9Q>sm_pX>4X`OmV<1dCnkzGdWss zO~;6ft+jSd`tTYus2^i7)~>x??8zKVnd8*sk`TA`$lIcxsvess&J42rmRqASYF}Aj z)exf=jY-P#fBLqFN&2%PCdr6pP%|tKbph#{>qzg+C;c;z^w71WC$I65UgCQ4oh8sw ziKL^l>0S;!lS|L$(L4F1qb?yGmFRtbV_NVU(o;KF4o zu!GF452-I5E9W-PzLnPY%~mD!7|~$zJaOhWgT{B@6`SwadrUnsmxYSB-BsYXPPKaH zHq>^lmy+vtq2`N*jRcGm?4|0s#pc4Et-g&5gAU2jf z!TVXLXBb|$yUR@N^~rA6{VUAv=WeGqo|kz}Qs4iP)xc^cltSxtYKdn5_MeZv#(2k8S%V zcmjxR1D?QhvcP)9`@8;u_lvam8|i(l!I5wS?s{K8w-EHXWJMIOAb3B?jL*ZJs0}yL zyGvu^9j+u+ z(oExRDiE<>u+>XxEE4IHpV0W9r}2Nf7&XE(T;C@f9(gLD#Yv*~PnNNg0y(2jStjZP z@N>kaMjZ75SBtT>-jb2`^K~3`)Yc4dflTR%so86_Th=c96@^iMjmU&F=C!Ys2mnvu(x4Ih0YM| z&eD9XH7RPDOtvFEXSWfJX?~@K9|j8{!>&_2|6#12&W%V~=@yg}x8W+as$HcV6LcnpETFZQbc`_Y+@qz=nM} z#|s^Au3b3|W2jwjX?L7T_8cTSkJ~M)Bp*VEb!t=<)v4xqF|UPqmS}OudRi-`QCkkU zzlhszQJE^C7N&l#wnNx(WSe+!wst~h>2GLul^*wBinxE0#Rc_b`;iRqr}n}BHJ6&( zt<(?aDaEtL+_(^XDLuBvG-ql{u7&!E7<~(^jldEmbYC_ru@HZAdx5@T-k$6Yket)M zWAB-*hKRq<%UQ)i^2N>NDc%6B6SUh$yikU{{7aBumFd4Bk?qT9xGy-foYjv)E-5{; z=RxHO*Z4iT#Cr{ulEqp{Hu?|AuD}_G|5ByF8aLX#gVsr%q^PYlmpf=~>rxdD>C>_u zB&%N-L%&Iuwo0~^9pq~)kuvYuk=v+#D@S=?l>BUNi)5wmu!g--(CsHbu8REg>vL?a z{#z6e&ZQA=d&EuXJC}!RLW2&m*7boWyq40E3%+9xM4gHu8DQZ^U45lh0$V5m-ZJ@_A-RqTY?s$H7@_ z<$Hr|=g9W{D4y*!aXFF4&)Ay3KiJk0M|=eQ^_h^7dH$N)Swlk+Q$PG&nEN2Lq+dP)YP2-8RT$oVME=7d}5;-Ul6GwvaBfu~09~)0-RZ!8hgfuG*W! zZA;0&SFp#k1G!IP&&(`k+RT?RHLzHV%O)P%^h~&Iz4kty`&;LQHk$wXO?}~N=s4)! z6q?V+NU!xw67do(rpAS~1=jXe*Iq+9+e8|!=pV|@O*&c0R# zTBm|Xo6BhaSBN?sMSsI(-S`q}>nR zn<`o7){=kcSm$UrACSCD?`1nJw2qw*kUXY!+%t`p{%I6TuROZTgE_#NaVz;+J^!IJ z%#@Pqj<;>g4UK1^iUda)`dDDfuFHDp>0D349YG(B``B+1eCC9)Wtg{={k6fqt7#n9 z5`UU3b!Xmc&JE0GWyj|-_46VYg1z2PvLCzwUeIlKjB_RN#q3U5J-Zs`({}%&eaYU6 z6yg&@?V?Flth&lQ)Luc1E^L;H*P}MeBt!kpYsfCcSvkgFK0C#Y{E9R3Xjh+{=XkDu8N6OV*v=$&Mu-@BSd2WO&z|Z8fiu*}_ z)sfEGA&+*yKssj=|9SeXBFw3IMO-S zO3k@DB%7;_bj~W$IdutKUxilZjB2eTorCzeRkSwiNaw5~9f1C=CY{r5QaJCLpJDr+ zqdwwq@UWf(Dr}rg*O)giv~|vBou~~qJ-u<^A5GCZ*}DHUUXI2UVQBm!iHR3((PZA91;gWo(XKIGSdR@G5-&`BHEH`zuycJ|!)@GV(QFkb(F^uX0M~w~ zVehB2>H+!La>3{3NtX8Wq_6MWAn}@XdBoeOLwpi@AjBt@_=2=PGwE^S zhZYHSdo3-sBpX(Tn5P^z1o6-*S3$^xvyeelnUdWicc={#@jSX;Oa zdl2ybYLO#KbD7%Sc76Bsx_JFxWU?f-*qjgtMqseF^LiQmh3bfMW zpdO_;1kcB|{|9P6h<&@&*n=ip19b&dh1awNFW@?AeHO^5_4#zJvsB2r$_dkXE(GYo z_b7?)K~K=pL$VV%TxU#@chl)`^$&^WZ<<(rl7&@c4sIUZxbOk`H-r4IETVY_t;_6k z<^^_Zz(w?xa;%k!ti+LcQ(0gP_2oSwPqves!@dF5JMi^UZyone60M)3Z@l`^RA0et z8vANH;mY`+{U z+3}^@WOgE-J-Zd(oI&q3UI=%7O#WTdT*cF58tvX7i}qmC%v(IzR%2B{pzC&SiwN3w zY)lW{Pqa1j7$WA!yA>C*$`I!nsKOaWL0U&JTtYq{rxW6kFt*b~pWhG-Wr<_zmVht% zHTjD*&S`%$`4un9JSXB}>s^<%v1>lb;J={;4*9B`8HRij@QO^l^8ZKOq3-*{T0?Bm zd$UB{p;{Wdlg8ddyj4rE^m1()37JA3=hzVmn8K`JMs! z;I6@BPc=Oo&Ev}D&*#(g$H=CtcwJFfm=yK@WA4r4qb%>e;p?8sGD||pz5zp^%FG0` zge*kF+yR#?xDa9$umz;8Nd}j=R7Q#kT5Cvf8KsSiZJ<3pCo_oEnkXZ-fS&dVpgmHm zU7sV-_M9xBA|f+LGVk|$UH4=Yt$m;Kyr1`vd@}cTt-tHHFT}aW4E)fr-mz>mXqPi+ z4mL0z7V`J;1$YiV(Ncf&e3=gWPvsBfscg$mri4XGi@Q2mFp}_acaRz%>W5v5` zeZ~2qmkzL|F0P&F78xg60lwu!jD@^r=Z#4|&YSkXgXqU&7AaNegEeyp&X?!bCEq!Kdthqi^M1gHltWnS7qI*k@T_~T z?p^S8$S2hzoR_TZef{7ipXOOI+3Xh0Y7d)j0s3(vjWd7 zXRNLMSUUEcxf3?8ED!oMm3z?X5=ED4s)oIF%~1Pxr|9AtV|@M5>qPi4zFp}QMaL;$ z?J;bKx!^tbLIyowbR9EW0_02oncS6xhoj&JfoDhRU3Nbg>EgU!FpcUGqvx5m40w(= z&K6s#H^my2mO;*9z9-6Bwm$)8A!~6DRzcQc9(&s+;iK=7Etxtw`4?OTm{@{m4Zs7d zc8EsiN?rA&Xrv!Z)dmM-F-OgcABkk@7I?klNs&xkQfA0>R`gS5^iyW^V=?-%B#+_G z*-wo0@fqQ{cbiii zytgK4G#}c#GH%P^KL3^B_9zeAD{*AH`!wiZR1X}LsiL`iqB2!fUrL$kBESsgsrkUc zMTR_87OUzm(`Q#7Vy=Kp)&!!Tvw?@x-SMv|ov@_U{~8(50aN!|Zv*fA{IvOV<+m2l zr`!PP)Z*1c?S)p6){QeMbGwf5PazC-XJ8*9k?#A7nfoj;PyzhbQanmOfBGxk%e8#h zprI4$-BO3$U)!g2R?*O}o+Dq^B_E{d1<+`j~+R%=hGXk!AMK^Og$hb{S$o$&=jiN|csc*6b*x!XW49Wif+l(^` zIofK-&cGRmtIxAmXCn31J*KZE_AnAenZt^F7uX_GXKFFC;6_&+^7ey z*rRx(s=JgPhkHvs4rQ0hl2IK_)t=AlaI(h8E^(4y$O$MoReSPvtUGlK%l3@M#Is%M z7{Az8o@LvV zp8+53p-iUY)5%K>n5VeED?-J*Px-8(MAz zJ0KUbUiRtu+ycsuq$&J{JbmSun$%pkuW0G^H;i>24==^rG7Wr?_138VyUCR9*#UWg z`>SdtMAtao{U0w6x69|?^P0@r(pQZ7Jl3B-i}4g&nrrAMNF6xupSn&D{{g=p4`_|$ zIij}7rZpbT2Cqq9?nx@A&{|v{B8^+S&+E(%74v>H=i25hQTy+d^JGp|W#=WXpgn~4 zsx0q@P~RTvSF!@>TCSZo;J?liTUA}ubkBC+r~U_3j4AnEu19~Yste4qu{Ll^qNt^A zq=CF>=4fr;_wnvtZIVY%5aa3t=Nt8bSsQqOHNb7wHaB?E6{PEi-Y!}jGbMdOI8W+XQ}fCTJmV#x-9Teo>$>H{h!xjK4W-x7;zZXA4IAbYzhAo}(ms#AY*R!EWWhqhV+;ALDWtbrV?X#R!o5YLy19OJF|0v5 z-LBRWu#2%b#c7TE@E`q_TCtAIJ3#oNY?)=pSjOHr);FrRxBLaqu)bwWMPuE6M`~M4 z;!Vr`Wcon_D!l&P7R@H}H8f39d|*?CCV2p!?-v^u%;(<*Be%>Nd{4i3>UEjphBnks z7N}fdXCQ~%Wf5JwO&M+LHN~gD`ZdL;Q#Vdty;)QGaKGW(*N1b#wrGEv*w$Bt;^DKt zG1NYb@wEp1Uj!a18+0-ltvCB6Y+a1oh|zr7 zqxV_Am9p$9>MHp>qVmKyv4$1oD?Voq=6?KlY8H1Ga?}R;r7mV(I+^=W;wqlYD2~d} zGVH7ibfXKh2F`3ttSIh_)~7d%!XC5u&;q)|I-yUI=1j<=%ri6-ZLmJoKcgp+d15iH zKHv`LbkV&Bd>GpuIdDrKaLdH?V2z@2dG=yHyAG_)L>dr{q2(ITrK7@*zk>fClPy(J+DXls$|6j0~?NT{c`H-Lnj-)GoLsyeS4(+aRdL6KXN4EyICDM#5eu?58OtY33$d) z6~zUN;f_-@Ac_+^W5?sf>5w-n&VdV8*drg#Y8uG)k#JcL=9 zzNT62Q5+oxzd?Nt*L9!4&G-DufGm?{dN34K6SjTek^;utUh?2lGO)em8^a%Wc9)2qq6$o@=;m+ z5yj*w5Oc5e)R8_drT&`jOviWB(>K{gUGX0k5-`A8c<}zkU`7hEC~Owz9#s znnaP;Z1`gDF?_Kxj=!8MA4uHTd?4&IN9KZR-mTgiSZCyYFlVW}4@=LL_aW`avfJv0N zwA40tCH`#%cXl=a|LZNg`X^=K2gmq#xBW8GPWv5o zskEcgUvclN&OzE@^09x^ZCxKDx}v^EJ%;ZQ^WFX_M(Mu3$Oq|7ypsUFY~7Qht3~^A zeA%HVln>G~Pk=U>)HpwQX1JYu)=M5UQ>~S!lJq_|&}SFnKC{yuVQr2Q{9XpW{0`lF z>Q+6xxxnmWU0jQnkwSm`&5#di|7GpN{snj!d{{5|rLRceekFg8_<3QkWiHtBW{>1( zrTnb{j+E@pz05NFj*|l&*v}J&Z}KPShl;<$`j2@D+cE&x6@YQt^*gy%_&#gQy&s+z zD)x-g5x>B^U%=_s?A$i@RLXCu9`fF{z?2ZtlI6aB-fE3_6WSuAP;x15)=tv+c~7E2vdJAtu2FQNa_ zScAR^ddkxodiZYe$e~~9Ue;CC3?Gsn`*%I&0pv#0d&X0Aiw}_&Laj&&T z4_4C$w?@zxAo!L2t9Fy_yCLJR(qcTM`DNIDj*;tB5s4H{tlL37743D@PikuX<=z*So@#{e$Jr)c;Q2_=DCdrz2dm**drZ=z*&}%& z?fsF$SMSvy&&wM<6a4#|Br z@vNrK_Z)EsW8o+&Q}}ITWco31G{ewyjMV?YxMfbvI6WMN@r%tlZAISj`p<{+RqLDb ziah(mkm{WbdD~Rok&keXd0NZNS%c-kxx`zetp z?$6dAm}5GZ|EwFZ?-(~{85_5Flm>G>S7@S${QJ9)T;Wo=mXz-Q74*Y)_|8SxV*~$> zMUd8Iu#PgHEE2WD(UivhL7r_=;!@& z_-iqD1?}|*m)gG2XRGZTK3nunB_5?uQx*Dp;__G**JGlbJaPY`c)s60X8+b2`?qX# z|Bha*hi}0C(XZuQJb!Q5_*xa!*h9Ya3il82dVsZT))e@t|K@%kG<>wFSMQL1PfzDW z{hh2Kz0`87T;?I5FTU+(^k?bFp`U!Ku#}ty9VA~t*x~OzpgC5^Im{PQrr8EbUq~lu zgY6g2;);hx=@D}Z@LTFk2k?LDA0zFo>(!Fk98~%<%izv^k=p*7RC}}!IM-OV+5WD9 zFVw>U`llNASij5qq&fI0H1 zyYn2!7`yYYhNUb!J9oS+n?DP(>@SB)^5c~(>xC?vzj9QT&0h&w_LX5N%X%Tp9z7Mw zq--bU7tC)Z=+yqlBel%$%5|y81q@NA|9GT`v2-WNYlDWgtkS*A*UP$|`(m(`ixr;h z1MXw2O@%gX9{76afTkmf7UXY zV7HR7!gz;zBxS$K4BXSDU`X-;@!$o(FMh|Wa(nT6&f~p#dN_xAMBudrn#KN){YP`Z zl%LOE{)hcX6^)g)F}Le0Vr$P;I_EU1bLdEqoBpwmGMe^wa!Prsr6%!15D`yuTHsr7fw|NT?{cXXitr}iM~ zK%G(tnte_kXo{f&WzLeQ4m5Fs4%BMcQTrz7K44iDv{Q@0e?*C^xz>VUwI>7aYA3{|3mtpAsxc5JN zJ<`2v7(5A{cPtQd*CdSU2(!oP2t$#gZ_@^No8k8(?Qf(0Oh5j$stfY=kA}MlbNgm6 zC(V=sEl>FBriqlE8Nzks>Y?@~8+d)%Z*G!tjsf}%pEX+pMZKDg{p^FRR=LKyZQjz! zzD&SU2yN7T|FZdPi?&G1@~mxab069|9VZTVzpD8%Ba!aYYp?Pjmt)Begi~1)V@iOs z9eK!;z#)JBIFdQ`Iq$uNdlO^s)?psUFpp<$iWo6>2{PvH6#nnLnz@gr6)=wteN8(} zqSXIw;SIP&aQ7q;w#2ip2xQ-w?YGOZYF1lkoCu!Utzzo^Tw$9*hPR1vjl%u_avO3iAg zzAb8RAs<9~NqYqOq9_ifZDR*>=-sdU4Wl@8tX+frlcck>Z2fnG0@mWP?HR4bHGp}!hlGo<&{2ItU!1dKE_GM9 z$LGvvwEa9$n*o036V_sxpeuYk1AB_I`qr;>@7_4k*c+#Gg?$O1jW_$281H`{zUEYwE2%Hlh!dVFiVltFInzDB3WeM>9VfpxEKh~xlF)i7=50J&n-BxU-#BCA2H7BA@E!_?;Yz&3)gw; z)^`~G>!d~W8DU-@#(pv$$GlLae$$lMW=jAZ?jG+q#rQ0D?AX|>>}@$?_A+Knyj}FX z(O>O+WB&+S%;UA^5|Pqm${id$6RC~r^oSQ2mlx$fqH^`PnuSR!fA~1RS)Tbn7<}>? zBOmu4SSLHG6UlPNJwHaCOZ@WZ{3jUa*mGWwc5aw(&U1}({x#{3lN%_6Tz&>L>g71m zz0|M=QMX|=kGBUA)+g5QV$PZuUW?|eQL!&;mX7A>4;k?gQCcbEc4rKCr=5so=DY%V z)FiqpzHEHEP_`w~oE4hrK7T@tJMS}A{E^qxeEw{v4^NJfM>;p~A6E{w*WJ6%%iO*d zW)XA)-XJ@jcu!-#C`o?;^zF^}cCH^3p_i)d_BO&>9sOW6+hDc9gDM!b4KgxCIM zwL;3QGcfmKv`=Er%t=EYgnqb$J^x(mwqt;=L-yvBDyyh*Xlb|4-fs>jluuq}Nfaqn zT3e3$)TGkc;Yp>=lHsCg%w*?zmTmM~vkpxveF5u6Tx%&&@+9+%MtMu{%_DW5R2|MN zX=84RD1MB4&)S>Rbu{DNJ4=Sz&))j7|IAIAKeWo^|KvKe|KqD;{6iaJ{X>g2-$}C; zU_H7Q5=2+sfL>}bsXQy+xiQIifO-YsWY^D_pCPMw|9z`u4wZMW!5ZUT$_G}^*u5s} z;M+H9zBa7Y>iaa`!aT9{uJge^SVR~0=h45K#dDd>Ej6KdQLtjB@cjkXPrp~}>ztv7 zgEKT=-T5NC19ZMjWDgSOvyTJlqZ9bhs%6?XLxyTGUsLSAU5Csp3SUgo!!NSN9dq$o zW&OCq)k&AiSn-N0XwxWryJDuI?fgwU|K?eGxGEQGy?^>4t|yXikVlw6S#`CF*&Ax!I*ZWsNXyAn|h6k+|hpa-Y!b_ric+A_24uS-n&A0 zci$+yd%^E*#W!4+YeSKddKW_*F2jCYihWs({aJ*4D)*ng^*5cHuNlhxyk|0RY0{L? zC)a5*pZU-Rvw!F{!C2YA>YprfF=sw=<N5 zLFSz6VSPcYVH3tq{M|DqpL~zuQ`d8g7Nl-h)`>Lz6LlsvRVQ*a+McedT9Xs&JU;#E zP&=PDqusiU<{3M$>wY495tC)GS*Tige75Ksz7O6-#_EZ|9`^AY^}C+G zF@D-kx&aScg(!~Ji@f}2!^BzcyU|xI$3ggkTtM9j_m957t22P>H^!yb<%nP%`XGL< z&k#Z4U$z&B1K%PZEg8gFWo{Z_kFrb4`H%grHC ze&5B8g(4`*H(flmVX>cil0Uhw+B?}K-wY(Gossgs_Fw6FfHDC)`3OV2t) zm^mUoy-?JUJRNM~CA7g<<tF+D9s01(v-#F}>vxlf`bW7DbG2ONy*}KB_E-A-cJ_b=bw@g32~+R)?`Iu|eB?a#5cIb9-nR490n{{cU}GCy@zfy_$`{y)xGOY#XV zKNL%uliHcrgYn2ZdNzw$c-i)Te#f>kX6t#n*QKQwSaF7ygJ*e{Id>&>JL)Tx8hG{52<^XtI@SS+5ruzEARm-Uy;UILUxwRnq%F*$ z{IZ#E?~qBPoyPZP(GIU$am_en$IYT~pIy}QJ;x@|xXCGM>lX7&$Xr&9JFXM8JX=R_ zCU#)okIozQS=xaykaxI^e&F*ItjqCy8Yw!7_TB}(=Xf}-+Tlq1cF5G;6vaDpedgs_ z+PFSN{EvMn&IM24t(zgdohulx&-$;Tls0@7lb$YP(mUnvsRf<*-8ak7KU@YLy2?_* zI){!QDB00*7xu0avQ(;G+F2<|wi-2Izwv`e`xB67Gp7g{%e4a65z}-J_d7C4YvejD zt}uN46ScHXzm}Ed!BZE? z{Jk<(whyuv{glMz%{7y!ZI9O)wbI$@OYvcI%6RwQB`W8(MP z@$6&n8Dz0jSbye8>=onp*oi%U4{cM|BViA7%!`%vtfcQ!-*H(}n|6z?196OtVhu2n zQmI+p)O#Fg(7o1r;Uz36{ALLp9+Gh5Cj66^XHA~F03UT2!{&SS$E~0_MW8X#-kNP| zv*qbtH)xl2Iqkk8nRQ* zIh_LTA3Lv9%&QKt?!>(63|OxNtg{Z|Q+xIB%dtvk`ZDp%`LQaVIVVS;4E_X%Zi9{iwtTnp)c0P&dD7v$mAHZL21VT1?=B9A>}-OPgybt9@)2;cr$k-!kZb68JHht2(ow&%l+6KX$kQ(_xo3MdHott5n|n8_gx3*POtgu~(4ymo|a6 z(^kRrVw|f&;z7~_?prGMi|6;dnA>$|k9CK3Ws2I97{j%Ao(+1**!&FzHeVKgcQTJk zo=9;4e>2Y7la^Id-+G^nDdRW-)AZmmz}L+i*6rR)U582LFYt93x(?>StTtIn$Vc+b z)0dOus)$$dHd!g6`|;>`{*k4z$29&tGxo+d!|z3c-)#TP^o3NIyA@a z*K1j=Ve{svcH2ewYB2$3E>ke`#NHu!j=P2;UBvZILI&tJXA}@V=ohMDb{y`m3=#Ib zNe_hga3x@adk0u}*FH_g?aO=si?q;_;P+eZ75*KpE&aDhJ8*e0jC1-~_+Yzfftm^M z!FF5X6pXMQJNLiOm?w2|o6#QcC4)~o3?50^^vILp+tw5nC&+h~Xwtu-wBu)@F#+qc zMN4k|-jn(n(zhip-P@rlo83CVOouVHE3s$qqpe#v+_F2OB}(4zx7f3Hv;?_l+)v`M zgc-kmsztK|Msm_>kjKwPY9-uY&3EJcl9vU)y0qJ*`JNew)Lx&dNmw5MEp#weiRaJU zl2e&2`5^CnBgY`mXn&G|_vQG;na#ZUnFUt7BhMNAXkwK;HFWD`e(LszVQMh!sn>fX@Sb%uSdjytKVC z9(2oQwQtOcb{zAb8e{yH4Vgd7krc4_X7CbYT$Ifvl;IUqW?a(59K?ekuil(&(Hu3FCxHjdqBQVtx4Y`6fiKV1!wqf`%-3=P)H9WVpYz;e_M@-bC~sT# zfN11(*=8Z(fPA`r4DU;RJ>KBgr5_5~vHV~n&z{K~Cbl}@66UWa|4ZI?(+#3l^2lE| zHEsfrOu4Yaj@xZS$R9zBh{PdEKfycID zy<6f&<){|O^J(b&PD74rF=`_6-tTd49zuV6rfzHy(|64s?WS~nFu!cska z5O6(cpIT6LUjDYzW?P{DVSWDQDWYTm^!fc%5j+lgYYN)C;X1{W)_q;kC(9k8=y9{c z6Q?1kIl<5KY)W|tIO10DBzqaxE%!}?pT>F}GjPKzw~OviRV;-&^LwH@KL)%q_AR;x zYpxmH1J>f^8d_YkMuhb5*x{tT0Q1Co-;DR@|DxgEW~`SB>*b#{z4##dtEUa`M2W8& zYdpK&GyjopZRt*|;Uj?IH^Bewnq&9zj9!JmH*rpWj=#C}x6Qw>{?_>ynv$xo!CAQ) zXC*046h87J`E4P;-DMKb?W(-!OMQDQyB21Dsc-)SJjIp+>f0^&b|?Dv zeElLH@VyW8*motqTZg|3>TjMuyMEpL*R_P|EAcJpSK$_iC^`jRHO|1vF-EMaNnICE z);>LxJY%->?|m#rY&|36P%Gdjk<(f+Rdjcn#dDT5bA74F>1|J16<^KoqP+E# zhh(0|0DYo}%i6jlwQ2d((WbhYJA!A`0z69G$}>lOhGmr=B+ldWJnFgfiJQ|ry*P83 z;DL`$(!(cwk@h}YRA#dTj^p}nSqpNyXNOI-Y0+{DHpGiY3vhA+^OQk`?qR+4c-rk8 z0m=lV^_^9asm`{1`IzdceTDrkj~CrfVD77p7@pyd;db&1*HEv0F8cUy|Cm1J zfh|2~F3F1dIteaw;cF>PqPKL+PTpN#llsu=I=aMUM5@r+ko z0X{LwG2)Nm1if+HB)o3mwh;Q8pETYlgD~oh7qWK4qt8X8zmRJ}p5z@ki^>-xHSp8T zL+zt-VRj(njFJJVKc@V5QML%TUI1D;RRjmgdzo_zQnT%CEx^Za;L4(}i_!tSPd$_y zvf@}7v4JwhG~#vat2VWO@?ryc-~6d!1Yh=^Z{W)@I*?7%MC~7K%D?P0vBYEYNaan% zJ;SfVnksW?hNFIT)l={+6SP}o6(69#f4W}k&&?{C*dEuPZ4%E%+m-%^=V}*w*=p2& zV;wHqzxvHqca(2Do7!CSG4^RetT;^E#W}Ej@{Zm22^kwL{npUObi>bY4gRk-V&R-7 z!@jO5+quQiEoRl<70S{^;XZm+kGH9_T8wvj4hp{@ZjN}1XD_V%6KBuJ-Cb(bubSvb zwBi*7vwt#)aWMPT<+5&(lzT1)ycPmpoq*S4KmS~Ke3YtMUuh>jkXWby%{D9<){-W}ixfg6}VyQs%z zIfJ zfbTBk_$}^7!U}(Z&Lvy%>>ugnqGNH>XL+ozGOqz|%(ETMkC*p3dF$w_a_Ee*!*d^b zU5#swL&~ePPQkw=Nfc2xdKA3ye=Qkm7gIzR?Oz;=XcoJKXkKWUEWA_B zn*4o?%V_GTsWvs&2yNd&`Ha5XlfjQz0N0w$=F;po#u4)y7h}}o^wNHjRdPCs^G%cf zAblyqYrY+Dn*!cQ#WBq*tAtDwBWf#k*41>{4wys{<#3maez&5LKF`N+{j`;``53+- ze*D?{W>jbNzeQt6cj()Z z+EkpQkHG`t5TyQhz!5g!2;XEJHUfHYt@WR z7R@QvSS|RR)X3+&!N>19K*oX*p7dR;Fcn=u^O4;bmI7r*}9~ zOZ^!A=La^d`bCvyIaD>Y`tepz!~9i4=El_;^K~S;`R*~CeMtaz*7?d1io@u1gf%caisrEe}c=8~fUjcQ6OI%gr%AeJ0Xfb~ch3l6r$FfmiO& z4z0PAIhaIBUP5!tPkzc8w5pCqr#WZ$qk2Tv_}B(`sAK+QEwjyW!ZCl9!_>G5=ewUd z6TnXvVQok&Xdk5?U1yvYoDbU099jN2x!y}9jOF#nyhMEdL_B2rI7#nQ8-#9mlQm56~mia)r)ba4Xvs4deV*g4?0gHzH;azj4`{{2fc}e=RqK!@?ZxQ_~ zOE4DJQSE%WIq07dJHzLh=F$Ecx7lJ+b94PbFRiC9+$^PAt+Gbza%Fms=6<#=7vH15 zV};eyR*A7^KA=f`6y($b;x_KlORQG{+-u$Py_%14Zlyj*h@w8ySXtL7GjLw|aQo2= zHMbp*BhJ!~(a^KxBrAXC^hB?Xd83qEoIAoReQmR{O`SrU=Z(=%{pQn1CTUT6j4@Yj zB*#;cvUz4mnO2r{^E|v!7HOBYM`MT+@2i0< z91ctV%<8tpC|FeXO7d{Il84*#Utf-g3mY9Zx4O_Mt!70tNva3@twJ84}NR7XTmeA(S{iRka^TEld|v~HsE={%y-Z? z>jOmnl4#${iB;!>{glV6vHv6z%~y~)GIo-6rcxwR7(m zw6i8dttZ>M6Ys5=#&)TDObgtGYyK_Wjti-d?2n_M5&T+y6P<+aGsDC|#t> z?{36(7W(724)jSM-aF3M!zWKgr2q2JhD)*5i?Qa5u=eGU4Sp^6;*0!bPnpdD!mH~E zvGk-l7JCyDC`(kadom`5H3AG;kgl;dodMgte*t}YM6eSynfc$3nw2j0KKiT1unvH! z)hTl?I^196^SR0*PP`}eC62(V1aV@~+43W_?Q|OJ$@~4Rud7+N(H>R;`hWLOq$}e} zJs5K9;q_R@@UL`lDgJ*NN1qYJQ`K!ayPi3lIaW(N_aj}_7S!tR2_=1B+I9+`#(H*` zvj_jN;&?jwZx4UU2zGXFh(pUXG3!l`?sFl|kCq*y`Q>v7MG-vQ9H zV)7qnJ8F7N78`YY@)+o5H67;ki~z+CXhIEU@@{a|e20};j{6m16%=$)jVy{GOK zp35JRb-+xyH@3s?iZSZm3tGvckHIGnVYbmpc9BNE@%VJ$afTmz7y z^L=7zb>5+zCXA2tZWH!E>HShAzO@1mW}Y%+{t;i_@nhP3Dw6rdzS-!r6}-;(S(n)A z0k2w1eDF)`^*wGq=rxJw*59c4N>7$ZKWzFnH^f=nZg_s5x87!LE1aVTJM3aEa~!bl zsB1XVwE_FSAPx8=6S9HX;<2R)DOXnl=cfbblb<6`MgD0!!xz!r@5J1`#$W!cF52ido(|QwK3m)C=XVs!~^c&r~tUsUGJ=lw%sb+ISXUQ$&qe9?Ptk()|r(`mw4TLWC~Iuj{e zf_Y;OfkeB#ZCCl%ckk5_JUpL?8$9c;TBCcJtCze#Z6}zg#1EV=bzv3w)`PXH$2!){ zfgFVQozH{+`o7_#^LHRJuc z&a?ruUpw_Jv}<`h^W7fhuj2tesnTTJoAl|ir|a|G_#699)TgHk{2u32$yg}zz2HUV zekB@ur8UZKXvNwzT%cmM${9C;wWX$v82Rlgspty6f$or`_k z5GTSbk43r(7Y$fX`lNGBS^wjVggKk19`Dq(iqg&fk=o0EOCXCT*SSSd;qA}Iji-{P zhCaSp!`T7Oxu1N72oO&I=eTcdgA6iB+HBl)k}t3X2w&t0Iz?7V$24)f)55uL&0)P~ ziN`gC%X$85@O{fPky2;Gg0uED?XtXAiSOL_Gx;j-sbd?PT62ioEh5cr6=`zu54rHXS~DYb@p;hjoa@ zdRXw>in-e`cayJ{e$^R_gEs{}WiH2AB5b`__h(xGkC5r7Bmj4&>%j}^b^qhkJA&`( z%@yG`%2%Kt1Ia3urM|(s%>~*q_#Z#6scM9rpaGv?uQ~1|<>jF*T2|{8z~holtJZgD z_J$4d+j1x$()XkjG6nV6PP5|ccA{-JXv-kl_cYkIk-ziI)!1hEA;8$)H7c%j3t;SK z*-xS;PaEa=sx}GV&S9k!1h3|fk@fy?hI0OGV^w!LecTD^8`SGH9>)ANVcZiAk zhcg4KUsUnJTM{7$u?C5h9T>lq891{{^Pge7v3W}1yTHl62M_*~KGgnSxIPX!wevpB z$NHxSr(3sGC#JRS0nL3e1-u2$P2gG0AHcr8Yt-3hosoRIsQqYJx&K3~`}5e>Pjl7Y z-c~hv+vKYxo^-RW4t+h2W1rs#ZTkQ)IQMqp`^ZdRtEmNNF`kovr92bPzL@NxjyZ2p zc_>e0wQhnT?My1N(Ko4KSbTuJUOw;J}Vy<_ZGYXR3D!1YadXM$eSvKDadG2r?pWxra^whf(~Mb@gw z3Iw{9{c1Vn6^?b2tizriFrCL;=Hl~S1%rFe-dZ(@wLMHajN9u z9{aCU%|{tETEqQsfakxPGu`Des%HCo(5D{Oc?a$NJ>;2M3uH<9C0O+!eI;Koi#JzK zx|H@ub)PXlm#G+^Zd`ZI5Hj}csI=*qz1_(?Grh$=`eNJ8)5AN_rfdK7Lsc?PERDPz z?u+nh#)+ZbeULX9>&v)y#+GGk3tGK#GN*I!jCnzz1?PbCpg$1jqWC}R9@IRNFb{qg zlC=kN20j4pzdlwJzHd%)_i0(~&IIsINw?iF)zx|`G86K+4zBDaxwQo;GZgtZ^^HlcjHVQo}Hc0wk4bX zk2$R!TJB);+=?^XHf?*#4tQ^h7te2x5v&t2$o86tSTiD3{+^ECA)Kw~Iuagkl#l&aS&;B;OBZp&O4<3_n2fr(hMT(eT<>Z7hDSdeA$e2!C9zMo@ z|9!K9b?!r7U!-U=_F>&6L+z2*;z0Y;v1b|ByG-n17WOh5v_A*5KhD>Svs3~4-xn`r zZNA-$O^0bqpuX6GXZ`t__YSPnT}i5z?sur?TLc~ec(`z-W!qDet_Xb$e&OkdSB9u3 zJk9)q^Q2CyyCs);NoUE?wI-h_QTcJ7#_x|XuD<(4LEqY>-F?eUzP@E5+C*SQg#N~Ck2?LnwJIlDJADQp zZ1y_lh!YLW_lG{2ThzLcHREC$*V4BjmNJ4>$5HqOoUJ7i*Tz+bT_=KmsXjaB@HGe8_RlM;AakM+lyZY&K$se-79U|sxV(0 zWB}Tj7|&OwCD=UK<)t1iH>FCmyKOG&n;q`yvqaI^eDJOF^za|f2Y#V`cn8)MJY00` ztl*(6;B`Ks?*!vMm}~b!@V)2j;T-T$Mf- znroPU26A^%2A(~$QGbkeOP|Sm{i!z19+(Y&ZF8(RA^o&yJBUqad#JZ#{V}sOus1AD zIH`XHKC0C6TUTlM0|VyF0z2Al&{}iYZXe`H`jl4zrdu)gTX8ljlK}sKA6wF73HJjp z@AG;#@AHz^Y5-koy+il9CrvI1n8l-{8<72jfkaW*YBuWTm6w;g6Te!*`SoCaotPi{ z=tDbIXvco@lx20ArP`8s5ct(%m$74*dnMpxf{NZBC(c(?o z_brF#`Sv&58QN}czt{r&*?GU|u!wJ7`11W3yI(SAgd8(Xe&%%Ej=jpc4>INA<+O1W z^_bGyta@9aU2dNX?3O=*UY>_$f zD1%2~0{AVp;S!NbS^FS!*#2786>5+^&Z%zlcGbUDb}s6$t2U~frSyF#@5UU*u8rj1 zY@RCep}0r=wPm6Hc!0HJcFa3erN#Iv>g#A1veQSp{u2Fh=MLu~ob@+dc;=MPY<8|A zVJjNf&Rifb!~%~<+d_K43tII8@Wgga6!oU67`JzgT(wESH&MG5)`7J&il{qe-Hbo{ z8N6=1sv&E2C>~`;5`8yTfTk@6ZMz;c?mE!AuYo_g7W_$^z6H2-Z?>3w2XLf48GLG^NS=-PgPsL@x*yKj+o&~OjeUAk zOE|P;mpI(FK?I$@ekkXLTwB|RB_ezb`1JUNlU;qlb@Z2VSxxRgXt1_3? z_&W1!T}YiT))nh!sc(>L%602ArxbMZOgNNou@3YH?@3(2b#i0vIEDpiZzb?!CvC4< zZY$)u?h1z_zVa5v~GnQvrDS^rtaC>63E>_?+3g|0w8L z0%XQ|z{MbF^38yU$j@ah#>Un6i(RYD%?qo)f_(zrem2|MM%uEuTrd6LJ(KV3Yi8dE zz&WJPZEJ+@HqfFEz$-m6Q}_l!%LrE=g64hzzKDDhb8#@wM&*@yup9FXGp7LFy>l)2 z@g1}~#Q6HJ!=8h0I<{DZ-v>?ZyjCx*b6AQyG4@vUZA~wiHJA@f6J3MA%f~?+i++25S!M^)rmH!oEny$t>I9rkTG_TZu z5e~%klHLW_x5XyknjvY^bc2^EBEI1LcP~`WR(`6U{Tb(b?ETh=x_|P$a_mPbH`9^9o(~ z3czcW{bY`3wq4YI1K&QBYHhm(ywLN&%wQ+2p<7vb98toxk zUTYrsBi^GvMNs!FE^O6t4{N$qzeJ==UL<__aHQy~XwNZ8G`@Q>Qroy}ZX5G|eigFz z1;7_czaz2IuPzg%-iyWialn=F{-M`2AN4QJTXp}uB*y*61YQLFcs2!m^ith_59GX% zIWBP89P946SAYB+$nAYe#3drQ#-#MW{x}u;%Jm#HXSiMI!Z&+v^KRz%Pk;>nP&Vf_ zqxB8YiY+ePyG1kGn6G3B&b=G&Fz=pguJC#2Q^J@v^CYR;d>{N2^*}c*7;5kN`{Tds zyQb@-o@;wP>U?P6BbOO+8E`CQkTCP)?7akkHQ-OrkMR@VRxPt_tC$O#a)Ag}KC~!= zu`!M;>{_GwBp(b}E&qWjST{I>;Vz0U&cwOT283;OX{muf*gSNSWKYeDkMi?F{Y@U)J}7O6x0iAg-V=#LH` z^)j>%@Y+!?8W(MM_H4Ef2l`BqS9r_`(t!jTXDS==c{Fg;w21S)}v!}S#9HVS-InMS<$uyWwERD zu#~%^ePoZexe8-@3Vgtyr->rgv3tm(Y|!=0+2nPGcy3uMYmSPI+#B$8HDSAB3#tFlBgV+eGbQ$gd}? zp_1Fv^x#~;YZ>rj1LVqYqF>_pP3vzD^;$&t{==*0@34r%HIqSCfS*>G?4IgZ+j8b+ zCAZ~a{*FbW@fx88ZUc<_))$11VK1K3^wQ_Rmw%Y|yPPV(ugzq0vj)OfYxL4Lg(!Zm zMwf6n`5s5gbAZJpoDs%K@5*DmbnM`73FBuXwQ*AZQgh}!IbY7FN-MEZm&`Uj;JN%V zmz47uj=_;ULUeMp;p%QVV^V)~kCo3VZs zCh?s1*5V;vSDNV4_w65BhVDF4*(_tJ?35Xtey82ybu9a;lqIFU`nkOI7fCpiKB24+ z_g(3GT5zAVQ+a>v$P*`iqTuwzeI`{ee7d18acD6on6HSs5{IE%u^74)hmo&{&ul~G zM;wM81-#@)z9P19a2VqYHyvR=)S>)T#=2Vq6;}PRDvYm6o8znS)~zSceqdP5rB23m zWAFa|I5zOS_1MqO8a=3DG*Sa@Z)%E5OQW9gc4u;H4sDk6gxFelyUa!8?gQ?*6L@&* znDfm#j@>we+b5m-eE$&FZ{vLTjMr64yidFw9N=e_v> zef>k=8QwSBarP74ZzhA!Fxe!ZfpZ?7tIchln+rYz_sD0wiF=bxuGZV8imnepQ$EB# z{uVU(8qk%!iK5YzBWiczd_9z$*ap7GyA$*31f6FMVIh=loUyN#EtiH`?4pbNRcWs% zt_KYqC=&(r$+j=oy@_Afy|;Zs_pZaZZ_yH~9i~LjBiiKZiWt`FNb=b5KiRdCOUf`Efrjo|k12ba8;l=md82TILI}>aDK#Vxy!8_juj{5h6n6~dVuL^Yt^Wfji zu>r<5mf<<`DJ~fXj|3RE&(Xae$k?oN^9<&lGH0K64c2QFc-1$~Mr!wJlRc2#Ya`$z zZTNo+#*v8eyrU(`ywI~TmRr!*BiR2py|;!=U`$`dI11v#3Dz6YFwVIN$!&A*TNNrZ zO&&a9PLbp2h!rP}nUmx=ZjO$F_AkJ;%oVSRZt4rx;SAk^@g&V*pGlsF&MKT|hwLPM zCNO6E&-Burr;PZt_+089AXW~V{ z9y4QaGUOR5Hokc~mHu9OxE=rd0Q+ZWXuclc?p~QAaLP!Izwz=r59CJ-^ zKhB#UXDx)Yc75FFS;HF29D$(0AG!c5Ja10poJH?B^OUXSQ?qs4SsMgCr~@q34nfX^eK3#R$XUBm4>K>A({x*LpW(k3%_sOM#@}oB6F!9B@t--PS#lf^ zoYBZgUct=3*=Zsi0Zln`qwq$6XYR$f^a<%X73sd3ZLBB{GAC5a*C4;evxWt}wTpsm zsn?zq;J!Ybr+ar{4qG7aK7zCOThI<(bC28hw>@<>f_Q$3_(!)?(xpY`I18R6qEY&ic*t2@P+)u{_w? zP#$dic6qR6LSDg^8#O%Bf;*}E{k9f-3v>GceP%Gf-bf^~#mFt#a=R8(HObQg-+Okb zo&F$v_pRYbSLY1c&_w}rGm_u*V;wt(&3>705^!nNtTum~D6ET7IVW8)D(B?ev7_+R zgL^L#c0UJqKY{D4nYbR4hjJqBw&#w;-5KL>H`}F*Wx0A3emW<>kGOa=ALY=3bHUH} zyp+Vv{u_05DI20ARp1j@*>U~`3Sjhnl|{83Hz3X zXFtTgeaEC~kbIeaJ7nzJi`cWh!ijZ#=oUal-z|oCwdV9Pux5-!OLO3FW*f zODvg>`Qw`VIcif*3%rcAcoAphCG6{J+rEW-f4i-D;p(`33p=p}+vD)tv~MBX*lucG zNT1VEv{i@w?-AFO^l7)15SBTv9x=JNnmLu|pM-Vfy}rIo9Q=>gLQqNNm$?V z=zI9h_d5SOv*Z)pBQ0tHE^_I5satQZ8Nr>v=l09=(%F~tI>FN$qi|`p_SNG28+5N- z6Giz>Jy@;f+jc^}qTj%5wAH5Nx7tB#6LFo7>vdXUYloINNdK9{^Y(c!_{u)%<2IYu zpcNN5)ivo$BJlVHv(+_gW_D=yLE1{~cyBh|<2V>EV#j;4XRB+*57`qh4bg9^5A?-; zCeqFG%>2L7UVIKeZ~8#gne2jv)D>MPwYc!g(iwS8^BL!X)=c!YtcH)8J^Q7 z%~w4fkvPg^_*R|E2Rrhb2ANs|t}@}C8P8(y4tSdlkgM<4d|!KW!CO5UD(3&Bkz1Aa z)h97d`h1j`MdKXEMBrEbPhq^fR|wzA$;~xR%@R0kb_Ob{F~)dHNri*{bW>U@<3u;* zY&>u615WV+CSAmR)0AI`&08OW+|ad3%Nc~sT3eOf91Mt1NgLX3$hNid{&d`TE8o7u zkX28t!#pcyat%b|8zxy}#7kc+<|0&j<6IkSzf&geO%*-?nRxGgk#^=rsMMNkc;+17 zt77Ks_t1~ZncR}&*iqui+~1yqxym>nE8AQsW5n!iw=`ZfQkR<$R{9#w+iC{CcZo=~ z>?oQhPA#FYrYt3zX)`q+>gDG{O0q;L+z3KW3exj z@hlndq~P6De3OQKNeABZZ$I9I-{29CFT;Pd z{b%gg@dYCM#s#`}@aGo)U`caLy|y`Ll{W46hOe@g9%DXRa|X;=?qemBT~dd8p$Mm% zMOOp*tMZ1{ud<4{%n#{t>*0jK4M#kz&0N1OG>CUS7~7Rt=XGBCswQ}zowNMG) zS+Y@o+>@Tr=J}RhI`~slsR#U#$GbjcR(`vI2=4X0B!W)He#|ua2Co+3{z$rO;5E(L z_qc8S-#(7Czr%PU)&|A8(VlMCn!QbP#EE>sR2^k0!>(?DeAJKg&OI-Kd}V=r`U7hc{A#;^M=CVNM>NjLASz`^nRi%=x9;Iwm>8)Sy%yZiPXF5oC?H6AG zS^|9D#~8lr^q?DjN&ig2`ht(s{xC2z!BsI6ZQ}e@{u=*hiD2bM$bFz;{h9d9+J-Yl z(9$?{*{~q+RZzkpg z*ggOl?E&p<0e^CAfsC(AK7{pndWAb=(HI-&Y9&9u(kx0oW}bE6x;nGP)@cRLgl`Yv z9N7TlPE8c_V10p~=88m7OS?oqV1qCR*{z5=Hpm>c^}o`o2VTmU%V#~zs{ z7p%lO^`Jejw?&&K+pA31OWCg<`&gOGTI8UuT62&w1!Z}n@jl3g%vrJMJmoLqqTR}5 zDPBSw=R#Fm$!r(3uTN99^f|zx2LQtldp)6t!OQ&?cmq7|V83~Dj`ABw9Lxv&wg878 z1b*PY90csN%_MyUzNLQw&QsMw{jt}96B=S|ZPgmy>s__JL9 zaTUf>g>%8VZAjHiI6uY})SIog15-p{WsLO0c5|-1z)eS!WQ|gz-ouo@r6$lmz-r6Y zdTHHMQ4(>8Fx%i<&oZa)nWSRYLR^Qv*n)kS{b{7+Ajaic$o%v6k+H~eXx8ddc`nlm zESk;DHrQ`ZD5>}$aE&o9U}Nq;gB+cQ^avvqVE~Z>4_a@Y zvJ87uU6pt!r@?Hqb6+vn)Cj%-{jEJVi*vQhx}5`zm%wk}t=a~>M?dj~U(@EE+Emq@d!Cw=2clra|EbUPikDKwz<^*>M{giP}jyDc?d87K> z8l%R0p>dA5zs#M>J?`vJDt-|AXu`OB+h{&K6t|5q}m19-e*zw=N);(z6TU;}JWcClkU8g{tH zt(Oh!!FA}ni8-7yB>#6Y_>UIs7wczX9^M1=JpimfJjB|)>C#uS_R~naobQ8rQ1YLe z<91i_wj91&p-nI8!8xvfRmCp6D)C^tl&#e{o8s<8TeN}q;C#CmQnHQV+>>2M_$H z3-ppcX!W3#E6CX{$m5xhmIq%b$~qC*d6z z=o93^WE<#YIcVd+0ukJ7&@1X8iHk_DqH^B3o2q-%B`}oh& zskaNyO{XrMujmxlv44RcJOCQi2L6*Udl2+#5c6$Y;S6yfXump$y-@HzMZ!C2hQyDD zlZp=vM>4nN>)s}FjEp-V-LiOhukRC~mt?Gz;ZMO@iOh#Xo1+7CjQLrd%$W}Xzgj+0dAheketY_Cq}#|%>}GvV@*kw5^quGd zKJNqX(Zew>!`!}sYw#!zv(>|~6Bfyn5FR(-eAj_yp1n{H=c*dD9ux0@ZuZ1}wS>H# z#rx@chhO2_)BmYtfzUpGY$EG``E{pOq;N6Q{ zUjQ334A|&0e|gxTzY<~NW0UA6U(R`q&EK-gBIS7Z(1vTl@7IFwUk3ia26Dhs$OzZ? zAs0v)VIoY~44AreDDoMYDmP%NXPmAeJMi-o1yg?oEFA()I0!zU{5^S?o(t3(hq3k^ zV;+aFXVs7|U0QO%LF^IvqK*|8g$`hk>TN1^GKxps-u3HU-VN(3L1TeCs=0UWg_D<& z52`3HPqu8Fyv&^Evj666r2S8LMtJz6vF{%nbogbQ-CO1jwNH$1iq`mGjNrfC9ckZg zmN8qbOWL@Pxt(qnjd`FAJ8UX<2k|Coarj(hX)j|H{SY#Y0{aqfV-NI2I<@bMJ6Yq71;NKuGvHo&KB8-VS zYi;z!8rX1z_@^3t?)>_?P$gqSL{>5LrrFFGCu1GKzuGPYpW#q^33HLQF^{_`x6QT| zWAom%p7-;3A8@~}{;v6+`VI5R6EH`J%ZMxZ8t5_mDn&m}Y*fBFJQvFxB4sPCUoc|c z>WrAT3Wth$W4s&V+UoJ=+|-g&tc8j<IdBm||`cU|B2N3J9@YrV(kectDIKRJVP z-zJ%6X_LiQz3Cav-g_Wc$_O#q1b9_5< zXw$KtS+@40D+k zCel~>$4or|G?;Ep3BDbIiSH@(BO!czfKX61J_35*G^isPHbC6jn7G899{+FzR#J{fU{=)(%s(k0q-plJUK^1 zrX+}Cv@5n@|H1z-XIG%-4vgh)BXVR4?s?tWOSzWuXN=cKs;>{@yI^;jC~5N=!Gi0) zSxTE(pxp2u_T&{+UYfZ1s#}fVk$EB#nJFT@_lU^LZ>MynrikLu9Woay@cFwU7|{zP zp2*8@&+hsYOH8WKI=7GrwCZ zb2@E2JnQrB{_mDLt+@0BILl5Mm!4dwQP-`)GdPD^v5xIOySAONK9G_9QyvxVlu6t4 z>=m@pygV(VtKBU0wrxyb@#s;7>%$lj=6ToTa-Fi*xj_4jovkTUIlA;uG)2skT@G>V zLH*fH?BhP`-BtZ&C+GSR?TJ34{w(gJlXDc-IdgOm&4a#tmr?J+_f?FQ(ph_NQFyhU zC~GVcOLm@x2hVt7VvrYG>&N=WZ0l;t1M_|SK7g}p=MCeoFP1fhs2%5l7&~ zh0LK(4={h3Hj#1Qcj-dq*De50{K-O<+ss&D<~Flt0q?V0iLZOClyN@(9ncjxj)2mW zs%oqp=e7}p&+<#Pb!B`eHpiLco(>u84-SPrZaPwXw|!w&A9=Z|Ju=gXeEu%>#LJqE z^Gn+_qx2Wx#UFY_hZ8bYqjyxPb6vTAwA2^Gvd^J=zA^@Lg$x$DLj)-sn)rPbYk3Ux zPulxC)~9j8pEvQ24C|u;q1BG|V~{=DuQBRPhpU&kmu>%S$eh!4DGCFV^!oRCBFH*M z-yAJEJfL?scxK{Q+W1bdxV7G>f3o)BGU&W1%#VF&^p?53825iZmOp2`CT1UgSOn|9 zQ$L>~f;*B$@pH-HQuf6?ti(RN^B8!2y1Us6nU=BYJ?~NB?_ZmadEw`b zjI|`+_{%1zhVz1ToC{fVo}Sw4PJ{f0d!WEHOa4XXqRk0c_NsG~TU#6cZ;54*8z81l zqm|#`G(-#cdcJ9PQl4;*iso1E?pJa#{RyEDR1QN#e?I4v5#k!!yquOyp`A0UomZ$c zw(Ttbp1-^P6Nj^|9Dg&P%jpAe!Fk>e8c}pt8=m)|*-Dx@N?+<3vxG6*6>*|?t3%=7 z^e-4pcYMxe-61yZdFvk@xJzPb>s`!~Z4Z}cKO7CZPnjh)FAAJA8G{&XOSrl;1irz$ zkTD{1EmzO~{h=wW*^6;3X=;`j<=8XGk<(>uaOmp$aPG*@OzfG7{mu{#DRcgAme7_H zz_~u0iFtC|UZZ}omgr_}-PKyw^7pkZImFFrKAbR#{v_rhv;KqoF!b~K#bL(R$T%l_ zw~M|Z#?#>*w8v$SiR0;+BI_MZ4;2bEeqw|%-!)am96L340J@UQ<1+D#j5)rFG;RcW z=8nu$=k6G5=uLoJxY~G{d)_#qd(-TUEjekLeO5>Jia60y_?gO|prk6x%O-p7 zs~wrWe|%iD?C&$H$-~I6ICtKgyfbP4ku|cwN8V!XJIs-JC5^u|OWaD=3~&v2=Gq=4 zj)+*s=bv#jZsNXtZpGK~ea3PyPW5knW+s2LEy^Ru^F`5tK80(v+AWT~`-WNly%Az> z?PJE%uJL;|(Ff(#iq|oB`D5$dkMP^Ln)!-f?pr&l$7B6jRnCGhS8CF0K z$=aCOLK?u|N3$}gw2%gf-OL;yXOGe`s9&r&Yj#iS~OW z(Qf>p@ni&kKg@Vy-zhuqo%F!(UX(TNM{jXt)-Aw&$#s{uxS{Q6(RO?oBiHAve6mB= zJ#I+fU-tgi7yB|zo%J9`;PV80@5FO1JnsfC@IXg$NNl(+2l2z=$q!`RL#I{GjhLMe zLD!=VLSk1xD3)oAZ%elG&9Z&kEQQbaM@`XrcTDZ;4a`rEseOIerD|XAiK*F~|5xF) z>wf<`+SquR5vln<^qr3?Wi8Nd;)vjGb?&*RjC^s65X(Nz+>*08PGO%h9-48{i=h7( z*4Koa@q8WbLEO8&^GDfrt=-a>6ns0Ui}5)5nqIfTq26UKgL-$-pm+V5&*vz)+$rBB z9q*Tzv35?nIdbFn>bI5m(Ldi`0H;bi|PaV z*dn_&4{@)EF}P}#*$Um)XJ$f|!}Etqjo|4j5#+iiUPYUO!m2h?#4@M0E+>>Lq}*n& zxi6t%_Kpz^vlonBm&5fxJVyjst9y^N2hwKyx~kXhywtN<)3E;7gT#1Q)6t*bC)yPr z4(FI?)gI6H`7y^DRVTfOF}AJO8Np14DESk{b@uj#U~Ph!RU_?lx$e;Ipzl$lc;A(V ztPM;IROgDxT_Jt4uQ5fv%bc{3BU{#3-vqhu5uI@gV~ZS*dN;Ffb>rJcB>48+u6!-0 zmsoF&|3QClPHz+ceq(C=JmKtZN~Ip2C-EPj!TFn?DfKm3!;9~Bk5qM1YSKi>FYtLM z^a`2ht7jG+!rHS|mdWR9Doc0pV!1~dKe{q4Bv>r0;PSD0nTH?CHmy6ETTE=qL z^NPzhR^F;LlT+>Sm+f!QCDHxO!~Pmx(Rq`mFtz#p9(^#TcBztgBS)-yAH-CpY|MEuXHC{x zg6wgmP;}mdc8I;5hkfV){q4zvTwv9At;=JKkJ8<>9O=srd@RpIPJnjzhF#F3byW-M zVsNROtvYS<9mE(@^ZDW$$Uc{d$QIE5T8n18(-ploju#~fL+bje_Z)$%unznB%#Maj zR9s;%c+25A)Xh9~6G!6y&V_D?bHrSyRgW4Q$uCIj=N#V6r*Zx()7RygR`4-N3H_rF&*O`MV^+U-syC#knnw>2L(t3y0*nMyzZ z4rnAj?tGqAr=QQW{?jp-XWinsFwa`7eL2rsETTMXALiD#stWSLbjS^rkRK`_N8Akg z;v4OdE2Mlfa2`htK99t4cSTk|?Zw_#9TP3YF<7mQU9mboZpC_+*!vRmKykNHhMu18 zY9`j1jXO3k-mzi_?%X!qmq#GmORO~8j%i^;I*GXf-gKK_4ylOD2VcEz^#tWZ}tW{G&8yo;Cv!|{SEUg&GxDxy5)FVG8U%i+A{|JLmMTL0i0 zJ$xqr1%-ij3wQ{5H?i`WCwKR0#6T{pctO;E zs*A{sdb71BlXx1L0m?3wFDMKX##QsKX(aX?_UcTj(at^Ek2~w+5BghWKg8cJRI(9c z&(?IA9em~pzJC+C?1gZ8>F+uT{grW{^gYJb!|{GRxW3Mt^t)J?W!_PP>+AG7ahIkU z{)&-VrNmR}g}higO5qZpBz_QhX3*U*dlP;_tZQ5QQ20&ikV4h;foxvg09pQ$DW9cVgmZuII!d^JHw$b1Kf+#*+1&{%5oG9q{=*;PdS7 z#Svnb-8S#CcPB;L-e9#&-XGic*Q_pBA7-tGYh&S4{h5*E-0+3) zsHp>y#%o51&YHK3`UgkKwQBj7Ya#Qdh)4tTzuuB@$HgZsEFEQAoBwZqXTxk2WAWOG zHW7YJ#y>N@;$Fk=v0^J&KLoP9vI~R0A9%=Y&Ce6d3-pE@o|#7a8<~gkIB`?5nhR=6 z%h;doPxbVf)$>_fv48$Xt^;!!h~eKjSJpI=_yMY>OnxB0rl5@T8M+RPagQY2Bz@UU zuPbbx#@jVnZ$;Min5_kwH^DZT6Wlac3x06{%wvh)ODxzF<>RZ#FoLY_%{!zQd!E61 z30p-=X#2NTK)0N<|M7ng+qmVMzu(`=&nv{Z(vT>abkd<>3qCU$L{cAGhzCscFfnYp(c2$;^R>ghEa*5FeTAn9_b}G`0VE9@gYcKHL;Qm*P!hS$r zdkA#*-$Qi0Zs>Y@;zaT8E6FqSd_(oUwy`33_F5yz8o)0~yB}jTa&aCKeRutn*&2pS zv;ul0V}ELJMz@bNg7@gz9-GHZ1aDXrV?VfJq~bBPG4=z;hA5ALtQmABsXUs9M+8r@ z{uaje=OOyXkH>(AzpZfVsDBjvhx(iPM}e(>T&iMKc=w&u({Rru`p#_S{mH-6eMXJw z^y?yR{77ZbX~c#3 z9eU0nepw0m=%@I6f#fYYzS-!L-$9Nj=JPxw%?{Qs%JGc+XV2#U9Iv;$cg)f9zDsX; z3iM)XIdzm#Oz=SFGJdET{!uumM<2tTHdY*Cp4e#I14rGXnvXpu{K-Gif@piz%rVB( z`C4-Cq3493I2VV|_RRN;;LD>$(0KFR>$hqRH*g#?Wqd($?~ZdSj)eA?TjXbnz0GIM zYJ0CwKt?!IXvj5L$aT`ws^p$K2JiXe#Nqcm!`kyL4zcVO@-Xm?Ulrk=cR;U5wD%;# z=f?W*nIzVf#u@5x8$q6(Mu$_7WV24h(XiQTj$!-9%lD!^ye~pm&bvKe4Wi zy|k>!ePZtqQBd)$F*3O z8f!fCg%BU8YK&3V%NjNKY&`yd0lY}fH$BjYxsJ4A>Uh4r34>$m47B+X_!rmpmi&g< z#2QM+`hm9mtnU=Y99~Z`>KRK#otC_JvhJ)R{_6wKnVUwYc}k#jZ^J!sE?+3zW7d%$ zA&O7peeyx#{@*Vyj1PM`zRQEY@lUwZ4`nL6jf=sE-JvUt*q=aWP;ypQ0GD^#IJC9T zP`b;-#0WMUDn@XAx#;9M8j3Z`F^vQdWNhXC&`$S3aWgS=Hz$kwO{t>3k@eQ9%Kh|f zH@qNP6uxqL;K!hkCg{M>1^hRH9_;lvL>`bzpPIYwC1O=`ZLnrTzi*_k_wI7$oRzrV zQ1XHEj;MU#oTCM~4|1$`YeBYm1nqH*)Ilg0mFVuOO>0?~+lXYRyPL=B3Mc;Vxh8eO zPJup+RmI_gdsMA#Kb|e9EiQWoa?UPCTHTs{vzp`Lc>c#NBIE(}ph2GhOPKqnW!KTx zN}6OY({!Beg|>}if@`zeKL35f>xi*WlsjV2zQgx_*Y~&buKfe<+9t>ujU#y1rpddu z$7S8M2}Uq_*A{mj)Qf#DWPs+t-@so+9{^w5o`QQE?bKRhq>pN64DTqAyd%HJ3*J$K zab97`yq9c<>J8F<;>j9FuG*SuEm$$8^V`fVtk6Xa9G|KDm8+P z=Vgq`wo!w5-@l>{e&2@s%;tYDjE(ZYTjK`zL!La8|IyZD%LFdWhcRm(VckBqEIHv|zAY!@Vr|oXH?LQ+0+bUem$y4|J(LxOmlJaTf0Yw1W-X`4wS0bHEqOj8 z9?%xnl(Z9otjs&QHxqP@HJuJQd4cAxve&jY#xJsHz~)yt;1_ZHIVxMyKSH{6Vr~D` z^1mL0e8Igx)~smOnJS8FWX*$YU;TjXGJD|8W{oF#_P{R|L$4Zo_UP|90=;b_&ItA> zD1E2+YyqDA)bjc9oP5-*&SAuo5gyksd_G_p;o0zYYTbC|V%vOg zh)i}kA-Cu}xn{5MW?5@RpE7H1#h&Xnj9K<~&MaYWanv@;XVUOYmTwE58Ls~gLwU<^ zdVn=2w!3ZQ;J%yCZaezsnpMUrzM@0#q1+jJ)+Aj$s`iL?$xCtP?-BW9nZ+NeQ!-~M ziG9Y|ydcZB#M+;HE1$}in_Q5a4(ZuNzE{SU*>cv!(l%+jZ&f99!wTq#H$zwa26V=o z+RrV$u^l?3w8h3^(Syb$e|5(AOJZe>iNoZF(5`qG_jLNdQqM7h<78cw!8*|H!l(`; zbJ4F95&PUx2NXXtJJ+0JPJVhI4}A#AAexdv{t>+Ut>~LF>rfelV?6RNw(V2#<;{i4 z_GyoW_v5(#Fgvg7zpxFFaq_gUU?2Qh6OH!FB*-DP4rMpI*Rc%pU^Q#7Y=aKEV}j_Y zwS2c#6L800$y}FwA8TnW)_BGf>xiX3Jzn9#*1f688i>ibC!B8@{zg5k)H%)w*8WA+ z6rvA3f-`p_hcU_dzDWsUS)HtPnHC_fC~GP)?|ws_$$1ucg3s=9WY^8TN3?j*F8_Xa ztf&@vw%d{IPOm8UvySd5y#F66rq6ebaido5S-`4`z+Ak#YedW9H|KS20nM{M568b` zA@c*1WFCN5?nioE9ppOJ=#hV?iRu%0w?a#2eMa0JX@Mo&TlC-dot!yNoEg>`WQ@=y zTH~f-+RJzIE=^PS>TlKG@?Pz-^y@yen)uk4VlVF`Eha$sT9P-1bkFuEL$R%A9MQI% zTC}Zpt1Zr1%JZXzY;QE$`#$L=#s|=yploAbvp#Rs25Jt=&v{qc<7(0d`v9(r`L1V( ze}MG@oWBCUiX#rU5pmB4ZP%0s6Te*^bp1+1DhFy?B-Xj+YxqtJzRQ|E-`0pT*Lfm^ zISLIakYUp@(9R^c!t}TpKS8rg`3W9!p`9ENNk==&#L&7Yj=&}VBI|Moz;`>^A2T*G zzRs2IYR1{#c?k3o!Wh{0As^0te7KY~=7^=n7(&uH`3~u0B6yyAvcWrkw0p7$7A9$3 zyrZs-7m>r@r;y(})`6BJh9A~xy~;81?Yu#xJc+gW0P=%r)n@x(BIOHb9dZ2LUtmaF zCB}cL8lvvH^=l-SVRdLE>nvhyBL(F}&~m!3BDG=m!(&CH_B(=g-TbVBUWo4sO>@!- zbEwb55jgM@g=KQ;l-W^?`!@u-YMkrb%)26=J_?+}Q&>N~Lwi6(50~1{q~d!Q<}7gt zF=rQK7}7j#mUwu4yeBw1(h}6-&B)9v_~x7H9g(6$+n(H6K+jkh_;yMC1XCFTi>2EQBoT zMW2hVk$#PiE3v2VyG8L;4)G!D*-XTHUmPoKc^`7z(aQVEe$E^ZZIoyIqt4v>OtXZ! z;6AI3DzpJQk!{?kUwj**g~Ak3>!5yDEYMn}&(c_*Ea-NK65ef#@LA0)S@$KlV}vNN z*N1&n%rb)OT-`YpuQ+oT%_?ZF7%yv^F@Lf63iMaV`U4ol;@ZV!^fe~oZumLIxwQ7a zGUh*jp(R%B%QjXLTV*H4`?>B4`~vTNfS+Zx_m?fLU0QaPBf09EppTiRS^N~%m$Gr7 z&y+b|ZPeXdihk@l6pSKY6UX)?Y{{|5S%YylW1KY@X9dRT#yI7CBBmT?0r8$O&P0rp zxl*@U<4nGYagN3~lZTA+WsH-);2jvJyrYGS-Iwt5TbdB+*ha+1QsZjTJ$>G)!4Y3To7WuL$M z!^t1ju%5|4?NHqp$_GCwH6j~{59S~ao~qG6+=WFcs;>L=1)`-&#+o^MdGD%Pk1knr zi?YK)8PA_82L&UXrD;H2*G z(HB?Y7*`sCPE&#PWsR0fuR05i8)vP_$dI$pfN`n1wb8SXpkmj2;G=2Tp!;mly^TY? z(rrZknkgbHlSRk5Q7adW3%(AvWZB6u459peHRhj}7F#w`RJpDOns zaO5^)&r^syyoU86k{Qou1c~RKujMZ1^Taavqhm`BYfmx!71I zO(GtT*jt5hEFNQ&9mY8;$KT5CPCvXekl)zfYTtR4_zv=9q$0mzHe_>u#T!QOuQDD{ zEMuM`=cndXwmAcH`U$>coK)UPvoj2xE=$k#xGmdD=Tx<4JX4PxH77kX$p}^-H9H?? z%>&+@lbFZvl$hr$Cb5=fuCH%Z1!(tX(C{}v%Qu0hZv?$hYX^AL~#zo03<&D0x=jkYgm1KLWmd_m4}$`@2)h?0Kj*sN{CIF4J#(r=Tvx$Xv$>Vd3& zE7l?m-q1D8@GHF2bo+kvUDIc_{y~UN6LLN4qp((~^9s=^(B4^`>9ZJrHuiw`;AxKt zR)c??22F=px2scAXZ#zoKCP@xYS)jYzk{)isV?!1+~+(an5X6WPD8IM?KeB^afEv{ z?|*CJnUA4=v^}=Fo;lz;=%rRTJ$s;sEV69(j8{2`G19I;J7V21F)NE=VpeEFl-OaG zjmihUkYL#nRg8+VSO4}0{jF_}8TG`kCO>``{P?u26O!l4@`%yQU!IpBu3-*<`IuNn zOxmUif6DP{Id1TT;y69iW9J|!pMIuq>_Stv$y^9?dqJHCx&!w+Em3sPwn0q0ifL;7 z-gJxViknp()CKtae{hz5B2*pT-;^u-4z*S}18e#lr+9|^D&zz&VazzzcaOuu&8M9V zdgYy!wQh;ahW}}2+=KP~8rJH!SX26S8o+ZhUAEssNV{KSX*8~M-5YjXDeI-?48)ZZ z`^06PDQRmTt$Af0Nb=2IjIoGucuTRS^w~*zcPM&qd_&PY`{2I0(T{7~6`Kp`t0cb! zy-skD-t*+W|9iBNV2%GZ)+)z1GSOf67-Aa=KifN`?30pbHVyDh-{vfgbM6H2#1m#G z`2}$XRgR|*&S@{m9RWEho~BzX$`?zTVGg>|U4?cw8mn>`o7Q#fXu z2P_y9haj|%$efC{`A7pQGfb9j;KG~ zi@lKJI}2SAcW!hp(Rk<`PbfP$$6jcyPi4Nsg6n}iB+qPp{v7%zIFGZFW7nO0I(J}? zZo%58d7#VS{WG+!SbUgR8;##kHP0FA`DgHv=Pf?+k|A@GEIyKE@sTXwO9_gPRDh3A z2HF$DN616|2|UDM=|Hjk!wcFPH-vwXCl|!<58nX)$Qi^xa)3>UXAs|DJ2ubo4)BcYHs@h%&){x) z1~Qi92NR75Myo{t-MY z+ZQmLzv57W&7B;8TzMU>F0W4;AKtQ`=ZOZZ=LbA8(+LHe$v(%m)-b_`@Wy|z>MGJ-8!O{hUu870W)~yJar% zh(FTOeav%Xd_;FdVFPfE>n5?rH_q)fpaqA-KlU#HkG|3&esR^Lr)JZ}n~3(_KUUiE z#qWN(d?$GShm}jpHl!P6b=oLT-J{95OH5PNuBwc&(=mUab-MZf^jSu5vFn|jbvxa; zzFEHJO3NO%C`lA2Dtp{7Yj>H1)UrtosjojN;*0A=+ms}un)AcPBZ>(qF1zR1$}51 zeQe*bdWocqa?x^Qam~nk@iXn+{rGPCE50j;XNz&>2I&TrJ-;OgBT(g;4}SATq3AdS+2Py-5j^8z-Cv9?#Zdm0doZ3yS8dFztqq^S zILkoOS;tFTAndiA22YCQi{LIjCv29A$R99n+Q=7zw%YOc0ow3E?-j!Ed+HXIIqPc5 zSa;LS_$Hhq=FLneRs-n00zZj$b@G`;Jk!g&05nfomF*Gtf1VJ>Li(1uH8{sLg=&2~ z3b!?|NY}774Z-y*>$(FBEa%h(QUvAzFjYVQ3OZ+Z!H*?En`;GnEnLK`99 z+vzfbAGqGjITB3D-7srn^GoB^Gmx)}XP|wKV?Ai;DfD?1ZFhzjN#vMwzHvjyWuocJA4h4Z8*FjCs!537*8gT94141y6bqzvC4z4k+KOv+muK zW_3Dv)(dO3y`R3oTGlzX9u~L{I?`6RjPLPDSv^}6@43C)zb8wSgwjRvZJ>c?<$akG z`1aRLS)-w*&GtvQbP6)N|FID)VLU9@zse7LK!ez(LPB~PWzr+Z~-m&{MyV?+u-{{ek&nDs}Q z54DIkGGeu9+09<9p`LN`%)vbfKH|kWae#NEJYu%WKAmFO3CPeqzs$w(dsIFK*UiSe zB%i4$m2%(cic%5$47}+ZI1ewNPv%`E$oVS$`cu%(Uvamc&_(cF&`{)sY2MS|xwM&A z%v8Rq3cYcYb4+=pn=%}0v*ap%Pd{$$YleTy7_n>|e%~*lZ?5_NQdM)}YZLlfPvp`Lh|e(Zvwt)@$>Yy}j?bYTALNn(@Jja(*(6pj zp-l3@fJ~AMnIu)pB#f_OJGt=m9xCfKAeB~ zOok{X?$EX9>wAAMZK+#SCw*|YfDde-Pjk_dGGZpbuX(C=Te1n|t|O35p0fDZ{fm~C z-M2{bx|tRqdlGzrcGq_B0q8Ml?o`on8~DISDasyw8agLsly3-?ryuL{nRK+j^(;P< zHGtw(U6<|*))7~EZ+k{U_gEuwzel^)hXalH_&!TUn}?d6#nkS`DdLO;*V?@3)&)9%w=NPzCKgcSiM!zWr5bXDeDR0 zr?1MsLmwDHEH-tw?Qr7GdZeMAxNB1^f8|Rl?&kHEDjduW*q0}9-@Olg>(4rU;SKfg zKMHwW8!7#jSH`LMhNU=z@7FF3KZX5eJmgaB-?BybOWE>%oQavBoA)KJPYUeC{w9Oh zFJH8*jL*%)Gqa+8))MAly`S!Bet!w>5KWZYwbJRYv~efsujGBrwPU<&_iwOlVmiRglM~LoTa?u2%tFPv!d-jQ#3*m=)Be5`?TVeM;7ei1(d^+(w=1PteZ`vdaBs zPRa(lFQPkqjiR8GKG7A}>l-oO70}Di=~)5#RcxOMv192EV6FNUkg@3#%K>ekAT|Ny z<$OJ_cN}w&aZiQfMe%A!dfis+Gvg-zI*0OmhV65c_KCmgIliI|W~&Q*^kOaC&;b)y zX^?BiEDycj5UiE)qU$%^s2S2WYsU!oSUKW{toz4#se5xzt{Bks(|e-17vwJ-*ES0) zZGW!BwIt8O7;=2~tm$vvpQ&sfuRm$FeunX7VUEwF$b8JvcSfSMx^3B7?a`OxV(uD4 z3@Fy|7>(~z@JuS6O~X6s*rN>SyU{uxtVwvi!L*+f9 zgZPL7zYC5+4gs$X-60}vNe#1mz;m7PjX5WN7S|qvKC-_`L{5JI<~Ji()pdOiesdc9=JPv@$otyG@tm2M%dEOD=Q*<> zTk^S!wFei)Fc*l!dBmb{YPfyPT!OM&omBBc06| zNz=mK8KO9224qV-|H46S?~C9Q94h<_j=yH=OA|1MtoMT+-V8Ijk~59@ys!{!L| zkG8dUh7Zj%f?Rv@gV1CV31RK$p>OWNyi3KhL);6^?ThTFXfM#5Zk6kbXX`|;&7rlJ zWH2mGB-x=PjKY#r;z4dyRme3amr`6>KS1^ zTRG&}{UaJ?Z+}~pHDbw=+SX=tJ(O*>(gwxv4!rGXvA???pC82MjlO#HFhl1 zqGKt~R(i(Jb|&NV0~S_lYfR%E zYYnko7=LmH?%pX%o@Trb@gQr6?>{T62$v?^K+y)Wg9YDOCSM}S&#XKuhL?k<2?0pXH zl2>%Dy}gSVCXBT$uwrcs;zaRr%$qoTCZ6Z~`TwO>eC;miE{w%V{gn~<9@?+D$T(QW zG%^nMmsTuJYJgUfA(f8Bzy%4r{P_QArtTu`wgNIW=BHPC!nL zU_PWR%92^M)wo5=Pf~@fi|+Yfvzop}@*DDTJF#c-RXsD@u{N`-ZEbc} zU6#aA2r!PYN6)99$A9u>%GUWZ_JX?XQ-{@=v}u38r7IL3!TB2C1L?9BXl%UE-_RFh zj{er$-^%%Mp2uf0E;TBq9!c&$*l&h{MXY{f>dF7nrR!_U`UUBEmCfKjSB+`gQnha`dz7z*Csp5CY$e zNc>lI&g?Tr{=zfXsEd*bq(|_>O6y$N{3Z5WFdvTR?3e$*IrBKwIXjMZv->6=p78+b zi}8mlZZP(|k?%a-qR!j*`b~@H$T&scTe-{&ZkSzT@thiq=MZ0x^K^}CnC*(&x}49~ zxEY@M#S-`5u7JnvSuP>k8+3jaJ-SwGUi)-tm=WV!Wlm{Z4CYs00P`z%kZ(1+FRF9N zyfW!iO&`$pT#xljejMvpZL?w!*uL_sPLA=b=30K$bb0UH_n7jlzAF8yxtlX${Hkn+ z`w$zG(LN~}laY$?Q4bJ_nBTveosH+|+qXk6yAAqTHT1MO(AQ=|mz&iN{Y~m}x8yJe zlRlCJeCNb7E5mjINxejLFpq^bU*|i- z&PL1&d?B(iUpsHyHQu=b>xt zSbqGkmnj^|*GGvCJ}>$C_3<*^dD=hswN~oUxYdBHm*WaBHuZVvSDf$kHyVPBC8a+? z#ix2?d}<G{>JIDz;Up%ey?gO%eW2Se}RWqBpZ>B zF&EcF>=Ci+-!Ou`dYRAn=fbYaHwNeMPsiN2Z=B0w+^H3I%!${tS;qD-F6$K$&c8;4 zIj;rs-pv`n#gg%VkMy_FzTaIWbG(YjB^d40Pf1_2HQtUs)=Y3n-%1;WR4zbs%cFbZOTUBABA^nVt8=*NLkM%(6{Oq@YE{s z*6HA}mEg4%;KMh!gZC=CC&tzd9#e2F?#Uv|FBiXYKDl0Pr_GWM*3rh_%)jOS&OK^& zejlGPuG^DjL>ArFz&fe3D&iRv>~`1OhC2`RIDcX+POh&jto!JzDpK(*+_Nm-mfOtM zzZ@|;??-#J6Ipv&#qCzqtGM0XLaiNoS)_-x;@(ttLW!&T@9J-fs~S`>bCnLxH&M#C zhZ98P-=FMjy^QDkE|ojn$U8Dll#JnL);m3Xe~ESemnc5TGsioi;n&fao~8xhEw$h+ z_oA&|58*8fz*}l9-f}PY1iXd%bmKCs-DTXTM3sY#ah<@p4r9$3+p}NNP-0+Po{H@u z9*dX=ogZh$IAwPJ66^AK)>r2$*l`33H&6>urXlX&Gs&XkRmeN9sd)I7-0{SaA6vBA zCzgfuREaCtIKuF^edd7tVEFT2(Uuu;qMGq%4YV-?wPoW+*!2w40uSOmugPFe5M`!J zdG4k`?p%|?7zPp8mOy&V9N;5Yd`sCJ%H+DLHona^QdApj;s-xJ?pw5*h`{AB&)>=C z-GlqQ0=#KWj_Q-2-2pw~#m}bt4-V*jDhK6n!j$*<8n?nk;k#qznewheKP~pN=XBv; zohpK>p%>oqZhtH9NhP;t%J09wtiLr;N?fIpu{hm|-!-o4Z{;%&98*4zp3GQ#`j_Vg z^k(AT9;V)Uno#nU?Smtq;XJE*l+OK2++VDDeY>V?0F_xP_bM}9w4A`1C#D@^smV8- zaguLXdzu;eX}*%Nnqu;lD4VSK2V|38>mL8uvW>*b1#v^}bj2ex0~t>$8Kq08Tq-5! zX9i|uNqsHY-s;+%wI)aUtzGm@V1Da-4FkEqteH-Hk-7zf`SB6fIuTkFi@nau z>(OK4Yaq82)6e5c5Y@JQvPvq_!qpqA4C9#$Gg8xm_7nZdap~+jZK??TTHq zR;<~>jFY)YIn-XWKV9^iWd!zY=##m2uL*Td_gi{{He}5*wVbfJYoa)S;d#H6IlULc zDWD(bd93ZG%Xqfq0>^bdz?vOX62vm{uQkv$yH_^USHy*1JA-+$J|^o-ROyD_i*<84 z#8KvmdTQ&+7(oJz3 zUmNvP^rSk*>n1go`!_)TSP9*cb9&b)sz=6Kd8G9_S1fggU;7Yq8a>{Kq+}#F&qlk~ ztXvYF=Mcwcr!;RG5B_1`=keMFWev6S%M2l^7GR79#(d2P(J~u9<1>sh13$6PfTwpD znA`k#QSyb%LtPrC@1&)6Y1tR(`{@+)bs1$o!{31Sgcv>0F5BF%j|xo1^W)NtvbD7f zWxKe?tEO7*61RbIKc<%5yQ5EG+)%Fj5!xL!)d*f)Kd}qn)y=nJ7I)#f=CI0jOWIKG z$7d zjTg%fV$Ovgkut?2mLJx~6s?CGSfwSt3wrF>km7FMxtFmlNxiJsJJIECe$t_}e4-`w zvbGHUXX{fu&0d$MdA&wIqUYV_`0_5w`Gq%$u7JrLn|xmlWYm8jf(P))dUa0!blU9b z!J1@3W+I)24w;=h@$3eNqvgtS#+rEoztFV3TV2L2ac<)l#^8Q2UhMttnkhTq2k*KH zeH=b(c7A3uu9z}MJl1gp)-wU?>cslGaDLtGeQO;ppWQ5ipXQ6m!OKPDfJa2wKk+-; zQi+$6;A1VG{mCL2$``?nQvb;e^cO4N#46k!58TlZWPIScNyZ>Nu$ntWuo66P{#CK^ zV=?5%V&ALr;YrK~Aby&i6EO7^)*o}$O&o#`bcJ&mES>$)JO$bcSD=r2eK2;`$DXgo z&}^C$#n3Fo+C$^*TuIDKr;X2(CGX~K_5H0Upi2=G@_8TDrBnpT3kosT(9K+@`~Yo5 zbK@Fj%Q5qc#-c^Xu^QuG|9`~!{^Tux z@4M&B>Qm5d&Spx?zu-?2#4N_JJpONnf9ma`q=vEjzc&1#+nl8}GqI<)iO!m}h99zh z$pes4PeS%T@hyqr9*EGVdO7RsDLzLZZ_R4M?;ItuR%g|$7XBJfL9_FTa!CvPE|iQu zpl79FJ`YTW+-2pzRp=`JE%a?sl8^P|v&-G-oMI=3cN}o(Z;H zNPDui?~Rwqyd~Lorj_SH%wF=_m1uvw!_HU99FP%B#v41 zxL7RJd^x727*p*a8a*F#@gc}vLDLOJ*)DIygzNq@oG*_EPj~98)p#@cls;O<{{0^8#}l9XCph~jAivoAw9cXO;NSWRKA&gvlAghN zc54QBNse60c&sI3tWJ**ds%zqPv^|e7(O340h&1t+L3$!=Tx2lv|h@q+yjoi3i>|J zwO4m~Bt8Jf|4$gtDa_$I{ARt?z{*u!b(q8Ym5jM0PM_Pe2=nmPpIuSN+8B>sWW>(n*`8UlMa1h^Ov}V$$3AbJV%l#6{=$-ow$evBN$adR`IR zBla9~>P<&(@BT9ikJ+9(=X}9@M(unY!Tcfj>2P!#z*uD62du|8LiX8Xt#uKI#Wb$7 zu=fsIc#KOD&(Cc>nIGk&C4UuO>iYc5#(QRt@BxW;km*~Geu?=%ALr$q2lpOylpdU! zDTU%1#)a&c&!ztU4_%Cjo#8aYJqpW?*8d95KHzy;20 zgZrz`E9sebtXt9lu=%;tKjxMGF;5)pje=*7cWt(FbZPteDaP1()+}LL3!uZFd^O5X z8ehE-KS{6K7x(4kOSkyRTW(SEVxO5Q@tMaq%w}G6{%FZV{gCISyh3}${HsJ{>(9*2 zuj5(f8#d%ze7<3Cw#ql$oh>>)lr{)aRDt$o|06`n_pN%I6&C;62Yqc(Yb>5>w!%|g zG8~?2`mlJa_pcs|r+U9iRq4y_}OH zU=~wGC7+iwZTn=_ej~lis{1lAWf&de&x3g|^DAO8Q(t^YVSN@% zRJQ*`pgDJaNmpz?ONQc(4kz1KvR&V*>Cn3>p?_6C54#!q*f-kGExoB7`dN#@b5dvO zLeK3-+XHeS-g)Gq{>&+p#WmY-enK|Q0Chl$zg_CwoQ8E@jQx+3^p+dgc#YZ0HIsE{ ztTp5Maorj*zlIo|!1&>HF+2e}{lAef(1){RVZ+}!x2Bl6C6$YCEPtgRXW>FQPKgyH zvF09hL)q;4-M)2Z=biYjvp^HomKap=M_CKfVA zc!I)6B5u_=(Az4V^?Ne|&oRbhgb~r}X%ZG`(x1tiO){rEDZuuNHSrAbC`^YqR;xd| ziFqrGT|6%D-c=iA9BZM9W8I!|er)Q2Y0NE?^(lR!yG8JWk;+fOekhOIv5~*+>~B?Z zWLeT@wRM%*+E~~SB#sk(qn#xv_Ixd= zcYlVcZp$wB7sMBoQg7ats>Z{yF!qS^V=kt7H)BVXz2uj~QNsLdt`xyWS^Gx#Lsp$@ z&3ZrmR_FvgwC| zfpInEq9v0)xhJFf3Zdmu}n>+|P5ezEpmI`^WuKx=B(Xwf>P6 zk}mXA-@h}iCRh1x?6K$GY6R{5u*bj18b5RPIrdzPJr!d=JFrLDa_sCw#{Xjc9K!(_ zvy(3OtQh;nF%pB0Hf8S97REQ8Rk>swD`hy^dqY;N8RyQuJC^_+?o_cMv?0cRK3wb> zV?&5_YR9%-j6Jc+it(JJiO$Q0i81T>p@s3O4~}c~rl=S*?kjVd8Q;3+JEHy_p9nH8 z?<2Q}w2gplXvLZ_zN~wMkog$Pxh7b{Jwsy5)-kskpO0r?`9Q83VEp`^xVbv$s#zcM_A}(R=NBL#eXHrd=PF zI2fPdXYCKnR$@^UK(BrreCc?MEKRx7S9<>4?0qAKFU8neQn9A4f%`doz~1t!2l`vT zXT`{NwwkRnmcg3KEX=JJI#REyuPkxei7(NlbkYxPENhN~Sk|jGVp%s2!m_S8FAi!3 z`1-Bj@3(-@SApM8$Gu#M`&;?n-J?}q^GNFO_zidA4k*Y}_b_9iPU#LG^NpT$C~QW_ zKPD(&raV75mu4!?f0E)IjEf3=U8FXOaH(sRQ9osTX`M!FAn=igz)#3a*uI^IvnJk- z8yJ$~4tdJXZ+9_fz~S^9`ns`E>TzhNAl=>Uy4Ud6qCMJ6XuI8qu~24fbE~*Y{%<%$ z#|@(uPYz+61?SA-2F!)H>YNAXP=~S4KWlb4<4D7g&rWp;$=iuD=Zq7bYQ$X#vONnB1|tg&VpB#+wV>;*VI(A7Haq)P-GueI5$iM!>opbYRt|dnU7Ny*8v&Ul4WFgsy9_*&iD$F0mf2X# z5iNh)C4!&5EP_9MJH6{u$UO(|5W($wdRWRS6O^1nK0vypj55c=+BvvCrbxL&=4SU@ zsp#@mVzA`mURm8x-y{l3&F=~+pEGvCHBGdzE^y_BazFM!;_6gxQ}@mxJXiT^qrT^d zxF2(sEr7A(JrCpmX@fz2+4fRu|74+^N zBdQ;wys@&rt7c5N)X6v<=EE#NJ9*IQHiGwf#j5;^EfU4kCihO9uJ?d)SEW> zAWu86MtbeT;eAsqUsuKTEhjL}-^}S7uq&J#Vpp&+{XLl1V%8S(rfr^%JEG3AsVv&w zFq^goAM}+gVr+2V#!KcIGlA2@v1*#n3|JE^x^7iCTV%~C%^JFIogdUv!>#);T^kxEDY@8xRkX#276 zRku|WP`si!4|?xLSwEoYtkga715Vl#aJJJ%H|4yxHX~dt6u!cL zO;otVTijyV{A5v0nhVWU@noUf%l#ErJXz@VXgpcSimM3SXUCIeNQ|g`zlp|^^(-t8 z9$Hi$?EMbp&LQy{p@ka0Q?g;`J5h|NkQJX1lJOatQa@ergpCoEDdRPgQrXmc2zh-*7p`4Qa*FO`Sq5qYg@11_22&Xt!saLeVd*YW}UFD6C8W@ z%iJ}ywe9V@%51%En$@9Qs+PxT-R0}K9Cs9GjJ4%L_@7uLq3@!dt3@Ykhkbne zVA^8su*!HI7;7^f_nJI+)*R+&BJB?t<42CcdwwEMbhNz{ttZm< zyJ$U;Hha%^MdL3=Vb2@h5uKh9B5gbR{`BQo|6#iCiDh5yJEYt~JXGRCk^UDj7X|A@ z+VsdIsvy<-(J(ojkHV)@s?70K`k2Rt^X8UO+ZYw^25uc5Z z8UJkhi3w4-yJ8vd8OJ!ts5#i&V?D_y^az9Gb<%HFB|_Mj-*OL5$~9oXel`&Hx?tVBgw>iZ5r*;Gqe^ zPkjaN`(NrYTYo-`Jag-4Q4KjZc)ovW@S5Zgk!Lom+{vPLjDvM@A~@p(^$qoxfKRoJ z2){=8lCf`)4Szw|a6)ZOxOA4n{CW7ThS}t0&sp;IrB_7ntc&Gk)UDqcV)vu%mgC+N zGw#g2gZ*L)Ty{JvV+|Bv`SgCpS58CcrvBV6F@&9x$A1@kUx|!S5J$(yCA5sN=P-4R zoWnzB%+3$M&xYegvA!C}9Rt1^C2Oi&*Xuw(V=TGw;eq*O)@`uPa_BKNzn&4p>`P3{ z?Kd!nHs+;l7sYM3=R-dgCClTZbu8G)IqDNEvKZq|ff0h1C<}c#AahA+E zlwUuGb>sJ0=lL7e_fOt0>mK;>iAf4N;hq*au{OkOf?UCUj<;eBXj2*3Z_qc-+Ck8E z_vfbc=P?(f*78mGz?&b2-dSs{7x}b|{~#s^_%YY5!15P*hok41bt4V~-#0H85|3@T zdHfURLA&+PI(U!+e=)RHnCYN>rFD>f<#fJ?WO`(rStOJzB7b@kJQQb^a@>h2qR8AK zq?|;|0rGY!GyM$r$W@HFH8wJrwZfyfNV_`Lt4+`B`mInk-0SgsE9A6>BqgV{Lrx1o zPTK)Ft!;>$)&@B(z_{8(@K4BTMv~~fSH*NhUYJ%rh&SioALYx1cgD)h#RGi#4Tti} z5kLMDM^;_K55ez#sNQ*#^}T-x9=6)>%l#Q6jz~u^;ppNOpM7Kqx^hF(Z@_ra`QLQ$LCKdKi>@L=Ns8O-SYFjgSKb9X9SKVL;5?(-k2yP5ZD;4$#FyW_pbb&=L)$;NF`Hcpqa z@utUZ*;w736{D1FOd4U%af3&6{SdYbMD$nVdZosBWy zb=SyTdfy@N;;M4Pzq(UfM$D6{n+(5K^Z2G?Uej^U-@x_MZwou?AL(lR9^|kcI75_^ zAoFiudwZ9%b7cko_ghl;EDG&VHPnZb&6@P{WwX#_ypPI!?bFh_8l8|28Doe32I9Za z?@-%7tjyozijny@436g=)t#(HfH=;U*=b2<3ze%D|gJ#lG&Ya7;} z8h12x%Kezjw)nxhb4zEboMM?<$~6Noh}ClzR+z2N4&=|J2RgnDIUO`P5A7X%%c%d= z+O%-^9uZj`2bl-=3D3OKih-=axvKCKG-o|gE_KTa83U=;@my6*R<$nizo%ld2)+&4 z+J z`4sMm2K{t_Yw%j;#jIsTq9{4(l-O_5wz9^lY#rOLJm0pm;fy(8TcKS=#!zAoq@N4f zR#>Z!=iPmSNb%Mi_2iwbg%Hs1=<@1$%^dqa^mzz-PT6~{p4B`LcdS?2GPfOf2<;s0 zn3s-cFVUPHyUqdqoo(oob{OrajXCqI*tr@D?{QI#-Z)U7b;IELtX`pNgK(YKW1TOJ z*+XI@ypBDbgnpxVnHj#lS18*M?LzY{JJdMG`F5fAj+uk(Lh7#dT+l8QOS|!)UD7S- zm$Vzz?eyN>FU;z&o-K8TU+s9Ho#*@PcU2DjjX2}aIvQr%I>d12yf!hqPgxtHdGHmj zvffPz>lfPbQOqU$2G)h&;f^jogt0JJ!>zkL6NkOavaGwzebILr&)-PgWm9lRRakdf zH`*R)-DSeM%Q%LS;FnWk?lR`0c;sj5F0*YZkc~@vASbX+)oMLc`ilmz%5S!?%I{HF z<-DiMAS3jwEBEiwm2H|dM*H+($e1-~uSsjlp--QCOI?m6Ar z{9c@*J=<;(OMmTpbj>s3X-}_KI@r~1rHH^%Iam;RN2M|XK>T! zo4z?DzUiBuQO&cg_$JayGH7Lt&qDg z56V*9OZ$!?woU9E$vAu76K;9Oxa1u}`D6N3#1(bP`-MEver7tpr~G~B zX2>L<^H3}1kuH|eceNjX7sM$&|A0>WMvlzI`)nn2SIE!gC*%(kHOeB8U$VjH;tS5J z1+g=4xOmyL&E8Ri>A2@+89yv_ZH@_gL&+ytNA@*klvrl>w?FHA+vAck|CsHOeVB}) zz;j%C-hDN@jCx`QaU8@SE`c6G9>rX>+62%s?#sgZ2Ud`0ZK$tZu?w`ebpVgr-CIZb z9r6=nZWm!}6L6<~-;v&2hcU9QsGWyUMPGuo4waW?Z$6ZeTV(U_NgJZ^wXrp-dDc!Z z#yP_niBs&t{kO&8k}(ootG2(J#r&=Yzo{?wJX!9i|9=B?n_FOUaw55|G!`d;*^S{8SMM(Ua4o-FN9 zo$4-=^~`9q4BX;V&+!g9aW~dXPxl?sQ+>4@8`f~06_ZAv?I##Nd6%>P)C%&#U#+bU zU!kqfX^$gKZOG~Q8Sg$(_qnXa>-6vrVq947Ol1R6b*DyduG2C+>#&|l_PzXy@OonI zWuA}FOwKVka8}MU53*CDFAndiJCgN-@_bvczMspuxLn^^todQa>*M}Bj%RHCRx?Z; zDaG5aR5lOVQSMfHWBK@zn-4xbwuozEukZgu-J8cpS>5~N=b6beOBS+kz$D<38LUf8 zNaAvtfYvOEf~i&7UO?NLNkEOIEntx#_TGemWduzN-^yZblR;XviDk4Z=)JulRiV^w zx4j0?Hj4@+a+mZ4sAGD6N?IU8%|{16@@ofDp?fs zr1WuxvExdqXJb6y5x_&ixJWwgaLvWo2uqdSp%Hr4HUAQlx|u@VA6(g`(l`1da&0rW z4r}uIu%|97a4<^Wy6XF(+WvE+>%rZ4H|v5$>kF;kko0Y(Of(HVnki+|hDbf&-$5UV zzr;J%xa&;|>jOW;yr>hTF0f~^C~yBjmxZW{iLN!GpWi*ecaHTCc(KJ6CCf`Yzhx{r zKD(i5dFZ@yd^XNb>I#@2_T<@6Rt@^Glg>!q$6~+oyyuziqR%tdPJK}FKFR$x`gzum zz8}=jvw8Y?#`ixc`JCioyw3u8O`T^|QxsjT=6QnijN{+EI8;mi=5(ezKprw{b*PIm zekbn7`o)BG^D}t%oHzbtxPE@xn&COxqhZ6}5RN_RzdT&GzG{@Z^`rUv(2p%$V-8T2 z%hvGw*_}wgpL;q^+m?%Th~QN z9YuMl>+L`&i#n-p>&5G&YOG2pm2VB}KP(C1TJpQ5hPr-*eyQWIPGIgvoUtYJVX*Y? z0)OZ%a0gmqL}#BSjuEe`kC%F<4Cy*7GLNgF>o9a2)NkD3d9ZAzXLyZ+X#GZH8zX1! zJCKv_1oHt6 zQ!cQ%IQFVgsB7!AP-mSxRB{&c98Euz`e?8%|8%I6>*2mK)b%a2`&s;jb3p&yZgv{6 zt|!d#t~2IX-$`=}=sI&gYd#~^b;f1N&!tT1D*dddx!5K;DGxID>xp>bXB{R0W?*Wb z<|V(7zHt1V)6H(b3G~4Nc}Dz z@YL()kJDMcu@L>UJ|A;M&q;$U881?PcskS-!1;b6-tA`}dqm;XEkf0>;=1u#ds<;> z&!g`0S3tL9&OqR6&!eEtw!+q2-EWKa&~q`bGuNrOPR@Pu@?A^DvSlqu7-_fR+;jE0 zH#PrJ*3ufjIH1}E)-kw(a)wkdzQM(eS)$&a}|rC zs+5*o%AJH`r?x4VF?Un62}M&NV;XfGH)*V^IKF5Rc&^dvJ1$HbrM{!X?JqH6NqdD8 z@`0>laF}sWNs)1G8Lk?vFUMs8&t&jV?Iuw&R;@R?Hd?K>9N*9DRSuUw>vkQZ)>n>R z>&xJiwnf=e(=px)YlCMo+taqn7#iAwn_V*hWZt*ee(Hm%hu3ogFiT zw+wWmUNd$iHsIWOB!g+}DOJS=@&=(BR&Mn2nx_S?`;hxwj?Le0|ptBBw4FppVg zw7>Rj?Efsl!5x5y+W{9df!DWn08S)cKNA~l3nb?ajE0-U%eu?l9jCGP-O4}Pl>@$z zxuoYYztK4Nk}5Z7pH|3PvnAF-cR6)1^drq+JP&ZSNfTZ4y@L!~dWbQ3e^NGb-lIJ$ zRoDIUzw{@I=yR_K_eq{8)8dwVZ@b=C$)8j_0dYe5@Y4p1=l2TBR7;^=vzBoU32s02 z{(D7!DdZCQ?07s&eKPyw{SNWaRI6|^7oFYk5p%B7eP;jz^d&7Yi5;YK1q&v7>n?+A z^i$H!;dn@VJ%TndqUp&%{LKSd*9Nm3$ygJ{BY?+pTZYfkV-C+z18xWl^$enmImTAn z+~x1ZiO!eeR8A$8<0;+u@~y!k|5n@T$7gHHAXlSL=Bw+4d=Wh+j>G=fU{+m>n)^Tg z7;F=)#StT3*oC>7LEBfFRLo}|_&&y|R7n}f+}LZjyWV7-Ih;E+vAL~zxiWjJJuQ(T~?Pb2a$n`ol*~`3pJ?4o;nh*iYII(23F%ll@gt_s)0my|h z?sD?$)!&czR#w%Ox$y3}csKQXHjD6Dzma<_?WR?%JE)Iq9_7hp_B;E`IYrYJibne~ z?aq&`7e$aLmVUk9)}>33ZzW+ys3%jClVb?|A0^x-GYO~(g!|2P%RsGl#Zr0S>(d+`B-J9lp9rUb3 zdujvDkmFOerVUjVkwUnx2OVsgSy8?>4rgnss*gokx)*T9a|`RgpRy8bW7c>Y%2)&L zVy>khK4$TTOxgXrY%=Fq zifP#+>$2>kv-yp1ZS&^egln5O>oR6b8g;BH58Cpj!M3NB56+H)@3~~|(Mu|WZFb|@ zxGD0Q1J~k=Ydh67($<_xiA&gDhl@TGIJ-LuySq9E(R1lY$n zEy1?C%nIHK>)+Aof+gS09L7`MPqj2sUMQd+{GS|Nj%&|Ek;?xLk7z8|?C^reXRXP` zChAD(H?k$sTX0X^fbo9%zr+@)e3;BvAmdspN!!mKOWQn0<@J}jLeGUtN(nExR;OQU z4u(ot$4BO*U8XfQYr}KWPSNj4-Mne|y{WjzoNbUDFFI!%VT(E2z6|>IHt>(nm&RQD z^V{_2+weTk(#RZdO8=YgyJM-IyeJxSMOsHD?~MIThd=MM(>5e=}FpU7Ez}8p8N&&CflON&P?laDyN3RLC6(0?C7P5AV)$MP$isEa{;@G^Tn@CsGb?`ctn;Ew>?GGjR z-!%!m-6RFWyoNT%EQh9gt>A-fm%0Pna=|C>&fmv8Fl@v8ueM7?U>@4ae)~h6?K4$> zb4c4u-G0`w>rQhAR!$b)SS`Cq#nY+y=MS+qNAA-)CN|5wg|0KPVraZQF^o?W$3)^y zfq`V+6M zHoNrLXP59V1}>dptl90@;}nVKI|{D8Ledx0Ey1>K)-lGO{VVCdo};J^IFk(?Di?Ff zjS*el$rFmw>_HiG_?KAL8=g>P)I&UM4z^VehW1&9|RI;HPYjGGb&o+NH zOBzB1Z-Om*YC- z+9$G0X`{yVqFYm9uC?P{0`5^S(;qL2_}`BIiQjOSFVONB8`ao?cUf-~^dBwSmg4{~ zllQPEr6t$;4N=Z{Qx`$MPb;2vn!~v>v!Zfm21d!9$-Lo9K1begBX{PXKS#dNGmBLY zaliDJ$QjBvT7b#3%Ase4gqPd~$)~$A-wG9zCthQ z{WjXW@GR?VW`iEHjR=Lhc#k%Q7VK|ZpF6OrPXwGxCZ@JrDg3_zE;NJBV%{U`iVE<~ zqR6^JTSC9_W<1-I3wp-fz_N~znAO7^(t^25bA8w0KH-4;e3MXmZ0ep#8&qt4mTz7h z&yQT+UxJ}7j#JWzM3pP=G~i~yoLh7T-~R{WZZ>DPQZLa=zt`pNb*vBiF<`m{*Yj~+ zHD_5`MQqcJ`8czL)^sCtAyL1zqG9m>*Y{?;Yg0qn0N2)71NJcmJk|!#sJV90$oH?I zeofcWkajU|@idX!PaAfA0?tG9*~fI z;d$2jdw-&;qw(K4+YBBm1N~~`kA9sY;idCt#gj>X?3bagcIIw^`30{L zi`s#vNUC{pGr$t!y z3eGv#wtnb;x-WqL>xTZP`A*`$)SnnU+Eo|k(PV7-%9S^CuY3%j6*sUR_0uZmzTELQ zB|jAEHJ?rhg|FQ+nAbGZ_qQ*F+VanaO4c)nnYoG2rfc8y+P{}$~?_pSb z)^`aEYoF%(ceED+p^_hIlD3pPzOQT(lj2o=eA-f^9rC&9v_qCu)!b6v;t<96fOh{# zw|ST3D?4`&&*L@IcREub~5;Ca3WoGv!&`-pk& z*5~=yDDz~j)&=KzJUq|u*+t4{;4}VdXujz($Ijp+W4_}XHtX}9H_CkJJAc9X9uLo# z@B0?cmPw<|d%W`h$Gq7Ne5!)Qh&kW;KQL#|JAVLk9w&8fxq6O<@vhhZm*&j(u@1+H zbD^xU<~$2?mhJu)l71oiuh5ruSNYeIl^uAcu+|vyE6m9-EN_i{WPS)ogdZW#g95uz z3(w)2igy_~ADB&g$ox)(f0cc@dm?GD^*uLvkV7?lSjALrrb_d~_3fxYX!P^}|IG#^jo*%zV?&RfKD9s8)q;2L9?GwwZ0aA}cdjiH_a4JNIc~Qa_d_!j z&&_dXz8mUViu*OrsnesK2eka9;Ncn93` zm~&I_{H{oqb`_H-UY;o$-_)eMv9{onE4^EV8uvszD{%gP*CtYy+f-eId*i9oarjtk zOxAP?4Yski=PB@Otr}neZ9j|G<=s%I^9-I*ahW+XuZbUhE_oy;HB^7y;_L8iw@Vbi zZxZysT`OX)_7a{fLh^V;n{mDEN-1CMploNcOIdV(geU-k&+_E2B>Mq-E6$jq`k!U=f*|s5s z?}m)l4PO91_gyWk73Wf?%WQ4M8tvj4ha5)R~ z>s8TM2cE76XI2Hyp~5_MjWsQqKdI0myjIWBGUnl!_NvnLfRB^cT0)_cN{2{c{dIAf zsD-T2sNws1JR{fmhAX|3G}i3N^ZgX-@4i%&^fOPSl3RC#)=iL|=7Y|09SZdPl>AMe;3(RYPYcz5p^Wk$|5N7S?@&-k zotC<$?0$SlBHAB)tFWxcoajni=3e)6tlt&5cYAK!om22RYEG`{H`{BDYBtDUHrr7x z)!v|`*pDWP)CUvCUu#bi-lM@#$yH{1>oLt;z5}$!@q}pPS-b%Jh2xxP?8bOGZq_N- zr2Bh1Hi$;Xe>zU7ad95Jwo9m-h0O0R`$OLrHP)gy`AuDl`Znh95XOB~!$W1a$B5$4 z8oUR48F~sb2>5Eg>zam!vLa7o*^453YLR&y^W2x`dmb+99&nU$JQXKHwV{)$4mQ_P zI~}S$R{ucR9VaobH>b#X9UBbEd2JrVJ-{W$>c;QLvEtk+`5VrzO@<9a-wW<>=&i!V zn*j%u4+ADkYoWtk){`iTuLrC=@{cRMgUnHuCiM=ocF|L4OBz!7UH6mY(SMort4sd`!1J6@SS!K5casm204B1rt{z_RtF%HiNi;#LlMRW2boe+e} zcu~^x-9*Ul!rv30T+{=;2JpG|Y%+MDEiv9);PVEP=qi_R>-Kkiyk>UG^UpslbqzQd zdYI#SoQlEcvpwUQQrQ>i-44qVr#7tnBMdjOaWIT9r{DBu)N`ToaMH++=BB ztf-Oa47{E1PrzN^T=C0s6$3Ay3w1FrvHh{RJHb~M_a!r?J3Eyz5zpH}D>05fJ7{#8 zJ7BD76~;u`OZ+ax`sGwyE7#qEePvGHoEhqW-HDK_-+U<9t>|OzRbHN#yYPO}$3Z>c zIDNPW%rfU`Ab|IM5Cm;`FH~|J@OjQ;;jN5!`#&@1xTveGl(k(QMZ|4c$BXvkTU1>t zUOU4)J@nC)`R7Ct>1UqxrT}X|oJHID$!weL`{Ox9_aDJK9|1l4ix8zl^y9X0e*vuN ze}azZ9SC(&Fa9Hwpw1QdGhG*~!Gbg82+qPG+Vyq9O|FZ3uv}jQ&X?!J>32e1y^Kr3 z_=HIu6F*UF^=-BT%yrR5GsApfv|4&!f-Kjbsq#p*uN*&62^qWx^R=e9msGo(W>;%Y z8*^{iobK|uhRwvP?1vq?&4j$rB?rQG6Y6fQ7zb@8w3Vb~xC4{5rVVv2y=FLb@`^wIvICmSXh3fNvAVIDP-sUdn3p_oVHUZS0|ty7#@Sz05mQH?yLA z4`bGtGs5jIufuv+vZY*JEZcQo1H8#8Is|x2Cw}O9X8w=VH8)=-{LMcVivOnSL43^|*{WT(bYNaQ}mV?;h;uy1l`+_v1w1{Ui~nb4efb#zd?uqM-$PMwG)N+)tUPU%FnhVRJQEy5IRb2LmH;NH;>{11<@R=irz z5cs0+x`hAvfU;v!AHsU3tO2^{F^hMaNblb@5YlxbX}+c;r4wngDV<1DoYILjnVN3= zyB2I)lqv#@S=xs=o=wgj7%O)deO;ci$+}j|f#=JxiOw^CrNtN@@LKw^q{Ybiz9rNV zcf?8mS>Kc;eT!R71Et%*BQ1ce)Uc#};MRr(WeaJCYgkzJTP>kxA=c?uz!z)9e+(RY z0I>BuKDReKP{y_&q0LOd*R6oBj~H{Q*OBLXbYV}wG#KjQSxvuj){Wi=Sg3cZT0zto zHl&QK733bJR*>|&(rX17cJ#gA&90xkCzm;*{%C61(EF&{@6z&YeSk-&mggdF^*)OA zmoz)ew{u01{!o6C9t%%M4w?9pmz3*jlG1D*In)!NFXsmSyWD-e_5_<#D31eQ2B+z9%rw_N8uJ zN17((9=2=8IG>sdnvVbNNg{>0uA8R{|I#dx(u3K>A+Nu2bB|> z{@71wVtqEwhiuU4CZ%WWlJCh2wb6btBL9+UxO{v?%1HS*Z72ut$ht;{G5*Nw1u5Y? zyKJ*{-np#N)|54lnA6~-^bZm~oYkGHmJ(W^)>jSKsR8UP2iy^M=ohry zWbLnxfSokJPMQuolvSE%s=X+~UeH&+&D6XB^uTY`vh{t*miy8Z0Y8O0{O}%OrVV@1 zgMHv0FbCAL7+(zN)8hjPUh;o$s{i{R|LWCVV=tKl!iD|%KK99|A4Pp*4Az#p7cay9 zMDEKY|Bv?N2JFj)WKQF(9FTVI80KA+y45tmUb@WBVR9V;&-hC@muz2Up7Qlg8!tL> zVERwS3t3--_SEraaf~#}2|oGysXv%ae}(_EGTuwtb@n&Ed^iVZA$?aMD<9(;v%iAX z*Loj6R^&C^5o)viEA!ZlFY3Kdl%HgbfkXI7cRnWFE62V2aPE0Z%6h*gyoF0jc4h%r zD0j<#esZ<<1MI_x*yE$Ohot_&h)W%c|J40nr|7XmM*L^}xQO^qtT*jT)Y}v;(`0^n z)}NR^6z5@)>-*u{bCNgc3WPel0IRPjiR0bi4?8~j-a+d0S2lPCCYhDrME|)^?W$B& z4~u7V4S0hE_%M#>lb>zMy;4i6eg|vz7+~bx-bW7J?s;%v7Wf46`m-Av%kF^8affMK zO(W)e2k1EEfaBm3iZb10$3Vy34G+sUt0%cJs20q z@hA8M-pe^uG|VfTjX4yF)EYO&KO5tJ5$Di5v0~QGA(wI8h>Htp*8`un=4hzPsn@0H zhfKvdK_kcW5y$Xc-6L{5kCK197yPu9^;PV8?3`X-?o|vRpc4qYYyw&VHWy zhuh8$wp}O>H|0Rqi(y>jS#u0{$5>bIRU*LLmL7-l3mTNZ|0bFD(z3fH7dYu>e58@{ z(w(d5!@yS2c@Q59`fA=Pib+ez#~%iL5Ixs=r?0(1+8s!*5@!V4=4}DJre2f&vsaBg zBTkNTMo7GiIwLZ0Mr7z`#7XM2@ZQ4brc3^|vgVfZN*iRRQn!DvO{A!rGPyp^i*o@T zm$fI3fS!CeO{7$o;@rp$4b_F<9L`r8;)+rH=p9itkqQzb^Ten;y}$cs1y>&GdYMP) z&D@=yERoWCi|~8$@O_ocdowDm9oE-Sjo8#4%q??#`b3-2Qkf|JFw?uNbc3PM;}?2uj_cZSBLBqjdA&I@-z%kZk%^Q>3Z{@6iV0oq}289 zFm%0>|0%5NZH`g(Gf8vYuS>X*cGRl-D*V+A75L!P@z=6Uv?#@Qk+ z6J14`NN4Qk>!zIkf<>VBmx1@4qWHw#``vz9PDOe96BXsXX5hyC%uiZ4)vCvgQt!aF zzk1ERBuC@^WJ&*tUxBCho0vl`yOh@myDyOe>pGns2(>;yw2@bzWBDx()ZMD=c0c-dpETvH#40))N;U=UXZ!`5%qy;tw3*7t@u z_r6Uu(qCp}k*HmScedWum0zjw z7c$oP%N6C#2SO$P!gog0B|n|4>W}kX?>wmNGo@b~9&M-1A0xxMz7%SRWh$`@vwS`CIy=M&%lZhYtUR3=iR9mUnd#rp=^H0Zm97g+aZf6y*{!4wVCm`d|7F7#5O%;{y$&N;(!c5Y4kw$sQP!B{*G z`d>1PKITaIf_nwRm*O+e8Sof;H5v3bB0iOUS8KU;o3U3xRrjnN&uk?f*7qa^Z3sg% z@vZ=HJd$SinsZ!Bbh>HP=_cRhDkzh2f0ViVab^{eZhm*75vS_g@l|zZy+Zpc?&ayZ z5t!dPu=F}vt7&+Rxtt;^;GK4J+92ne)BCp_RW;^DQoC#AleeXDD zo4$94aXoVXxOb^v4cA;G&vgoC`;la~KRW(>IGmJi^l4!@xlsIj;49(y_rarXr^_tX zR?jc;G7g^c6YQTgwCpcDoy!~m_2{2AlS->lwGd1yH$B_CCWut09yd=tW$)4@JNdjF z&(WXL^Fm85$0zGGMyy++DNI|oVejkD1CtF}j@`(=Vf|3ZwUh9Idj?#_pbcx+y@9zg zPxv(K)xI;K+7Wpf94aqE_f@Knw0m$+o+sp0ByS76jXd|?KF_%?^J3_Eo}+Q*C-~2^ z|FBu;c$4nh_?7?5vp?VJ4Sgl*>@TnmJNrk%uww{@BiDbdGr89;hOK=hO*PK_Lv~|M zif(@6EB_6C32R3CVdR>9fd7&F64z|z|LvLyoA<@&HPdXv)=bJ3F{ANIB8p!U4Y!%b zmOCPIm-SAOw8<~?V_PG5P9qQU6y`ymvy(C8N8;6brbWzkG}*&s68ono6ni7(k4L_8 zZp`|x(KM+#DNK{bNBH+~Un`O#>%S_WyQ6bP)_*nhNYV7CJ}FFpZjiKYjyk6nYEF!! zu^wYe(s}Lq5%2l{?|N^JqDR(<+yMRN2}L&aTLZYQ$C}iT*64I62kQQr*pz}oKH?M z=ydu}|3)q6ePh&emi+Ur zIU{k{pwYk$Ifn+!oBBCp9+peO^T>E%bQ%~5-_$3~nG=Tb<}vg*2Amsu9InIeIb*}Q zVKcZjX_R`37Xjxb=Yex0&&-0Pk#&y8g7f4t;5;t^&i9FM|2FhXcsF3ZnsPgB+xodm zo`r2UNqApBEEmm%>P#KdSl3JGmDZGpeeph}&%jFUz*sg|!v~yxc+_F`#EXEm`=_{< zbZFyBdt^gZ(Vx2JCGY#{-nje>vxtlxvd$v_IsT3^qpr6 zh|G1GAWGcQZz01Mb8fJWzlG)w?$N|r%|9b3^5;*)I@ikoud4sPSW%lT7C*y!Q_*d$ zrr~W@L3YVO+dnhT?&ays%OG?6M8=BbOCOes7k8me0N;#1fBH4>cFJG-;$i|#Di-A~ z$aq)F{v5vNWq%GIZR!JO-7mKDKfYgziup70cHX%_#erwW(0?*hkDJQytvfZ?w&z~W zYqjRK{@x`5@0*1GPv6v>d$(#GTyyYzYaidA=r!5tTc_gew@nVVIVweCL9B}Tu4EoP zP3&i^os4C!&GbgbWitNm89c*0?QGAOUF+({r4JM1MZWbP!8Tqu>$+9OJ~K{+XK zzy*mfKRG!lV=9DG>BV*i2D3tMiUTKZ*MJ+Qj^Ik+tp#p0XDa^$;swW@iRbF#R17p> zyvjVTv?V4CW)e!x~qolURfU{N^<=}W-+1+FE9I~#0Ge&t7C?{5u- zYHy?ufu^3VIu|OIdB&OZK1tSydUBdxPmKPZ<41veYkU+eFup%C9cL>V9&H zmawl?6P>qJ2ycFjxcw8e-M6J>`Sy1T#DRjxH_x1o&z6>H+qbU}-kG6L7ie#1wbkD0 z)a?6el)mu*efDZ@7CT#T-(!o&JLIeAV1D*~%rW8QqX%#EEMV;(=8j6a&2z=hDfld~ zF`sTiKmB%ac1XCc1B^CD>}!FE`#K%_ioJYO$i3_VuF17I9V+q3xO#_=|M#8>mHd?d zfh+Pp{%^(qOR(YVrM_6N7EiKO%{>(sAA_v*ua8AyP6i2jWyeJ+ zI?UGohG3{R#w>Oah95t6OTfTcjt%oHdSQ~nbNU?;$BB!JfQxJ&X>TX)N8>#0?pr1W zv)ESRI&j{=_wWAZe-GbB^A9+2`)k-w;P4FL{miUMABV)C_hOFD=~?Ol-g9Tu9lq7EIIQ(9(PhN|}#N6deV=jg{+&xVFfo{3voJ zK-MTGj_35#SJ=}xUDkc3U23e{KCa0!?@i}EjEQeD53~x~`)SZvpj)2|gol{~7)I%lO`p`Ey+Ie<0ME33wyE)3*DE7q9W2 z{;z4?$}BZ+=>v~BZ2;}${>?BeU#O=rM(QwlhQClMV~u^rS#KL49m@9cxxeV+QocE6 z-%m?bJ`LVGgK>4849Q#$GHxSXc-h~NOM{Y6|7@tPuElrq^k5tDWvk2yq8%7~P{W#= zI!3EsO8i=9qg~JBI|+RIrQ!dRs%+w)T`4*{C?DY+Sv%WiXPtZfVa6iZbYD8gveM`5 zbd)b0^W!phGh_<;(yana^kEN{95#8E-YdMUImo(2yj~v)mDtcvHQ;D2o@ZSl);#dV zDEMIB`{A%*9fFOYoBrov<11K)SBl($jew1_5wP)ye*G+9;S_iZV=jZB^-rfjwpMY3 zF2)h&gI`!2VSisUrY&^*#>}Yr9m*0bQijWyC+~`o$>{eCxOhbqT@EAe$sB3_%+~Fn zH%Qs+D_=g>#`YUcGA1wJ0nD1PpC;^Q$C=R3eokSo@Dx7p@L8~*cImrd?QaT%YNy8t z?_6Q)x9I!%AI#AluWE>Lt~*V`^-9sc2Dhe+l>4&u`Et!GQo{B_W6nG88mViEoTu_9 z$R6fTkdL`G8F;dYc#`QmI92h~-^mu8#(2*+)`Sa;RU2ijYxJ?ox=O;RtCZ8#i_*$INt3h?%K3^wS5b3&gDM z@tbGv9=`>=<8w1zz|nmC*WBU(foob!!c2bi46%vJCU!ILEY6Gt1$%RO#`F3r&E{GG zSgHSw7?N)moC`_bEInc5UX13W!oB#Iyhqf2Bu4E=Scj|j!#V1Hr2Dp?`oGzabYJr* z`;q?N*pF?H`Tt+;M|2J8GxtyL7<`a?xstIyOP)Aj@L~pUy~jK}CZR7PCSiphlYsYj zrAzxmI4Ah z9SFzEaav8|N}X{LI*jsM zcEHP!E`)iB`QOlmXi6sJSPMbJ-;;7w#f$vk4%&S{m#gG`{C``QtK|KGQ0-p)e;0c* zoc|U+%`Dc++-E0l88%nS9P9PDG8f!PnM2ANJEG@Je)L})!K_H$^g=uec@tH$PIGZg z?GqIY_J5`oxl-Iu)?fP82HQkYIu=Z(TV)>Tu76-Z_l^(4!>qX zrViz=1Amc`;P!{&RLmaZPIl!E&tuk`6wYI|B1zO{Tik(xB+>O-2|M|vJ?ZLw#s4OG zIT!n4tl!62Z}wd$9-3+qZhwZBVduR=gQ400=yVp=oib&4!)4ynhi&w8ETZ1xb+pN| zy8Q!y@fwWjdb61N)#dJWjF~BG_)gjDrtAjlEDtUH&Vb_OvwgQ=Uv~kwR6fq}{rkZ0 zllM32G97cpwwSV8ZE2fwi&NHb=rY-A>d>C`eQ$-_dA->(mGAAxdVB@%8Z>9P=EjRg z>bm&eNqFxjv#Ft9e{VC|WNW5s@-?fDJtCT)dNc40(;Y46F5gf_$e{v(`8pt}A0ML)yc80qfOxANQ>9 zW7hr2aM^TUQ^H)+N1@s(z@uf9*jwUqWR5P@@*$mjYNEpZ3R4*OzdeNeqn|6I(F2|} zk4+>!IR9BRcD`Mu_a<&Ug?FCLVBO}Knr>`| z{N+KrI-3X-QU|HoZFQ+)NelRoj>}kkAiLC}r5EuU`xs50esBWUaCABQ)R$lFh}4Tx zrfk<`zTb14m%7V)MPcb7J8iL$Q7;Kf*^mCw)Lo{5ets)n>A?H2zNEdJmlNw!b?M#> zPO~U&20zoz{I*zAU!1a+a7{VhyJD%MP4_W(vkB|^*K@(PyMW70VxW|MwXCH*74(^X z8oK5>O|91-cXOSAi)Pjw7Deq_RsC|AW0tjVGew{&YCW6BSWnh)Xt|7ex1!fm=_5~l z`OWqTavj6}qjgeJr)X1aRux-Vs(4z5>+AZOeFk}z^I)!>^*RhR4}*bp-`3sKsfEYP zxVt*^*@AY>5o2z~_?YX$gE4mqHD*4~>z|E>+#k7KIP>Zzx&1vl55;-$eErt$V3yp! zvy3kbpSh89lDrb*L^ZQK^8xP?<_kS_%o!l-0PT^niejy0f*br#p|@a3oy>u^pC#p0SHVsXui@7-k< zUDxS$lSn-(Yn~bW>tyT)b#rwF|4VrzMe)CejAFE%{hMG`FL_{`SJo7Xd7<=F{SxU1ot{U)C4MXyT)z=Li+7l<^rCsc^PgqKs6PeF6fTwa|--@+# zyG;W>=Zwf*i~H20o}iCvD7mx``(Lkx*YvI3ich0V$+kYBV1WFY5uYJ>Mf3MwbX17r zTVikqo78XS$$0dWK{>9|x*cNaCo)Fd7r=9`o6;Muu!!27kE(OVs1;8h?E|!Hf^5QE zX!N1%1;5l|wz2NIFNbm{+PX5r=e!NDF0h{`(1!g&{+!hcUdk!q@BI0Dvm)~MUMa%) zd!O2^d`yk}y_YNfoc!Mu6UFyN5uUGs+DbAf9hY0Kg&rV%YQpqwU75aOdCiR_E~rjKP$YU zkm$gA1VYKcqshYGTO*cC8-&~mIqyUsXgAJSho`u#XR_Ph3|Q!CbC*}fk1OrTV@$5{ z6Jl;b%iR@z3t+-hTTx!fydIE+zaVYrR$s}f!8X|_kZ?CKHCw#raZ~e6hR58v_)-+0Ju+GzPPsOKLzpnXv@SaLd<#o0^r1$xd z=0Ak@{`Bj5jyu(+vlnAN6wmYD;+uqae+7K^$l8z-S>vwUpgBG3M0v;|{D+OcHn@8Ep-Bu~Zl(|26T)Pgc~xE{pm$&{;Aj9Dti zHJYBICvLc&1G2*qy{AvKr1!Bh#;3d)^xX!UYsNXiJl}h8u35ex@3mCb|BvPQF4UTH zN2AN+X$)HYn|}*tIU{J8iJzeD$7m~asm6;U5IL!nISkp#QQ>Yhp`Gz;bX%Ui_GPJe z@>)aUc#J2fs4t7{95U8&TZSm>#~$8(O{J|@v$|%QlUfNccz1a(+I=CX(pF_oX#EJ+ z5;DZKKFtRCG{N;2?$0sXTOofRU|uTvQJy*p`PQ7iuX1qiLC8d%J=AL*zlCwXFR+HL zg?ye>(j&^=J0fK7wNbM7+OX`MZphv{#+JR)N66muVwLP&cro_nSlzxHdvW$<`ty8% zxfwQdWiL;cdb$sD6-_y03j4(vGA#2g4b3$ofATs#m%7nb#+sl#=}|N-dK>*m`m?Bb z*O4-A@8pVwhKzd@I2D?q9q36D!AL&J&~1VN*>CW@%pGLtI1T=HZiZ;gC(oD`E#; z`UrTX+e6n%U#1@>4a@UlQ?bBwgHI(&KZ%)I{@%IcbX{zOauyorX) zUU=)giG~jZWvLR(-|&H;+z1#Aa(>KkXB93ORtJ?05TbtVyHJHpbTv+ft8*Oap0 z9ISgZZI-&=WCb(3<+-K!oSrmy5U?TPZMPteCO}U02qcK)rvMB9sQm@&&epv8%!&;amy#fx55=lbPi&`09Y3G;Bh zmw`Xucy&1bFm`J+{8=Fs{wy+y0Nd?}z=sv);XZ+<)4<2+{(u)cJN5=c^6Y5A_r;tY zJhNM|M<y`CYAqtBXkujbeZ)8`0g8MJA@o;jSu%V@iir{GM93(F0*3x)LZL~AZ?>+UgsYF zZ|udNUj6UwMVY=AEpg$#UU@aV7gvw67mK3y;vs!6+GEsS)I{#Z@ltO;`dqE=!>yhL zWec$OEf-k(Uu6IH*M76U_9s5a+8h3s?!Lic>lm$X<61DTq*vsZdLq{Ufmes?TRKM3 zw{XqaUJES$CD(0|v2IvTAJ&cbjT-Vhf#nB%^l!5YZ*|2NuzndX1C|?PUY45B~RL z`c`I#b<4)Oj_tF|b*29(XgcJrf!@KkL!hlI#K23118&yu*@t_9(fEp+c8|eV=)C9_ zG13S34(uQ8>d`*620syPS7&TMON3p0?-+LVjk|`+VDyVf|MyL~s_tgG?-%i6J?#-0 zGFNcAi~b?6Vy@VO{l*>~k~QYirJv2|EVceCv@qY!^**0JdmoCHgJ&m%l z?}*}Ic0}_q@9MVow{@HPKHZj18~VB4kv8;5TNCkyc9EtycZc%*vPqjr+d#0b349mN zP{VEzZ97{33ff$xt;4C?I(kLe))8qJIFdPB#~wXquC0XQ%{ks^z5df#=hy3x2LF6d zb5@kye-u9sLr-V;?APf$AbHeYb3`ml?C9_odYv|XcVM2b!zACIuBrdsG3T#AX0iZ2 z$lvMu%UQn;wjIV==Y*{X*{T9h5n`d!~rs>8mIY49}GoslTzA#Expn zkIXOHsnc%SrmVE%c|1I4W=%_Ej%`uvW39U58Q!WT9Xqk!t@)bc4`bOhKY97$;d1W; z1(z)o40~3ZkJqPV2HXCj^PO@Xu88#>2K^%ZoX}zDchoIIp0!xUl~$QlUfs$}#s4#R z-D62^|4Nt6|Gy?>mEbno1ad`ZWPQRGSGYdmdOWw@EV}jxRoDB8oIQt{`uwTETYQm5&z&RLPLwixCaX;Pn+AGS}Qx;@3vkZW9G_dZ{Ktx~*=7abyLVFAVYA(JYlge*W3$P% z6}+&0_ZM29$Jw}A$eNU{J&!J5r=_U(x$!>fKa(t^K96~?05>~&%$cs1By|RFqmMr0 zN^thF=H8U!jqR&6_aw$=cp@& zH5#fbb`{TL;~f!llT)76_doLn#y&lNs@EOYG@CFiCbZAI7w{ZZI@Fi-mU9p-b#l7>B3i|3@Se8%wHx5TB(KF6AouIFYdU6zq2x56|$ciZW!WIm~& zk++TTtOxr3!TT)*iZu606bYy!^ zlRvV3+=bdN9NzxSYa`oVDEB05$M)#7v(9;bUr596tU`mVP#7U6ysT)!qRYYa=r$*d z7WO-ncFF{|pEYD5lXqRCDPJ=BpRkWDFDsr|-bep9i_)Wg$#`$xB^PJ2%VGbMRp0Ah zRyMn*C#f1WfY)O7#eSM2#z=i;F2@M^DdI(!MN_e z+eZ8QMXg~D){u3Ecz*O`tGUj2S=AO>l8ybfskQ47;k8?#*YNF069L*Z_CO|T*JUCX zp6$kU%Ai)X>BVnjjJ;{hqhq!68qbapzT4wON}h~qBR`$z`_CBVL)MlqI(M3KYqH}9 zO8Fe?a4|<}z|OVHtzj%5ZPJ7E8NhF;PmUL}dckvn@ABv9XEAjz#GgmZ)>covIACdP zVoYHFM^;hW@b|&C%@$EIe>vZu<@@bXm6t!)B03NMtGmPfW_jy>{bR7LCyn;-Twl4_ zV(*D}`^RhJ?bIUZpuArYAaK>zDAlx6$qOVYX?9^>0F`f6EBqO(|Et8`yQUJeZFw~VKiAaEIW*p zRrhLP*}-ZaU3NJ3YbC3ujnr#jP$nEpug&Td+(z!*%*twDM|S0E7oEX{#7nf zz6o@5ESVxw4!-U0%DymG&VjqJ&X%l^Heu#>?@>P4OKKof*e~6;VOzc^eLqR%k=zDa z*noTZJZZtbJq}SyUfYgqixNfZTiB<1@b{$m)u8S5HnmUr*r!R@r^)(0{mZX;mbe4$ zCZ$(kY~GJdh3DzhTR1+-t{>sYMZEye>_w0V{zzR_%y9kQ zo510A>4z>{J(2S)%hg%Rnh(;J8Mt z%|dyXaU%3>Gyz^nxBp@rC|yc_58#>8E=s^>bTJ}rH!(}#Sj4S(uL|25V{ zpby(Y`YY@H)V$__jPj1Imx;zfE6xMjlqNmb@)zr}xd*wX8%~C%T6UMVHj9Cms)ePM z?WYHQt60y-s+so5+^D~7*{xb7;}!B=Du3^vRR!AbtAMeTP{yB4SEo4$zSh}Arz2f7y6wO(Q)9uR}>B;OW(}lwsFrG zI#DxuJhMAktmBR6o9^=Zd)?$Wf|_>kGgX?^MY|*Sd!9)Idt*h3CysHJ1HS_Qc%1nM z`T*C}nspy*UJ#e$n%^tRFVWAe3E{JA2nRi;C>)GYIM}V@D{Z5k$6nw>Uwnn^-!AKF z*!vTLp<3!1>f(f~FHJoAov#1fFKZIs|IB=hUykFOqMYOB*dxyywbvtcSj5rS(Z?@7 zQ2r0B^)#CQgW>m3r~6;;74*MOlm6E+*l*S@pl=%2TjpQ3NPYA1ZH$eYC+pW2>;7Z= z&*v}jJ$mTq@sP6fjb&ss-@9p3VFH*3R6oo$8~F2}U%{_B^&6l|j|kaS&(QT|(o zzc2BdwD@ko&3|cr zs&O0W{S5Me;h%r$o(&l5R9UYXcxn+M5UF41ylZimuy*trz(%B>qtsuF0s}=l3}`~; z6B>enLpuGB&JSYv68`MvvEwzP<4+9RVJ~>albG+R$e07nsW4TP?ui(i7Ry-cOrJeF z9GB9p)AfVnR9uP&d@y+?OC$K@zuNTRyOU( zIe#9Tc-l*!&n9ltZQ_&lIrc`(@l=b&qs;O5%<~^H$LabUIXChqhMki0H9zTQem+%` zQLiy+@H>>@cI)}HB6%Ikbd96<(J-cOYp2o$P`;;5tK9~kFW2pNc${UF=L#YBG(Qdg z(K@cQ8Q00X(D%E^tbD(zx2Es+o;XoVnQr<;=n1N9N>5<5U7Viai$eL6Z|VEr^CxGl z(^&rGsrM*^Y5lYb?$+bK&!_8|K92mL!V&9KJ}Jd_EXpTLTV0yFmWINL_%T2cV4HY#J_S zk4Aqs(?+YQ8tK*u`tw<*!o$tF4L4n&IB&Pi#Ya6(hVO+-Rlc5o3xxJFW`wa0 zVO@{%F?lU{gneer90G*V7n47qO!eL&*3~(G%>DnyzApP8*w-&c?5ihYU)}n?{ytvq zE8}O3eLWK|itb5nn$5lC9-qbj4o2;7dG!8n*BWC|?pb;!enakDyIz-<{?+`x)YM43 zo5QI!GSAT&v!h7ve=xlNk7576KjZol`+v#m|JVI)^X^ds?EE7I^d<0HK&Bj@toFpC|T6bdGq>K zbCd;qkr&fR||vHhg@=j)hudhrLP0E%nLxnj9I&!?Dq~p=OzT-4zWDWt%ih1LL#macxRN zec5tN*?}0RauR0`bL#L6qF)~0{TBD9rmoD2woc7bQ?D`apD5{ryj2*Fely%v3Z)k#DI#HMu zY%}Jw0OKZZ8!>Y8CC#V;{#Swy+yZ*=MbL$tK{IZ`xuI+{+*|5=ZtkW|PWc=~##kD1 z`H{(rA8KDYVc@qhV*TbAQPQ(d#>EwrMp5=|*2FRK?=yl0kiY9Gd($qTJ#S(q@_A^bh`{Gp$*rr6$xaJy>^85>{bJt+(oBuo`$nPt^ z`h(e9FprOawkh|CH@Y4^`s~`-4O(K&_HTPVej15*$eZwKiqPuHE+SPD>v?V z&pX>&x#i&pmR+^cx$FxY*94azTpj$zx`vy_<{371KK*ZWP3H+Xi0X~v2tp5`y}n&i9P#7dCz~i%iV?ZCJM{^iB_@r8QOE3 zPlSqBW31g-?%;~Q%?S4VVur`I|Hrf6irf4!+a=ukJCau6{4mWeWscr$kbAJ+9r28Lb_e>`Zv35X*Y{^P{Pgut>t}C% zcw5qYpEfM~=u^&zerZjIW(4K$Wi=aDd^jUGMXuRB2aPr1TC5_hWzU~j@$rlx<~Wh< zYZ57wh{nfyX9UrYz5az&xlZe<8s~diDfxI#6y7_rRex^&@fkrop7UYv7L<$BRm*I7 zA7P&tV1KKZJ-@L!_zk?zRwJK7d%oj&t!cI!|L2yAMy~Pd=Qicuq$Skw-lb@}$s!s( zw>>u7`Cd!zeV|d4U(A5F4<*jx)22C(uN-_^^2*P#zwesGdUp!;_h~P%n;a*=Fal1m|HrM6Wg7@#h0Ct;?!6+M8NuyL1@d_mj;J6E+LC*z+{>>s$Qv?0nG3>f#q4wg8T7 z%UpoHc?YXCi@j!z`@TU>5HzN#tR|ED$Hu!-f;1jTxR;>9RtfL2O{uW{DAMWyMizxp4 zrkkAIdG6qk0AKz6?sD=dt<38L{($s>Fh$z31vI4r^spgu&xU*Ty93Dg;HS=_O!gp*3J!!)KO*%c<4tfIk1Q}aAaUs4pSw&+5=t;wSt-1R&dyRoN z^!Fs*eDo``vp-Mx`;Gt>u?Dt*P)Q%=UC%YaoJ)v{SIuy)#rVWuW(4`I{bojRIq>Zv z;G6x$*4$&jt!iyt&DFrywZPSeig9^sfmdGu?)?JuSqpsnXtLYC2Ke_0=5u>Ra^4Q$ z-vgM}L%_Y;fM?afy@q91Z`=VG-wqu51pjZx?`q)NcHq}T61Ntts|Id8k9B-k;v(=; z$Gx{D&ee1z&FNm^9<{=i$H(BDCao_+P~io+;U<6Dxb4RJldw?QOyt@O&Nhl z-;BbeJ)_{!Ejk|cjDkmh-xLG*0v`QClpjf(;rwv2)B~^O`=W6)R?&sh*Q6?kA_pX0jF;5IQbRE%PE}t{okkqh&j+d#lEn2a>ByF2NS{X zC4uit2LCq>?NfkfsU5+UF{9=HXkVEf5w9j?E$Yf4>ahnphe8p(+m343ptc|L~PQh&eqSolhJ-bztV93o(g{fMtI+UK<8t-(3@Bxu14paVYuem@CXKwSU1j_0eZQu2=D_fd)GN%qxfbBDzH1?xW1 zQtaD+(?8J9V9*$OrmhCA*8}IPK?jKEy};?-e}ws41J^rFhKfm7NzbG4UFbWC^~bYseHJS2yQ;}=CvW>L@U}-4Z(H@8oi(;( zop{oaR?-oi2lGE9zbIOriGSS?!C&r=;xG4KB!9X8f0Dn%I@R#3aN>Ib&Vso(6IQ>s zI=Am(~Lg%$Of(BvhQ-?AKo@rwrv2dWINJIKGUz$%DySWPg>azT1mfD@I(7K zCRxiyU;9G9U=?7}hH*BWoDuW`zfa+F2J6H;namGfeqWyV556?-Qmk7t_LH_eYrOEb z*O!$In617?@SC;<#;{x6-r3I6n;*6S7CJ6z`CZkMKl#*I^}A0kn0w15y`Nf_Rc$06 zRux-icQsD96EIU_;b*r<>1W-R`bWwfI{oMw43)fse%U{-TMM*V(_R&gg?3Tve1!2c zIWm5RIdRCBtO1^^0e&#vhA`3>XqsK6wdA^hYpZ}`E}Szz2P|B%?7EH4lBB%bB%Tm2 z677mly?>n(_sE}qLGp^^MH3~SNIvw{xRieEuYxlVaHUT2qWz=~+ivm@Pd3?@W|9;*qkSt#vi|0^o(hh2)Lo5$u%1K*P{xAKN&-rZpB~y$X^R^KXC$Z30cDZ;QyTn|R1P-Z%XUyEg%S4a%6q@xB#*Rdpq(uRb!x?Wd2Fq$POX z47jIG_Xzfm{qYRnELdL${d_&$d*(mUPf*2s9Rcl4)t@!mcH05tcQ>f_7N>hZLHq9w z(x<}V}_|lqezaW>}u~m^gDha z)W!NS9IKo!b4-~h7EQk+-TNl)0|$#ZMq_-_(e`z$HP6^RfzXa#oOKrORkEgiOvo+w2m;Oz~+F2X*v#yc)O^ff`ETwb)(wiY^SBtJ|bmR7mx2sjXqH+mX zU%9wk0`CMvS&RRZ@w==s)~qDi z9cX{zrh&o)(Mca0)()vNfe&v2-|7?Pw8O;2h;(;TI2O+tq1)fB=cOyvL>I=NPTw5r z3-&y!_{C4QtK4*7ew4nDS-$iPcbSZ1Uz_4RjPY!GNi=3_Z5xi6KOe+%?q#BwIe2@% zM_pu=yzaquVFT}Ga+k9|%kfe#`>FA3vpN8)IHyW_aoxEhMe>+^al*@3x+(Z1dKQ$~ zJq=~xb82n{&s!4;6}Nsz^*#ST_1quNn)KWsDlQ@Li(uO>wBZ@p{bhGh!x?BAw_xHT ztS8TW@(}dj<2tj(c73d<{jr((_f&3Fp|N(htSQ)Nrw`msz*)gsBpK45e>28Qo8Ef* z(%u011MA4^@_nW1eS8n!(T;a)J{Mw6=)iJ(*6Mo{nNNk!8Do_C*objjWxXmj&ejJ+ zEzk6M+D+8m?I-U>UXywU%G`S%b+7BWR-OG)j|-m5hO?jlTO^++g1f+1kw^FeK9p6v zvqVq?RhzR|$0-=ct>gv4lO=vSBM3Si6oDDRy2--(685O)auKKlJiLtGfUBZEY`wvo z#Boo?b+h}$IiHn!`gHj5hqG6M)Lna|0_I`W6y}#G@kGwMHoX_%np6&BIpXGV% z-9p=+?re0GLBEwUmlVHMlFxyk!*fhVjJ+&pJ@`z-iei38y(5#sN9>RM5Dv%r!ePY+ zyJx@MA&zui0Ut6P@0&HDW&N+X&Q~u=x@xABx97oME5)3IdObUS{K)bxJHFsrmI6D0 z>sXeAee1uw$-1GULo@}UPk5I$C}-{CZ~A{OP+$R#hgRF4g+6@O-8Ih z{3cG6e-y=^;~mE~U(WJqXW$^yeC`a#mr{;byxX@f8!}ap1e}c)P0CDBSFl7~%`?_! zx2vq;B}u!_%X>w3;GQsK1BTCTQu|p)jJz+mbM#Zwy7Fh`Cf;y+E@R*lmKLXh`|)E3 z;huMT*l+&)k>2s>TXn#<<6f!RoeN)7yYoZ5=Zh4t1K*o(7A5Sn55DfKtE5Y<-xJqy@VoV0-pWwJ&W}HZ?1oF?Th;$ zgw+h1>;XNLggxtpW*^SZJq&w=euZY^Cvfi&_<|i-^>nN4a3<=RTWb{fEs^pft09;E zN&|cq`YaCkD?PBo8)0`l7W-kt{qO+oI<0)xT&-Q&q80E}nEzTRb91ZVuQ*`?@*Cro z(^ql9XHnj0vAHCrW==HD3R1lP3u8T$D~iv&`&NqgEsnni<9!DD_%a=z?L+YSGHBZM zZ)$+?+dCzlCK24S4ESsx@yj|azuVwLvn=*$=biEG-e*L)8ioJ&<>Wdo&xz>qEPu;W{p<3sgPsRpNvr1Maxdyv*J^nybLU?hES2P2w09ET zk&c~3I{iAw|Ieo1Y|yW3>XdTEIc!OVZde36sc@P@F^l94#vM3KUfxde{t$S}%Q0xn zcfU{Z&f>cyowr@ZI!+2E{LjY8ZBo>@pG@&yiZKdBA0uVAD_b9DSJwaRajuW1@5d?L zPar4FBckZ5qH;m){(By<1?jv#ksCw~b8|E7O zKkh;P_!XKzextFb1w3eL)Diz&fp1P99rK};^dWw`ub)yb3L4>`yEPlD3v=P8HKy|J zKZJ|BH{aB7=z6u^`s%;b?u*-aC)coqa$7Ffsj4ovYJ0Vn&`;!x?wh8Rv##U!sQ1(6 zKzOXQAbgWaTgNKEoXc-E_*B|_l&bd2#(jiCNoxNg^Q_!6&t}HEyFE8dzxt%U4oN&V z{;TA0Sw!I8Cp4e!4FBHyh-vAldmcsSbxyh_pPZ_i>s_XyOySKUB4jTk`vhv7`*SM zuWdE>O%Cn_ROS!t1!#9*Qbhl~@Ese*Om+mN`MEvuxkc`q*8-j_EAOOLztLv1K$dE5 z{uOwu&{!*(y_#z!ZmBti>p7MA)*OzjVT|Nh0-O3X0Y3!u#v#UkND+01%4g+Duil!w z@&fU5Q2hPjhj1m62&tre8I!K z#{#|~?3#}T9kkOiOY_qRKkc5x(e2YBxS|b3TvVDMw-ewq!nbWRDZTD>VJ+7v?|7Fc zsiCfit_d|S{i;`m>yByn#b6g?a)0OB`Wc*f?(cltckHH{eP4d3 z&KIno;X8S2t*`Hn>Avo<-l!K+-iX9 z01Z#U{!MS0$#HjWV7_?#2mCJR81ss-cD5)N_#ixcJ>fduU;ApGIrEIq%=jOjXZy@s zhx*K2hR+gFf&R}mm`|QJr_Q?*bq6RMD?88>$?8DaouCotZ zU;e7I50+mJK7VB9eV}$xzC5U%LE370a!P|3sh>mQ{uuYgc>btzv9dwi(|J z;(9dN_0SII-KNGb!^P%N`Z*-~x5NVblfszeEF1V;i{J7UadDYbSc~1TGuiw81mWdb zwd2M;vOB;Nb_IUCRn#4m)BP>qSLqKo&5qH|@qfP2CcOE5iQe~9h4%+68zY){c1$b# zkXpty5PLwsL)-pywag5kx#D7R1U?CU##Q;T*YtmYGGgTIxu#V=$YnkAXpz#AtCr1C zZppn!nv*-H;0L*^HwW@u0e@TI{RgMRb+fYcd76EMbvLK)|JPNry1 z(eCda0-k0>_GZ)kml!x=*{(~cIC_$Di`HZaFLjo(I5WqEb{T88K*}kycS}vww>;n3 zioSh~4P|@KH}z`+d@A*PtB3`KY7K~j?EaS9>a?97wyjKrc1m}N+$11yM%Z1veCgB*uYyRTn4XMsyuWwkbhzX*JnxXMaPyAhwAe(?%ZF#o-ytQsR{-DKlSxE7ZFuII z=2LRp_NPQ};w$+gISjn~TDEVWdn#P_)UtmH;+^-`fcIrdzZ)oGL~{N};eAOGfhSLf zOA6Add+RmbyHqHbg%3do%R! zQt0<)=-ei=C|MONN+N#A)6mgw_$E!z&+b?$XB>37d-3=UN1)4B7`mMLdc2feLtQ@Z z{&5?=VH%k;{{AaAB;jwBp}SW=KY!!&k^|#U-?|##txd)`ni0_1#FJY}w(9%udRg_| zsr`Ka8Qyy|TQkWz`Hxfkd2S$b&WZXs2|5^hdsQ#!(F~n^8||(w2|2S-<|*SG%{16E zJcqQIXM13)&@Z|jHqFPdXZ9_wv0e^aCK0yGCe)c*G9u?mlv{yvoMRq>P4lP4H&}0n zJ+rbTQL|?@8TQO&FXc|p#vHN3EH%A@d4jRvnRoAF{C&c^h*5ZE{FO+&Zo-nd7;=h! zi05g*^IqWiA&jF_Ki9Bok8!5q3Ju@cIU_NrIE-@*Jm=uKY^1gaPu%m2Lp5ll@5f)h z;d0K4(#Rag;&B^3#$V)&(#yc1K40Fd&5t)3zMz6RlINKoGH69UU4eJHFF3-=H4)l~ zn|Bp@J_-H&HBsQoo!j`r7eZ;s-7@dM7qlf-W_|d@Ld=8jnZ&D=OK#k-2=f;A`tFEV z1JV0^-0P$L#@JGK@cw9pb_b?Ni)RO&b{w{h>w3P^_W&5vPd4sfFxSeVWx{(ivAU zp6o~jUXwrz?(5HcdUW!PSdsh;#=8zUFI$|Llf5`;!<#~sx^B{8IxeR;3D*~Lx^ooc zU&QP8^VmoJMX6reXVGV*QZE*P)L)76CX*hUp6BdSq2tB_jwOkr$yFqh9rW`-Yo1$c z1#Kzww2hRfSKA&oCDrgO8+8C}BxUl*oNn0Ww3#-8_MgN4rmdvFPKx;Qz0li9khPJg zZ`JnQ8&SrJZwhFgU`m25lw#1Hw6!@8z;>AL&h6 z@7XoZlgIPdNxDtiovF`@lh1QTzkBS|xsh}F|MdFcoHoiRk(}BzI>j{xdwW8n-We2mV!!2$zRbaQX(eYG-m`5GSIKoh6y+ah2Af3;iIx zZnHJO-*C-@-&o7s*LG)Qj62bX5IWq1`Cne|%M8}P;2Rpx>TQ(ElE2|qzM}@r7RVRx zQOhQ$f_Y1sEG1_y*5j`64*hT6>(lN4YCx60#;3;eOoNV#_wnr~zz6GdzMVfs@>T*) z*DWHTJg=5xj3vq(<_8r;=I7xnj*ankn$oRpCefrE7RlZ5dYtC@@L%rvHhkbqOpZHE zVoe?Niq;P7O!L^u4yV+dVs(h*N=e}v8LNWd)?c7}k=C!~C&x)*%~9UR(&F+B#GDG& z|9;pUmD(Nc3^kx6iekpl@;~-itt(dzI7Ud;<&Ool`P$>0>?jaQjiZ0g0j{?Z2A(Zx zf#0_rxS##6vIBM}9@*-zfgV~S!T+5tyv(QV#&eA%Le9(J zyRqJ7z|GBSc?SCF2EO);QA6eg5$YU+Kfpx(V%!3Ay2^6`)6MB30Q)@9YGEF9v%8Du z2=o{(p>U%XzdFzY`|t$M9$kWZ-&4!?gu=zH%hdqaBIe=Uwiw1j5U*&LsNZV{?gXsnk))aA=KiG^p@y2n;f~!#Zp11R=9h2j_X-T%;MerUFQ@n{ zBVpHr#s#3Oc2)=hP0T>w)Y*UQzMHLj z-`~@9&(@*3XI`!viiXM1hksL;hUmkyV2Xx?HcIn3U;&(42jWhr4hzfRxYMbFU}3wn z0L!K!u;{Th2j@FxEX|=hdN|mr%Qc)H4|g!m-f;FxWX^6GA&M!(?fCsH_<09pl(9;V zeTDp`{SD+V(~!SzL;kuTe_e+Bbq$d}!s{DG{_G7}{OdFF*M9!__Y94p^Iko44jRL@ z+nNO*P8oY{ezWGBo8Jx@{HEM=Zhj-pp0!Zlo^5ZPlYX$-dgQDk^8)*f3Mr;(;?m_d zT~`6NlIuf^Psp|z<2@bo1AVrvcZ^t)LeFKT+n(wEzwCz}SrpNAs9!!%e_lNN1AMF0 za@^bfjo_{71r0&o=dK~W6V%Xc<~MDgEg3m(^s}PT9lQbbTi#e0?2!}vpPUYN@QfW} z5sy6`uDcuc*Z$S`Prm^Cr+*FnryDv5c5~72_#fn-!A3}hjlg@)v=J1{x3dfzfw&uL z4-E3jU_0FF(rt%M@F#NyoJblK9FDg481w3J_z=uD#CdwMEb1DZYG7Xq>>RFVNmlpn zG*RasqXzi<7X1Db@UlYshIi#`lw%IU*?C^KS9m`GY;z|~c0Bw~YGB29llLX~xjUpJ zw|m!$^^nJa8{cV5O-(@`MY>$gF>Hca;jjj?X2)^<`mS1Dz>>=+059Dt8^NqA;h z+10w9@u%AR!o|u+EjIjD*m&Z+HXd!yOtceicXC~dwx^-i)g-RE}o>mOj{?_gI<(EWwFI)Y(Ujp)4he61p77bfCC!iUC;6%q z@RKH}7if6mS_jWQH(V|PX|O3luh4P}Y|8yg4%g~vS2|!n?e_TGk(YOV8td z&n2+mhT!H|IZD6eQ~onF`FEiY^N3DcVXSEKm>AcrIdB{3;zrxNbM-08y&_pWpC8ul zq)q=A`t8%n!uPVIcs`bs{GUvh<}=o<3uShi6c2TR`j>FWO6I*JeLo6!EI;2|3>;GK zDCZU_4YF-^?`Dn>%O0E6yvKI)esj(}o6I>}|0`K6&3G2}Iro34�SyaU$7i?zG+f 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

    ZHw8xy2kBN}OFuGoaY#ICJg77fb* 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

    gy1)M^)T*^>rXGpnTpI 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

    L?@eNEFc)l=>GE~SAlk?;G&pDgwH;VYy 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 z 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%0AK`HVAVrCoAs^y9ca?QM0t zACKj#ET|YH5?MvmQW_J51>|=zq`-p3`|)GseT4s7n&ccATe2vHd-GZKh8!6-PZiZU zrIIxD?y(j;|FRd}rc<19NxD#hdXbC47S-44GWJ@1mST`XGd9`LMIx6-L|g*y@uS>N zrkp8{XaiH)x1M12{Iqfe#~ z&G&_ORtVvTiQrz6@2tT*I=pARiO2h{pVH#1<16*(1y#(M=sM+D=t&Xusv4g+(IKUD zm>Q~_h_7zxc)G=jZPJdv#wx`A*lW?7W7e1!wQ_tJq$FH2Ah5or(u`+RiDPSKZ~S@n z`hPlLBr=e8A{R#gzMwN`&>7e^VxSLOWxuaUT{t@7kr^;e8VM@Y>7y)wxl`bh~{lB zJ@O+!$U_dPAnh54R6w`-M)jGe72A+`h(?}qqhJzfR5s)nO4HD51I1%?=vt*b*~Ry? zVfJq~wvyb&M2Tc$i7LeWjKkhl=q)SqrdB0fqJgatcXC?npSLJfArEu-t!3g9`D-8< z{P^121;{V$;k+`+fEml8aJhuC6=Nt|nud{+H6klW??%Xv#QBCQhF_YZQL)?#-E19Z z+J>^+2)NuXwZN4kS-VyPc^-ZmuG+M#=C56qGx>UJy3&G(?vK&PiW%->1*4(pEl_(U zs0wQD**UzA1hai_W)rL>3awge$ySP(#m<<-`-mJ8%9unziHbvV%0AHA6{0?S_bFVb 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

    GJalOI_hB&D< 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

    wIiM&HpH=C&A9})#f1c0f-<#uPIWhkW>&P{%bJ5 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ⅅ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

    R}*@7uKP{*1l^qBvF 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%0D1oaGxGD9>HgSR2i6(TZDIf{7US&lD~b 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

    -}Sb^mCp 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�Yb#Ku?<(e zyxp#f<1bwTtdKF-XIf_gyvqR$jJ9KX>?8Cjz8WN#)s-i?lNJu*7r}@aU83OR>A~Ds zeoKxfqSotBir9fMxWsloVXVQ zXwpD^+v~ArIn*2rHH;K$RsgId{R~HikmZ`cVIj>Yt;Z~6xFblcfBS|ssDQ^TETZJ4 zQKDWy=I);Fyp}J0^1r}jTvE8YFjM^G>u1BC`q^0guItH_OP2mD^uZV2Ke>|qC7Xr% z%2LvkA3y%;{iztnW!?Hx402&{t5*J@Xvxod`=*2i8fQmR(gxR#`IKZVpk&`8B2Sca z=4EuUd2v!h-3jds`x9$(V=T4P`6p_pv&(Czo8hv<#lyv}fM>YuD{$8Vw3Frjf)i#a z5B;=>+@PNG%w;?7aFSH!FtdZ~z`j2ac(QHHaYmrnS#3))!3xVBhGpmR8D{moE`!bUJY#N!5YC&^CsPtp{7e z06IL{tQ&~`Z$Slz>Dktd9*t5A(dQ@k&+hS5phj8B)wP+n?hPu)X3ly*W@(27=~Ioftc(9xp4Jld8o+>L6CUN<8z;|s@;I*2LYWgKK>nRr&++@)t4b$kJbCC=bb z^FVuF^ih8HHl!xmD`-|WLPhkzQwO7Onp_B)bX|c)u;M=qnh3t5Tt)Lb-6puGVM}nb zZA+_q>z1HG*Ii;ay;$R7xiYS41&pq6p&8V_uBZqvVwjkV6I04u+-93_W;hpyEIJxr< zfsf#u8A9IZw;^9LBeeM>*r)G}6xuqf+e#&006iPXC{=^f0M-|c$}Dms2ILltMVYQ5 zbb{tG-P`yL(3XyjqU}_%Ef`-w_ulvYnKz<$o&x)avacj(_~%H+zv(dWUwWA>U2MU%4c|AzyONxJ4fw52L5G09x4Nxn z=+&*rJ-Y(Bo3%%x_hhdwU+sXLpL5EW&R?zs{%+thj(;9ZBB~>w1Ltk8SFOW2=*Qn6 z?4A6Z-w|uK-$redS88V%!p_i61zS+LRh$`6HK5k7@=|sauCrskm!sIrm)SX#y!OED zzKRk-vV7rHC^m5$a%2}i;(i@uC2>McQ?bxSMRs<|+f&j&qVq%iL!8F%ab;}QpC!vX2l&Fn-+pGk>yvV5J zon9t>v8f18sdc6pp|p%28U?@dJK~(6mdjpy5?4a`N)-2a z85kF!dkpFdthvFOGc77%Ca{|ptQ=CGqn%O}v}+#ZzeiYG))n~v8tyrRZ_V|U!O27g zIs(Y~d$N}jpe_Xwr328caGFHG33SW92DZz)fTfp!XMyg;%w2In&>z&knar7Bl0DY< z9^m&+n}pq0h=p3l=F2LW-D`5uLvkSS8d&MSujehyVbO*oyAK4m2o`#E zVBXb->zRGRZf)t+U~5GUM@@Kf^GKfAe@s|;nv$Q5XRlh&8+9=7#C2SOggYkV(~|3k zWil?&j&|ajW(}W`PYi2v8H;dg1iWLoB(T1gH`@jKU~+T9@RZwDab@(ZX{!#XuFjeX zw#=QBT$@3OFh|Eew(`lRSFb88dU7@Ucwy1%Ct_}%7kZIuYJKAyFT&RCV2aGNj&zzmZ;W^G= zVIPm$&!X?!_>eIB(h`(&vPx|A_?}kF_R&c(#~;kQ030=iu#YW(wkNlp4;t&v1(Sqz zqbD2jYmKhJogL9L#FH5l!@T8#LcFIsaIKXzq(VP#noh~BIa`zos;xD3a&AukIj?M- zxV}kM(cQ0UwrK1@JJ#^;b=?r*+*vrP$>Oim+zlU^8SK-cnf`lUeW1V6g zev4sj%irpljKxm8KLYkw#17Uyd(|z z)ps}W#HmaR-rpVUZ7HBtkuTtn_`RJZW0~`d-~?jIQ(eG4Z&h)z6*DZN-M+37dmx1U z5fj+eDduU_fy7oEfkjT_va!2ri2enIkLV0QRU2Dz=b|`U6rV59EcQ=A&^VD!(pPTG z`Cix~083=vR_Sc3?Oyay7K|M3zmllbR!DLL_O zRu||Lx|yg?uu!TFODf}Z>WSRUVpZ`1S9crjq4~_^Wf#4S4*4nKiTIx`!&%RKTu0D_ zd;6@-E%xA?V$=v?xZiWmtE|m1oDEK}#y0sGg(=z!lr2cRF)t7w)$1zoTTPAdk1H4AD)hGaUH9`K(};dgbsn@hLD8t(lO#}Z z%-rp-i*(x@$??mBx)>$c#`=^qj4hAZv4LLy!uPpJ#1~rKF~nD zj!S@p#V~q^M#-Z_MW>Xskssr83ef(1Ks6 zCXH*GHY&A^8I{$>4A}tnlaUu1)$K+#9Us5%K+ZoeUGm1Uniq+Gb=U3mRed z^jUo+@yQ3}3!3Sin=IAud%}{sK#AXh&__%KCe<``V{B#AOYp3_x4xUEnr|w>8dvb$ z&mY}H-#Jy0u_vARZrtSsk-QA|@K(i0;6}xMT zssnBxu6Z%sMUCV-{SkGDnLZqq#DAsaTu@tw=Nu|)vp7g)st&yEi>*}n%IT%x)H*Uk zx7$2zG)H|_m41($1&vfagpb{;+poONv@3j88Ggwt^OexN;0PU_lWqzQFQ60kFYeFj zxRlS0N9lKr_%Gj_mrExh6dQBCy7+Qy+DF9j_crnljutI`Tb8D&sB4?0F}mV+Zf{j- z0Cp4L+s+Qd5#HG%GgO0Z04c7Qad?6%++Bpr*Mi?*+Ks94m2vyQCN{Aa>^a~tdK`mF zpZ+CdDz2OCj!mq^a%g%oPZ~PAC<*7I@s*46pbSzFOee23#IzUCY%Y{99|~!2ZjHar@p(9J@!`PX8L;%08P`54Fr>_+QkEwY@h=&O`c< zl*dstt}Xi)%s949hPLr2%<;-+*c(&Y$YC5i+IFga7bM57Mr`|iZPC|>|HO6tZVFpZ z{C~fW{dG?pdGS`Cr3-zQ+H$n*++i$HbG|Gu8YJlh!jl^0=f7UWI|bA<6J+HCl;ytr z+EmwZ{Q^7ex7W6`R|goOlumE#9#wK#-ui&*&HX?f_$@QoXV*oGmm1<Zc)v zB>@g*YczY38t&xKr>Lp8Oj0#l%(f6lpN5$ zCY6t`wB{MUMBevnE=p*-+(!oG3wpHbx{`bLc;ZX>T-1vrL96Nt9046YAMQE>H{cy= zj$=bS?t+u$>Mti863frSb1TN$8`(D!Uc{E+%EBIKw-rLm6_tsHrg2ozT*|MD zXV7kVQ=Gj={{Y%wHv@4uNkPD26XJg3fOBANmz@(Y zi+xcWs(tL6c;<@ca#SU18gct|PO;CP2)%DSET(_#x>DHLr7Lje9i?!p1e9Ed{Ui^i zjDFK~nKXQzN6F{Eq~wKMO5XbAt+nP`!Qw~HH0m0^0S@|e9=K3iDYPbO+5~5Y#rBSI z1%;88;x(?Q4ovbc$%t(?@rE5;Dq1U6yv=%0HWlOXyId|qX zxsm2p2R1c}7=3R|P75{AdrlTdt4qN8LAi_`o-_5vqWWj#ldA&XUzHiE0^eRmUGA0- zI_3g?-JTQn9T4%y93!l_f*jw4zp)(ao;6Z%cjw!&d9lMJJvm^M251i@NR0 zYjKvTD!^SO4UQ?444rbzX5It#)rkBpp>;_~whKWbe04Yhzf>YI?Z#-3S*iDP8`gZV z26r6&)itg~F^UdP7|W#NXgr_}$C63tonv^J=MRS3VhB zaGboTJ;Vx9acz(ltl4+E#BVT@!Yso(LmZ|maHY+E4<%3DbIT_sd&cz4?3QU-z8>{M zEjx&hNlHkHZD(R14$2>x8GfC%@2633z*2<`NwKAYB%0L#rrxxW!40l)V>y{1XU9B>8A_sCL8RO41Xt|VJ z)%dS1r_JBweR)yzdTF>jEi>wI<@%>y<`mhn7<$Ql4OgF|Cr~GRV~+EDw%}k#V=#%= zUYB`3@sfYdZW)@p=qdPLl7j!~``|xiNm($8XWCV9lJYJFvLI^JD8NV~LnP;9(H{Fx)Z+_AjZFWnJ_OZO$ zhT`ct&pcF5ePzrJ&=Yomo`6~dO8IC$JQj6=kh~wljK`H#UtR8ANv+_tTt<*^dvHaB!bOTs@w_v_X5D)-A8wx-wA#8 zg3y~{jP6Tj+?JfA3mRXkjAne@h`IJ#j#^&JkzKrK`O)%HPTM8XM(PTj?IbT^eGB1! zcvm*p7#b6QZNwdukW)p?hz+CHxE^}l)oS@UCI6VzvwqQFUtSg1*k)hO82$(NXjQ=4 zhB15LA6GRp{;Gd;r!=pq3KX}QS9GUb)`l?~;a^O-?H{++2WvTF5o@dp{1I&C-N5Nc zJ4-XTs=)GAG8$wO8EsZT%==zBIatUz*&=FW3o}CV-=yceF(o%RfA9m99Mo5}Cij_K zl9|+?0NzhC6EBJ$u+BgS@ayIE28$8yCkEdZZ2k*^W$_{W zd{Lg|LeO#u*O{2*mD8R<@2na$4l+vNDv!uQS#_VCEa{4k2t-DQ9d4I}FGlmmJ3 z&Jz}Z5j5OWf(Cuy{86w(@lM&;J>#_JJmD8{viPMzv8G)!}wcw?8O`dy(70SvlNe5_&1x1U>K&jJ~cwTbIhWSq{CTz-Ly_-@fje z-Ljd%-T12l3)@}=d43us#=#_&uSBWf6Cf;;-D#FjqT_0FY8z(erCq4V8|?gbFjZHZ zGoEXAJ_=g3+IL#Evz2JnzLOaC%&vTOepWEmq~xQ0gn@Lre8@GE6L4ZYcUkoI-{K<` zz(=0T-*UeVxX5!ezY3uy_Psqf)5W*;%U5_qfU%sf1c zK+(Z)*jFC}v^T3ShoID-wbTb6WOMv-rV2u=Rl&zY%W-G*&G5vmum&H{-muu3s785abp!5Y z#ePprXCXwrWOj>M|7$L1!Pu&NJeRI(%1qn=T6Xx4xnBe`vd;!H&~64TyDBjC3Or?_ z)}PHO_kj*{4YmH!T*~o$&>b8B|IIzYJi^xJ<5&Hic>YI9{hnYlaYSjHSQAMnKDEwa z3CA8&i92u(dlOsp&5h*Cl%>1JTuvPi{P{8=wO>9Txw^RUzu@laro!a z<~+g*>$?bfU45f#{_I_X4n(T1EKFN!O)82|dW38Cy9_t37p zX&ND*ofWu}3E9gKy=w>|YW;mHUAnthx)^pEPmOkuKHlz17-x48*6zWyl$cl9Tn-?HrF0V5Sb1 zC%VEMY}YV&CdN7!F`9EInd=%FY8#7fgSrypRzkiUJiEf9*V$e1EVPYa+vd8caT?1I zE3|E{s|xO`;od;!x(r#<*i;Jfa9;)Y)o@S9Tu*B1t+o-e2;es7h;U7H-MY7r|2WQ0 zDY44J+l%SPGxo4_1s;a-rxv^6;9`+cmCpIxu@1cY3F8YDpV;H;*`VR0*irqx#ax*l+Bb#J*rA-ROv#Z?1=y4+q zzrubo<+@q^ckoQ!j{le4HBMoJeyVaO#M=0|gX(#Jp@l8TgEY^(DS60~0BIPD(CXasz(C04f^CaklZhDYm|2THJWY9hs zhZOV6NR|uQn}A~xo|9@mtaCxSWGmp4>Hz=xk~B<5^L9ZUCF9_JGWN;(#0{Rf!6hCX zH~1dwgL3syF47tWzM%(xp{Jb9C7Ztk>dvCf9VH1O%tpj9js=QzOYgUP#sLmUfgR&L z`vHEbG|U{G8^;T#+X?BcY@O>pz1>v^_+Vn~uC593@m=!q39$)=c*v_KWSj?|yUU4v z!0r)fN`KN*2Kgy#b9KMN`jH;P{EbNad@tf;vK1``v5W%a z%T2@#Wfa?8_d^*EU^!6UgBZg53GhBoya!%ucPXL#C@6ad#N{BYMp4cXw$z2P0%*$R z6lli(OSrOw*e6h4cO5c-_m_|_$+5p_7nSk0iNpC_Y#H#d`M|?A!1Yhw&wlI*LK#9{ z$b;}u$R~p`vO;-nN+oamSsDMA!V!>n9^~5y*ZVzriP6?Xf!8rvWeH5yDVdB|1s)uj z4ebW}V|fPTch+n-1LYE|r_SzC+3c=p(^kG_b~%3<>MgIbyVM2G@rYM1@N^ZK=K>;C z%gOd871;u`{T%Osc)4+ZlZ?#Au{cr#X_Q#DE!XWsnk6PkHy`*s*-Pun-QOTh6`=eg zEg1i8SJxCQUkiQi|1*qT=ts=YKo}+P?gEbr`ZS$DUy+wDV>?p9?i0iAaeQM~oPpK*JWg2nv%n`!|Eq@chJa#j7ZfREix6lvaQmq9s-d{W*7b;$+` z?V0P5lMU`!r2MZyQ%8Va-`;`wpOHUch#l3s5&uKM!S_plr~$JSa2dfZs&ph9({0b3Ei%LHqrH<0uGG{wYIc zTt=J&yd{v|4>T_4OWay3zykFo*=$XW-R_Db|7ia1s|Va#$9A`>ZoB)B>$d~Xv3ugk zYt8uX_V6XRwl%BF+W{YTS3dOdasmGfJ!-o>A=(c3hyK>twa1vG?hC3V}I)Yx7d)Q2<$d}VS-$BGkp z=EFj$3GpASLji5dhw@cqzUMOmC-XhXUlk#Es{vju+3ubSX|NBlkMZ4iUy0)^m)M%H zPo^3xn*1gaXC`AwQ+NNY1zaIMJ$%-PCb3WVHyJ{-3VK5__8s=6 zGSqhLL*zHme`@T%`KT+BUwN1i?1-n;5Qi|YMOcBJlUQrhRCZ^RR%dNO9&2LDnvn0J zOzfs9tr>Wp3Gt3JINyV9VUQ0&y0yX>AuT$1hp+&z_Q*ryW z*&+J!mUa4?;L@^K$3uwI;wa4?y408iBr%zJQiaBg|xfQzGyOxqtuH|6gDr(60gbuR)1N|-Hx4RdZw!34@ z823gq#@`<9gX?*L{uV&_*k6?ZXGy0>f5_jWLDpb9aU5#_9;Cz1g#NUl$w)XUA=;_FOb>S^7F9$DR1euXf0f9)a;dl`(2 zE!22gh}VGq3~_1Duj8p*?WQKVdyA1M(`fd9;!glacRJRzyD443(L5KlCpiP~inWr9Y3Z#u9;#l|vl%sNNbpHk0V*>c0O-%M_&z+%m{T%ra&>;33HI~VccZ`F$1rBHv z$Sjo|ZMTK4hp?^oEp8pq6v(qCHQmS$Lz)L#(HMoggm(U)QW*CREKii1!@}EP-`(`B zFisY_?hI?kV1&gE_y_vTFl}fug8W7Oay0bU1h^-FcQu*o0zPqw0#77R_u^h{zS$|Z z8D$#kNCvc1j9BJ&AwPAL3p$wGyzwpV$&LJ6#7F2o(khJG3;vtfA0oVoprgH9D$hj?rvTz`XW zJzRT*@iEu)7PJM+S*7dxW-=@CcIues)_tt!iDSngIoM~ilN;^;T5#(jeE@w@>O}Ws zc7x&=`bUtjv8O!fi+CB!f;8!CKz^FKzKJrIqrW0q2ePmd#&I0TSeeyc0eZ*IUGS_x zUk1FZ2)%=`wpWg}fEC(hd%;a@_5_8X%gs;N1m$3wct}fF)NSKYA5r6bq%*2}&y%mS zel5r<9oX5r4Na4T{u1~Z*yr2b;|35KE6D=lz(h?u3HItz#bxUq;|&>K+SW&~bv%2SYK{rU>zvlb(K&+$mBax>??3~`eIZ{^u# zyu1g-R|OamE=+e6(hNbpCnV2>v5odXsC*sb8Or}3EZ@A{jr{98mW%iVyiphvdRZdi zDMX8Oqd<#LpC^d*u);WT?T0*6kY9GBkruQ?1bqwW3+QR5%51MFg1*xM+>eKNxgvzO zHzDuy=o^9i*Wi8&+#?P*cXe$khWlwKW6Mr7PtaN2lSxJMWHQFv6=!QE{QhQx#&!jD z4ui%jgly=U?Rj>FLWdAC)PIH1!)1Ug3$ARq=D<}5*Hdtnz*PZP6VrsU{QjnV;7L+x9v?s&^M6VM@^aySO2ck< z&+C;&WpoO>8D(R1=pK0mHBNI!8y!t@pg%baGz2<5G46y5bV;LVpI{mlq(K^$rK4}f z+LWdh^~}03{jyuX)e3$fQLogL+^*w-J}2v>;#P)=h2`N%Y`*nbo3`SvL`_b$e4Pl;t-Pw-s;}k7ebGa_pd> zuUcJ9w4l=_que@-<19ziD+C@4^{r;RzWL57%E=#4RzxRysM(%y5^!OIGGR<6$3Xcp zaNi30fPhEqb~olHP=6dN7vMgIWmrYnF%80x@qdN*H=ry#wxJi->ZLAO);b@A@A0B?6YRzjY)Ag!Pm zh1HM!BftcG@n?Vq%UO(i8^|oHPUlA4f_z0kwOTj1OyHG3Crwd+?*)(!aMDt8Uzr>8 z<9kKu{Ra?#BxL_#o(CW;^1e8hxUoMdTPoC>0C3%a=cCY`{b+N;dra5;p7~j+=U-5k z1Kv-BvOWlF?_?-b)<>DL5v4BdpMQp>9TUP$IpW3`?=B7D2JBK#2EY)6{0>3(f?S01 zWMMFVfVwIL9P28~AO>Ctcg7oO03m!kmDf4leP~ zNoAfC{G{`}=XvyDR=8i`8H3Vo^Sr_%Z>gC3D#*&I9?CzT&}GVXGurtc*{stzCp7YT zzRsm6_$#k8zsheMRO)&qxx}?WVRyZuwz{5g0-f10&mE;*R0jRCg`tmn?EI~HpkinT zQ>X+yZv;Er>XPXU{A;FpytZJqL!Ml665gLd_y`aEV4CM%05;?#vKr?*K4tXu6L|kQ z!TA|@mlT@I(R9z{6fAM;CfZ%Xe2xNmj6s}lI1p#!vl6TMGX5pkfj9>(?w;ep^b;Vx zLY(J;^4*vg=gGp;3hA1jcNrnAeqxym=YcS7mfQhpthbem^Fm1bOd)lPb2&ZpTnx^q zDs?4bqfbQsuV)Hn?ozf6?B@fJCc#4s^29X8GC@v2U%Jv3YI*EW^dpy;ZLTu&4t*2q ze1JEE0cjEI#dkQjgmX-o2IUmyM;=Qbw+Z$glq1YB$sXT|5d(y^jaHUQybK$r!JhZ{ZF52KC zOAv>#ZW(zPV3|*Enrhs#S>@=*9eKc5=UNPQ4`ZIs%L?A-yPv5N?3I7Q#X~&*8PAwG zHnzZS&=RYmCr__;ul4h8H0>uJyi@YKT`{P~KV)}}cyxnHx!CS1%d)$w?=5qc8tkso z@71|3LSJD23Uf+A-vWFm?dZpB!FY%h<}|y<#7xiyWsZk=#xb9S&yNb@!WHW_41V7A znrWBhcmNx`MageK9^4|*#sr{~iF7B>4c;RhIQREwfD8NkxzOA{`WjIm#W?h>Vn3~b zJl*fm|JY4mATyFnOg7gV2+Im~xE_P>PssNiJnGsl)DhBgAe1}CG?h5)u8%+TyUN5+ zAB+A9;BO@kD9<6xLF$EhaU#wu5>o8J`A->{GlwAs^i-VPa4L?^qQolbMcw5IwEKZg zfHzdOs~KtkgB`AK0CqXq|FxjYIRrnb3w?9wtHbtaLB@7r9{}Bc{jA8pq26f}`6xf8 z$^9(q`QqGz3i&X^T@vHKoUx~M$9*owfk|mE>yG<(A90Pn@|M83R^vSQh#hVWLDnq1 z_g>!f-pIMY&&kXZ;8RRina4h*%r(Ae{e`F(Ql(93J0ZL$JRaw}WY9jG`(k*(zO4eC zsEQQZ4*-r13G;%*ya(q7;hl?`MW3zkj$P%BD&}3dMga3-IZCp~r2@TCMINO}&?{p_ zzaq{9mVsVeHVJJwvdA-ZO{7R??@0SVnE#Rr~EXcRNxCPw~Xn>dicLgqx->E!9Y`nsl#>;?r-kuBfsZo&H{j=2 zfS>skbjmE5&7Ot)1MF80Zz&IT0!8lf^Zy`^0AMsFUGYP?i z_pI?DTyKHvBeJt(_Bnd3H5=#I1^YDgP9Ja2)+N~I7*k5Jbs_p*Gu^=v$IDG|{%ySf zYDZW2v&nz^^S1WepI__sT-)oprq{E**Yo6WdzIJgxwhAHO|NHrujl+;&*onBt?TuE zO|R$Gy`GDEJumO|Z0YrUqZht{y`E3^dam{NUw&_R__o`h%X_`w*6aCLul~H!tGmu%_3->{ZG**dvizCvD@v-&2@5A$k!x?@bS(hfFjgf5;?|=0drX*;6?rdFM z-QnK(bKzY~d2BtrV|v4qBixh2-R03xJ2;_ie*`Sy@t9syu8nA4?=;=Gk!q_HzQgZ( zr|@#ZVR%5Gg~)ygj}K4ZKfa~#6B7YLBuzz@BSpUh!J8C~MABL~Y~f=0Sd`gNZO40hd2s}i>6A6DL-ipI$C49U|$(#OpUwE0bfX)v8x3)*ek!p_= zkLgd()0D^6_pZDDzK_%e`j@d%GCWp7|5HWC-bnu1KOIQP@Sm!uO3|wno~6nhC~e&? zi@NhNB@I@g?+^Et=Rfh=f%6P09Q934-T3WK_vmiV!11VxkY!SGT&lg1HcF(f+kgM{ zkB5QKjg;IM#!}tkR|iTrQuRuW&j`EVRdH-f*$9zk4qOgMwXuJ_sDB*xZ>NOu-B%-Z zzwmo0ID6}meT}2=@fn^zQeH*!cqutK5WevLinsQ@kGYM%N6Le6+87Aml#;7b<1}B0 zzY!7tQ*8t(dsgZ`oc;%H2gUTMk7)YfV^Xp+oIZalU+te?MZy^lLnJLl(rWm9c=~X@ zBqi^q=&gS}tAE{oAao@qJEi(Pyv&F;_Axf4a4t2*rF>%pq2ciUlIl|_JV?RQzaJ)? zu8R9jBgJ!ir@39G_ube3iHF<{PhU3Fx`?{_*CnOukn%nCuNO<gJzS6(GFU2py`>B6>KGG%{h^{7u+kyBO2Ck3y z&2u#&zg2(oET)gK8jeFL-6C8E?d_KgmnAW``EK5gz`0a=rTE~$b;n5hm$Dh8;5WPi8 z*Oa1>fylmr=*#{22m10MNR=55zmz^MHD4eli>2z7(v1hwUMX6Tf?ta7O0_Foe)a3~ zl(cE2^o0KB3nO%cKKz7Iyh_TKAVr4*@e_o@Hjuggf$I#Ba&{p4o)oQ0`Q;*MIMPm$ zvcCr6Q<37|;c$l2iS*irTj>YlSCEo>{riU_?MnRuQ~k@sNLe7&j{{lL+Ml06+IEPv2M4P65eXUEm;92# z!@&DGl9s~90Ifh$zvfS!`-rsBBI!p;$B)z*BJtK+cJ#H5PRbY9KW~Y&#ro@`m_Gb` z1M%fY(&R1wYhQDw{lnRfL#9L*=AZ9(9e^Z$2d*>sr$5K^u`W=G=MKalF%TH;7v?ug zdfMN6-S$A%B4QdE>We<-OZr@kjPoKTeXbAhzYPPKD~gmA1HncAZ4IaWNE(;&$w|da z^|2J+mBOPGeMsrB{m&cqZwCxqHg@yx+vf=f(ys&Y#SMferF{R9GPfZjegA%ZDOwEI zCHl6Z{*%4lKc9$9Bh?23SsyBepZ@32BhwGWUhAJn_J1$c*O9tMr&xzz0k^0HN_0mW@{8ZnFl#9XYog>2r|s;oojo-tH^@seXScUx1YEE*0OOyp>v4+8rOc zu1l(qBXJrIvy@IOrT<9zB>!L1;_Y-6X}9#Z?y9fvKqCF#x&g%Zzix6M{-gfakPTcH zi?r+d|Mp4Bo(b3Kd*A<*by5A(MkJ5!TYv4JFZRDCKhj>2(k)RZE)J_(%9rwh0Ap!S zy52DNH?IB@&4uTkEtFd(X&XfPH6m@@NIjtcxvKtc87UoE>U)q#pGA1ROg-Kc;a>F< z@29@qvHr%XuJtt#lG9!5gAl69|6-ND)3F}#V@-tcdw5?Ldj1kZKRlR2y_a2y21WQ^)!V5c(mU459WLF~9B`F@E(oV*J+-PQ`qeJJy>p{<2tK@ntc- zyjhG-@^-Axg>a--d_Tb}#`{C@=C+RY`4HN_?N~nx@d9B1gyhGL_4Dw3K+Lx|Aja7Fno#2oX*` z^xO;~!oN!{rn>?mw)a7W82_q5O#ik*eE+vl{JWv}^P%`Fp?IPcpXExi9J5l4U#Aq) zH%DC)@WZIYbPuY;_<5n{RVp$4no#_+DlvU|=zVD@{(R{9lTdoUN^FldTC8_MwD^7< zgxJ6PLh(mK@t=p{t?^>MV-O-ed>=2qS0!8%=!8oUpO-+0^z(Hn{>MTf)MG%GDxhaI27*;J%1ib z-yDixGgwSt3t=(FL%143c~Yo9lEnDjBr)C$;Ti~wAzX*!5kf1%31K;eraP~#--P`J z;Wh|Azf&xSNfzS=CyVimlf`&jDBc-*ZcY}<*>_hc{w^{7tfAM|+Ys-mV!BPKVtjtO z82@g%*dKhl7|#wDuC3pP?a8>d-VWjN%xmjwkd7g&MR*~64Z?@xpFEf{@oF2s=lo3OjX)Lho>*knc$nX-=;1KTXJ^ zrV0CVr-}2N+`rOk!hYoSy8d*bUp`&fZ<;Rr%u6}zY3B0OvmSc4)pHnBz_2vf1q(qx za2x0k(hcH%!8Ztb)(t|w0t^7t($9K=!BVgTh&=!e`a?1$WP))NA*1jE2OFdX#H6xVZdxydZ#lzr9{ z0nP#=!Bt=s_$)XP+yh2~emUrWc>cgduog@PkIX~A15V6CzXRIAxuDmEeur~D`VsH| zmuFP=@W-O3R~3qU1uPW#3STJXxeJB7Tu-lBD9T}r zo~~ag%4e2S$SqDG&vFX;d3t)Op00I@a(mEdrz^b@9+|gH(>Ft zB0ptIMgEPqiE`QC5q7tDggm%R$S2+<{7Jk^$ZPKs@_}~?dF0)C`Q9Va(f0`Zd3t)) zJ)#^>+@tsZ_Xs~$lneRca=o7@7xLzNh1|4U$nDF8e8X}fuU{_g``#z+8+M=YC;C1S ze;e)-adYB65jW*4gq_M2LQeM!`O1HbxS^FIo~poNZubFwzVLv!F5m&7ANGLIU-f{{ z-~WKnZ`Ada2ZcQRK_OoSF6DN?QeKV^Vcg^XKPvQ(KPuz_kLmY$Oz8VRF68x(3;hPL zoXgi>+~fTbxRU2{jUIQpJmd+HHa#KqC$1IppetetMgb7ru^h7(5Era64}Zy<6T8@)d6g`PMfvK7)I~J>0MDqI}A> z3;i|Qh5pL7gnsycg#Pyb2>of*7|+3;JA}S*hmc3^5b`zPeqIk?J&)g=80UFCz9aN! zy(8omHA3$HF2;Y(_b^`a{sTP5%N0Dq<8>FtOEBs~jF;ddunBw$Z07nPy$8ScV!Q&7s|JBE({|b5Xe}%kOm-`aw=cxu$z#3joU@hp| z!s&8Pd)boJPaNHkAT$coaZR$4;}+8;0bUg*Z^(>8+rVLO<-cc zIS=hZxq%8;4f=v~#W|1PF1{W+=kW(ufC0PsdhDDh7&HZ*^YjH5fkv=j&^b>CH~|a; z6Ton=DoB*y9$lUoEaVY=&v_!iIeo?X!oIrPc+L|E)($x5i2{#+6Tz(8&Uxa%ira+# z5ilC*;M;{f;>ZWraBknm{i&3-m7)_3?eFxW2hm=)3O_`bX{% z=Qk`9=MO9sb{oM&aOIss-&7{_qwf~>qm~Q(@0SaC)O|wUc%QiM#1-c}bGiR3&v~*y z%Y#C{;6WkZ@}Q9WtvctifWE8GdGdIDfOhaHu#lJM!{4>iC_&F&9DCuamcUxQ215#p^)46 z3VHcH#3y(dOa^P~5Qp5Kj}V8T`(wlzSosO!3~bzwI0KtLMVx`k0mK>i=QG3^_ZxJB ztLhPFV8}tl87~*G6x<4yfz^i)XWSmRg8ThB;*9Hot9W@GMx23Oa1HnW3(>y9zSQMk ziTu=kCG@2uBJF=f*eTT0?jyo}gDzkBwa`EOwXhTTjj*5fjnKDzBji~}g*@sz#5Y)a z9PthM|A;u|=^uqZFa0Rw$8@>n1mYXq18(8v{}bYy*E_h4%fap739y>mIf*#t<#kfr zpOecE>FMI1h5pf>h1}R6^qWs3?!ky(5cj+se?#1ZYtA60neytGNkYr%SO z=l`kuma@g-`C~7Ovq~^g*8&8Q(|4?p?;kJp%ceAYd_i|?v&Rpt2K~Xf zxMoiP7?RNJ2?md(HhcPl5oygHBN&{~>r(#X>%3u}Bv$7WzuDkmr@?@)990EEVZhrNaKIe+zl>N}*31 zg#A)54xIILvnP?~4@?Ft!8Be@pb0z#&H_(^bHUCVn>|_JP|(850n7s}pdH);7V>;< zYWBEy^ZuyWQw*+rui3K{^zLf*l=6JnHhapzt-FQ4+ja|i&2Ayz1D1owz!jkJ{btWf zFdSS3X1y=2E7RpCbvb>|?D6vQ2iNfYgB9RWa057SPqU{I+y+*0eh53D-=Svsf_MP8 zfh#_5_Edw-U=3(L-0Z34EP$d{cK@-4c&PM4qjMaaiC3VCv) zkZ;k`A-@WLihmXI?B9g`^529%$A1%g4Z3_wlaQZm5_08tAx}OlOh6E|}=og4jkmf)>yV=5hO=9o*lw#Z$((NkgLl*AJ%zkH zxW(fJ>-q`*qWcT^_WnY?(%9lD=I4##{1Ky&R}2vHW8hM7&p=_n@6{q59wPL^LWEvK zXp5&5tQ;=nuMQV_O~Zw}HlhV{2&5x~osf}2er%MG$Bl0Bl!Im93SLg&N}kWi7SAeP z-eX%lUS6Nz8gMIE!Ru*Ui)RCv4pwqM!78pF1wVNH!L8tlC~@C}@w$Axkk^3Qz`O}9 zp6%Sf3BrHnS|N|SR>+&dYH-%X7EcXNPj2zlf^)BH@$BJo1lEB{bc<&{I4VZiiHi~P zh$%vz4c3DXf`@szgGacXSfPJQtS*lg@~XHN&ru$?@hzTXyj;K&;1RHa`<>9@Y2^6^ zo51R+EuLmDYJLm)KE$1)#iM{noyb4v>uT}%ffmpotO5hTFTr4b-reHq3yuPfU{ev= z12}OJ+5^}OhJ$IvXb+%Y3EBg=4U7VhgA>7JOAz;9H5dmL--fv7cJ37UTyv+8Czc6$ z8JG+j??QV3BS8~rx(Dq6d>EVyZUwWzRsTYJ01tzCAU%M%2X6rj!Keoj$6!MR;*;n1 zNyHDtrz-_>FI6jg&oTVAwRJ}$bFv{^5stp`OHni&YDfa{!y@$ zUsr{==6=42xCXJ-2W~32iEUIT!Ta3LHzRa1Gn>XuMz$y*9iIh?+bb22SQ%_fv&$t$lu$C zc<0yEA>O%PU@cF7EcERk3;C9hg*@yNv;**|PsI6v{X$;8U&s%GbzsG3Xa}4J^*A^v zNV$``E+(jsfKgru~Ta!R0@peSq6eqJ8Y)<0je%Slxj3 z0S-Nd_5o5O+6TYxH?$9MD;N&efe~Qh8MF^Ds}=17tfBLsiF^3p51beM1IXnSOvtx_ z(V$5>?}-D8!9;FP68e6!kVnZvo(Cp_hru+^qMSz^qTPeDK%;uzGj|XFod3Khi{}fp za6iC2FuL=3kDcpxIqxY1E4!cfxWNMP3wd-8Azua-^Yh?R?q|>Qo>H(DECZW* zo%fW3^}**oE4UuG5}bRbu*b>e)mI96S?}|nRXl&7mzP(c^PV+eBUk~(^*!&|0L}+1 zxjtA0ZUMLO`+{4+S^dsq4u^IEZs+O#=RMWD{Jz=WQa&t4n6Pj1?xdS@M!pXk3X0aB+iTD9S zqJ+OuQ6gO#jX2`|#vqPB;}paZxHT4W1Qy02j=-n{#0i)P7W4c}MV#>bCn7$;NU$6% zO%(P^b@?7WT@RKby&~zn*3Ws9#Pt!=ggkqi(7R=tkiVp-4^0#I3%Op%Ctfe~%dQvp zz1NHTh9x8Zz?sS7I(xE^zog6Sz?IJA5IhUEonl( z`37OfHy!Z}MuT23D+BS(%L}aF_XRibH~}j`x)JdWx@W;Y*mt(LPvUGLFP|;s<#Q1C zVAV~CdtNW#cJ3Eg&Fg0_;vQUeGvXdJWePiKnL=Kxr}t!vat_H7cI;W=`XyOHZ$p;2 zzBWtO*X74@guJf>?TMFjF4_|qFc0mC*B4mN;|n~@%N0Dr{hKH3gy#u)UzqqtQ65+MXn(xkz!P8r*Z^(^8+kbwp#Aas1)I4)Anir@IMLp~BcLxh(1rH4 zm(PFD-as!H00z6!-au0k+8gM%NR&(DA|bC@EaWFaBe=9!oG&dF^7o2`d_Nch)|8-q zg7qar?{JBb4_qST5nwnNS%!8Ct^y;$yzxv(EyF648|g?{jIVSny&VZZo3^b6b`n8xo1ns_<> z8{-Pk*Ggf3|4JdRd_bhD9uWFjYebrp+wpxuq?IRxA3V+PoA`vdZ|Pcbe)(E)e&t%> z=d3E>XVqq*pZvVgFMD42>Gy)Lzw`xh--;K6KV!EDdsDUuxoL}#XKfMwuK?%rat5-jG)D{C9|uZyh4!rNhw2f^}dazkWD;2agTs zpYg(n5hx3OeuTJwR)mn(MF@G*NZ8=%(P#r)KT_y%a`~!AA>SU!pRHpbgSz7Wjze1p z)4)|=7U%_+fNQ|J!3yv!xPj+0O4yB#67q6Ay&_8JZ_(v6LFik+O0aT*(5u$vb-Mfr zSOu0%Y!!dcHc`myCkpv_a0?hU31tQDxehVH&tE6(?Y~aQmqrWuF>pKRjYZjW`(Q1& zCK1r15*Z{_#*Ej4xMayqb8o&SGwbr_Z(VxZ?Vi#*mfcx)*WLG&-@E+2 z75}>b-zy(@@S#9Y?tcG+JsU)kI{9E;`Uo!~;{SOfqXA@KStyYkQ9fNs zA_xD<2=<}Z-9(|8qNS{F>;}q1tQUpS-lo zqyK+?F+!}sS;lng&NEq-v^0NHRLMsbFCTGWUvDLw?#N++TlNWpcBN$Ezo3BSg{uak7yhV$x@e_?AeL@Q&a|-D`?IzP@cuLXu=zQFyHz48FddI(6>crHh|m*RI{Vb?@%) z-=jy*p1pbn1YB`NU|>*CaPXB^_U_%MPv5>*UDdB&|NchffB^#sUVU{)NNDJwL4yZ} zg$)@pbm%qLgoh6sHhlPq5fKq1M~)gbdURyum@#9=jvE&hHGaIF-vOxqe$H2hN#f^{XJjPJjGvX1VakY^8K0J#l!8+kFqWP)b!vP%Hx!=|3ujVsKU|YyN=-<} zh&RPgPfJZl1kOlFx?x6q`s^E%Oo^#8a4kH6J255`T#uQVlrl9vbw(PzjGq!eH7O+p z3b8ZN`8}t^n{JGcPf0bU%t%g7x;{QO204zy7ri71zpnB>`W;?vS&rcRHUlA3Os8IwFCK4WH5x@ksC za?InwAigl$?;BIz0h-otm6F zWp+|RQU=d>YI+4X1g* z)Pt6c2_m)N$}FO#^C#XqzVA4?i7dT&=Si7!&9m~m4Ys3K?K#_Fq~f%NlZTs#ZV9{A zNg+g6(ah_jDPR&s@wTe8w^~V{tM+cVq)88;D>ROxYvd99pdU@3LA)=RLKI6wgx1Iy z{@y>*e_&_*x-N;S=+5)9X#w3x*N>(?p-CBZbsTPBP!%6Vm3<5{@6}{q3~h=ccUFA5 z_(&MkI{9?!Wax~fBzID9&Y-9U40;&$Izd}f6kMkmeEfVmDY(#pGcbtL2HDURBc+dz zuiC>8oh3B!l3>AC^_9_uDxGAWR|#%)qHg3*0Te`6V!H~N3_(tYQv{8nv2-m>rWoWc zo>EYhGf}{ql!c+khLN=h!&fPl)BWV7b@UXrr)d+m=V%MPOxv(+r)t_od*~zDPlxCW z`kIbYgSP!bztLGbN3Eo?PRySLvVkm&jbx+Qcs7|uv#BhZ-GGVG%`BVcG8=O+7hA%X zvOC#b>>jp~tzwU{3RcNBV|$C$un*WC_6hrpea^mO-?H!7F?O6autwI5aif#uC-sm5 zrM{9;3YBh-T9Gg`F)#JHh10I@FHOHcK6tTz_VO-;_Z9g}Sdjg%j7|Yv7tONe+<8Nq zl!@u%i*LH)-etF3JEN~< ze)j=WVmrrWXJ+OaO0IGy-J0D$y63>#XJ-4|=(=t8oMbn(P3`=N_tTiyu%3A9gx8=! z{JoPbchO#KQ2Pri;&pWweud0ON6DA`@xmKvJ1SG+q1&F+Ul$Voq$pb2zg_49S?@n6 zhtZ8vxonY|^zBpWr&fNIg_@*}n_afclcavqK53RTiSDH;+DE793Kqp~Vz;v=Q6qo1 zoy6Wlio~`#yRhlSoU@cOJobk8zDkQ$~ zqX#4*IoZnJzxh*bMZQI;mH0MP9)_vlJ4(Lt6nlz|m-3bI(quVPdPH){PqA0Zx=V)ieQDLwJE^G$rWBCnbw~|Li%G1i1$`R#T z<*4$V@?Yh+^1Je*yk6<5KBzP)t;)v=Q@zTgN+ci^C>L==l>VDO$zNj8h*Q(E{pQ#7cLu$S1QNL8bQomL|S8rFp zQNLB+QMaoQ40pj($>4sz0j@>M8XXwOMUce^Y-|&!|o6S@j&)qPD8! z!+d0)HR_Yb&M`^Q9`UbX4Id z&NTJ%{)H7deX`dWZ`J0@s{~jBgPwUdYTt};Q9-=|dI#zcR!(}oACHJA^xE?a#*T|Z z@r;OATwJwz3KDQEXVq#bO?fP6O-AqUy$ikTcfK=sZokY7bN0SE>)w~QB8oDhwmrxC zIrO}Xi)#=!0Sg0ntnZ>dmkExk+PtsstXE6yNHM{g>|NfOFkXYpJ{q^aalsUX*@hRY zHunlx8tC9&XLRs7v&Nh~!)qN8VV*H}-ws?hcjOD2mwr>=@V)Er!+USdxc8#VdYiMy zMOn?+HBf!B1Ka0Q$4dNL81U}Ucz3tMEvG=}M5&y2mejRo=qU%oAEqFz)y@8sUz&2wB-%jhR zHlwlQ+{R7(eH>4szz=#4ZrrqkKcRPylwZ-2M+B1 zdFz31Yu|f3_LnX3FTC)=l6C7E)-?nk?z3!n&viZDTD$ge^}2gcR99EOHSMi+KdxIF z_~P!}>lUniaozK4lb?U}`T4Kj_WXhu1J~7mcJI0|^;8yr z7fY{v>YLtAc74?6(MRz5@adOcdRmbKpT58QE${F7V7GtJ??J`C|K_;!)&PHY+pUhM z=+MwRm#|PZG;l%hv=wPLCN2mF?p0_DN)1d63=EtQm>Lv^OuGYn2L&z(3W|yjT-v*L zbTkSgs7nwR1~cGXuy!`E`;sL~f{4c9MfyGt6S#5OKW!&X@aL~_|LjHaELzTF<7JgT zz&2XW!Ax)tO_Qg|Gv(QG3N|yDDO=x$u`Ci>CbnC&?Pkhk@$4h{BRLA&1o>q-oBg$w z^vhVeI29ywoAK;|Bv`(l{@U`+%UB+xK2DEgJrvJ+u?MM)BC&D#Ut6=%pIdudej9%I zu`2cidz?+82B|^%YfBR^V=10>V@a$ByMp~ku9naKP3|sV`p?S4)iCOTg7(KG58bCnxqUeQ84=z)AW3Hj%H96%hIEnpW!Ww`%}%tncuXM z-$}dJTIoUdZ+1VcX1~xE6EH(!+C z4AxfGFI}drqvc}ao)423%cEs}w~w&8E~CeoR~C0Gqes{kTKS8zTrF2KALe8#OQ#3r zG!nMS=(j9s|flk7WbCkxg}g!{ix(|(b@(IcQpzLrg3ell%k~Yc+HO@=(EcNn=rOFJX_t9wg7BT6zIx&$U;`(Q>fN{qIDbP|w^Nue;IM zw$dJ{i8TB4EN!9;?TRy0FTX9l4gWrn{!7nG2jmj@Gx=4N+Xeq$BVwCS%CFFJ&A$@) zR{1B1d$by*aZrAb4$9o$XV^M+4I2p`5-{EuQ!={?KKQlQ@J*NLMW3LdD7V|$Jk6tA zM9NO~uw2OE^fKJZ-i3d@Y$+?jalU+9YN1EuR(g?zPzW7I-jAb%y0TCTB|mH_%%An4 zK9Emii}3yweJ=&W<{%n`)Ir&To!fjv*@;~3WP@oi-oq#i@AKIZ8UhZbp?E(}eX;Fi zSJ73}AKOlL4PC?AGKJ&)eQ6jC1G`WcYK4cxX*g2cdmGtsG=fIpJ%S?e{u2$rwv$!S zNNhXVC>lirvGrt2XbIA{(ye%3N=xy+Opc-`@DBNEx|-XE#gQ`K=hJ+o$IuwMgDs#1 z#AW<5M}9Vs@~DJA^2WB46;UC!oh$&?eoYQ+JJ})lm{0jQdQy5yS}(1X3#fo5vF~Nf z{b)S4tuERCh!*tSXh3DhL^jQlRu&^wgMu4HNKZFW8Tuk@m{m2G3&(asZT8T$(H zH=F$`JuL@NKXx5!lt##Iwurq?d^527*i~#A)zKBOxlh_Fxe*&}+i59~O_Zn8G&&%C zCiRfJ%Z2j$^n+YSx68N5e1BDnkk3hO@{v2MFR(3aIQv1qn~h-Otyo(9SV%)#zu_tNY17FE!FnNHYpf_o`97Db|g}Tyq)YzSJC$^eCm&@40v{`zR%29tiD2T0KkI(}wj=E8I z`dEsm6Lg(?Cry^;$_ezd%`r7l{{_Mo1$K)zYNNnRyq$q&i< zXfHi4ucueoR`~^a1ARot<=0uJ{4{+`ljPT=8!3u?LVju&bqr%FAEC}DFYDVGB~h_r z`$36RFKjQhr_LzJ%7XUPR^=7__C zUTT=)D3N;UiR~AZP3&cI_oMP(oZ0!0^PYHFO&NO~YKd>tlqhA2azb_}bFd9j9oTy+ zL27r@;2dR(R+CB4h*ZPX8<|~;>o{|g8=j9NEe>5iP+emD`C_UAl zYJd^|cFbc}>^1+WtV*GEOm5J0fBwg%8+K9Z6XoOoVN6cY_4`~Rp9guCcCP=QUiZ6x zT~mkqEyM90%3XLrEk~*kv4`YUY_ZKe_VZBdWxPx zPqmRYDjR(^Nzd_3c}~VAVOO=3@*I0k+Cp2{OZ1YoRoW`^?G*_d!zR5fzbw5NmtHr#u43!F9lgx+@>^IVzKs!SwNi~9cXg-L%4)V=+9|(_vHe~4PN%)fUiCeO z4L!^*d6%?H`B?fGv!z<}%=_sR!zZ1v8`jY}X@~SF`&9Z={#5x)`iu_H0r`MbuhgTz z-Xp)Eydk~7u<_AM{(wG^KExX3L*+wdwa;$aEv@!Fq#iOHk`Jk?eO4Pjmp*5Q>9BlI zKFBu9Rodr^o8`@F72}(B?6XD}9aey^i+D`}oRDUhQ|39i7@L#{Im3v;U^Uv!+m_j$`n?7R?Da8lmu(Cwj;NvvBFuc zH2VHVXV@9JiPc~}TqB?LIqSQUJs>@RRmOwzL-Yvd=Z{E_Vy&=Rs!%E#Jg-CSh5||L#h{pezhZxQUgR zas}gmr6*A?Zg&%ouV4z6m@?fcGfgL##Geg7mu|%3!cpMJ%{ALy))K4B?JTkuyPan4 z1OF30`nGkf)K$7!+SfXo{m8D6)<`e2*;1Lbihh)O%6;VZEC6%%K>0naWJ=_pF@ye6 zN~Zs}t-HKTzE{3a{f~0WCF4akS@*T39vak~AqI6YOu^{D$>}l<-oWQ*9 zW62>$C^1TyJXA?greb7D!r0_1_fv*R<1tUZ6YHT@=`8uPt1-W|vsc+Erb?;OzoeI> zZzY4=PhN_()f)LJ`HVbR8K&egf4RT>sXSd-D|?iCmF3Ed@(Rox@-U`9q^wfT(rV>l zuZw- zs&Yd4O8H6o8FP=*%6Uan{nT!14~&4l)ByEerB>Oa_+nPpth6ZI)d+;F;TYPDozaLB zj0{x><~oVwdhi7HX6$oiVuuj`zFnwWViz*3>OyR57rJ9RxW6m0rmiIUcO%vpdwqBE z_3cSMc~_7W5=d-fAdQO)Bxz3&sT53s!NDXI2h$bdSCUeBC9!JkX?>{stUhE|(}$$S zKA4&I#dX-@`cj|jzSPCrk2+QLC#4?yEF*QY8%bVeBz1$4x>w`aGJsg|0P3^yYEsZU z$j3scXA^pfxKL8cLvfE#l9fTk8U~S}X%I<$2a_B=82K7ZQaSco?8hKe!k`mIYEu|= zhCpWsd>BGfHMk#XWhl-MCEuo@B=@}r=dZ!_*sF1@gyUQ|?1$spVK_I8q*>U@hvEL% zeTT#DaFT;ZkPsB@<_R)Qw$29UkYt}ja@9>FC(b3cb}mVYH>2!t zrmO32Atfu5m^%||67=dDvdOR1LVnd2t@D-qt<D_D(@im81}Gb)Vp*U4T!!IU49uU zer52j3~^jW@~krQDaP?C>}#-Zz`hOVkCnlC zSJRcoYBE$-lT=?#a$_|qmYu{(v7dN{r0Dmk^Q`yKI(AWi%%1vH))I@}O~%sQG&t;i ztRX)jVtcTX9LL5*KPX8}4@q*QSMuNfsKk~&CizxBE(OsVNh-x2vQ}cg6%q@^9$q1J zT2Ub>_1Np4lqAd+d(=H8Nm1*io~7$0`N(>yvv-5kweQog^E6hL8>K#bHcC?QCaK$o zN{RVBBS{g@NJ`-|l6?3XiJib+{j4O{J}XIwu{S*{G37bvKPMTg!2QojT~@pxF^myX zb3S&5%$hwiD?TB!4JTy(+LN->)F?|0XXM`0BpXVbv5G?54Q} zwjcY%n+0F2gm^wT4c#+aN{nHVmLW2A}FZhJ?d=3<0#)5L&v|pa$idyFIr@oVGVM1g^r;~@`cp%~iO&pO0uI8@Lk2e;hMyFbRZ39}q(sF~x8AQ% zG^?g=LG{$lK#WCb~kHcEX*hs zuz?cmIYCNb*J4o#f=n_RMqDYtD(X18x*o$uR3>|dLv zv6YZjApPv7L^hzcTW_ZQg==^6N3YqJj1)?PD2yVs=VtLV6>Ez$a${Zi0ewh&X&=^^ zAJZrFDe)(Dhv;)M$XR{EhF&vt`<(hY%|$yt{rb~yK0W%We4x{TD-Xnc^~P5*->m=U z+_$|?HJ+c;dUNaTt);EYTJLFH*}A56UF);0ueMgV*0jFYTHE@5YhCL%tv|FLZ#~s| zrnRZ{_f{g+5M_upilKr-d$3xygiiQvBAZ`<-zsAS6ykl@{TKg8~Qff(%@})zoDtY_f)@A zvrgrmT5)RIsY9olPYpl)?CJMUH=XYM%PqgG`Q`X8-5L`c=QI{Ku4vrSxUI3ev9_`E zuX}!-_S^j5hMrk_hRiuuTY;mfq{N(Kv0B9!u?iggTUbSlOO`l_%r-~SyakT=^9syX zo5NY;a_5KTYSy6$lSbG~*;3%+)Ba6eGYqRSKYjKX9u&}fh%riQi z#%#MI+vs*UjM=t%RNyeWigNOdISzYKe!&Fez);sfBIwSWXLXX>nqNqxB1VoKHge>! zQBlT`<0p(9Jz?}XV|KPBYK&#n=rOtDB1VtP8EcLhJ=#2e?D&W=qa#O;ADNqLMIGnl zL=pc^#nkw8nr~iY9$_~Z%o~wf6uqb0r zp4sW*-xxBQo%4$Ftp#r5K%SujbG~(;(No+vb6Nnsp;_<8JV#$;+rNyoRNro#z7dH7*C|V1yEbj`z?yQyHlXJyF-hX z0>#}4PH_uTv`9;^;%>#=y?B7)?hxGF{iauc^X~i4yqTAoB$LcO@~v;JwR3Xz{x)eH zuhPXdZ;><|f6{&OHy&OkXuEj1IA(6>cm)nR1{(jVPn+wexf^|D5w6Er$%L!=(X%_W z2^M4K=wum-$}O9#Cu}T(+-(&J=^Bv6_-VUF)s4`*nz;G}+unno=s-R}M$UD!T*JE6 z(}_w>mg;3RA{)V|I^hao$9meoCZ;vQL#gBIE};My*t>3hi#k>RKP|DBk!XBE6%;~R zHd)pli%Git@_ZqlqvN=dBV)LZd=I#?94~>LgoG(|C)!l+pa00!#d)D)6)ozS*Qc!R zeytm}+g7XS4@T#>h~5p3PB%HBeNi+7A8lFZH!**x<6g$mZ_!6kFJ6sqf`yL%N|h(w zm7SA9{-UlFw~Tu@kc>vT!iqNTU;6%y!kJ(SR{EVyY86Y}3iMyfa2I5Shg@o<@#bi3%}jG@ zvGz?n%?~%I(X@koqVtMgY>h6IUVb&BJDzI4SVJX|zkitce1UFTn*OUI;kdBm(~^;P z<)7HXg_RYFKvB!>Mc37#Im0HQ&wDET%;4a30?T}e%hiFbXH&(5v6M@rtU$sikzn`= z;!xN(9Q%Z?o-Hl>>?Zm_S6(MLe^hhO$C*s+wgiK|!! z#EOKo@rd5H4QMp!k+O;SMQ zD4VVbX$lr9qkO^OWIUz2Ggv8MZ=)p)mk1u{zL~>|ZhRl(HiO7%oI7u|rtY`#sT1Cb zOpKW$a!X~18(In5VDwAHb|`ueMt`1;TYloDE6xBzMcOo1xgIZ<%}zS=qFG~K4lk3- zq9MVaI{_M@|9g%Zi$}Ik=u8Bz3deBbS>B4l!t5yxAZc`sv;(UIKSvHjg~kgBR;#sk zjHU*zypurQZgA&EN)y9~)Aaf_22od{i4o>G??$*ZW{Sd82k(rM*(D`$XRAVc4dfMH zs=QEQA;(k!>=3kmB4HyeYudAYbqeT>QDjjvzECV`VWN#}J03gur28=zTa${D1$vF* zqj8@ddVEkWhf=dztz6wQiQPtgV7io%p#3F<+sB|@b~!{HgCYkCtC41!#X)2O)@-rn zd-~A!ldJ9;XkpySwaHlghEe4B02{?l7J2e_pi^}CKFL-LYwtpiR>zvrOz0d@-Gx(% z$H1>{V{jz$3?jysZln*mB5{%8kLdlkF4G15`P}2jn^%>=-c0UFg%dfv4=`z|FYztj%KS%217!LG!xRh#?d??;^UlamCV(t|q*T1lb_i08qQrw(IJV`x_wVMd{hXZOxMiW+H*GQcl9&dout0&H_Nu$ zyO9C@jP7jKVUNnYAB`Ed0cs|rYcyvBC5wbZgW6VU5tau02g^sXylwJ!x-^&ISAcNX|Pl(u73)quW#N!q9FZK-v&JQ}76H z2KaC~jNl>F2&CY&Ek3;Ft@0%^jh7k z)rzrq?q(dlYr=N_h7P|etZ~M7O5W|6hfw-G96k3cEkI-ijyAhDLT)^TfGA5}7YfGe zAGny!Klw`jB+|2JvdgrA&0Z9Gu(6r8{*cSz4`&qQFJl$i|D#_TD;thD`gf0-rcfFh zU5PWsg#`MBJVzgaeqAURX%OmKERMA!2-zouGV=$aOyRE90uBHxi2+4mSDIF+={>-*AIO{4!Up=r$xo4A7SU1%#EOvPmsmh$t7lF+h;GppAktG)$9s` z@IjS$d_T?ewS2WF);t>6m5tiPw-4jF0mVOvh*D1)4arSr>~6hB^XY;W+eNp~OZv4d zaDRwk2>vv&K@m)wOz2nPa;Ffw_Wx2vOx$t>{ASy!-Yu$GZZ}!nV0>hL)WgCV9bgrY zJ>lT_rUS|=$4$GXWj(`h7~`7>Md_NdN+~wKX7%H!xMAKrh(V`IYG}sUa~5^y+|;2i zKG7ll^!5$C^*5u9V!Sq_k1o|+McN6nr7G91;G~;d*}b73rG(Z&v$8+dXx+%T6!LVa z8Yz(Uu~ZO`{cCeZAE!ASpIsziC%`CqQc2SmkWf8cs?-=^Qc`uEa((c2gfXclVb9 zKqki1=O#}4EtD;2HoJL?xXUGU!B}&!IiH2On9U z$Nys}Z8TNGLQs^m*v@=%MRnENJYy45Au|f8WA0gGrPQmIE5Y`p#A(G*)JBy|Z^K`ppQ%KT8C-TW`nZ zTI+H$ykPBrAF}zGZAr^UT8K}*GZ+z;>_?Ng^oUM1$Wco`xa8nBHEA4pZdgWNLtE00>`e&v0J zu{~W1WN)$7!EsXTdOd%VO3*eam)%dK+yzJaF@%H)iD|eoyU8|&invwEfobxIawcw0 zHnQe(6L8Y-!?o9@wO7xzt+J4h;Pck1{ywI3Wr5`FX9xUut*VO-h#*i7te(Ra8VJ3d zK3SWls$Q}~ZpLc)y20`>1mh{_(dy#$2FK%4=N^ZCG71Jwtc=w9h zb{>XX5Vg^sUbuVUD`e0r{d>&dB-gY)km#J>454sx^L zt+9NuvfB(ITJpd4Wv>V{-<#JOG{MFmb>QzJ4^E9kK2>lIaTla>UZtdCLtmc znR|OOfs+^-QUtcyRJLby13kztu@#i{s7q5qG{3%&^_y*A+tfuG(nkb)CrrQgQMrWg zl+Ep#;QU%na_a9=PAJrzPYTn5*6G=<9%%5TkOXx9jc57m zc8XDZjP#Bz^^Wc8$LQHgOcq=@b_i6Z)f0*MC)_oqe4E3?-@Zy zr+7_4+0oU^snD!QQmU!!HvH&YIA^?>k|exJytkUTS5L?`_|+FDR4YLufKa%1|LkjL zM!0GCx&09nPruQpr;!fnkGLi$HZl4SL9cZ_zu&s38(vmcO-9I;kQBeI;owR%JIvDg zCrw0@^x{lqWA3+t8~6B@`hrFLZVM&n?T>2fhjv2gYv)88#1E#k#F{wYJ*=E={xDcJ zK{QQVl~Aes8B_8)gU|$Fap@-g2IpEsRJ-yqF6Lz^mfrv50?+6Lnfjr6Z6mFbUP12Z zc;W<%GvQfrPYFh+R%@(^<-DHQgd>ni|D}l0;rFmAfw-4#O}_ld{E8DDpgQM|XpSn* z{Pu3X@ssZIvuKp}6#+5J%%8xqjv(AVyU`Q)D%=X7RYxCGdL4=tVqtUL z`H}CfeV09w7^nBD(EcjcU*h$5Gfs&r;OB$@a7QnU)oyk`&$n;gmEy%y$;ZzJ ztMBtqQ#76+G#VhX=L^H;xT+=Ye1~jV!zG=`Tu7ux2I8Lnoo#l=2%N9gYhcq`gAfo^} z6g4MJc%j*yx#@>jx#nc}&m!F1BzrlzZuulK{os7eNI55pXV(#H2Ez@+Rc*c1d);oRX?ame3JzJ|A-so^ z{cz4elKO#%>!T(L_gUP1>~~^ZgB-J8q^5SiP*Q(3<1$TrMi8 z8m`kvFEg^OC|lJsGo$YN$=6!HL}UQ19MI|Jf49cVD@b#zcXvSDB1S!SmbLEPx%aX% zQlK-l?eA&Pkf`L#x91b3^-(c}0r>T!hJ4FBr@orYr0*22Yy6T+BZGP7MP@exa*5=G59pH##5Q9uWc@J|2{VM6Z<-I>wDDGy3I= zgIWV*R-5pkLrRg8agPQ$RiFqEekct?PmVY5C)XFcbJlPYxr>v@}G|{!XhC>`>dP-Cg1YVs9Rs zsdrFVZZ0YkhMlQ4XWnX;Ggp%4SF(I5(-daaw2l~4U`FE6f8P`CP#`BJAGDESHJ(8F zfJ8_pj2Xw*;f_bELI5zL4N9z6Du%EG+)XIUnh zFkR7FNtE_gnJBbIeGII?y^U90ES{Q8SRT7wUB?8dvG{Y0osP}aaJUgLBQ93Bv$D0d zF!!CeB0Rpe-FoJ^nAVxhq-e6^$2lEIPF4zG5@ zJ}FT`)8=z-m;PA-VNV-j)3=pU#$fTn_cEcZ`5b)kh%d67)AsUKZ*^P0ADVrHa}>be z|KfpJnAZp#vGoMfK1rXN{_I=ylSg1k3dpwbd-lDINMs? zc!73e`)OG5>GS7Fm_#A^+8{D`(Os4}JjJO}kz8?C!kmr;*fdP}oF)DOaE10_bf%r9 z4x_puk3~^K$&l@5I?I8n0{f1n=<9uCy{;j8@DLO4tT)~|OB1h>iK*3v$1a~8#Bnv| zv~{9HjWDIFsZB?JTDVrzrTFZ9>{I&ZVWpzUVjrvBz4QbGw7S0u*<2qadnbwL%v`f} z(Q~jrIm)3a*fFt-+kou@yvbVXm}CP+KfMpMN0m} zZtgm?Ax*|4^u^nhD=Mk3+#Gr@{v=UPuTxX|b3+z?j+f1ha4Kp8m_n%{vEXDTEoRYw z1h!3|!;)?GfSkm!prTfjfGL4LXFZL3ArMcR2~Fs1N#?980gIK=Lv!5gdLFrqj(q#J z!H-|vv4th>NqJ)=!)DBha>27w^bp#?<~hQiRi`w zBYzR25)tWNLZ!#U+jy`-vg+B7qDE^K4+hy}OQCZZ69T2!%_NG_1)J7-WUo zQMe5o8dV5je<6wSdkHN-62?;cmK7!@5+0(g{M>%&Yhys?9UN0)_ez`9OnkZUb#)Pq z3~q9FKa%&$=XmvlkrHIjf;;>lR~BvXIg+|@?3!ploEFpz91YoW3W%#@rIisK_uHfu zZltj`3m?g1esr%kvblIT-W4fGusyx{T@0pgMjk8n)&9Oqyyo>PKL=#ia8=d!S4W;)cQ<$-R8%j=a_7i|E1i-jv?vs{4)g{9FFW<@6LA@mRPFD@$3ay&dvZ z_^R~$1iw3`(f@gCND3&~*A3F~gPAJy?niKDPeEkqqQyZX?@sQfgD_9%SVbtaV%A_H ze8%7=AAv>gDubZxv%2_y+2`B7>n3$3%0Q-u1!Qf76*gJpI5w}~7_eZtz?GMOr>?I3 zi}PfMap6}%Lo3)@iDedeY=AMjY8t^vj#)#k$;Q`5^}!5Lr#XBU>B%F)6H49F2uN+@GG)tw=@Lxoc&z-90Q2e4rdJS z6ztXY1Y!G>zClRWWy3{!|ACtcmfsW=C0Kg`Qv$m&1i5>@+xXn5n)(^z8IJ^36GGG|cWs_?Qi+_;Pm0+j4F*?Iv%2)%Rrn^!$ zaAQL9Awo>42e@8=)?EQ1d4clJ)wlqw{GVIzN6<~Dq^^f@upi1o7O{M~1fbmJ0}?*N z{^pblFaQY?J=UVeqIWC5!;rxC40(a<(`t6#4ZuF`N~)l$!5n!AmQM&4sYY*i<-A1ncdPpQ)=DmJen%0rfIJqG(Lz-uHZ1<@ z7_CpQBqH#s3szPC1UE~6zq?U?V7;JHlo*hK=oC^<4=qH&(Tpk6-2p+2^=I7`FclX< zTuSbt2BI7KlY_mgvBc2)vBm<+l1sRQi-X#6kCAzu?tWGUC4ZPJ;x9iy7B`i@iMGM_n>_K8fEqZn?uDK&LjK!Do6rwe-Pz6Rzm)Sg7fA~9@S4p{v+@7+fuS(Y8kR!W> zgTHqc&j6Zb*u$TwQK}R=voCOba_xS}WXMbsWZ`rE3Q@QOyB3X-G48SJccx?QhycD3 z%1>wVUjtxwjaN*zpWb3vk2;iUZWm|v{DegMaHI{odUw_b}}DNL*JkGwPS3ZosSyV9H`OUO49Tdic4iI#ve+)rKiyOYYb%t z$WUVo1o7tBIN3GNqIk_P;yA+hP+p;aZ+m_#rf^P_@Rhs%-9{-Gnv>9nBSh~ zdnjhep4j%{fB2^S`XOF&W*c-6Ev6Lj#^)W(uxEGauFMhkEVNf(SXVW>jhNOh6Q3+y zX_EI`Idwd5<0`t%xTqXs6%fM!I5E|~oQ$+Psjgj1&wGmSIHJsKxF&*KLtW5ws?t(- zZ$m!6!;a<{KIA8=InB=CdYX;vtbe~MF=`SZa+#d<`{~DSmE@{yoV|ldgoO0Lmm~wr z!~OE%DNc!lMXf0ztSsv{FcUiLn|Vy zPfZ%y4O;2SpF%Ue+kL{apHMt&DzxUs&`%- z*%{={Xx3?2FMsTEDH!M|Ggp2$>$5Y#JbUJuXdt38hpEt-_StFF#* z9(uG+>o4$(z;5bq_gRis+;W5MJo4dIB7^Xjff*$iqV0R0eqO}XO`O5ZBxbU14pq$r zW|j|_Lh!Wycj7-+y1IOc5w(n6%BSqpZ@9$ktFYvPiFbkh0f|1cBFA-QGvC%RjVBSk z0f}2xD7zjxGRu;yVZwbnUA+*K`W9THaMr|5e2Bw&+vf%+QKDD&RhdDCLF7nbj-T0M zl1Wm3DEV|s+%R3-v}O&bz1(`I;I2g8DBh6jfL5jg9hf$cBIahVT8D6t53jm>csx5r zY)Y>o?$ZyyLv0`TtMqnMJUDcn4LS<*=J9tVxXQ;!3}Z^G|v|e7h}5C z)q3~K`I%+`ss+>3sFT#rOl|xpMz6b-pX`g7@bF$$y?oo-lv6XgH%!PuRfJPfH`ce0 z${I`;L{zE_+j^*!6%n$p?CqWAE*;cx^s+zVCXj@F{_V87oi>RRLv8>k+#(&)f8s1l!6npTI=l9t@IF7!Zi15A4I4`Hl z7+V&Dew>Q{^nU;5nAAN&Y_}e{GPy=lL%Zsd3}z#=>jYUWiPBZ#{W!>voGT|@pgbwT zEsPXpIr@r~ev5^=Bsw!KPkAZlDgTfwE+2gRZfKQc)QB@&r6Z<6z8YGXuZr+Ydz7-n zjb^=#WcONc?%g@Pr~H9|uS%iJh$80M$DPV8N7uXZrRgUmvMuLP%Fu^qBC3-YTv5@? z^KxJ|-eGy%rMz!CXOrmOFKu97jF6bC7s)AB@9Nk_$p$5XU1tLHboZA!uk0A*$9TPe z41Zr~=rLklNezovVWozag*;se5)$;0m2bt*+Idac{cE!b7ZYyA(>t-rEV*UWTel_I#|1=fdrs8JhyyI8VcNMD0^X zoyzL!8=R^lGRj3R$=(_+B24TrWEfRNcmy;U7!(+ol5{#HnE!Y{zk>N{Yt9K265#yT ziU0-$1?B&0_3l4fL0h}IdA;TXC=kz^m^bT>pslD zsO57A*v!aiD8IMsg82xKAlvmh9Y(>B?>+Zo=mZi<=4zUmt}?nqiELC%{bhZ9R46T4 z1Nm=-52di)1nd=)>TO3;WU*5B)5pGJE!Ljaf~Gg#&;_;H&(5wmvWL9>+^w|)jEmo` zNb;7a8H&j!Sq|OPcT0xsba@>ARP)Q`Sp1D)Th1r<*-CON4;fPXdGlvKgTF1K+!Q~` z59xbBh5X+P;muf4iNC|j-v1_+E2!<)X$?2_Ui9jC)UBq$-}}mt?iXoE-mh;EAy7?p1C%i z=bVg;dr9pp8E>~&x{U;=%c{Q$$AGG(oNbJZywyzBNqdWNQB6^g-4WISSEif1yNzV1 z^A4!bSqKv3m03!WGx94O;_$kj@v>z7&s?Ug=SL~n-3X42pVqCju-o4a(<)p1(Tt7> zpg)JX7pw{J3Vt(#&@a|pb2Rlm6~Q{ezU3dAq(Mwj+wX`X39Q~45#Ex6lDBm~VNJXN zgWqf+4G_uf7pL!kzr2;oE)6{6LV}jrro2)l(cAYt(TC74y{cU<*`_pidvhoCgF5ZD zi61D5n4=z$AmUw47Ow*5!KmC47$RC_KZwm4hnqghj_ANR@m$PLyp8GJPj?Lm282EU zaV`UYNFqF^h)DV96Zx6B`h62i>pBVy7!Z_t#KwAKkAFjHe(vJUBB2>Nev^i5rOSWv z;t7zT`7?_8oQ(P`i0Y>Ux1QN0ihoaycfXAK9D?xb0{7+%_htcfWw( z?*TXd2_ndNzKnNogzD!C*U1^Qp4~ch4V{eB}0@=Cv6CxcWlyxj4fCzb2I z*})sbJbpI&gAJ@u=%nnw|7fDcBN=_LZWmXYVi5k}jsKvGyQ?io#oV9n+&JDp4W)hi zHpRb{8tCAtB$=4ssUXP?-RN!Q?=v$5Hr{^;Va04pvdY|#;T3r#=0`xp#ooZZ~$GPLbEpS8TFfL1*^0d}$AM*T}D8SJpwuf!1Uv@a>RpUH@D7 zA@M*RPuLQcxwyf9Ms;03Vd8y~hU@=Wvtgzw)@}>b>a{wAe6bxN}DEBu==15ymvN)%rXv!Nra41*z z=^EgdJUn$Y!bypBiS{ZN&_M*eYpdnU^2R#9HX|D9_Y*lM!uO)dey`XT^@`noOqGhk zy1g!IOtO_8l&th~cHC()pq6da^sOnVNja_{JS6~QMeV(!q`5y9u-jcvWN4iAoi!q_ zxgW)Oqpj#Dp}l__l`2Qzsg0wigb54FgdUj{M^=+{-OEL=*OKym3`J!I}0xy=?EzoJ-5Wza{6!Af~A7e&qHT!nH zk#B{Jy>_dfVw0@<);ylTXCc1KlW@uho8GwhKh6t54t#g^?|lTF<*V3~xgUAYgWnQ< z-w6j`!*V_~5@cpKtE%RTg}v%wwR<(ZXE%Kn-&QtdBzb{g`gbipzU^AUU7Y;--RKv$&*2L_9%yW6SsJn%)}#$1evZe|)G-C59U(vxuYG zy%dLOpC=<9Cx*rDy0@}6Ms6oeXq(Lb6SW~3TcEQLKv#GNU5d!5`#jzJ<%l12)=v^Z z4qUFQIj7#bk_^8{xEUY?Q6J97j?-`jIrz|OuLE49mI;Q}*}Dulq7I(mAO~EFLfy|t z`vHk;i97)mK+bcIk?aov`y>9lY#cmpLOlFt2XQd@aX}5|WzlzE z6*!*;WOPRDdHep59q1Jjz|gdZdL4e5Q1do1{K2>~=D?TnJh-#}o^n4Mw~n|IsU2bW zO+q>#_YFE#rt4V&vO1C7*?;hY3`Tz8{PCa-QKn;`iivu~YPYU?FFyGEE-d`@Mq@V{ z#_PjVK-bDo$^fVG024GZm`ll|huN;>oKBKkO(N)xy3RFo3EXCQ7Qil3w>8XJ=ookO z%P^M&z6n}8;^w&NA0!}l!ky!;3czo|B+K-b7eb$7f}Ya(^Pwa*@9`QFQjue#k$MNC zg8VJw%JUZ^1hepBPaS2yd4^Ve>~`v=t4`_h_zT36;b|8ZvKo+BK(@Qn1z&j44vX)p z|2qnNkJV0i&#^lW=hQk!%g?hOcCk)5T}65CXE)*x#0H9x1js$TP-Y8WyvI4Fg1mK$ z5dx10YiIsmI*XqNmzlrpeSxq8w)cGol_2y0%Y&G(KRwZKw_9ha&~d_v42po1DrBm_ z=hg9NSw9JOuotWo??qFPXl2BOO5nUPuKig6tYkglJ73BYpqY;X&(7QMm;czS4xCDO z_bKmg6D{(KEVdCkiW#26KIm;70gn4gWQ!qBiI z$L>Oq_4lT2{ApY%5vQTM#y3p!mo2SG$8uwcaeMtH_)_HFAe?G57xDCGSij@Dn^VL{ zDpsRypYnRw?oF11HAF??1ddAP3h1i#z~6s0)E>La&6_hn)+CsN3Kr4rh?A|7IoU=l zODc*v*fX`CnItqDavtNRkXJk+VI85<80mt)&T>|kaEuynmj-4e_}9pDKgeqF-w+lQ z-1%=Hvm720%_ama$|uc8s;9A+;%1k7&1-S$t3QPTfaT`i*B8e=YLW$a#yMlZA9rpd z?MhiYokz6L4_6BoBg>9h4`Gh%lGr&0Fj|Q@OYVDIA{g3D(S1tGh;$@xLjk1~WyMCS z@|NwN9>h}W9yuv;+rS+;X#H@sCB*~3*vmqkP4>NQ1d0!J>%MX4_8b~EH@8wuRb8-^ z_v~hA-_vIs8b%q#u-qmPFUw~8L>j*sffxAElGysa2!>MGpD|Gw5nQ1LRVdi zO$E#h1ApQUdXl0ReTW(HXfBOhQvzH~b!ssNx6Mww}$ok0l1d zTB;^mYHF-;T##lAvXoMqLsQT+pAxz?3fNHwG6YR!#gXJ{jX0rlvwW{9y!;ShMkhW2OvW9fGBJ z$Ti7LW9Dfj#${@_c^uZtICw=0G!{h=|!d9(fJ?v6aN0-D2iocf?5fi$Id)*-84gOgx+mOL$s+pa7W?1;^D zaT!lc!Sa_-Eq-+5)(>|vZjrOzBMvpfMxLMi#%xYf&`~J)g4*&b`DpeovbtEvICgFM z%tusaT=Nuf9pG2-+?w5CnXZ6EPTDiG80AF0vlOrsQ=!AFc};y8d6Xi%7S|mq=m&8K z$w9f_TZlX^XE-@SU-gW&)QHbM{anE>3z0=HCDzh3QkqiwW_Vuu6VXFcDVDUZu7$$9 zwE8+JMOs;l@S1GGdX|uIhj54ZhN}VouB`cxe`S+p>R9Of0k}w-Lo!ksiHrmyot<}w=y}Tr3sV$t zBrCn$rUg^u1Mq&}x`Bx$T=Vhk^ll@~Wi9ElTXE^xfnSlyvY zD0T3+4{3*`I~R@<4>^D!_QY6H3LCK+DmCMpVl?^Vf>XqrKY&^y46HdRIR4o(k_kY4 zu6f*#87W+rzmsYF!oimx24I;!DKEICUlK&OyLo?|vn9`ERFbR`WlbT~rJ7@*ivZ>b<6)^?*Ev-V z{eq_QcH!?lj@@ev^!aT~t|~!j%QOGz z5bXNdSunBc4_KqAxaT+A=+=iG)Az*>W>+I{9tevC7aZ_mlCG3EZmV>=w_OJn-kzau zCH*m4Dc&A_fjhCu^zDb{LQ@l_DW=e2K%0j|J@dw0?_j2<#Z7VWhv9F~Spa$@TrNbF z9_U2?4XJOK^HHk;c$$CVAYD4YDG7^Dpo`5+CGKGLaLQ zByzvI_}f~FFR|>nU~v_g7&=w@yI*T!yMLkhos6}gX46eimbe|JC=D@e0IHP_4iiP# zQdE%6&ZXFUlPausx(Fz~dyKtL)Q(-52sG4ht^PyhYnDmw)!qf%=%}IxQ>C=|O=1di zF;_tgZC0~Ql4h7F;GGz4K3v`WT0j;|15W(hLD~KWbQb{_mL8<>`}p= z+B)-BQ)hK_y+Dc}J#Js_zrbb{-IE)pZ}fB=p<($VR7!T;pj}nDl1W-c@0p(;&!O!C zv9|Ca$gnOkf`g}2b!;UyK#N{A89ok|6ys$kh7&>%Ml;KC>Z1BzAFr7&A9`{*j zh8$S&uy<#dFE(S#XTR^MvoIfN44aGmVK~HCgZ2=KdTuzI$DD=ytZB%f|G?fmj3k#x zT=)%G`3X za zr?bw=;YVZRLwBM6W%T}cnEoChMderQ?i(0G;C26)<6V!3k(5}S(w$0A14U(7%2rLu zklz~}*r&NtIbw?x?AQDm@3|DO`ET>=_O59k;1^4O7*JHE7$0v(nqT_vyhQ?C+mw_~Z0`!m5cmgUoZ_X6;5Hd` z{EtQJ9nW0aiYM2f(FM*QZrS%wh=zMgW*5&#PtG0jv2xgkk{i&AklF4#&k1Igs~6Sg zH%^5N1&_Mro#FvlN$&pH{*<0a8_X+)X6+t+ij_CC2f_BZS2 z#?(`j??-YJ(n6%t zZ*S{w2Cs>yKIXC9(T3d-r^TWeMvXT2?|$ipY>9T;;PdlVT7ES%9B&SCp#!jPF@Q%w z1|-WQP28uZEBz#T-&Dk~S7tr4|U^ zc^yqx1{eM||8PMEkZ%cqDM4){@E~83Hj+DDPhKi>v5|#dU;_6b5LA;~6LTS!&-ZIN zW)f^;&1TAG!Dh~8#b%ZhWnN$%iYVA{{0fCN%5l032&KDFZTW$Dz^-z{073wJetJz%OD{O=A@cX7x675a1^KllujbZ>uB~B zumWxlaUli-x?lr{xBS75U};b|X$;pb7nLOj4;A3pQfz2p0GOrLny{Sx4{&#`|420H z|4Wjs*{sXWznXqEhr&J%O=+kL@)i|zzjUCF;CRrKr6D$`1oQ>W2KEEff)_!SP@phD z#!zsg{^f-m37T;z27ecZfmxHD!cF)95h&CgP>4~t{N#wC@%(UMhsK}`a)5HAjRcz; zda8h9Kz(7YA$K9S71u7;F3&D65f>4664yV*xkK3|z*T9zGWd^OTO3fVpP)G3LYezH zzeNlRD{_83cYIA?O$3xa!v7a&|Fs$xMu8C*TwAzcDsVnDH~^>v#7O!?GS2%M&}>ZV z0P>VW2A~000Av6W=n+D= zIskrta!u-gr0Ty?VZJ!n)t76DloG@Yh13>w0EHC;tOSLY0&EC{7Y-~1h1eX72Zi~H zWREwAJBhcIq>RL#bQKDD6i68gyA`+r#11+l736ZX_-gqdto#o~nu+}df-c@ed1z18 zL<|jy>>pszVE&(>{1>eI|3t6gqtyRJub%G;*CAysYyaCs{=0ct|1a|p;PxR+C!ObM z{FhXyjQ&GJ|H<5h$_*btJ+BCf28jmgG|7J&(jNC1l%@aMh@dtE-5)PhmS#{#2!~o6 z3Ly64eZD(;ayoY+RB8QCg+bLNlwJdZI!n+$EkXSx&V_f22{!dG?huZBt&p*5tz|G-Mx5I`;*dA9^RV@a!Y^Y>-|B0pC+?`i|w~-5KPdy~2 z$L3-^z=WC@wZEpq)=Gd8^ASrntBlco^K#2;9%xtbk1dfd*wEg93M%Y9Qp&BCEU5Fl zkwlUx{!a(|9}N2+cH_l$YL3D6&&q+{Ym)yNTmFj=$3KOLK;4uG>Z3FOZm1r3pdwGM zNrYyV1L_*R(0EjMmK-6^+|Z5%+MPuHBQmc5mjL%aNkgLvagl^N_d5V5l%LG;PpJ7( zlVkg)N@hxyN&qEmcOEM)D;^>qqAsC#tg%>|OvP`k@(M#Hu;1Xf^8CaHxi>M-#U8DL zGw9Y(9^~)RbFy&jasp`9;4VXetoxi8cUrM-eWE!pIOsWqSAE375zV2*85mTD-K?nPqjs)F+=k;u&64k{(~f9(_ZETtZau;& zaP32Rn5VQK?&Xhr+OEfKT6bqhCI|fK zhxBm`Cjj*_EQLl9tB*RUokjxlGVC4@E7)faeIC4XiqQCIjB^I>Eu8`PLSBP%O|;23 zQ510(+)lH*ac2y37IZ5|fqViI!dRl@M!qKBM44!dc!zw2!zdjfV~BPVql*lEqMXDu zBQH^3xayV4t{|MmkaRmK0z{>r=)MHr%D0m)QM(Y;OKyI#3Fsree_`sP4qT!2r+!4v zgKpo9v`tp?uLU`@#nr^Cri7lIGzGijGET1K$%pT+4d}R!iZHm_->_+K8D;iWo^W%s zJ?Nw)g}pxZXvk4ySv;A+{gE-wt8pJ^ww^lGe5SrXQm}m zgrSFSm9U9G@MdVEDKd2|2d6_n>9DbA4oKpuRdhXNsVUG#EA%`c*cR3k2ow}LvMb(( ze$r~NrsZ?x1v<4TzDAkM)gh_+?|Dl9U6ekgj@NRsE4#xO#i*>~pc8PK$hLv~&$ZDR z`o9~i>li;l-rfDP|9omXkyT!!_D@wcP(FRIhQF75f+^B<`ky`w+0_Z-V5S3`%6Bsc zfmAUWfc%P3hK7tWkOfni})v0JET+j{u%4G=qD8QV*UxW4E<3Aku#BRiGM<& zFC3o`^pM9VG)>kMvqtR2bNi)5z!~Em`b?8=D_klZQg6xqXZ<7B^2Zh4 zm|FzW@?X%b1Ly>9iT-bk7d}4Y6#9SLEC#smH zjV19@JeA=(h6A}FB{tpmF`KA;DRT{oJC;2fx;nB0%AwnbP6Pn~JUWv2qW$a$-WaYt z4)-)t1?u>s17}hX)X{{74(lYDA*E(rq|fM-!4g}dpRZALWc?rOOynKfpIRtA=;D8# zj>#QL?=U2kT>n#zNn%URo;=~MY9Qub-{3qKSt^Fu#-gg>dzdGY?F9%2u_;!_~BZOKn4&6B=G;0|jq=M&;Y z+m`)=(qH~l)~t{C+g|1MVm;XQSn{vI6(UgWf+u?sw+70^Tk9)6G z^TL5ZOb_hBxp$)PIS!j9d9aFmRi)`E4^v=K>bs}{9(Ata5icC<<-KCWiOD_lV-h?UH|UyR?hmBl(GlPk~u)7 z8PnqTfhz?IvgpOtMfV3fuC7XpaXI074<+#a>apey`oRw1q996kC0#pvI<{5K$)mDL zTtXqXYTpv%Yv#-|{*)?{dU-Cf>u3MxI6DhtF|zB7&~vO%545VlV((ah_ z8)UT~FUiV$ekNUgn7>Xy4jon8+f_ofkNcMXE@9>adRcB66pzi>hqZM=j9eV>hMa%5vhY#p##uRf;m>}5`4MU0(1z>1 z)&Um*BB!j|9%wdMdQZ^D(*;dSif*QS;N>kNGR+gqt_C^S(J(y#)z&E!>G{6PsvUj~ zrfKY;Dn9dkd@T!DGg#6^KIF~LmTy#eK-W$x4|!1;&ADa!S~2PbkI)TT(W+9nJ#hQ7rDaLS_Ob;tj~nD=NQAwO%;`qX_1=5 z^ZRIBp!v)`XVXLaw&;D;s#F>yj6b}Qg`CwYoX<*JdoI@ZP(x2@I1yPF_zRODjTYkB z5r9*N-up*(aXALblmIHc2k66V{Z}N!}9NQfVmr3(M{{-EEN)> z6fKrKo_T=C@=R`2qd(dPJ*3ZF733Mf1o*E1ZqKeIojM8Ea2Z^0`o~CS_I3<#+m}y2 zhA=-kwrQvNQ+uK?%*$wOJo6oR3|Ua~ z-E{%@zG$p5oQvv+4k5B&q)B=-+DJv};m}@r?^EfNL6sJJyL?pAyMJ3YB`mwNY_liO z(+vuCDYv}x?uG*xmYm9WCi#LXN~<`Et*~qeR&W!sQhsM8B2yzG?5c`4;|fAz zRPhFIKrRra2rc5Kb>FY9$^d}V#r=LL5UdmlmbxDvuQY0E7R4z~KGEGqb%?lRV$EOJDkZIzjXZQLh4lY7>d3NH;nBtTKe;x4#V9J$o~_a@f*YNjH||`ZDqEi288WE{uK34-S^?xGa03&w zVTaSP>tbRIp!fXe#&3Yg%d4vPPT=3KtA8Y;tk{%NyXSicS$V`}yaAMF;gxMG6l(7B zE$mLF^~OsNWnU^~rsZ}WvJciThtR&M8sCT{ORMVldzg}9&Q!4W>1JmJ7bBh_>4kS< zI*K2{@}OKCrgavCD*DlW{Gul5t)EOQ^ut_WEf8xM5#LVz`YIXZ>x(H4n(65vJ*3XR z=#ahLi|O5&CBPFySC>+RrKB8UTzA$(enh@B%2zf?qG0^{xsPi*+3B@^@62f>nAX0{NCy-uQJ71p} zUk2JOi#oeJD%;`^Ni)~Jd@>(QI03eC5%rUgS~}j6t(cBa?fU3QD5|wU(El7ge-M)e z@5R8o=1D~H!{(rs6aQFwJZ1H^SgBFp&<}qJD%QR|5Xbx~RCar0>-x5iB9?tFa}Kc`tr*A8N@wfudC^ z#Uw(1eAIaGGb!-H&Sm_K1;*^b7J5~xmpM7BqSlDDror}KMDh}`;hY6nshBBq2X%xV7q=L!~TAN~#E zXde1x>)$20F^8a}?XhWzV4%9kUQuMp%T2GWvWIai#q=_FufH4l#MeIYuwH4S3|8O$|TzW*r?5qI1O9EG-VX;TD?VpR;wbicYxF`I%*vm98mul`r5=Z7vooR?xiV zZJsaHd|!w~gxJlZtbY6fb%t$U`$CQ@h@KPX_-Ev;gS)P^HXQAcS6^nqmfdM%If$%+w zGHFGgU>L^2`5Ra^JA3Lh^)lWA8gcu^B9GVE&W#g2qlY>YZw-QO`sl66_^mY2>m!Nl zBeCo8Vh^*~&Z?7Kdhg@-twr%`ykZZe+0LVrTu$%hp-<`N$}NKgmU7CjJ6cxb^^zv= zelrw+yB~fo$b!yLoWdY|s<(Zr*X3VF(?QdPJC{3cbLsMmVcThF(R=q5S!*a7c5Z zkHG+vov#h*B>1>E+Yr(eUUQ-+JOSZ0h;?nJ(9FNQ^ANUi91^D7c?5gQ&r%G>1F%a#+>o`pyNKTZai zOhX3{D(35fEtV{vj~6XGeEps%mdY>59<_e`Qp_ihN3NLOH~^EMH<7%$oHdbf*YV3F zW1O)nER=U(EWiC!tvgoN8%09h)>p_j_z_v@__iZ^b0NXJPZppz>;xyV24##0h=EG( z$a*yWjU=4RFUAhCkg-)pRN8&U3MLMu6oqh9RQcRBW(|ufW^dE9Rk){SwaBx2xT+Ip zLb$CQf(rWetV$==JmE~o3194z$$??A1FJu=~Zp8d{ zz&2v@Mm$uw{UvV6@5U2FS}9+6GGcpj_K&gqquV3}eWp=M`Lu^Lpa8R{(v2?ceNF!D z`izY)_hXGfa}tG9AC}uAlF8XphY)$ZaBwUm<$7S=arILi?c0c!YbY2<=6m z8R9EfB-BU74&mAoX0!{GjL(z)rJNCYq`FZGEk`AG`jTU7lV@7;1#^Is==?2Aw)5h5 zxP-L|1zfc}9Jnm&(Uv-d$%JB;{pvhepSLxXg4)lOjP52M>MM;XcrfNzt2wP)tgIjs z+-#G{aH?8TYwCf&WL-=})t334*Hh;%+mN_w@E^uBJRw zzdF4fvk1-b6O~Imu>yrZAyv3RFlG9t8c^8`UAYiUw->wX@#tC;)#~8a5Iw;UEO-xTnkXtuPg=&H^7e3|(> zrv>nP1q?x)Ah-mHL6qW~HaFr{!^dCP_hyeLUWsug*xLqexW?bMyeZJVkWeOGAbUj= zecP5{i?9e)(al)_N~C8xN>;!p4&EXG%lV~MDR40?4lHbVGyOI!+8BR@!k@!auD95& zT3(Dcm<>nT1Xpvmr>+(2yj@p9s&7H<*ZchIGohsNlCADfE};7fi-K_XwV?%1#7rIn z(n~kg(pT?B$1nZy?rGx)BiO5wkcR*`Gl?9LGe-%>p(Gn2I?uF6x7 zA=l(&_MjHs!q-U|4-^;WkS>7WtQKWpVJ|B1HPBrn#Bvsae==iBgpj*uQeE+yFv zA1;#Bf*fC^f$hTw!P(5F7AegO$!@C}*DgIUxDTwK-HvVkxHGBB*_nMV5SOnNO<@o_ zx4Z6?<};_y!WdHcUExC@%wLJ2OVR@YGQc@D1yoR6#;y@5b&{`^>t9|c)Qqo79G#!I zAFjW|QJB1%&xT!)Fd$qZS`vBzx)u9?rg4hp=`(Hs+#ijtI(`P$42$y3`Q6rUx3in8 zutL1BrhKTDgV9#QrKKF0S_sv`=_`b07%@S8}133_?)ixzt z!~pO49&PzR#@bQ(~c5yCF<2oNX;LiFh^xfA-UqzQ~{;*n`Q9bI227J+B za$H;DfDx4hgqp%XL#LSZFVMGL+B76NvB1)!?C9lQoaY>HYj6`eSB7Swvvv?IJC90n zk^yzHe3Zh@5BVM0E%hs^P$174RY_Mfeu(eCN{0HX*J1q9G6fgKYbg)pUfQ<||%NgBXOZ?*hO z6t~B+q{-ruqTA7+V{ev&I?@yV(3IzkFY@%afEJnql(o0vDIGybl^tnzj&z85ocVIe zF6_?hQ@Aw86d_h}fx5YbX!}AM{kIot&3h|C^_&t8VaLp^!1+qyW6$b6ADI^(L*yh5 zxDL^5ApGT@&QbOs`84h4vBMXr{u!v@>?Z2?L-*FZ%7=#Cg6hJ(}4OJ#&(u`;_bP`3iMNQsuC+~~XrJGY#uKxuvo^6Q zb`s0Xuh8Yf9Cx?pMsjRP6Zd0-8h<)hkw77pcZrz0FqX!3i7dy0IV1U2R7EX76!+Tg z$$5rl_tdQwKH}K=Z~v`m$nNY2X$~UnhI`PdRxvBaiLZs0W>nm?%5S1&isJ+q&OK+3 zWlfqr?#ni-Zu4kfXy01>-^cwd^zKu{+hTJK8&?XryhiE8{76TvQvdAEe%in-xOn~5 ztz~_gh9ZF{-}QRTBz!260qCInT6M;@3eW4!6q5ubqFqAO>fKI-v!yMU&Gfe~G^h^K zsuZ}JH>pmWFc?l)l(>P1prAjJi5_c2ydeL?w~hmW#I1`@5(iC536{WQ;+|+n_ZR1Z z;NQYrOuU*G+|8B_hU#T6kdxO|*FO5npt@(?FDhvbGh#jTUui}D?4rYNO_b+-OW_p5 zCzVHDF(UK#WWOTkNTMyqYz5 zWgC=uUoNR4^Xk$NF--0AQ7T=isBr#aKgfa^=H|dCtx{#fbp2u6$Tg3Yy>-f%k&)=` zbh;(JT)M^nG`xZOuQ>-QHV)RX)wOVE)~-)N75Ue%7B26J8W;;R)YSq5c<^b)=~F_i zm;=p>3hH@7^)xQ;x)sWbB^+0Rd-ZiHuW-!<7a z#ayw7gC+B6>0@$R(#GZV22_-ug@+*`w(9%}DsnI{x@N4DP~M}AYMWr^u~F}YRC(+V z{rlW(l>iJqA^-lhK$UOn#1S(&6am%YpRGUxtmrDW)0maCXN1LEwS#1z#}8gXlrX_> z;LPF(T&U6|NS+^hm(_Q^!#M7uChA^w`-x0{XDAy7PB;9;f8Q9|E0`oGAiXJF`Y3uC zPaP&d&}rLrJV&LhXn@H0UQp{=!aw@=@v~10QL=U*bxu$*-sVicVG|jYVmKq6gm0^% z*d2ap>%s%lrtFUV4*NRH)|?I(&rzr*>!^$5bAv2kf$xua?f8SD>&x}ce8q0NXT+es zC$Rd3&>r;=bn`_#8#I;ZofQdlNEN#;g6BWX6$@pC$0!~#x|1<)?H!IJuh<&6kNWA~2M?MnwVt{Dwef@l7~CgHg^9)U{3ipFNl zS~jDL^({{gozdPAQ7-@1L^&Ad7< zJnO%*?k1oKf~l#Sz=xV|LWs}&U18&%&)59ylW&XKChK#$_{%!9&=LH@$d4I?D2Ijm zDI$Y~w16)8w;6DohAHh+MF2T>I54?r_CX6hJVjAoIT*p*O$Ysl@+)L!$=*9RKfADj z)p9(@1xCShqp*U#t@54=rGExXi}E>w4i;DG6k5IaJCS|)pxfUN%lJg7I8Bo9BQ{Sm z5BZxD{cO59CmTO1#LK(TcGPEWnre>aJhqhZXYQt8E0CdlaW)+^G^)VDMk=A_V~sQR z**n`|*z>tP79_{ER)wbkT3SX}=e4>>>VuX#n60r;_)w%>UG(NJ3v78x;V?~6XRR&~ z?~l_3nVJtsUezQS?k^tS^uJtse8m(yG5NJJ0Rz{DO<{OWg2S2XC6Y#MFiO*7elNgi z<0gzOY2Pi-8_D3yN{7(GfKXlQ8~NQk?s^CLVq99uqm<>DCJO4IVMavr`dKUPKGAD1 zm0H3$hR^VxDWk+y|!{2%M^iOSDViTvdV=g*l}kugtESu@mS*&{?_KJrqgS$ZIn zwznV(S`Lbkqmg3~WZpK%1a>AVFJ~;CZHex?ptjpk=!0})Tln5;yU0Al+1=Q->9jw?j11z?d);X`#zb>keI6wiNGyI}T{$%s z_WM2~{lqihL!D)Ifmp^2J`6EB3fT&AJmbaz=O!-s&6q;(Z$HD#)T#Ok1nX8>{1{)u zYP(g4wuD`q)-CO>oo@JdT@6d&<{`?5n#DX?*h5YGQE#~8lCH5@Af@r9wS(?0naYqM zBQBTg$NbQ5$kH`0vP_{@aUhN?(&|sv^p3@#7 z+WoBci&-}@LahweNPeYYRy6lM`b91qR8UmxckyZb)xwa8>&7T>M$Ww2u>Brk5J-%vU| zU6s(X@&%M^ox5AY(!iYmj?$FdHRX{Dw;$xG8SJ|Xn#Fg;B1&R_O9#hNVE|P-dnNOj z=amw2sDQFM5o$fOu@P%ZwXe%|q27a4zN*Mu0}6phP;$vocxVY$ctXct1=cY73r@qa z5UDL-9gB*Cy&Hzj0VYLFgvu>0M=%j@L?`6!1P2G#^RcDZSwKSF)GkUe@8!Zh6L@|OA)!n`Id4`= zSTY-AU-dC+^tGz#$+?S=x)Q>;U&9Aix<%MG#OMz0@KC?(o*VWDz$C;S3aQyFcMRVK z&7kr|3c=V|vh^g9(A84BlutGe6*7_CaG7{PF*KsEd^FESUE9woZc>W*xOUMY1v+)W z>LA8+xpKAH7FAv^;SbX4IH0Zv41T#2GBrSXGfVV_p<01pOIiA}zUBv;b_{u{H~!T3 zvZ?*t_6>I)`KN}vfr{ZozTBOMu-6G3HrMyvt$n!Wo(2BSQE%a_WvH@--?TdoExxSA zwHVl(eR)`ni8{M`4Zig3JSzf!u!gR_vz-frB8=r!>GB8M<|8KWbBD)0Bz=VY4K}~I zf!1hWL;!4Q(j)6XZY+ppo2Dx||7qmE!+h0c$NPmW$gw;>v}K@kWuTAjZ-~{!&;9vO^ZbTDOp)_z@jzMDNf(`glg|AQB3tk( zx^=DYuFd@)90~%Y1$+ZK6tb#DUBRK^rWNM2AzSGHf*!UYN{Pt9S9M+}7b)C&zIYi_NK{ zgg0W`s@0{{j`$(p7^ij11?6s=nv;5$tfE)Z88H{>3IFR&u60}aFt%ovR>>uQq3Ko7 zl#6gXe*sLRJk7mNZ1}f?NE>214;}R;-dT_FUbZ5)dic;0<{YJO+kn3il^uL zY-uwqv~g-NfFDp#-OGh|GPr{_`+FCU;C|5BwuT3*y9-h4UFFKdz&k7!9pJ(7uyWcH z5yg)kPNR4c1=P&n0vl?1DujscCwa@CKn+hq^g1bB>P>w1wKn%C@1TIA-d?bAPqc4TYb4`@EW_oykI%}n^C&aRtX43NP&*qos z_PxM}Ymj;)k5a=|NWPGIuh+h|=%K%;Jvy^5^52y`q-_O)9mcBgvq`ovVJ-J7W%N$TAVLuk(KJ|Z69)XSS!HF#+y3gQPJE-?@W?GT4XJSh5ReD4$ySnC1-^ zSRv1|+UF{ZL$%)JC!r~4N{^q9s*+tpDd>55iT)8{9U80lf2WME z#h+4BkRbZ)y&i2GwLjt^QR&A;SKgQTFPWGvwWv`^oM?Qe$iT<*k{upgkc0{p+Gqjs`9) zAeQEs?L$dKUSZtROx!U!8oF&tKr%!Vz;m zL;CJGQrJdw{X2@AHd( z%eBFpPW?`XdMfTE^D-CbN88#~efPP-U&4UCeCN*I8Kb0x1OZ#wFN&Uw*ix4HuLuqq z4m7SuqwbV%O?F9ED}D-p9YTMsS=dG$dZQRmyXfQ)M{ZDyZ$&At?UAmiIc%eGH^j!m z9EM$W+&YHj-fpR1#M=DW&l^5#)O}`HZJ2x(yHaUghwt*?qpoDT4m+lnmy>$atnQBX zne*96SW4^8cz90ICn;FUUQXW8wOk!9F_7#cZ4S4(ggXCv#dp{fLjRAEO+PMhw$*2m zeb>kM(nA--`qaN;fo~?I3ak3jG7E9Hw@=Rar~l^S&#~} zW+^*gZgjZMuLW!i&QbOYlXjO7P6tdC!9Onis-w(nhnN7Rl|P&FB-ANZtuXU^?J9gU za++6tlQ%Lgo2kd0yI#l!vadZ|f&r07;Vx#GSnitCkzM|f?5T$UN$myDgOaz%JVfhI z`_2ugC29zc@HWiz${s{GQW!rabwia~u+9VwJO$ewubey~P_(mGbi|7$k8GiQ*VjY$ zMcFszEy8RiXsTcK&&g;}X0rpg(1nh-JN@oiQJK_iwYA!?hfqD^r10d3M z!rqhR#pD>&KXGXwCU3sGKr@FOX}xUHMv8(QuHEBCtpVgDC*0kA1*Yv9^;T(#tbVAhfz zGU)B(2q(mZA^e1~1(vv931` zop<})opmY#?}|*(tR5#l9iE4TSO`UMkJ1k;hmf}~2&GtNp z{pIG@)wtOUZJf%LHfB^=uKY$#3AU{-@eaIFIZwPiE=<0|;DcrEK+}fg(QKQ@iXs3d zN~FI&HR9}99J)tc)bHx6d8Rj$L(IBy8M$-K$V_o zVDUoO&hX#VxEjj>7Oy3X@H>2XVeifo-G)7Ojok0bVCb(o^qPMR6TU5xudwucL;DCb zTfsFD!ylnui1p7w`)K`U=;wi^N4?PNm;MUMF*FO##i~(fetRJMP1Vl`+bZ50KQ)uJ zEP|I?Iqp81UG;`|+FO#?_&$;S1LOC@1pitr?^3WB1hC=Cbbdeye~>{M&mCvxC4wSWq;#oWK(b3pU?Pj*?qQ0T?g|f0nb_ob zj3QDW?p)8~^W@5ohw+LaWSL?y7nNysd=9@IpH>b5tkFuSI_#$ovZMn-gYR5;&<%{5|Gql`lctQf2>GI?vuWM2z~Qxbxi4}i z&mLE)@Q#Y_SO@3wZ}sEf4cIrri9!V4Fb@#Ifm4-xYVG|G9#wjQa)QxcoIaeYxISq3 zQ)al;Vuw`bp-th(P!q`oFH~f|!~QLcZl7BahJc2=p)a1Z-UuDB2mdzsRaBhP?U~#> zAwBNx?+BhAGgaW!zXxPsK4%k~16G!iTE2Z3Ef-e7yzWE|*Pr|rm-LGK%y--SEOw7J z5E}k>R-1E6Bno)O8*$n zX8G#Q9(eq1&aekCUnY>5%(-0UNq;N%kC%9Yjj!-xtd|x^8qVKi|M-P3XI)J0)X<5& zWOg>1v1L@8scry?aAE$bl6WsVwW)iQr$pvl_gy{3G)ex_ohHn$M@9O6lf@6C5AGd* zFZ&mKmj14z4qFaCdmMjupud)OlA2G-#1BsS43;6AQ1!-VO9RYp^hcfd3imhn=HC=% z&KXPWU4JPErHugoA=6YxHeq_&^=m4DF?1r1NefY+ZhbcFTsa zOo|G^O>wYgaGyxDM?zwdY%lQ6NE=ydc`L3d;dXdyWAaU}t8Ap7<$+SS_hGPh%0P68 zIV|VajkB#-KG&8vs9%sWIOmx2P3=p=nGcobvrgwhsdlz{_@t-Z4-z;Qy|1F3rg8ZwrZMXxl~`rvzP|? zNc_A!D{E@R!nT;f#obpZnuYE)dmI#pp<{$o2D5B~P0Fgz>794Ff=_UW9;Xz{Ky#pDj!DE{NC4bio~dFTiU^VU0-E2Wu1D4T2P zG1{S7Jx1?m@{KIMat8;6&PE^}Wt%Owv23K1j1#CK##?>^l6v8$1aqM2#arGHi#QW* z`FfLL+O8Ibnr>()cO#Cx2VR7%`V8k~*Aq;Z@2_YXFuG1*aA(T><2n?dcNzmQQ}~C} zIZLGc>gEI)egi}@j(=SpW~#Q%v~OtA+?G1y+?)Ejo}xaU{(aI0KVBo%?pa}M;#Pie zOubZu?;X3neiM_^-!mfmvkE7>Zx0PRM@tGv4%NPgvcxIUsjK76UwlQYUE{)@koO!# zE?=}>c?k&kTNSfPJbwf!jjd9~6A~yHLMnnuMl`B8;|@+ ztS3RIUd+-Ng+F#fmD!3Vor&3{3q6NN$L2y%-aS}e^Jr7V693K=b2(+5eVgnz$1Pfo zMag^N$b;CVEzkfDj*DoeavkT6USNpPjOE% ztL@e@DY7pmwF~Os>+cL7FT1O{{vo1lDnJrE=H~rEw;M@EZc~NfI8l$DY@bSy`=f*1 z>;toTE&0nWGPzpqpIsJ7jrZRQn=vZ-Z`zHRcaDSBgnRpm5B{y*eCKq%Jf!NZPdstf zFh9z7-j zf5s1lkbX@UT#;W}aOJ=)q>$1MNjX{t%*0HfWbTN$`Ai5Z`v&x@t@6KM=+1i=zGiy8 zpS6d*e6-~DCcte5_ZTqrEJlsMT-JzgF#qOmRIp3`?!Z!;w<4IZB11Cag$C10Rr+$n zK*@{e1R(6s$v?g%7_K&X6eXcA^DiZ80xn+$sXsXkx8|`we@LdEGc-RCVB2THl&atU zP^Z|<>VHzd$f!r^CQvZZ#AI6IifUl*vWc!8TBIinF`{XE#_Y@-2T9xJ&9jF*7Y zcQ~2FA|v)5>Ibi`wxt>-2fA`2PL4V%5;9^=Tx)9KUS>B78$3utG6b;S5eq7NY>KZ1 zm~f=3n^WQ*2V?|K^b`xv;3E!t-ewPy$2!RBRDNTnK3-;{PxbvNF;9zh5>-6|3O;SY z4Nv`Q7@pEKBk!F7XexxiweglQ6~p9vx*Phd6A#WKil=|pZc8r%6y;0G6=O%wI70Q` zD3r{u2s9A81v~k}XOu|dGH}SDIDxsIzgKD`*Ijj}Sf}0m4n7Vy-$)G_RYY~HOnf?; zPNn}aruiqjL5om&Pe1~~oQRnY9_eQy-3cn{@{7hs@{5HMh-o=n)!(U2Bn> zQ|ywqpT(N&M(RChIF|_I+Bt1Hhb`KTE_w+7&W`iqNsA|^LcbmqJeqeJcgG7qXp_oD z*2y`2yc@FKmTJ1{zGFD5O*?dlwbnSXKYSz`KC)(#f(SO+Wf5A3_d-MQb1M~5G@*Cl z%IabE3k-ePHT6Ucka{RQb3IuQ02FeS!yzwxJ;>*T&8e~KydM$hq`#c9p8qLcni{=s zh7`#Ga|42keEiAfX%{*L*=@ntPx}u60$ggfQE~L!??2tF6ltpzY5hvzJCxvRL?{(m zJk$?3u=&yDVOJ9wmB)RHQ=!R(=|~aV-2dv?#LByvF!c*FP#Sv*^T}9jsT@Ze!4pi7 zr_GG<4Uj(>S49S<{|rZ{O~*qJ)AI^G8IMlj*CJR{!Tt-b75~V|D|>^DDIj>cb1Z6< z^WoHY+YfOOmO|qR@G8vI5M9qV`52vtf(@Mt)x0g_zL|(39=1-=j}JR4)>iWs5aY&m zx^>N{6=DyINul>QWf%&W^4?KF31MMlD~uB#RK4&Z0u?I{?SFGuk|z)vogX<%2{`AM zmG?W=6WK5&HFfu#5(A4s)KN}G)%-*E{uUP+?z12{7doD2kFSqQb>HBVN=l|$H&6oeKIP4mUJ}+~qwGHhHCqI`~i7~Yr)LLdRO8tn| z6JjVa#Z%w99>Y62m~k3nbj2*0?@h!2OOTZM_i}CFzG1^J>3!O(*}o@E6!Wg>f%nM5 zh)rOyyo%7B9rE=ra_A3lXV=Xavh4_^*t@Oh!$|_gt@WS463Ykj%4U-{nZps3!4S*# zIR^uHk?erlJmP2OH~58~pVgRPhR$qiE7*;0V2S>%Q{u|A?#Jb`jrGxDxx+w;hITSquD&=^UkP?QNoNP%Bjyu$d zX-H;)c0hf@y%16e(}+E`$+*{ zc{8S3`M3o2p+K7%iJ%Pe_@@Wi&nx{$C1>_G*;1 zhhGOW1rJI0Ngj=XuS z>7cp5(QNR^zju$r9=5Mqe+!f=XOh)4oK|A8Tvn>WQ-`W;OP7*Jk7T<0{KPTp1SbU= zC8-Cw?2)zjdg@wl97hw7jy^6i{!LHppSVC@0yiYJI_tdD4du_+gN{=7C0r{6^-)ri zT7@!S4w2=b-x`lpIhzW>N>313OqDsSUA;kmf<$KX{$(9m#qIGSRv!@Rrcfwf2SHV- z&h(i*P}=PNP939BT||!v49k%1P*m5`J6>c053GoZgz)HNIL15$w#>P33mG1JFBKB$ zs}K3SB(o>7R}YMknf$$66aG%h?|U1-VWH=kK?e+jAt&r9c|ZS#U4Pcm)_nasj^k?H zO;Le{_EUZ4f#T1cLozKk37Qz8`}UnV$qQG5nkNS-0<>Kx=iC{6;(-5F={cF*_tu+> zEx~ro%`jKp*4AG=NHnP7VXPd65-G>AY zy~D<$&^wwz3BTnACNQqrd}(Cxbj!tt(`X2F`BD8yqnp`}@@LHh91#v<+6G-gU9wVu=J zbpax^Bk(>Crq#C76Hv|QSwSQhvkzeZHZ*Y`6!IkghR*X?x9vzgWl!31r9h!KC^^WD zVLzRkrhh#&t_Amx0Rh^LPL8z_uU%B*(x^UgXw8hG03Q6T1N?_}YUQF#F`H!nuK2BD zUvl#uuX(Zy-TP9{2Q%Z9*xxCw74p;k{SK6CzSQd_5Lo;N&(s&dzbILc5eBc$K;Q?; zEBmCblA&a8wHG4AL_=f=eO^1-j?zLm{%>K$LqjHFN{MR6=dSY^x){Q>m$?Yf^Ettt zZqH~^VmpEOo}Ug(*4k|twgx=Ac?+0`_B%O9M@knhGM+}fk)NxIZld{b*{MEUpA^y@4g zfp&}u3D;l7QJ$Ahje7uFK#zJ(fK}}ZNM3UIQl!`|W2ib-Q=v@|Nts+AXwz#p zFJVzzKtDXBK*4Rzi&}QRfhs4akL)cY52LL}0^#W2IyP{F6{SLGJDx#&MvG1UFnlG@ zo6FZv$>RYce<~N z!=7_I6W#3fnsY@kzj{I+`3vWs0kxR-`TIbsi@~gVk@XORrnt=0zqI;-HpFJ4A*6A_ zdPsqK_n0tz<8m#FJ@KgFepKDD1jeSy?vZz7zrokO!ORsR?If#tHp9LZ<-r2_fw2%7pMp%1zQP%!Df-&`8trns;Vk;i z=*g~tEd2+w&L6lOoz>0{X{?;J(+0usb|4Rn zv#zz~Dsi_D2KI#&4W&Mwxk-5^Q*`#wfd`ndEjEs|#-TFVh4Lq9j%pch_djFdyL1}Q zPbXVbh7kOlx&2wW&w6uOKD6S;Fv~CXUwmc&eeUb*Vo;s^(zct@F(vKNUmlKr*3U<% zGt*76dW7bYy`nCr>qqQuWxUNW}f|u(jcDb`QKHtf3hG#_eTA zgqE`^ZP~Mi=jkv6Q{6^euuD(w$Mk5R^$m53-Ie@1=Qh^7x&}E;hoNj60bu!JW{p5@ z)`!Y3P^D5N{(k^PK)SyH1A9*sGBOC#y1Ct=*zQwVpAugIiFs1Y;XVvw?}?t&&-2pKDgZHGaatV*zY-% z$5yw6K2OO(&F|+J{*CXmtv)&96#mGq9yH%`(o3KtEa_8UkUPF5cyM7;TxJtkp?#uI zeeJ>NR)n)gNDH{N&@AF7vSS0`g^4@p=Yaqp(yF}D8qcZ%t&v@yyenHBtS$U>17}LiI!1jehC4CUH=e(?s(57Lq3bXk|VO zXrA*ya6OxL3%`fg%3bAz+u@L>G!cF;C;Wb=w%)|=IqH53!;33Dr@(HO8Pe99SpJF> z5r9|U`H?k*>!%4^zu(05KenD?B>a-TFjsH^crsYp%C5nyoxmiQpuR@Gdcf>~!3=#! z`r&g&&^QEAjW>OvZGnx-CH(>e$S?p^IwDLNtfPHI z6hv~D9OUrK9)hFdDMNC6gYY9$Z3yVF{r_ZvqSR4gi=EfJ&&&XaJlnL<a3@K{}QdY@b!LxG#0@>&no{;mgn)SArDUz zXFo;f)=H-Dp2OseKfFj#$XNHTyO|+8oVeB85@t9}uH|FXQg)RjaAs8%F%?>17Ji!! z*l?=%b849>pff8}?hg>kUnIn`N&~Y>~|H$zH9);a4%q5%it!n@Eq(vn4-#UF-6<`1phFL%vzX>JZ3G8T9eKN}WgMjx{r zvkB)X;EEP)TS8NK)|%-vzm|BHQ23Z8Xp$2;mQ~2Qu8`Q^HTR(QVtOR??eiCk4%EZf zL%AhPm2(fPtMeGgRi8z&@{E?OOks@;uBT~*CeVs63QrkP$zeO1`ur2@_QdgH#4|m& zj@=m2kO(O`P1;$E1;*AtiN7i1@mo7R#h1-h{_L)H}amXGcseyOdCo z+!3Xp6B}GCH;_~nKsb<>*kI~hnWXka--7nUg>f|@eQG6I_O!n>Xs|m!91|x+*Uhqp zv!Z*QO=@sboa?z26m>Vr_ifnvC1k!>N8~#(pM%$7Yp%~=YU;42YubckH$hdE%rV`+ z%kf&2n@(OUHo|Qg%bH&uF_vY0z(%^UdV3oS`-G(sJ>!C(75M8lLXH|w&pY&SH3CB} z5*X4mf+0zE+QJxeg{KCta*Uw3_@{b!@Lk4@pc2HK12@h=Z^jD3kM#mSLIL3wv5>%# z;bq#!6a~F=6QjjyLW`FXTCBvgDb#2OTGaoTPg@dALx+yjp+h%erU%a-L5B|gvK+gm zemAu+E_SqFeJ^S!(*8u&d0@b$TV-Q}n1WyASRJH|)eddLa#OF!63k|BI<(E5H)RW+ zhz@<7(S<7P#sQ%qq6^7j1+-< za>*$?3@yKAEx*ab9A+NIXD;Z0cH~V0@b`~IJ>l2^mLryGx5&H zj1@RoB2n^5x;w#EV}oMi{^&Xv=X{nsmfAUYe#gIkjJFD$@I$)ZfwMIboFvJyw?APw za6xwteIf!UHR9U+lKi#6q)1z?B(_G|g*=t;2;(GlB$X?*k#(2a!t>&_mu?D7C>yhS zLYYGuA88v;2&J9Ig82a#$-9FE(e4bb)}iHMla`HHCK30rpqNu{(aGSRdnGBd?s6Ls zO^#L5NYJ}L_PxPbQam_YtIZe0#<{G}C<^K7gDJ0)Ukr=(;YnK1p*i_A*~=stD(Z@< z4fSB#F$PX>M``|IxcAFldw0%Y{TS-JdRN_xu`83x#yl}bxr0V;f5J|p)Y`>~dQhi; zAJQR%{W3dsn`grO4@8F?Dfaxx+jG+1j%E+QkL@ah37{9oSMj zk;KHYgt6B@Iq9Vi^QF;abXvEwV~ES>`UQB(N8w;3i2DEC!I?V8etd?fF_!mFSo=wP zhh@W7$uXn|NzBJe0+^@65A_6P(MZDn!t{51Ku*`cm1Rx7I12WIzGEJQE8 z6=RlYHF@$r?Q_~)dBl4-wSc!Y(5TqeSBdP2;8>5m8LIRT<@++5WQC|pll*e`^@ahc z`puB=TAIobJRxJHlf8_pCP|Stl2SLmL-)fM;kN<*BzHJ3vThtfRCG61ia>Fcf0zod z_P{wNK*qIKi1IAUs0-;IwpdUZs~zGEcK5vLl)Gwjd){)#ACU}bJ&zm1)Z@m>sX;tX zig!o^7`F3Y!NHbeckyFw9`)6kL+~#z^~$lo3q+n*LbR!E8i%<(rCTYVS$V5)wuCl3?@Zm@yHW#o*gLf6Hp$BW^TIZSQ@ZuU6;LxAWxfJ<((9 zR@$Fj#}c1VIJ!Hl&QU`ywRx7>$BE#Hb$Jen5{3syAu}PL=c#7iXHaXCdQ4!k*P-7L zu*BY*1<7!phGeYq)M`&N$vDOuP9JMH2ek*G-OLg_StO%DkP9zsTQN2)2!tAuhtfj~ zwv;aZ%CXn5&MX28ueLHt?syoVnR3U^O>54{6rGFBN>ePF&I}tp&O!v!cKnj~vdO8z zLnyKi$e?-<_>E4bR}1vFo%R#$47%%nTGJbk?pa=?hfhInEm z@@^3a^H&5Hy}>bKdV{$_)*{MWXL3U7A$`nTYh6R}3bC&9TebDpx^7C5;+=vNLn)EQ z1-VQvD4hfHS_orgQ3<=*Mla^?Z6k~MLqZK$%rHJ_F~53(g@e>W0wk17UMrXWi^+_U zTo#igcYM)oE*c~jo-h&GG>bZWOk_6C%a3|3WHw~8r?z{mdY4aa5S9pD(+R>Fp+EA0 zWE*9HAmNJOr$A4Nw1-&Z%>y(7l&h9I{(79CJO3jZ0?II9J>?GMD^8x@#{?Tr9(>E> z(wI3j3nU}Td5x1ZPK7g!KmjX3j!RESc}8cs^SXfN{*2Cm2X6sM*6wr>8P^^x)>h}q z`w`9a_J_nSfMdN8%&yiji`^0X1t0Krn~*Va#z@XwomaZTgFCD8HO}c?%F2NIvx)b3 ztHEwdPNj>bchW^}blnnW!QQs89PMqz*dS!`mh;;Q7XRP5`A`i7OK#GgmsD^y>!ENtJM zJt}2Ifi~A=SSrJ{=N^q)XrfW8cW{N_OPUht0j;BpLu*t*&KVs()6Kq=vi~zQx3i%0=8gV%S zxc4(Fjo%XgA|c!yTb;c%kUTASdKW7s$ znMS#*$p}tOe8Xl-cS%i`>5lC)WxD^<%no@wI0gAI2fkRT1$a@zL`T8OBsjC5~Kj{khI0qih6q<{Re#EX>pDLa3;!~$RQIlDD(j=U}7^EBVDt><;b8p79i@LeJ+ z(jhGuYB>lWUNE>-7IK;EO#IALn_%g+ot?}|D}^Z1#<nF;q?o}3RH@OCS zr0^o}8YNYED{Hk*fnDSd_M?I`%~1)S_wS35k06|X-7k%pKHeT4!8ck1ygeKVFhV=W z2~6QE>HH2rX8ley#HOK%NUz?GCK@BgeS{PbGGw+2(Y7R%ztW{umFeI3tpHiAY6(zb zY+u{eMaC|!VNkW0TY8FC5_?hfF}~>cj&2@|_RcD8^?6(SHH}g1KF$f&%FF}55WdiC z0mor;=+7)S{YMh;6I7isVE?eA*MGh}73R*QgkZp^f=Bc+$+(vBn_nCNMm=z}C0GuB zKJgL)+sYw=g^U%*S&(Ohd?q(UQXE<<;QwNe4Y4osGCQBC6{F9T9NPw&o!tZnf$ecn zI#xrL;nTyjLN=ZPITn=C(vV;m0a}VH*OW2&5v3_MXc+5V3i^1M$iuh<2AImxV|2pVD2w<=L7}*{YzXdo3VT|>| z1X=~RZWu(X6#C;|4&2B2KbD;#-YjGmFIv>zec7xD9DivkY>S1$7S1&!p1IkrCX~;) zP0PLNLHyW~Z%QMxivCpcqPmw8qtu`t>}Un~PC2f=tiI55d^(3T!)QsTHpyA3SrsYloc??>YJ@W} zXnDQ`bq)3Ux0eZu(IaqXQU4%VG2#wO_Np&fzF2Zc$j(W3+;BvwFioSZk}*a6B?GDC z<)~Ysz!SUU1_U;*a3``P{)B78qFK~{`jKNtElw2BW%)E*Fv_PPhX$$Nb`x=*dANG> zX1bcdZU@tVXYkv1enN~Wy;R9&5$d~QW=Nh0LmT3Jy!zgId2AVTon}}m%*%|A6}GC) zYT%d^{V}s0l2mh;QZfApckT}99ZO9W4k3y^!2yKOb+649zCt}VmKuaF77H!hoo1hUG3F#{bZ@?8w8y(VIAo_m0N@XY}dOZuQ)# z?cy{33YL(Sqh$;qC$t(i@KXP9gQJrKQMb~v@Cu!1I6UIB6Ta8<*O^}?DVLUIDiwG% zT_b%&zab}0BYgqZ_%vQRaNqn}j^(98)BEm+(rEv678YAM*(;nJ3Z(tHZM% zLBOIrw4hG6-y^agi^DmosGD%!q^*8!L4K@1d~D|u>T~dKv3+4@vaYC~sOgRBenO|} ziFyRO{iZ4PaP*kB?TYBLtjtpG(KHMO3F-BNMeG>FF7sd_;1XOkkl4q=Z=_v@nyAk& zf_eS3;6Gz_L&Wih+%X)iC&EXIiL=X2cSw&sIFZ%Z!j%HJU~CpvYzzsx5-P~tP|54_ zk&vT2y*GHIO%g<@Yz_k~>X&zQOTBVeWv*1w(H%aL_$U>#TPQMW96_Sgke)nZ;V+WL zP16Tl{^X7?rkprjNF7Z?dqtjJ{S(W%82Ou~)2_f;4#RNxVovsa;wsh-xSM}+vO3LZ`CZQ*}G(!lRjtn7ePD9g;=3#ZHCs+aErm1Yr6jRYQTB7D*U~#iS;%#sm z59ZM>G@_1a`r5uK)^^Kbv9`Uj0i0FkVr*m<3X#zmf!K`kS$T%V`71g@8(3-NRszLz(Ya5iuKo}k^9xB=F|{-Oc!9pFMD4?1nyjn&$! z5Q$@Zvkxm}sBL@5(4J+_Q${`w^>z9SUmQ6%hoaq5^pK6^G;n~@p(Kh2I+Npzx~XT# zK{r&Zt3ujFAuq6@$uCqG)xOz6hf(djx^s!|n$Ak!wQL6BSOrkt6C&8nvA}f2PB~Q`t0(dl%H1{laiqM)O4)Q?vi@{nmWBZztx^80+LnPEfCm4Org@QC5%?F)C;x z`qts-KB-Bq^0LH+;~t)=Rpmw2we*309dx@r#0x<0;IK~39W{z z@ry|9a6;cT-;N+!=8)*?y6>=-&dDA(v^2>D8h>j3#?w#Feg|1Ph|qfF_%XKH6~ z8r|r;tFg1;j?R1T>`9qlC(@E*Fl;)q-*H zo}Fm?J6n<;(cK$qx=DWE$10PQi#C8eN-2U}0iI zR9e)5q7ufA)JsUjvhrdawF<{jtWI^!_nHuUFs7-L-}D78ftgGtDKNZqFV5ZRA7-uI2Se=CO$|ROf3m4~-y;I^pg_YyosH zki4E#_Y#-HG5Tt6qI}RW2=>_A1f%)m!x9RP6bRP=_0L7G(gTFTieAe8Eio}R#6kj{ zPua8fJb~@l$O`_{4Jn}>uES8)-35(_^zuX)?S?UnDLp`MtvB;ik-Y-(@Hu}O4>y3& zUejm=&YV&y(If=lJD1`pS#S|;hSVP@mX#wm`noN$&JoJGxn+Z>!xvS0a$QRC?? z_ekoCT5Xwr=wr#sM@YlcCTRiSFk8ny#T(rTWtF`(vp3+Bk`s-p0;qmGHu`Fdw0LYv zTBNg9<)ZcczzloS=2cli8M6NTOiPXnznHv3AV246klz{)6e$kg=_f23rD>mp;$|Ie zl-Dv6Y%uDD9ZeB@JVZq3H_~G*78~$F0OIo#;=7O#U-3zDn+659CAUo@gg2Rmwp>$a zBScs7iC~G3=pX!5vL(hDXV8BXrt-f`n?NjjWQ~({^$1VOLEC3je44DS23viOdf1Zp zB8$sT21 z{Qh^p``zF@KJ`$~`}Tmy=HeuTO@9Z$pE_qAOzALI=f_t_0)6a>SLUFoi>qX>GBvFM z%LPag(kzu6314#t)$nUaOx5sJi$wYcRt=}*9E%ECW9#{w9m=101p?9FkuUt>HNQ{Z z3vO!Vg>2cX8m6`1J4hQl^I*K328!GQ=1|!h2qLuiQfdliLa& zhvctzmmHD5x+i~++_h&W9FoDms4qm1+c_EC$_wN3Nq#-ci-7Q)@%cu{QDtw*9_4w+ z<|Rk(&p*Rbyg^HmI85As$cw$Y-uo%PY*OIO$q@sPvOz|DtqVA6l-;L5^grRN9Txhg%gc~mjm5KXrlYaZd2w%Y+u~jC;v%dJOFD=Dv zFJaN3*0gTcno1pvxi>gbA~Ylh5`RcvH6)ez~a~Osb8aWY;=|aUZct#Z7Z;mL>pio6!GDW>`$>*bCw*5&zlwg zNUNEpItc@tx#o-d^~dqH@mgD6)VSNMi*k%Mb)C8f(b3t_XE-RC#&BF;vWC#ec>TK> z;+2h7(ER*=I!&449SNBqS7Z?Pk!k^NiK`$A9y?q9QGDp^cLDFAhp<*@qN7%k*9f>G8KxUOhJn8;MV=a7J4e zO5qE&s^a9eS`|p_4%j`bC@MrRmS)$F$llR5; zg~t%eoR_E8&KmK@;EErU^;I*3gM;NK3CHi`65*VYe;VhEa!-{oGFtk3RtV-Xf8EMn zI0Vq(vWrdE7hgy)*@dP(%Jh{CFHMW}XcRt@V5+ZRraI-oZ@OVzHXx01!%!|1HO8Zq5pUQRP9oI{K9y9z`HxQ{)tf)ENOk3(3AMndOkY-a26~;! z2efYD1b8L6+t-BFef;8*a1N#vC6PzT6HXhW(@LZlGSU2=Sa;jyLWAXw_Be|APl{J7 zB6^=0ZFAegPgg{H+$DQj-z(~8OY;%^ik}jqJ$H2b3Xi%0nQrO!;=5^u9>o_rEARAe zc+3pp>)Y^S^Qt!x)$MK*o4}SBMBp^NJ2xYH9hXAsab~clz2j7dAvrg zD}0_7gq-ab@q}2+Iw3nA*ISlAQdbAV{bJ!g8S+DIw$nuqQhzkW*6V0%E-E>)cG_8@ z2T{(*oxB(dCCzi488hhCT}#YZ!Aj1G;q7x=hq-W^V6&(7F|`U@Nn3WZs?X0+g7m`p z6K0Iy?9Uh@*ryKZKl&me+hc08TZ=4Ye{tmwrZ>PrEzXhsS?whN@fzd99xcGjQqMB9 zdQ|^B6m_ee{O!1Y^B2uU`aKKxhz5CD96fZO%oM5N`uJshq<5g~4(-t*ixdS;M~cc$ zM~cc$CPgE)9g^82clmvbETD{3n^)=StG1>dq*>mn4rKPEmz8}#H5C-%iR^+2&=#JMTxZ@ke^Kre zo0cb_<@45h)c*5~^0}$On4N_^$=g!RtQS;S?Xgb(^`ybEj|UASVLK*@sqxdCCiwlq zlj}Q0|MO#x(9TDWv9#|#^ZTj!-*S*I)(KxVPF0izWgaY}aG_x4V{{TpE!Y}e*CIt< zv9;!CE+1_cr22)gfzt>hRXx$} zxZf#P?m=k+p$V@gmfX=7^z3~uvtHD{fW$%1zSw9W(~P5i7y*OyYNd8ld3i^7xN63V z*~yzpidzT)A^IOA6^E9cqff7bbl|Xr<(4aql(78rg%b1z=jbPbLT_*m4$e8$r@n8K z9er~=qFy~fWHhBtXxchTzBx4F;reWLnuOypC7i5ivAuOVi4HOF%B=g$Ul1}53RNOI zU?Z0)0zeDuLPp3>H;9yz0C7~lHToD=rp~3^ejWd-%^0_8Eu?z&R5y{j?m~)NV|zFLqKMQ$u*$AX=6sIz#&*b-%k0M25wrs5 z^gydP!7aS@JRflIX=!!77C5zjTne5Zcbf9D(#Gz-r;5tN-M0w<8p~UIRR1xomPhop zfV#fEfCu2y)VBdjNxOkcOkBkXkyxU5Nx&~YSS%6Q(V!Jq+?xUbi0m0{vy*O;T7fo> zb=qyav771X^f*D=S>@L>ed+62G^07XK^;Zge72S=sMjxii@>CQDM5JgZ9r8^(N^Bh zLdv#$B^cc+HL3h9S*it)?QZq}f0dL=wVI`|ees9?CK8m_k$|GV{iIMabC2)bn(7e+ z1()i79QmOyuta=_x-9`w()(ZHy3QCsEh3yYjhgL?>TXGL3!2yN#|NA$o>yNI@Kmbd%eO?{O`PRSOO zcOQuM7L>f)`T{bvY-eNq!1H!xV)U6`F;U3jHR9hjVFnx7n^VgFjO-7lW6kA;Oop{4 zt%lyvvu%RXH1NEi_F1XT$c%Nfo;n`atM;Bt)1wL{sM_ef-feoO=r6Q7)Ia*E!Wg?eCz|_F=Q@HQaT%J1GzBk-|CL zvHqK1r@B4Wzh?AqpD*5kz6bW$l~jkWAqsmkj#vx zqw5Erl>gLmO8@rL^$%f2fBjdVq5qTR^b0#ym9Cfb4_d1cj zOwK5qLVB;iqJOXaEdETX@jjk$hVeSW*J02l81KEGVZ7h}o!!iB=O!FtOJ0i+7tsKT zANm)BX4B9al;KYZ6^95|7qeiQse)?F7U%h zz=jvB+BQenzs(uGVcP^5B{OWNOrVw~5VR%`GFH3vKmRs00hryA4P1&o8A8$Mbv$qs zO@|Xmzirg4F1IGcjkx)$sV7ej-U&$u>YSW1!H+&SLZ86@;Dj|r*Enr!9CBCrSkAth znt%Fv{80Mz^JpJ+9vQB$-g%bunBM=xpP~PZQT=D2|35zS8T-HLpBsPpEd5)>^%k{v z|Iuci^?A}-(M52F=-|?mkIoVC*3+a>xof$`#S2TU z8W+fPnks8%7PlB(-Hel065wRgf7X4}ItdA@L1;#@0JF$@V4UCxNvHV~!1qTsl;L^X zFvi*3xJkf0L8*|pcN6gl&(#`S(LHvvJQPvmMZe_a7d0?5)Vg~elFhuTlq4J8G7hOE z(aVL#2jU`GsbytA?zAY-NN+jZn{wG{q#xrcOZxe1onaIiBm4=Sn_729Er+71u91Sb z-@P6g3#Fh7y?3Anf(^>UDH1n|KU_qN z&@vn6^VCE`i)Nk;ABHP@@YApiKd)RUN=eNdErREpzOQgq0^s){Cc_IFLU z-eoTGcoE^#pl7B=tL#d?2^+u2r7#eFJbCa_^SeL(NiKl$CKrf+NGd6FioZf@iIwrR zxSxO0E}A7XoB9Gyl-AA_1-UEn7r0Jb6D~wbZ`T7k^y_%Eb=o+gNjk>MC{5)rIf?$$ zXt)NPn@(&XBj4^Ayb-H;q28-tvSUfk3eglwyD3Tcw-saCQ8tX@}j`^sL*~Bv(Gik#Peo z)hzTCv@}N7y6N~MKd#jq!Q>i($#LA@E02q4_xP=lh`jL#vcYP%xJ&k^2h=rgWv*K8 zi*+~cusNG{+8p$P15jCJA4uE|ui&*VDXfUXa9;iIB_an2x)VjbR!SuY<6Gsf%4?+@$F)jUwAWs8sO^LHYND!;v#|!Tk3}qxhuCKILuFD?H--;# zXvlL9#2Y6eNnODXKzPX^dCLqucVha^e8xF1mDG9HUTazt)kdF~vGxQ<)B4mN4lar9 z!!YHT&Y?)|_&j)X0Qc>eI;t_i)+h7k<@dvz?Y| zn7uRMuzII=2Hi=!dKC5nB3n#K#zyxHQHCD}Js`h1C|?315uv?*~?YPR(f@XGP``2C(j2`aDSl zAbS1nIF@pui7L3_@LCIPtV?)qK82#dd$A+woj#pvh^+jADeE< ziwrrQu+uT#%Z=r(ZX-;bJ&pfAhph1{KTqyw3i-02kl#)2K1rS%#s3bRvL1Hy_sGy^ zT#tVlI%PdZ@xQ0`pMm~of7brTp1uEZz< zGv*kw=zpy+_YuZWVFJv}gtkK6d!b-<10-xt5ZU$zg4s?v2EDGy>js?QfZ^3AZ{JIJ zRH@Z6GXke!RgdU*{TnmB>$FU*#+^}f3imnvD#(WtR3!n6`wTdldvwwhr8OSqI;}pP znLeVA6@6Z+1zgmG(U!Op%yhtFrUMo;9dLe{KI?P;ICZ_!nAo5FlsFAyn%sUf{Dg!f zL!Q^CX7&bhB(v^?^^Vi}|9m*ozZS^X{Ecc)&(QReW7BSOGfrJue45u@dD_=j9aHC= z=Cx<3FY|f4o$-xY?h%N1fbf!X-SvojCJyl7DU%H&Ih77)^w`w+!(-{&Y8M@NB};oG zs+ct)h9!WKTa*IzD0cUW}-BB?q7k&k)h_yDEl^N0D%dhIOp zwU$P{jO)!6u+4{ax`)_Z>lQ9WcN!CismHzW6NBDV(}HTo@tTG7QH&aucnNA4r!@3c z$$QxF5P5CbNM?_+L45lPffz=7_R`G|#>J)?Lb*ajw!;jOSU4f2NsjKdkKz|im2%=A z$m6_~bBpbOcK{q4TjAI?UqV`4xJe89=j<&R0Y`bs3*nDcI7e|ZZb#zlW1;=N6d65e zPOUT9wOZCzI7$w;PL1E?NWE|7VQnn^9DR=NtUapsMUOkQDbVH6D!Sy@^AhXbiPQ!P z9X3&NxUE19%%UF_*>mEK-7rVUU5+Rx0quw$M)H%uVl1}ae7Pum88vIhse#7cz->~r zw}si4)~NKp9D}BbJ#vZngZ{wGxRkF|N8Lr;TfzU9xYo-ZFVpXS8vXkTVr(p(~}G&4j^zhYseN!DN;dBK`;Xc$Kmf3S%t zw`$+gQ3jjEN99`y3>X+fuj7BU4@HRm2)0E&Pj$XSwHqAs-6R~DI=WlN85-d%&4&NU4{L*1F(=mRn8~SX;SI9-Yk8m_IvR>+s|JZKkd&uF) z9onMgg`7GE3sxC*6P|^Ooa*>Wq{hh=ywm_<`)U6wz$&?RYn2)e6x&#V9}D4nqdC=z z0{)4%wPKNjD>Kv2F0~@WKQD~WZ_(Bxt}=RT30!@UV}ETmjgrG4&BU;|VsyK3hGX3# z$oMDOA^}NUc*`N+?kP40aBu3tXd(i@NnWaPhK=|pGhMz<}*v zb~`Q45(Ey=|D|+f7h^f;bGc2trkSo4T%){Ai%s~*Apy^>>L(=xI1Ra1&(6+RN$6xU|WY)R%EhC{BY7>38&Gup*+@Q5$}Xo?TA;H;evmkJm{h zd*tYIb`EgGou$1F=N*Y}b6h3$G?jYNMD-m4>aVy%iC;@;Bc!Rswa*jAGMXJC6-C+| zXqt&A2sK1JdhVN|rXh{0nYir4nv19O2G^9xh-Y z$8Ok^<8RPH*Togz@_N0zJA=e7TAijSXG>j= z^MU%l=`yxf`HUz2G-}Dky453!U4#5oAhPedkmpviN+4gG z=Z=(>*y38&oA~ueT$8ZV_2vk6@6N!67Sf|ZqHmcceXUz)*vsQpQfalXS&qUbNyV;J zV{fFHoNEhd`a>r#(JrFn6RGbyquH|{={;p_$6{>@>jYE;@!o};!IFEVorlSOlkm-5 zZq{N_Y@%fPK&5YuLyj#McaflDc?F@me6tRdaWm zMUFV_@OqBcOBFf-Bk&mt9kphPB1hJNO?=xXa{CaTh(CM{Ac1DFOw!klV|PlzVa@Ku zBvF4+G|C1%!lKtGnpjE9fJ+kZ4YOV0Ebyz3*_B$s#IJ`(S2^NjXdL(Oxm+t4c`4jH zu(npEBie=B0;|%|8b@+mFX0gc-8EzVFbqTwmli4)^{wx)NYQ(6tt&(s5$2*Edr#OK z!_MSoB%8q*w_d;fV%A9cqUnWH!%mfZ>0J*XmrULO`LSHlA==xgY&KE!_8FM+9c#SJO}cYCa?%8kpfH18gb8na3sETa(TV2?QQHDptyLkzGuE;PGlW{aBLzX*8`})z8T_% zFt>AdDY@fj>})1aw0@CRQAMnb@cbg&>5x0%$QFITZ&N0)zeA`@9nu$H$6MiuKCm?P z`x5%S%KClhRz5)I@U5*NP;~c_)ZHEFcYh)7x>9%FOuzdd;_mw;)?KHRb{7YT?jA_p zElj^VOWb`bb(dWt<&MAFOy`ZQ3q^~qW{bpcZK-87T@vJ2qd3EAA7agSgHNF@ehGO& zFi>)=2cczM1EVuS8XLi%leqKrQ+5=`+45s+^PMIL$*S9#6mm^sq?nhg%^do%;mx(IGF1%JOM%`CQcLc@0vM_>VTkXSs>OTB))>E-l zM08C-R=AphoLR^gK*jaY`jS8)I1VIsKdWGophKTlZ~B=Cqds<0AaLcHtH+QNX;!#Y zD_<0UVyVEJ%&-kakayY55sR@q{=sQY8Jv?Bvvj>97cY2EJW*isBwq7V=xL9|7jSwQ zZG|uHLf|uTWonu~-(X4K+S^e|$rU~B3{Qx!MmeBjZCa#k><{DfJmEjbgA&V%sN|j> z-SH2xlQITVUXX3Gl0*~nTYZiJ;`i#;Mo>d?Vi2{=T6}$e9v;omDiM$kf?@gzY;9y8G|eV6@j= z@vcn#!tK^8<*Hc@-)#3X`~6&4HI*$oM%avtmS~*X%-%sct7fl%xIV$ zJ)SF6@(u^D!|Wn?OBFj!`51f6(H`9x1Z02fBC2S2E97%D>Yaes@F@-M{+x$)pDm+?^NrYYQTxqN%ao3&Y=bz8q)zW z4D~Dgcf+=kQ^He|w?B&O_P-dP*lgK*npFO(Ws0h5$P}78B5<2gC&b6OZSv;tGPsz5 z4BGw8+O5rmHRcHYN>;RWj@PE-$6a$cRgb7b=GLG8nq9SAV z!ZR`pI%N!I<(})=8#3#9c7@E=fAA`sOI%tBZ5%466&A5^$AwdX-{(2w4Jmg>4kmPJ z6~ZMFQA!S@(l@)WLbyfR8Ci%L8#}II&Zu7Bk}q@(t-gGl+ID=6r)T0 zUxN3Yz(E4A<=8ghXJn^~9?J?}3n~hMJUk<^jukLL!jro#Jh?H2C%F8IVBD;#supbv87nZkUsf5!4_CXJ-^B70!M^b$=jdAG}IUP^p~2^ zzAJ0Ar@X=^xRm&W^~}R=Vji|!Qr9yNyPkR2P0Yhy&*r^$CqELts%RitiT@lag8qz- zO)itiB`K8->mK65-p`cGG9?4b@68Gw#4b4->hl|w>)I+AL<59tjm2tIpD8j-y>VcHy8{PEe5ou5J z7e-RD5l5L*{EKa-hw-P{fBu}y_2|l-1ODv%aE^A1OP>U|$TX z;fxt=7nQVm*UlC>&{1vaIIZfAhf@iI1(bw1B6NxI5|h2Vbo z){>&|n36h&l1-vyY+v{=&AQx4v%WJ;|9Xo4|8-c*Jla}U%#b_#O`28Z(w;>31Uge` zG+wH?jPHiJrhxS+9 zj*G~eDXku^OM90+nRNmrr|FF62d@65`Ko;TR$s_f-E&nlE)N#=@OKeIO z5jwOxlRy3Af65j9^vW_V>lEMT;1WcuX*ap#?O#VPB`@6XBo;63*qfZ9$$jO8Q|QN? z_@i$j)-@ho`hAjJNoMVtilW|{tOX0WV2+Zvsjj@EKYY%N^4ZC}k#^stcFFT~dn26+ zS+F6&0)ZAzTbue!{vIRtkJkW?&iK=K18rQ5W*4(^jm(O;!3s<)k0wT69<{}qPklrhC467-qtVJH><1t_Own0OMD|Li(p_}k_T z&)Mb(S8ki2EU>IB^vVAI!bT`})#pH5r`I5jjQ+v5*d9u4Vn+DF|Abkk7hjT|3V4S5xpSgbKPL=*JiFEV@do_uuV)MAPI{CNKBtXRj2 zAj{q;U*VM`U5$sLHx zhq5}KR;(rgj!L_RE^kP-U}1{}MtSJY+%?MYSUBf;U&nuu2Fgv3I+NEI4bY6PO~YF0 z3+~bz8_tHMm^&7+CpjY+OP}mXxnZ9+|H&afuV+}_|Gx8k_}Y>4>j=-MwXTP0-6XP~ zVZC>M&u*5WMSe0L9qaoN$QDHcMjMhz^@s0Dpdi3*_&;M0c+I1|QuO7~?$WcZec%S% zd{zFbJAzzG)M-v~F2XuK4Quq=@+nv&ZFgMiVfA=we^yU8-TtKT>6SnI&*0O=*QE9X ze!nbq46)FWqAhNk{<+CTj8}6ly3+Dc3a_4hMIK-Hneph^{GqqJ#OMFN>%8B4wK(qs z&pVaz7aH%TyqW{fvmU*-ZvKo6!WsNsQ}fx~|39;zTW6nbKkcXPr%5NbZTgJ+`No3( zmi^p)@V|9Gzj>9|&*+=eiU05VMFxEA&$5qG7JRmSJfpl}9N_T-Q_CH{Va}R{xsivt zSKh!ma!COjpmZ*{*JF?K`?E{=QDxa*JTtY|>$QErmAw;q6_sI&cD-ZO*uY;vUa z03AX?Lv)=Jl>xrh2VRl4 zR~~p1Iuod#X#Evg-yIPV3TSJ&Ykf+Pg8PB-(5};+Y_xaUpeH(sZ4jXg=?q;U=QQzX zZuRAn2;AF$m&-L1zt8LuG=5;SPUpI1S_s2Ah}4xk;RC6SC%}Mb)o%P@A1nQ;%Oy)4 zZFS%g9kB1jv;?g=M@_?t>rnO?1Ia5dF+I4R;x_ro8_(nk_Lc0jd4iQ${VWsx@K8tS zPt0g@%DV&Zl4ENNc{(5!yGMw|lFLS>vv1UNk~@Kl;#||0 zlYexO02&_rrMR66gig#d&JsU4qW^k9!0%e8I;5lWB13H*09-($zxQPyv0T1`R&K%cqWYII!1SS7XMOdUkd+AY54zmx`*fK z^|LAdXYc9pn=(~+p06B>GCN^+8hX26)7*T4qRJeFLk;zK^*4t`W4lk$ zFPHC4jo&^p{)I!II{uWrX!MDIf{{?I0=O)xFGT+`ebXZo!F~dU)XELU%2j+lZzp8$qLrn_Yhr~eZq`lj2#y)B`$$)oY!yPbh+2SEsiRpE z2EF54ect=9h?>nzz&yjRFnj&;ajREk;9@XJbeL`6@gmYiSgoH(wZ31pR`+NX&2d*( zT-ghBzn9Uy`m)@CcsJx%dBAQ<*v$SAj0{8a(S~J)(d;ss-MTSo*(jV`i@HGWfTvdC zGKnK{!UfzOhDh^){pJI*X#5FqfYrZdOJ6TXYOF8V#LQZlF^IbcX{3WGwnXs(Ty?WUy}=B0@{hS|79D>O_iB!dR)PqaY1aSP>jzdUb` z<>`s#8WziC@2woh3Jr@Dl7wXwnKVv^Mw(6=udw@hI9q$b_1Q&UKUvrh1dDte;-GMu z-;KjxI@djgSVFE?A9kq+Y4WAWO?_B2_=VGv$S$WtK9mrFc6&yK5C!ihyapT zx|RDy?#z%rLlU(h9LRXTSl%6+ATrChEo}GsU}t^Owwn%-BxE~$k+LkCGB!|3V9~n2Xdo#CMnEDtZd8Bi^LJ<|Q%XAhN!^#_?GdmA zJ$hF3O({7>xMRI{GQLh*t_kgH1ap_ImHUXyL=Q`+wm)UPrtcBwiEVWB-h#A5G_Ghb zN(R(A<;wk9(MefP>0UgDyhxS3THzV#Gmj5S4XtAnlG;Ysx@oog#21@6rLCud52qFZ zgK4eNXnfHA-kY|Oc!tIvq0-ctL`iCg?-l03P|~ht3{B)I^aKWZ8NOY|!XRRfk=s|1 zN2hO+Ek|gryfMDer>F~k3+ewN`dO4YuklX++t}MmSV1%h134HqSskJo6Ym*BJLmr3S1EOJ?YP@$3uFNc$h~WTZn-8BN^~+T<5mQ9n}u@)Xj^`p)apyn3m4O^%*BQAWFlL zIiCy9MCRzVPWd4qF`5~z;&Q!xpTly9TuwiP5^N&`(x#T;Ji^16?zDYT97a!3H&F#n{MQg|C{iTLAw^Uar=WpGb@;EmN>lP%7cz+&-+c$P;nL~f* zEjkd>Px9VvdQEumsve(y<5x3GhhMG|?#G739t9UN!}P(~R6eIn3SStH1|h>K!*2TT z3MIedPweM9I*zzjLw6DnAd0%7Tb^0zE5x6C0&%|y_gsQaMGQyvuuEGwOj4U$?&{`2 zZ~z=zplQs7`fJ^cDhG(f+m(wWt-ebnC7(4}bUR=FHW6Vs*T6w|sbqyBScBs-XoYb0 zZw%?pU&#=$N7NMy;wbX~a4LqpJ07wVdVIART$=EPRu9G>zMXnnX4et)M4n2nFaj;}4{712s5^rU0 z>Zm%Tixca39ckmfm@qd^(qDRmw&07yr_>9lJt{KH;w|`ogrKuoKj#yNt-aOPjOZR^ zn$)NENJk=NnKpHQ_;r-n#u_EF#Pcp5h^rU_!IG?+hQVZ1@^OcHr1Ll(_j5+!3*uV! z@;A%{@zH_+R^-^6kGZV#QaVP+Wlwu{uS1zYEkcA~7U}oV8b_A+?ma<6Si}gj)wd{3 zSUZWeLrMp!RG?xxRx72m1HvC`XxOm)xTD9Gtn$)q;Exxok9YVY^i)Xy9W_bHsZob? z?a$n~7^PJ^co6{LK7(DL8cp~9B`6F|wi8R8!KhN_2$Y+DA6~k zt3APR_sb=5$f{Gfe$;u>L;9`QJV`Y@D8738nb|XD}b%sNls)UzLTH zL`uZy+I*Y*HJlEUt>Li7DVE-aQ+f<|DY*S0Q|i*iEsoLb&ZzIK_uZ z^W4N(u~W*WJl>86snaJV3pH3Nr^H;I1iZZO96guzp;s`w^`)bx zQ*i2Z)=28Elc%E|kRLi1pS$oaF#(+l@ZMm8_fD91*>xA8ZIj+et+S}Xi@Y5t54Nbk zXrGu27Q%A;?%1caYAZdl0c9n-eFsLnjmoBb@RG+lR??}>A&%~-{!u0upbj{+HfOwU zB!_0P77z}j^$s=U=nDvEQLaZz$Q>PN+0;?k$?3Q<5LhDmSF%O_>LAcs;$O2)o$)KI zB%s+A2o&`s7yY?~S`xuW4I8*@x|aSyLcj^3=*l{M_#b@6)oU$(4$cDW%;v>mU?xmN zzqNubmn4ItGP+KO)pc`!-cvvW;;1+gZrB$l*w_ zcd`)0fo$&YW-?>+0-}Dtjrk4f&Sif?Swt|+t?V@;#t7u<3y(*ckOe~M~xl4|; z{v(v_weIh>p?yd3#X3gq2Y7pP2G+SZxXO0~HjxywlheysK_=2v`0 z##WkIzB+`*(PB2;o+NiYG!ZQ>MTw4n<%-z8@TCFT4?o^7cg>;urMNG5*?~Q9IkSft z#LNKj`k(3lRFne3578Mq2hOx%{m6f3`!%Uo7x2_%6L$Q>}i6b%q98}Ltc zDgjJE^CMEUbhJRIRe5Mi(^F~WOIi>3;?Mqq6ICLuett#C3$1_Sl75^k4_$-|pr&eHcA9On>oHu;k^| z*OJ?;_FTIypE$lun@9@pwCLPK&^ds$9J`hvH}O@$!MXSi+dI<`1AN`hI84vVds1GE zi&9>Uz^V}rx}m`n3xppy=(N*e-ZmmGt08fmrJd~ANL{wxfUvKWTk!RXpO2spi!$!S z`_=s>>iE-Zj7JuV^gO0>u-t*j?!Ew%!oGlz#sZ7P$3pQjIvHrQ_*gDJTEquOxb|%T zry+h2d0kl-FRnULS6fq852dcYk-B;$b@f>4>N}~cZK>qzUHv?DwIg-)i_}$j z>grditLM!tbv)NkS2EOQhZ=D91(>L)D}dO3^0!}20sx@8=Sq)&L_bkMg}^NUQF%T9 zIiM|YNB6iaR7~(}SFS?=oIrFB*Gewg-};^vdxU=`bxJH0F*+_r08Z<9MAJss6x!r1 zs5VOd_@p4-AzvG?1b+E%ILNIKtUakdpR}M{5-WP zkJAoU<@fr}IV$g-e?h!XQbRtqY7z9OO?~S-C4>g_RUj6PJ_>|q4O5n!bIeH3g%Ch! zqY72K`T*47YK2!sXq|^bqbof-)1Lar+eD9Ap}-2?uGKWBvPVqA)NVl#t;Y!G>3@IF zj&;MiN#-IOoTSaoOQrs?3}Pp7MII3u!(0*9pUtBl)e~Gk6P+&g3Oit{Z+0OkzuXcA z$A2u>nuZ)(PCpZ|!Sd`HB>F$OXdjVldS`4P9u>KSd(pB!gdpg;27Sw|LMJ$6 z(*7+HOA{EFiwMe<+O=9kHG$f5dKh;aLPU;`y5!yc4j{xFxhv?MxdG_4H|XUQy@FwY z&ipyOToNU>+lNf8X+UUAYi1|i<}S8fVYfY#%Dl`0Gv}u7g}Ptt1~>PPL?{rqE5`st z>fRB7ilZgs(W-tZci2eV)Gv&zbh(KxX+cA5K>7MOk;j_eV1@#Uaw?Y=^+T!7i=?l& zA(=eLQl*7h6hRXb%Lh!qL37y?w-2Bq ze*RYl#5_|#^rVwPb+%7`>!mZ~ze&{xN8XH-hsmu!r%{iHc*U9=d4_X&$Q^&>xB?e) z)*+K1L?PtI$VWyLb}8A+b-UKMMcubqwA?Ip6m_eIz$LgLmKh`nBwUpS_$zrCza5HzSFn4=3aY02vf%~oX zsODBvMtEF_*Q1x$qk>lRHTn-K?T+>y28N04i_bIGJ(9d6-r&%eeV1Wxq8fA=L7%mi ziTgl9PNdAoU}j(HE>%3idKaU&qMOQbMeT0 z2OX2_()lD@>=ubOe4>IS2!nD?bf-8!QzH)mEq@1QgDI&2l(Nz6hT|i9DZql-64uWtE`l;3u^MDe(yyR_;JGjDK1j7f#GV zDkthLK1AShg>cZX5c&8k%EX6AN?#!q6%~G7(qtFfsohbMFJ+RC)D*=cZ|! zLgc0pAxM>|QH!EB*hwoD+S;ZC`I92F{z1`AnIcob8-cBq)|&vAO8^CRPUoM^cdy&) z`-;OA6bDV+T8d7fIzjOdpwk=U6!5jQ1#^Groaf%;CQS?5yZwH@?ITTcpZokd&-0w; zob#OXJ&{Z@W{{jOwK8K?&*B+zVwXy9{1c>>4uAks5c#bsF2(CKXSt(rB&h%Iq2ewE zzSE%Povnj|c)!%9D1XzmU^?=ag1l7a=GbvsirKxSs?x?8m)hH_h?MZu#caE8pIIo4hgN#d zB(&0#n1kp=1CjliznJuJN@Qe$LnpkiR(aqvq8q5kT`cCjKrSr|l{{)CfmxV~iHxzG z;wA!jy|}oEz+KOiVwgg1>k~ABIqp2q!D3*nBfsUvXOThTQ@T$8ObQM*e9>lR%@ATmDVv!9MNeC zC#^FWsUFkTD#C#h&7_ZEofb!Lk(sBzBU)&*-bf!)i%I13DR;bO($J#Z^jb|p=w?p3 zsX!{+&|a~DNknBxGGrIgOX+A~0+3CqJP}hVO!ejhxg5&;l981UAfz%8$w1rlHQJ8U zf(X&h1;eg)J4PPo#Y~#m1V!iX*1CoD3!|Y0X~Ze(lRKLeS8bO5|4wyc_B? z3s2Vf)b)(~jI{zYPO!2zW%Oa1b!2n2eWtL<4{3X9HcG3-qPCwzZ9nyfdtoqJh_oP_ zd%9>py~m5cFz%=K6Z5}I-%+l}3n@FvPDg@(2A~#PlnbRdG-Amq#KJ<0r^uqVpC$mI zWFpi?olr6nN+d#U)Iz%BM2dPemT8agBr2J1AC2rVF4)U}D$;(`kLwBuC(p6Ey<#<6 zuvLW`7@Jkbd7$NIzrHGPE^ zCtbL&f0jA%8FR!2+yoin2~|>0vE9+Hvu8gssm+5;)GhCNlRGqN75Qi9_c| zi<|CCM-C>fHy`)R$LwSrtKFd$0uOkTorlF1wx$U7YnFR#(jD4GbceQB2W^SGVbUW-|3)4-IJ0O5mfI+Bg+PfhL>A zdUp}$_acAsmo_$(oBY?bdCNF)hYsbiG7jZH+I?d~rOAJ8)ZGT8?j|90P6p0#I&2?53-VIt%=(2Q#TmqztK4V zPcyvEgunVyHtjYx?c=mtJJL0DDF%bp<&-MEm@a+uIe(F6 z>GEGmAAl|w!-uvqAkC|cG-n}}P?Js__@XvZYy~4U?-1io*@JfW~D(2O3kz()ijbP&4?-z2p+f%MG)Fs^Betm6+&= z;#Y}@@|qT2+{&-qmAv$5v)Pp&yaB872@|ncCsY!_p6ILBp_?xm62MKk%5ImwO}h6z zzNAuqm6oe2Tn!U&rs4b`c&Pr%2{S24zyDZUxzxK8&^wmWBcd^M8LbZ^wPEIJ!_3i! z89j@^^V=DcK3z*)SNJNWa6cUW(jwhZAT`XQkuu`q&4J~~kYyF2Gl5)TYPbtcz*=7A zWPN!b9G9q8`XPfv(Tf&F3q&G9_ zi9b5TBi$gP5XR5povO+7^PF9pmw)5-hjB^0I!K#-zT!>sH(vT78&3=f>L`Kdv<-l1vHPUyH&Sjdw2k8Zlxxfz z^@BsU(ViCR1F~04zfrzzVelXj&fy;-?Yj()(dE}*DAPVhW47VsxaF_? z`G44@JtzV#abTcMwS`XixXt#K$8$~OQ*@B^MGA{Oclzha-UYH1Ge=ZB>=U~O^Q+Jz zAa-Ym0CA%d)6&kKm2eI= z8`Co-x0ix{^r#-6LKhW{3%*u;T968FG6q@pn~!ZS)ByZFP{MR)C)$aZv!IhQXCl9* z-2kYz+{*4hD0_!=G^d+i{T6+~FsUA3G176aH#bZd*h?)Wy%+Bvxr<+mZgF%sUWQVG z!@_tgI-u_20}_4<%a!(wML1PXn6X-Qk)81O#BLCvaSsvDK#CU&UMl@+E$|TLy)ynY zB&bE6ZUj7&th(>Ybjtsl`$PoIp@(t33LB(WY>eBTGwKb^nbo<~xJ_53x{CpPwE z@DF{8jJ?O=A1Y5T3U*Mh_{wnPYK{UkTy5ToCb@R3>~+i2^F#HZ$<>o*1*$N*Q!U;< z{#OPiV#X`(NH0=<`q*FxeiQE0(<#r?Gb5w9UfY;DmY`%ylTsPQA4yM}oIbI(O?%qz zCACua77a#k4sQ_*PZ-?T!}+sd1m>5`G%);rJ1*mD6lTwpYf%CzJ|^S@JB8uJH3dSh zJQ<$&zY2BFvX5JmO zC-wX=#7E?aD6wV8WflW|RUdxBKb-0>iHW?H(DkRz50hhR#T5<{!`P!`V+|oKdnggi z1QuwA;=OPwssFGKf*tyWbhyS>SF2=AV1?-FSh0Q@Q(35u|JrC(Kf7}J_1dny`R!Od z9yWUIPNaN1PDi_OZYYe}fL`|8q&&YV-nuxtEG_al5s3BHUt;R%;w?W}k2}V03?VTf zTTHV{I}mMHT1U=>UUXO)5tm0AR};Q2^O8EAnt(U~Dz~BE{6u%GPwZD~NPOwZm^%L! zpE8V{9iEP03%@ChN8hQGd@_mr)S!`$T2C4&MiQ>6&R9LwJ&bRz=1_Cyo5`{ezeqzH zYC@ixFbkn<5z##|HxnN4&7;MWw{E+fco_y`7sDw*XElf!QkZYfuDZ4bzdbZGlTIra zNYWJ5{}lJ~FJtPO?C2<4NQguEn<@R|cuVNxd2!9j^7~P*&ro(4lX0j`GcOp+lcEe$mpXHVU6hZB3t3 zkHX^NSW}F;^u`X>rH`*=J^Hw*hxO=V+zG|+GrMh7E9_wxf8AbBN916NhdkfRR|Ptj zI`P60>xk56CPkby_OvX%mvwcmRU_azM*1Dr=ocpXNv(}XS{i$ie!Ij&v1_q6+pv$q zxTYSGyDpV>Hyy!oH1*;T{40~=M_8a{QwF+TOsKT+!8^?qIN7+=3>*NNBj23mr72!~ z6Pwroo7f@IVH*7oLx(zYcJa;AIj^)^>(J+nZbToHET~f#GFdPW;a#XtJ=iA!y_r!z z4SZ#0UKxDz_^PHDHTobU#w!IHG0shv|HGea^k`%B2sa*XY3xCI90huKIujJ(0|;v0 z6r-7Y=u2X`#$M!9XL+jUX zPeC8Fe*F@|yT5Jvl=^iN`vqdysl*x*W4HSAJ)LOuxRu}38hPUT+Qni^#%uio-i!fA??CX{+vh- z6Akj#4EF{)`R3ir?rZFAS&W`%(DJ51+R}=z(eM#{eeI_8wfZlOe`{&{9@iJ~05*ft zd%!i=G)nunvpxD|Q!m@3Z!)%lJOh3$2Dx?#3kw-$60VbW=d_BwE0$ctH}55zBdxw; z$TD!XuX)OYz6!GDDTF^2J(Wv8;T8{E4mH6U~p|_=mi@#;G4*! z0$VV^zWY`_@QYrS3m1Rzbnwmb^n66eHOLOtLzs&;c~S6zv*EWmt*j^_ ze+!Hf?}fpPc`WGzWNN^Ct3|iL{yMn6*WIWx|7_qy=UxnJp(Vq%-2rbkGXdvmRFS&cUpL_C5oqC8WBeryJ?!5R$wovC z*i0;(vBy%iOe#LU9r3hT<^rM%8ed3XH96%6~FO;i%*FOH6G0zI_ zYqOS3I0`!QhM`NY_uoY7*t?OK8m*&`7!?_vig%`RC7g&Xiw$3SlmR^@3+S5fh`5ts zwdA0Ssp9(r9rvOOsJ7=uz|iH7$nXPFwdIZ20AMtizo-e{AGIcgZ<3z#`QXS*W1yP{ znV~zrz7WA7Y-Zai&}>d1AmZg9qC*C4Ik( z4=(43pLCUui$?O?J~-bqOtj3CIsByEem@!)~+X99ujK?>-x0b?Ui zaD8F}5Y%eENoo6C+_8lZET%_jjbitafrR(BP zTVonl2PoGsdy6ra^a!T70%G91{+r?LkZmQ#g$mQz%V>AjscEhCDKEwA05$n#*kB{I z>c=Y2vqxfgCLg>O#()te*5bDMR%`-`ILW9m+pe+UTg@~Le89&t8oQ_+Cpnw8#mz-I z9#uoj2X$`IPZ1JC9wIU8j=57e8sTXant4WsBh51O*t;<`4#f%7na($RId4}W1Gy^a zKc=O{Q|^Oukzy40)OflG#6#^8?nr0S+OrJCqWABI`~Laa3Q^pX$j#c@%CC1J@;bJn@4%x}}0;n$N0^^OM9XG4pWMXG& z^qw8eK1i1VR$r|$P4hMjqc1(0HLxBii5}$+Wd&7lt3@wsyOIl)!y~jmoeQ0B_ZDEM zsAq&k4+MJq2-c2cAln%q*hc9n4QhGhH}K2OJN2_2FGSYh3c)Ys@MSssGH}M08=;Vv zBhZy@o-SD$H$A?-=bte>)^-}!4`!Pwz_mfP2uiS|{OvGi>%)-MpZ&3qeLwkpd3Z(Q ze6caWBIJZ*f3pxP?8p9=!2ejG+plknpCv<*&XR_7X9Pjn5tQIKEm!Ck%oWP7!oVB! zdJYiM;VYCglyGQ6TRM-xhQLrBc|FVRAT*@O=}=2K9ena4grHv(y(Qg&v+?y_7{-|H6qhY%6vv@hFR~RKx4YG_)A|okWT_({NkcK+_xrp*2G1N*HZjrbu>5Jde z*Zx(XYtpT=o6&*ZqLU^+i8KV#e|DT8aTf)`EwaiYbxx+Cw(IRlv0zuj`Jo22c-G6O z{KrB*RoY19Dw@czjEPgF;cVsOtTxGTN;nG z?=VIghr#U9C!$%bw7lghHnTVC#%OQco}9Qxq6$)t(DY;f259|hJ547EIYc%5AE*UZ z6C8{sTJbZ*M?3##>G+K)asSjWze)HeeDqV~I1Uzh4gEbT1C5M-=bNW+<+?p1YS~auujPcih>YZ1yf@gj^a83qUcQQRcZcfC zV!Nf}0AJZ#R{XaAON6T|k~NQb%1w1=2br`ehA|y1n)2%t9MLBMi^d1?VyV*IAQXx2 zeg&Q7`n%s~dN5^wkSO%Or%sFC7|%~J32T_`l&3iiSCU1zN7&xz1d*4;MELVyqhz&n z8XL=EBA&jL_W6H<~U5`Q!?b(K}0R3 z>wN+QKyiJiJk7@Xg|3Vt)Pc}tOf-eQ#v zE#&k$=?@Gg3NJa1am)oC;h5wh_{$xrH?jkY4_t3Jb4cY&x-oV1cVp`4b7RU9#l{b< z$Vn4ZQh=N{>Br#$N)qx9ABi%(&_SUbXHk!|ECZ;uj3Isywh#ofQVB~+Iv#02!M~6& znXv}xDCnsBp*Lee-E}=UMrPD?C>Q^p4*$TxWcsNvw~@=3LW;k^A_{img&qfM3A6#+ z?PgCW64Sv-xg{==gN^D}#dNETiDl`&6DxfUDwVR>v2dk4(IKESWbwy z4y*|mi?1N^0BEh@&&>%L(E)nPkPq0nt(sSL1X#GL9N3(^A5-s#zgf)eS14BVn_9_^ z@@Uw#54Pw#N8}|A?mc;iwfOA^Cxr^9NK35pB&BULZ4#a~hm%sXeFWW0^oO*l#`mez z2k5+#&4l)PINpn^?0jIKiM&?iB@`aUvG5@;k%nPoz@Y({rt@+e@NTe%aeLHcIP zGaMA0;Lw5-yc7I3eytymh$@?>C3?9=Q`%1_L*gx8vSs}#OflsZwX~P9%PRb5p!nSc z{`o@0tF$7~$eCm5DN!}^YtjFI1}H1Z^aj=?JfQEII}9w#n#{7S{jn@-Unh?X6MH9R zdN;(k5~Wygg6@cIr~X}HeOyi)$Ud;>euIBb+|%a_fgYnS_U8O-Mv3kF2sHN_x1)(9ikn zk2yT;2wMFGsGppuC@V7o7D_$J;%_+SN)@?;qr(pq)H*}Hv&Egv(mKe~MM)1jqILY% ztwu<)QhAjYN#T)NWs^kTSSD3`p*?)UJfL8_tSnM3ALX2leCWw!P*lJ1}=#%3rl zJj5c4zlR-3BRZ3Gn!q7jm9KZkRF=y6O?dahC541zE7;(0wX%E&>fQnJJZSztDf-_} z4C^TYko`uIuU9&M$@qEj$pYr@r8}qF$vNGrv#fLuL-LMN=AxV>uCO8coVOqjy)PY8 zn%_?Eq|=Ww@$_L$nV9}NQYKzKo1No!@~(CA!3#2sP!V#SMUSz&m~12z$WqU+x89*+ zSNZHKjv-S-{%lSM9JbgSkHs7>Io$C$JBAqs4D_)+5NP8hinpVH;mKSweil@b1flh} zN3@tRK5!nV188X|A~hi2{Q0+}T(zxyghTHkSa4Yk$A>QJNfB|O;s#o;AE(x*TxE{e zcnGP3sh(8b3#+}(H=nCjR-CQ5VM)D;_{W&akYJEyI^1oIkI=WJXjhykSEX7}dz8aJ zgac+gz5L*7upz1}AO@h#D^zQ=q*gIY>I|}^RxwLzwkDHU;N3xgjHw!wh`eDl$7}+} zaacQ;y9`Nb7;m)IVv4*EpW}1L2g_kwMC_dAkJ(7CYuK2qfCZ5dmLdXJFBDx5Aul+t#;8zl*u z6Sq+eE`{io-j22i{}2icY}B*SpuDbS@s>8f$R#Blt_`$22dJCcU2kvibb>ec{+(LmwZlvNV+S#Nm za&(Qn3L~8(tKhh04?W%JE7W=$FGQC`4TvWt%{IT8~8pf!Uk zF?##jpebpIMe3ouDOjJ3IZd<>i=K)rPJ_89-~(5}MkajLS2dS&4IisFL;r?XVqaT7?mF$>vpK*mcjMiWgjj4Ob}e$?u^A`6#Gw8p;$# zsS>ZS>fyvx%R(z%C@giG8fG>w9cuDV)ov^YZTV+zET8`a3(M6{qRoHe{=HWgIP}IH zBt!V~<;U2;E}X|$D!XhMj3ylAr!QGd(JTrn|3-f7T~_V^@fuUZt)ZXVJzW?TY2fd5 zr{M8fgtZLZOqmL@wLF6GlF-`f6dZ7@aBRYz%6Th@<2dEIZsk|6#8j`?jz|W16UNmy z$E%QDAqPH({1{RKf0p(r|BHO>sJt0t+2jq+6R{f3^=^=7{k|I(_3T#|IoYG>VvJky zH~4v?{RA7&78fn!AOK{lI%d7qQ>E9hR|7u`X!Ki@pr z%QpwC%}+te)8|Y0=5{^*h$aJo7{i>$$xi>aF`ocQ7c5lU0>`7@B{!8avH2<#eL^)D z$7WfRBb!!N+dXP@PCp|4@=rNabW}eN{h#Xc|I;M@Yudz4qe}6k)_(l{vGWtq;l=3o z|JPrp#BZO1muUQRo7%sbOUV}2n9-Gt51gN4@W>`Ou^la;>Jws5-ICiq2j#Wv4`DK( z9`*2c67hChjSk#opDzjv7C3#s-HsYTpo0(o2FgU*t>jN%&Xt$kD&XCw_Pm7;uEgj6 ziHOF{ySf5AdZ~E%z%q_*JS;nUjrRPho-C;3w=^20j~;r9Bf*-oXbwS@gt$Pwr1V5%{3Mo@C;a=jjP_ z78=`*tWxZ`ix1p`ptd%5Xf03fj#Hr!jiK?U+~v@pY#PI+aLFKHI0!XEiJtl|NYt-s zR)FXMPc{ZIWGCLglnF$vPgfjox+=Y z?&JeMfht35vvJ^??~HV35GBMO3m^DzYBh%s498Ut{Roz5&EJ~bJkWRnH9v(z8nBQc-FmiWxv!w08Y60`Y>#FHQM!Fo$#Hs4Bm@6ClC4v^H+e zlHP~YFnEv;jL&3)f#GJ+a2NA|hRmd?KG(uVRBKKp=)L9yL0immf-dEQ2h0hAR%FDV zEaZdJ*d%1&lgAQI7VyER*%J#sc|Y+4*6pY4NhUtIG%;~N9XFdeN<=s#K5-c|lKc3; zE0)B>-4`*@KyV0rpab`Cd}`{r#6Yf23hh6Qp}9@#KC!*kMjA1zXCZ zv#>>%h0msD7#W3^J;}x=)rlwY&R*6M8Ii9}8TB$ga9u`%;L9R-Mr*5Rvk<}LAfZ)X zgESVYLcfVsHaK7+R{GVBA2*p3#eWp}((v+K5z%D)b~U~K9adFOAHTqhv6Wsv8(xlHtG{^hf8&8eh0@%VvSu)O$<++mJDh_xHVcET6HqD{VaOupAelGT4lw$^WxNt zJdU-m%E4c=LaPR))|<)d&18bZtZ|vC_5}=VwuaX3dHpGT(`H@64%p!FE>&&p;ozi2 zfP6#T3Z?_)qF?myzqr0O*Q9LR6w?y^k?oHlGxL?dyrwy<;w|92DAv!mwtE>+rI&$G zdR^=f1F_U}Dt3?WWl)x0<{qAeDZ%pkY0=a3&GS{|0tSwpCcC(Uvc(UPy%emx`}8PUx=4`p2{tk#sB5>a@}0KoNWjz z*G?)V`{am!vd2H=#XmXYpIq@z&ugtgBR~<&i&^ZBe-^htOT8E_ize1vGdBLL_8JD; zo=QXSzW3iZ0M!kdlXdEp_oJSCI!g0jed*x@fB?&K%m)J&;}wluX$?)oh<8V|*gbN| zS)MLAAX@z(nIBLOF<-~Fc9EuwhWxtrDY}{c$|e8$i_~AKh5)LhAwr~g$e7Er6f@M& z%-|PHt0jKLzTkh=R`@~wjDE-!KSZ`a39abcKP2VUL18eild9^QZ&6Nd(4!BMTF@%b z#g^<^<+<3BUDPTr#RR2PJA5%kK4Sh9@k*?cETEhRU*)BEdQ}sZn-{oqTBk0=kwz7p*+3Po5=NC%I#t@g?=#4~bUkEcW3xyi8cZV3^ey*_Ik_C(K1G&%--iY* z`2O6~-{tB8N%m>O&d1SJYhN(skyvV^PLYv11*z1@*Qn#d_D|ql#CH5iUq_|1j)p3) ztn0guWa@!bU4S&H)(Di3UrMzvMARZ9Q45Sj%{LO&W!8wg_*5SvpfN0RGjrN=$Wtt# za+W2nE7&2M`RXbDVer3oEzP3j7%Rs6ujKN4;{%)N%+`N~;t zD=3;3Z4(gmGdv1$uAjoktI?5es@u+2?nZP3X(Of&Ab(!M!mivUi3{0{gk2Ib;98RJ zM)F~_L{iV&P0s=;BhRM(E{Q0^MppOz9d8^X3*mR=$l91XFOi=UafiQ3ieF3Ef2Ol! zljS<(jr5*o>^Ux%JAy3@#U6DBp1WwDn_`!39z+qA%PcU3jR-R%myRV9AxDRUydJ&TV2@mn15|!+ zBZo0u?;?6U)b&>4`BGR#^Teg+nEXSHMq_t7IhL!!bHOgDTR0GX;$_a$g_4sNy?|ui zquto`1Uj~%Tn0;t1*KKA>10YrpGngwAFSpejPXd$&@_ZGcVyx{jM$yIWQ?a14w{A9 zL6f}erdj35c8T+}ME+{h^Ijq-rm>V=UTV=eET+tuW>ptj>lBoY@pAE(@R!7*sEyK} zL^EH@NU6XYT53hiwM3e189@&k&Xxo3Of68=oNjV1au&Dy2SxLNLUW4S1sAPToUGwG zeUtGtJg8OM5q*WCzu%VEQe~8aAvnXyKiVn{r&w*w#^&^&9Y2OyqbK&B-yL10?2-od zhx_FETocWQNbsGA*@k-ca$Do8W)iGsxoyII^2>S5#I8fskk3-On~yUyv!mE;y!kMg z+NV-Lg?Oaf(Fnx!ldjtbA4A*$SpZ>6JS4zMUn>17wya*9=g zJ_4IsqE1P|$|WiBkR!ovbrVj6ftftm2Omc+%adzdBqsNjw`rZt()gkN{YITXCUeJq zlgXy;=~R&SoQeO;Gw=o;Eqnk|2*lm=hbD(k%r(pNdr7V>^H7&MkZ9T)o8(3BOi}zqXh8R-D>%r}EZSh#(eO$=In4)7bEVhfG>r%`yi{Q<>=VS*tvE zjEPiU8{YBb*1jP*;H4s67{|##zj1l1&(rjp{egsDW6)*L=LJ)}@$06r#f z{_AO(@G#c6Vz|t~`G0q5IdAf*z7mWoAfO?0|j{!D1lj_lpQ-u)qv_ANt94iTq{ym3Y|m~MT!@DSDKa8!9NUcuic`}5>!&R`e+XbT2o2}6P%{>ea{N{{MkiJk?A z^rK;EkKY16jYDT}4A|Nf_A)po>AfZA7IIRrYp*NpA4YJjFRmb_`&*N$P7(_HF%X4a z8Y5jtrCr<3HYJ?F5&92di>&Cc?9MJBd6^I3#Y0IZW@_Vu$nWtAhr@M*04U2{bp(Iy z&#Q%*sFVGUTG?-}#Xw1^tyVdKaaezH!HM(>ayi;%#yP?q9~2^q>ra~>U#+rRFU$w; z0iMhx_j<~mWRDIZc^?go8P0i9 zof$*l!l3q7I{C`5RAs~bfmL?&>#o9Oy*eB8q8iMYLC(TeF&(&bfOxc*CdK_HjQPsS zQbAg$SrhS%F8s%?N1f@}s9-4+u=qv?i*KB-D)Yl=6ouAS6w2 zAm%<)L|`%Sm+f6t!OGJ3W>5m5B*%=B`qSev&X|bwwIdAfG;2R(#WiyraTV&6WhS;- zdORwuri*C>Zf=8l;V=<-m6akp0M{MMWq^Zmiq)+{euq8Sxis6OPMB@=kH@GC&q4UeZ+e5@ z>N89G#V;~&SrnfL)!)MTGsQjTXwLb^_kAfI;kf3wLC`V6HJ>Le??1jU+tm_Lti&PIn-f>f)Z^nC>(oAtGh z^5MUicAYp9{?c-9>xeO7IUpDC%=tTni)994Sr$n~C?Y0*`W$@oHF`?r%b>O(I_0^9 z5@7sA<hy94wo8U&tc#KUIdaH z!hFvM<8z9OBjh>~Z_#$4QkYkP5B97w6!kcBx7)1*-$Y+%YxquhB1>lq0(brdaEn24(LE(I>skS8@b@CeA_ zn=5VeB(E8XqX!3#)t!k4L0Nd0a`N;lFHX0ZijRW+;k6=ag+W`YN61|C=Uf|8wMeJK z6c==Gz__63>;0WK3H_&7vyWOp9b>_$_l+R8J>~Lc(7CquD#8J8s~XA4JmOiPPdyHn zE{;GuzzfFXioHZt|D7(PDHopo^7s3TP~JvNpwGdtRiw|!(;UH0zT!B{xY^UW zx~^KUgF<8rr)m(H@8dThX3^@mK39b@(*9wEj=5jdK&@9LkDG zk5h&gDv+4{f%Tu$w*Ri){sF!Hchj~1F13Gv+JE=V+gGnXUHfn8?eEpwe=A-41Tp{k zUTXiXe_;GqC-mor%h<7cvr$_P$(whhri@%w+Hr`Q_Fo>ojTODlShRg579tsHxVmka60-O(&_i1PQOFx=y!kv3bY7HN;WYpT>U>;2QXwfN!4t;yF{SI&KX1OggocSa8=2wPkxoEA%T(pK) zpg|}#IFXAsL(4_mq2;3e82-apX^Yr;lv&lGPb+>-@O5af@MB;mzdDd)zLBS6Kq-1i zt~-}A>8ZTQjfFtN4DsJ+)axE3jDSO9n05t|B)?Qrl2A*L=OCWPaBp)4newTC%`lWpE`y_cjS6`^p;0S|q?hyj@m=x>tXe;ysrZF)a=Zuh6db0a7>cWBG0r(zle+C9nk-kaI8 z=*&2H+q^X3Z4(=p4Kn+S2)vCC;-MU!l+IAxc^^?Tw8i;L43*GnLLhA@YAK!w$3WT| zbdWZ`H6&Bi%{hGYUa|L_kgUbn^kR(7+KmFC0a|K&b;@TSFyl4#6faAJqBMPVP+x~Y zUrBx%9l>x<=mEQSR9;fB2Q2FROEhaRp^6Wpw+TpDCMI0r|J3zlX!}z-eLi`14qr+3 zP}2XQTR)L&d`-PHNA{*(nj~veFU`^r$}KllE-SpStRTI$J@k`)t?hT~D0uh$#AqZ+ z6Yrngzp~{1&F{Z|1ZC=4^ZN?I&U#>EnNm;$oCO4A;NZ%~alH?>}cHBPf_!;?wu8NB2?6eQtP zu2?@O*tOIyZ(4IVEZ^ee{Pg3Juzn7vOqn}y{+`2^8}NW(k7p^!?c$;H{m0XmO8W^l zQ>*8R%W13>IcqQr8B9JbmnFqYE5f}D_T$-1!b-?T93V6g^35%;V$MVU*I{Yj10|lW zdBKjQc`~_y;pOa!Fe(o_7!TfpE@AkK#pL&j+c%IGo42XMWHOtg6Z$b${_rAgst?ak zOf`l;MjV-#>`hg_SEXszro&&Dx>P#tr&)N7@S*=(z1xlP?O0&G z$tSfdf1A%rbzuS+p<09E;{)hrh|H8@P<*-_4{bacFUSYTvw1S=(s_MuN258RDjS7t z_OzE3sz}T-uBJ^pD<{8LH%Q&Id=Vf<5p_9?W*b?r$twEg9$F?-c~Q!SdclvR!d zDYYLnl*N62G%L5VA4B3^tY+haQ|yjXvyUkgwZ|KOJ3`eS)XwMN!9@Pdq)v6<5^vkB3O6_m@%?RO5Q)-u^~)tSnn21j?r+qE^mnaY#z#NvqPU3_3E9)mhnT8&gm zy=Al2_D7G}KJ>tTroz2ZfIzxq<%xNxKlA+an6XpmH-s-z?!yHk?TxzV)=2M!r^C~! zZ2Fibu0U=HCrmbwq9E9XIqpFU((D&E{7c44s*5(p=%Az`d^65(jJ%7A_~7rXhFcxP z0l-@nUaqo>EtVZPZG-(**k&N@{6^NVOR5P)?phLL%~C5RvZ*bQjwu@@ympIh(-L&x z0+9AbhN(pI+Bp0d&U0iV^JKKi<#uwHVu(}nLW}Gzz(d5(=^pm8lzU~3Kl6c)xj4!N zbD-8>8?=~VEzg>k_q4r~xzm?A*&pVNU+Q9i*wIy*&;As$KkQs9En$C(*q;jardppEf2QbA@(f>74;_|{rXD&iZB0Gw zxa{FHRPRCTit=(YIu%}6Rlo<&M~1hZ5QL>(K7eusX~Q~4Av|N34u(7qB`Rc0{+s$|{B>u3 z=;LK|obe;Bo+Fx@To8t-BC2PXbb=3V#_Q`T{Z5lplWO?j-@2e+d0`M_n&A6gqydM- z8!^w*{?JCh6EmjLjiloGy_UtsKS#N9E<+t0$>{(WcqgA$jTY)jD~+X2a9XJn^k>`nO}x|~C3?bzqzi1?T|k| z6NGTnN9^(%y2k_xyrZ%T4CSJS1~b#Q(1bOKK;0N8tAzl zpL6W_jY-dM!{=L^^qdlxC`C!nCn7sCvnS^zJ#kab7Z_@e-D-Hw2mVXL-jOLT$0;wh zYo{SFt22>O{}E=DDy1fhh_DST3=766d_?;Y)CnrWH*B*wS>zkO)d)JXuuxutAcX(# ziPm~UzJCdI_#mRSMx0D~PCSofsVp0f9ze(%t?R#0bcXmxMwn+9Ay!6q_V^&#BEFyP zDz+#1;Ozsm0nv5fd*C4-jbUuS;JyNz?fV04v$e6U=16R{9Q=rBkcZF~`|L?Bp4d3u z{z52a=6v>150R+f?ri=LyYoew?r_R|XWE_FXWX6XJ?y;L^1@jl*ls*NMn5lWm7~9l zXMM}pN^R`cpL4a!UiMrI?y~DOp6Z6Bk)gdHHcmz+d*~$c>C0fjAOJe1x)t1cwaU6g z3vJz63kBMV%}Ojtlz3h%A==Q$yz!S~66JhKMWQck6$E+_{OeBjwD#zlkp_FD=4H7u z+9z@IK>5!{(tWFDX&h9?ER7e%mBf6-yW9|lON?hSJ0VH_y|ohy=1Jt_e))fa>^qxT5U3D zKwV|iIlr~7e4@FnY?@hWPZPBLz?+;Fw0+Zjkp8=)nbaQN-0yv9oW3uOF!(c*UwX2C znw?AsVcjDbz3Y4mX3i#`#(o@Oulo5Jxt*oWe{$yiiM#vxl$odL(61gpqYm|NA9uy` z6GI<=Har(-JKHMuTA4@kKE7g?*lU4*LuIPiow3-{kG=XiT^jVvN@SXdtmarW4K4)q zr)}OR^2Rw-w>wdi&-G6wg= zbPFuC+N8S`waVD%ZtvuWgYX#TNcTI zHopG6W~Xg3c+H-f$Lye*n3^{JEV2KGF@LIQY5l3D>HbvG*3XcXtLQZ(=K8Np{X0?( z5RdcHQ0AXIEqy$WO^e5AU-_Bd(hhu8T6bpcvHL~7xpWd<2M%!m79ao6Wc=y^LbEH< z7fsr@j^&OJqKY07H~OAm!QhI1jD&oV=M-sP*ASu5>VHf(2i>a3DSppy8qn_d>^NU-w#59_Rax(#}H z7Bjc&OAhvwoWm^KA7vPUOJpy48&Uum-nQcwuC<4%I1L<}k*FmZ&(YI?ndY7fd&1<0 zYZHEk-Xs{6Z5zZlPvV<5O<=w_9=`dNtH>AUIA}`~fhgCMp)Dzy-EQEU5n>WkMLXGh z#eDPYMf6@T`s;ejf}O$#gcoVW4kFAe(>X2vi?P|MgKT2hD#d^m&$cTcq9=gokUak#a!zugN7FK(AiuNv0#yFc7wB;$ zF$F+dm}41Z5vg9rH8Q0(Sbp% zgQNN8r_P}c9zX{xZxyBkL4v-{7BN(~u91Qu`_wn)SnQ1J19f$d+akX4FsrL5c+g)6 zb(Ip5(aRT7&#bJbr?i?T!m_!BYC4HEm3m?Ed;tGle44$!+!3*zVyX|na}gW|{A%>~ zmX3xGSu)Cq>=dT5Xw6(+f2r#Y3$v?UinA@FL2dOM0w;CUDz{u8Q`gKPFk%c94OL_j zsw~>FJe`dzY=}MH_$kNlEOQmN$tz$8=nZc3U&=R^T`C^3hLsGQndmuq7V9lW?Z$7| zsURphcuCAxp1?_;<90)5gwa&F4;xal%EirHJ2JI$b=(%?mQq6#5IpDf#r>yonY?p1t zEN#$q_!ajsy4109C0Gt2j_qtrrkq)Br{B_ehx7YHI;Ye5e-6$yDQ`?hw{Gb8eY!b) zd{S0HSd|xJztQ`e9faF0LrjT;CCF`qs^1p9f<1sWy7Kyc)eU#g>X-M`*GY4r!T-nh|}&A#w40lVqal*{=*)#T>Ys zqWjazdp@21SLQJK%Ovkib(hFF@NYE(o+=evPKw4iAt5_E9Lw-h)?-X|gm@RT7cewB!GYOIjR}?}U@i6T zvC5Ikn7Wg>KJ$T#EzJ7@$FnBOl*qG&fVTg1*aRP#m}N5LRx8L#rie)rUnf>VteFp- z$c~4$sC%XM$QRkk<*gx~71knAP)3h%i5$Npf5dXz^DQa0V+Wqc$r15U*aqJgKZC(wS1Ah&;`+C_+j3<~qzo zfi7+8B(cZLKlD7o5rbs*3Q1<+&ww>@pIF9|g($O({_bJ@o zu#$!T>Dgmi$Go>DaMi27im3!#n?{k(T)J(>{SuKy%rW+QT~31p1_H8$jbCh}Eg z3KWmErJ*tlWg@}k%LtC*<^vfF z=-4TjVVrXhc&|>>hG^GSPLo?MCnKa(y2QTlzxwu>d|gvl50465#W+P|!lzu|8C;f+B^Z zS?m#eGlj9(4Gv+4VaHNZE(^6Qy{#;}j*^!bnVF1T5j|IWTb{br8Y;t%RAfxu3g^OB z^wlq-H;#+DIobAjXqid@awQwFS+NH}&WPeg{EXe)+d$Al3`t$#={!+SSy3y>rG1Tu zvx)h?a|lJst~WTLDEuWxkdEb>ZNqbRt+osoPiEp+_`o=oyp}3RlTogFhH=0=yr|g( zGkIdK;mz~It0}!p1v=ru>jm-nh#9!Nhe0Qf$@QxcOl7Y>8rg%%@+LjYn@meClETm_ zsdXFtq`uPvb@I(qN7$f3_?LLdZ_qry#6|~p9vveHW{8h)*D9BmQhcBOd;DOypp+t1 zUD%uUD*CMy^f&k=DSpGY1^QP}92QC^OS@hp`RxdF;@;NfW5Q~cMXXwPYM zyhh$+-eNAC%GHl=GSN5pnsUqPRj8D%UWKx6XbK4k@)WDI9+UG0J7}WTHE=A@^Fgen z3U-^+(=b+(?ByD}>;P#?7{=n3^OP?y$I?_I=SNZ)+y3QtV4F4`@9ri~<{SI99J6-S(g$Qhr zZ?cQ^6D%g-g5u-LM@f4@x;)O?Efe6MsS^;uaB2qrYsn}Fnj*m*6F@R5q>=e%lDmP6 zMh6?S-9m0iUQJ7RUaE13y=G|-7H;69Q#9{m_Jdq!4{b&F zWg<&B#rnz(7-ixBg=yD`6SA<<2E^Luk9b<5^-U9LyNr`|fd&buUX~5E4d2|s|9TfG ztNbG^(K_Z(BHj{x6Uu z&}@U-y1-VIcMf>WbQQuZ

    r&qmHThb%xY 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%0DJFe}Uxf7%c!q{9)+ElvSd>iRNFQ#s!C$AK= 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%0A>6I-Y^peRri0-fu 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 z%0A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

    Mxu5n&Rg14ne% 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

    6~d8ilIB$6&Rkc1d-yo3i~ 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%0AZpBgR|Zx|=6 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 ** +** [[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 @@ -1882,25 +2725,7 @@ struct sqlite3_mem_methods { **
    ** ** [[SQLITE_CONFIG_SCRATCH]]
    SQLITE_CONFIG_SCRATCH
    -**
    ^The SQLITE_CONFIG_SCRATCH option specifies a static memory buffer -** that SQLite can use for scratch memory. ^(There are three arguments -** to SQLITE_CONFIG_SCRATCH: A pointer an 8-byte -** aligned memory buffer from which the scratch allocations will be -** drawn, the size of each scratch allocation (sz), -** and the maximum number of scratch allocations (N).)^ -** The first argument must be a pointer to an 8-byte aligned buffer -** of at least sz*N bytes of memory. -** ^SQLite will not use more than one scratch buffers per thread. -** ^SQLite will never request a scratch buffer that is more than 6 -** times the database page size. -** ^If SQLite needs needs additional -** scratch memory beyond what is provided by this configuration option, then -** [sqlite3_malloc()] will be used to obtain the memory needed.

    -** ^When the application provides any amount of scratch memory using -** SQLITE_CONFIG_SCRATCH, SQLite avoids unnecessary large -** [sqlite3_malloc|heap allocations]. -** This can help [Robson proof|prevent memory allocation failures] due to heap -** fragmentation in low-memory embedded systems. +**

    The SQLITE_CONFIG_SCRATCH option is no longer used. **
    ** ** [[SQLITE_CONFIG_PAGECACHE]]
    SQLITE_CONFIG_PAGECACHE
    @@ -1936,8 +2761,7 @@ struct sqlite3_mem_methods { ** [[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_SCRATCH] and -** [SQLITE_CONFIG_PAGECACHE]. +** 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. @@ -2130,7 +2954,7 @@ struct sqlite3_mem_methods { #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 /* void*, int sz, int N */ +#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 */ @@ -2151,6 +2975,7 @@ struct sqlite3_mem_methods { #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 @@ -2247,6 +3072,37 @@ struct sqlite3_mem_methods { ** 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 - non-zero to disable checkpoints-on-close, or zero (the +** default) to enable them. 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. +**
    +**
    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 - +** non-zero to enable output for trigger programs, or zero to disable it. +** 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* */ @@ -2255,7 +3111,10 @@ struct sqlite3_mem_methods { #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 @@ -2279,20 +3138,30 @@ SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff); ** 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 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. -** -** ^(If an [INSERT] occurs within a trigger or within a [virtual table] -** method, then this routine will return the [rowid] of the inserted -** row as long as the trigger or virtual table method is running. -** But once the trigger or virtual table method ends, the value returned -** by this routine reverts to what it was before the trigger or virtual -** table method began.)^ +** ^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 @@ -2319,6 +3188,16 @@ SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff); */ 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 @@ -2430,9 +3309,6 @@ SQLITE_API int sqlite3_total_changes(sqlite3*); ** ^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. -** -** If the database connection closes while [sqlite3_interrupt()] -** is running then bad things will likely happen. */ SQLITE_API void sqlite3_interrupt(sqlite3*); @@ -2895,12 +3771,14 @@ 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_prepare16()] and [sqlite3_prepare16_v2()]. ^At various +** [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 @@ -2922,8 +3800,10 @@ SQLITE_API void sqlite3_randomness(int N, void *P); ** 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 zero-terminated strings that contain additional -** details about the action to be authorized. +** 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 @@ -2932,6 +3812,10 @@ SQLITE_API void sqlite3_randomness(int N, void *P); ** 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. @@ -3091,8 +3975,8 @@ SQLITE_API SQLITE_DEPRECATED void *sqlite3_profile(sqlite3*, ** KEYWORDS: SQLITE_TRACE ** ** These constants identify classes of events that can be monitored -** using the [sqlite3_trace_v2()] tracing logic. The third argument -** to [sqlite3_trace_v2()] is an OR-ed combination of one or more of +** 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. ** @@ -3301,10 +4185,10 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); ** ^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 fourth argument to sqlite3_open_v2(), or if it has +** 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. -** As of SQLite version 3.7.7, URI filename interpretation is turned off +** 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. @@ -3643,9 +4527,9 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** ** [[SQLITE_LIMIT_VDBE_OP]] ^(
    SQLITE_LIMIT_VDBE_OP
    **
    The maximum number of instructions in a virtual machine program -** used to implement an SQL statement. This limit is not currently -** enforced, though that might be added in some future release of -** SQLite.
    )^ +** 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.
    eGW`HDo9xuDgK6PFY?V`wR> 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 z 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 s;gn~Z*9z`$y0#*k9W>>Hwm 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 diff --git a/package.json b/package.json index 80c0734..065b91c 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "cordova-sqlite-storage-dependencies", - "version": "1.1.0", + "version": "1.2.0", "description": "Cordova sqlite storage dependencies", "main": "404.js", "scripts": { diff --git a/sqlite3.c b/sqlite3.c index aaab200..73c69ef 100644 --- a/sqlite3.c +++ b/sqlite3.c @@ -1,6 +1,6 @@ /****************************************************************************** ** This file is an amalgamation of many separate C source files from SQLite -** version 3.15.2. By combining all the individual C code files into this +** version 3.22.0. By combining all the individual C code files into this ** single large file, the entire code can be compiled as a single translation ** unit. This allows many compilers to do optimizations that would not be ** possible if the files were compiled separately. Performance improvements @@ -22,6 +22,761 @@ #ifndef SQLITE_PRIVATE # define SQLITE_PRIVATE static #endif +/************** Begin file ctime.c *******************************************/ +/* +** 2010 February 23 +** +** 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 file implements routines used to report what compile-time options +** SQLite was built with. +*/ + +#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS + +/* +** Include the configuration header output by 'configure' if we're using the +** autoconf-based build +*/ +#if defined(_HAVE_SQLITE_CONFIG_H) && !defined(SQLITECONFIG_H) +#include "config.h" +#define SQLITECONFIG_H 1 +#endif + +/* These macros are provided to "stringify" the value of the define +** for those options in which the value is meaningful. */ +#define CTIMEOPT_VAL_(opt) #opt +#define CTIMEOPT_VAL(opt) CTIMEOPT_VAL_(opt) + +/* +** An array of names of all compile-time options. This array should +** be sorted A-Z. +** +** This array looks large, but in a typical installation actually uses +** only a handful of compile-time options, so most times this array is usually +** rather short and uses little memory space. +*/ +static const char * const sqlite3azCompileOpt[] = { + +/* +** BEGIN CODE GENERATED BY tool/mkctime.tcl +*/ +#if SQLITE_32BIT_ROWID + "32BIT_ROWID", +#endif +#if SQLITE_4_BYTE_ALIGNED_MALLOC + "4_BYTE_ALIGNED_MALLOC", +#endif +#if SQLITE_64BIT_STATS + "64BIT_STATS", +#endif +#if SQLITE_ALLOW_COVERING_INDEX_SCAN + "ALLOW_COVERING_INDEX_SCAN", +#endif +#if SQLITE_ALLOW_URI_AUTHORITY + "ALLOW_URI_AUTHORITY", +#endif +#ifdef SQLITE_BITMASK_TYPE + "BITMASK_TYPE=" CTIMEOPT_VAL(SQLITE_BITMASK_TYPE), +#endif +#if SQLITE_BUG_COMPATIBLE_20160819 + "BUG_COMPATIBLE_20160819", +#endif +#if SQLITE_CASE_SENSITIVE_LIKE + "CASE_SENSITIVE_LIKE", +#endif +#if SQLITE_CHECK_PAGES + "CHECK_PAGES", +#endif +#if defined(__clang__) && defined(__clang_major__) + "COMPILER=clang-" CTIMEOPT_VAL(__clang_major__) "." + CTIMEOPT_VAL(__clang_minor__) "." + CTIMEOPT_VAL(__clang_patchlevel__), +#elif defined(_MSC_VER) + "COMPILER=msvc-" CTIMEOPT_VAL(_MSC_VER), +#elif defined(__GNUC__) && defined(__VERSION__) + "COMPILER=gcc-" __VERSION__, +#endif +#if SQLITE_COVERAGE_TEST + "COVERAGE_TEST", +#endif +#if SQLITE_DEBUG + "DEBUG", +#endif +#if SQLITE_DEFAULT_AUTOMATIC_INDEX + "DEFAULT_AUTOMATIC_INDEX", +#endif +#if SQLITE_DEFAULT_AUTOVACUUM + "DEFAULT_AUTOVACUUM", +#endif +#ifdef SQLITE_DEFAULT_CACHE_SIZE + "DEFAULT_CACHE_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_CACHE_SIZE), +#endif +#if SQLITE_DEFAULT_CKPTFULLFSYNC + "DEFAULT_CKPTFULLFSYNC", +#endif +#ifdef SQLITE_DEFAULT_FILE_FORMAT + "DEFAULT_FILE_FORMAT=" CTIMEOPT_VAL(SQLITE_DEFAULT_FILE_FORMAT), +#endif +#ifdef SQLITE_DEFAULT_FILE_PERMISSIONS + "DEFAULT_FILE_PERMISSIONS=" CTIMEOPT_VAL(SQLITE_DEFAULT_FILE_PERMISSIONS), +#endif +#if SQLITE_DEFAULT_FOREIGN_KEYS + "DEFAULT_FOREIGN_KEYS", +#endif +#ifdef SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT + "DEFAULT_JOURNAL_SIZE_LIMIT=" CTIMEOPT_VAL(SQLITE_DEFAULT_JOURNAL_SIZE_LIMIT), +#endif +#ifdef SQLITE_DEFAULT_LOCKING_MODE + "DEFAULT_LOCKING_MODE=" CTIMEOPT_VAL(SQLITE_DEFAULT_LOCKING_MODE), +#endif +#ifdef SQLITE_DEFAULT_LOOKASIDE + "DEFAULT_LOOKASIDE=" CTIMEOPT_VAL(SQLITE_DEFAULT_LOOKASIDE), +#endif +#if SQLITE_DEFAULT_MEMSTATUS + "DEFAULT_MEMSTATUS", +#endif +#ifdef SQLITE_DEFAULT_MMAP_SIZE + "DEFAULT_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_MMAP_SIZE), +#endif +#ifdef SQLITE_DEFAULT_PAGE_SIZE + "DEFAULT_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_PAGE_SIZE), +#endif +#ifdef SQLITE_DEFAULT_PCACHE_INITSZ + "DEFAULT_PCACHE_INITSZ=" CTIMEOPT_VAL(SQLITE_DEFAULT_PCACHE_INITSZ), +#endif +#ifdef SQLITE_DEFAULT_PROXYDIR_PERMISSIONS + "DEFAULT_PROXYDIR_PERMISSIONS=" CTIMEOPT_VAL(SQLITE_DEFAULT_PROXYDIR_PERMISSIONS), +#endif +#if SQLITE_DEFAULT_RECURSIVE_TRIGGERS + "DEFAULT_RECURSIVE_TRIGGERS", +#endif +#ifdef SQLITE_DEFAULT_ROWEST + "DEFAULT_ROWEST=" CTIMEOPT_VAL(SQLITE_DEFAULT_ROWEST), +#endif +#ifdef SQLITE_DEFAULT_SECTOR_SIZE + "DEFAULT_SECTOR_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_SECTOR_SIZE), +#endif +#ifdef SQLITE_DEFAULT_SYNCHRONOUS + "DEFAULT_SYNCHRONOUS=" CTIMEOPT_VAL(SQLITE_DEFAULT_SYNCHRONOUS), +#endif +#ifdef SQLITE_DEFAULT_WAL_AUTOCHECKPOINT + "DEFAULT_WAL_AUTOCHECKPOINT=" CTIMEOPT_VAL(SQLITE_DEFAULT_WAL_AUTOCHECKPOINT), +#endif +#ifdef SQLITE_DEFAULT_WAL_SYNCHRONOUS + "DEFAULT_WAL_SYNCHRONOUS=" CTIMEOPT_VAL(SQLITE_DEFAULT_WAL_SYNCHRONOUS), +#endif +#ifdef SQLITE_DEFAULT_WORKER_THREADS + "DEFAULT_WORKER_THREADS=" CTIMEOPT_VAL(SQLITE_DEFAULT_WORKER_THREADS), +#endif +#if SQLITE_DIRECT_OVERFLOW_READ + "DIRECT_OVERFLOW_READ", +#endif +#if SQLITE_DISABLE_DIRSYNC + "DISABLE_DIRSYNC", +#endif +#if SQLITE_DISABLE_FTS3_UNICODE + "DISABLE_FTS3_UNICODE", +#endif +#if SQLITE_DISABLE_FTS4_DEFERRED + "DISABLE_FTS4_DEFERRED", +#endif +#if SQLITE_DISABLE_INTRINSIC + "DISABLE_INTRINSIC", +#endif +#if SQLITE_DISABLE_LFS + "DISABLE_LFS", +#endif +#if SQLITE_DISABLE_PAGECACHE_OVERFLOW_STATS + "DISABLE_PAGECACHE_OVERFLOW_STATS", +#endif +#if SQLITE_DISABLE_SKIPAHEAD_DISTINCT + "DISABLE_SKIPAHEAD_DISTINCT", +#endif +#ifdef SQLITE_ENABLE_8_3_NAMES + "ENABLE_8_3_NAMES=" CTIMEOPT_VAL(SQLITE_ENABLE_8_3_NAMES), +#endif +#if SQLITE_ENABLE_API_ARMOR + "ENABLE_API_ARMOR", +#endif +#if SQLITE_ENABLE_ATOMIC_WRITE + "ENABLE_ATOMIC_WRITE", +#endif +#if SQLITE_ENABLE_BATCH_ATOMIC_WRITE + "ENABLE_BATCH_ATOMIC_WRITE", +#endif +#if SQLITE_ENABLE_CEROD + "ENABLE_CEROD", +#endif +#if SQLITE_ENABLE_COLUMN_METADATA + "ENABLE_COLUMN_METADATA", +#endif +#if SQLITE_ENABLE_COLUMN_USED_MASK + "ENABLE_COLUMN_USED_MASK", +#endif +#if SQLITE_ENABLE_COSTMULT + "ENABLE_COSTMULT", +#endif +#if SQLITE_ENABLE_CURSOR_HINTS + "ENABLE_CURSOR_HINTS", +#endif +#if SQLITE_ENABLE_DBSTAT_VTAB + "ENABLE_DBSTAT_VTAB", +#endif +#if SQLITE_ENABLE_EXPENSIVE_ASSERT + "ENABLE_EXPENSIVE_ASSERT", +#endif +#if SQLITE_ENABLE_FTS1 + "ENABLE_FTS1", +#endif +#if SQLITE_ENABLE_FTS2 + "ENABLE_FTS2", +#endif +#if SQLITE_ENABLE_FTS3 + "ENABLE_FTS3", +#endif +#if SQLITE_ENABLE_FTS3_PARENTHESIS + "ENABLE_FTS3_PARENTHESIS", +#endif +#if SQLITE_ENABLE_FTS3_TOKENIZER + "ENABLE_FTS3_TOKENIZER", +#endif +#if SQLITE_ENABLE_FTS4 + "ENABLE_FTS4", +#endif +#if SQLITE_ENABLE_FTS5 + "ENABLE_FTS5", +#endif +#if SQLITE_ENABLE_HIDDEN_COLUMNS + "ENABLE_HIDDEN_COLUMNS", +#endif +#if SQLITE_ENABLE_ICU + "ENABLE_ICU", +#endif +#if SQLITE_ENABLE_IOTRACE + "ENABLE_IOTRACE", +#endif +#if SQLITE_ENABLE_JSON1 + "ENABLE_JSON1", +#endif +#if SQLITE_ENABLE_LOAD_EXTENSION + "ENABLE_LOAD_EXTENSION", +#endif +#ifdef SQLITE_ENABLE_LOCKING_STYLE + "ENABLE_LOCKING_STYLE=" CTIMEOPT_VAL(SQLITE_ENABLE_LOCKING_STYLE), +#endif +#if SQLITE_ENABLE_MEMORY_MANAGEMENT + "ENABLE_MEMORY_MANAGEMENT", +#endif +#if SQLITE_ENABLE_MEMSYS3 + "ENABLE_MEMSYS3", +#endif +#if SQLITE_ENABLE_MEMSYS5 + "ENABLE_MEMSYS5", +#endif +#if SQLITE_ENABLE_MULTIPLEX + "ENABLE_MULTIPLEX", +#endif +#if SQLITE_ENABLE_NULL_TRIM + "ENABLE_NULL_TRIM", +#endif +#if SQLITE_ENABLE_OVERSIZE_CELL_CHECK + "ENABLE_OVERSIZE_CELL_CHECK", +#endif +#if SQLITE_ENABLE_PREUPDATE_HOOK + "ENABLE_PREUPDATE_HOOK", +#endif +#if SQLITE_ENABLE_QPSG + "ENABLE_QPSG", +#endif +#if SQLITE_ENABLE_RBU + "ENABLE_RBU", +#endif +#if SQLITE_ENABLE_RTREE + "ENABLE_RTREE", +#endif +#if SQLITE_ENABLE_SELECTTRACE + "ENABLE_SELECTTRACE", +#endif +#if SQLITE_ENABLE_SESSION + "ENABLE_SESSION", +#endif +#if SQLITE_ENABLE_SNAPSHOT + "ENABLE_SNAPSHOT", +#endif +#if SQLITE_ENABLE_SQLLOG + "ENABLE_SQLLOG", +#endif +#if defined(SQLITE_ENABLE_STAT4) + "ENABLE_STAT4", +#elif defined(SQLITE_ENABLE_STAT3) + "ENABLE_STAT3", +#endif +#if SQLITE_ENABLE_STMTVTAB + "ENABLE_STMTVTAB", +#endif +#if SQLITE_ENABLE_STMT_SCANSTATUS + "ENABLE_STMT_SCANSTATUS", +#endif +#if SQLITE_ENABLE_UNKNOWN_SQL_FUNCTION + "ENABLE_UNKNOWN_SQL_FUNCTION", +#endif +#if SQLITE_ENABLE_UNLOCK_NOTIFY + "ENABLE_UNLOCK_NOTIFY", +#endif +#if SQLITE_ENABLE_UPDATE_DELETE_LIMIT + "ENABLE_UPDATE_DELETE_LIMIT", +#endif +#if SQLITE_ENABLE_URI_00_ERROR + "ENABLE_URI_00_ERROR", +#endif +#if SQLITE_ENABLE_VFSTRACE + "ENABLE_VFSTRACE", +#endif +#if SQLITE_ENABLE_WHERETRACE + "ENABLE_WHERETRACE", +#endif +#if SQLITE_ENABLE_ZIPVFS + "ENABLE_ZIPVFS", +#endif +#if SQLITE_EXPLAIN_ESTIMATED_ROWS + "EXPLAIN_ESTIMATED_ROWS", +#endif +#if SQLITE_EXTRA_IFNULLROW + "EXTRA_IFNULLROW", +#endif +#ifdef SQLITE_EXTRA_INIT + "EXTRA_INIT=" CTIMEOPT_VAL(SQLITE_EXTRA_INIT), +#endif +#ifdef SQLITE_EXTRA_SHUTDOWN + "EXTRA_SHUTDOWN=" CTIMEOPT_VAL(SQLITE_EXTRA_SHUTDOWN), +#endif +#ifdef SQLITE_FTS3_MAX_EXPR_DEPTH + "FTS3_MAX_EXPR_DEPTH=" CTIMEOPT_VAL(SQLITE_FTS3_MAX_EXPR_DEPTH), +#endif +#if SQLITE_FTS5_ENABLE_TEST_MI + "FTS5_ENABLE_TEST_MI", +#endif +#if SQLITE_FTS5_NO_WITHOUT_ROWID + "FTS5_NO_WITHOUT_ROWID", +#endif +#if SQLITE_HAS_CODEC + "HAS_CODEC", +#endif +#if HAVE_ISNAN || SQLITE_HAVE_ISNAN + "HAVE_ISNAN", +#endif +#if SQLITE_HOMEGROWN_RECURSIVE_MUTEX + "HOMEGROWN_RECURSIVE_MUTEX", +#endif +#if SQLITE_IGNORE_AFP_LOCK_ERRORS + "IGNORE_AFP_LOCK_ERRORS", +#endif +#if SQLITE_IGNORE_FLOCK_LOCK_ERRORS + "IGNORE_FLOCK_LOCK_ERRORS", +#endif +#if SQLITE_INLINE_MEMCPY + "INLINE_MEMCPY", +#endif +#if SQLITE_INT64_TYPE + "INT64_TYPE", +#endif +#ifdef SQLITE_INTEGRITY_CHECK_ERROR_MAX + "INTEGRITY_CHECK_ERROR_MAX=" CTIMEOPT_VAL(SQLITE_INTEGRITY_CHECK_ERROR_MAX), +#endif +#if SQLITE_LIKE_DOESNT_MATCH_BLOBS + "LIKE_DOESNT_MATCH_BLOBS", +#endif +#if SQLITE_LOCK_TRACE + "LOCK_TRACE", +#endif +#if SQLITE_LOG_CACHE_SPILL + "LOG_CACHE_SPILL", +#endif +#ifdef SQLITE_MALLOC_SOFT_LIMIT + "MALLOC_SOFT_LIMIT=" CTIMEOPT_VAL(SQLITE_MALLOC_SOFT_LIMIT), +#endif +#ifdef SQLITE_MAX_ATTACHED + "MAX_ATTACHED=" CTIMEOPT_VAL(SQLITE_MAX_ATTACHED), +#endif +#ifdef SQLITE_MAX_COLUMN + "MAX_COLUMN=" CTIMEOPT_VAL(SQLITE_MAX_COLUMN), +#endif +#ifdef SQLITE_MAX_COMPOUND_SELECT + "MAX_COMPOUND_SELECT=" CTIMEOPT_VAL(SQLITE_MAX_COMPOUND_SELECT), +#endif +#ifdef SQLITE_MAX_DEFAULT_PAGE_SIZE + "MAX_DEFAULT_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_DEFAULT_PAGE_SIZE), +#endif +#ifdef SQLITE_MAX_EXPR_DEPTH + "MAX_EXPR_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_EXPR_DEPTH), +#endif +#ifdef SQLITE_MAX_FUNCTION_ARG + "MAX_FUNCTION_ARG=" CTIMEOPT_VAL(SQLITE_MAX_FUNCTION_ARG), +#endif +#ifdef SQLITE_MAX_LENGTH + "MAX_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LENGTH), +#endif +#ifdef SQLITE_MAX_LIKE_PATTERN_LENGTH + "MAX_LIKE_PATTERN_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_LIKE_PATTERN_LENGTH), +#endif +#ifdef SQLITE_MAX_MEMORY + "MAX_MEMORY=" CTIMEOPT_VAL(SQLITE_MAX_MEMORY), +#endif +#ifdef SQLITE_MAX_MMAP_SIZE + "MAX_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE), +#endif +#ifdef SQLITE_MAX_MMAP_SIZE_ + "MAX_MMAP_SIZE_=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE_), +#endif +#ifdef SQLITE_MAX_PAGE_COUNT + "MAX_PAGE_COUNT=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_COUNT), +#endif +#ifdef SQLITE_MAX_PAGE_SIZE + "MAX_PAGE_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_PAGE_SIZE), +#endif +#ifdef SQLITE_MAX_SCHEMA_RETRY + "MAX_SCHEMA_RETRY=" CTIMEOPT_VAL(SQLITE_MAX_SCHEMA_RETRY), +#endif +#ifdef SQLITE_MAX_SQL_LENGTH + "MAX_SQL_LENGTH=" CTIMEOPT_VAL(SQLITE_MAX_SQL_LENGTH), +#endif +#ifdef SQLITE_MAX_TRIGGER_DEPTH + "MAX_TRIGGER_DEPTH=" CTIMEOPT_VAL(SQLITE_MAX_TRIGGER_DEPTH), +#endif +#ifdef SQLITE_MAX_VARIABLE_NUMBER + "MAX_VARIABLE_NUMBER=" CTIMEOPT_VAL(SQLITE_MAX_VARIABLE_NUMBER), +#endif +#ifdef SQLITE_MAX_VDBE_OP + "MAX_VDBE_OP=" CTIMEOPT_VAL(SQLITE_MAX_VDBE_OP), +#endif +#ifdef SQLITE_MAX_WORKER_THREADS + "MAX_WORKER_THREADS=" CTIMEOPT_VAL(SQLITE_MAX_WORKER_THREADS), +#endif +#if SQLITE_MEMDEBUG + "MEMDEBUG", +#endif +#if SQLITE_MIXED_ENDIAN_64BIT_FLOAT + "MIXED_ENDIAN_64BIT_FLOAT", +#endif +#if SQLITE_MMAP_READWRITE + "MMAP_READWRITE", +#endif +#if SQLITE_MUTEX_NOOP + "MUTEX_NOOP", +#endif +#if SQLITE_MUTEX_NREF + "MUTEX_NREF", +#endif +#if SQLITE_MUTEX_OMIT + "MUTEX_OMIT", +#endif +#if SQLITE_MUTEX_PTHREADS + "MUTEX_PTHREADS", +#endif +#if SQLITE_MUTEX_W32 + "MUTEX_W32", +#endif +#if SQLITE_NEED_ERR_NAME + "NEED_ERR_NAME", +#endif +#if SQLITE_NOINLINE + "NOINLINE", +#endif +#if SQLITE_NO_SYNC + "NO_SYNC", +#endif +#if SQLITE_OMIT_ALTERTABLE + "OMIT_ALTERTABLE", +#endif +#if SQLITE_OMIT_ANALYZE + "OMIT_ANALYZE", +#endif +#if SQLITE_OMIT_ATTACH + "OMIT_ATTACH", +#endif +#if SQLITE_OMIT_AUTHORIZATION + "OMIT_AUTHORIZATION", +#endif +#if SQLITE_OMIT_AUTOINCREMENT + "OMIT_AUTOINCREMENT", +#endif +#if SQLITE_OMIT_AUTOINIT + "OMIT_AUTOINIT", +#endif +#if SQLITE_OMIT_AUTOMATIC_INDEX + "OMIT_AUTOMATIC_INDEX", +#endif +#if SQLITE_OMIT_AUTORESET + "OMIT_AUTORESET", +#endif +#if SQLITE_OMIT_AUTOVACUUM + "OMIT_AUTOVACUUM", +#endif +#if SQLITE_OMIT_BETWEEN_OPTIMIZATION + "OMIT_BETWEEN_OPTIMIZATION", +#endif +#if SQLITE_OMIT_BLOB_LITERAL + "OMIT_BLOB_LITERAL", +#endif +#if SQLITE_OMIT_BTREECOUNT + "OMIT_BTREECOUNT", +#endif +#if SQLITE_OMIT_CAST + "OMIT_CAST", +#endif +#if SQLITE_OMIT_CHECK + "OMIT_CHECK", +#endif +#if SQLITE_OMIT_COMPLETE + "OMIT_COMPLETE", +#endif +#if SQLITE_OMIT_COMPOUND_SELECT + "OMIT_COMPOUND_SELECT", +#endif +#if SQLITE_OMIT_CONFLICT_CLAUSE + "OMIT_CONFLICT_CLAUSE", +#endif +#if SQLITE_OMIT_CTE + "OMIT_CTE", +#endif +#if SQLITE_OMIT_DATETIME_FUNCS + "OMIT_DATETIME_FUNCS", +#endif +#if SQLITE_OMIT_DECLTYPE + "OMIT_DECLTYPE", +#endif +#if SQLITE_OMIT_DEPRECATED + "OMIT_DEPRECATED", +#endif +#if SQLITE_OMIT_DISKIO + "OMIT_DISKIO", +#endif +#if SQLITE_OMIT_EXPLAIN + "OMIT_EXPLAIN", +#endif +#if SQLITE_OMIT_FLAG_PRAGMAS + "OMIT_FLAG_PRAGMAS", +#endif +#if SQLITE_OMIT_FLOATING_POINT + "OMIT_FLOATING_POINT", +#endif +#if SQLITE_OMIT_FOREIGN_KEY + "OMIT_FOREIGN_KEY", +#endif +#if SQLITE_OMIT_GET_TABLE + "OMIT_GET_TABLE", +#endif +#if SQLITE_OMIT_HEX_INTEGER + "OMIT_HEX_INTEGER", +#endif +#if SQLITE_OMIT_INCRBLOB + "OMIT_INCRBLOB", +#endif +#if SQLITE_OMIT_INTEGRITY_CHECK + "OMIT_INTEGRITY_CHECK", +#endif +#if SQLITE_OMIT_LIKE_OPTIMIZATION + "OMIT_LIKE_OPTIMIZATION", +#endif +#if SQLITE_OMIT_LOAD_EXTENSION + "OMIT_LOAD_EXTENSION", +#endif +#if SQLITE_OMIT_LOCALTIME + "OMIT_LOCALTIME", +#endif +#if SQLITE_OMIT_LOOKASIDE + "OMIT_LOOKASIDE", +#endif +#if SQLITE_OMIT_MEMORYDB + "OMIT_MEMORYDB", +#endif +#if SQLITE_OMIT_OR_OPTIMIZATION + "OMIT_OR_OPTIMIZATION", +#endif +#if SQLITE_OMIT_PAGER_PRAGMAS + "OMIT_PAGER_PRAGMAS", +#endif +#if SQLITE_OMIT_PARSER_TRACE + "OMIT_PARSER_TRACE", +#endif +#if SQLITE_OMIT_POPEN + "OMIT_POPEN", +#endif +#if SQLITE_OMIT_PRAGMA + "OMIT_PRAGMA", +#endif +#if SQLITE_OMIT_PROGRESS_CALLBACK + "OMIT_PROGRESS_CALLBACK", +#endif +#if SQLITE_OMIT_QUICKBALANCE + "OMIT_QUICKBALANCE", +#endif +#if SQLITE_OMIT_REINDEX + "OMIT_REINDEX", +#endif +#if SQLITE_OMIT_SCHEMA_PRAGMAS + "OMIT_SCHEMA_PRAGMAS", +#endif +#if SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS + "OMIT_SCHEMA_VERSION_PRAGMAS", +#endif +#if SQLITE_OMIT_SHARED_CACHE + "OMIT_SHARED_CACHE", +#endif +#if SQLITE_OMIT_SHUTDOWN_DIRECTORIES + "OMIT_SHUTDOWN_DIRECTORIES", +#endif +#if SQLITE_OMIT_SUBQUERY + "OMIT_SUBQUERY", +#endif +#if SQLITE_OMIT_TCL_VARIABLE + "OMIT_TCL_VARIABLE", +#endif +#if SQLITE_OMIT_TEMPDB + "OMIT_TEMPDB", +#endif +#if SQLITE_OMIT_TEST_CONTROL + "OMIT_TEST_CONTROL", +#endif +#if SQLITE_OMIT_TRACE + "OMIT_TRACE", +#endif +#if SQLITE_OMIT_TRIGGER + "OMIT_TRIGGER", +#endif +#if SQLITE_OMIT_TRUNCATE_OPTIMIZATION + "OMIT_TRUNCATE_OPTIMIZATION", +#endif +#if SQLITE_OMIT_UTF16 + "OMIT_UTF16", +#endif +#if SQLITE_OMIT_VACUUM + "OMIT_VACUUM", +#endif +#if SQLITE_OMIT_VIEW + "OMIT_VIEW", +#endif +#if SQLITE_OMIT_VIRTUALTABLE + "OMIT_VIRTUALTABLE", +#endif +#if SQLITE_OMIT_WAL + "OMIT_WAL", +#endif +#if SQLITE_OMIT_WSD + "OMIT_WSD", +#endif +#if SQLITE_OMIT_XFER_OPT + "OMIT_XFER_OPT", +#endif +#if SQLITE_PCACHE_SEPARATE_HEADER + "PCACHE_SEPARATE_HEADER", +#endif +#if SQLITE_PERFORMANCE_TRACE + "PERFORMANCE_TRACE", +#endif +#if SQLITE_POWERSAFE_OVERWRITE + "POWERSAFE_OVERWRITE", +#endif +#if SQLITE_PREFER_PROXY_LOCKING + "PREFER_PROXY_LOCKING", +#endif +#if SQLITE_PROXY_DEBUG + "PROXY_DEBUG", +#endif +#if SQLITE_REVERSE_UNORDERED_SELECTS + "REVERSE_UNORDERED_SELECTS", +#endif +#if SQLITE_RTREE_INT_ONLY + "RTREE_INT_ONLY", +#endif +#if SQLITE_SECURE_DELETE + "SECURE_DELETE", +#endif +#if SQLITE_SMALL_STACK + "SMALL_STACK", +#endif +#ifdef SQLITE_SORTER_PMASZ + "SORTER_PMASZ=" CTIMEOPT_VAL(SQLITE_SORTER_PMASZ), +#endif +#if SQLITE_SOUNDEX + "SOUNDEX", +#endif +#ifdef SQLITE_STAT4_SAMPLES + "STAT4_SAMPLES=" CTIMEOPT_VAL(SQLITE_STAT4_SAMPLES), +#endif +#ifdef SQLITE_STMTJRNL_SPILL + "STMTJRNL_SPILL=" CTIMEOPT_VAL(SQLITE_STMTJRNL_SPILL), +#endif +#if SQLITE_SUBSTR_COMPATIBILITY + "SUBSTR_COMPATIBILITY", +#endif +#if SQLITE_SYSTEM_MALLOC + "SYSTEM_MALLOC", +#endif +#if SQLITE_TCL + "TCL", +#endif +#ifdef SQLITE_TEMP_STORE + "TEMP_STORE=" CTIMEOPT_VAL(SQLITE_TEMP_STORE), +#endif +#if SQLITE_TEST + "TEST", +#endif +#if defined(SQLITE_THREADSAFE) + "THREADSAFE=" CTIMEOPT_VAL(SQLITE_THREADSAFE), +#elif defined(THREADSAFE) + "THREADSAFE=" CTIMEOPT_VAL(THREADSAFE), +#else + "THREADSAFE=1", +#endif +#if SQLITE_UNLINK_AFTER_CLOSE + "UNLINK_AFTER_CLOSE", +#endif +#if SQLITE_UNTESTABLE + "UNTESTABLE", +#endif +#if SQLITE_USER_AUTHENTICATION + "USER_AUTHENTICATION", +#endif +#if SQLITE_USE_ALLOCA + "USE_ALLOCA", +#endif +#if SQLITE_USE_FCNTL_TRACE + "USE_FCNTL_TRACE", +#endif +#if SQLITE_USE_URI + "USE_URI", +#endif +#if SQLITE_VDBE_COVERAGE + "VDBE_COVERAGE", +#endif +#if SQLITE_WIN32_MALLOC + "WIN32_MALLOC", +#endif +#if SQLITE_ZERO_MALLOC + "ZERO_MALLOC", +#endif +/* +** END CODE GENERATED BY tool/mkctime.tcl +*/ +}; + +SQLITE_PRIVATE const char **sqlite3CompileOptions(int *pnOpt){ + *pnOpt = sizeof(sqlite3azCompileOpt) / sizeof(sqlite3azCompileOpt[0]); + return (const char**)sqlite3azCompileOpt; +} + +#endif /* SQLITE_OMIT_COMPILEOPTION_DIAGS */ + +/************** End of ctime.c ***********************************************/ /************** Begin file sqliteInt.h ***************************************/ /* ** 2001 September 15 @@ -75,14 +830,6 @@ # define SQLITE_TCLAPI #endif -/* -** Make sure that rand_s() is available on Windows systems with MSVC 2005 -** or higher. -*/ -#if defined(_MSC_VER) && _MSC_VER>=1400 -# define _CRT_RAND_S -#endif - /* ** Include the header file used to customize the compiler options for MSVC. ** This should be done first so that it can successfully prevent spurious @@ -204,12 +951,29 @@ # define _LARGEFILE_SOURCE 1 #endif -/* What version of GCC is being used. 0 means GCC is not being used */ -#ifdef __GNUC__ +/* The GCC_VERSION and MSVC_VERSION macros are used to +** conditionally include optimizations for each of these compilers. A +** value of 0 means that compiler is not being used. The +** SQLITE_DISABLE_INTRINSIC macro means do not use any compiler-specific +** optimizations, and hence set all compiler macros to 0 +** +** There was once also a CLANG_VERSION macro. However, we learn that the +** version numbers in clang are for "marketing" only and are inconsistent +** and unreliable. Fortunately, all versions of clang also recognize the +** gcc version numbers and have reasonable settings for gcc version numbers, +** so the GCC_VERSION macro will be set to a correct non-zero value even +** when compiling with clang. +*/ +#if defined(__GNUC__) && !defined(SQLITE_DISABLE_INTRINSIC) # define GCC_VERSION (__GNUC__*1000000+__GNUC_MINOR__*1000+__GNUC_PATCHLEVEL__) #else # define GCC_VERSION 0 #endif +#if defined(_MSC_VER) && !defined(SQLITE_DISABLE_INTRINSIC) +# define MSVC_VERSION _MSC_VER +#else +# define MSVC_VERSION 0 +#endif /* Needed for various definitions... */ #if defined(__GNUC__) && !defined(_GNU_SOURCE) @@ -259,7 +1023,7 @@ /************** Include sqlite3.h in the middle of sqliteInt.h ***************/ /************** Begin file sqlite3.h *****************************************/ /* -** 2001 September 15 +** 2001-09-15 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: @@ -374,20 +1138,22 @@ extern "C" { ** 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 an SHA1 -** hash of the entire source tree. +** 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.15.2" -#define SQLITE_VERSION_NUMBER 3015002 -#define SQLITE_SOURCE_ID "2016-11-28 19:13:37 bbd85d235f7037c6a033a9690534391ffeacecc8" +#define SQLITE_VERSION "3.22.0" +#define SQLITE_VERSION_NUMBER 3022000 +#define SQLITE_SOURCE_ID "2018-01-22 18:45:57 0c55d179733b46d8d0ba4d88e01a25e10677046ee3da1d5b1581e86726f2171d" /* ** CAPI3REF: Run-Time Library Version Numbers -** KEYWORDS: sqlite3_version, sqlite3_sourceid +** 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 @@ -399,7 +1165,7 @@ extern "C" { ** **

     ** assert( sqlite3_libversion_number()==SQLITE_VERSION_NUMBER );
    -** assert( strcmp(sqlite3_sourceid(),SQLITE_SOURCE_ID)==0 );
    +** assert( strncmp(sqlite3_sourceid(),SQLITE_SOURCE_ID,80)==0 );
     ** assert( strcmp(sqlite3_libversion(),SQLITE_VERSION)==0 );
     ** 
    )^ ** @@ -409,9 +1175,11 @@ extern "C" { ** 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 +** [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. +** [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()]. */ @@ -519,7 +1287,11 @@ typedef struct sqlite3 sqlite3; */ #ifdef SQLITE_INT64_TYPE typedef SQLITE_INT64_TYPE sqlite_int64; - typedef unsigned SQLITE_INT64_TYPE sqlite_uint64; +# 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; @@ -673,7 +1445,7 @@ SQLITE_API int sqlite3_exec( */ #define SQLITE_OK 0 /* Successful result */ /* beginning-of-error-codes */ -#define SQLITE_ERROR 1 /* SQL error or missing database */ +#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 */ @@ -688,7 +1460,7 @@ SQLITE_API int sqlite3_exec( #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 /* Database is empty */ +#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 */ @@ -696,7 +1468,7 @@ SQLITE_API int sqlite3_exec( #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 /* Auxiliary database format error */ +#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() */ @@ -722,6 +1494,8 @@ SQLITE_API int sqlite3_exec( ** 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)) @@ -750,6 +1524,9 @@ SQLITE_API int sqlite3_exec( #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)) @@ -762,6 +1539,8 @@ SQLITE_API int sqlite3_exec( #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)) @@ -832,10 +1611,15 @@ SQLITE_API int sqlite3_exec( ** 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 indicate that a file cannot be deleted when open. The +** 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 @@ -851,6 +1635,7 @@ SQLITE_API int sqlite3_exec( #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 @@ -982,6 +1767,10 @@ struct sqlite3_file { **
  • [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 @@ -1110,7 +1899,7 @@ struct sqlite3_io_methods { ** 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 i the new retry count and the second +** 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 @@ -1265,6 +2054,40 @@ struct sqlite3_io_methods { ** 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]. ** */ #define SQLITE_FCNTL_LOCKSTATE 1 @@ -1295,6 +2118,10 @@ struct sqlite3_io_methods { #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 /* deprecated names */ #define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE @@ -1332,12 +2159,18 @@ typedef struct sqlite3_api_routines sqlite3_api_routines; ** in the name of the object stands for "virtual file system". See ** the [VFS | VFS documentation] for further information. ** -** The value of the iVersion field is initially 1 but may be larger in -** future versions of SQLite. Additional fields may be appended to this -** object when the iVersion value is increased. Note that the structure -** of the sqlite3_vfs object changes in the transaction between -** SQLite version 3.5.9 and 3.6.0 and yet the iVersion field was not -** modified. +** 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 @@ -1865,6 +2698,16 @@ struct sqlite3_mem_methods { ** routines with a wrapper that simulations memory allocation failure or ** tracks memory usage, for example.
  • {ukf|V`MVNRG7cxO?ht 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�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

    )^ ** ** [[SQLITE_LIMIT_FUNCTION_ARG]] ^(
    SQLITE_LIMIT_FUNCTION_ARG
    **
    The maximum number of arguments on a function.
    )^ @@ -3683,23 +4567,59 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); #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 query, it must first be compiled into a byte-code -** program using one of these routines. +** 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() and sqlite3_prepare_v2() -** interfaces use UTF-8, and sqlite3_prepare16() and sqlite3_prepare16_v2() -** use UTF-16. +** 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 @@ -3726,10 +4646,11 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** ^On success, the sqlite3_prepare() family of routines return [SQLITE_OK]; ** otherwise an [error code] is returned. ** -** The sqlite3_prepare_v2() and sqlite3_prepare16_v2() interfaces are -** recommended for all new programs. The two older interfaces are retained -** for backwards compatibility, but their use is discouraged. -** ^In the "v2" interfaces, the prepared statement +** 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: @@ -3762,6 +4683,12 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** or [GLOB] operator or if the parameter is compared to an indexed column ** and the [SQLITE_ENABLE_STAT3] compile-time option is enabled. **

    ?b8z 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

    ?sF^?%yEuOG*1A{$0YK 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�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

  • +** +**

    ^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( @@ -3778,6 +4705,14 @@ SQLITE_API int sqlite3_prepare_v2( 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 */ @@ -3792,6 +4727,14 @@ SQLITE_API int sqlite3_prepare16_v2( 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 @@ -3799,7 +4742,8 @@ SQLITE_API int sqlite3_prepare16_v2( ** ** ^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 either [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()]. +** 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. @@ -3856,6 +4800,10 @@ SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt); ** 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); @@ -3914,12 +4862,13 @@ SQLITE_API int sqlite3_stmt_busy(sqlite3_stmt*); ** 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 with -** [sqlite3_result_value()] and [sqlite3_bind_value()]. +** 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 Mem sqlite3_value; +typedef struct sqlite3_value sqlite3_value; /* ** CAPI3REF: SQL Function Context Object @@ -4021,6 +4970,15 @@ typedef struct sqlite3_context sqlite3_context; ** [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()], @@ -4054,6 +5012,7 @@ SQLITE_API int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, 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); @@ -4097,8 +5056,8 @@ SQLITE_API int sqlite3_bind_parameter_count(sqlite3_stmt*); ** ^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()] or -** [sqlite3_prepare16_v2()]. +** 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 @@ -4115,7 +5074,8 @@ SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int); ** 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()]. +** 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 @@ -4138,8 +5098,12 @@ SQLITE_API int sqlite3_clear_bindings(sqlite3_stmt*); ** METHOD: sqlite3_stmt ** ** ^Return the number of columns in the result set returned by the -** [prepared statement]. ^This routine returns 0 if pStmt is an SQL -** statement that does not return data (for example an [UPDATE]). +** [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()] */ @@ -4265,16 +5229,18 @@ 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 either -** [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()] or one of the legacy +** 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 "v2" interface -** [sqlite3_prepare_v2()] and [sqlite3_prepare16_v2()] or the older legacy -** interface [sqlite3_prepare()] and [sqlite3_prepare16()]. The use of the -** new "v2" interface is recommended for new applications but the legacy +** 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], @@ -4335,10 +5301,11 @@ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int); ** 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 either [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()] instead +** 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 "v2" interface is recommended. +** by sqlite3_step(). The use of the "vX" interfaces is recommended. */ SQLITE_API int sqlite3_step(sqlite3_stmt*); @@ -4400,6 +5367,28 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); ** 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*] @@ -4421,16 +5410,29 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); ** 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 value -** returned by sqlite3_column_type() is only meaningful if no type -** conversions have occurred as described below. After a type conversion, -** the value returned by sqlite3_column_type() is undefined. Future +** [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 @@ -4467,9 +5469,13 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); ** [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. ** -** These routines attempt to convert the value where appropriate. ^For -** example, if the internal representation is FLOAT and a text result +** 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: @@ -4541,7 +5547,7 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); ** ^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 +** and BLOBs is freed automatically. Do not pass the pointers returned ** from [sqlite3_column_blob()], [sqlite3_column_text()], etc. into ** [sqlite3_free()]. ** @@ -4552,15 +5558,15 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); ** [SQLITE_NOMEM].)^ */ SQLITE_API const void *sqlite3_column_blob(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 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 int sqlite3_column_type(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 @@ -4794,21 +5800,43 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** CAPI3REF: Obtaining SQL Values ** METHOD: sqlite3_value ** -** The C-language implementation of SQL functions and aggregates uses -** this set of interface routines to access the parameter values on -** the function or aggregate. -** -** The xFunc (for scalar functions) or xStep (for aggregates) parameters -** to [sqlite3_create_function()] and [sqlite3_create_function16()] -** define callbacks that implement the SQL functions and aggregates. -** The 3rd parameter to these callbacks is an array of pointers to -** [protected sqlite3_value] objects. There is one [sqlite3_value] object for -** each parameter to the SQL function. These routines are used to -** extract values from the [sqlite3_value] objects. +** 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] -** object results in undefined behavior. +** is not threadsafe. ** ** ^These routines work just like the corresponding [column access functions] ** except that these routines take a single [protected sqlite3_value] object @@ -4819,6 +5847,24 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** 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 @@ -4827,6 +5873,19 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** 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 @@ -4837,17 +5896,19 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** the SQL function that supplied the [sqlite3_value*] parameters. */ SQLITE_API const void *sqlite3_value_blob(sqlite3_value*); -SQLITE_API int sqlite3_value_bytes(sqlite3_value*); -SQLITE_API int sqlite3_value_bytes16(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 @@ -4858,10 +5919,6 @@ SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); ** 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 makes no use of subtype itself. It merely passes the subtype -** from the result of one [application-defined SQL function] into the -** input of another. */ SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*); @@ -4969,10 +6026,11 @@ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*); ** the compiled regular expression can be reused on multiple ** invocations of the same function. ** -** ^The sqlite3_get_auxdata() interface returns a pointer to the metadata -** associated by the sqlite3_set_auxdata() function with the Nth argument -** value to the application-defined function. ^If there is no metadata -** associated with the function argument, this sqlite3_get_auxdata() interface +** ^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 @@ -5003,6 +6061,10 @@ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*); ** 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. */ @@ -5126,7 +6188,7 @@ typedef void (*sqlite3_destructor_type)(void*); ** 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 +** 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 @@ -5139,6 +6201,17 @@ typedef void (*sqlite3_destructor_type)(void*); ** [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. @@ -5162,6 +6235,7 @@ SQLITE_API void sqlite3_result_text16(sqlite3_context*, const void*, int, 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); @@ -5648,7 +6722,7 @@ SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); ** ^The update hook is not invoked when [WITHOUT ROWID] tables are modified. ** ** ^In the current implementation, the update hook -** is not invoked when duplication rows are deleted because of an +** 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 @@ -5821,7 +6895,9 @@ SQLITE_API SQLITE_DEPRECATED void sqlite3_soft_heap_limit(int N); ** ^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. +** 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 @@ -6231,15 +7307,20 @@ struct sqlite3_index_info { ** 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_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 @@ -6430,6 +7511,12 @@ typedef struct sqlite3_blob sqlite3_blob; ** [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 @@ -6453,6 +7540,10 @@ typedef struct sqlite3_blob sqlite3_blob; ** ** 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*, @@ -6468,11 +7559,11 @@ SQLITE_API int sqlite3_blob_open( ** 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 +** ^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 can be +** 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()] - @@ -6920,9 +8011,9 @@ SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*); ** 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 +** ^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 +** 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. ** @@ -6934,7 +8025,7 @@ SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*); ** an incorrect zDbName and an SQLITE_ERROR return from the underlying ** xFileControl method. ** -** See also: [SQLITE_FCNTL_LOCKSTATE] +** See also: [file control opcodes] */ SQLITE_API int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*); @@ -6981,7 +8072,7 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_RESERVE 14 #define SQLITE_TESTCTRL_OPTIMIZATIONS 15 #define SQLITE_TESTCTRL_ISKEYWORD 16 -#define SQLITE_TESTCTRL_SCRATCHMALLOC 17 +#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 @@ -6991,7 +8082,8 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_ISINIT 23 #define SQLITE_TESTCTRL_SORTER_MMAP 24 #define SQLITE_TESTCTRL_IMPOSTER 25 -#define SQLITE_TESTCTRL_LAST 25 +#define SQLITE_TESTCTRL_PARSER_COVERAGE 26 +#define SQLITE_TESTCTRL_LAST 26 /* Largest TESTCTRL */ /* ** CAPI3REF: SQLite Runtime Status @@ -7040,8 +8132,7 @@ SQLITE_API int sqlite3_status64( **
    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. Scratch memory -** controlled by [SQLITE_CONFIG_SCRATCH] and auxiliary page-cache +** 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].
    )^ @@ -7079,29 +8170,14 @@ SQLITE_API int sqlite3_status64( ** *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
    -**
    This parameter returns the number of allocations used out of the -** [scratch memory allocator] configured using -** [SQLITE_CONFIG_SCRATCH]. The value returned is in allocations, not -** in bytes. Since a single thread may only have one scratch allocation -** outstanding at time, this parameter also reports the number of threads -** using scratch memory at the same time.
    )^ +** [[SQLITE_STATUS_SCRATCH_USED]]
    SQLITE_STATUS_SCRATCH_USED
    +**
    No longer used.
    ** ** [[SQLITE_STATUS_SCRATCH_OVERFLOW]] ^(
    SQLITE_STATUS_SCRATCH_OVERFLOW
    -**
    This parameter returns the number of bytes of scratch memory -** allocation which could not be satisfied by the [SQLITE_CONFIG_SCRATCH] -** buffer and where forced to overflow to [sqlite3_malloc()]. The values -** returned include overflows because the requested allocation was too -** larger (that is, because the requested allocation was larger than the -** "sz" parameter to [SQLITE_CONFIG_SCRATCH]) and because no scratch buffer -** slots were available. -**
    )^ -** -** [[SQLITE_STATUS_SCRATCH_SIZE]] ^(
    SQLITE_STATUS_SCRATCH_SIZE
    -**
    This parameter records the largest memory allocation request -** handed to [scratch 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.
    )^ +**
    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. @@ -7114,12 +8190,12 @@ SQLITE_API int sqlite3_status64( #define SQLITE_STATUS_MEMORY_USED 0 #define SQLITE_STATUS_PAGECACHE_USED 1 #define SQLITE_STATUS_PAGECACHE_OVERFLOW 2 -#define SQLITE_STATUS_SCRATCH_USED 3 -#define SQLITE_STATUS_SCRATCH_OVERFLOW 4 +#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 +#define SQLITE_STATUS_SCRATCH_SIZE 8 /* NOT USED */ #define SQLITE_STATUS_MALLOC_COUNT 9 /* @@ -7324,6 +8400,24 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); ** 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. **
    ** */ @@ -7331,6 +8425,9 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); #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 @@ -8240,6 +9337,40 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...); */ 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} @@ -8401,7 +9532,7 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*); ** ** ^The [sqlite3_preupdate_hook()] interface registers a callback function ** that is invoked prior to each [INSERT], [UPDATE], and [DELETE] operation -** on a [rowid table]. +** 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. @@ -8410,9 +9541,9 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*); ** ^The third parameter to [sqlite3_preupdate_hook()] is passed through as ** the first parameter to callbacks. ** -** ^The preupdate hook only fires for changes to [rowid tables]; the preupdate -** hook is not invoked for changes to [virtual tables] or [WITHOUT ROWID] -** tables. +** ^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. @@ -8426,12 +9557,16 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*); ** databases.)^ ** ^The fifth parameter to the preupdate callback is the name of the ** table that is being modified. -** ^The sixth parameter to the preupdate callback is the initial [rowid] of the -** row being changes for SQLITE_UPDATE and SQLITE_DELETE changes and is -** undefined for SQLITE_INSERT changes. -** ^The seventh parameter to the preupdate callback is the final [rowid] of -** the row being changed for SQLITE_UPDATE and SQLITE_INSERT changes and is -** undefined for SQLITE_DELETE changes. +** +** 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 @@ -8471,7 +9606,8 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*); ** ** See also: [sqlite3_update_hook()] */ -SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_preupdate_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() */ @@ -8484,10 +9620,11 @@ SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_preupdate_hook( ), void* ); -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_old(sqlite3 *, int, sqlite3_value **); -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_count(sqlite3 *); -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_depth(sqlite3 *); -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **); +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 @@ -8503,7 +9640,7 @@ SQLITE_API int sqlite3_system_errno(sqlite3*); /* ** CAPI3REF: Database Snapshot -** KEYWORDS: {snapshot} +** KEYWORDS: {snapshot} {sqlite3_snapshot} ** EXPERIMENTAL ** ** An instance of the snapshot object records the state of a [WAL mode] @@ -8527,7 +9664,9 @@ SQLITE_API int sqlite3_system_errno(sqlite3*); ** to an historical snapshot (if possible). The destructor for ** sqlite3_snapshot objects is [sqlite3_snapshot_free()]. */ -typedef struct sqlite3_snapshot sqlite3_snapshot; +typedef struct sqlite3_snapshot { + unsigned char hidden[48]; +} sqlite3_snapshot; /* ** CAPI3REF: Record A Database Snapshot @@ -8538,9 +9677,32 @@ typedef struct sqlite3_snapshot sqlite3_snapshot; ** 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 schema S of [database connection] D is not a [WAL mode] database -** that is in a read transaction, then [sqlite3_snapshot_get(D,S,P)] -** leaves the *P value unchanged and returns an appropriate [error code]. +** 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()] @@ -8633,6 +9795,28 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp( 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); + /* ** Undo the hack that converts floating point types to integer for ** builds on processors without floating point support. @@ -8818,7 +10002,7 @@ typedef struct sqlite3_changeset_iter sqlite3_changeset_iter; ** attached database. It is not an error if database zDb is not attached ** to the database when the session object is created. */ -int sqlite3session_create( +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 */ @@ -8836,7 +10020,7 @@ int sqlite3session_create( ** are attached is closed. Refer to the documentation for ** [sqlite3session_create()] for details. */ -void sqlite3session_delete(sqlite3_session *pSession); +SQLITE_API void sqlite3session_delete(sqlite3_session *pSession); /* @@ -8856,7 +10040,7 @@ void sqlite3session_delete(sqlite3_session *pSession); ** The return value indicates the final state of the session object: 0 if ** the session is disabled, or 1 if it is enabled. */ -int sqlite3session_enable(sqlite3_session *pSession, int bEnable); +SQLITE_API int sqlite3session_enable(sqlite3_session *pSession, int bEnable); /* ** CAPI3REF: Set Or Clear the Indirect Change Flag @@ -8885,7 +10069,7 @@ int sqlite3session_enable(sqlite3_session *pSession, int bEnable); ** The return value indicates the final state of the indirect flag: 0 if ** it is clear, or 1 if it is set. */ -int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect); +SQLITE_API int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect); /* ** CAPI3REF: Attach A Table To A Session Object @@ -8914,8 +10098,37 @@ int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect); ** ** 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. */ -int sqlite3session_attach( +SQLITE_API int sqlite3session_attach( sqlite3_session *pSession, /* Session object */ const char *zTab /* Table name */ ); @@ -8929,7 +10142,7 @@ int sqlite3session_attach( ** If xFilter returns 0, changes is not tracked. Note that once a table is ** attached, xFilter will not be called again. */ -void sqlite3session_table_filter( +SQLITE_API void sqlite3session_table_filter( sqlite3_session *pSession, /* Session object */ int(*xFilter)( void *pCtx, /* Copy of third arg to _filter_table() */ @@ -9042,7 +10255,7 @@ void sqlite3session_table_filter( ** 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. */ -int sqlite3session_changeset( +SQLITE_API int sqlite3session_changeset( sqlite3_session *pSession, /* Session object */ int *pnChangeset, /* OUT: Size of buffer at *ppChangeset */ void **ppChangeset /* OUT: Buffer containing changeset */ @@ -9086,7 +10299,8 @@ int sqlite3session_changeset( ** 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 in each, an UPDATE record is added to the session. +** 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 @@ -9103,7 +10317,7 @@ int sqlite3session_changeset( ** message. It is the responsibility of the caller to free this buffer using ** sqlite3_free(). */ -int sqlite3session_diff( +SQLITE_API int sqlite3session_diff( sqlite3_session *pSession, const char *zFromDb, const char *zTbl, @@ -9139,10 +10353,10 @@ int sqlite3session_diff( ** a single table are grouped together, tables appear in the order in which ** they were attached to the session object). */ -int sqlite3session_patchset( +SQLITE_API int sqlite3session_patchset( sqlite3_session *pSession, /* Session object */ - int *pnPatchset, /* OUT: Size of buffer at *ppChangeset */ - void **ppPatchset /* OUT: Buffer containing changeset */ + int *pnPatchset, /* OUT: Size of buffer at *ppPatchset */ + void **ppPatchset /* OUT: Buffer containing patchset */ ); /* @@ -9160,7 +10374,7 @@ int sqlite3session_patchset( ** guaranteed that a call to sqlite3session_changeset() will return a ** changeset containing zero changes. */ -int sqlite3session_isempty(sqlite3_session *pSession); +SQLITE_API int sqlite3session_isempty(sqlite3_session *pSession); /* ** CAPI3REF: Create An Iterator To Traverse A Changeset @@ -9195,7 +10409,7 @@ int sqlite3session_isempty(sqlite3_session *pSession); ** the applies to table X, then one for table Y, and then later on visit ** another change for table X. */ -int sqlite3changeset_start( +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 */ @@ -9224,7 +10438,7 @@ int sqlite3changeset_start( ** codes include SQLITE_CORRUPT (if the changeset buffer is corrupt) or ** SQLITE_NOMEM. */ -int sqlite3changeset_next(sqlite3_changeset_iter *pIter); +SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter); /* ** CAPI3REF: Obtain The Current Operation From A Changeset Iterator @@ -9252,7 +10466,7 @@ int sqlite3changeset_next(sqlite3_changeset_iter *pIter); ** SQLite error code is returned. The values of the output variables may not ** be trusted in this case. */ -int sqlite3changeset_op( +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 */ @@ -9285,7 +10499,7 @@ int sqlite3changeset_op( ** SQLITE_OK is returned and the output variables populated as described ** above. */ -int sqlite3changeset_pk( +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 */ @@ -9315,7 +10529,7 @@ int sqlite3changeset_pk( ** If some other error occurs (e.g. an OOM condition), an SQLite error code ** is returned and *ppValue is set to NULL. */ -int sqlite3changeset_old( +SQLITE_API int sqlite3changeset_old( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int iVal, /* Column number */ sqlite3_value **ppValue /* OUT: Old value (or NULL pointer) */ @@ -9348,7 +10562,7 @@ int sqlite3changeset_old( ** If some other error occurs (e.g. an OOM condition), an SQLite error code ** is returned and *ppValue is set to NULL. */ -int sqlite3changeset_new( +SQLITE_API int sqlite3changeset_new( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int iVal, /* Column number */ sqlite3_value **ppValue /* OUT: New value (or NULL pointer) */ @@ -9375,7 +10589,7 @@ int sqlite3changeset_new( ** If some other error occurs (e.g. an OOM condition), an SQLite error code ** is returned and *ppValue is set to NULL. */ -int sqlite3changeset_conflict( +SQLITE_API int sqlite3changeset_conflict( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int iVal, /* Column number */ sqlite3_value **ppValue /* OUT: Value from conflicting row */ @@ -9391,7 +10605,7 @@ int sqlite3changeset_conflict( ** ** In all other cases this function returns SQLITE_MISUSE. */ -int sqlite3changeset_fk_conflicts( +SQLITE_API int sqlite3changeset_fk_conflicts( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int *pnOut /* OUT: Number of FK violations */ ); @@ -9424,7 +10638,7 @@ int sqlite3changeset_fk_conflicts( ** // An error has occurred ** } */ -int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter); +SQLITE_API int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter); /* ** CAPI3REF: Invert A Changeset @@ -9454,7 +10668,7 @@ int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter); ** WARNING/TODO: This function currently assumes that the input is a valid ** changeset. If it is not, the results are undefined. */ -int sqlite3changeset_invert( +SQLITE_API int sqlite3changeset_invert( int nIn, const void *pIn, /* Input changeset */ int *pnOut, void **ppOut /* OUT: Inverse of input */ ); @@ -9483,7 +10697,7 @@ int sqlite3changeset_invert( ** ** Refer to the sqlite3_changegroup documentation below for details. */ -int sqlite3changeset_concat( +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 */ @@ -9533,7 +10747,7 @@ typedef struct sqlite3_changegroup sqlite3_changegroup; ** sqlite3changegroup_output() functions, also available are the streaming ** versions sqlite3changegroup_add_strm() and sqlite3changegroup_output_strm(). */ -int sqlite3changegroup_new(sqlite3_changegroup **pp); +SQLITE_API int sqlite3changegroup_new(sqlite3_changegroup **pp); /* ** CAPI3REF: Add A Changeset To A Changegroup @@ -9610,7 +10824,7 @@ int sqlite3changegroup_new(sqlite3_changegroup **pp); ** ** If no error occurs, SQLITE_OK is returned. */ -int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData); +SQLITE_API int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData); /* ** CAPI3REF: Obtain A Composite Changeset From A Changegroup @@ -9636,7 +10850,7 @@ int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData); ** responsibility of the caller to eventually free the buffer using a ** call to sqlite3_free(). */ -int sqlite3changegroup_output( +SQLITE_API int sqlite3changegroup_output( sqlite3_changegroup*, int *pnData, /* OUT: Size of output buffer in bytes */ void **ppData /* OUT: Pointer to output buffer */ @@ -9645,7 +10859,7 @@ int sqlite3changegroup_output( /* ** CAPI3REF: Delete A Changegroup Object */ -void sqlite3changegroup_delete(sqlite3_changegroup*); +SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*); /* ** CAPI3REF: Apply A Changeset To A Database @@ -9671,7 +10885,7 @@ void sqlite3changegroup_delete(sqlite3_changegroup*); **
      **
    • The table has the same name as the name recorded in the ** changeset, and -**
    • The table has the same number of columns as recorded in the +**
    • 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. @@ -9716,7 +10930,11 @@ void sqlite3changegroup_delete(sqlite3_changegroup*); ** 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. +** 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] @@ -9731,7 +10949,9 @@ void sqlite3changegroup_delete(sqlite3_changegroup*); ** **
      INSERT Changes
      ** For each INSERT change, an attempt is made to insert the new row into -** the database. +** 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 @@ -9749,13 +10969,13 @@ void sqlite3changegroup_delete(sqlite3_changegroup*); ** For each UPDATE change, this 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 updated within the target database. +** 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 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 +** 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. @@ -9783,7 +11003,7 @@ void sqlite3changegroup_delete(sqlite3_changegroup*); ** rolled back, restoring the target database to its original state, and an ** SQLite error code returned. */ -int sqlite3changeset_apply( +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 */ @@ -9903,12 +11123,12 @@ int sqlite3changeset_apply( ** ** ** -**
      Streaming functionNon-streaming equivalent
      sqlite3changeset_apply_str[sqlite3changeset_apply] -**
      sqlite3changeset_concat_str[sqlite3changeset_concat] -**
      sqlite3changeset_invert_str[sqlite3changeset_invert] -**
      sqlite3changeset_start_str[sqlite3changeset_start] -**
      sqlite3session_changeset_str[sqlite3session_changeset] -**
      sqlite3session_patchset_str[sqlite3session_patchset] +**
      sqlite3changeset_apply_strm[sqlite3changeset_apply] +**
      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 @@ -9984,7 +11204,7 @@ int sqlite3changeset_apply( ** 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. */ -int sqlite3changeset_apply_strm( +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 */ @@ -9999,7 +11219,7 @@ int sqlite3changeset_apply_strm( ), void *pCtx /* First argument passed to xConflict */ ); -int sqlite3changeset_concat_strm( +SQLITE_API int sqlite3changeset_concat_strm( int (*xInputA)(void *pIn, void *pData, int *pnData), void *pInA, int (*xInputB)(void *pIn, void *pData, int *pnData), @@ -10007,32 +11227,32 @@ int sqlite3changeset_concat_strm( int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut ); -int sqlite3changeset_invert_strm( +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 ); -int sqlite3changeset_start_strm( +SQLITE_API int sqlite3changeset_start_strm( sqlite3_changeset_iter **pp, int (*xInput)(void *pIn, void *pData, int *pnData), void *pIn ); -int sqlite3session_changeset_strm( +SQLITE_API int sqlite3session_changeset_strm( sqlite3_session *pSession, int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut ); -int sqlite3session_patchset_strm( +SQLITE_API int sqlite3session_patchset_strm( sqlite3_session *pSession, int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut ); -int sqlite3changegroup_add_strm(sqlite3_changegroup*, +SQLITE_API int sqlite3changegroup_add_strm(sqlite3_changegroup*, int (*xInput)(void *pIn, void *pData, int *pnData), void *pIn ); -int sqlite3changegroup_output_strm(sqlite3_changegroup*, +SQLITE_API int sqlite3changegroup_output_strm(sqlite3_changegroup*, int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut ); @@ -10637,8 +11857,9 @@ struct fts5_api { ** Include the configuration header output by 'configure' if we're using the ** autoconf-based build */ -#ifdef _HAVE_SQLITE_CONFIG_H -#include "config.h" +#if defined(_HAVE_SQLITE_CONFIG_H) && !defined(SQLITECONFIG_H) +/* #include "config.h" */ +#define SQLITECONFIG_H 1 #endif /************** Include sqliteLimit.h in the middle of sqliteInt.h ***********/ @@ -10732,7 +11953,7 @@ struct fts5_api { ** Not currently enforced. */ #ifndef SQLITE_MAX_VDBE_OP -# define SQLITE_MAX_VDBE_OP 25000 +# define SQLITE_MAX_VDBE_OP 250000000 #endif /* @@ -10930,6 +12151,7 @@ struct fts5_api { # include # pragma intrinsic(_byteswap_ushort) # pragma intrinsic(_byteswap_ulong) +# pragma intrinsic(_byteswap_uint64) # pragma intrinsic(_ReadWriteBarrier) # else # include @@ -10947,6 +12169,11 @@ struct fts5_api { ** ** Older versions of SQLite used an optional THREADSAFE macro. ** We support that for legacy. +** +** To ensure that the correct value of "THREADSAFE" is reported when querying +** for compile-time options at runtime (e.g. "PRAGMA compile_options"), this +** logic is partially replicated in ctime.c. If it is updated here, it should +** also be updated there. */ #if !defined(SQLITE_THREADSAFE) # if defined(THREADSAFE) @@ -11121,6 +12348,21 @@ SQLITE_PRIVATE void sqlite3Coverage(int); # define NEVER(X) (X) #endif +/* +** Some conditionals are optimizations only. In other words, if the +** conditionals are replaced with a constant 1 (true) or 0 (false) then +** the correct answer is still obtained, though perhaps not as quickly. +** +** The following macros mark these optimizations conditionals. +*/ +#if defined(SQLITE_MUTATION_TEST) +# define OK_IF_ALWAYS_TRUE(X) (1) +# define OK_IF_ALWAYS_FALSE(X) (0) +#else +# define OK_IF_ALWAYS_TRUE(X) (X) +# define OK_IF_ALWAYS_FALSE(X) (X) +#endif + /* ** Some malloc failures are only possible if SQLITE_TEST_REALLOC_STRESS is ** defined. We need to defend against those failures when testing with @@ -11315,76 +12557,76 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); #define TK_AS 24 #define TK_WITHOUT 25 #define TK_COMMA 26 -#define TK_OR 27 -#define TK_AND 28 -#define TK_IS 29 -#define TK_MATCH 30 -#define TK_LIKE_KW 31 -#define TK_BETWEEN 32 -#define TK_IN 33 -#define TK_ISNULL 34 -#define TK_NOTNULL 35 -#define TK_NE 36 -#define TK_EQ 37 -#define TK_GT 38 -#define TK_LE 39 -#define TK_LT 40 -#define TK_GE 41 -#define TK_ESCAPE 42 -#define TK_BITAND 43 -#define TK_BITOR 44 -#define TK_LSHIFT 45 -#define TK_RSHIFT 46 -#define TK_PLUS 47 -#define TK_MINUS 48 -#define TK_STAR 49 -#define TK_SLASH 50 -#define TK_REM 51 -#define TK_CONCAT 52 -#define TK_COLLATE 53 -#define TK_BITNOT 54 -#define TK_ID 55 -#define TK_INDEXED 56 -#define TK_ABORT 57 -#define TK_ACTION 58 -#define TK_AFTER 59 -#define TK_ANALYZE 60 -#define TK_ASC 61 -#define TK_ATTACH 62 -#define TK_BEFORE 63 -#define TK_BY 64 -#define TK_CASCADE 65 -#define TK_CAST 66 -#define TK_COLUMNKW 67 -#define TK_CONFLICT 68 -#define TK_DATABASE 69 -#define TK_DESC 70 -#define TK_DETACH 71 -#define TK_EACH 72 -#define TK_FAIL 73 -#define TK_FOR 74 -#define TK_IGNORE 75 -#define TK_INITIALLY 76 -#define TK_INSTEAD 77 -#define TK_NO 78 -#define TK_KEY 79 -#define TK_OF 80 -#define TK_OFFSET 81 -#define TK_PRAGMA 82 -#define TK_RAISE 83 -#define TK_RECURSIVE 84 -#define TK_REPLACE 85 -#define TK_RESTRICT 86 -#define TK_ROW 87 -#define TK_TRIGGER 88 -#define TK_VACUUM 89 -#define TK_VIEW 90 -#define TK_VIRTUAL 91 -#define TK_WITH 92 -#define TK_REINDEX 93 -#define TK_RENAME 94 -#define TK_CTIME_KW 95 -#define TK_ANY 96 +#define TK_ABORT 27 +#define TK_ACTION 28 +#define TK_AFTER 29 +#define TK_ANALYZE 30 +#define TK_ASC 31 +#define TK_ATTACH 32 +#define TK_BEFORE 33 +#define TK_BY 34 +#define TK_CASCADE 35 +#define TK_CAST 36 +#define TK_CONFLICT 37 +#define TK_DATABASE 38 +#define TK_DESC 39 +#define TK_DETACH 40 +#define TK_EACH 41 +#define TK_FAIL 42 +#define TK_OR 43 +#define TK_AND 44 +#define TK_IS 45 +#define TK_MATCH 46 +#define TK_LIKE_KW 47 +#define TK_BETWEEN 48 +#define TK_IN 49 +#define TK_ISNULL 50 +#define TK_NOTNULL 51 +#define TK_NE 52 +#define TK_EQ 53 +#define TK_GT 54 +#define TK_LE 55 +#define TK_LT 56 +#define TK_GE 57 +#define TK_ESCAPE 58 +#define TK_ID 59 +#define TK_COLUMNKW 60 +#define TK_FOR 61 +#define TK_IGNORE 62 +#define TK_INITIALLY 63 +#define TK_INSTEAD 64 +#define TK_NO 65 +#define TK_KEY 66 +#define TK_OF 67 +#define TK_OFFSET 68 +#define TK_PRAGMA 69 +#define TK_RAISE 70 +#define TK_RECURSIVE 71 +#define TK_REPLACE 72 +#define TK_RESTRICT 73 +#define TK_ROW 74 +#define TK_TRIGGER 75 +#define TK_VACUUM 76 +#define TK_VIEW 77 +#define TK_VIRTUAL 78 +#define TK_WITH 79 +#define TK_REINDEX 80 +#define TK_RENAME 81 +#define TK_CTIME_KW 82 +#define TK_ANY 83 +#define TK_BITAND 84 +#define TK_BITOR 85 +#define TK_LSHIFT 86 +#define TK_RSHIFT 87 +#define TK_PLUS 88 +#define TK_MINUS 89 +#define TK_STAR 90 +#define TK_SLASH 91 +#define TK_REM 92 +#define TK_CONCAT 93 +#define TK_COLLATE 94 +#define TK_BITNOT 95 +#define TK_INDEXED 96 #define TK_STRING 97 #define TK_JOIN_KW 98 #define TK_CONSTRAINT 99 @@ -11431,27 +12673,23 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); #define TK_INDEX 140 #define TK_ALTER 141 #define TK_ADD 142 -#define TK_TO_TEXT 143 -#define TK_TO_BLOB 144 -#define TK_TO_NUMERIC 145 -#define TK_TO_INT 146 -#define TK_TO_REAL 147 -#define TK_ISNOT 148 -#define TK_END_OF_FILE 149 -#define TK_UNCLOSED_STRING 150 -#define TK_FUNCTION 151 -#define TK_COLUMN 152 -#define TK_AGG_FUNCTION 153 -#define TK_AGG_COLUMN 154 -#define TK_UMINUS 155 -#define TK_UPLUS 156 -#define TK_REGISTER 157 -#define TK_VECTOR 158 -#define TK_SELECT_COLUMN 159 -#define TK_ASTERISK 160 -#define TK_SPAN 161 -#define TK_SPACE 162 -#define TK_ILLEGAL 163 +#define TK_ISNOT 143 +#define TK_FUNCTION 144 +#define TK_COLUMN 145 +#define TK_AGG_FUNCTION 146 +#define TK_AGG_COLUMN 147 +#define TK_UMINUS 148 +#define TK_UPLUS 149 +#define TK_REGISTER 150 +#define TK_VECTOR 151 +#define TK_SELECT_COLUMN 152 +#define TK_IF_NULL_ROW 153 +#define TK_ASTERISK 154 +#define TK_SPAN 155 +#define TK_END_OF_FILE 156 +#define TK_UNCLOSED_STRING 157 +#define TK_SPACE 158 +#define TK_ILLEGAL 159 /* The token codes above must all fit in 8 bits */ #define TKFLG_MASK 0xff @@ -11468,6 +12706,18 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); #include #include +/* +** Use a macro to replace memcpy() if compiled with SQLITE_INLINE_MEMCPY. +** This allows better measurements of where memcpy() is used when running +** cachegrind. But this macro version of memcpy() is very slow so it +** should not be used in production. This is a performance measurement +** hack only. +*/ +#ifdef SQLITE_INLINE_MEMCPY +# define memcpy(D,S,N) {char*xxd=(char*)(D);const char*xxs=(const char*)(S);\ + int xxn=(N);while(xxn-->0)*(xxd++)=*(xxs++);} +#endif + /* ** If compiling for a processor that lacks floating point support, ** substitute integer for floating-point @@ -11524,7 +12774,6 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); */ #ifndef SQLITE_TEMP_STORE # define SQLITE_TEMP_STORE 1 -# define SQLITE_TEMP_STORE_xc 1 /* Exclude from ctime.c */ #endif /* @@ -11552,9 +12801,21 @@ SQLITE_PRIVATE void sqlite3HashClear(Hash*); ** pagecaches for each database connection. A positive number is the ** number of pages. A negative number N translations means that a buffer ** of -1024*N bytes is allocated and used for as many pages as it will hold. +** +** The default value of "20" was choosen to minimize the run-time of the +** speedtest1 test program with options: --shrink-memory --reprepare */ #ifndef SQLITE_DEFAULT_PCACHE_INITSZ -# define SQLITE_DEFAULT_PCACHE_INITSZ 100 +# define SQLITE_DEFAULT_PCACHE_INITSZ 20 +#endif + +/* +** The compile-time options SQLITE_MMAP_READWRITE and +** SQLITE_ENABLE_BATCH_ATOMIC_WRITE are not compatible with one another. +** You must choose one or the other (or neither) but not both. +*/ +#if defined(SQLITE_MMAP_READWRITE) && defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) +#error Cannot use both SQLITE_MMAP_READWRITE and SQLITE_ENABLE_BATCH_ATOMIC_WRITE #endif /* @@ -11729,32 +12990,35 @@ typedef INT16_TYPE LogEst; ** ** For best performance, an attempt is made to guess at the byte-order ** using C-preprocessor macros. If that is unsuccessful, or if -** -DSQLITE_RUNTIME_BYTEORDER=1 is set, then byte-order is determined +** -DSQLITE_BYTEORDER=0 is set, then byte-order is determined ** at run-time. */ -#if (defined(i386) || defined(__i386__) || defined(_M_IX86) || \ +#ifndef SQLITE_BYTEORDER +# if defined(i386) || defined(__i386__) || defined(_M_IX86) || \ defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \ defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \ - defined(__arm__)) && !defined(SQLITE_RUNTIME_BYTEORDER) -# define SQLITE_BYTEORDER 1234 -# define SQLITE_BIGENDIAN 0 -# define SQLITE_LITTLEENDIAN 1 -# define SQLITE_UTF16NATIVE SQLITE_UTF16LE + defined(__arm__) +# define SQLITE_BYTEORDER 1234 +# elif defined(sparc) || defined(__ppc__) +# define SQLITE_BYTEORDER 4321 +# else +# define SQLITE_BYTEORDER 0 +# endif #endif -#if (defined(sparc) || defined(__ppc__)) \ - && !defined(SQLITE_RUNTIME_BYTEORDER) -# define SQLITE_BYTEORDER 4321 +#if SQLITE_BYTEORDER==4321 # define SQLITE_BIGENDIAN 1 # define SQLITE_LITTLEENDIAN 0 # define SQLITE_UTF16NATIVE SQLITE_UTF16BE -#endif -#if !defined(SQLITE_BYTEORDER) +#elif SQLITE_BYTEORDER==1234 +# define SQLITE_BIGENDIAN 0 +# define SQLITE_LITTLEENDIAN 1 +# define SQLITE_UTF16NATIVE SQLITE_UTF16LE +#else # ifdef SQLITE_AMALGAMATION const int sqlite3one = 1; # else extern const int sqlite3one; # endif -# define SQLITE_BYTEORDER 0 /* 0 means "unknown at compile-time" */ # define SQLITE_BIGENDIAN (*(char *)(&sqlite3one)==0) # define SQLITE_LITTLEENDIAN (*(char *)(&sqlite3one)==1) # define SQLITE_UTF16NATIVE (SQLITE_BIGENDIAN?SQLITE_UTF16BE:SQLITE_UTF16LE) @@ -11819,7 +13083,6 @@ typedef INT16_TYPE LogEst; # else # define SQLITE_MAX_MMAP_SIZE 0 # endif -# define SQLITE_MAX_MMAP_SIZE_xc 1 /* exclude from ctime.c */ #endif /* @@ -11829,7 +13092,6 @@ typedef INT16_TYPE LogEst; */ #ifndef SQLITE_DEFAULT_MMAP_SIZE # define SQLITE_DEFAULT_MMAP_SIZE 0 -# define SQLITE_DEFAULT_MMAP_SIZE_xc 1 /* Exclude from ctime.c */ #endif #if SQLITE_DEFAULT_MMAP_SIZE>SQLITE_MAX_MMAP_SIZE # undef SQLITE_DEFAULT_MMAP_SIZE @@ -11854,7 +13116,7 @@ typedef INT16_TYPE LogEst; ** SELECTTRACE_ENABLED will be either 1 or 0 depending on whether or not ** the Select query generator tracing logic is turned on. */ -#if defined(SQLITE_DEBUG) || defined(SQLITE_ENABLE_SELECTTRACE) +#if defined(SQLITE_ENABLE_SELECTTRACE) # define SELECTTRACE_ENABLED 1 #else # define SELECTTRACE_ENABLED 0 @@ -11973,7 +13235,6 @@ typedef struct Db Db; typedef struct Schema Schema; typedef struct Expr Expr; typedef struct ExprList ExprList; -typedef struct ExprSpan ExprSpan; typedef struct FKey FKey; typedef struct FuncDestructor FuncDestructor; typedef struct FuncDef FuncDef; @@ -12011,6 +13272,14 @@ typedef struct Walker Walker; typedef struct WhereInfo WhereInfo; typedef struct With With; +/* A VList object records a mapping between parameters/variables/wildcards +** in the SQL statement (such as $abc, @pqr, or :xyz) and the integer +** variable number associated with that parameter. See the format description +** on the sqlite3VListAdd() routine for more information. A VList is really +** just an array of integers. +*/ +typedef int VList; + /* ** Defer sourcing vdbe.h and btree.h until after the "u8" and ** "BusyHandler" typedefs. vdbe.h also requires a few of the opaque @@ -12250,6 +13519,7 @@ SQLITE_PRIVATE int sqlite3BtreeCursor( struct KeyInfo*, /* First argument to compare function */ BtCursor *pCursor /* Space to write cursor structure */ ); +SQLITE_PRIVATE BtCursor *sqlite3BtreeFakeValidCursor(void); SQLITE_PRIVATE int sqlite3BtreeCursorSize(void); SQLITE_PRIVATE void sqlite3BtreeCursorZero(BtCursor*); SQLITE_PRIVATE void sqlite3BtreeCursorHintFlags(BtCursor*, unsigned); @@ -12269,9 +13539,10 @@ SQLITE_PRIVATE int sqlite3BtreeCursorHasMoved(BtCursor*); SQLITE_PRIVATE int sqlite3BtreeCursorRestore(BtCursor*, int*); SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor*, u8 flags); -/* Allowed flags for the 2nd argument to sqlite3BtreeDelete() */ +/* Allowed flags for sqlite3BtreeDelete() and sqlite3BtreeInsert() */ #define BTREE_SAVEPOSITION 0x02 /* Leave cursor pointing at NEXT or PREV */ #define BTREE_AUXDELETE 0x04 /* not the primary delete operation */ +#define BTREE_APPEND 0x08 /* Insert is likely an append */ /* An instance of the BtreePayload object describes the content of a single ** entry in either an index or table btree. @@ -12295,27 +13566,33 @@ struct BtreePayload { const void *pKey; /* Key content for indexes. NULL for tables */ sqlite3_int64 nKey; /* Size of pKey for indexes. PRIMARY KEY for tabs */ const void *pData; /* Data for tables. NULL for indexes */ + sqlite3_value *aMem; /* First of nMem value in the unpacked pKey */ + u16 nMem; /* Number of aMem[] value. Might be zero */ int nData; /* Size of pData. 0 if none. */ int nZero; /* Extra zero data appended after pData,nData */ }; SQLITE_PRIVATE int sqlite3BtreeInsert(BtCursor*, const BtreePayload *pPayload, - int bias, int seekResult); + int flags, int seekResult); SQLITE_PRIVATE int sqlite3BtreeFirst(BtCursor*, int *pRes); SQLITE_PRIVATE int sqlite3BtreeLast(BtCursor*, int *pRes); -SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor*, int *pRes); +SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor*, int flags); SQLITE_PRIVATE int sqlite3BtreeEof(BtCursor*); -SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor*, int *pRes); +SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor*, int flags); SQLITE_PRIVATE i64 sqlite3BtreeIntegerKey(BtCursor*); -SQLITE_PRIVATE int sqlite3BtreeKey(BtCursor*, u32 offset, u32 amt, void*); +#ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC +SQLITE_PRIVATE i64 sqlite3BtreeOffset(BtCursor*); +#endif +SQLITE_PRIVATE int sqlite3BtreePayload(BtCursor*, u32 offset, u32 amt, void*); SQLITE_PRIVATE const void *sqlite3BtreePayloadFetch(BtCursor*, u32 *pAmt); SQLITE_PRIVATE u32 sqlite3BtreePayloadSize(BtCursor*); -SQLITE_PRIVATE int sqlite3BtreeData(BtCursor*, u32 offset, u32 amt, void*); SQLITE_PRIVATE char *sqlite3BtreeIntegrityCheck(Btree*, int *aRoot, int nRoot, int, int*); SQLITE_PRIVATE struct Pager *sqlite3BtreePager(Btree*); +SQLITE_PRIVATE i64 sqlite3BtreeRowCountEst(BtCursor*); #ifndef SQLITE_OMIT_INCRBLOB +SQLITE_PRIVATE int sqlite3BtreePayloadChecked(BtCursor*, u32 offset, u32 amt, void*); SQLITE_PRIVATE int sqlite3BtreePutData(BtCursor*, u32 offset, u32 amt, void*); SQLITE_PRIVATE void sqlite3BtreeIncrblobCursor(BtCursor *); #endif @@ -12328,6 +13605,7 @@ SQLITE_PRIVATE int sqlite3HeaderSizeBtree(void); #ifndef NDEBUG SQLITE_PRIVATE int sqlite3BtreeCursorIsValid(BtCursor*); #endif +SQLITE_PRIVATE int sqlite3BtreeCursorIsValidNN(BtCursor*); #ifndef SQLITE_OMIT_BTREECOUNT SQLITE_PRIVATE int sqlite3BtreeCount(BtCursor *, i64 *); @@ -12421,7 +13699,7 @@ typedef struct Vdbe Vdbe; ** The names of the following types declared in vdbeInt.h are required ** for the VdbeOp definition. */ -typedef struct Mem Mem; +typedef struct sqlite3_value Mem; typedef struct SubProgram SubProgram; /* @@ -12432,8 +13710,7 @@ typedef struct SubProgram SubProgram; struct VdbeOp { u8 opcode; /* What operation to perform */ signed char p4type; /* One of the P4_xxx constants for p4 */ - u8 notUsed1; - u8 p5; /* Fifth parameter is an unsigned character */ + u16 p5; /* Fifth parameter is an unsigned 16-bit integer */ int p1; /* First operand */ int p2; /* Second parameter (often the jump destination) */ int p3; /* The third parameter */ @@ -12455,7 +13732,7 @@ struct VdbeOp { #ifdef SQLITE_ENABLE_CURSOR_HINTS Expr *pExpr; /* Used when p4type is P4_EXPR */ #endif - int (*xAdvance)(BtCursor *, int *); + int (*xAdvance)(BtCursor *, int); } p4; #ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS char *zComment; /* Comment to improve readability */ @@ -12479,6 +13756,7 @@ struct SubProgram { int nOp; /* Elements in aOp[] */ int nMem; /* Number of memory cells required */ int nCsr; /* Number of cursors required */ + u8 *aOnce; /* Array of OP_Once flags */ void *token; /* id that may be used to recursive triggers */ SubProgram *pNext; /* Next sub-program already visited */ }; @@ -12498,25 +13776,27 @@ typedef struct VdbeOpList VdbeOpList; /* ** Allowed values of VdbeOp.p4type */ -#define P4_NOTUSED 0 /* The P4 parameter is not used */ -#define P4_DYNAMIC (-1) /* Pointer to a string obtained from sqliteMalloc() */ -#define P4_STATIC (-2) /* Pointer to a static string */ -#define P4_COLLSEQ (-4) /* P4 is a pointer to a CollSeq structure */ -#define P4_FUNCDEF (-5) /* P4 is a pointer to a FuncDef structure */ -#define P4_KEYINFO (-6) /* P4 is a pointer to a KeyInfo structure */ -#define P4_EXPR (-7) /* P4 is a pointer to an Expr tree */ -#define P4_MEM (-8) /* P4 is a pointer to a Mem* structure */ -#define P4_TRANSIENT 0 /* P4 is a pointer to a transient string */ -#define P4_VTAB (-10) /* P4 is a pointer to an sqlite3_vtab structure */ -#define P4_MPRINTF (-11) /* P4 is a string obtained from sqlite3_mprintf() */ -#define P4_REAL (-12) /* P4 is a 64-bit floating point value */ -#define P4_INT64 (-13) /* P4 is a 64-bit signed integer */ -#define P4_INT32 (-14) /* P4 is a 32-bit signed integer */ -#define P4_INTARRAY (-15) /* P4 is a vector of 32-bit integers */ -#define P4_SUBPROGRAM (-18) /* P4 is a pointer to a SubProgram structure */ -#define P4_ADVANCE (-19) /* P4 is a pointer to BtreeNext() or BtreePrev() */ -#define P4_TABLE (-20) /* P4 is a pointer to a Table structure */ -#define P4_FUNCCTX (-21) /* P4 is a pointer to an sqlite3_context object */ +#define P4_NOTUSED 0 /* The P4 parameter is not used */ +#define P4_TRANSIENT 0 /* P4 is a pointer to a transient string */ +#define P4_STATIC (-1) /* Pointer to a static string */ +#define P4_COLLSEQ (-2) /* P4 is a pointer to a CollSeq structure */ +#define P4_INT32 (-3) /* P4 is a 32-bit signed integer */ +#define P4_SUBPROGRAM (-4) /* P4 is a pointer to a SubProgram structure */ +#define P4_ADVANCE (-5) /* P4 is a pointer to BtreeNext() or BtreePrev() */ +#define P4_TABLE (-6) /* P4 is a pointer to a Table structure */ +/* Above do not own any resources. Must free those below */ +#define P4_FREE_IF_LE (-7) +#define P4_DYNAMIC (-7) /* Pointer to memory from sqliteMalloc() */ +#define P4_FUNCDEF (-8) /* P4 is a pointer to a FuncDef structure */ +#define P4_KEYINFO (-9) /* P4 is a pointer to a KeyInfo structure */ +#define P4_EXPR (-10) /* P4 is a pointer to an Expr tree */ +#define P4_MEM (-11) /* P4 is a pointer to a Mem* structure */ +#define P4_VTAB (-12) /* P4 is a pointer to an sqlite3_vtab structure */ +#define P4_REAL (-13) /* P4 is a 64-bit floating point value */ +#define P4_INT64 (-14) /* P4 is a 64-bit signed integer */ +#define P4_INTARRAY (-15) /* P4 is a vector of 32-bit integers */ +#define P4_FUNCCTX (-16) /* P4 is a pointer to an sqlite3_context object */ +#define P4_DYNBLOB (-17) /* Pointer to memory from sqliteMalloc() */ /* Error message codes for OP_Halt */ #define P5_ConstraintNotNull 1 @@ -12562,166 +13842,173 @@ typedef struct VdbeOpList VdbeOpList; #define OP_Savepoint 0 #define OP_AutoCommit 1 #define OP_Transaction 2 -#define OP_SorterNext 3 -#define OP_PrevIfOpen 4 -#define OP_NextIfOpen 5 -#define OP_Prev 6 -#define OP_Next 7 +#define OP_SorterNext 3 /* jump */ +#define OP_PrevIfOpen 4 /* jump */ +#define OP_NextIfOpen 5 /* jump */ +#define OP_Prev 6 /* jump */ +#define OP_Next 7 /* jump */ #define OP_Checkpoint 8 #define OP_JournalMode 9 #define OP_Vacuum 10 -#define OP_VFilter 11 /* synopsis: iplan=r[P3] zplan='P4' */ +#define OP_VFilter 11 /* jump, synopsis: iplan=r[P3] zplan='P4' */ #define OP_VUpdate 12 /* synopsis: data=r[P3@P2] */ -#define OP_Goto 13 -#define OP_Gosub 14 -#define OP_InitCoroutine 15 -#define OP_Yield 16 -#define OP_MustBeInt 17 -#define OP_Jump 18 +#define OP_Goto 13 /* jump */ +#define OP_Gosub 14 /* jump */ +#define OP_InitCoroutine 15 /* jump */ +#define OP_Yield 16 /* jump */ +#define OP_MustBeInt 17 /* jump */ +#define OP_Jump 18 /* jump */ #define OP_Not 19 /* same as TK_NOT, synopsis: r[P2]= !r[P1] */ -#define OP_Once 20 -#define OP_If 21 -#define OP_IfNot 22 -#define OP_SeekLT 23 /* synopsis: key=r[P3@P4] */ -#define OP_SeekLE 24 /* synopsis: key=r[P3@P4] */ -#define OP_SeekGE 25 /* synopsis: key=r[P3@P4] */ -#define OP_SeekGT 26 /* synopsis: key=r[P3@P4] */ -#define OP_Or 27 /* same as TK_OR, synopsis: r[P3]=(r[P1] || r[P2]) */ -#define OP_And 28 /* same as TK_AND, synopsis: r[P3]=(r[P1] && r[P2]) */ -#define OP_NoConflict 29 /* synopsis: key=r[P3@P4] */ -#define OP_NotFound 30 /* synopsis: key=r[P3@P4] */ -#define OP_Found 31 /* synopsis: key=r[P3@P4] */ -#define OP_SeekRowid 32 /* synopsis: intkey=r[P3] */ -#define OP_NotExists 33 /* synopsis: intkey=r[P3] */ -#define OP_IsNull 34 /* same as TK_ISNULL, synopsis: if r[P1]==NULL goto P2 */ -#define OP_NotNull 35 /* same as TK_NOTNULL, synopsis: if r[P1]!=NULL goto P2 */ -#define OP_Ne 36 /* same as TK_NE, synopsis: IF r[P3]!=r[P1] */ -#define OP_Eq 37 /* same as TK_EQ, synopsis: IF r[P3]==r[P1] */ -#define OP_Gt 38 /* same as TK_GT, synopsis: IF r[P3]>r[P1] */ -#define OP_Le 39 /* same as TK_LE, synopsis: IF r[P3]<=r[P1] */ -#define OP_Lt 40 /* same as TK_LT, synopsis: IF r[P3]=r[P1] */ -#define OP_ElseNotEq 42 /* same as TK_ESCAPE */ -#define OP_BitAnd 43 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */ -#define OP_BitOr 44 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */ -#define OP_ShiftLeft 45 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<>r[P1] */ -#define OP_Add 47 /* same as TK_PLUS, synopsis: r[P3]=r[P1]+r[P2] */ -#define OP_Subtract 48 /* same as TK_MINUS, synopsis: r[P3]=r[P2]-r[P1] */ -#define OP_Multiply 49 /* same as TK_STAR, synopsis: r[P3]=r[P1]*r[P2] */ -#define OP_Divide 50 /* same as TK_SLASH, synopsis: r[P3]=r[P2]/r[P1] */ -#define OP_Remainder 51 /* same as TK_REM, synopsis: r[P3]=r[P2]%r[P1] */ -#define OP_Concat 52 /* same as TK_CONCAT, synopsis: r[P3]=r[P2]+r[P1] */ -#define OP_Last 53 -#define OP_BitNot 54 /* same as TK_BITNOT, synopsis: r[P1]= ~r[P1] */ -#define OP_SorterSort 55 -#define OP_Sort 56 -#define OP_Rewind 57 -#define OP_IdxLE 58 /* synopsis: key=r[P3@P4] */ -#define OP_IdxGT 59 /* synopsis: key=r[P3@P4] */ -#define OP_IdxLT 60 /* synopsis: key=r[P3@P4] */ -#define OP_IdxGE 61 /* synopsis: key=r[P3@P4] */ -#define OP_RowSetRead 62 /* synopsis: r[P3]=rowset(P1) */ -#define OP_RowSetTest 63 /* synopsis: if r[P3] in rowset(P1) goto P2 */ -#define OP_Program 64 -#define OP_FkIfZero 65 /* synopsis: if fkctr[P1]==0 goto P2 */ -#define OP_IfPos 66 /* synopsis: if r[P1]>0 then r[P1]-=P3, goto P2 */ -#define OP_IfNotZero 67 /* synopsis: if r[P1]!=0 then r[P1]-=P3, goto P2 */ -#define OP_DecrJumpZero 68 /* synopsis: if (--r[P1])==0 goto P2 */ -#define OP_IncrVacuum 69 -#define OP_VNext 70 -#define OP_Init 71 /* synopsis: Start at P2 */ -#define OP_Return 72 -#define OP_EndCoroutine 73 -#define OP_HaltIfNull 74 /* synopsis: if r[P3]=null halt */ -#define OP_Halt 75 -#define OP_Integer 76 /* synopsis: r[P2]=P1 */ -#define OP_Int64 77 /* synopsis: r[P2]=P4 */ -#define OP_String 78 /* synopsis: r[P2]='P4' (len=P1) */ -#define OP_Null 79 /* synopsis: r[P2..P3]=NULL */ -#define OP_SoftNull 80 /* synopsis: r[P1]=NULL */ -#define OP_Blob 81 /* synopsis: r[P2]=P4 (len=P1) */ -#define OP_Variable 82 /* synopsis: r[P2]=parameter(P1,P4) */ -#define OP_Move 83 /* synopsis: r[P2@P3]=r[P1@P3] */ -#define OP_Copy 84 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */ -#define OP_SCopy 85 /* synopsis: r[P2]=r[P1] */ -#define OP_IntCopy 86 /* synopsis: r[P2]=r[P1] */ -#define OP_ResultRow 87 /* synopsis: output=r[P1@P2] */ -#define OP_CollSeq 88 -#define OP_Function0 89 /* synopsis: r[P3]=func(r[P2@P5]) */ -#define OP_Function 90 /* synopsis: r[P3]=func(r[P2@P5]) */ -#define OP_AddImm 91 /* synopsis: r[P1]=r[P1]+P2 */ -#define OP_RealAffinity 92 -#define OP_Cast 93 /* synopsis: affinity(r[P1]) */ -#define OP_Permutation 94 -#define OP_Compare 95 /* synopsis: r[P1@P3] <-> r[P2@P3] */ -#define OP_Column 96 /* synopsis: r[P3]=PX */ +#define OP_Once 20 /* jump */ +#define OP_If 21 /* jump */ +#define OP_IfNot 22 /* jump */ +#define OP_IfNullRow 23 /* jump, synopsis: if P1.nullRow then r[P3]=NULL, goto P2 */ +#define OP_SeekLT 24 /* jump, synopsis: key=r[P3@P4] */ +#define OP_SeekLE 25 /* jump, synopsis: key=r[P3@P4] */ +#define OP_SeekGE 26 /* jump, synopsis: key=r[P3@P4] */ +#define OP_SeekGT 27 /* jump, synopsis: key=r[P3@P4] */ +#define OP_NoConflict 28 /* jump, synopsis: key=r[P3@P4] */ +#define OP_NotFound 29 /* jump, synopsis: key=r[P3@P4] */ +#define OP_Found 30 /* jump, synopsis: key=r[P3@P4] */ +#define OP_SeekRowid 31 /* jump, synopsis: intkey=r[P3] */ +#define OP_NotExists 32 /* jump, synopsis: intkey=r[P3] */ +#define OP_Last 33 /* jump */ +#define OP_IfSmaller 34 /* jump */ +#define OP_SorterSort 35 /* jump */ +#define OP_Sort 36 /* jump */ +#define OP_Rewind 37 /* jump */ +#define OP_IdxLE 38 /* jump, synopsis: key=r[P3@P4] */ +#define OP_IdxGT 39 /* jump, synopsis: key=r[P3@P4] */ +#define OP_IdxLT 40 /* jump, synopsis: key=r[P3@P4] */ +#define OP_IdxGE 41 /* jump, synopsis: key=r[P3@P4] */ +#define OP_RowSetRead 42 /* jump, synopsis: r[P3]=rowset(P1) */ +#define OP_Or 43 /* same as TK_OR, synopsis: r[P3]=(r[P1] || r[P2]) */ +#define OP_And 44 /* same as TK_AND, synopsis: r[P3]=(r[P1] && r[P2]) */ +#define OP_RowSetTest 45 /* jump, synopsis: if r[P3] in rowset(P1) goto P2 */ +#define OP_Program 46 /* jump */ +#define OP_FkIfZero 47 /* jump, synopsis: if fkctr[P1]==0 goto P2 */ +#define OP_IfPos 48 /* jump, synopsis: if r[P1]>0 then r[P1]-=P3, goto P2 */ +#define OP_IfNotZero 49 /* jump, synopsis: if r[P1]!=0 then r[P1]--, goto P2 */ +#define OP_IsNull 50 /* jump, same as TK_ISNULL, synopsis: if r[P1]==NULL goto P2 */ +#define OP_NotNull 51 /* jump, same as TK_NOTNULL, synopsis: if r[P1]!=NULL goto P2 */ +#define OP_Ne 52 /* jump, same as TK_NE, synopsis: IF r[P3]!=r[P1] */ +#define OP_Eq 53 /* jump, same as TK_EQ, synopsis: IF r[P3]==r[P1] */ +#define OP_Gt 54 /* jump, same as TK_GT, synopsis: IF r[P3]>r[P1] */ +#define OP_Le 55 /* jump, same as TK_LE, synopsis: IF r[P3]<=r[P1] */ +#define OP_Lt 56 /* jump, same as TK_LT, synopsis: IF r[P3]=r[P1] */ +#define OP_ElseNotEq 58 /* jump, same as TK_ESCAPE */ +#define OP_DecrJumpZero 59 /* jump, synopsis: if (--r[P1])==0 goto P2 */ +#define OP_IncrVacuum 60 /* jump */ +#define OP_VNext 61 /* jump */ +#define OP_Init 62 /* jump, synopsis: Start at P2 */ +#define OP_Return 63 +#define OP_EndCoroutine 64 +#define OP_HaltIfNull 65 /* synopsis: if r[P3]=null halt */ +#define OP_Halt 66 +#define OP_Integer 67 /* synopsis: r[P2]=P1 */ +#define OP_Int64 68 /* synopsis: r[P2]=P4 */ +#define OP_String 69 /* synopsis: r[P2]='P4' (len=P1) */ +#define OP_Null 70 /* synopsis: r[P2..P3]=NULL */ +#define OP_SoftNull 71 /* synopsis: r[P1]=NULL */ +#define OP_Blob 72 /* synopsis: r[P2]=P4 (len=P1) */ +#define OP_Variable 73 /* synopsis: r[P2]=parameter(P1,P4) */ +#define OP_Move 74 /* synopsis: r[P2@P3]=r[P1@P3] */ +#define OP_Copy 75 /* synopsis: r[P2@P3+1]=r[P1@P3+1] */ +#define OP_SCopy 76 /* synopsis: r[P2]=r[P1] */ +#define OP_IntCopy 77 /* synopsis: r[P2]=r[P1] */ +#define OP_ResultRow 78 /* synopsis: output=r[P1@P2] */ +#define OP_CollSeq 79 +#define OP_AddImm 80 /* synopsis: r[P1]=r[P1]+P2 */ +#define OP_RealAffinity 81 +#define OP_Cast 82 /* synopsis: affinity(r[P1]) */ +#define OP_Permutation 83 +#define OP_BitAnd 84 /* same as TK_BITAND, synopsis: r[P3]=r[P1]&r[P2] */ +#define OP_BitOr 85 /* same as TK_BITOR, synopsis: r[P3]=r[P1]|r[P2] */ +#define OP_ShiftLeft 86 /* same as TK_LSHIFT, synopsis: r[P3]=r[P2]<>r[P1] */ +#define OP_Add 88 /* same as TK_PLUS, synopsis: r[P3]=r[P1]+r[P2] */ +#define OP_Subtract 89 /* same as TK_MINUS, synopsis: r[P3]=r[P2]-r[P1] */ +#define OP_Multiply 90 /* same as TK_STAR, synopsis: r[P3]=r[P1]*r[P2] */ +#define OP_Divide 91 /* same as TK_SLASH, synopsis: r[P3]=r[P2]/r[P1] */ +#define OP_Remainder 92 /* same as TK_REM, synopsis: r[P3]=r[P2]%r[P1] */ +#define OP_Concat 93 /* same as TK_CONCAT, synopsis: r[P3]=r[P2]+r[P1] */ +#define OP_Compare 94 /* synopsis: r[P1@P3] <-> r[P2@P3] */ +#define OP_BitNot 95 /* same as TK_BITNOT, synopsis: r[P1]= ~r[P1] */ +#define OP_Offset 96 /* synopsis: r[P3] = sqlite_offset(P1) */ #define OP_String8 97 /* same as TK_STRING, synopsis: r[P2]='P4' */ -#define OP_Affinity 98 /* synopsis: affinity(r[P1@P2]) */ -#define OP_MakeRecord 99 /* synopsis: r[P3]=mkrec(r[P1@P2]) */ -#define OP_Count 100 /* synopsis: r[P2]=count() */ -#define OP_ReadCookie 101 -#define OP_SetCookie 102 -#define OP_ReopenIdx 103 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenRead 104 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenWrite 105 /* synopsis: root=P2 iDb=P3 */ -#define OP_OpenAutoindex 106 /* synopsis: nColumn=P2 */ -#define OP_OpenEphemeral 107 /* synopsis: nColumn=P2 */ -#define OP_SorterOpen 108 -#define OP_SequenceTest 109 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */ -#define OP_OpenPseudo 110 /* synopsis: P3 columns in r[P2] */ -#define OP_Close 111 -#define OP_ColumnsUsed 112 -#define OP_Sequence 113 /* synopsis: r[P2]=cursor[P1].ctr++ */ -#define OP_NewRowid 114 /* synopsis: r[P2]=rowid */ -#define OP_Insert 115 /* synopsis: intkey=r[P3] data=r[P2] */ -#define OP_InsertInt 116 /* synopsis: intkey=P3 data=r[P2] */ -#define OP_Delete 117 -#define OP_ResetCount 118 -#define OP_SorterCompare 119 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */ -#define OP_SorterData 120 /* synopsis: r[P2]=data */ -#define OP_RowKey 121 /* synopsis: r[P2]=key */ -#define OP_RowData 122 /* synopsis: r[P2]=data */ -#define OP_Rowid 123 /* synopsis: r[P2]=rowid */ -#define OP_NullRow 124 -#define OP_SorterInsert 125 -#define OP_IdxInsert 126 /* synopsis: key=r[P2] */ -#define OP_IdxDelete 127 /* synopsis: key=r[P2@P3] */ -#define OP_Seek 128 /* synopsis: Move P3 to P1.rowid */ -#define OP_IdxRowid 129 /* synopsis: r[P2]=rowid */ -#define OP_Destroy 130 -#define OP_Clear 131 +#define OP_Column 98 /* synopsis: r[P3]=PX */ +#define OP_Affinity 99 /* synopsis: affinity(r[P1@P2]) */ +#define OP_MakeRecord 100 /* synopsis: r[P3]=mkrec(r[P1@P2]) */ +#define OP_Count 101 /* synopsis: r[P2]=count() */ +#define OP_ReadCookie 102 +#define OP_SetCookie 103 +#define OP_ReopenIdx 104 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenRead 105 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenWrite 106 /* synopsis: root=P2 iDb=P3 */ +#define OP_OpenDup 107 +#define OP_OpenAutoindex 108 /* synopsis: nColumn=P2 */ +#define OP_OpenEphemeral 109 /* synopsis: nColumn=P2 */ +#define OP_SorterOpen 110 +#define OP_SequenceTest 111 /* synopsis: if( cursor[P1].ctr++ ) pc = P2 */ +#define OP_OpenPseudo 112 /* synopsis: P3 columns in r[P2] */ +#define OP_Close 113 +#define OP_ColumnsUsed 114 +#define OP_Sequence 115 /* synopsis: r[P2]=cursor[P1].ctr++ */ +#define OP_NewRowid 116 /* synopsis: r[P2]=rowid */ +#define OP_Insert 117 /* synopsis: intkey=r[P3] data=r[P2] */ +#define OP_InsertInt 118 /* synopsis: intkey=P3 data=r[P2] */ +#define OP_Delete 119 +#define OP_ResetCount 120 +#define OP_SorterCompare 121 /* synopsis: if key(P1)!=trim(r[P3],P4) goto P2 */ +#define OP_SorterData 122 /* synopsis: r[P2]=data */ +#define OP_RowData 123 /* synopsis: r[P2]=data */ +#define OP_Rowid 124 /* synopsis: r[P2]=rowid */ +#define OP_NullRow 125 +#define OP_SeekEnd 126 +#define OP_SorterInsert 127 /* synopsis: key=r[P2] */ +#define OP_IdxInsert 128 /* synopsis: key=r[P2] */ +#define OP_IdxDelete 129 /* synopsis: key=r[P2@P3] */ +#define OP_DeferredSeek 130 /* synopsis: Move P3 to P1.rowid if needed */ +#define OP_IdxRowid 131 /* synopsis: r[P2]=rowid */ #define OP_Real 132 /* same as TK_FLOAT, synopsis: r[P2]=P4 */ -#define OP_ResetSorter 133 -#define OP_CreateIndex 134 /* synopsis: r[P2]=root iDb=P1 */ -#define OP_CreateTable 135 /* synopsis: r[P2]=root iDb=P1 */ -#define OP_ParseSchema 136 -#define OP_LoadAnalysis 137 -#define OP_DropTable 138 -#define OP_DropIndex 139 -#define OP_DropTrigger 140 -#define OP_IntegrityCk 141 -#define OP_RowSetAdd 142 /* synopsis: rowset(P1)=r[P2] */ -#define OP_Param 143 -#define OP_FkCounter 144 /* synopsis: fkctr[P1]+=P2 */ -#define OP_MemMax 145 /* synopsis: r[P1]=max(r[P1],r[P2]) */ -#define OP_OffsetLimit 146 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */ -#define OP_AggStep0 147 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggStep 148 /* synopsis: accum=r[P3] step(r[P2@P5]) */ -#define OP_AggFinal 149 /* synopsis: accum=r[P1] N=P2 */ -#define OP_Expire 150 -#define OP_TableLock 151 /* synopsis: iDb=P1 root=P2 write=P3 */ -#define OP_VBegin 152 -#define OP_VCreate 153 -#define OP_VDestroy 154 -#define OP_VOpen 155 -#define OP_VColumn 156 /* synopsis: r[P3]=vcolumn(P2) */ -#define OP_VRename 157 -#define OP_Pagecount 158 -#define OP_MaxPgcnt 159 -#define OP_CursorHint 160 -#define OP_Noop 161 -#define OP_Explain 162 +#define OP_Destroy 133 +#define OP_Clear 134 +#define OP_ResetSorter 135 +#define OP_CreateBtree 136 /* synopsis: r[P2]=root iDb=P1 flags=P3 */ +#define OP_SqlExec 137 +#define OP_ParseSchema 138 +#define OP_LoadAnalysis 139 +#define OP_DropTable 140 +#define OP_DropIndex 141 +#define OP_DropTrigger 142 +#define OP_IntegrityCk 143 +#define OP_RowSetAdd 144 /* synopsis: rowset(P1)=r[P2] */ +#define OP_Param 145 +#define OP_FkCounter 146 /* synopsis: fkctr[P1]+=P2 */ +#define OP_MemMax 147 /* synopsis: r[P1]=max(r[P1],r[P2]) */ +#define OP_OffsetLimit 148 /* synopsis: if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1) */ +#define OP_AggStep0 149 /* synopsis: accum=r[P3] step(r[P2@P5]) */ +#define OP_AggStep 150 /* synopsis: accum=r[P3] step(r[P2@P5]) */ +#define OP_AggFinal 151 /* synopsis: accum=r[P1] N=P2 */ +#define OP_Expire 152 +#define OP_TableLock 153 /* synopsis: iDb=P1 root=P2 write=P3 */ +#define OP_VBegin 154 +#define OP_VCreate 155 +#define OP_VDestroy 156 +#define OP_VOpen 157 +#define OP_VColumn 158 /* synopsis: r[P3]=vcolumn(P2) */ +#define OP_VRename 159 +#define OP_Pagecount 160 +#define OP_MaxPgcnt 161 +#define OP_PureFunc0 162 +#define OP_Function0 163 /* synopsis: r[P3]=func(r[P2@P5]) */ +#define OP_PureFunc 164 +#define OP_Function 165 /* synopsis: r[P3]=func(r[P2@P5]) */ +#define OP_Trace 166 +#define OP_CursorHint 167 +#define OP_Noop 168 +#define OP_Explain 169 /* Properties such as "out2" or "jump" that are specified in ** comments following the "case" for each opcode in the vdbe.c @@ -12736,25 +14023,26 @@ typedef struct VdbeOpList VdbeOpList; #define OPFLG_INITIALIZER {\ /* 0 */ 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01,\ /* 8 */ 0x00, 0x10, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01,\ -/* 16 */ 0x03, 0x03, 0x01, 0x12, 0x01, 0x03, 0x03, 0x09,\ -/* 24 */ 0x09, 0x09, 0x09, 0x26, 0x26, 0x09, 0x09, 0x09,\ -/* 32 */ 0x09, 0x09, 0x03, 0x03, 0x0b, 0x0b, 0x0b, 0x0b,\ -/* 40 */ 0x0b, 0x0b, 0x01, 0x26, 0x26, 0x26, 0x26, 0x26,\ -/* 48 */ 0x26, 0x26, 0x26, 0x26, 0x26, 0x01, 0x12, 0x01,\ -/* 56 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x23, 0x0b,\ -/* 64 */ 0x01, 0x01, 0x03, 0x03, 0x03, 0x01, 0x01, 0x01,\ -/* 72 */ 0x02, 0x02, 0x08, 0x00, 0x10, 0x10, 0x10, 0x10,\ -/* 80 */ 0x00, 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00,\ -/* 88 */ 0x00, 0x00, 0x00, 0x02, 0x02, 0x02, 0x00, 0x00,\ -/* 96 */ 0x00, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00,\ +/* 16 */ 0x03, 0x03, 0x01, 0x12, 0x01, 0x03, 0x03, 0x01,\ +/* 24 */ 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09, 0x09,\ +/* 32 */ 0x09, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,\ +/* 40 */ 0x01, 0x01, 0x23, 0x26, 0x26, 0x0b, 0x01, 0x01,\ +/* 48 */ 0x03, 0x03, 0x03, 0x03, 0x0b, 0x0b, 0x0b, 0x0b,\ +/* 56 */ 0x0b, 0x0b, 0x01, 0x03, 0x01, 0x01, 0x01, 0x02,\ +/* 64 */ 0x02, 0x08, 0x00, 0x10, 0x10, 0x10, 0x10, 0x00,\ +/* 72 */ 0x10, 0x10, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00,\ +/* 80 */ 0x02, 0x02, 0x02, 0x00, 0x26, 0x26, 0x26, 0x26,\ +/* 88 */ 0x26, 0x26, 0x26, 0x26, 0x26, 0x26, 0x00, 0x12,\ +/* 96 */ 0x20, 0x10, 0x00, 0x00, 0x00, 0x10, 0x10, 0x00,\ /* 104 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 112 */ 0x00, 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 120 */ 0x00, 0x00, 0x00, 0x10, 0x00, 0x04, 0x04, 0x00,\ -/* 128 */ 0x00, 0x10, 0x10, 0x00, 0x10, 0x00, 0x10, 0x10,\ -/* 136 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x10,\ -/* 144 */ 0x00, 0x04, 0x1a, 0x00, 0x00, 0x00, 0x00, 0x00,\ -/* 152 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x10,\ -/* 160 */ 0x00, 0x00, 0x00,} +/* 112 */ 0x00, 0x00, 0x00, 0x10, 0x10, 0x00, 0x00, 0x00,\ +/* 120 */ 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x04,\ +/* 128 */ 0x04, 0x00, 0x00, 0x10, 0x10, 0x10, 0x00, 0x00,\ +/* 136 */ 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 144 */ 0x06, 0x10, 0x00, 0x04, 0x1a, 0x00, 0x00, 0x00,\ +/* 152 */ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 160 */ 0x10, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,\ +/* 168 */ 0x00, 0x00,} /* The sqlite3P2Values() routine is able to run faster if it knows ** the value of the largest JUMP opcode. The smaller the maximum @@ -12762,11 +14050,17 @@ typedef struct VdbeOpList VdbeOpList; ** generated this include file strives to group all JUMP opcodes ** together near the beginning of the list. */ -#define SQLITE_MX_JUMP_OPCODE 71 /* Maximum JUMP opcode */ +#define SQLITE_MX_JUMP_OPCODE 62 /* Maximum JUMP opcode */ /************** End of opcodes.h *********************************************/ /************** Continuing where we left off in vdbe.h ***********************/ +/* +** Additional non-public SQLITE_PREPARE_* flags +*/ +#define SQLITE_PREPARE_SAVESQL 0x80 /* Preserve SQL text */ +#define SQLITE_PREPARE_MASK 0x0f /* Mask of public flags */ + /* ** Prototypes for the VDBE interface. See comments on the implementation ** for a description of what each of these routines does. @@ -12785,8 +14079,10 @@ SQLITE_PRIVATE int sqlite3VdbeAddOp4Int(Vdbe*,int,int,int,int,int); SQLITE_PRIVATE void sqlite3VdbeEndCoroutine(Vdbe*,int); #if defined(SQLITE_DEBUG) && !defined(SQLITE_TEST_REALLOC_STRESS) SQLITE_PRIVATE void sqlite3VdbeVerifyNoMallocRequired(Vdbe *p, int N); +SQLITE_PRIVATE void sqlite3VdbeVerifyNoResultRow(Vdbe *p); #else # define sqlite3VdbeVerifyNoMallocRequired(A,B) +# define sqlite3VdbeVerifyNoResultRow(A) #endif SQLITE_PRIVATE VdbeOp *sqlite3VdbeAddOpList(Vdbe*, int nOp, VdbeOpList const *aOp, int iLineno); SQLITE_PRIVATE void sqlite3VdbeAddParseSchemaOp(Vdbe*,int,char*); @@ -12794,11 +14090,12 @@ SQLITE_PRIVATE void sqlite3VdbeChangeOpcode(Vdbe*, u32 addr, u8); SQLITE_PRIVATE void sqlite3VdbeChangeP1(Vdbe*, u32 addr, int P1); SQLITE_PRIVATE void sqlite3VdbeChangeP2(Vdbe*, u32 addr, int P2); SQLITE_PRIVATE void sqlite3VdbeChangeP3(Vdbe*, u32 addr, int P3); -SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe*, u8 P5); +SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe*, u16 P5); SQLITE_PRIVATE void sqlite3VdbeJumpHere(Vdbe*, int addr); SQLITE_PRIVATE int sqlite3VdbeChangeToNoop(Vdbe*, int addr); SQLITE_PRIVATE int sqlite3VdbeDeletePriorOpcode(Vdbe*, u8 op); SQLITE_PRIVATE void sqlite3VdbeChangeP4(Vdbe*, int addr, const char *zP4, int N); +SQLITE_PRIVATE void sqlite3VdbeAppendP4(Vdbe*, void *pP4, int p4type); SQLITE_PRIVATE void sqlite3VdbeSetP4KeyInfo(Parse*, Index*); SQLITE_PRIVATE void sqlite3VdbeUsesBtree(Vdbe*, int); SQLITE_PRIVATE VdbeOp *sqlite3VdbeGetOp(Vdbe*, int); @@ -12821,7 +14118,8 @@ SQLITE_PRIVATE void sqlite3VdbeSetNumCols(Vdbe*,int); SQLITE_PRIVATE int sqlite3VdbeSetColName(Vdbe*, int, int, const char *, void(*)(void*)); SQLITE_PRIVATE void sqlite3VdbeCountChanges(Vdbe*); SQLITE_PRIVATE sqlite3 *sqlite3VdbeDb(Vdbe*); -SQLITE_PRIVATE void sqlite3VdbeSetSql(Vdbe*, const char *z, int n, int); +SQLITE_PRIVATE u8 sqlite3VdbePrepareFlags(Vdbe*); +SQLITE_PRIVATE void sqlite3VdbeSetSql(Vdbe*, const char *z, int n, u8); SQLITE_PRIVATE void sqlite3VdbeSwap(Vdbe*,Vdbe*); SQLITE_PRIVATE VdbeOp *sqlite3VdbeTakeOpArray(Vdbe*, int*, int*); SQLITE_PRIVATE sqlite3_value *sqlite3VdbeGetBoundValue(Vdbe*, int, u8); @@ -12834,7 +14132,7 @@ SQLITE_PRIVATE int sqlite3MemCompare(const Mem*, const Mem*, const CollSeq*); SQLITE_PRIVATE void sqlite3VdbeRecordUnpack(KeyInfo*,int,const void*,UnpackedRecord*); SQLITE_PRIVATE int sqlite3VdbeRecordCompare(int,const void*,UnpackedRecord*); SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip(int, const void *, UnpackedRecord *, int); -SQLITE_PRIVATE UnpackedRecord *sqlite3VdbeAllocUnpackedRecord(KeyInfo *, char *, int, char **); +SQLITE_PRIVATE UnpackedRecord *sqlite3VdbeAllocUnpackedRecord(KeyInfo*); typedef int (*RecordCompare)(int,const void*,UnpackedRecord*); SQLITE_PRIVATE RecordCompare sqlite3VdbeFindCompare(UnpackedRecord*); @@ -12843,6 +14141,8 @@ SQLITE_PRIVATE RecordCompare sqlite3VdbeFindCompare(UnpackedRecord*); SQLITE_PRIVATE void sqlite3VdbeLinkSubProgram(Vdbe *, SubProgram *); #endif +SQLITE_PRIVATE int sqlite3NotPureFunc(sqlite3_context*); + /* Use SQLITE_ENABLE_COMMENTS to enable generation of extra comments on ** each VDBE opcode. ** @@ -13039,7 +14339,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen( int, void(*)(DbPage*) ); -SQLITE_PRIVATE int sqlite3PagerClose(Pager *pPager); +SQLITE_PRIVATE int sqlite3PagerClose(Pager *pPager, sqlite3*); SQLITE_PRIVATE int sqlite3PagerReadFileheader(Pager*, int, unsigned char*); /* Functions used to configure a Pager object. */ @@ -13068,6 +14368,7 @@ SQLITE_PRIVATE DbPage *sqlite3PagerLookup(Pager *pPager, Pgno pgno); SQLITE_PRIVATE void sqlite3PagerRef(DbPage*); SQLITE_PRIVATE void sqlite3PagerUnref(DbPage*); SQLITE_PRIVATE void sqlite3PagerUnrefNotNull(DbPage*); +SQLITE_PRIVATE void sqlite3PagerUnrefPageOne(DbPage*); /* Operations on page references. */ SQLITE_PRIVATE int sqlite3PagerWrite(DbPage*); @@ -13090,18 +14391,21 @@ SQLITE_PRIVATE int sqlite3PagerSavepoint(Pager *pPager, int op, int iSavepoint); SQLITE_PRIVATE int sqlite3PagerSharedLock(Pager *pPager); #ifndef SQLITE_OMIT_WAL -SQLITE_PRIVATE int sqlite3PagerCheckpoint(Pager *pPager, int, int*, int*); +SQLITE_PRIVATE int sqlite3PagerCheckpoint(Pager *pPager, sqlite3*, int, int*, int*); SQLITE_PRIVATE int sqlite3PagerWalSupported(Pager *pPager); SQLITE_PRIVATE int sqlite3PagerWalCallback(Pager *pPager); SQLITE_PRIVATE int sqlite3PagerOpenWal(Pager *pPager, int *pisOpen); -SQLITE_PRIVATE int sqlite3PagerCloseWal(Pager *pPager); -SQLITE_PRIVATE int sqlite3PagerUseWal(Pager *pPager); +SQLITE_PRIVATE int sqlite3PagerCloseWal(Pager *pPager, sqlite3*); +# ifdef SQLITE_DIRECT_OVERFLOW_READ +SQLITE_PRIVATE int sqlite3PagerUseWal(Pager *pPager, Pgno); +# endif # ifdef SQLITE_ENABLE_SNAPSHOT SQLITE_PRIVATE int sqlite3PagerSnapshotGet(Pager *pPager, sqlite3_snapshot **ppSnapshot); SQLITE_PRIVATE int sqlite3PagerSnapshotOpen(Pager *pPager, sqlite3_snapshot *pSnapshot); +SQLITE_PRIVATE int sqlite3PagerSnapshotRecover(Pager *pPager); # endif #else -# define sqlite3PagerUseWal(x) 0 +# define sqlite3PagerUseWal(x,y) 0 #endif #ifdef SQLITE_ENABLE_ZIPVFS @@ -13184,6 +14488,7 @@ struct PgHdr { sqlite3_pcache_page *pPage; /* Pcache object page handle */ void *pData; /* Page data */ void *pExtra; /* Extra content */ + PCache *pCache; /* PRIVATE: Cache that owns this page */ PgHdr *pDirty; /* Transient list of dirty sorted by pgno */ Pager *pPager; /* The pager this page is part of */ Pgno pgno; /* Page number for this page */ @@ -13193,14 +14498,15 @@ struct PgHdr { u16 flags; /* PGHDR flags defined below */ /********************************************************************** - ** Elements above are public. All that follows is private to pcache.c - ** and should not be accessed by other modules. + ** Elements above, except pCache, are public. All that follow are + ** private to pcache.c and should not be accessed by other modules. + ** pCache is grouped with the public elements for efficiency. */ i16 nRef; /* Number of users of this page */ - PCache *pCache; /* Cache that owns this page */ - PgHdr *pDirtyNext; /* Next element in list of dirty pages */ PgHdr *pDirtyPrev; /* Previous element in list of dirty pages */ + /* NB: pDirtyNext and pDirtyPrev are undefined if the + ** PgHdr object is not dirty */ }; /* Bit values for PgHdr.flags */ @@ -13582,10 +14888,12 @@ SQLITE_PRIVATE void sqlite3OsFileControlHint(sqlite3_file*,int,void*); #define SQLITE_FCNTL_DB_UNCHANGED 0xca093fa0 SQLITE_PRIVATE int sqlite3OsSectorSize(sqlite3_file *id); SQLITE_PRIVATE int sqlite3OsDeviceCharacteristics(sqlite3_file *id); +#ifndef SQLITE_OMIT_WAL SQLITE_PRIVATE int sqlite3OsShmMap(sqlite3_file *,int,int,int,void volatile **); SQLITE_PRIVATE int sqlite3OsShmLock(sqlite3_file *id, int, int, int); SQLITE_PRIVATE void sqlite3OsShmBarrier(sqlite3_file *id); SQLITE_PRIVATE int sqlite3OsShmUnmap(sqlite3_file *id, int); +#endif /* SQLITE_OMIT_WAL */ SQLITE_PRIVATE int sqlite3OsFetch(sqlite3_file *id, i64, int, void **); SQLITE_PRIVATE int sqlite3OsUnfetch(sqlite3_file *, i64, void *); @@ -13720,7 +15028,7 @@ SQLITE_PRIVATE void sqlite3OsCloseFree(sqlite3_file *); ** and the one-based values are used internally. */ #ifndef SQLITE_DEFAULT_SYNCHRONOUS -# define SQLITE_DEFAULT_SYNCHRONOUS (PAGER_SYNCHRONOUS_FULL-1) +# define SQLITE_DEFAULT_SYNCHRONOUS 2 #endif #ifndef SQLITE_DEFAULT_WAL_SYNCHRONOUS # define SQLITE_DEFAULT_WAL_SYNCHRONOUS SQLITE_DEFAULT_SYNCHRONOUS @@ -13794,6 +15102,7 @@ struct Schema { #define DB_SchemaLoaded 0x0001 /* The schema has been loaded */ #define DB_UnresetViews 0x0002 /* Some views have defined column names */ #define DB_Empty 0x0004 /* The file is empty (length 0 bytes) */ +#define DB_ResetWanted 0x0008 /* Reset the schema when nSchemaLock==0 */ /* ** The number of different kinds of things that can be limited @@ -13825,9 +15134,9 @@ struct Lookaside { u32 bDisable; /* Only operate the lookaside when zero */ u16 sz; /* Size of each buffer in bytes */ u8 bMalloced; /* True if pStart obtained from sqlite3_malloc() */ - int nOut; /* Number of buffers currently checked out */ - int mxOut; /* Highwater mark for nOut */ - int anStat[3]; /* 0: hits. 1: size misses. 2: full misses */ + u32 nSlot; /* Number of lookaside slots allocated */ + u32 anStat[3]; /* 0: hits. 1: size misses. 2: full misses */ + LookasideSlot *pInit; /* List of buffers not previously used */ LookasideSlot *pFree; /* List of available buffers */ void *pStart; /* First byte of available memory space */ void *pEnd; /* First byte past end of available space */ @@ -13906,9 +15215,11 @@ struct sqlite3 { sqlite3_mutex *mutex; /* Connection mutex */ Db *aDb; /* All backends */ int nDb; /* Number of backends currently in use */ - int flags; /* Miscellaneous flags. See below */ + u32 mDbFlags; /* flags recording internal state */ + u32 flags; /* flags settable by pragmas. See below */ i64 lastRowid; /* ROWID of most recent insert (see above) */ i64 szMmap; /* Default mmap_size setting */ + u32 nSchemaLock; /* Do not reset the schema when non-zero */ unsigned int openFlags; /* Flags passed to sqlite3_vfs.xOpen() */ int errCode; /* Most recent error code (SQLITE_*) */ int errMask; /* & result codes with this before returning */ @@ -13925,6 +15236,8 @@ struct sqlite3 { u8 vtabOnConflict; /* Value to return for s3_vtab_on_conflict() */ u8 isTransactionSavepoint; /* True if the outermost savepoint is a TS */ u8 mTrace; /* zero or more SQLITE_TRACE flags */ + u8 skipBtreeMutex; /* True if no shared-cache backends */ + u8 nSqlExec; /* Number of pending OP_SqlExec opcodes */ int nextPagesize; /* Pagesize after VACUUM if >0 */ u32 magic; /* Magic number for detect library misuse */ int nChange; /* Value returned by sqlite3_changes() */ @@ -13989,7 +15302,7 @@ struct sqlite3 { Hash aModule; /* populated by sqlite3_create_module() */ VtabCtx *pVtabCtx; /* Context for active vtab connect/create */ VTable **aVTrans; /* Virtual tables with open transactions */ - VTable *pDisconnect; /* Disconnect these in next sqlite3_prepare() */ + VTable *pDisconnect; /* Disconnect these in next sqlite3_prepare() */ #endif Hash aFunc; /* Hash table of connection functions */ Hash aCollSeq; /* All collating sequences */ @@ -14038,8 +15351,8 @@ struct sqlite3 { ** SQLITE_CkptFullFSync == PAGER_CKPT_FULLFSYNC ** SQLITE_CacheSpill == PAGER_CACHE_SPILL */ -#define SQLITE_VdbeTrace 0x00000001 /* True to trace VDBE execution */ -#define SQLITE_InternChanges 0x00000002 /* Uncommitted Hash table changes */ +#define SQLITE_WriteSchema 0x00000001 /* OK to update SQLITE_MASTER */ +#define SQLITE_LegacyFileFmt 0x00000002 /* Create new databases in format 1 */ #define SQLITE_FullColNames 0x00000004 /* Show full column names on SELECT */ #define SQLITE_FullFSync 0x00000008 /* Use full fsync on the backend */ #define SQLITE_CkptFullFSync 0x00000010 /* Use full fsync for checkpoint */ @@ -14050,29 +15363,38 @@ struct sqlite3 { /* the count using a callback. */ #define SQLITE_NullCallback 0x00000100 /* Invoke the callback once if the */ /* result set is empty */ -#define SQLITE_SqlTrace 0x00000200 /* Debug print SQL as it executes */ -#define SQLITE_VdbeListing 0x00000400 /* Debug listings of VDBE programs */ -#define SQLITE_WriteSchema 0x00000800 /* OK to update SQLITE_MASTER */ -#define SQLITE_VdbeAddopTrace 0x00001000 /* Trace sqlite3VdbeAddOp() calls */ -#define SQLITE_IgnoreChecks 0x00002000 /* Do not enforce check constraints */ -#define SQLITE_ReadUncommitted 0x0004000 /* For shared-cache mode */ -#define SQLITE_LegacyFileFmt 0x00008000 /* Create new databases in format 1 */ -#define SQLITE_RecoveryMode 0x00010000 /* Ignore schema errors */ -#define SQLITE_ReverseOrder 0x00020000 /* Reverse unordered SELECTs */ -#define SQLITE_RecTriggers 0x00040000 /* Enable recursive triggers */ -#define SQLITE_ForeignKeys 0x00080000 /* Enforce foreign key constraints */ -#define SQLITE_AutoIndex 0x00100000 /* Enable automatic indexes */ -#define SQLITE_PreferBuiltin 0x00200000 /* Preference to built-in funcs */ -#define SQLITE_LoadExtension 0x00400000 /* Enable load_extension */ -#define SQLITE_LoadExtFunc 0x00800000 /* Enable load_extension() SQL func */ -#define SQLITE_EnableTrigger 0x01000000 /* True to enable triggers */ -#define SQLITE_DeferFKs 0x02000000 /* Defer all FK constraints */ -#define SQLITE_QueryOnly 0x04000000 /* Disable database changes */ -#define SQLITE_VdbeEQP 0x08000000 /* Debug EXPLAIN QUERY PLAN */ -#define SQLITE_Vacuum 0x10000000 /* Currently in a VACUUM */ -#define SQLITE_CellSizeCk 0x20000000 /* Check btree cell sizes on load */ -#define SQLITE_Fts3Tokenizer 0x40000000 /* Enable fts3_tokenizer(2) */ +#define SQLITE_IgnoreChecks 0x00000200 /* Do not enforce check constraints */ +#define SQLITE_ReadUncommit 0x00000400 /* READ UNCOMMITTED in shared-cache */ +#define SQLITE_NoCkptOnClose 0x00000800 /* No checkpoint on close()/DETACH */ +#define SQLITE_ReverseOrder 0x00001000 /* Reverse unordered SELECTs */ +#define SQLITE_RecTriggers 0x00002000 /* Enable recursive triggers */ +#define SQLITE_ForeignKeys 0x00004000 /* Enforce foreign key constraints */ +#define SQLITE_AutoIndex 0x00008000 /* Enable automatic indexes */ +#define SQLITE_LoadExtension 0x00010000 /* Enable load_extension */ +#define SQLITE_LoadExtFunc 0x00020000 /* Enable load_extension() SQL func */ +#define SQLITE_EnableTrigger 0x00040000 /* True to enable triggers */ +#define SQLITE_DeferFKs 0x00080000 /* Defer all FK constraints */ +#define SQLITE_QueryOnly 0x00100000 /* Disable database changes */ +#define SQLITE_CellSizeCk 0x00200000 /* Check btree cell sizes on load */ +#define SQLITE_Fts3Tokenizer 0x00400000 /* Enable fts3_tokenizer(2) */ +#define SQLITE_EnableQPSG 0x00800000 /* Query Planner Stability Guarantee*/ +#define SQLITE_TriggerEQP 0x01000000 /* Show trigger EXPLAIN QUERY PLAN */ + +/* Flags used only if debugging */ +#ifdef SQLITE_DEBUG +#define SQLITE_SqlTrace 0x08000000 /* Debug print SQL as it executes */ +#define SQLITE_VdbeListing 0x10000000 /* Debug listings of VDBE programs */ +#define SQLITE_VdbeTrace 0x20000000 /* True to trace VDBE execution */ +#define SQLITE_VdbeAddopTrace 0x40000000 /* Trace sqlite3VdbeAddOp() calls */ +#define SQLITE_VdbeEQP 0x80000000 /* Debug EXPLAIN QUERY PLAN */ +#endif +/* +** Allowed values for sqlite3.mDbFlags +*/ +#define DBFLAG_SchemaChange 0x0001 /* Uncommitted Hash table changes */ +#define DBFLAG_PreferBuiltin 0x0002 /* Preference to built-in funcs */ +#define DBFLAG_Vacuum 0x0004 /* Currently in a VACUUM */ /* ** Bits of the sqlite3.dbOptFlags field that are used by the @@ -14083,27 +15405,22 @@ struct sqlite3 { #define SQLITE_ColumnCache 0x0002 /* Column cache */ #define SQLITE_GroupByOrder 0x0004 /* GROUPBY cover of ORDERBY */ #define SQLITE_FactorOutConst 0x0008 /* Constant factoring */ -/* not used 0x0010 // Was: SQLITE_IdxRealAsInt */ -#define SQLITE_DistinctOpt 0x0020 /* DISTINCT using indexes */ -#define SQLITE_CoverIdxScan 0x0040 /* Covering index scans */ -#define SQLITE_OrderByIdxJoin 0x0080 /* ORDER BY of joins via index */ -#define SQLITE_SubqCoroutine 0x0100 /* Evaluate subqueries as coroutines */ -#define SQLITE_Transitive 0x0200 /* Transitive constraints */ -#define SQLITE_OmitNoopJoin 0x0400 /* Omit unused tables in joins */ +#define SQLITE_DistinctOpt 0x0010 /* DISTINCT using indexes */ +#define SQLITE_CoverIdxScan 0x0020 /* Covering index scans */ +#define SQLITE_OrderByIdxJoin 0x0040 /* ORDER BY of joins via index */ +#define SQLITE_Transitive 0x0080 /* Transitive constraints */ +#define SQLITE_OmitNoopJoin 0x0100 /* Omit unused tables in joins */ +#define SQLITE_CountOfView 0x0200 /* The count-of-view optimization */ +#define SQLITE_CursorHints 0x0400 /* Add OP_CursorHint opcodes */ #define SQLITE_Stat34 0x0800 /* Use STAT3 or STAT4 data */ -#define SQLITE_CursorHints 0x2000 /* Add OP_CursorHint opcodes */ + /* TH3 expects the Stat34 ^^^^^^ value to be 0x0800. Don't change it */ #define SQLITE_AllOpts 0xffff /* All optimizations */ /* ** Macros for testing whether or not optimizations are enabled or disabled. */ -#ifndef SQLITE_OMIT_BUILTIN_TEST #define OptimizationDisabled(db, mask) (((db)->dbOptFlags&(mask))!=0) #define OptimizationEnabled(db, mask) (((db)->dbOptFlags&(mask))==0) -#else -#define OptimizationDisabled(db, mask) 0 -#define OptimizationEnabled(db, mask) 1 -#endif /* ** Return true if it OK to factor constant expressions into the initialization @@ -14194,6 +15511,8 @@ struct FuncDestructor { #define SQLITE_FUNC_MINMAX 0x1000 /* True for min() and max() aggregates */ #define SQLITE_FUNC_SLOCHNG 0x2000 /* "Slow Change". Value constant during a ** single query - might change over time */ +#define SQLITE_FUNC_AFFINITY 0x4000 /* Built-in affinity() function */ +#define SQLITE_FUNC_OFFSET 0x8000 /* Built-in sqlite_offset() function */ /* ** The following three macros, FUNCTION(), LIKEFUNC() and AGGREGATE() are @@ -14213,7 +15532,14 @@ struct FuncDestructor { ** Like FUNCTION except it omits the SQLITE_FUNC_CONSTANT flag and ** adds the SQLITE_FUNC_SLOCHNG flag. Used for date & time functions ** and functions like sqlite_version() that can change, but not during -** a single query. +** a single query. The iArg is ignored. The user-data is always set +** to a NULL pointer. The bNC parameter is not used. +** +** PURE_DATE(zName, nArg, iArg, bNC, xFunc) +** Used for "pure" date/time functions, this macro is like DFUNCTION +** except that it does set the SQLITE_FUNC_CONSTANT flags. iArg is +** ignored and the user-data for these functions is set to an +** arbitrary non-NULL pointer. The bNC parameter is not used. ** ** AGGREGATE(zName, nArg, iArg, bNC, xStep, xFinal) ** Used to create an aggregate function definition implemented by @@ -14236,8 +15562,11 @@ struct FuncDestructor { {nArg, SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, {0} } #define DFUNCTION(zName, nArg, iArg, bNC, xFunc) \ - {nArg, SQLITE_FUNC_SLOCHNG|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL), \ - SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, {0} } + {nArg, SQLITE_FUNC_SLOCHNG|SQLITE_UTF8, \ + 0, 0, xFunc, 0, #zName, {0} } +#define PURE_DATE(zName, nArg, iArg, bNC, xFunc) \ + {nArg, SQLITE_FUNC_SLOCHNG|SQLITE_UTF8|SQLITE_FUNC_CONSTANT, \ + (void*)&sqlite3Config, 0, xFunc, 0, #zName, {0} } #define FUNCTION2(zName, nArg, iArg, bNC, xFunc, extraFlags) \ {nArg,SQLITE_FUNC_CONSTANT|SQLITE_UTF8|(bNC*SQLITE_FUNC_NEEDCOLL)|extraFlags,\ SQLITE_INT_TO_PTR(iArg), 0, xFunc, 0, #zName, {0} } @@ -14442,15 +15771,15 @@ struct Table { ExprList *pCheck; /* All CHECK constraints */ /* ... also used as column name list in a VIEW */ int tnum; /* Root BTree page for this table */ + u32 nTabRef; /* Number of pointers to this Table */ + u32 tabFlags; /* Mask of TF_* values */ i16 iPKey; /* If not negative, use aCol[iPKey] as the rowid */ i16 nCol; /* Number of columns in this table */ - u16 nRef; /* Number of pointers to this Table */ LogEst nRowLogEst; /* Estimated rows in table - from sqlite_stat1 table */ LogEst szTabRow; /* Estimated size of each table row in bytes */ #ifdef SQLITE_ENABLE_COSTMULT LogEst costMult; /* Cost multiplier for using this table */ #endif - u8 tabFlags; /* Mask of TF_* values */ u8 keyConf; /* What to do in case of uniqueness conflict on iPKey */ #ifndef SQLITE_OMIT_ALTERTABLE int addColOffset; /* Offset in CREATE TABLE stmt to add a new column */ @@ -14474,15 +15803,17 @@ struct Table { ** the TF_OOOHidden attribute would apply in this case. Such tables require ** special handling during INSERT processing. */ -#define TF_Readonly 0x01 /* Read-only system table */ -#define TF_Ephemeral 0x02 /* An ephemeral table */ -#define TF_HasPrimaryKey 0x04 /* Table has a primary key */ -#define TF_Autoincrement 0x08 /* Integer primary key is autoincrement */ -#define TF_Virtual 0x10 /* Is a virtual table */ -#define TF_WithoutRowid 0x20 /* No rowid. PRIMARY KEY is the key */ -#define TF_NoVisibleRowid 0x40 /* No user-visible "rowid" column */ -#define TF_OOOHidden 0x80 /* Out-of-Order hidden columns */ - +#define TF_Readonly 0x0001 /* Read-only system table */ +#define TF_Ephemeral 0x0002 /* An ephemeral table */ +#define TF_HasPrimaryKey 0x0004 /* Table has a primary key */ +#define TF_Autoincrement 0x0008 /* Integer primary key is autoincrement */ +#define TF_HasStat1 0x0010 /* nRowLogEst set from sqlite_stat1 */ +#define TF_WithoutRowid 0x0020 /* No rowid. PRIMARY KEY is the key */ +#define TF_NoVisibleRowid 0x0040 /* No user-visible "rowid" column */ +#define TF_OOOHidden 0x0080 /* Out-of-Order hidden columns */ +#define TF_StatsUsed 0x0100 /* Query planner decisions affected by + ** Index.aiRowLogEst[] values */ +#define TF_HasNotNull 0x0200 /* Contains NOT NULL constraints */ /* ** Test to see whether or not a table is a virtual table. This is @@ -14490,7 +15821,7 @@ struct Table { ** table support is omitted from the build. */ #ifndef SQLITE_OMIT_VIRTUALTABLE -# define IsVirtual(X) (((X)->tabFlags & TF_Virtual)!=0) +# define IsVirtual(X) ((X)->nModuleArg) #else # define IsVirtual(X) 0 #endif @@ -14614,8 +15945,8 @@ struct FKey { struct KeyInfo { u32 nRef; /* Number of references to this KeyInfo object */ u8 enc; /* Text encoding - one of the SQLITE_UTF* values */ - u16 nField; /* Number of key columns in the index */ - u16 nXField; /* Number of columns beyond the key columns */ + u16 nKeyField; /* Number of key columns in the index */ + u16 nAllField; /* Total columns, including key plus others */ sqlite3 *db; /* The database connection */ u8 *aSortOrder; /* Sort order for each column. */ CollSeq *aColl[1]; /* Collating sequence for each term of the key */ @@ -14662,8 +15993,8 @@ struct UnpackedRecord { u16 nField; /* Number of entries in apMem[] */ i8 default_rc; /* Comparison result if keys are equal */ u8 errCode; /* Error detected by xRecordCompare (CORRUPT or NOMEM) */ - i8 r1; /* Value to return if (lhs > rhs) */ - i8 r2; /* Value to return if (rhs < lhs) */ + i8 r1; /* Value to return if (lhs < rhs) */ + i8 r2; /* Value to return if (lhs > rhs) */ u8 eqSeen; /* True if an equality comparison has been seen */ }; @@ -14725,6 +16056,8 @@ struct Index { unsigned isResized:1; /* True if resizeIndexObject() has been called */ unsigned isCovering:1; /* True if this is a covering index */ unsigned noSkipScan:1; /* Do not try to use skip-scan if true */ + unsigned hasStat1:1; /* aiRowLogEst values come from sqlite_stat1 */ + unsigned bNoQuery:1; /* Do not use this index to optimize queries */ #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 int nSample; /* Number of elements in aSample[] */ int nSampleCol; /* Size of IndexSample.anEq[] and so on */ @@ -14946,7 +16279,8 @@ struct Expr { ** TK_COLUMN: the value of p5 for OP_Column ** TK_AGG_FUNCTION: nesting depth */ AggInfo *pAggInfo; /* Used by TK_AGG_COLUMN and TK_AGG_FUNCTION */ - Table *pTab; /* Table for TK_COLUMN expressions. */ + Table *pTab; /* Table for TK_COLUMN expressions. Can be NULL + ** for a column of an index on an expression */ }; /* @@ -14954,8 +16288,8 @@ struct Expr { */ #define EP_FromJoin 0x000001 /* Originates in ON/USING clause of outer join */ #define EP_Agg 0x000002 /* Contains one or more aggregate functions */ -#define EP_Resolved 0x000004 /* IDs have been resolved to COLUMNs */ -#define EP_Error 0x000008 /* Expression contains one or more errors */ +#define EP_HasFunc 0x000004 /* Contains one or more functions of any kind */ + /* 0x000008 // available for use */ #define EP_Distinct 0x000010 /* Aggregate function with DISTINCT keyword */ #define EP_VarSelect 0x000020 /* pSelect is correlated, not constant */ #define EP_DblQuoted 0x000040 /* token.z was originally in "..." */ @@ -14978,9 +16312,10 @@ struct Expr { #define EP_Leaf 0x800000 /* Expr.pLeft, .pRight, .u.pSelect all NULL */ /* -** Combinations of two or more EP_* flags +** The EP_Propagate mask is a set of properties that automatically propagate +** upwards into parent nodes. */ -#define EP_Propagate (EP_Collate|EP_Subquery) /* Propagate these bits up tree */ +#define EP_Propagate (EP_Collate|EP_Subquery|EP_HasFunc) /* ** These macros can be used to test, set, or clear bits in the @@ -15035,7 +16370,7 @@ struct Expr { struct ExprList { int nExpr; /* Number of expressions on the list */ struct ExprList_item { /* For each expression in the list */ - Expr *pExpr; /* The list of expressions */ + Expr *pExpr; /* The parse tree for this expression */ char *zName; /* Token associated with this expression */ char *zSpan; /* Original text of the expression */ u8 sortOrder; /* 1 for DESC or 0 for ASC */ @@ -15049,18 +16384,7 @@ struct ExprList { } x; int iConstExprReg; /* Register in which Expr value is cached */ } u; - } *a; /* Alloc a power of two greater or equal to nExpr */ -}; - -/* -** An instance of this structure is used by the parser to record both -** the parse tree for an expression and the span of input text for an -** expression. -*/ -struct ExprSpan { - Expr *pExpr; /* The expression parse tree */ - const char *zStart; /* First character of input text */ - const char *zEnd; /* One character past the end of input text */ + } a[1]; /* One slot for each expression in the list */ }; /* @@ -15200,7 +16524,7 @@ struct SrcList { #define WHERE_SORTBYGROUP 0x0200 /* Support sqlite3WhereIsSorted() */ #define WHERE_SEEK_TABLE 0x0400 /* Do not defer seeks on main table */ #define WHERE_ORDERBY_LIMIT 0x0800 /* ORDERBY+LIMIT on the inner loop */ - /* 0x1000 not currently used */ +#define WHERE_SEEK_UNIQ_TABLE 0x1000 /* Do not defer seeks if unique */ /* 0x2000 not currently used */ #define WHERE_USE_LIMIT 0x4000 /* Use the LIMIT in cost estimates */ /* 0x8000 not currently used */ @@ -15260,6 +16584,7 @@ struct NameContext { #define NC_IdxExpr 0x0020 /* True if resolving columns of CREATE INDEX */ #define NC_VarSelect 0x0040 /* A correlated subquery has been seen */ #define NC_MinMaxAgg 0x1000 /* min/max aggregates seen. See note above */ +#define NC_Complex 0x2000 /* True if a function or subquery seen */ /* ** An instance of the following structure contains all information @@ -15299,7 +16624,6 @@ struct Select { Select *pPrior; /* Prior select in a compound select statement */ Select *pNext; /* Next select to the left in a compound */ Expr *pLimit; /* LIMIT expression. NULL means not used. */ - Expr *pOffset; /* OFFSET expression. NULL means not used. */ With *pWith; /* WITH clause attached to this select. Or NULL. */ }; @@ -15330,6 +16654,7 @@ struct Select { #define SF_MaybeConvert 0x08000 /* Need convertCompoundSelectToSubquery() */ #define SF_Converted 0x10000 /* By convertCompoundSelectToSubquery() */ #define SF_IncludeHidden 0x20000 /* Include hidden columns in output */ +#define SF_ComplexResult 0x40000 /* Result set contains subquery or function */ /* @@ -15421,10 +16746,10 @@ struct Select { */ struct SelectDest { u8 eDest; /* How to dispose of the results. On of SRT_* above. */ - char *zAffSdst; /* Affinity used when eDest==SRT_Set */ int iSDParm; /* A parameter used by the eDest disposal method */ int iSdst; /* Base register where results are written */ int nSdst; /* Number of registers allocated */ + char *zAffSdst; /* Affinity used when eDest==SRT_Set */ ExprList *pOrderBy; /* Key columns for SRT_Queue and SRT_DistQueue */ }; @@ -15534,8 +16859,8 @@ struct Parse { int nMem; /* Number of memory cells used so far */ int nOpAlloc; /* Number of slots allocated for Vdbe.aOp[] */ int szOpAlloc; /* Bytes of memory space allocated for Vdbe.aOp[] */ - int ckBase; /* Base register of data during check constraints */ - int iSelfTab; /* Table of an index whose exprs are being coded */ + int iSelfTab; /* Table associated with an index on expr, or negative + ** of the base register during check-constraint eval */ int iCacheLevel; /* ColCache valid when aColCache[].iLevel<=iCacheLevel */ int iCacheCnt; /* Counter used to generate aColCache[].lru values */ int nLabel; /* Number of labels used */ @@ -15558,7 +16883,7 @@ struct Parse { AutoincInfo *pAinc; /* Information about AUTOINCREMENT counters */ Parse *pToplevel; /* Parse structure for main program (or NULL) */ Table *pTriggerTab; /* Table triggers are being coded for */ - int addrCrTab; /* Address of OP_CreateTable opcode on CREATE TABLE */ + int addrCrTab; /* Address of OP_CreateBtree opcode on CREATE TABLE */ u32 nQueryLoop; /* Est number of iterations of a query (10*log2(N)) */ u32 oldmask; /* Mask of old.* columns referenced */ u32 newmask; /* Mask of new.* columns referenced */ @@ -15593,7 +16918,6 @@ struct Parse { Token sLastToken; /* The last token parsed */ ynVar nVar; /* Number of '?' variables seen in the SQL so far */ - int nzVar; /* Number of available slots in azVar[] */ u8 iPkSortOrder; /* ASC or DESC for INTEGER PRIMARY KEY */ u8 explain; /* True if the EXPLAIN flag is found on the query */ #ifndef SQLITE_OMIT_VIRTUALTABLE @@ -15605,7 +16929,7 @@ struct Parse { int iSelectId; /* ID of current select for EXPLAIN output */ int iNextSelectId; /* Next available select ID for EXPLAIN output */ #endif - char **azVar; /* Pointers to names of parameters */ + VList *pVList; /* Mapping between variable names and numbers */ Vdbe *pReprepare; /* VM being reprepared (sqlite3Reprepare()) */ const char *zTail; /* All SQL text past the last semicolon parsed */ Table *pNewTable; /* A table being constructed by CREATE TABLE */ @@ -15662,13 +16986,11 @@ struct AuthContext { #define OPFLAG_NCHANGE 0x01 /* OP_Insert: Set to update db->nChange */ /* Also used in P2 (not P5) of OP_Delete */ #define OPFLAG_EPHEM 0x01 /* OP_Column: Ephemeral output is ok */ -#define OPFLAG_LASTROWID 0x02 /* Set to update db->lastRowid */ +#define OPFLAG_LASTROWID 0x20 /* Set to update db->lastRowid */ #define OPFLAG_ISUPDATE 0x04 /* This OP_Insert is an sql UPDATE */ #define OPFLAG_APPEND 0x08 /* This is likely to be an append */ #define OPFLAG_USESEEKRESULT 0x10 /* Try to avoid a seek in BtreeInsert() */ -#ifdef SQLITE_ENABLE_PREUPDATE_HOOK #define OPFLAG_ISNOOP 0x40 /* OP_Delete does pre-update-hook only */ -#endif #define OPFLAG_LENGTHARG 0x40 /* OP_Column only used for length() */ #define OPFLAG_TYPEOFARG 0x80 /* OP_Column only used for typeof() */ #define OPFLAG_BULKCSR 0x01 /* OP_Open** used to open bulk cursor */ @@ -15676,8 +16998,9 @@ struct AuthContext { #define OPFLAG_FORDELETE 0x08 /* OP_Open should use BTREE_FORDELETE */ #define OPFLAG_P2ISREG 0x10 /* P2 to OP_Open** is a register number */ #define OPFLAG_PERMUTE 0x01 /* OP_Compare: use the permutation */ -#define OPFLAG_SAVEPOSITION 0x02 /* OP_Delete: keep cursor position */ +#define OPFLAG_SAVEPOSITION 0x02 /* OP_Delete/Insert: save cursor pos */ #define OPFLAG_AUXDELETE 0x04 /* OP_Delete: index in a DELETE op */ +#define OPFLAG_NOCHNG_MAGIC 0x6d /* OP_MakeRecord: serialtype 10 is ok */ /* * Each trigger present in the database schema is stored as an instance of @@ -15765,6 +17088,7 @@ struct TriggerStep { Expr *pWhere; /* The WHERE clause for DELETE or UPDATE steps */ ExprList *pExprList; /* SET clause for UPDATE. */ IdList *pIdList; /* Column names for INSERT */ + char *zSpan; /* Original SQL text of this command */ TriggerStep *pNext; /* Next in the link-list */ TriggerStep *pLast; /* Last element in link-list. Valid for 1st elem only */ }; @@ -15790,11 +17114,10 @@ struct DbFixer { */ struct StrAccum { sqlite3 *db; /* Optional database for lookaside. Can be NULL */ - char *zBase; /* A base allocation. Not from malloc. */ char *zText; /* The string collected so far */ - u32 nChar; /* Length of the string so far */ u32 nAlloc; /* Amount of space allocated in zText */ u32 mxAlloc; /* Maximum allowed allocation. 0 for no malloc usage */ + u32 nChar; /* Length of the string so far */ u8 accError; /* STRACCUM_NOMEM or STRACCUM_TOOBIG */ u8 printfFlags; /* SQLITE_PRINTF flags below */ }; @@ -15829,6 +17152,7 @@ struct Sqlite3Config { int bFullMutex; /* True to enable full mutexing */ int bOpenUri; /* True to interpret filenames as URIs */ int bUseCis; /* Use covering indices for full-scans */ + int bSmallMalloc; /* Avoid large memory allocations if true */ int mxStrlen; /* Maximum string length */ int neverCorrupt; /* Database is always well-formed */ int szLookaside; /* Default lookaside buffer size */ @@ -15842,9 +17166,6 @@ struct Sqlite3Config { int mnReq, mxReq; /* Min and max heap requests sizes */ sqlite3_int64 szMmap; /* mmap() space per open file */ sqlite3_int64 mxMmap; /* Maximum value for szMmap */ - void *pScratch; /* Scratch memory */ - int szScratch; /* Size of each scratch buffer */ - int nScratch; /* Number of scratch buffers */ void *pPage; /* Page cache memory */ int szPage; /* Size of each page in pPage[] */ int nPage; /* Number of pages in pPage[] */ @@ -15873,7 +17194,7 @@ struct Sqlite3Config { void (*xVdbeBranch)(void*,int iSrcLine,u8 eThis,u8 eMx); /* Callback */ void *pVdbeBranchArg; /* 1st argument */ #endif -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE int (*xTestCallback)(int); /* Invoked by sqlite3FaultSim() */ #endif int bLocaltimeFault; /* True to fail localtime() calls */ @@ -15909,14 +17230,17 @@ struct Walker { int walkerDepth; /* Number of subqueries */ u8 eCode; /* A small processing code */ union { /* Extra data for callback */ - NameContext *pNC; /* Naming context */ - int n; /* A counter */ - int iCur; /* A cursor number */ - SrcList *pSrcList; /* FROM clause */ - struct SrcCount *pSrcCount; /* Counting column references */ - struct CCurHint *pCCurHint; /* Used by codeCursorHint() */ - int *aiCol; /* array of column indexes */ - struct IdxCover *pIdxCover; /* Check for index coverage */ + NameContext *pNC; /* Naming context */ + int n; /* A counter */ + int iCur; /* A cursor number */ + SrcList *pSrcList; /* FROM clause */ + struct SrcCount *pSrcCount; /* Counting column references */ + struct CCurHint *pCCurHint; /* Used by codeCursorHint() */ + int *aiCol; /* array of column indexes */ + struct IdxCover *pIdxCover; /* Check for index coverage */ + struct IdxExprTrans *pIdxTrans; /* Convert indexed expr to column */ + ExprList *pGroupBy; /* GROUP BY clause */ + struct HavingToWhereCtx *pHavingCtx; /* HAVING to WHERE clause ctx */ } u; }; @@ -15927,6 +17251,11 @@ SQLITE_PRIVATE int sqlite3WalkSelect(Walker*, Select*); SQLITE_PRIVATE int sqlite3WalkSelectExpr(Walker*, Select*); SQLITE_PRIVATE int sqlite3WalkSelectFrom(Walker*, Select*); SQLITE_PRIVATE int sqlite3ExprWalkNoop(Walker*, Expr*); +SQLITE_PRIVATE int sqlite3SelectWalkNoop(Walker*, Select*); +SQLITE_PRIVATE int sqlite3SelectWalkFail(Walker*, Select*); +#ifdef SQLITE_DEBUG +SQLITE_PRIVATE void sqlite3SelectWalkAssert2(Walker*, Select*); +#endif /* ** Return code from the parse-tree walking primitives and their @@ -15979,6 +17308,7 @@ struct TreeView { ** using sqlite3_log(). The routines also provide a convenient place ** to set a debugger breakpoint. */ +SQLITE_PRIVATE int sqlite3ReportError(int iErr, int lineno, const char *zType); SQLITE_PRIVATE int sqlite3CorruptError(int); SQLITE_PRIVATE int sqlite3MisuseError(int); SQLITE_PRIVATE int sqlite3CantopenError(int); @@ -15988,11 +17318,14 @@ SQLITE_PRIVATE int sqlite3CantopenError(int); #ifdef SQLITE_DEBUG SQLITE_PRIVATE int sqlite3NomemError(int); SQLITE_PRIVATE int sqlite3IoerrnomemError(int); +SQLITE_PRIVATE int sqlite3CorruptPgnoError(int,Pgno); # define SQLITE_NOMEM_BKPT sqlite3NomemError(__LINE__) # define SQLITE_IOERR_NOMEM_BKPT sqlite3IoerrnomemError(__LINE__) +# define SQLITE_CORRUPT_PGNO(P) sqlite3CorruptPgnoError(__LINE__,(P)) #else # define SQLITE_NOMEM_BKPT SQLITE_NOMEM # define SQLITE_IOERR_NOMEM_BKPT SQLITE_IOERR_NOMEM +# define SQLITE_CORRUPT_PGNO(P) sqlite3CorruptError(__LINE__) #endif /* @@ -16066,18 +17399,18 @@ SQLITE_PRIVATE void *sqlite3DbMallocRaw(sqlite3*, u64); SQLITE_PRIVATE void *sqlite3DbMallocRawNN(sqlite3*, u64); SQLITE_PRIVATE char *sqlite3DbStrDup(sqlite3*,const char*); SQLITE_PRIVATE char *sqlite3DbStrNDup(sqlite3*,const char*, u64); +SQLITE_PRIVATE char *sqlite3DbSpanDup(sqlite3*,const char*,const char*); SQLITE_PRIVATE void *sqlite3Realloc(void*, u64); SQLITE_PRIVATE void *sqlite3DbReallocOrFree(sqlite3 *, void *, u64); SQLITE_PRIVATE void *sqlite3DbRealloc(sqlite3 *, void *, u64); SQLITE_PRIVATE void sqlite3DbFree(sqlite3*, void*); +SQLITE_PRIVATE void sqlite3DbFreeNN(sqlite3*, void*); SQLITE_PRIVATE int sqlite3MallocSize(void*); SQLITE_PRIVATE int sqlite3DbMallocSize(sqlite3*, void*); -SQLITE_PRIVATE void *sqlite3ScratchMalloc(int); -SQLITE_PRIVATE void sqlite3ScratchFree(void*); SQLITE_PRIVATE void *sqlite3PageMalloc(int); SQLITE_PRIVATE void sqlite3PageFree(void*); SQLITE_PRIVATE void sqlite3MemSetDefault(void); -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE SQLITE_PRIVATE void sqlite3BenignMallocHooks(void (*)(void), void (*)(void)); #endif SQLITE_PRIVATE int sqlite3HeapNearlyFull(void); @@ -16129,11 +17462,18 @@ SQLITE_PRIVATE sqlite3_int64 sqlite3StatusValue(int); SQLITE_PRIVATE void sqlite3StatusUp(int, int); SQLITE_PRIVATE void sqlite3StatusDown(int, int); SQLITE_PRIVATE void sqlite3StatusHighwater(int, int); +SQLITE_PRIVATE int sqlite3LookasideUsed(sqlite3*,int*); /* Access to mutexes used by sqlite3_status() */ SQLITE_PRIVATE sqlite3_mutex *sqlite3Pcache1Mutex(void); SQLITE_PRIVATE sqlite3_mutex *sqlite3MallocMutex(void); +#if defined(SQLITE_ENABLE_MULTITHREADED_CHECKS) && !defined(SQLITE_MUTEX_OMIT) +SQLITE_PRIVATE void sqlite3MutexWarnOnContention(sqlite3_mutex*); +#else +# define sqlite3MutexWarnOnContention(x) +#endif + #ifndef SQLITE_OMIT_FLOATING_POINT SQLITE_PRIVATE int sqlite3IsNaN(double); #else @@ -16188,7 +17528,7 @@ SQLITE_PRIVATE int sqlite3NoTempsInRange(Parse*,int,int); SQLITE_PRIVATE Expr *sqlite3ExprAlloc(sqlite3*,int,const Token*,int); SQLITE_PRIVATE Expr *sqlite3Expr(sqlite3*,int,const char*); SQLITE_PRIVATE void sqlite3ExprAttachSubtrees(sqlite3*,Expr*,Expr*,Expr*); -SQLITE_PRIVATE Expr *sqlite3PExpr(Parse*, int, Expr*, Expr*, const Token*); +SQLITE_PRIVATE Expr *sqlite3PExpr(Parse*, int, Expr*, Expr*); SQLITE_PRIVATE void sqlite3PExprAddSelect(Parse*, Expr*, Select*); SQLITE_PRIVATE Expr *sqlite3ExprAnd(sqlite3*,Expr*, Expr*); SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse*,ExprList*, Token*); @@ -16198,12 +17538,15 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppend(Parse*,ExprList*,Expr*); SQLITE_PRIVATE ExprList *sqlite3ExprListAppendVector(Parse*,ExprList*,IdList*,Expr*); SQLITE_PRIVATE void sqlite3ExprListSetSortOrder(ExprList*,int); SQLITE_PRIVATE void sqlite3ExprListSetName(Parse*,ExprList*,Token*,int); -SQLITE_PRIVATE void sqlite3ExprListSetSpan(Parse*,ExprList*,ExprSpan*); +SQLITE_PRIVATE void sqlite3ExprListSetSpan(Parse*,ExprList*,const char*,const char*); SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3*, ExprList*); SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList*); SQLITE_PRIVATE int sqlite3Init(sqlite3*, char**); SQLITE_PRIVATE int sqlite3InitCallback(void*, int, char**, char**); SQLITE_PRIVATE void sqlite3Pragma(Parse*,Token*,Token*,Token*,int); +#ifndef SQLITE_OMIT_VIRTUALTABLE +SQLITE_PRIVATE Module *sqlite3PragmaVtabRegister(sqlite3*,const char *zName); +#endif SQLITE_PRIVATE void sqlite3ResetAllSchemasOfConnection(sqlite3*); SQLITE_PRIVATE void sqlite3ResetOneSchema(sqlite3*,int); SQLITE_PRIVATE void sqlite3CollapseDatabaseArray(sqlite3*); @@ -16225,14 +17568,14 @@ SQLITE_PRIVATE void sqlite3AddColumn(Parse*,Token*,Token*); SQLITE_PRIVATE void sqlite3AddNotNull(Parse*, int); SQLITE_PRIVATE void sqlite3AddPrimaryKey(Parse*, ExprList*, int, int, int); SQLITE_PRIVATE void sqlite3AddCheckConstraint(Parse*, Expr*); -SQLITE_PRIVATE void sqlite3AddDefaultValue(Parse*,ExprSpan*); +SQLITE_PRIVATE void sqlite3AddDefaultValue(Parse*,Expr*,const char*,const char*); SQLITE_PRIVATE void sqlite3AddCollateType(Parse*, Token*); SQLITE_PRIVATE void sqlite3EndTable(Parse*,Token*,Token*,u8,Select*); SQLITE_PRIVATE int sqlite3ParseUri(const char*,const char*,unsigned int*, sqlite3_vfs**,char**,char **); SQLITE_PRIVATE Btree *sqlite3DbNameToBtree(sqlite3*,const char*); -#ifdef SQLITE_OMIT_BUILTIN_TEST +#ifdef SQLITE_UNTESTABLE # define sqlite3FaultSim(X) SQLITE_OK #else SQLITE_PRIVATE int sqlite3FaultSim(int); @@ -16245,7 +17588,7 @@ SQLITE_PRIVATE int sqlite3BitvecSet(Bitvec*, u32); SQLITE_PRIVATE void sqlite3BitvecClear(Bitvec*, u32, void*); SQLITE_PRIVATE void sqlite3BitvecDestroy(Bitvec*); SQLITE_PRIVATE u32 sqlite3BitvecSize(Bitvec*); -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE SQLITE_PRIVATE int sqlite3BitvecBuiltinTest(int,int*); #endif @@ -16297,16 +17640,16 @@ SQLITE_PRIVATE void sqlite3CreateIndex(Parse*,Token*,Token*,SrcList*,ExprList*,i SQLITE_PRIVATE void sqlite3DropIndex(Parse*, SrcList*, int); SQLITE_PRIVATE int sqlite3Select(Parse*, Select*, SelectDest*); SQLITE_PRIVATE Select *sqlite3SelectNew(Parse*,ExprList*,SrcList*,Expr*,ExprList*, - Expr*,ExprList*,u32,Expr*,Expr*); + Expr*,ExprList*,u32,Expr*); SQLITE_PRIVATE void sqlite3SelectDelete(sqlite3*, Select*); SQLITE_PRIVATE Table *sqlite3SrcListLookup(Parse*, SrcList*); SQLITE_PRIVATE int sqlite3IsReadOnly(Parse*, Table*, int); SQLITE_PRIVATE void sqlite3OpenTable(Parse*, int iCur, int iDb, Table*, int); #if defined(SQLITE_ENABLE_UPDATE_DELETE_LIMIT) && !defined(SQLITE_OMIT_SUBQUERY) -SQLITE_PRIVATE Expr *sqlite3LimitWhere(Parse*,SrcList*,Expr*,ExprList*,Expr*,Expr*,char*); +SQLITE_PRIVATE Expr *sqlite3LimitWhere(Parse*,SrcList*,Expr*,ExprList*,Expr*,char*); #endif -SQLITE_PRIVATE void sqlite3DeleteFrom(Parse*, SrcList*, Expr*); -SQLITE_PRIVATE void sqlite3Update(Parse*, SrcList*, ExprList*, Expr*, int); +SQLITE_PRIVATE void sqlite3DeleteFrom(Parse*, SrcList*, Expr*, ExprList*, Expr*); +SQLITE_PRIVATE void sqlite3Update(Parse*, SrcList*, ExprList*,Expr*,int,ExprList*,Expr*); SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin(Parse*,SrcList*,Expr*,ExprList*,ExprList*,u16,int); SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo*); SQLITE_PRIVATE LogEst sqlite3WhereOutputRowCount(WhereInfo*); @@ -16334,7 +17677,7 @@ SQLITE_PRIVATE void sqlite3ExprCacheAffinityChange(Parse*, int, int); SQLITE_PRIVATE void sqlite3ExprCode(Parse*, Expr*, int); SQLITE_PRIVATE void sqlite3ExprCodeCopy(Parse*, Expr*, int); SQLITE_PRIVATE void sqlite3ExprCodeFactorable(Parse*, Expr*, int); -SQLITE_PRIVATE void sqlite3ExprCodeAtInit(Parse*, Expr*, int, u8); +SQLITE_PRIVATE int sqlite3ExprCodeAtInit(Parse*, Expr*, int); SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse*, Expr*, int*); SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse*, Expr*, int); SQLITE_PRIVATE void sqlite3ExprCodeAndCache(Parse*, Expr*, int); @@ -16342,6 +17685,7 @@ SQLITE_PRIVATE int sqlite3ExprCodeExprList(Parse*, ExprList*, int, int, u8); #define SQLITE_ECEL_DUP 0x01 /* Deep, not shallow copies */ #define SQLITE_ECEL_FACTOR 0x02 /* Factor out constant terms */ #define SQLITE_ECEL_REF 0x04 /* Use ExprList.u.x.iOrderByCol */ +#define SQLITE_ECEL_OMITREF 0x08 /* Omit if ExprList.u.x.iOrderByCol */ SQLITE_PRIVATE void sqlite3ExprIfTrue(Parse*, Expr*, int, int); SQLITE_PRIVATE void sqlite3ExprIfFalse(Parse*, Expr*, int, int); SQLITE_PRIVATE void sqlite3ExprIfFalseDup(Parse*, Expr*, int, int); @@ -16356,15 +17700,16 @@ SQLITE_PRIVATE void sqlite3UnlinkAndDeleteIndex(sqlite3*,int,const char*); SQLITE_PRIVATE void sqlite3Vacuum(Parse*,Token*); SQLITE_PRIVATE int sqlite3RunVacuum(char**, sqlite3*, int); SQLITE_PRIVATE char *sqlite3NameFromToken(sqlite3*, Token*); -SQLITE_PRIVATE int sqlite3ExprCompare(Expr*, Expr*, int); +SQLITE_PRIVATE int sqlite3ExprCompare(Parse*,Expr*, Expr*, int); +SQLITE_PRIVATE int sqlite3ExprCompareSkip(Expr*, Expr*, int); SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList*, ExprList*, int); -SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Expr*, Expr*, int); +SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Parse*,Expr*, Expr*, int); SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext*, Expr*); SQLITE_PRIVATE void sqlite3ExprAnalyzeAggList(NameContext*,ExprList*); SQLITE_PRIVATE int sqlite3ExprCoveredByIndex(Expr*, int iCur, Index *pIdx); SQLITE_PRIVATE int sqlite3FunctionUsesThisSrc(Expr*, SrcList*); SQLITE_PRIVATE Vdbe *sqlite3GetVdbe(Parse*); -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE SQLITE_PRIVATE void sqlite3PrngSaveState(void); SQLITE_PRIVATE void sqlite3PrngRestoreState(void); #endif @@ -16372,14 +17717,14 @@ SQLITE_PRIVATE void sqlite3RollbackAll(sqlite3*,int); SQLITE_PRIVATE void sqlite3CodeVerifySchema(Parse*, int); SQLITE_PRIVATE void sqlite3CodeVerifyNamedSchema(Parse*, const char *zDb); SQLITE_PRIVATE void sqlite3BeginTransaction(Parse*, int); -SQLITE_PRIVATE void sqlite3CommitTransaction(Parse*); -SQLITE_PRIVATE void sqlite3RollbackTransaction(Parse*); +SQLITE_PRIVATE void sqlite3EndTransaction(Parse*,int); SQLITE_PRIVATE void sqlite3Savepoint(Parse*, int, Token*); SQLITE_PRIVATE void sqlite3CloseSavepoints(sqlite3 *); SQLITE_PRIVATE void sqlite3LeaveMutexAndCloseZombie(sqlite3*); SQLITE_PRIVATE int sqlite3ExprIsConstant(Expr*); SQLITE_PRIVATE int sqlite3ExprIsConstantNotJoin(Expr*); SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr*, u8); +SQLITE_PRIVATE int sqlite3ExprIsConstantOrGroupBy(Parse*, Expr*, ExprList*); SQLITE_PRIVATE int sqlite3ExprIsTableConstant(Expr*,int); #ifdef SQLITE_ENABLE_CURSOR_HINTS SQLITE_PRIVATE int sqlite3ExprContainsSubquery(Expr*); @@ -16395,6 +17740,11 @@ SQLITE_PRIVATE int sqlite3GenerateIndexKey(Parse*, Index*, int, int, int, int*,I SQLITE_PRIVATE void sqlite3ResolvePartIdxLabel(Parse*,int); SQLITE_PRIVATE void sqlite3GenerateConstraintChecks(Parse*,Table*,int*,int,int,int,int, u8,u8,int,int*,int*); +#ifdef SQLITE_ENABLE_NULL_TRIM +SQLITE_PRIVATE void sqlite3SetMakeRecordP5(Vdbe*,Table*); +#else +# define sqlite3SetMakeRecordP5(A,B) +#endif SQLITE_PRIVATE void sqlite3CompleteInsertion(Parse*,Table*,int,int,int,int*,int,int,int); SQLITE_PRIVATE int sqlite3OpenTableAndIndices(Parse*, Table*, int, u8, int, u8*, int*, int*); SQLITE_PRIVATE void sqlite3BeginWriteOperation(Parse*, int, int); @@ -16423,7 +17773,7 @@ SQLITE_PRIVATE int sqlite3SafetyCheckSickOrOk(sqlite3*); SQLITE_PRIVATE void sqlite3ChangeCookie(Parse*, int); #if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER) -SQLITE_PRIVATE void sqlite3MaterializeView(Parse*, Table*, Expr*, int); +SQLITE_PRIVATE void sqlite3MaterializeView(Parse*, Table*, Expr*, ExprList*,Expr*,int); #endif #ifndef SQLITE_OMIT_TRIGGER @@ -16439,11 +17789,14 @@ SQLITE_PRIVATE void sqlite3CodeRowTrigger(Parse*, Trigger *, int, ExprList*, i SQLITE_PRIVATE void sqlite3CodeRowTriggerDirect(Parse *, Trigger *, Table *, int, int, int); void sqliteViewTriggers(Parse*, Table*, Expr*, int, ExprList*); SQLITE_PRIVATE void sqlite3DeleteTriggerStep(sqlite3*, TriggerStep*); -SQLITE_PRIVATE TriggerStep *sqlite3TriggerSelectStep(sqlite3*,Select*); +SQLITE_PRIVATE TriggerStep *sqlite3TriggerSelectStep(sqlite3*,Select*, + const char*,const char*); SQLITE_PRIVATE TriggerStep *sqlite3TriggerInsertStep(sqlite3*,Token*, IdList*, - Select*,u8); -SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep(sqlite3*,Token*,ExprList*, Expr*, u8); -SQLITE_PRIVATE TriggerStep *sqlite3TriggerDeleteStep(sqlite3*,Token*, Expr*); + Select*,u8,const char*,const char*); +SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep(sqlite3*,Token*,ExprList*, Expr*, u8, + const char*,const char*); +SQLITE_PRIVATE TriggerStep *sqlite3TriggerDeleteStep(sqlite3*,Token*, Expr*, + const char*,const char*); SQLITE_PRIVATE void sqlite3DeleteTrigger(sqlite3*, Trigger*); SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTrigger(sqlite3*,int,const char*); SQLITE_PRIVATE u32 sqlite3TriggerColmask(Parse*,Trigger*,ExprList*,int,int,Table*,int); @@ -16488,7 +17841,9 @@ SQLITE_PRIVATE int sqlite3FixTriggerStep(DbFixer*, TriggerStep*); SQLITE_PRIVATE int sqlite3AtoF(const char *z, double*, int, u8); SQLITE_PRIVATE int sqlite3GetInt32(const char *, int*); SQLITE_PRIVATE int sqlite3Atoi(const char*); +#ifndef SQLITE_OMIT_UTF16 SQLITE_PRIVATE int sqlite3Utf16ByteLen(const void *pData, int nChar); +#endif SQLITE_PRIVATE int sqlite3Utf8CharLen(const char *pData, int nByte); SQLITE_PRIVATE u32 sqlite3Utf8Read(const u8**); SQLITE_PRIVATE LogEst sqlite3LogEst(u64); @@ -16501,6 +17856,9 @@ SQLITE_PRIVATE LogEst sqlite3LogEstFromDouble(double); defined(SQLITE_EXPLAIN_ESTIMATED_ROWS) SQLITE_PRIVATE u64 sqlite3LogEstToInt(LogEst); #endif +SQLITE_PRIVATE VList *sqlite3VListAdd(sqlite3*,VList*,const char*,int,int); +SQLITE_PRIVATE const char *sqlite3VListNumToName(VList*,int); +SQLITE_PRIVATE int sqlite3VListNameToNum(VList*,const char*,int); /* ** Routines to read and write variable-length integers. These used to @@ -16550,6 +17908,8 @@ SQLITE_PRIVATE int sqlite3ReadSchema(Parse *pParse); SQLITE_PRIVATE CollSeq *sqlite3FindCollSeq(sqlite3*,u8 enc, const char*,int); SQLITE_PRIVATE CollSeq *sqlite3LocateCollSeq(Parse *pParse, const char*zName); SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr); +SQLITE_PRIVATE CollSeq *sqlite3ExprNNCollSeq(Parse *pParse, Expr *pExpr); +SQLITE_PRIVATE int sqlite3ExprCollSeqMatch(Parse*,Expr*,Expr*); SQLITE_PRIVATE Expr *sqlite3ExprAddCollateToken(Parse *pParse, Expr*, const Token*, int); SQLITE_PRIVATE Expr *sqlite3ExprAddCollateString(Parse*,Expr*,const char*); SQLITE_PRIVATE Expr *sqlite3ExprSkipCollate(Expr*); @@ -16574,7 +17934,9 @@ SQLITE_PRIVATE void sqlite3ValueSetStr(sqlite3_value*, int, const void *,u8, SQLITE_PRIVATE void sqlite3ValueSetNull(sqlite3_value*); SQLITE_PRIVATE void sqlite3ValueFree(sqlite3_value*); SQLITE_PRIVATE sqlite3_value *sqlite3ValueNew(sqlite3 *); +#ifndef SQLITE_OMIT_UTF16 SQLITE_PRIVATE char *sqlite3Utf16to8(sqlite3 *, const void*, int, u8); +#endif SQLITE_PRIVATE int sqlite3ValueFromExpr(sqlite3 *, Expr *, u8, u8, sqlite3_value **); SQLITE_PRIVATE void sqlite3ValueApplyAffinity(sqlite3_value *, u8, u8); #ifndef SQLITE_AMALGAMATION @@ -16670,8 +18032,10 @@ SQLITE_PRIVATE char sqlite3IndexColumnAffinity(sqlite3*, Index*, int); /* ** The interface to the LEMON-generated parser */ -SQLITE_PRIVATE void *sqlite3ParserAlloc(void*(*)(u64)); -SQLITE_PRIVATE void sqlite3ParserFree(void*, void(*)(void*)); +#ifndef SQLITE_AMALGAMATION +SQLITE_PRIVATE void *sqlite3ParserAlloc(void*(*)(u64)); +SQLITE_PRIVATE void sqlite3ParserFree(void*, void(*)(void*)); +#endif SQLITE_PRIVATE void sqlite3Parser(void*, int, Token, Parse*); #ifdef YYTRACKMAXSTACKDEPTH SQLITE_PRIVATE int sqlite3ParserStackPeak(void*); @@ -16717,6 +18081,13 @@ SQLITE_PRIVATE void sqlite3VtabUnlockList(sqlite3*); SQLITE_PRIVATE int sqlite3VtabSavepoint(sqlite3 *, int, int); SQLITE_PRIVATE void sqlite3VtabImportErrmsg(Vdbe*, sqlite3_vtab*); SQLITE_PRIVATE VTable *sqlite3GetVTable(sqlite3*, Table*); +SQLITE_PRIVATE Module *sqlite3VtabCreateModule( + sqlite3*, + const char*, + const sqlite3_module*, + void*, + void(*)(void*) + ); # define sqlite3VtabInSync(db) ((db)->nVTrans>0 && (db)->aVTrans==0) #endif SQLITE_PRIVATE int sqlite3VtabEponymousTableInit(Parse*,Module*); @@ -16774,6 +18145,7 @@ SQLITE_PRIVATE FKey *sqlite3FkReferences(Table *); #define sqlite3FkDropTable(a,b,c) #define sqlite3FkOldmask(a,b) 0 #define sqlite3FkRequired(a,b,c,d) 0 + #define sqlite3FkReferences(a) 0 #endif #ifndef SQLITE_OMIT_FOREIGN_KEY SQLITE_PRIVATE void sqlite3FkDelete(sqlite3 *, Table*); @@ -16792,10 +18164,10 @@ SQLITE_PRIVATE int sqlite3FkLocateIndex(Parse*,Table*,FKey*,Index**,int**); /* ** The interface to the code in fault.c used for identifying "benign" -** malloc failures. This is only present if SQLITE_OMIT_BUILTIN_TEST +** malloc failures. This is only present if SQLITE_UNTESTABLE ** is not defined. */ -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE SQLITE_PRIVATE void sqlite3BeginBenignMalloc(void); SQLITE_PRIVATE void sqlite3EndBenignMalloc(void); #else @@ -16821,7 +18193,8 @@ SQLITE_PRIVATE int sqlite3FindInIndex(Parse *, Expr *, u32, int*, int*); SQLITE_PRIVATE int sqlite3JournalOpen(sqlite3_vfs *, const char *, sqlite3_file *, int, int); SQLITE_PRIVATE int sqlite3JournalSize(sqlite3_vfs *); -#ifdef SQLITE_ENABLE_ATOMIC_WRITE +#if defined(SQLITE_ENABLE_ATOMIC_WRITE) \ + || defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) SQLITE_PRIVATE int sqlite3JournalCreate(sqlite3_file *); #endif @@ -16853,6 +18226,9 @@ SQLITE_PRIVATE void sqlite3ConnectionClosed(sqlite3 *db); #ifdef SQLITE_DEBUG SQLITE_PRIVATE void sqlite3ParserTrace(FILE*, char *); #endif +#if defined(YYCOVERAGE) +SQLITE_PRIVATE int sqlite3ParserCoverage(FILE*); +#endif /* ** If the SQLITE_ENABLE IOTRACE exists then the global variable @@ -16907,8 +18283,7 @@ SQLITE_PRIVATE int sqlite3MemdebugNoType(void*,u8); #endif #define MEMTYPE_HEAP 0x01 /* General heap allocations */ #define MEMTYPE_LOOKASIDE 0x02 /* Heap that might have been lookaside */ -#define MEMTYPE_SCRATCH 0x04 /* Scratch allocations */ -#define MEMTYPE_PCACHE 0x08 /* Page cache allocations */ +#define MEMTYPE_PCACHE 0x04 /* Page cache allocations */ /* ** Threading interface @@ -16918,6 +18293,9 @@ SQLITE_PRIVATE int sqlite3ThreadCreate(SQLiteThread**,void*(*)(void*),void*); SQLITE_PRIVATE int sqlite3ThreadJoin(SQLiteThread*, void**); #endif +#if defined(SQLITE_ENABLE_DBPAGE_VTAB) || defined(SQLITE_TEST) +SQLITE_PRIVATE int sqlite3DbpageRegister(sqlite3*); +#endif #if defined(SQLITE_ENABLE_DBSTAT_VTAB) || defined(SQLITE_TEST) SQLITE_PRIVATE int sqlite3DbstatRegister(sqlite3*); #endif @@ -16926,6 +18304,11 @@ SQLITE_PRIVATE int sqlite3ExprVectorSize(Expr *pExpr); SQLITE_PRIVATE int sqlite3ExprIsVector(Expr *pExpr); SQLITE_PRIVATE Expr *sqlite3VectorFieldSubexpr(Expr*, int); SQLITE_PRIVATE Expr *sqlite3ExprForVectorField(Parse*,Expr*,int); +SQLITE_PRIVATE void sqlite3VectorErrorMsg(Parse*, Expr*); + +#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS +SQLITE_PRIVATE const char **sqlite3CompileOptions(int *pnOpt); +#endif #endif /* SQLITEINT_H */ @@ -17070,9 +18453,16 @@ SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[256] = { ** EVIDENCE-OF: R-43642-56306 By default, URI handling is globally ** disabled. The default value may be changed by compiling with the ** SQLITE_USE_URI symbol defined. +** +** URI filenames are enabled by default if SQLITE_HAS_CODEC is +** enabled. */ #ifndef SQLITE_USE_URI -# define SQLITE_USE_URI 0 +# ifdef SQLITE_HAS_CODEC +# define SQLITE_USE_URI 1 +# else +# define SQLITE_USE_URI 0 +# endif #endif /* EVIDENCE-OF: R-38720-18127 The default setting is determined by the @@ -17102,6 +18492,19 @@ SQLITE_PRIVATE const unsigned char sqlite3CtypeMap[256] = { # define SQLITE_STMTJRNL_SPILL (64*1024) #endif +/* +** The default lookaside-configuration, the format "SZ,N". SZ is the +** number of bytes in each lookaside slot (should be a multiple of 8) +** and N is the number of slots. The lookaside-configuration can be +** changed as start-time using sqlite3_config(SQLITE_CONFIG_LOOKASIDE) +** or at run-time for an individual database connection using +** sqlite3_db_config(db, SQLITE_DBCONFIG_LOOKASIDE); +*/ +#ifndef SQLITE_DEFAULT_LOOKASIDE +# define SQLITE_DEFAULT_LOOKASIDE 1200,100 +#endif + + /* ** The following singleton contains the global configuration for ** the SQLite library. @@ -17112,10 +18515,10 @@ SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config = { SQLITE_THREADSAFE==1, /* bFullMutex */ SQLITE_USE_URI, /* bOpenUri */ SQLITE_ALLOW_COVERING_INDEX_SCAN, /* bUseCis */ + 0, /* bSmallMalloc */ 0x7ffffffe, /* mxStrlen */ 0, /* neverCorrupt */ - 128, /* szLookaside */ - 500, /* nLookaside */ + SQLITE_DEFAULT_LOOKASIDE, /* szLookaside, nLookaside */ SQLITE_STMTJRNL_SPILL, /* nStmtSpill */ {0,0,0,0,0,0,0,0}, /* m */ {0,0,0,0,0,0,0,0,0}, /* mutex */ @@ -17125,9 +18528,6 @@ SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config = { 0, 0, /* mnHeap, mxHeap */ SQLITE_DEFAULT_MMAP_SIZE, /* szMmap */ SQLITE_MAX_MMAP_SIZE, /* mxMmap */ - (void*)0, /* pScratch */ - 0, /* szScratch */ - 0, /* nScratch */ (void*)0, /* pPage */ 0, /* szPage */ SQLITE_DEFAULT_PCACHE_INITSZ, /* nPage */ @@ -17152,7 +18552,7 @@ SQLITE_PRIVATE SQLITE_WSD struct Sqlite3Config sqlite3Config = { 0, /* xVdbeBranch */ 0, /* pVbeBranchArg */ #endif -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE 0, /* xTestCallback */ #endif 0, /* bLocaltimeFault */ @@ -17212,460 +18612,6 @@ SQLITE_PRIVATE const unsigned char sqlite3OpcodeProperty[] = OPFLG_INITIALIZER; SQLITE_PRIVATE const char sqlite3StrBINARY[] = "BINARY"; /************** End of global.c **********************************************/ -/************** Begin file ctime.c *******************************************/ -/* -** 2010 February 23 -** -** 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 file implements routines used to report what compile-time options -** SQLite was built with. -*/ - -#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS - -/* #include "sqliteInt.h" */ - -/* -** An array of names of all compile-time options. This array should -** be sorted A-Z. -** -** This array looks large, but in a typical installation actually uses -** only a handful of compile-time options, so most times this array is usually -** rather short and uses little memory space. -*/ -static const char * const azCompileOpt[] = { - -/* These macros are provided to "stringify" the value of the define -** for those options in which the value is meaningful. */ -#define CTIMEOPT_VAL_(opt) #opt -#define CTIMEOPT_VAL(opt) CTIMEOPT_VAL_(opt) - -#if SQLITE_32BIT_ROWID - "32BIT_ROWID", -#endif -#if SQLITE_4_BYTE_ALIGNED_MALLOC - "4_BYTE_ALIGNED_MALLOC", -#endif -#if SQLITE_CASE_SENSITIVE_LIKE - "CASE_SENSITIVE_LIKE", -#endif -#if SQLITE_CHECK_PAGES - "CHECK_PAGES", -#endif -#if defined(__clang__) && defined(__clang_major__) - "COMPILER=clang-" CTIMEOPT_VAL(__clang_major__) "." - CTIMEOPT_VAL(__clang_minor__) "." - CTIMEOPT_VAL(__clang_patchlevel__), -#elif defined(_MSC_VER) - "COMPILER=msvc-" CTIMEOPT_VAL(_MSC_VER), -#elif defined(__GNUC__) && defined(__VERSION__) - "COMPILER=gcc-" __VERSION__, -#endif -#if SQLITE_COVERAGE_TEST - "COVERAGE_TEST", -#endif -#if SQLITE_DEBUG - "DEBUG", -#endif -#if SQLITE_DEFAULT_LOCKING_MODE - "DEFAULT_LOCKING_MODE=" CTIMEOPT_VAL(SQLITE_DEFAULT_LOCKING_MODE), -#endif -#if defined(SQLITE_DEFAULT_MMAP_SIZE) && !defined(SQLITE_DEFAULT_MMAP_SIZE_xc) - "DEFAULT_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_DEFAULT_MMAP_SIZE), -#endif -#if SQLITE_DISABLE_DIRSYNC - "DISABLE_DIRSYNC", -#endif -#if SQLITE_DISABLE_LFS - "DISABLE_LFS", -#endif -#if SQLITE_ENABLE_8_3_NAMES - "ENABLE_8_3_NAMES=" CTIMEOPT_VAL(SQLITE_ENABLE_8_3_NAMES), -#endif -#if SQLITE_ENABLE_API_ARMOR - "ENABLE_API_ARMOR", -#endif -#if SQLITE_ENABLE_ATOMIC_WRITE - "ENABLE_ATOMIC_WRITE", -#endif -#if SQLITE_ENABLE_CEROD - "ENABLE_CEROD", -#endif -#if SQLITE_ENABLE_COLUMN_METADATA - "ENABLE_COLUMN_METADATA", -#endif -#if SQLITE_ENABLE_DBSTAT_VTAB - "ENABLE_DBSTAT_VTAB", -#endif -#if SQLITE_ENABLE_EXPENSIVE_ASSERT - "ENABLE_EXPENSIVE_ASSERT", -#endif -#if SQLITE_ENABLE_FTS1 - "ENABLE_FTS1", -#endif -#if SQLITE_ENABLE_FTS2 - "ENABLE_FTS2", -#endif -#if SQLITE_ENABLE_FTS3 - "ENABLE_FTS3", -#endif -#if SQLITE_ENABLE_FTS3_PARENTHESIS - "ENABLE_FTS3_PARENTHESIS", -#endif -#if SQLITE_ENABLE_FTS4 - "ENABLE_FTS4", -#endif -#if SQLITE_ENABLE_FTS5 - "ENABLE_FTS5", -#endif -#if SQLITE_ENABLE_ICU - "ENABLE_ICU", -#endif -#if SQLITE_ENABLE_IOTRACE - "ENABLE_IOTRACE", -#endif -#if SQLITE_ENABLE_JSON1 - "ENABLE_JSON1", -#endif -#if SQLITE_ENABLE_LOAD_EXTENSION - "ENABLE_LOAD_EXTENSION", -#endif -#if SQLITE_ENABLE_LOCKING_STYLE - "ENABLE_LOCKING_STYLE=" CTIMEOPT_VAL(SQLITE_ENABLE_LOCKING_STYLE), -#endif -#if SQLITE_ENABLE_MEMORY_MANAGEMENT - "ENABLE_MEMORY_MANAGEMENT", -#endif -#if SQLITE_ENABLE_MEMSYS3 - "ENABLE_MEMSYS3", -#endif -#if SQLITE_ENABLE_MEMSYS5 - "ENABLE_MEMSYS5", -#endif -#if SQLITE_ENABLE_OVERSIZE_CELL_CHECK - "ENABLE_OVERSIZE_CELL_CHECK", -#endif -#if SQLITE_ENABLE_RTREE - "ENABLE_RTREE", -#endif -#if defined(SQLITE_ENABLE_STAT4) - "ENABLE_STAT4", -#elif defined(SQLITE_ENABLE_STAT3) - "ENABLE_STAT3", -#endif -#if SQLITE_ENABLE_UNLOCK_NOTIFY - "ENABLE_UNLOCK_NOTIFY", -#endif -#if SQLITE_ENABLE_UPDATE_DELETE_LIMIT - "ENABLE_UPDATE_DELETE_LIMIT", -#endif -#if SQLITE_HAS_CODEC - "HAS_CODEC", -#endif -#if HAVE_ISNAN || SQLITE_HAVE_ISNAN - "HAVE_ISNAN", -#endif -#if SQLITE_HOMEGROWN_RECURSIVE_MUTEX - "HOMEGROWN_RECURSIVE_MUTEX", -#endif -#if SQLITE_IGNORE_AFP_LOCK_ERRORS - "IGNORE_AFP_LOCK_ERRORS", -#endif -#if SQLITE_IGNORE_FLOCK_LOCK_ERRORS - "IGNORE_FLOCK_LOCK_ERRORS", -#endif -#ifdef SQLITE_INT64_TYPE - "INT64_TYPE", -#endif -#ifdef SQLITE_LIKE_DOESNT_MATCH_BLOBS - "LIKE_DOESNT_MATCH_BLOBS", -#endif -#if SQLITE_LOCK_TRACE - "LOCK_TRACE", -#endif -#if defined(SQLITE_MAX_MMAP_SIZE) && !defined(SQLITE_MAX_MMAP_SIZE_xc) - "MAX_MMAP_SIZE=" CTIMEOPT_VAL(SQLITE_MAX_MMAP_SIZE), -#endif -#ifdef SQLITE_MAX_SCHEMA_RETRY - "MAX_SCHEMA_RETRY=" CTIMEOPT_VAL(SQLITE_MAX_SCHEMA_RETRY), -#endif -#if SQLITE_MEMDEBUG - "MEMDEBUG", -#endif -#if SQLITE_MIXED_ENDIAN_64BIT_FLOAT - "MIXED_ENDIAN_64BIT_FLOAT", -#endif -#if SQLITE_NO_SYNC - "NO_SYNC", -#endif -#if SQLITE_OMIT_ALTERTABLE - "OMIT_ALTERTABLE", -#endif -#if SQLITE_OMIT_ANALYZE - "OMIT_ANALYZE", -#endif -#if SQLITE_OMIT_ATTACH - "OMIT_ATTACH", -#endif -#if SQLITE_OMIT_AUTHORIZATION - "OMIT_AUTHORIZATION", -#endif -#if SQLITE_OMIT_AUTOINCREMENT - "OMIT_AUTOINCREMENT", -#endif -#if SQLITE_OMIT_AUTOINIT - "OMIT_AUTOINIT", -#endif -#if SQLITE_OMIT_AUTOMATIC_INDEX - "OMIT_AUTOMATIC_INDEX", -#endif -#if SQLITE_OMIT_AUTORESET - "OMIT_AUTORESET", -#endif -#if SQLITE_OMIT_AUTOVACUUM - "OMIT_AUTOVACUUM", -#endif -#if SQLITE_OMIT_BETWEEN_OPTIMIZATION - "OMIT_BETWEEN_OPTIMIZATION", -#endif -#if SQLITE_OMIT_BLOB_LITERAL - "OMIT_BLOB_LITERAL", -#endif -#if SQLITE_OMIT_BTREECOUNT - "OMIT_BTREECOUNT", -#endif -#if SQLITE_OMIT_BUILTIN_TEST - "OMIT_BUILTIN_TEST", -#endif -#if SQLITE_OMIT_CAST - "OMIT_CAST", -#endif -#if SQLITE_OMIT_CHECK - "OMIT_CHECK", -#endif -#if SQLITE_OMIT_COMPLETE - "OMIT_COMPLETE", -#endif -#if SQLITE_OMIT_COMPOUND_SELECT - "OMIT_COMPOUND_SELECT", -#endif -#if SQLITE_OMIT_CTE - "OMIT_CTE", -#endif -#if SQLITE_OMIT_DATETIME_FUNCS - "OMIT_DATETIME_FUNCS", -#endif -#if SQLITE_OMIT_DECLTYPE - "OMIT_DECLTYPE", -#endif -#if SQLITE_OMIT_DEPRECATED - "OMIT_DEPRECATED", -#endif -#if SQLITE_OMIT_DISKIO - "OMIT_DISKIO", -#endif -#if SQLITE_OMIT_EXPLAIN - "OMIT_EXPLAIN", -#endif -#if SQLITE_OMIT_FLAG_PRAGMAS - "OMIT_FLAG_PRAGMAS", -#endif -#if SQLITE_OMIT_FLOATING_POINT - "OMIT_FLOATING_POINT", -#endif -#if SQLITE_OMIT_FOREIGN_KEY - "OMIT_FOREIGN_KEY", -#endif -#if SQLITE_OMIT_GET_TABLE - "OMIT_GET_TABLE", -#endif -#if SQLITE_OMIT_INCRBLOB - "OMIT_INCRBLOB", -#endif -#if SQLITE_OMIT_INTEGRITY_CHECK - "OMIT_INTEGRITY_CHECK", -#endif -#if SQLITE_OMIT_LIKE_OPTIMIZATION - "OMIT_LIKE_OPTIMIZATION", -#endif -#if SQLITE_OMIT_LOAD_EXTENSION - "OMIT_LOAD_EXTENSION", -#endif -#if SQLITE_OMIT_LOCALTIME - "OMIT_LOCALTIME", -#endif -#if SQLITE_OMIT_LOOKASIDE - "OMIT_LOOKASIDE", -#endif -#if SQLITE_OMIT_MEMORYDB - "OMIT_MEMORYDB", -#endif -#if SQLITE_OMIT_OR_OPTIMIZATION - "OMIT_OR_OPTIMIZATION", -#endif -#if SQLITE_OMIT_PAGER_PRAGMAS - "OMIT_PAGER_PRAGMAS", -#endif -#if SQLITE_OMIT_PRAGMA - "OMIT_PRAGMA", -#endif -#if SQLITE_OMIT_PROGRESS_CALLBACK - "OMIT_PROGRESS_CALLBACK", -#endif -#if SQLITE_OMIT_QUICKBALANCE - "OMIT_QUICKBALANCE", -#endif -#if SQLITE_OMIT_REINDEX - "OMIT_REINDEX", -#endif -#if SQLITE_OMIT_SCHEMA_PRAGMAS - "OMIT_SCHEMA_PRAGMAS", -#endif -#if SQLITE_OMIT_SCHEMA_VERSION_PRAGMAS - "OMIT_SCHEMA_VERSION_PRAGMAS", -#endif -#if SQLITE_OMIT_SHARED_CACHE - "OMIT_SHARED_CACHE", -#endif -#if SQLITE_OMIT_SUBQUERY - "OMIT_SUBQUERY", -#endif -#if SQLITE_OMIT_TCL_VARIABLE - "OMIT_TCL_VARIABLE", -#endif -#if SQLITE_OMIT_TEMPDB - "OMIT_TEMPDB", -#endif -#if SQLITE_OMIT_TRACE - "OMIT_TRACE", -#endif -#if SQLITE_OMIT_TRIGGER - "OMIT_TRIGGER", -#endif -#if SQLITE_OMIT_TRUNCATE_OPTIMIZATION - "OMIT_TRUNCATE_OPTIMIZATION", -#endif -#if SQLITE_OMIT_UTF16 - "OMIT_UTF16", -#endif -#if SQLITE_OMIT_VACUUM - "OMIT_VACUUM", -#endif -#if SQLITE_OMIT_VIEW - "OMIT_VIEW", -#endif -#if SQLITE_OMIT_VIRTUALTABLE - "OMIT_VIRTUALTABLE", -#endif -#if SQLITE_OMIT_WAL - "OMIT_WAL", -#endif -#if SQLITE_OMIT_WSD - "OMIT_WSD", -#endif -#if SQLITE_OMIT_XFER_OPT - "OMIT_XFER_OPT", -#endif -#if SQLITE_PERFORMANCE_TRACE - "PERFORMANCE_TRACE", -#endif -#if SQLITE_PROXY_DEBUG - "PROXY_DEBUG", -#endif -#if SQLITE_RTREE_INT_ONLY - "RTREE_INT_ONLY", -#endif -#if SQLITE_SECURE_DELETE - "SECURE_DELETE", -#endif -#if SQLITE_SMALL_STACK - "SMALL_STACK", -#endif -#if SQLITE_SOUNDEX - "SOUNDEX", -#endif -#if SQLITE_SYSTEM_MALLOC - "SYSTEM_MALLOC", -#endif -#if SQLITE_TCL - "TCL", -#endif -#if defined(SQLITE_TEMP_STORE) && !defined(SQLITE_TEMP_STORE_xc) - "TEMP_STORE=" CTIMEOPT_VAL(SQLITE_TEMP_STORE), -#endif -#if SQLITE_TEST - "TEST", -#endif -#if defined(SQLITE_THREADSAFE) - "THREADSAFE=" CTIMEOPT_VAL(SQLITE_THREADSAFE), -#endif -#if SQLITE_USE_ALLOCA - "USE_ALLOCA", -#endif -#if SQLITE_USER_AUTHENTICATION - "USER_AUTHENTICATION", -#endif -#if SQLITE_WIN32_MALLOC - "WIN32_MALLOC", -#endif -#if SQLITE_ZERO_MALLOC - "ZERO_MALLOC" -#endif -}; - -/* -** Given the name of a compile-time option, return true if that option -** was used and false if not. -** -** The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix -** is not required for a match. -*/ -SQLITE_API int sqlite3_compileoption_used(const char *zOptName){ - int i, n; - -#if SQLITE_ENABLE_API_ARMOR - if( zOptName==0 ){ - (void)SQLITE_MISUSE_BKPT; - return 0; - } -#endif - if( sqlite3StrNICmp(zOptName, "SQLITE_", 7)==0 ) zOptName += 7; - n = sqlite3Strlen30(zOptName); - - /* Since ArraySize(azCompileOpt) is normally in single digits, a - ** linear search is adequate. No need for a binary search. */ - for(i=0; i=0 && NaDb[] (or -1) */ - u8 nullRow; /* True if pointing to a row with no data */ - u8 deferredMoveto; /* A call to sqlite3BtreeMoveto() is needed */ - u8 isTable; /* True for rowid tables. False for indexes */ + u8 eCurType; /* One of the CURTYPE_* values above */ + i8 iDb; /* Index of cursor database in db->aDb[] (or -1) */ + u8 nullRow; /* True if pointing to a row with no data */ + u8 deferredMoveto; /* A call to sqlite3BtreeMoveto() is needed */ + u8 isTable; /* True for rowid tables. False for indexes */ #ifdef SQLITE_DEBUG - u8 seekOp; /* Most recent seek operation on this cursor */ - u8 wrFlag; /* The wrFlag argument to sqlite3BtreeCursor() */ -#endif - Bool isEphemeral:1; /* True for an ephemeral table */ - Bool useRandomRowid:1;/* Generate new record numbers semi-randomly */ - Bool isOrdered:1; /* True if the table is not BTREE_UNORDERED */ - Pgno pgnoRoot; /* Root page of the open btree cursor */ - i16 nField; /* Number of fields in the header */ - u16 nHdrParsed; /* Number of header fields parsed so far */ + u8 seekOp; /* Most recent seek operation on this cursor */ + u8 wrFlag; /* The wrFlag argument to sqlite3BtreeCursor() */ +#endif + Bool isEphemeral:1; /* True for an ephemeral table */ + Bool useRandomRowid:1; /* Generate new record numbers semi-randomly */ + Bool isOrdered:1; /* True if the table is not BTREE_UNORDERED */ + Btree *pBtx; /* Separate file holding temporary table */ + i64 seqCount; /* Sequence counter */ + int *aAltMap; /* Mapping from table to index column numbers */ + + /* Cached OP_Column parse information is only valid if cacheStatus matches + ** Vdbe.cacheCtr. Vdbe.cacheCtr will never take on the value of + ** CACHE_STALE (0) and so setting cacheStatus=CACHE_STALE guarantees that + ** the cache is out of date. */ + u32 cacheStatus; /* Cache is valid if this matches Vdbe.cacheCtr */ + int seekResult; /* Result of previous sqlite3BtreeMoveto() or 0 + ** if there have been no prior seeks on the cursor. */ + /* seekResult does not distinguish between "no seeks have ever occurred + ** on this cursor" and "the most recent seek was an exact match". + ** For CURTYPE_PSEUDO, seekResult is the register holding the record */ + + /* When a new VdbeCursor is allocated, only the fields above are zeroed. + ** The fields that follow are uninitialized, and must be individually + ** initialized prior to first use. */ + VdbeCursor *pAltCursor; /* Associated index cursor from which to read */ union { - BtCursor *pCursor; /* CURTYPE_BTREE. Btree cursor */ - sqlite3_vtab_cursor *pVCur; /* CURTYPE_VTAB. Vtab cursor */ - int pseudoTableReg; /* CURTYPE_PSEUDO. Reg holding content. */ - VdbeSorter *pSorter; /* CURTYPE_SORTER. Sorter object */ + BtCursor *pCursor; /* CURTYPE_BTREE or _PSEUDO. Btree cursor */ + sqlite3_vtab_cursor *pVCur; /* CURTYPE_VTAB. Vtab cursor */ + VdbeSorter *pSorter; /* CURTYPE_SORTER. Sorter object */ } uc; - Btree *pBt; /* Separate file holding temporary table */ - KeyInfo *pKeyInfo; /* Info about index keys needed by index cursors */ - int seekResult; /* Result of previous sqlite3BtreeMoveto() */ - i64 seqCount; /* Sequence counter */ - i64 movetoTarget; /* Argument to the deferred sqlite3BtreeMoveto() */ - VdbeCursor *pAltCursor; /* Associated index cursor from which to read */ - int *aAltMap; /* Mapping from table to index column numbers */ + KeyInfo *pKeyInfo; /* Info about index keys needed by index cursors */ + u32 iHdrOffset; /* Offset to next unparsed byte of the header */ + Pgno pgnoRoot; /* Root page of the open btree cursor */ + i16 nField; /* Number of fields in the header */ + u16 nHdrParsed; /* Number of header fields parsed so far */ + i64 movetoTarget; /* Argument to the deferred sqlite3BtreeMoveto() */ + u32 *aOffset; /* Pointer to aType[nField] */ + const u8 *aRow; /* Data for the current row, if all on one page */ + u32 payloadSize; /* Total number of bytes in the record */ + u32 szRow; /* Byte available in aRow */ #ifdef SQLITE_ENABLE_COLUMN_USED_MASK - u64 maskUsed; /* Mask of columns used by this cursor */ + u64 maskUsed; /* Mask of columns used by this cursor */ #endif - /* Cached information about the header for the data record that the - ** cursor is currently pointing to. Only valid if cacheStatus matches - ** Vdbe.cacheCtr. Vdbe.cacheCtr will never take on the value of - ** CACHE_STALE and so setting cacheStatus=CACHE_STALE guarantees that - ** the cache is out of date. - ** - ** aRow might point to (ephemeral) data for the current row, or it might - ** be NULL. - */ - u32 cacheStatus; /* Cache is valid if this matches Vdbe.cacheCtr */ - u32 payloadSize; /* Total number of bytes in the record */ - u32 szRow; /* Byte available in aRow */ - u32 iHdrOffset; /* Offset to next unparsed byte of the header */ - const u8 *aRow; /* Data for the current row, if all on one page */ - u32 *aOffset; /* Pointer to aType[nField] */ - u32 aType[1]; /* Type values for all entries in the record */ /* 2*nField extra array elements allocated for aType[], beyond the one ** static element declared in the structure. nField total array slots for ** aType[] and nField+1 array slots for aOffset[] */ + u32 aType[1]; /* Type values record decode. MUST BE LAST */ }; @@ -17848,6 +18797,7 @@ struct VdbeFrame { i64 *anExec; /* Event counters from parent frame */ Mem *aMem; /* Array of memory cells for parent frame */ VdbeCursor **apCsr; /* Array of Vdbe cursors for parent frame */ + u8 *aOnce; /* Bitmask used by OP_Once */ void *token; /* Copy of SubProgram.token */ i64 lastRowid; /* Last insert rowid (sqlite3.lastRowid) */ AuxData *pAuxData; /* Linked list of auxdata allocations */ @@ -17868,11 +18818,12 @@ struct VdbeFrame { ** structures. Each Mem struct may cache multiple representations (string, ** integer etc.) of the same value. */ -struct Mem { +struct sqlite3_value { union MemValue { double r; /* Real value used when MEM_Real is set in flags */ i64 i; /* Integer value used when MEM_Int is set in flags */ - int nZero; /* Used when bit MEM_Zero is set in flags */ + int nZero; /* Extra zero bytes when MEM_Zero and MEM_Blob set */ + const char *zPType; /* Pointer type when MEM_Term|MEM_Subtype|MEM_Null */ FuncDef *pDef; /* Used only when flags==MEM_Agg */ RowSet *pRowSet; /* Used only when flags==MEM_RowSet */ VdbeFrame *pFrame; /* Used when flags==MEM_Frame */ @@ -17904,7 +18855,10 @@ struct Mem { ** representations of the value stored in the Mem struct. ** ** If the MEM_Null flag is set, then the value is an SQL NULL value. -** No other flags may be set in this case. +** For a pointer type created using sqlite3_bind_pointer() or +** sqlite3_result_pointer() the MEM_Term and MEM_Subtype flags are also set. +** If both MEM_Null and MEM_Zero are set, that means that the value is +** an unchanging column value from VColumn. ** ** If the MEM_Str flag is set then Mem.z points at a string representation. ** Usually this is encoded in the same unicode encoding as the main @@ -17912,7 +18866,7 @@ struct Mem { ** set, then the string is nul terminated. The MEM_Int and MEM_Real ** flags may coexist with the MEM_Str flag. */ -#define MEM_Null 0x0001 /* Value is NULL */ +#define MEM_Null 0x0001 /* Value is NULL (or a pointer) */ #define MEM_Str 0x0002 /* Value is a string */ #define MEM_Int 0x0004 /* Value is an integer */ #define MEM_Real 0x0008 /* Value is a real number */ @@ -17922,7 +18876,7 @@ struct Mem { #define MEM_Frame 0x0040 /* Value is a VdbeFrame object */ #define MEM_Undefined 0x0080 /* Value is undefined */ #define MEM_Cleared 0x0100 /* NULL set by OP_Null, not from data */ -#define MEM_TypeMask 0x81ff /* Mask of type bits */ +#define MEM_TypeMask 0xc1ff /* Mask of type bits */ /* Whenever Mem contains a valid string or blob representation, one of @@ -17930,7 +18884,7 @@ struct Mem { ** policy for Mem.z. The MEM_Term flag tells us whether or not the ** string is \000 or \u0000 terminated */ -#define MEM_Term 0x0200 /* String rep is nul terminated */ +#define MEM_Term 0x0200 /* String in Mem.z is zero terminated */ #define MEM_Dyn 0x0400 /* Need to call Mem.xDel() on Mem.z */ #define MEM_Static 0x0800 /* Mem.z points to a static string */ #define MEM_Ephem 0x1000 /* Mem.z points to an ephemeral string */ @@ -17970,11 +18924,11 @@ struct Mem { ** when the VM is halted (if not before). */ struct AuxData { - int iOp; /* Instruction number of OP_Function opcode */ - int iArg; /* Index of function argument. */ + int iAuxOp; /* Instruction number of OP_Function opcode */ + int iAuxArg; /* Index of function argument. */ void *pAux; /* Aux data pointer */ - void (*xDelete)(void *); /* Destructor for the aux data */ - AuxData *pNext; /* Next element in list */ + void (*xDeleteAux)(void*); /* Destructor for the aux data */ + AuxData *pNextAux; /* Next element in list */ }; /* @@ -18030,7 +18984,6 @@ struct Vdbe { Vdbe *pPrev,*pNext; /* Linked list of VDBEs with the same Vdbe.db */ Parse *pParse; /* Parsing context used to create this Vdbe */ ynVar nVar; /* Number of entries in aVar[] */ - ynVar nzVar; /* Number of entries in azVar[] */ u32 magic; /* Magic number for sanity checking */ int nMem; /* Number of memory locations currently allocated */ int nCursor; /* Number of slots in apCsr[] */ @@ -18055,7 +19008,7 @@ struct Vdbe { char *zErrMsg; /* Error message written here */ VdbeCursor **apCsr; /* One element of this array for each open cursor */ Mem *aVar; /* Values for the OP_Variable opcode. */ - char **azVar; /* Name of variables */ + VList *pVList; /* Name of variables */ #ifndef SQLITE_OMIT_TRACE i64 startTime; /* Time when query started - used for profiling */ #endif @@ -18066,6 +19019,7 @@ struct Vdbe { u16 nResColumn; /* Number of columns in one row of the result set */ u8 errorAction; /* Recovery action to do in case of an error */ u8 minWriteFileFormat; /* Minimum file format for writable database files */ + u8 prepFlags; /* SQLITE_PREPARE_* flags */ bft expired:1; /* True if the VM needs to be recompiled */ bft doingRerun:1; /* True if rerunning after an auto-reprepare */ bft explain:2; /* True if EXPLAIN present on SQL command */ @@ -18074,10 +19028,9 @@ struct Vdbe { bft usesStmtJournal:1; /* True if uses a statement journal */ bft readOnly:1; /* True for statements that do not write */ bft bIsReader:1; /* True for statements that read */ - bft isPrepareV2:1; /* True if prepared with prepare_v2() */ yDbMask btreeMask; /* Bitmask of db->aDb[] entries referenced */ yDbMask lockMask; /* Subset of btreeMask that requires a lock */ - u32 aCounter[5]; /* Counters used by sqlite3_stmt_status() */ + u32 aCounter[7]; /* Counters used by sqlite3_stmt_status() */ char *zSql; /* Text of the SQL statement that generated this */ void *pFree; /* Free this when deleting the vdbe */ VdbeFrame *pFrame; /* Parent frame */ @@ -18119,6 +19072,7 @@ struct PreUpdate { i64 iKey2; /* Second key value passed to hook */ Mem *aNew; /* Array of new.* values */ Table *pTab; /* Schema object being upated */ + Index *pPk; /* PK index if pTab is WITHOUT ROWID */ }; /* @@ -18158,6 +19112,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemSetInt64(Mem*, i64); #else SQLITE_PRIVATE void sqlite3VdbeMemSetDouble(Mem*, double); #endif +SQLITE_PRIVATE void sqlite3VdbeMemSetPointer(Mem*, void*, const char*, void(*)(void*)); SQLITE_PRIVATE void sqlite3VdbeMemInit(Mem*,sqlite3*,u16); SQLITE_PRIVATE void sqlite3VdbeMemSetNull(Mem*); SQLITE_PRIVATE void sqlite3VdbeMemSetZeroBlob(Mem*,int); @@ -18171,7 +19126,7 @@ SQLITE_PRIVATE void sqlite3VdbeIntegerAffinity(Mem*); SQLITE_PRIVATE int sqlite3VdbeMemRealify(Mem*); SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem*); SQLITE_PRIVATE void sqlite3VdbeMemCast(Mem*,u8,u8); -SQLITE_PRIVATE int sqlite3VdbeMemFromBtree(BtCursor*,u32,u32,int,Mem*); +SQLITE_PRIVATE int sqlite3VdbeMemFromBtree(BtCursor*,u32,u32,Mem*); SQLITE_PRIVATE void sqlite3VdbeMemRelease(Mem *p); SQLITE_PRIVATE int sqlite3VdbeMemFinalize(Mem*, FuncDef*); SQLITE_PRIVATE const char *sqlite3OpcodeName(int); @@ -18189,7 +19144,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterInit(sqlite3 *, int, VdbeCursor *); SQLITE_PRIVATE void sqlite3VdbeSorterReset(sqlite3 *, VdbeSorter *); SQLITE_PRIVATE void sqlite3VdbeSorterClose(sqlite3 *, VdbeCursor *); SQLITE_PRIVATE int sqlite3VdbeSorterRowkey(const VdbeCursor *, Mem *); -SQLITE_PRIVATE int sqlite3VdbeSorterNext(sqlite3 *, const VdbeCursor *, int *); +SQLITE_PRIVATE int sqlite3VdbeSorterNext(sqlite3 *, const VdbeCursor *); SQLITE_PRIVATE int sqlite3VdbeSorterRewind(const VdbeCursor *, int *); SQLITE_PRIVATE int sqlite3VdbeSorterWrite(const VdbeCursor *, Mem *); SQLITE_PRIVATE int sqlite3VdbeSorterCompare(const VdbeCursor *, Mem *, int, int *); @@ -18217,12 +19172,14 @@ SQLITE_PRIVATE int sqlite3VdbeCheckFk(Vdbe *, int); # define sqlite3VdbeCheckFk(p,i) 0 #endif -SQLITE_PRIVATE int sqlite3VdbeMemTranslate(Mem*, u8); #ifdef SQLITE_DEBUG SQLITE_PRIVATE void sqlite3VdbePrintSql(Vdbe*); SQLITE_PRIVATE void sqlite3VdbeMemPrettyPrint(Mem *pMem, char *zBuf); #endif -SQLITE_PRIVATE int sqlite3VdbeMemHandleBom(Mem *pMem); +#ifndef SQLITE_OMIT_UTF16 +SQLITE_PRIVATE int sqlite3VdbeMemTranslate(Mem*, u8); +SQLITE_PRIVATE int sqlite3VdbeMemHandleBom(Mem *pMem); +#endif #ifndef SQLITE_OMIT_INCRBLOB SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *); @@ -18343,7 +19300,6 @@ SQLITE_PRIVATE void sqlite3StatusHighwater(int op, int X){ : sqlite3MallocMutex()) ); assert( op==SQLITE_STATUS_MALLOC_SIZE || op==SQLITE_STATUS_PAGECACHE_SIZE - || op==SQLITE_STATUS_SCRATCH_SIZE || op==SQLITE_STATUS_PARSER_STACK ); if( newValue>wsdStat.mxValue[op] ){ wsdStat.mxValue[op] = newValue; @@ -18392,6 +19348,28 @@ SQLITE_API int sqlite3_status(int op, int *pCurrent, int *pHighwater, int resetF return rc; } +/* +** Return the number of LookasideSlot elements on the linked list +*/ +static u32 countLookasideSlots(LookasideSlot *p){ + u32 cnt = 0; + while( p ){ + p = p->pNext; + cnt++; + } + return cnt; +} + +/* +** Count the number of slots of lookaside memory that are outstanding +*/ +SQLITE_PRIVATE int sqlite3LookasideUsed(sqlite3 *db, int *pHighwater){ + u32 nInit = countLookasideSlots(db->lookaside.pInit); + u32 nFree = countLookasideSlots(db->lookaside.pFree); + if( pHighwater ) *pHighwater = db->lookaside.nSlot - nInit; + return db->lookaside.nSlot - (nInit+nFree); +} + /* ** Query status information for a single database connection */ @@ -18411,10 +19389,15 @@ SQLITE_API int sqlite3_db_status( sqlite3_mutex_enter(db->mutex); switch( op ){ case SQLITE_DBSTATUS_LOOKASIDE_USED: { - *pCurrent = db->lookaside.nOut; - *pHighwater = db->lookaside.mxOut; + *pCurrent = sqlite3LookasideUsed(db, pHighwater); if( resetFlag ){ - db->lookaside.mxOut = db->lookaside.nOut; + LookasideSlot *p = db->lookaside.pFree; + if( p ){ + while( p->pNext ) p = p->pNext; + p->pNext = db->lookaside.pInit; + db->lookaside.pInit = db->lookaside.pFree; + db->lookaside.pFree = 0; + } } break; } @@ -18614,7 +19597,7 @@ SQLITE_API int sqlite3_db_status( ** ** Jean Meeus ** Astronomical Algorithms, 2nd Edition, 1998 -** ISBM 0-943396-61-1 +** ISBN 0-943396-61-1 ** Willmann-Bell, Inc ** Richmond, Virginia (USA) */ @@ -18640,16 +19623,18 @@ struct tm *__cdecl localtime(const time_t *); */ typedef struct DateTime DateTime; struct DateTime { - sqlite3_int64 iJD; /* The julian day number times 86400000 */ - int Y, M, D; /* Year, month, and day */ - int h, m; /* Hour and minutes */ - int tz; /* Timezone offset in minutes */ - double s; /* Seconds */ - char validYMD; /* True (1) if Y,M,D are valid */ - char validHMS; /* True (1) if h,m,s are valid */ - char validJD; /* True (1) if iJD is valid */ - char validTZ; /* True (1) if tz is valid */ - char tzSet; /* Timezone was set explicitly */ + sqlite3_int64 iJD; /* The julian day number times 86400000 */ + int Y, M, D; /* Year, month, and day */ + int h, m; /* Hour and minutes */ + int tz; /* Timezone offset in minutes */ + double s; /* Seconds */ + char validJD; /* True (1) if iJD is valid */ + char rawS; /* Raw numeric value stored in s */ + char validYMD; /* True (1) if Y,M,D are valid */ + char validHMS; /* True (1) if h,m,s are valid */ + char validTZ; /* True (1) if tz is valid */ + char tzSet; /* Timezone was set explicitly */ + char isError; /* An overflow has occurred */ }; @@ -18797,6 +19782,7 @@ static int parseHhMmSs(const char *zDate, DateTime *p){ s = 0; } p->validJD = 0; + p->rawS = 0; p->validHMS = 1; p->h = h; p->m = m; @@ -18806,6 +19792,14 @@ static int parseHhMmSs(const char *zDate, DateTime *p){ return 0; } +/* +** Put the DateTime object into its error state. +*/ +static void datetimeError(DateTime *p){ + memset(p, 0, sizeof(*p)); + p->isError = 1; +} + /* ** Convert from YYYY-MM-DD HH:MM:SS to julian day. We always assume ** that the YYYY-MM-DD is according to the Gregorian calendar. @@ -18825,6 +19819,10 @@ static void computeJD(DateTime *p){ M = 1; D = 1; } + if( Y<-4713 || Y>9999 || p->rawS ){ + datetimeError(p); + return; + } if( M<=2 ){ Y--; M += 12; @@ -18905,6 +19903,21 @@ static int setDateTimeToCurrent(sqlite3_context *context, DateTime *p){ } } +/* +** Input "r" is a numeric quantity which might be a julian day number, +** or the number of seconds since 1970. If the value if r is within +** range of a julian day number, install it as such and set validJD. +** If the value is a valid unix timestamp, put it in p->s and set p->rawS. +*/ +static void setRawDateNumber(DateTime *p, double r){ + p->s = r; + p->rawS = 1; + if( r>=0.0 && r<5373484.5 ){ + p->iJD = (sqlite3_int64)(r*86400000.0 + 0.5); + p->validJD = 1; + } +} + /* ** Attempt to parse the given string into a julian day number. Return ** the number of errors. @@ -18931,16 +19944,33 @@ static int parseDateOrTime( return 0; }else if( parseHhMmSs(zDate, p)==0 ){ return 0; - }else if( sqlite3StrICmp(zDate,"now")==0){ + }else if( sqlite3StrICmp(zDate,"now")==0 && sqlite3NotPureFunc(context) ){ return setDateTimeToCurrent(context, p); }else if( sqlite3AtoF(zDate, &r, sqlite3Strlen30(zDate), SQLITE_UTF8) ){ - p->iJD = (sqlite3_int64)(r*86400000.0 + 0.5); - p->validJD = 1; + setRawDateNumber(p, r); return 0; } return 1; } +/* The julian day number for 9999-12-31 23:59:59.999 is 5373484.4999999. +** Multiplying this by 86400000 gives 464269060799999 as the maximum value +** for DateTime.iJD. +** +** But some older compilers (ex: gcc 4.2.1 on older Macs) cannot deal with +** such a large integer literal, so we have to encode it. +*/ +#define INT_464269060799999 ((((i64)0x1a640)<<32)|0x1072fdff) + +/* +** Return TRUE if the given julian day number is within range. +** +** The input is the JulianDay times 86400000. +*/ +static int validJulianDay(sqlite3_int64 iJD){ + return iJD>=0 && iJD<=INT_464269060799999; +} + /* ** Compute the Year, Month, and Day from the julian day number. */ @@ -18951,6 +19981,9 @@ static void computeYMD(DateTime *p){ p->Y = 2000; p->M = 1; p->D = 1; + }else if( !validJulianDay(p->iJD) ){ + datetimeError(p); + return; }else{ Z = (int)((p->iJD + 43200000)/86400000); A = (int)((Z - 1867216.25)/36524.25); @@ -18982,6 +20015,7 @@ static void computeHMS(DateTime *p){ s -= p->h*3600; p->m = s/60; p->s += s - p->m*60; + p->rawS = 0; p->validHMS = 1; } @@ -19043,14 +20077,14 @@ static int osLocaltime(time_t *t, struct tm *pTm){ #endif sqlite3_mutex_enter(mutex); pX = localtime(t); -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE if( sqlite3GlobalConfig.bLocaltimeFault ) pX = 0; #endif if( pX ) *pTm = *pX; sqlite3_mutex_leave(mutex); rc = pX==0; #else -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE if( sqlite3GlobalConfig.bLocaltimeFault ) return 1; #endif #if HAVE_LOCALTIME_R @@ -19121,13 +20155,38 @@ static sqlite3_int64 localtimeOffset( y.validYMD = 1; y.validHMS = 1; y.validJD = 0; + y.rawS = 0; y.validTZ = 0; + y.isError = 0; computeJD(&y); *pRc = SQLITE_OK; return y.iJD - x.iJD; } #endif /* SQLITE_OMIT_LOCALTIME */ +/* +** The following table defines various date transformations of the form +** +** 'NNN days' +** +** Where NNN is an arbitrary floating-point number and "days" can be one +** of several units of time. +*/ +static const struct { + u8 eType; /* Transformation type code */ + u8 nName; /* Length of th name */ + char *zName; /* Name of the transformation */ + double rLimit; /* Maximum NNN value for this transform */ + double rXform; /* Constant used for this transform */ +} aXformType[] = { + { 0, 6, "second", 464269060800.0, 86400000.0/(24.0*60.0*60.0) }, + { 0, 6, "minute", 7737817680.0, 86400000.0/(24.0*60.0) }, + { 0, 4, "hour", 128963628.0, 86400000.0/24.0 }, + { 0, 3, "day", 5373485.0, 86400000.0 }, + { 1, 5, "month", 176546.0, 30.0*86400000.0 }, + { 2, 4, "year", 14713.0, 365.0*86400000.0 }, +}; + /* ** Process a modifier to a date-time stamp. The modifiers are ** as follows: @@ -19152,17 +20211,15 @@ static sqlite3_int64 localtimeOffset( ** to context pCtx. If the error is an unrecognized modifier, no error is ** written to pCtx. */ -static int parseModifier(sqlite3_context *pCtx, const char *zMod, DateTime *p){ +static int parseModifier( + sqlite3_context *pCtx, /* Function context */ + const char *z, /* The text of the modifier */ + int n, /* Length of zMod in bytes */ + DateTime *p /* The date/time value to be modified */ +){ int rc = 1; - int n; double r; - char *z, zBuf[30]; - z = zBuf; - for(n=0; niJD += localtimeOffset(p, pCtx, &rc); clearYMD_HMS_TZ(p); @@ -19182,16 +20239,21 @@ static int parseModifier(sqlite3_context *pCtx, const char *zMod, DateTime *p){ /* ** unixepoch ** - ** Treat the current value of p->iJD as the number of + ** Treat the current value of p->s as the number of ** seconds since 1970. Convert to a real julian day number. */ - if( strcmp(z, "unixepoch")==0 && p->validJD ){ - p->iJD = (p->iJD + 43200)/86400 + 21086676*(i64)10000000; - clearYMD_HMS_TZ(p); - rc = 0; + if( sqlite3_stricmp(z, "unixepoch")==0 && p->rawS ){ + r = p->s*1000.0 + 210866760000000.0; + if( r>=0.0 && r<464269060800000.0 ){ + clearYMD_HMS_TZ(p); + p->iJD = (sqlite3_int64)r; + p->validJD = 1; + p->rawS = 0; + rc = 0; + } } #ifndef SQLITE_OMIT_LOCALTIME - else if( strcmp(z, "utc")==0 ){ + else if( sqlite3_stricmp(z, "utc")==0 && sqlite3NotPureFunc(pCtx) ){ if( p->tzSet==0 ){ sqlite3_int64 c1; computeJD(p); @@ -19217,7 +20279,7 @@ static int parseModifier(sqlite3_context *pCtx, const char *zMod, DateTime *p){ ** weekday N where 0==Sunday, 1==Monday, and so forth. If the ** date is already on the appropriate weekday, this is a no-op. */ - if( strncmp(z, "weekday ", 8)==0 + if( sqlite3_strnicmp(z, "weekday ", 8)==0 && sqlite3AtoF(&z[8], &r, sqlite3Strlen30(&z[8]), SQLITE_UTF8) && (n=(int)r)==r && n>=0 && r<7 ){ sqlite3_int64 Z; @@ -19240,23 +20302,24 @@ static int parseModifier(sqlite3_context *pCtx, const char *zMod, DateTime *p){ ** Move the date backwards to the beginning of the current day, ** or month or year. */ - if( strncmp(z, "start of ", 9)!=0 ) break; + if( sqlite3_strnicmp(z, "start of ", 9)!=0 ) break; + if( !p->validJD && !p->validYMD && !p->validHMS ) break; z += 9; computeYMD(p); p->validHMS = 1; p->h = p->m = 0; p->s = 0.0; + p->rawS = 0; p->validTZ = 0; p->validJD = 0; - if( strcmp(z,"month")==0 ){ + if( sqlite3_stricmp(z,"month")==0 ){ p->D = 1; rc = 0; - }else if( strcmp(z,"year")==0 ){ - computeYMD(p); + }else if( sqlite3_stricmp(z,"year")==0 ){ p->M = 1; p->D = 1; rc = 0; - }else if( strcmp(z,"day")==0 ){ + }else if( sqlite3_stricmp(z,"day")==0 ){ rc = 0; } break; @@ -19274,6 +20337,7 @@ static int parseModifier(sqlite3_context *pCtx, const char *zMod, DateTime *p){ case '8': case '9': { double rRounder; + int i; for(n=1; z[n] && z[n]!=':' && !sqlite3Isspace(z[n]); n++){} if( !sqlite3AtoF(z, &r, n, SQLITE_UTF8) ){ rc = 1; @@ -19302,46 +20366,48 @@ static int parseModifier(sqlite3_context *pCtx, const char *zMod, DateTime *p){ rc = 0; break; } + + /* If control reaches this point, it means the transformation is + ** one of the forms like "+NNN days". */ z += n; while( sqlite3Isspace(*z) ) z++; n = sqlite3Strlen30(z); if( n>10 || n<3 ) break; - if( z[n-1]=='s' ){ z[n-1] = 0; n--; } + if( sqlite3UpperToLower[(u8)z[n-1]]=='s' ) n--; computeJD(p); - rc = 0; + rc = 1; rRounder = r<0 ? -0.5 : +0.5; - if( n==3 && strcmp(z,"day")==0 ){ - p->iJD += (sqlite3_int64)(r*86400000.0 + rRounder); - }else if( n==4 && strcmp(z,"hour")==0 ){ - p->iJD += (sqlite3_int64)(r*(86400000.0/24.0) + rRounder); - }else if( n==6 && strcmp(z,"minute")==0 ){ - p->iJD += (sqlite3_int64)(r*(86400000.0/(24.0*60.0)) + rRounder); - }else if( n==6 && strcmp(z,"second")==0 ){ - p->iJD += (sqlite3_int64)(r*(86400000.0/(24.0*60.0*60.0)) + rRounder); - }else if( n==5 && strcmp(z,"month")==0 ){ - int x, y; - computeYMD_HMS(p); - p->M += (int)r; - x = p->M>0 ? (p->M-1)/12 : (p->M-12)/12; - p->Y += x; - p->M -= x*12; - p->validJD = 0; - computeJD(p); - y = (int)r; - if( y!=r ){ - p->iJD += (sqlite3_int64)((r - y)*30.0*86400000.0 + rRounder); - } - }else if( n==4 && strcmp(z,"year")==0 ){ - int y = (int)r; - computeYMD_HMS(p); - p->Y += y; - p->validJD = 0; - computeJD(p); - if( y!=r ){ - p->iJD += (sqlite3_int64)((r - y)*365.0*86400000.0 + rRounder); + for(i=0; i-aXformType[i].rLimit && rM += (int)r; + x = p->M>0 ? (p->M-1)/12 : (p->M-12)/12; + p->Y += x; + p->M -= x*12; + p->validJD = 0; + r -= (int)r; + break; + } + case 2: { /* Special processing to add years */ + int y = (int)r; + computeYMD_HMS(p); + p->Y += y; + p->validJD = 0; + r -= (int)r; + break; + } + } + computeJD(p); + p->iJD += (sqlite3_int64)(r*aXformType[i].rXform + rRounder); + rc = 0; + break; } - }else{ - rc = 1; } clearYMD_HMS_TZ(p); break; @@ -19368,7 +20434,7 @@ static int isDate( sqlite3_value **argv, DateTime *p ){ - int i; + int i, n; const unsigned char *z; int eType; memset(p, 0, sizeof(*p)); @@ -19377,8 +20443,7 @@ static int isDate( } if( (eType = sqlite3_value_type(argv[0]))==SQLITE_FLOAT || eType==SQLITE_INTEGER ){ - p->iJD = (sqlite3_int64)(sqlite3_value_double(argv[0])*86400000.0 + 0.5); - p->validJD = 1; + setRawDateNumber(p, sqlite3_value_double(argv[0])); }else{ z = sqlite3_value_text(argv[0]); if( !z || parseDateOrTime(context, (char*)z, p) ){ @@ -19387,8 +20452,11 @@ static int isDate( } for(i=1; iisError || !validJulianDay(p->iJD) ) return 1; return 0; } @@ -19721,11 +20789,11 @@ static void currentTimeFunc( SQLITE_PRIVATE void sqlite3RegisterDateTimeFunctions(void){ static FuncDef aDateTimeFuncs[] = { #ifndef SQLITE_OMIT_DATETIME_FUNCS - DFUNCTION(julianday, -1, 0, 0, juliandayFunc ), - DFUNCTION(date, -1, 0, 0, dateFunc ), - DFUNCTION(time, -1, 0, 0, timeFunc ), - DFUNCTION(datetime, -1, 0, 0, datetimeFunc ), - DFUNCTION(strftime, -1, 0, 0, strftimeFunc ), + PURE_DATE(julianday, -1, 0, 0, juliandayFunc ), + PURE_DATE(date, -1, 0, 0, dateFunc ), + PURE_DATE(time, -1, 0, 0, timeFunc ), + PURE_DATE(datetime, -1, 0, 0, datetimeFunc ), + PURE_DATE(strftime, -1, 0, 0, strftimeFunc ), DFUNCTION(current_time, 0, 0, 0, ctimeFunc ), DFUNCTION(current_timestamp, 0, 0, 0, ctimestampFunc), DFUNCTION(current_date, 0, 0, 0, cdateFunc ), @@ -19840,7 +20908,7 @@ SQLITE_PRIVATE int sqlite3OsTruncate(sqlite3_file *id, i64 size){ } SQLITE_PRIVATE int sqlite3OsSync(sqlite3_file *id, int flags){ DO_OS_MALLOC_TEST(id); - return id->pMethods->xSync(id, flags); + return flags ? id->pMethods->xSync(id, flags) : SQLITE_OK; } SQLITE_PRIVATE int sqlite3OsFileSize(sqlite3_file *id, i64 *pSize){ DO_OS_MALLOC_TEST(id); @@ -19895,6 +20963,7 @@ SQLITE_PRIVATE int sqlite3OsSectorSize(sqlite3_file *id){ SQLITE_PRIVATE int sqlite3OsDeviceCharacteristics(sqlite3_file *id){ return id->pMethods->xDeviceCharacteristics(id); } +#ifndef SQLITE_OMIT_WAL SQLITE_PRIVATE int sqlite3OsShmLock(sqlite3_file *id, int offset, int n, int flags){ return id->pMethods->xShmLock(id, offset, n, flags); } @@ -19914,6 +20983,7 @@ SQLITE_PRIVATE int sqlite3OsShmMap( DO_OS_MALLOC_TEST(id); return id->pMethods->xShmMap(id, iPage, pgsz, bExtend, pp); } +#endif /* SQLITE_OMIT_WAL */ #if SQLITE_MAX_MMAP_SIZE>0 /* The real implementation of xFetch and xUnfetch */ @@ -20186,7 +21256,7 @@ SQLITE_API int sqlite3_vfs_unregister(sqlite3_vfs *pVfs){ /* #include "sqliteInt.h" */ -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE /* ** Global variables. @@ -20244,7 +21314,7 @@ SQLITE_PRIVATE void sqlite3EndBenignMalloc(void){ } } -#endif /* #ifndef SQLITE_OMIT_BUILTIN_TEST */ +#endif /* #ifndef SQLITE_UNTESTABLE */ /************** End of fault.c ***********************************************/ /************** Begin file mem0.c ********************************************/ @@ -20369,7 +21439,9 @@ SQLITE_PRIVATE void sqlite3MemSetDefault(void){ */ #include #include +#ifdef SQLITE_MIGHT_BE_SINGLE_CORE #include +#endif /* SQLITE_MIGHT_BE_SINGLE_CORE */ static malloc_zone_t* _sqliteZone_; #define SQLITE_MALLOC(x) malloc_zone_malloc(_sqliteZone_, (x)) #define SQLITE_FREE(x) malloc_zone_free(_sqliteZone_, (x)); @@ -20437,7 +21509,9 @@ static malloc_zone_t* _sqliteZone_; */ static void *sqlite3MemMalloc(int nByte){ #ifdef SQLITE_MALLOCSIZE - void *p = SQLITE_MALLOC( nByte ); + void *p; + testcase( ROUND8(nByte)==nByte ); + p = SQLITE_MALLOC( nByte ); if( p==0 ){ testcase( sqlite3GlobalConfig.xLog!=0 ); sqlite3_log(SQLITE_NOMEM, "failed to allocate %u bytes of memory", nByte); @@ -20446,7 +21520,7 @@ static void *sqlite3MemMalloc(int nByte){ #else sqlite3_int64 *p; assert( nByte>0 ); - nByte = ROUND8(nByte); + testcase( ROUND8(nByte)!=nByte ); p = SQLITE_MALLOC( nByte+8 ); if( p ){ p[0] = nByte; @@ -20560,19 +21634,10 @@ static int sqlite3MemInit(void *NotUsed){ }else{ /* only 1 core, use our own zone to contention over global locks, ** e.g. we have our own dedicated locks */ - bool success; - malloc_zone_t* newzone = malloc_create_zone(4096, 0); - malloc_set_zone_name(newzone, "Sqlite_Heap"); - do{ - success = OSAtomicCompareAndSwapPtrBarrier(NULL, newzone, - (void * volatile *)&_sqliteZone_); - }while(!_sqliteZone_); - if( !success ){ - /* somebody registered a zone first */ - malloc_destroy_zone(newzone); - } + _sqliteZone_ = malloc_create_zone(4096, 0); + malloc_set_zone_name(_sqliteZone_, "Sqlite_Heap"); } -#endif +#endif /* defined(__APPLE__) && !defined(SQLITE_WITHOUT_ZONEMALLOC) */ UNUSED_PARAMETER(NotUsed); return SQLITE_OK; } @@ -22437,6 +23502,193 @@ static SQLITE_WSD int mutexIsInit = 0; #ifndef SQLITE_MUTEX_OMIT + +#ifdef SQLITE_ENABLE_MULTITHREADED_CHECKS +/* +** This block (enclosed by SQLITE_ENABLE_MULTITHREADED_CHECKS) contains +** the implementation of a wrapper around the system default mutex +** implementation (sqlite3DefaultMutex()). +** +** Most calls are passed directly through to the underlying default +** mutex implementation. Except, if a mutex is configured by calling +** sqlite3MutexWarnOnContention() on it, then if contention is ever +** encountered within xMutexEnter() a warning is emitted via sqlite3_log(). +** +** This type of mutex is used as the database handle mutex when testing +** apps that usually use SQLITE_CONFIG_MULTITHREAD mode. +*/ + +/* +** Type for all mutexes used when SQLITE_ENABLE_MULTITHREADED_CHECKS +** is defined. Variable CheckMutex.mutex is a pointer to the real mutex +** allocated by the system mutex implementation. Variable iType is usually set +** to the type of mutex requested - SQLITE_MUTEX_RECURSIVE, SQLITE_MUTEX_FAST +** or one of the static mutex identifiers. Or, if this is a recursive mutex +** that has been configured using sqlite3MutexWarnOnContention(), it is +** set to SQLITE_MUTEX_WARNONCONTENTION. +*/ +typedef struct CheckMutex CheckMutex; +struct CheckMutex { + int iType; + sqlite3_mutex *mutex; +}; + +#define SQLITE_MUTEX_WARNONCONTENTION (-1) + +/* +** Pointer to real mutex methods object used by the CheckMutex +** implementation. Set by checkMutexInit(). +*/ +static SQLITE_WSD const sqlite3_mutex_methods *pGlobalMutexMethods; + +#ifdef SQLITE_DEBUG +static int checkMutexHeld(sqlite3_mutex *p){ + return pGlobalMutexMethods->xMutexHeld(((CheckMutex*)p)->mutex); +} +static int checkMutexNotheld(sqlite3_mutex *p){ + return pGlobalMutexMethods->xMutexNotheld(((CheckMutex*)p)->mutex); +} +#endif + +/* +** Initialize and deinitialize the mutex subsystem. +*/ +static int checkMutexInit(void){ + pGlobalMutexMethods = sqlite3DefaultMutex(); + return SQLITE_OK; +} +static int checkMutexEnd(void){ + pGlobalMutexMethods = 0; + return SQLITE_OK; +} + +/* +** Allocate a mutex. +*/ +static sqlite3_mutex *checkMutexAlloc(int iType){ + static CheckMutex staticMutexes[] = { + {2, 0}, {3, 0}, {4, 0}, {5, 0}, + {6, 0}, {7, 0}, {8, 0}, {9, 0}, + {10, 0}, {11, 0}, {12, 0}, {13, 0} + }; + CheckMutex *p = 0; + + assert( SQLITE_MUTEX_RECURSIVE==1 && SQLITE_MUTEX_FAST==0 ); + if( iType<2 ){ + p = sqlite3MallocZero(sizeof(CheckMutex)); + if( p==0 ) return 0; + p->iType = iType; + }else{ +#ifdef SQLITE_ENABLE_API_ARMOR + if( iType-2>=ArraySize(staticMutexes) ){ + (void)SQLITE_MISUSE_BKPT; + return 0; + } +#endif + p = &staticMutexes[iType-2]; + } + + if( p->mutex==0 ){ + p->mutex = pGlobalMutexMethods->xMutexAlloc(iType); + if( p->mutex==0 ){ + if( iType<2 ){ + sqlite3_free(p); + } + p = 0; + } + } + + return (sqlite3_mutex*)p; +} + +/* +** Free a mutex. +*/ +static void checkMutexFree(sqlite3_mutex *p){ + assert( SQLITE_MUTEX_RECURSIVE<2 ); + assert( SQLITE_MUTEX_FAST<2 ); + assert( SQLITE_MUTEX_WARNONCONTENTION<2 ); + +#if SQLITE_ENABLE_API_ARMOR + if( ((CheckMutex*)p)->iType<2 ) +#endif + { + CheckMutex *pCheck = (CheckMutex*)p; + pGlobalMutexMethods->xMutexFree(pCheck->mutex); + sqlite3_free(pCheck); + } +#ifdef SQLITE_ENABLE_API_ARMOR + else{ + (void)SQLITE_MISUSE_BKPT; + } +#endif +} + +/* +** Enter the mutex. +*/ +static void checkMutexEnter(sqlite3_mutex *p){ + CheckMutex *pCheck = (CheckMutex*)p; + if( pCheck->iType==SQLITE_MUTEX_WARNONCONTENTION ){ + if( SQLITE_OK==pGlobalMutexMethods->xMutexTry(pCheck->mutex) ){ + return; + } + sqlite3_log(SQLITE_MISUSE, + "illegal multi-threaded access to database connection" + ); + } + pGlobalMutexMethods->xMutexEnter(pCheck->mutex); +} + +/* +** Enter the mutex (do not block). +*/ +static int checkMutexTry(sqlite3_mutex *p){ + CheckMutex *pCheck = (CheckMutex*)p; + return pGlobalMutexMethods->xMutexTry(pCheck->mutex); +} + +/* +** Leave the mutex. +*/ +static void checkMutexLeave(sqlite3_mutex *p){ + CheckMutex *pCheck = (CheckMutex*)p; + pGlobalMutexMethods->xMutexLeave(pCheck->mutex); +} + +sqlite3_mutex_methods const *multiThreadedCheckMutex(void){ + static const sqlite3_mutex_methods sMutex = { + checkMutexInit, + checkMutexEnd, + checkMutexAlloc, + checkMutexFree, + checkMutexEnter, + checkMutexTry, + checkMutexLeave, +#ifdef SQLITE_DEBUG + checkMutexHeld, + checkMutexNotheld +#else + 0, + 0 +#endif + }; + return &sMutex; +} + +/* +** Mark the SQLITE_MUTEX_RECURSIVE mutex passed as the only argument as +** one on which there should be no contention. +*/ +SQLITE_PRIVATE void sqlite3MutexWarnOnContention(sqlite3_mutex *p){ + if( sqlite3GlobalConfig.mutex.xMutexAlloc==checkMutexAlloc ){ + CheckMutex *pCheck = (CheckMutex*)p; + assert( pCheck->iType==SQLITE_MUTEX_RECURSIVE ); + pCheck->iType = SQLITE_MUTEX_WARNONCONTENTION; + } +} +#endif /* ifdef SQLITE_ENABLE_MULTITHREADED_CHECKS */ + /* ** Initialize the mutex system. */ @@ -22452,7 +23704,11 @@ SQLITE_PRIVATE int sqlite3MutexInit(void){ sqlite3_mutex_methods *pTo = &sqlite3GlobalConfig.mutex; if( sqlite3GlobalConfig.bCoreMutex ){ +#ifdef SQLITE_ENABLE_MULTITHREADED_CHECKS + pFrom = multiThreadedCheckMutex(); +#else pFrom = sqlite3DefaultMutex(); +#endif }else{ pFrom = sqlite3NoopMutex(); } @@ -22579,6 +23835,7 @@ SQLITE_API int sqlite3_mutex_notheld(sqlite3_mutex *p){ #endif /* !defined(SQLITE_MUTEX_OMIT) */ + /************** End of mutex.c ***********************************************/ /************** Begin file mutex_noop.c **************************************/ /* @@ -23568,8 +24825,7 @@ SQLITE_PRIVATE void sqlite3MemoryBarrier(void){ SQLITE_MEMORY_BARRIER; #elif defined(__GNUC__) __sync_synchronize(); -#elif !defined(SQLITE_DISABLE_INTRINSIC) && \ - defined(_MSC_VER) && _MSC_VER>=1300 +#elif MSVC_VERSION>=1300 _ReadWriteBarrier(); #elif defined(MemoryBarrier) MemoryBarrier(); @@ -23780,8 +25036,8 @@ static void winMutexEnter(sqlite3_mutex *p){ p->owner = tid; p->nRef++; if( p->trace ){ - OSTRACE(("ENTER-MUTEX tid=%lu, mutex=%p (%d), nRef=%d\n", - tid, p, p->trace, p->nRef)); + OSTRACE(("ENTER-MUTEX tid=%lu, mutex(%d)=%p (%d), nRef=%d\n", + tid, p->id, p, p->trace, p->nRef)); } #endif } @@ -23823,8 +25079,8 @@ static int winMutexTry(sqlite3_mutex *p){ #endif #ifdef SQLITE_DEBUG if( p->trace ){ - OSTRACE(("TRY-MUTEX tid=%lu, mutex=%p (%d), owner=%lu, nRef=%d, rc=%s\n", - tid, p, p->trace, p->owner, p->nRef, sqlite3ErrName(rc))); + OSTRACE(("TRY-MUTEX tid=%lu, mutex(%d)=%p (%d), owner=%lu, nRef=%d, rc=%s\n", + tid, p->id, p, p->trace, p->owner, p->nRef, sqlite3ErrName(rc))); } #endif return rc; @@ -23852,8 +25108,8 @@ static void winMutexLeave(sqlite3_mutex *p){ LeaveCriticalSection(&p->mutex); #ifdef SQLITE_DEBUG if( p->trace ){ - OSTRACE(("LEAVE-MUTEX tid=%lu, mutex=%p (%d), nRef=%d\n", - tid, p, p->trace, p->nRef)); + OSTRACE(("LEAVE-MUTEX tid=%lu, mutex(%d)=%p (%d), nRef=%d\n", + tid, p->id, p, p->trace, p->nRef)); } #endif } @@ -23916,14 +25172,6 @@ SQLITE_API int sqlite3_release_memory(int n){ #endif } -/* -** An instance of the following object records the location of -** each unused scratch buffer. -*/ -typedef struct ScratchFreeslot { - struct ScratchFreeslot *pNext; /* Next unused scratch buffer */ -} ScratchFreeslot; - /* ** State information local to the memory allocation subsystem. */ @@ -23931,22 +25179,12 @@ static SQLITE_WSD struct Mem0Global { sqlite3_mutex *mutex; /* Mutex to serialize access */ sqlite3_int64 alarmThreshold; /* The soft heap limit */ - /* - ** Pointers to the end of sqlite3GlobalConfig.pScratch memory - ** (so that a range test can be used to determine if an allocation - ** being freed came from pScratch) and a pointer to the list of - ** unused scratch allocations. - */ - void *pScratchEnd; - ScratchFreeslot *pScratchFree; - u32 nScratchFree; - /* ** True if heap is nearly "full" where "full" is defined by the ** sqlite3_soft_heap_limit() setting. */ int nearlyFull; -} mem0 = { 0, 0, 0, 0, 0, 0 }; +} mem0 = { 0, 0, 0 }; #define mem0 GLOBAL(struct Mem0Global, mem0) @@ -24016,28 +25254,6 @@ SQLITE_PRIVATE int sqlite3MallocInit(void){ } memset(&mem0, 0, sizeof(mem0)); mem0.mutex = sqlite3MutexAlloc(SQLITE_MUTEX_STATIC_MEM); - if( sqlite3GlobalConfig.pScratch && sqlite3GlobalConfig.szScratch>=100 - && sqlite3GlobalConfig.nScratch>0 ){ - int i, n, sz; - ScratchFreeslot *pSlot; - sz = ROUNDDOWN8(sqlite3GlobalConfig.szScratch); - sqlite3GlobalConfig.szScratch = sz; - pSlot = (ScratchFreeslot*)sqlite3GlobalConfig.pScratch; - n = sqlite3GlobalConfig.nScratch; - mem0.pScratchFree = pSlot; - mem0.nScratchFree = n; - for(i=0; ipNext = (ScratchFreeslot*)(sz+(char*)pSlot); - pSlot = pSlot->pNext; - } - pSlot->pNext = 0; - mem0.pScratchEnd = (void*)&pSlot[1]; - }else{ - mem0.pScratchEnd = 0; - sqlite3GlobalConfig.pScratch = 0; - sqlite3GlobalConfig.szScratch = 0; - sqlite3GlobalConfig.nScratch = 0; - } if( sqlite3GlobalConfig.pPage==0 || sqlite3GlobalConfig.szPage<512 || sqlite3GlobalConfig.nPage<=0 ){ sqlite3GlobalConfig.pPage = 0; @@ -24101,11 +25317,26 @@ static void sqlite3MallocAlarm(int nByte){ ** Do a memory allocation with statistics and alarms. Assume the ** lock is already held. */ -static int mallocWithAlarm(int n, void **pp){ - int nFull; +static void mallocWithAlarm(int n, void **pp){ void *p; + int nFull; assert( sqlite3_mutex_held(mem0.mutex) ); + assert( n>0 ); + + /* In Firefox (circa 2017-02-08), xRoundup() is remapped to an internal + ** implementation of malloc_good_size(), which must be called in debug + ** mode and specifically when the DMD "Dark Matter Detector" is enabled + ** or else a crash results. Hence, do not attempt to optimize out the + ** following xRoundup() call. */ nFull = sqlite3GlobalConfig.m.xRoundup(n); + +#ifdef SQLITE_MAX_MEMORY + if( sqlite3StatusValue(SQLITE_STATUS_MEMORY_USED)+nFull>SQLITE_MAX_MEMORY ){ + *pp = 0; + return; + } +#endif + sqlite3StatusHighwater(SQLITE_STATUS_MALLOC_SIZE, n); if( mem0.alarmThreshold>0 ){ sqlite3_int64 nUsed = sqlite3StatusValue(SQLITE_STATUS_MEMORY_USED); @@ -24129,7 +25360,6 @@ static int mallocWithAlarm(int n, void **pp){ sqlite3StatusUp(SQLITE_STATUS_MALLOC_COUNT, 1); } *pp = p; - return nFull; } /* @@ -24174,105 +25404,6 @@ SQLITE_API void *sqlite3_malloc64(sqlite3_uint64 n){ return sqlite3Malloc(n); } -/* -** Each thread may only have a single outstanding allocation from -** xScratchMalloc(). We verify this constraint in the single-threaded -** case by setting scratchAllocOut to 1 when an allocation -** is outstanding clearing it when the allocation is freed. -*/ -#if SQLITE_THREADSAFE==0 && !defined(NDEBUG) -static int scratchAllocOut = 0; -#endif - - -/* -** Allocate memory that is to be used and released right away. -** This routine is similar to alloca() in that it is not intended -** for situations where the memory might be held long-term. This -** routine is intended to get memory to old large transient data -** structures that would not normally fit on the stack of an -** embedded processor. -*/ -SQLITE_PRIVATE void *sqlite3ScratchMalloc(int n){ - void *p; - assert( n>0 ); - - sqlite3_mutex_enter(mem0.mutex); - sqlite3StatusHighwater(SQLITE_STATUS_SCRATCH_SIZE, n); - if( mem0.nScratchFree && sqlite3GlobalConfig.szScratch>=n ){ - p = mem0.pScratchFree; - mem0.pScratchFree = mem0.pScratchFree->pNext; - mem0.nScratchFree--; - sqlite3StatusUp(SQLITE_STATUS_SCRATCH_USED, 1); - sqlite3_mutex_leave(mem0.mutex); - }else{ - sqlite3_mutex_leave(mem0.mutex); - p = sqlite3Malloc(n); - if( sqlite3GlobalConfig.bMemstat && p ){ - sqlite3_mutex_enter(mem0.mutex); - sqlite3StatusUp(SQLITE_STATUS_SCRATCH_OVERFLOW, sqlite3MallocSize(p)); - sqlite3_mutex_leave(mem0.mutex); - } - sqlite3MemdebugSetType(p, MEMTYPE_SCRATCH); - } - assert( sqlite3_mutex_notheld(mem0.mutex) ); - - -#if SQLITE_THREADSAFE==0 && !defined(NDEBUG) - /* EVIDENCE-OF: R-12970-05880 SQLite will not use more than one scratch - ** buffers per thread. - ** - ** This can only be checked in single-threaded mode. - */ - assert( scratchAllocOut==0 ); - if( p ) scratchAllocOut++; -#endif - - return p; -} -SQLITE_PRIVATE void sqlite3ScratchFree(void *p){ - if( p ){ - -#if SQLITE_THREADSAFE==0 && !defined(NDEBUG) - /* Verify that no more than two scratch allocation per thread - ** is outstanding at one time. (This is only checked in the - ** single-threaded case since checking in the multi-threaded case - ** would be much more complicated.) */ - assert( scratchAllocOut>=1 && scratchAllocOut<=2 ); - scratchAllocOut--; -#endif - - if( SQLITE_WITHIN(p, sqlite3GlobalConfig.pScratch, mem0.pScratchEnd) ){ - /* Release memory from the SQLITE_CONFIG_SCRATCH allocation */ - ScratchFreeslot *pSlot; - pSlot = (ScratchFreeslot*)p; - sqlite3_mutex_enter(mem0.mutex); - pSlot->pNext = mem0.pScratchFree; - mem0.pScratchFree = pSlot; - mem0.nScratchFree++; - assert( mem0.nScratchFree <= (u32)sqlite3GlobalConfig.nScratch ); - sqlite3StatusDown(SQLITE_STATUS_SCRATCH_USED, 1); - sqlite3_mutex_leave(mem0.mutex); - }else{ - /* Release memory back to the heap */ - assert( sqlite3MemdebugHasType(p, MEMTYPE_SCRATCH) ); - assert( sqlite3MemdebugNoType(p, (u8)~MEMTYPE_SCRATCH) ); - sqlite3MemdebugSetType(p, MEMTYPE_HEAP); - if( sqlite3GlobalConfig.bMemstat ){ - int iSize = sqlite3MallocSize(p); - sqlite3_mutex_enter(mem0.mutex); - sqlite3StatusDown(SQLITE_STATUS_SCRATCH_OVERFLOW, iSize); - sqlite3StatusDown(SQLITE_STATUS_MEMORY_USED, iSize); - sqlite3StatusDown(SQLITE_STATUS_MALLOC_COUNT, 1); - sqlite3GlobalConfig.m.xFree(p); - sqlite3_mutex_leave(mem0.mutex); - }else{ - sqlite3GlobalConfig.m.xFree(p); - } - } - } -} - /* ** TRUE if p is a lookaside memory allocation from db */ @@ -24295,7 +25426,7 @@ SQLITE_PRIVATE int sqlite3MallocSize(void *p){ SQLITE_PRIVATE int sqlite3DbMallocSize(sqlite3 *db, void *p){ assert( p!=0 ); if( db==0 || !isLookaside(db,p) ){ -#if SQLITE_DEBUG +#ifdef SQLITE_DEBUG if( db==0 ){ assert( sqlite3MemdebugNoType(p, (u8)~MEMTYPE_HEAP) ); assert( sqlite3MemdebugHasType(p, MEMTYPE_HEAP) ); @@ -24344,11 +25475,12 @@ static SQLITE_NOINLINE void measureAllocationSize(sqlite3 *db, void *p){ /* ** Free memory that might be associated with a particular database -** connection. +** connection. Calling sqlite3DbFree(D,X) for X==0 is a harmless no-op. +** The sqlite3DbFreeNN(D,X) version requires that X be non-NULL. */ -SQLITE_PRIVATE void sqlite3DbFree(sqlite3 *db, void *p){ +SQLITE_PRIVATE void sqlite3DbFreeNN(sqlite3 *db, void *p){ assert( db==0 || sqlite3_mutex_held(db->mutex) ); - if( p==0 ) return; + assert( p!=0 ); if( db ){ if( db->pnBytesFreed ){ measureAllocationSize(db, p); @@ -24356,13 +25488,12 @@ SQLITE_PRIVATE void sqlite3DbFree(sqlite3 *db, void *p){ } if( isLookaside(db, p) ){ LookasideSlot *pBuf = (LookasideSlot*)p; -#if SQLITE_DEBUG +#ifdef SQLITE_DEBUG /* Trash all content in the buffer being freed */ memset(p, 0xaa, db->lookaside.sz); #endif pBuf->pNext = db->lookaside.pFree; db->lookaside.pFree = pBuf; - db->lookaside.nOut--; return; } } @@ -24372,6 +25503,10 @@ SQLITE_PRIVATE void sqlite3DbFree(sqlite3 *db, void *p){ sqlite3MemdebugSetType(p, MEMTYPE_HEAP); sqlite3_free(p); } +SQLITE_PRIVATE void sqlite3DbFree(sqlite3 *db, void *p){ + assert( db==0 || sqlite3_mutex_held(db->mutex) ); + if( p ) sqlite3DbFreeNN(db, p); +} /* ** Change the size of an existing memory allocation @@ -24403,7 +25538,7 @@ SQLITE_PRIVATE void *sqlite3Realloc(void *pOld, u64 nBytes){ sqlite3_mutex_enter(mem0.mutex); sqlite3StatusHighwater(SQLITE_STATUS_MALLOC_SIZE, (int)nBytes); nDiff = nNew - nOld; - if( sqlite3StatusValue(SQLITE_STATUS_MEMORY_USED) >= + if( nDiff>0 && sqlite3StatusValue(SQLITE_STATUS_MEMORY_USED) >= mem0.alarmThreshold-nDiff ){ sqlite3MallocAlarm(nDiff); } @@ -24519,16 +25654,16 @@ SQLITE_PRIVATE void *sqlite3DbMallocRawNN(sqlite3 *db, u64 n){ assert( db->mallocFailed==0 ); if( n>db->lookaside.sz ){ db->lookaside.anStat[1]++; - }else if( (pBuf = db->lookaside.pFree)==0 ){ - db->lookaside.anStat[2]++; - }else{ + }else if( (pBuf = db->lookaside.pFree)!=0 ){ db->lookaside.pFree = pBuf->pNext; - db->lookaside.nOut++; db->lookaside.anStat[0]++; - if( db->lookaside.nOut>db->lookaside.mxOut ){ - db->lookaside.mxOut = db->lookaside.nOut; - } return (void*)pBuf; + }else if( (pBuf = db->lookaside.pInit)!=0 ){ + db->lookaside.pInit = pBuf->pNext; + db->lookaside.anStat[0]++; + return (void*)pBuf; + }else{ + db->lookaside.anStat[2]++; } }else if( db->mallocFailed ){ return 0; @@ -24610,9 +25745,8 @@ SQLITE_PRIVATE char *sqlite3DbStrDup(sqlite3 *db, const char *z){ if( z==0 ){ return 0; } - n = sqlite3Strlen30(z) + 1; - assert( (n&0x7fffffff)==n ); - zNew = sqlite3DbMallocRaw(db, (int)n); + n = strlen(z) + 1; + zNew = sqlite3DbMallocRaw(db, n); if( zNew ){ memcpy(zNew, z, n); } @@ -24633,6 +25767,19 @@ SQLITE_PRIVATE char *sqlite3DbStrNDup(sqlite3 *db, const char *z, u64 n){ return zNew; } +/* +** The text between zStart and zEnd represents a phrase within a larger +** SQL statement. Make a copy of this phrase in space obtained form +** sqlite3DbMalloc(). Omit leading and trailing whitespace. +*/ +SQLITE_PRIVATE char *sqlite3DbSpanDup(sqlite3 *db, const char *zStart, const char *zEnd){ + int n; + while( sqlite3Isspace(zStart[0]) ) zStart++; + n = (int)(zEnd - zStart); + while( ALWAYS(n>0) && sqlite3Isspace(zStart[n-1]) ) n--; + return sqlite3DbStrNDup(db, zStart, n); +} + /* ** Free any prior content in *pz and replace it with a copy of zNew. */ @@ -24726,7 +25873,7 @@ SQLITE_PRIVATE int sqlite3ApiExit(sqlite3* db, int rc){ ** Conversion types fall into various categories as defined by the ** following enumeration. */ -#define etRADIX 0 /* Integer types. %d, %x, %o, and so forth */ +#define etRADIX 0 /* non-decimal integer types. %x %o */ #define etFLOAT 1 /* Floating point. %f */ #define etEXP 2 /* Exponentional notation. %e and %E */ #define etGENERIC 3 /* Floating or exponential, depending on exponent. %g */ @@ -24744,8 +25891,9 @@ SQLITE_PRIVATE int sqlite3ApiExit(sqlite3* db, int rc){ #define etPOINTER 13 /* The %p conversion */ #define etSQLESCAPE3 14 /* %w -> Strings with '\"' doubled */ #define etORDINAL 15 /* %r -> 1st, 2nd, 3rd, 4th, etc. English only */ +#define etDECIMAL 16 /* %d or %u, but not %x, %o */ -#define etINVALID 16 /* Any unrecognized conversion type */ +#define etINVALID 17 /* Any unrecognized conversion type */ /* @@ -24769,9 +25917,8 @@ typedef struct et_info { /* Information about each format field */ /* ** Allowed values for et_info.flags */ -#define FLAG_SIGNED 1 /* True if the value to convert is signed */ -#define FLAG_INTERN 2 /* True if for internal use only */ -#define FLAG_STRING 4 /* Allow infinity precision */ +#define FLAG_SIGNED 1 /* True if the value to convert is signed */ +#define FLAG_STRING 4 /* Allow infinite precision */ /* @@ -24781,7 +25928,7 @@ typedef struct et_info { /* Information about each format field */ static const char aDigits[] = "0123456789ABCDEF0123456789abcdef"; static const char aPrefix[] = "-x0\000X0"; static const et_info fmtinfo[] = { - { 'd', 10, 1, etRADIX, 0, 0 }, + { 'd', 10, 1, etDECIMAL, 0, 0 }, { 's', 0, 4, etSTRING, 0, 0 }, { 'g', 0, 1, etGENERIC, 30, 0 }, { 'z', 0, 4, etDYNSTRING, 0, 0 }, @@ -24790,7 +25937,7 @@ static const et_info fmtinfo[] = { { 'w', 0, 4, etSQLESCAPE3, 0, 0 }, { 'c', 0, 0, etCHARX, 0, 0 }, { 'o', 8, 0, etRADIX, 0, 2 }, - { 'u', 10, 0, etRADIX, 0, 0 }, + { 'u', 10, 0, etDECIMAL, 0, 0 }, { 'x', 16, 0, etRADIX, 16, 1 }, { 'X', 16, 0, etRADIX, 0, 4 }, #ifndef SQLITE_OMIT_FLOATING_POINT @@ -24799,16 +25946,15 @@ static const et_info fmtinfo[] = { { 'E', 0, 1, etEXP, 14, 0 }, { 'G', 0, 1, etGENERIC, 14, 0 }, #endif - { 'i', 10, 1, etRADIX, 0, 0 }, + { 'i', 10, 1, etDECIMAL, 0, 0 }, { 'n', 0, 0, etSIZE, 0, 0 }, { '%', 0, 0, etPERCENT, 0, 0 }, { 'p', 16, 0, etPOINTER, 0, 1 }, -/* All the rest have the FLAG_INTERN bit set and are thus for internal -** use only */ - { 'T', 0, 2, etTOKEN, 0, 0 }, - { 'S', 0, 2, etSRCLIST, 0, 0 }, - { 'r', 10, 3, etORDINAL, 0, 0 }, + /* All the rest are undocumented and are for internal use only */ + { 'T', 0, 0, etTOKEN, 0, 0 }, + { 'S', 0, 0, etSRCLIST, 0, 0 }, + { 'r', 10, 1, etORDINAL, 0, 0 }, }; /* @@ -24892,17 +26038,15 @@ SQLITE_PRIVATE void sqlite3VXPrintf( int idx; /* A general purpose loop counter */ int width; /* Width of the current field */ etByte flag_leftjustify; /* True if "-" flag is present */ - etByte flag_plussign; /* True if "+" flag is present */ - etByte flag_blanksign; /* True if " " flag is present */ + etByte flag_prefix; /* '+' or ' ' or 0 for prefix */ etByte flag_alternateform; /* True if "#" flag is present */ etByte flag_altform2; /* True if "!" flag is present */ etByte flag_zeropad; /* True if field width constant starts with zero */ - etByte flag_long; /* True if "l" flag is present */ - etByte flag_longlong; /* True if the "ll" flag is present */ + etByte flag_long; /* 1 for the "l" flag, 2 for "ll", 0 by default */ etByte done; /* Loop termination flag */ + etByte cThousand; /* Thousands separator for %d and %u */ etByte xtype = etINVALID; /* Conversion paradigm */ u8 bArgList; /* True for SQLITE_PRINTF_SQLFUNC */ - u8 useIntern; /* Ok to use internal conversions (ex: %T) */ char prefix; /* Prefix character. "+" or "-" or " " or '\0'. */ sqlite_uint64 longvalue; /* Value for integer types */ LONGDOUBLE_TYPE realvalue; /* Value for real types */ @@ -24921,13 +26065,11 @@ SQLITE_PRIVATE void sqlite3VXPrintf( char buf[etBUFSIZE]; /* Conversion buffer */ bufpt = 0; - if( pAccum->printfFlags ){ - if( (bArgList = (pAccum->printfFlags & SQLITE_PRINTF_SQLFUNC))!=0 ){ - pArgList = va_arg(ap, PrintfArguments*); - } - useIntern = pAccum->printfFlags & SQLITE_PRINTF_INTERNAL; + if( (pAccum->printfFlags & SQLITE_PRINTF_SQLFUNC)!=0 ){ + pArgList = va_arg(ap, PrintfArguments*); + bArgList = 1; }else{ - bArgList = useIntern = 0; + bArgList = 0; } for(; (c=(*fmt))!=0; ++fmt){ if( c!='%' ){ @@ -24945,17 +26087,18 @@ SQLITE_PRIVATE void sqlite3VXPrintf( break; } /* Find out what flags are present */ - flag_leftjustify = flag_plussign = flag_blanksign = + flag_leftjustify = flag_prefix = cThousand = flag_alternateform = flag_altform2 = flag_zeropad = 0; done = 0; do{ switch( c ){ case '-': flag_leftjustify = 1; break; - case '+': flag_plussign = 1; break; - case ' ': flag_blanksign = 1; break; + case '+': flag_prefix = '+'; break; + case ' ': flag_prefix = ' '; break; case '#': flag_alternateform = 1; break; case '!': flag_altform2 = 1; break; case '0': flag_zeropad = 1; break; + case ',': cThousand = ','; break; default: done = 1; break; } }while( !done && (c=(*++fmt))!=0 ); @@ -25025,13 +26168,11 @@ SQLITE_PRIVATE void sqlite3VXPrintf( flag_long = 1; c = *++fmt; if( c=='l' ){ - flag_longlong = 1; + flag_long = 2; c = *++fmt; - }else{ - flag_longlong = 0; } }else{ - flag_long = flag_longlong = 0; + flag_long = 0; } /* Fetch the info entry for the field */ infop = &fmtinfo[0]; @@ -25039,11 +26180,7 @@ SQLITE_PRIVATE void sqlite3VXPrintf( for(idx=0; idxflags & FLAG_INTERN)==0 ){ - xtype = infop->type; - }else{ - return; - } + xtype = infop->type; break; } } @@ -25053,15 +26190,11 @@ SQLITE_PRIVATE void sqlite3VXPrintf( ** ** flag_alternateform TRUE if a '#' is present. ** flag_altform2 TRUE if a '!' is present. - ** flag_plussign TRUE if a '+' is present. + ** flag_prefix '+' or ' ' or zero ** flag_leftjustify TRUE if a '-' is present or if the ** field width was negative. ** flag_zeropad TRUE if the width began with 0. - ** flag_long TRUE if the letter 'l' (ell) prefixed - ** the conversion character. - ** flag_longlong TRUE if the letter 'll' (ell ell) prefixed - ** the conversion character. - ** flag_blanksign TRUE if a ' ' is present. + ** flag_long 1 for "l", 2 for "ll" ** width The specified field width. This is ** always non-negative. Zero is the default. ** precision The specified precision. The default @@ -25071,19 +26204,24 @@ SQLITE_PRIVATE void sqlite3VXPrintf( */ switch( xtype ){ case etPOINTER: - flag_longlong = sizeof(char*)==sizeof(i64); - flag_long = sizeof(char*)==sizeof(long int); + flag_long = sizeof(char*)==sizeof(i64) ? 2 : + sizeof(char*)==sizeof(long int) ? 1 : 0; /* Fall through into the next case */ case etORDINAL: - case etRADIX: + case etRADIX: + cThousand = 0; + /* Fall through into the next case */ + case etDECIMAL: if( infop->flags & FLAG_SIGNED ){ i64 v; if( bArgList ){ v = getIntArg(pArgList); - }else if( flag_longlong ){ - v = va_arg(ap,i64); }else if( flag_long ){ - v = va_arg(ap,long int); + if( flag_long==2 ){ + v = va_arg(ap,i64) ; + }else{ + v = va_arg(ap,long int); + } }else{ v = va_arg(ap,int); } @@ -25096,17 +26234,17 @@ SQLITE_PRIVATE void sqlite3VXPrintf( prefix = '-'; }else{ longvalue = v; - if( flag_plussign ) prefix = '+'; - else if( flag_blanksign ) prefix = ' '; - else prefix = 0; + prefix = flag_prefix; } }else{ if( bArgList ){ longvalue = (u64)getIntArg(pArgList); - }else if( flag_longlong ){ - longvalue = va_arg(ap,u64); }else if( flag_long ){ - longvalue = va_arg(ap,unsigned long int); + if( flag_long==2 ){ + longvalue = va_arg(ap,u64); + }else{ + longvalue = va_arg(ap,unsigned long int); + } }else{ longvalue = va_arg(ap,unsigned int); } @@ -25116,16 +26254,17 @@ SQLITE_PRIVATE void sqlite3VXPrintf( if( flag_zeropad && precision0 ); } length = (int)(&zOut[nOut-1]-bufpt); - for(idx=precision-length; idx>0; idx--){ + while( precision>length ){ *(--bufpt) = '0'; /* Zero pad */ + length++; + } + if( cThousand ){ + int nn = (length - 1)/3; /* Number of "," to insert */ + int ix = (length - 1)%3 + 1; + bufpt -= nn; + for(idx=0; nn>0; idx++){ + bufpt[idx] = bufpt[idx+nn]; + ix--; + if( ix==0 ){ + bufpt[++idx] = cThousand; + nn--; + ix = 3; + } + } } if( prefix ) *(--bufpt) = prefix; /* Add sign */ if( flag_alternateform && infop->prefix ){ /* Add "0" or "0x" */ @@ -25174,9 +26328,7 @@ SQLITE_PRIVATE void sqlite3VXPrintf( realvalue = -realvalue; prefix = '-'; }else{ - if( flag_plussign ) prefix = '+'; - else if( flag_blanksign ) prefix = ' '; - else prefix = 0; + prefix = flag_prefix; } if( xtype==etGENERIC && precision>0 ) precision--; testcase( precision>0xfff ); @@ -25362,7 +26514,7 @@ SQLITE_PRIVATE void sqlite3VXPrintf( if( precision>=0 ){ for(length=0; lengthprintfFlags & SQLITE_PRINTF_INTERNAL)==0 ) return; + pToken = va_arg(ap, Token*); assert( bArgList==0 ); if( pToken && pToken->n ){ sqlite3StrAccumAppend(pAccum, (const char*)pToken->z, pToken->n); @@ -25421,9 +26575,13 @@ SQLITE_PRIVATE void sqlite3VXPrintf( break; } case etSRCLIST: { - SrcList *pSrc = va_arg(ap, SrcList*); - int k = va_arg(ap, int); - struct SrcList_item *pItem = &pSrc->a[k]; + SrcList *pSrc; + int k; + struct SrcList_item *pItem; + if( (pAccum->printfFlags & SQLITE_PRINTF_INTERNAL)==0 ) return; + pSrc = va_arg(ap, SrcList*); + k = va_arg(ap, int); + pItem = &pSrc->a[k]; assert( bArgList==0 ); assert( k>=0 && knSrc ); if( pItem->zDatabase ){ @@ -25445,9 +26603,13 @@ SQLITE_PRIVATE void sqlite3VXPrintf( ** the output. */ width -= length; - if( width>0 && !flag_leftjustify ) sqlite3AppendChar(pAccum, width, ' '); - sqlite3StrAccumAppend(pAccum, bufpt, length); - if( width>0 && flag_leftjustify ) sqlite3AppendChar(pAccum, width, ' '); + if( width>0 ){ + if( !flag_leftjustify ) sqlite3AppendChar(pAccum, width, ' '); + sqlite3StrAccumAppend(pAccum, bufpt, length); + if( flag_leftjustify ) sqlite3AppendChar(pAccum, width, ' '); + }else{ + sqlite3StrAccumAppend(pAccum, bufpt, length); + } if( zExtra ){ sqlite3DbFree(pAccum->db, zExtra); @@ -25478,7 +26640,6 @@ static int sqlite3StrAccumEnlarge(StrAccum *p, int N){ }else{ char *zOld = isMalloced(p) ? p->zText : 0; i64 szNew = p->nChar; - assert( (p->zText==0 || p->zText==p->zBase)==!isMalloced(p) ); szNew += N + 1; if( szNew+p->nChar<=p->mxAlloc ){ /* Force exponential buffer size growth as long as it does not overflow, @@ -25520,7 +26681,6 @@ SQLITE_PRIVATE void sqlite3AppendChar(StrAccum *p, int N, char c){ if( p->nChar+(i64)N >= p->nAlloc && (N = sqlite3StrAccumEnlarge(p, N))<=0 ){ return; } - assert( (p->zText==p->zBase)==!isMalloced(p) ); while( (N--)>0 ) p->zText[p->nChar++] = c; } @@ -25538,7 +26698,6 @@ static void SQLITE_NOINLINE enlargeAndAppend(StrAccum *p, const char *z, int N){ memcpy(&p->zText[p->nChar], z, N); p->nChar += N; } - assert( (p->zText==0 || p->zText==p->zBase)==!isMalloced(p) ); } /* @@ -25552,7 +26711,7 @@ SQLITE_PRIVATE void sqlite3StrAccumAppend(StrAccum *p, const char *z, int N){ assert( p->accError==0 || p->nAlloc==0 ); if( p->nChar+N >= p->nAlloc ){ enlargeAndAppend(p,z,N); - }else{ + }else if( N ){ assert( p->zText ); p->nChar += N; memcpy(&p->zText[p->nChar-N], z, N); @@ -25572,18 +26731,24 @@ SQLITE_PRIVATE void sqlite3StrAccumAppendAll(StrAccum *p, const char *z){ ** Return a pointer to the resulting string. Return a NULL ** pointer if any kind of error was encountered. */ +static SQLITE_NOINLINE char *strAccumFinishRealloc(StrAccum *p){ + char *zText; + assert( p->mxAlloc>0 && !isMalloced(p) ); + zText = sqlite3DbMallocRaw(p->db, p->nChar+1 ); + if( zText ){ + memcpy(zText, p->zText, p->nChar+1); + p->printfFlags |= SQLITE_PRINTF_MALLOCED; + }else{ + setStrAccumError(p, STRACCUM_NOMEM); + } + p->zText = zText; + return zText; +} SQLITE_PRIVATE char *sqlite3StrAccumFinish(StrAccum *p){ if( p->zText ){ - assert( (p->zText==p->zBase)==!isMalloced(p) ); p->zText[p->nChar] = 0; if( p->mxAlloc>0 && !isMalloced(p) ){ - p->zText = sqlite3DbMallocRaw(p->db, p->nChar+1 ); - if( p->zText ){ - memcpy(p->zText, p->zBase, p->nChar+1); - p->printfFlags |= SQLITE_PRINTF_MALLOCED; - }else{ - setStrAccumError(p, STRACCUM_NOMEM); - } + return strAccumFinishRealloc(p); } } return p->zText; @@ -25593,7 +26758,6 @@ SQLITE_PRIVATE char *sqlite3StrAccumFinish(StrAccum *p){ ** Reset an StrAccum string. Reclaim all malloced memory. */ SQLITE_PRIVATE void sqlite3StrAccumReset(StrAccum *p){ - assert( (p->zText==0 || p->zText==p->zBase)==!isMalloced(p) ); if( isMalloced(p) ){ sqlite3DbFree(p->db, p->zText); p->printfFlags &= ~SQLITE_PRINTF_MALLOCED; @@ -25616,11 +26780,11 @@ SQLITE_PRIVATE void sqlite3StrAccumReset(StrAccum *p){ ** allocations will ever occur. */ SQLITE_PRIVATE void sqlite3StrAccumInit(StrAccum *p, sqlite3 *db, char *zBase, int n, int mx){ - p->zText = p->zBase = zBase; + p->zText = zBase; p->db = db; - p->nChar = 0; p->nAlloc = n; p->mxAlloc = mx; + p->nChar = 0; p->accError = 0; p->printfFlags = 0; } @@ -25723,7 +26887,8 @@ SQLITE_API char *sqlite3_vsnprintf(int n, char *zBuf, const char *zFormat, va_li #endif sqlite3StrAccumInit(&acc, 0, zBuf, n, 0); sqlite3VXPrintf(&acc, zFormat, ap); - return sqlite3StrAccumFinish(&acc); + zBuf[acc.nChar] = 0; + return zBuf; } SQLITE_API char *sqlite3_snprintf(int n, char *zBuf, const char *zFormat, ...){ char *z; @@ -25785,8 +26950,15 @@ SQLITE_PRIVATE void sqlite3DebugPrintf(const char *zFormat, ...){ sqlite3VXPrintf(&acc, zFormat, ap); va_end(ap); sqlite3StrAccumFinish(&acc); +#ifdef SQLITE_OS_TRACE_PROC + { + extern void SQLITE_OS_TRACE_PROC(const char *zBuf, int nBuf); + SQLITE_OS_TRACE_PROC(zBuf, sizeof(zBuf)); + } +#else fprintf(stdout,"%s", zBuf); fflush(stdout); +#endif } #endif @@ -25871,6 +27043,7 @@ static void sqlite3TreeViewLine(TreeView *p, const char *zFormat, ...){ va_start(ap, zFormat); sqlite3VXPrintf(&acc, zFormat, ap); va_end(ap); + assert( acc.nChar>0 ); if( zBuf[acc.nChar-1]!='\n' ) sqlite3StrAccumAppend(&acc, "\n", 1); sqlite3StrAccumFinish(&acc); fprintf(stdout,"%s", zBuf); @@ -25931,6 +27104,10 @@ SQLITE_PRIVATE void sqlite3TreeViewWith(TreeView *pView, const With *pWith, u8 m SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 moreToFollow){ int n = 0; int cnt = 0; + if( p==0 ){ + sqlite3TreeViewLine(pView, "nil-SELECT"); + return; + } pView = sqlite3TreeViewPush(pView, moreToFollow); if( p->pWith ){ sqlite3TreeViewWith(pView, p->pWith, 1); @@ -25954,7 +27131,6 @@ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 m if( p->pHaving ) n++; if( p->pOrderBy ) n++; if( p->pLimit ) n++; - if( p->pOffset ) n++; } sqlite3TreeViewExprList(pView, p->pEList, (n--)>0, "result-set"); if( p->pSrc && p->pSrc->nSrc ){ @@ -26011,12 +27187,12 @@ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 m } if( p->pLimit ){ sqlite3TreeViewItem(pView, "LIMIT", (n--)>0); - sqlite3TreeViewExpr(pView, p->pLimit, 0); - sqlite3TreeViewPop(pView); - } - if( p->pOffset ){ - sqlite3TreeViewItem(pView, "OFFSET", (n--)>0); - sqlite3TreeViewExpr(pView, p->pOffset, 0); + sqlite3TreeViewExpr(pView, p->pLimit->pLeft, p->pLimit->pRight!=0); + if( p->pLimit->pRight ){ + sqlite3TreeViewItem(pView, "OFFSET", (n--)>0); + sqlite3TreeViewExpr(pView, p->pLimit->pRight, 0); + sqlite3TreeViewPop(pView); + } sqlite3TreeViewPop(pView); } if( p->pPrior ){ @@ -26039,7 +27215,7 @@ SQLITE_PRIVATE void sqlite3TreeViewSelect(TreeView *pView, const Select *p, u8 m SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 moreToFollow){ const char *zBinOp = 0; /* Binary operator */ const char *zUniOp = 0; /* Unary operator */ - char zFlgs[30]; + char zFlgs[60]; pView = sqlite3TreeViewPush(pView, moreToFollow); if( pExpr==0 ){ sqlite3TreeViewLine(pView, "nil"); @@ -26047,7 +27223,12 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m return; } if( pExpr->flags ){ - sqlite3_snprintf(sizeof(zFlgs),zFlgs," flags=0x%x",pExpr->flags); + if( ExprHasProperty(pExpr, EP_FromJoin) ){ + sqlite3_snprintf(sizeof(zFlgs),zFlgs," flags=0x%x iRJT=%d", + pExpr->flags, pExpr->iRightJoinTable); + }else{ + sqlite3_snprintf(sizeof(zFlgs),zFlgs," flags=0x%x",pExpr->flags); + } }else{ zFlgs[0] = 0; } @@ -26178,17 +27359,17 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m } #ifndef SQLITE_OMIT_SUBQUERY case TK_EXISTS: { - sqlite3TreeViewLine(pView, "EXISTS-expr"); + sqlite3TreeViewLine(pView, "EXISTS-expr flags=0x%x", pExpr->flags); sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); break; } case TK_SELECT: { - sqlite3TreeViewLine(pView, "SELECT-expr"); + sqlite3TreeViewLine(pView, "SELECT-expr flags=0x%x", pExpr->flags); sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); break; } case TK_IN: { - sqlite3TreeViewLine(pView, "IN"); + sqlite3TreeViewLine(pView, "IN flags=0x%x", pExpr->flags); sqlite3TreeViewExpr(pView, pExpr->pLeft, 1); if( ExprHasProperty(pExpr, EP_xIsSelect) ){ sqlite3TreeViewSelect(pView, pExpr->x.pSelect, 0); @@ -26266,6 +27447,11 @@ SQLITE_PRIVATE void sqlite3TreeViewExpr(TreeView *pView, const Expr *pExpr, u8 m sqlite3TreeViewSelect(pView, pExpr->pLeft->x.pSelect, 0); break; } + case TK_IF_NULL_ROW: { + sqlite3TreeViewLine(pView, "IF-NULL-ROW %d", pExpr->iTable); + sqlite3TreeViewExpr(pView, pExpr->pLeft, 0); + break; + } default: { sqlite3TreeViewLine(pView, "op=%d", pExpr->op); break; @@ -26299,12 +27485,20 @@ SQLITE_PRIVATE void sqlite3TreeViewBareExprList( sqlite3TreeViewLine(pView, "%s", zLabel); for(i=0; inExpr; i++){ int j = pList->a[i].u.x.iOrderByCol; - if( j ){ + char *zName = pList->a[i].zName; + if( j || zName ){ sqlite3TreeViewPush(pView, 0); + } + if( zName ){ + sqlite3TreeViewLine(pView, "AS %s", zName); + } + if( j ){ sqlite3TreeViewLine(pView, "iOrderByCol=%d", j); } sqlite3TreeViewExpr(pView, pList->a[i].pExpr, inExpr-1); - if( j ) sqlite3TreeViewPop(pView); + if( j || zName ){ + sqlite3TreeViewPop(pView); + } } } } @@ -26431,7 +27625,7 @@ SQLITE_API void sqlite3_randomness(int N, void *pBuf){ sqlite3_mutex_leave(mutex); } -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE /* ** For testing purposes, we sometimes want to preserve the state of ** PRNG and restore the PRNG to its saved state at a later time, or @@ -26456,7 +27650,7 @@ SQLITE_PRIVATE void sqlite3PrngRestoreState(void){ sizeof(sqlite3Prng) ); } -#endif /* SQLITE_OMIT_BUILTIN_TEST */ +#endif /* SQLITE_UNTESTABLE */ /************** End of random.c **********************************************/ /************** Begin file threads.c *****************************************/ @@ -27071,7 +28265,9 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemTranslate(Mem *pMem, u8 desired #endif return SQLITE_OK; } +#endif /* SQLITE_OMIT_UTF16 */ +#ifndef SQLITE_OMIT_UTF16 /* ** This routine checks for a byte-order mark at the beginning of the ** UTF-16 string stored in *pMem. If one is present, it is removed and @@ -27314,7 +28510,7 @@ SQLITE_PRIVATE void sqlite3Coverage(int x){ ** Return whatever integer value the test callback returns, or return ** SQLITE_OK if no test callback is installed. */ -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE SQLITE_PRIVATE int sqlite3FaultSim(int iTest){ int (*xCallback)(int) = sqlite3GlobalConfig.xTestCallback; return xCallback ? xCallback(iTest) : SQLITE_OK; @@ -27592,6 +28788,45 @@ SQLITE_API int sqlite3_strnicmp(const char *zLeft, const char *zRight, int N){ return N<0 ? 0 : UpperToLower[*a] - UpperToLower[*b]; } +/* +** Compute 10 to the E-th power. Examples: E==1 results in 10. +** E==2 results in 100. E==50 results in 1.0e50. +** +** This routine only works for values of E between 1 and 341. +*/ +static LONGDOUBLE_TYPE sqlite3Pow10(int E){ +#if defined(_MSC_VER) + static const LONGDOUBLE_TYPE x[] = { + 1.0e+001, + 1.0e+002, + 1.0e+004, + 1.0e+008, + 1.0e+016, + 1.0e+032, + 1.0e+064, + 1.0e+128, + 1.0e+256 + }; + LONGDOUBLE_TYPE r = 1.0; + int i; + assert( E>=0 && E<=307 ); + for(i=0; E!=0; i++, E >>=1){ + if( E & 1 ) r *= x[i]; + } + return r; +#else + LONGDOUBLE_TYPE x = 10.0; + LONGDOUBLE_TYPE r = 1.0; + while(1){ + if( E & 1 ) r *= x; + E >>= 1; + if( E==0 ) break; + x *= x; + } + return r; +#endif +} + /* ** The string z[] is an text representation of a real number. ** Convert this string to a double and write it into *pResult. @@ -27659,12 +28894,12 @@ SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 en /* copy max significant digits to significand */ while( z=zEnd ) goto do_atof_calc; /* if decimal point is present */ @@ -27677,7 +28912,7 @@ SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 en s = s*10 + (*z - '0'); d--; } - z+=incr, nDigits++; + z+=incr; nDigits++; } } if( z>=zEnd ) goto do_atof_calc; @@ -27747,11 +28982,10 @@ SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 en if( e==0 ){ /*OPTIMIZATION-IF-TRUE*/ result = (double)s; }else{ - LONGDOUBLE_TYPE scale = 1.0; /* attempt to handle extremely small/large numbers better */ if( e>307 ){ /*OPTIMIZATION-IF-TRUE*/ if( e<342 ){ /*OPTIMIZATION-IF-TRUE*/ - while( e%308 ) { scale *= 1.0e+1; e -= 1; } + LONGDOUBLE_TYPE scale = sqlite3Pow10(e-308); if( esign<0 ){ result = s / scale; result /= 1.0e+308; @@ -27763,14 +28997,15 @@ SQLITE_PRIVATE int sqlite3AtoF(const char *z, double *pResult, int length, u8 en if( esign<0 ){ result = 0.0*s; }else{ +#ifdef INFINITY + result = INFINITY*s; +#else result = 1e308*1e308*s; /* Infinity */ +#endif } } }else{ - /* 1.0e+22 is the largest power of 10 than can be - ** represented exactly. */ - while( e%22 ) { scale *= 1.0e+1; e -= 1; } - while( e>0 ) { scale *= 1.0e+22; e -= 22; } + LONGDOUBLE_TYPE scale = sqlite3Pow10(e); if( esign<0 ){ result = s / scale; }else{ @@ -27825,16 +29060,12 @@ static int compare2pow63(const char *zNum, int incr){ ** Convert zNum to a 64-bit signed integer. zNum must be decimal. This ** routine does *not* accept hexadecimal notation. ** -** If the zNum value is representable as a 64-bit twos-complement -** integer, then write that value into *pNum and return 0. -** -** If zNum is exactly 9223372036854775808, return 2. This special -** case is broken out because while 9223372036854775808 cannot be a -** signed 64-bit integer, its negative -9223372036854775808 can be. +** Returns: ** -** If zNum is too big for a 64-bit integer and is not -** 9223372036854775808 or if zNum contains any non-numeric text, -** then return 1. +** 0 Successful transformation. Fits in a 64-bit signed integer. +** 1 Excess text after the integer value +** 2 Integer too large for a 64-bit signed integer or is malformed +** 3 Special case of 9223372036854775808 ** ** length is the number of bytes in the string (bytes, not characters). ** The string is not necessarily zero-terminated. The encoding is @@ -27847,6 +29078,7 @@ SQLITE_PRIVATE int sqlite3Atoi64(const char *zNum, i64 *pNum, int length, u8 enc int i; int c = 0; int nonNum = 0; /* True if input contains UTF16 with high byte non-zero */ + int rc; /* Baseline return code */ const char *zStart; const char *zEnd = zNum + length; assert( enc==SQLITE_UTF8 || enc==SQLITE_UTF16LE || enc==SQLITE_UTF16BE ); @@ -27886,31 +29118,35 @@ SQLITE_PRIVATE int sqlite3Atoi64(const char *zNum, i64 *pNum, int length, u8 enc testcase( i==20 ); if( &zNum[i]19*incr /* Too many digits */ || nonNum /* UTF16 with high-order bytes non-zero */ ){ + rc = 1; + }else{ + rc = 0; + } + if( i>19*incr ){ /* Too many digits */ /* zNum is empty or contains non-numeric text or is longer ** than 19 digits (thus guaranteeing that it is too large) */ - return 1; + return 2; }else if( i<19*incr ){ /* Less than 19 digits, so we know that it fits in 64 bits */ assert( u<=LARGEST_INT64 ); - return 0; + return rc; }else{ /* zNum is a 19-digit numbers. Compare it against 9223372036854775808. */ c = compare2pow63(zNum, incr); if( c<0 ){ /* zNum is less than 9223372036854775808 so it fits */ assert( u<=LARGEST_INT64 ); - return 0; + return rc; }else if( c>0 ){ /* zNum is greater than 9223372036854775808 so it overflows */ - return 1; + return 2; }else{ /* zNum is exactly 9223372036854775808. Fits if negative. The ** special case 2 overflow if positive */ assert( u-1==LARGEST_INT64 ); - return neg ? 0 : 2; + return neg ? rc : 3; } } } @@ -27923,8 +29159,9 @@ SQLITE_PRIVATE int sqlite3Atoi64(const char *zNum, i64 *pNum, int length, u8 enc ** Returns: ** ** 0 Successful transformation. Fits in a 64-bit signed integer. -** 1 Integer too large for a 64-bit signed integer or is malformed -** 2 Special case of 9223372036854775808 +** 1 Excess text after the integer value +** 2 Integer too large for a 64-bit signed integer or is malformed +** 3 Special case of 9223372036854775808 */ SQLITE_PRIVATE int sqlite3DecOrHexToI64(const char *z, i64 *pOut){ #ifndef SQLITE_OMIT_HEX_INTEGER @@ -27938,7 +29175,7 @@ SQLITE_PRIVATE int sqlite3DecOrHexToI64(const char *z, i64 *pOut){ u = u*16 + sqlite3HexToInt(z[k]); } memcpy(pOut, &u, 8); - return (z[k]==0 && k-i<=16) ? 0 : 1; + return (z[k]==0 && k-i<=16) ? 0 : 2; }else #endif /* SQLITE_OMIT_HEX_INTEGER */ { @@ -27985,6 +29222,7 @@ SQLITE_PRIVATE int sqlite3GetInt32(const char *zNum, int *pValue){ } } #endif + if( !sqlite3Isdigit(zNum[0]) ) return 0; while( zNum[0]=='0' ) zNum++; for(i=0; i<11 && (c = zNum[i] - '0')>=0 && c<=9; i++){ v = v*10 + c; @@ -28412,13 +29650,11 @@ SQLITE_PRIVATE u32 sqlite3Get4byte(const u8 *p){ u32 x; memcpy(&x,p,4); return x; -#elif SQLITE_BYTEORDER==1234 && !defined(SQLITE_DISABLE_INTRINSIC) \ - && defined(__GNUC__) && GCC_VERSION>=4003000 +#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 u32 x; memcpy(&x,p,4); return __builtin_bswap32(x); -#elif SQLITE_BYTEORDER==1234 && !defined(SQLITE_DISABLE_INTRINSIC) \ - && defined(_MSC_VER) && _MSC_VER>=1300 +#elif SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 u32 x; memcpy(&x,p,4); return _byteswap_ulong(x); @@ -28430,12 +29666,10 @@ SQLITE_PRIVATE u32 sqlite3Get4byte(const u8 *p){ SQLITE_PRIVATE void sqlite3Put4byte(unsigned char *p, u32 v){ #if SQLITE_BYTEORDER==4321 memcpy(p,&v,4); -#elif SQLITE_BYTEORDER==1234 && !defined(SQLITE_DISABLE_INTRINSIC) \ - && defined(__GNUC__) && GCC_VERSION>=4003000 +#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 u32 x = __builtin_bswap32(v); memcpy(p,&x,4); -#elif SQLITE_BYTEORDER==1234 && !defined(SQLITE_DISABLE_INTRINSIC) \ - && defined(_MSC_VER) && _MSC_VER>=1300 +#elif SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 u32 x = _byteswap_ulong(v); memcpy(p,&x,4); #else @@ -28551,6 +29785,9 @@ SQLITE_PRIVATE int sqlite3SafetyCheckSickOrOk(sqlite3 *db){ ** overflow, leave *pA unchanged and return 1. */ SQLITE_PRIVATE int sqlite3AddInt64(i64 *pA, i64 iB){ +#if GCC_VERSION>=5004000 && !defined(__INTEL_COMPILER) + return __builtin_add_overflow(*pA, iB, pA); +#else i64 iA = *pA; testcase( iA==0 ); testcase( iA==1 ); testcase( iB==-1 ); testcase( iB==0 ); @@ -28565,8 +29802,12 @@ SQLITE_PRIVATE int sqlite3AddInt64(i64 *pA, i64 iB){ } *pA += iB; return 0; +#endif } SQLITE_PRIVATE int sqlite3SubInt64(i64 *pA, i64 iB){ +#if GCC_VERSION>=5004000 && !defined(__INTEL_COMPILER) + return __builtin_sub_overflow(*pA, iB, pA); +#else testcase( iB==SMALLEST_INT64+1 ); if( iB==SMALLEST_INT64 ){ testcase( (*pA)==(-1) ); testcase( (*pA)==0 ); @@ -28576,8 +29817,12 @@ SQLITE_PRIVATE int sqlite3SubInt64(i64 *pA, i64 iB){ }else{ return sqlite3AddInt64(pA, -iB); } +#endif } SQLITE_PRIVATE int sqlite3MulInt64(i64 *pA, i64 iB){ +#if GCC_VERSION>=5004000 && !defined(__INTEL_COMPILER) + return __builtin_mul_overflow(*pA, iB, pA); +#else i64 iA = *pA; if( iB>0 ){ if( iA>LARGEST_INT64/iB ) return 1; @@ -28593,6 +29838,7 @@ SQLITE_PRIVATE int sqlite3MulInt64(i64 *pA, i64 iB){ } *pA = iA*iB; return 0; +#endif } /* @@ -28676,8 +29922,14 @@ SQLITE_PRIVATE LogEst sqlite3LogEst(u64 x){ if( x<2 ) return 0; while( x<8 ){ y -= 10; x <<= 1; } }else{ +#if GCC_VERSION>=5004000 + int i = 60 - __builtin_clzll(x); + y += i*10; + x >>= i; +#else while( x>255 ){ y += 40; x >>= 4; } /*OPTIMIZATION-IF-TRUE*/ while( x>15 ){ y += 10; x >>= 1; } +#endif } return a[x&7] + y - 10; } @@ -28726,6 +29978,109 @@ SQLITE_PRIVATE u64 sqlite3LogEstToInt(LogEst x){ } #endif /* defined SCANSTAT or STAT4 or ESTIMATED_ROWS */ +/* +** Add a new name/number pair to a VList. This might require that the +** VList object be reallocated, so return the new VList. If an OOM +** error occurs, the original VList returned and the +** db->mallocFailed flag is set. +** +** A VList is really just an array of integers. To destroy a VList, +** simply pass it to sqlite3DbFree(). +** +** The first integer is the number of integers allocated for the whole +** VList. The second integer is the number of integers actually used. +** Each name/number pair is encoded by subsequent groups of 3 or more +** integers. +** +** Each name/number pair starts with two integers which are the numeric +** value for the pair and the size of the name/number pair, respectively. +** The text name overlays one or more following integers. The text name +** is always zero-terminated. +** +** Conceptually: +** +** struct VList { +** int nAlloc; // Number of allocated slots +** int nUsed; // Number of used slots +** struct VListEntry { +** int iValue; // Value for this entry +** int nSlot; // Slots used by this entry +** // ... variable name goes here +** } a[0]; +** } +** +** During code generation, pointers to the variable names within the +** VList are taken. When that happens, nAlloc is set to zero as an +** indication that the VList may never again be enlarged, since the +** accompanying realloc() would invalidate the pointers. +*/ +SQLITE_PRIVATE VList *sqlite3VListAdd( + sqlite3 *db, /* The database connection used for malloc() */ + VList *pIn, /* The input VList. Might be NULL */ + const char *zName, /* Name of symbol to add */ + int nName, /* Bytes of text in zName */ + int iVal /* Value to associate with zName */ +){ + int nInt; /* number of sizeof(int) objects needed for zName */ + char *z; /* Pointer to where zName will be stored */ + int i; /* Index in pIn[] where zName is stored */ + + nInt = nName/4 + 3; + assert( pIn==0 || pIn[0]>=3 ); /* Verify ok to add new elements */ + if( pIn==0 || pIn[1]+nInt > pIn[0] ){ + /* Enlarge the allocation */ + int nAlloc = (pIn ? pIn[0]*2 : 10) + nInt; + VList *pOut = sqlite3DbRealloc(db, pIn, nAlloc*sizeof(int)); + if( pOut==0 ) return pIn; + if( pIn==0 ) pOut[1] = 2; + pIn = pOut; + pIn[0] = nAlloc; + } + i = pIn[1]; + pIn[i] = iVal; + pIn[i+1] = nInt; + z = (char*)&pIn[i+2]; + pIn[1] = i+nInt; + assert( pIn[1]<=pIn[0] ); + memcpy(z, zName, nName); + z[nName] = 0; + return pIn; +} + +/* +** Return a pointer to the name of a variable in the given VList that +** has the value iVal. Or return a NULL if there is no such variable in +** the list +*/ +SQLITE_PRIVATE const char *sqlite3VListNumToName(VList *pIn, int iVal){ + int i, mx; + if( pIn==0 ) return 0; + mx = pIn[1]; + i = 2; + do{ + if( pIn[i]==iVal ) return (char*)&pIn[i+2]; + i += pIn[i+1]; + }while( iht ){ /*OPTIMIZATION-IF-TRUE*/ struct _ht *pEntry; @@ -28893,7 +30250,7 @@ static HashElem *findElementWithHash( elem = pH->first; count = pH->count; } - *pHash = h; + if( pHash ) *pHash = h; while( count-- ){ assert( elem!=0 ); if( sqlite3StrICmp(elem->pKey,pKey)==0 ){ @@ -28901,7 +30258,7 @@ static HashElem *findElementWithHash( } elem = elem->next; } - return 0; + return &nullElement; } /* Remove a single entry from the hash table given a pointer to that @@ -28943,13 +30300,9 @@ static void removeElementGivenHash( ** found, or NULL if there is no match. */ SQLITE_PRIVATE void *sqlite3HashFind(const Hash *pH, const char *pKey){ - HashElem *elem; /* The element that matches key */ - unsigned int h; /* A hash on key */ - assert( pH!=0 ); assert( pKey!=0 ); - elem = findElementWithHash(pH, pKey, &h); - return elem ? elem->data : 0; + return findElementWithHash(pH, pKey, 0)->data; } /* Insert an element into the hash table pH. The key is pKey @@ -28974,7 +30327,7 @@ SQLITE_PRIVATE void *sqlite3HashInsert(Hash *pH, const char *pKey, void *data){ assert( pH!=0 ); assert( pKey!=0 ); elem = findElementWithHash(pH,pKey,&h); - if( elem ){ + if( elem->data ){ void *old_data = elem->data; if( data==0 ){ removeElementGivenHash(pH,elem,h); @@ -29037,146 +30390,153 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ /* 20 */ "Once" OpHelp(""), /* 21 */ "If" OpHelp(""), /* 22 */ "IfNot" OpHelp(""), - /* 23 */ "SeekLT" OpHelp("key=r[P3@P4]"), - /* 24 */ "SeekLE" OpHelp("key=r[P3@P4]"), - /* 25 */ "SeekGE" OpHelp("key=r[P3@P4]"), - /* 26 */ "SeekGT" OpHelp("key=r[P3@P4]"), - /* 27 */ "Or" OpHelp("r[P3]=(r[P1] || r[P2])"), - /* 28 */ "And" OpHelp("r[P3]=(r[P1] && r[P2])"), - /* 29 */ "NoConflict" OpHelp("key=r[P3@P4]"), - /* 30 */ "NotFound" OpHelp("key=r[P3@P4]"), - /* 31 */ "Found" OpHelp("key=r[P3@P4]"), - /* 32 */ "SeekRowid" OpHelp("intkey=r[P3]"), - /* 33 */ "NotExists" OpHelp("intkey=r[P3]"), - /* 34 */ "IsNull" OpHelp("if r[P1]==NULL goto P2"), - /* 35 */ "NotNull" OpHelp("if r[P1]!=NULL goto P2"), - /* 36 */ "Ne" OpHelp("IF r[P3]!=r[P1]"), - /* 37 */ "Eq" OpHelp("IF r[P3]==r[P1]"), - /* 38 */ "Gt" OpHelp("IF r[P3]>r[P1]"), - /* 39 */ "Le" OpHelp("IF r[P3]<=r[P1]"), - /* 40 */ "Lt" OpHelp("IF r[P3]=r[P1]"), - /* 42 */ "ElseNotEq" OpHelp(""), - /* 43 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]"), - /* 44 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]"), - /* 45 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<>r[P1]"), - /* 47 */ "Add" OpHelp("r[P3]=r[P1]+r[P2]"), - /* 48 */ "Subtract" OpHelp("r[P3]=r[P2]-r[P1]"), - /* 49 */ "Multiply" OpHelp("r[P3]=r[P1]*r[P2]"), - /* 50 */ "Divide" OpHelp("r[P3]=r[P2]/r[P1]"), - /* 51 */ "Remainder" OpHelp("r[P3]=r[P2]%r[P1]"), - /* 52 */ "Concat" OpHelp("r[P3]=r[P2]+r[P1]"), - /* 53 */ "Last" OpHelp(""), - /* 54 */ "BitNot" OpHelp("r[P1]= ~r[P1]"), - /* 55 */ "SorterSort" OpHelp(""), - /* 56 */ "Sort" OpHelp(""), - /* 57 */ "Rewind" OpHelp(""), - /* 58 */ "IdxLE" OpHelp("key=r[P3@P4]"), - /* 59 */ "IdxGT" OpHelp("key=r[P3@P4]"), - /* 60 */ "IdxLT" OpHelp("key=r[P3@P4]"), - /* 61 */ "IdxGE" OpHelp("key=r[P3@P4]"), - /* 62 */ "RowSetRead" OpHelp("r[P3]=rowset(P1)"), - /* 63 */ "RowSetTest" OpHelp("if r[P3] in rowset(P1) goto P2"), - /* 64 */ "Program" OpHelp(""), - /* 65 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2"), - /* 66 */ "IfPos" OpHelp("if r[P1]>0 then r[P1]-=P3, goto P2"), - /* 67 */ "IfNotZero" OpHelp("if r[P1]!=0 then r[P1]-=P3, goto P2"), - /* 68 */ "DecrJumpZero" OpHelp("if (--r[P1])==0 goto P2"), - /* 69 */ "IncrVacuum" OpHelp(""), - /* 70 */ "VNext" OpHelp(""), - /* 71 */ "Init" OpHelp("Start at P2"), - /* 72 */ "Return" OpHelp(""), - /* 73 */ "EndCoroutine" OpHelp(""), - /* 74 */ "HaltIfNull" OpHelp("if r[P3]=null halt"), - /* 75 */ "Halt" OpHelp(""), - /* 76 */ "Integer" OpHelp("r[P2]=P1"), - /* 77 */ "Int64" OpHelp("r[P2]=P4"), - /* 78 */ "String" OpHelp("r[P2]='P4' (len=P1)"), - /* 79 */ "Null" OpHelp("r[P2..P3]=NULL"), - /* 80 */ "SoftNull" OpHelp("r[P1]=NULL"), - /* 81 */ "Blob" OpHelp("r[P2]=P4 (len=P1)"), - /* 82 */ "Variable" OpHelp("r[P2]=parameter(P1,P4)"), - /* 83 */ "Move" OpHelp("r[P2@P3]=r[P1@P3]"), - /* 84 */ "Copy" OpHelp("r[P2@P3+1]=r[P1@P3+1]"), - /* 85 */ "SCopy" OpHelp("r[P2]=r[P1]"), - /* 86 */ "IntCopy" OpHelp("r[P2]=r[P1]"), - /* 87 */ "ResultRow" OpHelp("output=r[P1@P2]"), - /* 88 */ "CollSeq" OpHelp(""), - /* 89 */ "Function0" OpHelp("r[P3]=func(r[P2@P5])"), - /* 90 */ "Function" OpHelp("r[P3]=func(r[P2@P5])"), - /* 91 */ "AddImm" OpHelp("r[P1]=r[P1]+P2"), - /* 92 */ "RealAffinity" OpHelp(""), - /* 93 */ "Cast" OpHelp("affinity(r[P1])"), - /* 94 */ "Permutation" OpHelp(""), - /* 95 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]"), - /* 96 */ "Column" OpHelp("r[P3]=PX"), + /* 23 */ "IfNullRow" OpHelp("if P1.nullRow then r[P3]=NULL, goto P2"), + /* 24 */ "SeekLT" OpHelp("key=r[P3@P4]"), + /* 25 */ "SeekLE" OpHelp("key=r[P3@P4]"), + /* 26 */ "SeekGE" OpHelp("key=r[P3@P4]"), + /* 27 */ "SeekGT" OpHelp("key=r[P3@P4]"), + /* 28 */ "NoConflict" OpHelp("key=r[P3@P4]"), + /* 29 */ "NotFound" OpHelp("key=r[P3@P4]"), + /* 30 */ "Found" OpHelp("key=r[P3@P4]"), + /* 31 */ "SeekRowid" OpHelp("intkey=r[P3]"), + /* 32 */ "NotExists" OpHelp("intkey=r[P3]"), + /* 33 */ "Last" OpHelp(""), + /* 34 */ "IfSmaller" OpHelp(""), + /* 35 */ "SorterSort" OpHelp(""), + /* 36 */ "Sort" OpHelp(""), + /* 37 */ "Rewind" OpHelp(""), + /* 38 */ "IdxLE" OpHelp("key=r[P3@P4]"), + /* 39 */ "IdxGT" OpHelp("key=r[P3@P4]"), + /* 40 */ "IdxLT" OpHelp("key=r[P3@P4]"), + /* 41 */ "IdxGE" OpHelp("key=r[P3@P4]"), + /* 42 */ "RowSetRead" OpHelp("r[P3]=rowset(P1)"), + /* 43 */ "Or" OpHelp("r[P3]=(r[P1] || r[P2])"), + /* 44 */ "And" OpHelp("r[P3]=(r[P1] && r[P2])"), + /* 45 */ "RowSetTest" OpHelp("if r[P3] in rowset(P1) goto P2"), + /* 46 */ "Program" OpHelp(""), + /* 47 */ "FkIfZero" OpHelp("if fkctr[P1]==0 goto P2"), + /* 48 */ "IfPos" OpHelp("if r[P1]>0 then r[P1]-=P3, goto P2"), + /* 49 */ "IfNotZero" OpHelp("if r[P1]!=0 then r[P1]--, goto P2"), + /* 50 */ "IsNull" OpHelp("if r[P1]==NULL goto P2"), + /* 51 */ "NotNull" OpHelp("if r[P1]!=NULL goto P2"), + /* 52 */ "Ne" OpHelp("IF r[P3]!=r[P1]"), + /* 53 */ "Eq" OpHelp("IF r[P3]==r[P1]"), + /* 54 */ "Gt" OpHelp("IF r[P3]>r[P1]"), + /* 55 */ "Le" OpHelp("IF r[P3]<=r[P1]"), + /* 56 */ "Lt" OpHelp("IF r[P3]=r[P1]"), + /* 58 */ "ElseNotEq" OpHelp(""), + /* 59 */ "DecrJumpZero" OpHelp("if (--r[P1])==0 goto P2"), + /* 60 */ "IncrVacuum" OpHelp(""), + /* 61 */ "VNext" OpHelp(""), + /* 62 */ "Init" OpHelp("Start at P2"), + /* 63 */ "Return" OpHelp(""), + /* 64 */ "EndCoroutine" OpHelp(""), + /* 65 */ "HaltIfNull" OpHelp("if r[P3]=null halt"), + /* 66 */ "Halt" OpHelp(""), + /* 67 */ "Integer" OpHelp("r[P2]=P1"), + /* 68 */ "Int64" OpHelp("r[P2]=P4"), + /* 69 */ "String" OpHelp("r[P2]='P4' (len=P1)"), + /* 70 */ "Null" OpHelp("r[P2..P3]=NULL"), + /* 71 */ "SoftNull" OpHelp("r[P1]=NULL"), + /* 72 */ "Blob" OpHelp("r[P2]=P4 (len=P1)"), + /* 73 */ "Variable" OpHelp("r[P2]=parameter(P1,P4)"), + /* 74 */ "Move" OpHelp("r[P2@P3]=r[P1@P3]"), + /* 75 */ "Copy" OpHelp("r[P2@P3+1]=r[P1@P3+1]"), + /* 76 */ "SCopy" OpHelp("r[P2]=r[P1]"), + /* 77 */ "IntCopy" OpHelp("r[P2]=r[P1]"), + /* 78 */ "ResultRow" OpHelp("output=r[P1@P2]"), + /* 79 */ "CollSeq" OpHelp(""), + /* 80 */ "AddImm" OpHelp("r[P1]=r[P1]+P2"), + /* 81 */ "RealAffinity" OpHelp(""), + /* 82 */ "Cast" OpHelp("affinity(r[P1])"), + /* 83 */ "Permutation" OpHelp(""), + /* 84 */ "BitAnd" OpHelp("r[P3]=r[P1]&r[P2]"), + /* 85 */ "BitOr" OpHelp("r[P3]=r[P1]|r[P2]"), + /* 86 */ "ShiftLeft" OpHelp("r[P3]=r[P2]<>r[P1]"), + /* 88 */ "Add" OpHelp("r[P3]=r[P1]+r[P2]"), + /* 89 */ "Subtract" OpHelp("r[P3]=r[P2]-r[P1]"), + /* 90 */ "Multiply" OpHelp("r[P3]=r[P1]*r[P2]"), + /* 91 */ "Divide" OpHelp("r[P3]=r[P2]/r[P1]"), + /* 92 */ "Remainder" OpHelp("r[P3]=r[P2]%r[P1]"), + /* 93 */ "Concat" OpHelp("r[P3]=r[P2]+r[P1]"), + /* 94 */ "Compare" OpHelp("r[P1@P3] <-> r[P2@P3]"), + /* 95 */ "BitNot" OpHelp("r[P1]= ~r[P1]"), + /* 96 */ "Offset" OpHelp("r[P3] = sqlite_offset(P1)"), /* 97 */ "String8" OpHelp("r[P2]='P4'"), - /* 98 */ "Affinity" OpHelp("affinity(r[P1@P2])"), - /* 99 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"), - /* 100 */ "Count" OpHelp("r[P2]=count()"), - /* 101 */ "ReadCookie" OpHelp(""), - /* 102 */ "SetCookie" OpHelp(""), - /* 103 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"), - /* 104 */ "OpenRead" OpHelp("root=P2 iDb=P3"), - /* 105 */ "OpenWrite" OpHelp("root=P2 iDb=P3"), - /* 106 */ "OpenAutoindex" OpHelp("nColumn=P2"), - /* 107 */ "OpenEphemeral" OpHelp("nColumn=P2"), - /* 108 */ "SorterOpen" OpHelp(""), - /* 109 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"), - /* 110 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"), - /* 111 */ "Close" OpHelp(""), - /* 112 */ "ColumnsUsed" OpHelp(""), - /* 113 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"), - /* 114 */ "NewRowid" OpHelp("r[P2]=rowid"), - /* 115 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"), - /* 116 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), - /* 117 */ "Delete" OpHelp(""), - /* 118 */ "ResetCount" OpHelp(""), - /* 119 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"), - /* 120 */ "SorterData" OpHelp("r[P2]=data"), - /* 121 */ "RowKey" OpHelp("r[P2]=key"), - /* 122 */ "RowData" OpHelp("r[P2]=data"), - /* 123 */ "Rowid" OpHelp("r[P2]=rowid"), - /* 124 */ "NullRow" OpHelp(""), - /* 125 */ "SorterInsert" OpHelp(""), - /* 126 */ "IdxInsert" OpHelp("key=r[P2]"), - /* 127 */ "IdxDelete" OpHelp("key=r[P2@P3]"), - /* 128 */ "Seek" OpHelp("Move P3 to P1.rowid"), - /* 129 */ "IdxRowid" OpHelp("r[P2]=rowid"), - /* 130 */ "Destroy" OpHelp(""), - /* 131 */ "Clear" OpHelp(""), + /* 98 */ "Column" OpHelp("r[P3]=PX"), + /* 99 */ "Affinity" OpHelp("affinity(r[P1@P2])"), + /* 100 */ "MakeRecord" OpHelp("r[P3]=mkrec(r[P1@P2])"), + /* 101 */ "Count" OpHelp("r[P2]=count()"), + /* 102 */ "ReadCookie" OpHelp(""), + /* 103 */ "SetCookie" OpHelp(""), + /* 104 */ "ReopenIdx" OpHelp("root=P2 iDb=P3"), + /* 105 */ "OpenRead" OpHelp("root=P2 iDb=P3"), + /* 106 */ "OpenWrite" OpHelp("root=P2 iDb=P3"), + /* 107 */ "OpenDup" OpHelp(""), + /* 108 */ "OpenAutoindex" OpHelp("nColumn=P2"), + /* 109 */ "OpenEphemeral" OpHelp("nColumn=P2"), + /* 110 */ "SorterOpen" OpHelp(""), + /* 111 */ "SequenceTest" OpHelp("if( cursor[P1].ctr++ ) pc = P2"), + /* 112 */ "OpenPseudo" OpHelp("P3 columns in r[P2]"), + /* 113 */ "Close" OpHelp(""), + /* 114 */ "ColumnsUsed" OpHelp(""), + /* 115 */ "Sequence" OpHelp("r[P2]=cursor[P1].ctr++"), + /* 116 */ "NewRowid" OpHelp("r[P2]=rowid"), + /* 117 */ "Insert" OpHelp("intkey=r[P3] data=r[P2]"), + /* 118 */ "InsertInt" OpHelp("intkey=P3 data=r[P2]"), + /* 119 */ "Delete" OpHelp(""), + /* 120 */ "ResetCount" OpHelp(""), + /* 121 */ "SorterCompare" OpHelp("if key(P1)!=trim(r[P3],P4) goto P2"), + /* 122 */ "SorterData" OpHelp("r[P2]=data"), + /* 123 */ "RowData" OpHelp("r[P2]=data"), + /* 124 */ "Rowid" OpHelp("r[P2]=rowid"), + /* 125 */ "NullRow" OpHelp(""), + /* 126 */ "SeekEnd" OpHelp(""), + /* 127 */ "SorterInsert" OpHelp("key=r[P2]"), + /* 128 */ "IdxInsert" OpHelp("key=r[P2]"), + /* 129 */ "IdxDelete" OpHelp("key=r[P2@P3]"), + /* 130 */ "DeferredSeek" OpHelp("Move P3 to P1.rowid if needed"), + /* 131 */ "IdxRowid" OpHelp("r[P2]=rowid"), /* 132 */ "Real" OpHelp("r[P2]=P4"), - /* 133 */ "ResetSorter" OpHelp(""), - /* 134 */ "CreateIndex" OpHelp("r[P2]=root iDb=P1"), - /* 135 */ "CreateTable" OpHelp("r[P2]=root iDb=P1"), - /* 136 */ "ParseSchema" OpHelp(""), - /* 137 */ "LoadAnalysis" OpHelp(""), - /* 138 */ "DropTable" OpHelp(""), - /* 139 */ "DropIndex" OpHelp(""), - /* 140 */ "DropTrigger" OpHelp(""), - /* 141 */ "IntegrityCk" OpHelp(""), - /* 142 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"), - /* 143 */ "Param" OpHelp(""), - /* 144 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), - /* 145 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), - /* 146 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"), - /* 147 */ "AggStep0" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 148 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"), - /* 149 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), - /* 150 */ "Expire" OpHelp(""), - /* 151 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), - /* 152 */ "VBegin" OpHelp(""), - /* 153 */ "VCreate" OpHelp(""), - /* 154 */ "VDestroy" OpHelp(""), - /* 155 */ "VOpen" OpHelp(""), - /* 156 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), - /* 157 */ "VRename" OpHelp(""), - /* 158 */ "Pagecount" OpHelp(""), - /* 159 */ "MaxPgcnt" OpHelp(""), - /* 160 */ "CursorHint" OpHelp(""), - /* 161 */ "Noop" OpHelp(""), - /* 162 */ "Explain" OpHelp(""), + /* 133 */ "Destroy" OpHelp(""), + /* 134 */ "Clear" OpHelp(""), + /* 135 */ "ResetSorter" OpHelp(""), + /* 136 */ "CreateBtree" OpHelp("r[P2]=root iDb=P1 flags=P3"), + /* 137 */ "SqlExec" OpHelp(""), + /* 138 */ "ParseSchema" OpHelp(""), + /* 139 */ "LoadAnalysis" OpHelp(""), + /* 140 */ "DropTable" OpHelp(""), + /* 141 */ "DropIndex" OpHelp(""), + /* 142 */ "DropTrigger" OpHelp(""), + /* 143 */ "IntegrityCk" OpHelp(""), + /* 144 */ "RowSetAdd" OpHelp("rowset(P1)=r[P2]"), + /* 145 */ "Param" OpHelp(""), + /* 146 */ "FkCounter" OpHelp("fkctr[P1]+=P2"), + /* 147 */ "MemMax" OpHelp("r[P1]=max(r[P1],r[P2])"), + /* 148 */ "OffsetLimit" OpHelp("if r[P1]>0 then r[P2]=r[P1]+max(0,r[P3]) else r[P2]=(-1)"), + /* 149 */ "AggStep0" OpHelp("accum=r[P3] step(r[P2@P5])"), + /* 150 */ "AggStep" OpHelp("accum=r[P3] step(r[P2@P5])"), + /* 151 */ "AggFinal" OpHelp("accum=r[P1] N=P2"), + /* 152 */ "Expire" OpHelp(""), + /* 153 */ "TableLock" OpHelp("iDb=P1 root=P2 write=P3"), + /* 154 */ "VBegin" OpHelp(""), + /* 155 */ "VCreate" OpHelp(""), + /* 156 */ "VDestroy" OpHelp(""), + /* 157 */ "VOpen" OpHelp(""), + /* 158 */ "VColumn" OpHelp("r[P3]=vcolumn(P2)"), + /* 159 */ "VRename" OpHelp(""), + /* 160 */ "Pagecount" OpHelp(""), + /* 161 */ "MaxPgcnt" OpHelp(""), + /* 162 */ "PureFunc0" OpHelp(""), + /* 163 */ "Function0" OpHelp("r[P3]=func(r[P2@P5])"), + /* 164 */ "PureFunc" OpHelp(""), + /* 165 */ "Function" OpHelp("r[P3]=func(r[P2@P5])"), + /* 166 */ "Trace" OpHelp(""), + /* 167 */ "CursorHint" OpHelp(""), + /* 168 */ "Noop" OpHelp(""), + /* 169 */ "Explain" OpHelp(""), }; return azName[i]; } @@ -29276,6 +30636,7 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ #include #include #include +#include #include /* #include */ #include @@ -29285,7 +30646,7 @@ SQLITE_PRIVATE const char *sqlite3OpcodeName(int i){ #endif #if SQLITE_ENABLE_LOCKING_STYLE -# include +/* # include */ # include # include #endif /* SQLITE_ENABLE_LOCKING_STYLE */ @@ -29395,7 +30756,7 @@ struct unixFile { unsigned short int ctrlFlags; /* Behavioral bits. UNIXFILE_* flags */ int lastErrno; /* The unix errno from last I/O error */ void *lockingContext; /* Locking style specific state */ - UnixUnusedFd *pUnused; /* Pre-allocated UnixUnusedFd */ + UnixUnusedFd *pPreallocatedUnused; /* Pre-allocated UnixUnusedFd */ const char *zPath; /* Name of the file */ unixShm *pShm; /* Shared memory segment information */ int szChunk; /* Configured by FCNTL_CHUNK_SIZE */ @@ -29406,10 +30767,8 @@ struct unixFile { sqlite3_int64 mmapSizeMax; /* Configured FCNTL_MMAP_SIZE value */ void *pMapRegion; /* Memory mapped region */ #endif -#ifdef __QNXNTO__ int sectorSize; /* Device sector size */ int deviceCharacteristics; /* Precomputed device characteristics */ -#endif #if SQLITE_ENABLE_LOCKING_STYLE int openFlags; /* The flags specified at open() */ #endif @@ -29712,6 +31071,20 @@ SQLITE_API extern int sqlite3_open_file_count; # define lseek lseek64 #endif +#ifdef __linux__ +/* +** Linux-specific IOCTL magic numbers used for controlling F2FS +*/ +#define F2FS_IOCTL_MAGIC 0xf5 +#define F2FS_IOC_START_ATOMIC_WRITE _IO(F2FS_IOCTL_MAGIC, 1) +#define F2FS_IOC_COMMIT_ATOMIC_WRITE _IO(F2FS_IOCTL_MAGIC, 2) +#define F2FS_IOC_START_VOLATILE_WRITE _IO(F2FS_IOCTL_MAGIC, 3) +#define F2FS_IOC_ABORT_VOLATILE_WRITE _IO(F2FS_IOCTL_MAGIC, 5) +#define F2FS_IOC_GET_FEATURES _IOR(F2FS_IOCTL_MAGIC, 12, u32) +#define F2FS_FEATURE_ATOMIC_WRITE 0x0004 +#endif /* __linux__ */ + + /* ** Different Unix systems declare open() in different ways. Same use ** open(const char*,int,mode_t). Others use open(const char*,int,...). @@ -29854,7 +31227,7 @@ static struct unix_syscall { #else { "munmap", (sqlite3_syscall_ptr)0, 0 }, #endif -#define osMunmap ((void*(*)(void*,size_t))aSyscall[23].pCurrent) +#define osMunmap ((int(*)(void*,size_t))aSyscall[23].pCurrent) #if HAVE_MREMAP && (!defined(SQLITE_OMIT_WAL) || SQLITE_MAX_MMAP_SIZE>0) { "mremap", (sqlite3_syscall_ptr)mremap, 0 }, @@ -29884,6 +31257,13 @@ static struct unix_syscall { #endif #define osLstat ((int(*)(const char*,struct stat*))aSyscall[27].pCurrent) +#if defined(__linux__) && defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) + { "ioctl", (sqlite3_syscall_ptr)ioctl, 0 }, +#else + { "ioctl", (sqlite3_syscall_ptr)0, 0 }, +#endif +#define osIoctl ((int(*)(int,int,...))aSyscall[28].pCurrent) + }; /* End of the overrideable system calls */ @@ -30445,7 +31825,14 @@ struct unixFileId { #if OS_VXWORKS struct vxworksFileId *pId; /* Unique file ID for vxworks. */ #else - ino_t ino; /* Inode number */ + /* We are told that some versions of Android contain a bug that + ** sizes ino_t at only 32-bits instead of 64-bits. (See + ** https://android-review.googlesource.com/#/c/115351/3/dist/sqlite3.c) + ** To work around this, always allocate 64-bits for the inode number. + ** On small machines that only have 32-bit inodes, this wastes 4 bytes, + ** but that should not be a big deal. */ + /* WAS: ino_t ino; */ + u64 ino; /* Inode number */ #endif }; @@ -30481,7 +31868,8 @@ struct unixInodeInfo { /* ** A lists of all unixInodeInfo objects. */ -static unixInodeInfo *inodeList = 0; +static unixInodeInfo *inodeList = 0; /* All unixInodeInfo objects */ +static unsigned int nUnusedFd = 0; /* Total unused file descriptors */ /* ** @@ -30591,6 +31979,7 @@ static void closePendingFds(unixFile *pFile){ pNext = p->pNext; robust_close(pFile, p->fd, __LINE__); sqlite3_free(p); + nUnusedFd--; } pInode->pUnused = 0; } @@ -30623,6 +32012,7 @@ static void releaseInodeInfo(unixFile *pFile){ sqlite3_free(pInode); } } + assert( inodeList!=0 || nUnusedFd==0 ); } /* @@ -30690,8 +32080,9 @@ static int findInodeInfo( #if OS_VXWORKS fileId.pId = pFile->pId; #else - fileId.ino = statbuf.st_ino; + fileId.ino = (u64)statbuf.st_ino; #endif + assert( inodeList!=0 || nUnusedFd==0 ); pInode = inodeList; while( pInode && memcmp(&fileId, &pInode->fileId, sizeof(fileId)) ){ pInode = pInode->pNext; @@ -30724,7 +32115,8 @@ static int fileHasMoved(unixFile *pFile){ #else struct stat buf; return pFile->pInode!=0 && - (osStat(pFile->zPath, &buf)!=0 || buf.st_ino!=pFile->pInode->fileId.ino); + (osStat(pFile->zPath, &buf)!=0 + || (u64)buf.st_ino!=pFile->pInode->fileId.ino); #endif } @@ -31110,11 +32502,12 @@ static int unixLock(sqlite3_file *id, int eFileLock){ */ static void setPendingFd(unixFile *pFile){ unixInodeInfo *pInode = pFile->pInode; - UnixUnusedFd *p = pFile->pUnused; + UnixUnusedFd *p = pFile->pPreallocatedUnused; p->pNext = pInode->pUnused; pInode->pUnused = p; pFile->h = -1; - pFile->pUnused = 0; + pFile->pPreallocatedUnused = 0; + nUnusedFd++; } /* @@ -31339,7 +32732,7 @@ static int closeUnixFile(sqlite3_file *id){ #endif OSTRACE(("CLOSE %-3d\n", pFile->h)); OpenCounter(-1); - sqlite3_free(pFile->pUnused); + sqlite3_free(pFile->pPreallocatedUnused); memset(pFile, 0, sizeof(unixFile)); return SQLITE_OK; } @@ -31676,7 +33069,7 @@ static int flockCheckReservedLock(sqlite3_file *id, int *pResOut){ OSTRACE(("TEST WR-LOCK %d %d %d (flock)\n", pFile->h, rc, reserved)); #ifdef SQLITE_IGNORE_FLOCK_LOCK_ERRORS - if( (rc & SQLITE_IOERR) == SQLITE_IOERR ){ + if( (rc & 0xff) == SQLITE_IOERR ){ rc = SQLITE_OK; reserved=1; } @@ -31743,7 +33136,7 @@ static int flockLock(sqlite3_file *id, int eFileLock) { OSTRACE(("LOCK %d %s %s (flock)\n", pFile->h, azFileLock(eFileLock), rc==SQLITE_OK ? "ok" : "failed")); #ifdef SQLITE_IGNORE_FLOCK_LOCK_ERRORS - if( (rc & SQLITE_IOERR) == SQLITE_IOERR ){ + if( (rc & 0xff) == SQLITE_IOERR ){ rc = SQLITE_BUSY; } #endif /* SQLITE_IGNORE_FLOCK_LOCK_ERRORS */ @@ -32280,7 +33673,7 @@ static int afpLock(sqlite3_file *id, int eFileLock){ /* Can't reestablish the shared lock. Sqlite can't deal, this is ** a critical I/O error */ - rc = ((failed & SQLITE_IOERR) == SQLITE_IOERR) ? failed2 : + rc = ((failed & 0xff) == SQLITE_IOERR) ? failed2 : SQLITE_IOERR_LOCK; goto afp_end_lock; } @@ -32560,7 +33953,7 @@ static int unixRead( /* If this is a database file (not a journal, master-journal or temp ** file), the bytes in the locking range should never be read or written. */ #if 0 - assert( pFile->pUnused==0 + assert( pFile->pPreallocatedUnused==0 || offset>=PENDING_BYTE+512 || offset+amt<=PENDING_BYTE ); @@ -32673,7 +34066,7 @@ static int unixWrite( /* If this is a database file (not a journal, master-journal or temp ** file), the bytes in the locking range should never be read or written. */ #if 0 - assert( pFile->pUnused==0 + assert( pFile->pPreallocatedUnused==0 || offset>=PENDING_BYTE+512 || offset+amt<=PENDING_BYTE ); @@ -33153,6 +34546,21 @@ static int unixGetTempname(int nBuf, char *zBuf); static int unixFileControl(sqlite3_file *id, int op, void *pArg){ unixFile *pFile = (unixFile*)id; switch( op ){ +#if defined(__linux__) && defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) + case SQLITE_FCNTL_BEGIN_ATOMIC_WRITE: { + int rc = osIoctl(pFile->h, F2FS_IOC_START_ATOMIC_WRITE); + return rc ? SQLITE_IOERR_BEGIN_ATOMIC : SQLITE_OK; + } + case SQLITE_FCNTL_COMMIT_ATOMIC_WRITE: { + int rc = osIoctl(pFile->h, F2FS_IOC_COMMIT_ATOMIC_WRITE); + return rc ? SQLITE_IOERR_COMMIT_ATOMIC : SQLITE_OK; + } + case SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE: { + int rc = osIoctl(pFile->h, F2FS_IOC_ABORT_VOLATILE_WRITE); + return rc ? SQLITE_IOERR_ROLLBACK_ATOMIC : SQLITE_OK; + } +#endif /* __linux__ && SQLITE_ENABLE_BATCH_ATOMIC_WRITE */ + case SQLITE_FCNTL_LOCKSTATE: { *(int*)pArg = pFile->eFileLock; return SQLITE_OK; @@ -33203,6 +34611,14 @@ static int unixFileControl(sqlite3_file *id, int op, void *pArg){ if( newLimit>sqlite3GlobalConfig.mxMmap ){ newLimit = sqlite3GlobalConfig.mxMmap; } + + /* The value of newLimit may be eventually cast to (size_t) and passed + ** to mmap(). Restrict its value to 2GB if (size_t) is not at least a + ** 64-bit type. */ + if( newLimit>0 && sizeof(size_t)<8 ){ + newLimit = (newLimit & 0x7FFFFFFF); + } + *(i64*)pArg = pFile->mmapSizeMax; if( newLimit>=0 && newLimit!=pFile->mmapSizeMax && pFile->nFetchOut==0 ){ pFile->mmapSizeMax = newLimit; @@ -33236,30 +34652,41 @@ static int unixFileControl(sqlite3_file *id, int op, void *pArg){ } /* -** Return the sector size in bytes of the underlying block device for -** the specified file. This is almost always 512 bytes, but may be -** larger for some devices. +** If pFd->sectorSize is non-zero when this function is called, it is a +** no-op. Otherwise, the values of pFd->sectorSize and +** pFd->deviceCharacteristics are set according to the file-system +** characteristics. ** -** SQLite code assumes this function cannot fail. It also assumes that -** if two files are created in the same file-system directory (i.e. -** a database and its journal file) that the sector size will be the -** same for both. +** There are two versions of this function. One for QNX and one for all +** other systems. */ -#ifndef __QNXNTO__ -static int unixSectorSize(sqlite3_file *NotUsed){ - UNUSED_PARAMETER(NotUsed); - return SQLITE_DEFAULT_SECTOR_SIZE; -} -#endif +#ifndef __QNXNTO__ +static void setDeviceCharacteristics(unixFile *pFd){ + assert( pFd->deviceCharacteristics==0 || pFd->sectorSize!=0 ); + if( pFd->sectorSize==0 ){ +#if defined(__linux__) && defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) + int res; + u32 f = 0; -/* -** The following version of unixSectorSize() is optimized for QNX. -*/ -#ifdef __QNXNTO__ + /* Check for support for F2FS atomic batch writes. */ + res = osIoctl(pFd->h, F2FS_IOC_GET_FEATURES, &f); + if( res==0 && (f & F2FS_FEATURE_ATOMIC_WRITE) ){ + pFd->deviceCharacteristics = SQLITE_IOCAP_BATCH_ATOMIC; + } +#endif /* __linux__ && SQLITE_ENABLE_BATCH_ATOMIC_WRITE */ + + /* Set the POWERSAFE_OVERWRITE flag if requested. */ + if( pFd->ctrlFlags & UNIXFILE_PSOW ){ + pFd->deviceCharacteristics |= SQLITE_IOCAP_POWERSAFE_OVERWRITE; + } + + pFd->sectorSize = SQLITE_DEFAULT_SECTOR_SIZE; + } +} +#else #include #include -static int unixSectorSize(sqlite3_file *id){ - unixFile *pFile = (unixFile*)id; +static void setDeviceCharacteristics(unixFile *pFile){ if( pFile->sectorSize == 0 ){ struct statvfs fsInfo; @@ -33267,7 +34694,7 @@ static int unixSectorSize(sqlite3_file *id){ pFile->sectorSize = SQLITE_DEFAULT_SECTOR_SIZE; pFile->deviceCharacteristics = 0; if( fstatvfs(pFile->h, &fsInfo) == -1 ) { - return pFile->sectorSize; + return; } if( !strcmp(fsInfo.f_basetype, "tmp") ) { @@ -33328,9 +34755,24 @@ static int unixSectorSize(sqlite3_file *id){ pFile->deviceCharacteristics = 0; pFile->sectorSize = SQLITE_DEFAULT_SECTOR_SIZE; } - return pFile->sectorSize; } -#endif /* __QNXNTO__ */ +#endif + +/* +** Return the sector size in bytes of the underlying block device for +** the specified file. This is almost always 512 bytes, but may be +** larger for some devices. +** +** SQLite code assumes this function cannot fail. It also assumes that +** if two files are created in the same file-system directory (i.e. +** a database and its journal file) that the sector size will be the +** same for both. +*/ +static int unixSectorSize(sqlite3_file *id){ + unixFile *pFd = (unixFile*)id; + setDeviceCharacteristics(pFd); + return pFd->sectorSize; +} /* ** Return the device characteristics for the file. @@ -33346,16 +34788,9 @@ static int unixSectorSize(sqlite3_file *id){ ** available to turn it off and URI query parameter available to turn it off. */ static int unixDeviceCharacteristics(sqlite3_file *id){ - unixFile *p = (unixFile*)id; - int rc = 0; -#ifdef __QNXNTO__ - if( p->sectorSize==0 ) unixSectorSize(id); - rc = p->deviceCharacteristics; -#endif - if( p->ctrlFlags & UNIXFILE_PSOW ){ - rc |= SQLITE_IOCAP_POWERSAFE_OVERWRITE; - } - return rc; + unixFile *pFd = (unixFile*)id; + setDeviceCharacteristics(pFd); + return pFd->deviceCharacteristics; } #if !defined(SQLITE_OMIT_WAL) || SQLITE_MAX_MMAP_SIZE>0 @@ -33417,6 +34852,7 @@ struct unixShmNode { int szRegion; /* Size of shared-memory regions */ u16 nRegion; /* Size of array apRegion */ u8 isReadonly; /* True if read-only */ + u8 isUnlocked; /* True if no DMS lock held */ char **apRegion; /* Array of mapped shared-memory regions */ int nRef; /* Number of unixShm objects pointing to this */ unixShm *pFirst; /* All unixShm objects pointing to this */ @@ -33473,7 +34909,7 @@ static int unixShmSystemLock( /* Access to the unixShmNode object is serialized by the caller */ pShmNode = pFile->pInode->pShmNode; - assert( sqlite3_mutex_held(pShmNode->mutex) || pShmNode->nRef==0 ); + assert( pShmNode->nRef==0 || sqlite3_mutex_held(pShmNode->mutex) ); /* Shared locks never span more than one byte */ assert( n==1 || lockType!=F_RDLCK ); @@ -33579,6 +35015,64 @@ static void unixShmPurge(unixFile *pFd){ } } +/* +** The DMS lock has not yet been taken on shm file pShmNode. Attempt to +** take it now. Return SQLITE_OK if successful, or an SQLite error +** code otherwise. +** +** If the DMS cannot be locked because this is a readonly_shm=1 +** connection and no other process already holds a lock, return +** SQLITE_READONLY_CANTINIT and set pShmNode->isUnlocked=1. +*/ +static int unixLockSharedMemory(unixFile *pDbFd, unixShmNode *pShmNode){ + struct flock lock; + int rc = SQLITE_OK; + + /* Use F_GETLK to determine the locks other processes are holding + ** on the DMS byte. If it indicates that another process is holding + ** a SHARED lock, then this process may also take a SHARED lock + ** and proceed with opening the *-shm file. + ** + ** Or, if no other process is holding any lock, then this process + ** is the first to open it. In this case take an EXCLUSIVE lock on the + ** DMS byte and truncate the *-shm file to zero bytes in size. Then + ** downgrade to a SHARED lock on the DMS byte. + ** + ** If another process is holding an EXCLUSIVE lock on the DMS byte, + ** return SQLITE_BUSY to the caller (it will try again). An earlier + ** version of this code attempted the SHARED lock at this point. But + ** this introduced a subtle race condition: if the process holding + ** EXCLUSIVE failed just before truncating the *-shm file, then this + ** process might open and use the *-shm file without truncating it. + ** And if the *-shm file has been corrupted by a power failure or + ** system crash, the database itself may also become corrupt. */ + lock.l_whence = SEEK_SET; + lock.l_start = UNIX_SHM_DMS; + lock.l_len = 1; + lock.l_type = F_WRLCK; + if( osFcntl(pShmNode->h, F_GETLK, &lock)!=0 ) { + rc = SQLITE_IOERR_LOCK; + }else if( lock.l_type==F_UNLCK ){ + if( pShmNode->isReadonly ){ + pShmNode->isUnlocked = 1; + rc = SQLITE_READONLY_CANTINIT; + }else{ + rc = unixShmSystemLock(pDbFd, F_WRLCK, UNIX_SHM_DMS, 1); + if( rc==SQLITE_OK && robust_ftruncate(pShmNode->h, 0) ){ + rc = unixLogError(SQLITE_IOERR_SHMOPEN,"ftruncate",pShmNode->zFilename); + } + } + }else if( lock.l_type==F_WRLCK ){ + rc = SQLITE_BUSY; + } + + if( rc==SQLITE_OK ){ + assert( lock.l_type==F_UNLCK || lock.l_type==F_RDLCK ); + rc = unixShmSystemLock(pDbFd, F_RDLCK, UNIX_SHM_DMS, 1); + } + return rc; +} + /* ** Open a shared-memory area associated with open database file pDbFd. ** This particular implementation uses mmapped files. @@ -33617,9 +35111,9 @@ static void unixShmPurge(unixFile *pFd){ static int unixOpenSharedMemory(unixFile *pDbFd){ struct unixShm *p = 0; /* The connection to be opened */ struct unixShmNode *pShmNode; /* The underlying mmapped file */ - int rc; /* Result code */ + int rc = SQLITE_OK; /* Result code */ unixInodeInfo *pInode; /* The inode of fd */ - char *zShmFilename; /* Name of the file used for SHM */ + char *zShm; /* Name of the file used for SHM */ int nShmFilename; /* Size of the SHM filename in bytes */ /* Allocate space for the new unixShm object. */ @@ -33660,14 +35154,14 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ goto shm_open_err; } memset(pShmNode, 0, sizeof(*pShmNode)+nShmFilename); - zShmFilename = pShmNode->zFilename = (char*)&pShmNode[1]; + zShm = pShmNode->zFilename = (char*)&pShmNode[1]; #ifdef SQLITE_SHM_DIRECTORY - sqlite3_snprintf(nShmFilename, zShmFilename, + sqlite3_snprintf(nShmFilename, zShm, SQLITE_SHM_DIRECTORY "/sqlite-shm-%x-%x", (u32)sStat.st_ino, (u32)sStat.st_dev); #else - sqlite3_snprintf(nShmFilename, zShmFilename, "%s-shm", zBasePath); - sqlite3FileSuffix3(pDbFd->zPath, zShmFilename); + sqlite3_snprintf(nShmFilename, zShm, "%s-shm", zBasePath); + sqlite3FileSuffix3(pDbFd->zPath, zShm); #endif pShmNode->h = -1; pDbFd->pInode->pShmNode = pShmNode; @@ -33681,15 +35175,16 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ } if( pInode->bProcessLock==0 ){ - int openFlags = O_RDWR | O_CREAT; - if( sqlite3_uri_boolean(pDbFd->zPath, "readonly_shm", 0) ){ - openFlags = O_RDONLY; - pShmNode->isReadonly = 1; + if( 0==sqlite3_uri_boolean(pDbFd->zPath, "readonly_shm", 0) ){ + pShmNode->h = robust_open(zShm, O_RDWR|O_CREAT, (sStat.st_mode&0777)); } - pShmNode->h = robust_open(zShmFilename, openFlags, (sStat.st_mode&0777)); if( pShmNode->h<0 ){ - rc = unixLogError(SQLITE_CANTOPEN_BKPT, "open", zShmFilename); - goto shm_open_err; + pShmNode->h = robust_open(zShm, O_RDONLY, (sStat.st_mode&0777)); + if( pShmNode->h<0 ){ + rc = unixLogError(SQLITE_CANTOPEN_BKPT, "open", zShm); + goto shm_open_err; + } + pShmNode->isReadonly = 1; } /* If this process is running as root, make sure that the SHM file @@ -33697,20 +35192,9 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ ** the original owner will not be able to connect. */ robustFchown(pShmNode->h, sStat.st_uid, sStat.st_gid); - - /* Check to see if another process is holding the dead-man switch. - ** If not, truncate the file to zero length. - */ - rc = SQLITE_OK; - if( unixShmSystemLock(pDbFd, F_WRLCK, UNIX_SHM_DMS, 1)==SQLITE_OK ){ - if( robust_ftruncate(pShmNode->h, 0) ){ - rc = unixLogError(SQLITE_IOERR_SHMOPEN, "ftruncate", zShmFilename); - } - } - if( rc==SQLITE_OK ){ - rc = unixShmSystemLock(pDbFd, F_RDLCK, UNIX_SHM_DMS, 1); - } - if( rc ) goto shm_open_err; + + rc = unixLockSharedMemory(pDbFd, pShmNode); + if( rc!=SQLITE_OK && rc!=SQLITE_READONLY_CANTINIT ) goto shm_open_err; } } @@ -33734,7 +35218,7 @@ static int unixOpenSharedMemory(unixFile *pDbFd){ p->pNext = pShmNode->pFirst; pShmNode->pFirst = p; sqlite3_mutex_leave(pShmNode->mutex); - return SQLITE_OK; + return rc; /* Jump here on any error */ shm_open_err: @@ -33786,6 +35270,11 @@ static int unixShmMap( p = pDbFd->pShm; pShmNode = p->pShmNode; sqlite3_mutex_enter(pShmNode->mutex); + if( pShmNode->isUnlocked ){ + rc = unixLockSharedMemory(pDbFd, pShmNode); + if( rc!=SQLITE_OK ) goto shmpage_out; + pShmNode->isUnlocked = 0; + } assert( szRegion==pShmNode->szRegion || pShmNode->nRegion==0 ); assert( pShmNode->pInode==pDbFd->pInode ); assert( pShmNode->h>=0 || pDbFd->pInode->bProcessLock==1 ); @@ -34613,17 +36102,6 @@ static int fillInUnixFile( assert( pNew->pInode==NULL ); - /* Usually the path zFilename should not be a relative pathname. The - ** exception is when opening the proxy "conch" file in builds that - ** include the special Apple locking styles. - */ -#if defined(__APPLE__) && SQLITE_ENABLE_LOCKING_STYLE - assert( zFilename==0 || zFilename[0]=='/' - || pVfs->pAppData==(void*)&autolockIoFinder ); -#else - assert( zFilename==0 || zFilename[0]=='/' ); -#endif - /* No locking occurs in temporary files */ assert( zFilename!=0 || (ctrlFlags & UNIXFILE_NOLOCK)!=0 ); @@ -34882,6 +36360,8 @@ static UnixUnusedFd *findReusableFd(const char *zPath, int flags){ #if !OS_VXWORKS struct stat sStat; /* Results of stat() call */ + unixEnterMutex(); + /* A stat() call may fail for various reasons. If this happens, it is ** almost certain that an open() call on the same path will also fail. ** For this reason, if an error occurs in the stat() call here, it is @@ -34890,13 +36370,12 @@ static UnixUnusedFd *findReusableFd(const char *zPath, int flags){ ** ** Even if a subsequent open() call does succeed, the consequences of ** not searching for a reusable file descriptor are not dire. */ - if( 0==osStat(zPath, &sStat) ){ + if( nUnusedFd>0 && 0==osStat(zPath, &sStat) ){ unixInodeInfo *pInode; - unixEnterMutex(); pInode = inodeList; while( pInode && (pInode->fileId.dev!=sStat.st_dev - || pInode->fileId.ino!=sStat.st_ino) ){ + || pInode->fileId.ino!=(u64)sStat.st_ino) ){ pInode = pInode->pNext; } if( pInode ){ @@ -34904,11 +36383,12 @@ static UnixUnusedFd *findReusableFd(const char *zPath, int flags){ for(pp=&pInode->pUnused; *pp && (*pp)->flags!=flags; pp=&((*pp)->pNext)); pUnused = *pp; if( pUnused ){ + nUnusedFd--; *pp = pUnused->pNext; } } - unixLeaveMutex(); } + unixLeaveMutex(); #endif /* if !OS_VXWORKS */ return pUnused; } @@ -34984,16 +36464,11 @@ static int findCreateFileMode( */ nDb = sqlite3Strlen30(zPath) - 1; while( zPath[nDb]!='-' ){ -#ifndef SQLITE_ENABLE_8_3_NAMES - /* In the normal case (8+3 filenames disabled) the journal filename - ** is guaranteed to contain a '-' character. */ - assert( nDb>0 ); - assert( sqlite3Isalnum(zPath[nDb]) ); -#else - /* If 8+3 names are possible, then the journal file might not contain - ** a '-' character. So check for that case and return early. */ + /* In normal operation, the journal file name will always contain + ** a '-' character. However in 8+3 filename mode, or if a corrupt + ** rollback journal specifies a master journal with a goofy name, then + ** the '-' might be missing. */ if( nDb==0 || zPath[nDb]=='.' ) return SQLITE_OK; -#endif nDb--; } memcpy(zDb, zPath, nDb); @@ -35068,7 +36543,7 @@ static int unixOpen( ** a file-descriptor on the directory too. The first time unixSync() ** is called the directory file descriptor will be fsync()ed and close()d. */ - int syncDir = (isCreate && ( + int isNewJrnl = (isCreate && ( eType==SQLITE_OPEN_MASTER_JOURNAL || eType==SQLITE_OPEN_MAIN_JOURNAL || eType==SQLITE_OPEN_WAL @@ -35129,7 +36604,7 @@ static int unixOpen( return SQLITE_NOMEM_BKPT; } } - p->pUnused = pUnused; + p->pPreallocatedUnused = pUnused; /* Database filenames are double-zero terminated if they are not ** URIs with parameters. Hence, they can always be passed into @@ -35138,7 +36613,7 @@ static int unixOpen( }else if( !zName ){ /* If zName is NULL, the upper layer is requesting a temp file. */ - assert(isDelete && !syncDir); + assert(isDelete && !isNewJrnl); rc = unixGetTempname(pVfs->mxPathname, zTmpname); if( rc!=SQLITE_OK ){ return rc; @@ -35166,24 +36641,31 @@ static int unixOpen( gid_t gid; /* Groupid for the file */ rc = findCreateFileMode(zName, flags, &openMode, &uid, &gid); if( rc!=SQLITE_OK ){ - assert( !p->pUnused ); + assert( !p->pPreallocatedUnused ); assert( eType==SQLITE_OPEN_WAL || eType==SQLITE_OPEN_MAIN_JOURNAL ); return rc; } fd = robust_open(zName, openFlags, openMode); OSTRACE(("OPENX %-3d %s 0%o\n", fd, zName, openFlags)); assert( !isExclusive || (openFlags & O_CREAT)!=0 ); - if( fd<0 && errno!=EISDIR && isReadWrite ){ - /* Failed to open the file for read/write access. Try read-only. */ - flags &= ~(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE); - openFlags &= ~(O_RDWR|O_CREAT); - flags |= SQLITE_OPEN_READONLY; - openFlags |= O_RDONLY; - isReadonly = 1; - fd = robust_open(zName, openFlags, openMode); + if( fd<0 ){ + if( isNewJrnl && errno==EACCES && osAccess(zName, F_OK) ){ + /* If unable to create a journal because the directory is not + ** writable, change the error code to indicate that. */ + rc = SQLITE_READONLY_DIRECTORY; + }else if( errno!=EISDIR && isReadWrite ){ + /* Failed to open the file for read/write access. Try read-only. */ + flags &= ~(SQLITE_OPEN_READWRITE|SQLITE_OPEN_CREATE); + openFlags &= ~(O_RDWR|O_CREAT); + flags |= SQLITE_OPEN_READONLY; + openFlags |= O_RDONLY; + isReadonly = 1; + fd = robust_open(zName, openFlags, openMode); + } } if( fd<0 ){ - rc = unixLogError(SQLITE_CANTOPEN_BKPT, "open", zName); + int rc2 = unixLogError(SQLITE_CANTOPEN_BKPT, "open", zName); + if( rc==SQLITE_OK ) rc = rc2; goto open_finished; } @@ -35200,9 +36682,9 @@ static int unixOpen( *pOutFlags = flags; } - if( p->pUnused ){ - p->pUnused->fd = fd; - p->pUnused->flags = flags; + if( p->pPreallocatedUnused ){ + p->pPreallocatedUnused->fd = fd; + p->pPreallocatedUnused->flags = flags; } if( isDelete ){ @@ -35243,7 +36725,7 @@ static int unixOpen( if( isReadonly ) ctrlFlags |= UNIXFILE_RDONLY; noLock = eType!=SQLITE_OPEN_MAIN_DB; if( noLock ) ctrlFlags |= UNIXFILE_NOLOCK; - if( syncDir ) ctrlFlags |= UNIXFILE_DIRSYNC; + if( isNewJrnl ) ctrlFlags |= UNIXFILE_DIRSYNC; if( flags & SQLITE_OPEN_URI ) ctrlFlags |= UNIXFILE_URI; #if SQLITE_ENABLE_LOCKING_STYLE @@ -35279,11 +36761,14 @@ static int unixOpen( } #endif + assert( zPath==0 || zPath[0]=='/' + || eType==SQLITE_OPEN_MASTER_JOURNAL || eType==SQLITE_OPEN_MAIN_JOURNAL + ); rc = fillInUnixFile(pVfs, fd, pFile, zPath, ctrlFlags); open_finished: if( rc!=SQLITE_OK ){ - sqlite3_free(p->pUnused); + sqlite3_free(p->pPreallocatedUnused); } return rc; } @@ -36024,7 +37509,7 @@ static int proxyCreateUnixFile( dummyVfs.zName = "dummy"; pUnused->fd = fd; pUnused->flags = openFlags; - pNew->pUnused = pUnused; + pNew->pPreallocatedUnused = pUnused; rc = fillInUnixFile(&dummyVfs, fd, (sqlite3_file*)pNew, path, 0); if( rc==SQLITE_OK ){ @@ -36974,7 +38459,7 @@ SQLITE_API int sqlite3_os_init(void){ /* Double-check that the aSyscall[] array has been constructed ** correctly. See ticket [bb3a86e890c8e96ab] */ - assert( ArraySize(aSyscall)==28 ); + assert( ArraySize(aSyscall)==29 ); /* Register all VFSes defined in the aVfs[] array */ for(i=0; i<(sizeof(aVfs)/sizeof(sqlite3_vfs)); i++){ @@ -37550,7 +39035,34 @@ struct winVfsAppData { ****************************************************************************** */ #ifndef SQLITE_WIN32_HEAP_CREATE -# define SQLITE_WIN32_HEAP_CREATE (TRUE) +# define SQLITE_WIN32_HEAP_CREATE (TRUE) +#endif + +/* + * This is the maximum possible initial size of the Win32-specific heap, in + * bytes. + */ +#ifndef SQLITE_WIN32_HEAP_MAX_INIT_SIZE +# define SQLITE_WIN32_HEAP_MAX_INIT_SIZE (4294967295U) +#endif + +/* + * This is the extra space for the initial size of the Win32-specific heap, + * in bytes. This value may be zero. + */ +#ifndef SQLITE_WIN32_HEAP_INIT_EXTRA +# define SQLITE_WIN32_HEAP_INIT_EXTRA (4194304) +#endif + +/* + * Calculate the maximum legal cache size, in pages, based on the maximum + * possible initial heap size and the default page size, setting aside the + * needed extra space. + */ +#ifndef SQLITE_WIN32_MAX_CACHE_SIZE +# define SQLITE_WIN32_MAX_CACHE_SIZE (((SQLITE_WIN32_HEAP_MAX_INIT_SIZE) - \ + (SQLITE_WIN32_HEAP_INIT_EXTRA)) / \ + (SQLITE_DEFAULT_PAGE_SIZE)) #endif /* @@ -37559,25 +39071,36 @@ struct winVfsAppData { */ #ifndef SQLITE_WIN32_CACHE_SIZE # if SQLITE_DEFAULT_CACHE_SIZE>=0 -# define SQLITE_WIN32_CACHE_SIZE (SQLITE_DEFAULT_CACHE_SIZE) +# define SQLITE_WIN32_CACHE_SIZE (SQLITE_DEFAULT_CACHE_SIZE) # else -# define SQLITE_WIN32_CACHE_SIZE (-(SQLITE_DEFAULT_CACHE_SIZE)) +# define SQLITE_WIN32_CACHE_SIZE (-(SQLITE_DEFAULT_CACHE_SIZE)) # endif #endif +/* + * Make sure that the calculated cache size, in pages, cannot cause the + * initial size of the Win32-specific heap to exceed the maximum amount + * of memory that can be specified in the call to HeapCreate. + */ +#if SQLITE_WIN32_CACHE_SIZE>SQLITE_WIN32_MAX_CACHE_SIZE +# undef SQLITE_WIN32_CACHE_SIZE +# define SQLITE_WIN32_CACHE_SIZE (2000) +#endif + /* * The initial size of the Win32-specific heap. This value may be zero. */ #ifndef SQLITE_WIN32_HEAP_INIT_SIZE -# define SQLITE_WIN32_HEAP_INIT_SIZE ((SQLITE_WIN32_CACHE_SIZE) * \ - (SQLITE_DEFAULT_PAGE_SIZE) + 4194304) +# define SQLITE_WIN32_HEAP_INIT_SIZE ((SQLITE_WIN32_CACHE_SIZE) * \ + (SQLITE_DEFAULT_PAGE_SIZE) + \ + (SQLITE_WIN32_HEAP_INIT_EXTRA)) #endif /* * The maximum size of the Win32-specific heap. This value may be zero. */ #ifndef SQLITE_WIN32_HEAP_MAX_SIZE -# define SQLITE_WIN32_HEAP_MAX_SIZE (0) +# define SQLITE_WIN32_HEAP_MAX_SIZE (0) #endif /* @@ -37585,7 +39108,7 @@ struct winVfsAppData { * zero for the default behavior. */ #ifndef SQLITE_WIN32_HEAP_FLAGS -# define SQLITE_WIN32_HEAP_FLAGS (0) +# define SQLITE_WIN32_HEAP_FLAGS (0) #endif @@ -40719,6 +42242,14 @@ static int winFileControl(sqlite3_file *id, int op, void *pArg){ if( newLimit>sqlite3GlobalConfig.mxMmap ){ newLimit = sqlite3GlobalConfig.mxMmap; } + + /* The value of newLimit may be eventually cast to (SIZE_T) and passed + ** to MapViewOfFile(). Restrict its value to 2GB if (SIZE_T) is not at + ** least a 64-bit type. */ + if( newLimit>0 && sizeof(SIZE_T)<8 ){ + newLimit = (newLimit & 0x7FFFFFFF); + } + *(i64*)pArg = pFile->mmapSizeMax; if( newLimit>=0 && newLimit!=pFile->mmapSizeMax && pFile->nFetchOut==0 ){ pFile->mmapSizeMax = newLimit; @@ -40825,6 +42356,9 @@ struct winShmNode { int szRegion; /* Size of shared-memory regions */ int nRegion; /* Size of array apRegion */ + u8 isReadonly; /* True if read-only */ + u8 isUnlocked; /* True if no DMS lock held */ + struct ShmRegion { HANDLE hMap; /* File handle from CreateFileMapping */ void *pMap; @@ -40891,7 +42425,7 @@ static int winShmSystemLock( int rc = 0; /* Result code form Lock/UnlockFileEx() */ /* Access to the winShmNode object is serialized by the caller */ - assert( sqlite3_mutex_held(pFile->mutex) || pFile->nRef==0 ); + assert( pFile->nRef==0 || sqlite3_mutex_held(pFile->mutex) ); OSTRACE(("SHM-LOCK file=%p, lock=%d, offset=%d, size=%d\n", pFile->hFile.h, lockType, ofst, nByte)); @@ -40972,6 +42506,37 @@ static void winShmPurge(sqlite3_vfs *pVfs, int deleteFlag){ } } +/* +** The DMS lock has not yet been taken on shm file pShmNode. Attempt to +** take it now. Return SQLITE_OK if successful, or an SQLite error +** code otherwise. +** +** If the DMS cannot be locked because this is a readonly_shm=1 +** connection and no other process already holds a lock, return +** SQLITE_READONLY_CANTINIT and set pShmNode->isUnlocked=1. +*/ +static int winLockSharedMemory(winShmNode *pShmNode){ + int rc = winShmSystemLock(pShmNode, WINSHM_WRLCK, WIN_SHM_DMS, 1); + + if( rc==SQLITE_OK ){ + if( pShmNode->isReadonly ){ + pShmNode->isUnlocked = 1; + winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1); + return SQLITE_READONLY_CANTINIT; + }else if( winTruncate((sqlite3_file*)&pShmNode->hFile, 0) ){ + winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1); + return winLogError(SQLITE_IOERR_SHMOPEN, osGetLastError(), + "winLockSharedMemory", pShmNode->zFilename); + } + } + + if( rc==SQLITE_OK ){ + winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1); + } + + return winShmSystemLock(pShmNode, WINSHM_RDLCK, WIN_SHM_DMS, 1); +} + /* ** Open the shared-memory area associated with database file pDbFd. ** @@ -40981,9 +42546,9 @@ static void winShmPurge(sqlite3_vfs *pVfs, int deleteFlag){ */ static int winOpenSharedMemory(winFile *pDbFd){ struct winShm *p; /* The connection to be opened */ - struct winShmNode *pShmNode = 0; /* The underlying mmapped file */ - int rc; /* Result code */ - struct winShmNode *pNew; /* Newly allocated winShmNode */ + winShmNode *pShmNode = 0; /* The underlying mmapped file */ + int rc = SQLITE_OK; /* Result code */ + winShmNode *pNew; /* Newly allocated winShmNode */ int nName; /* Size of zName in bytes */ assert( pDbFd->pShm==0 ); /* Not previously opened */ @@ -41016,6 +42581,9 @@ static int winOpenSharedMemory(winFile *pDbFd){ if( pShmNode ){ sqlite3_free(pNew); }else{ + int inFlags = SQLITE_OPEN_WAL; + int outFlags = 0; + pShmNode = pNew; pNew = 0; ((winFile*)(&pShmNode->hFile))->h = INVALID_HANDLE_VALUE; @@ -41030,30 +42598,23 @@ static int winOpenSharedMemory(winFile *pDbFd){ } } - rc = winOpen(pDbFd->pVfs, - pShmNode->zFilename, /* Name of the file (UTF-8) */ - (sqlite3_file*)&pShmNode->hFile, /* File handle here */ - SQLITE_OPEN_WAL | SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE, - 0); - if( SQLITE_OK!=rc ){ + if( 0==sqlite3_uri_boolean(pDbFd->zPath, "readonly_shm", 0) ){ + inFlags |= SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE; + }else{ + inFlags |= SQLITE_OPEN_READONLY; + } + rc = winOpen(pDbFd->pVfs, pShmNode->zFilename, + (sqlite3_file*)&pShmNode->hFile, + inFlags, &outFlags); + if( rc!=SQLITE_OK ){ + rc = winLogError(rc, osGetLastError(), "winOpenShm", + pShmNode->zFilename); goto shm_open_err; } + if( outFlags==SQLITE_OPEN_READONLY ) pShmNode->isReadonly = 1; - /* Check to see if another process is holding the dead-man switch. - ** If not, truncate the file to zero length. - */ - if( winShmSystemLock(pShmNode, WINSHM_WRLCK, WIN_SHM_DMS, 1)==SQLITE_OK ){ - rc = winTruncate((sqlite3_file *)&pShmNode->hFile, 0); - if( rc!=SQLITE_OK ){ - rc = winLogError(SQLITE_IOERR_SHMOPEN, osGetLastError(), - "winOpenShm", pDbFd->zPath); - } - } - if( rc==SQLITE_OK ){ - winShmSystemLock(pShmNode, WINSHM_UNLCK, WIN_SHM_DMS, 1); - rc = winShmSystemLock(pShmNode, WINSHM_RDLCK, WIN_SHM_DMS, 1); - } - if( rc ) goto shm_open_err; + rc = winLockSharedMemory(pShmNode); + if( rc!=SQLITE_OK && rc!=SQLITE_READONLY_CANTINIT ) goto shm_open_err; } /* Make the new connection a child of the winShmNode */ @@ -41076,7 +42637,7 @@ static int winOpenSharedMemory(winFile *pDbFd){ p->pNext = pShmNode->pFirst; pShmNode->pFirst = p; sqlite3_mutex_leave(pShmNode->mutex); - return SQLITE_OK; + return rc; /* Jump here on any error */ shm_open_err: @@ -41280,6 +42841,8 @@ static int winShmMap( winFile *pDbFd = (winFile*)fd; winShm *pShm = pDbFd->pShm; winShmNode *pShmNode; + DWORD protect = PAGE_READWRITE; + DWORD flags = FILE_MAP_WRITE | FILE_MAP_READ; int rc = SQLITE_OK; if( !pShm ){ @@ -41290,6 +42853,11 @@ static int winShmMap( pShmNode = pShm->pShmNode; sqlite3_mutex_enter(pShmNode->mutex); + if( pShmNode->isUnlocked ){ + rc = winLockSharedMemory(pShmNode); + if( rc!=SQLITE_OK ) goto shmpage_out; + pShmNode->isUnlocked = 0; + } assert( szRegion==pShmNode->szRegion || pShmNode->nRegion==0 ); if( pShmNode->nRegion<=iRegion ){ @@ -41336,21 +42904,26 @@ static int winShmMap( } pShmNode->aRegion = apNew; + if( pShmNode->isReadonly ){ + protect = PAGE_READONLY; + flags = FILE_MAP_READ; + } + while( pShmNode->nRegion<=iRegion ){ HANDLE hMap = NULL; /* file-mapping handle */ void *pMap = 0; /* Mapped memory region */ #if SQLITE_OS_WINRT hMap = osCreateFileMappingFromApp(pShmNode->hFile.h, - NULL, PAGE_READWRITE, nByte, NULL + NULL, protect, nByte, NULL ); #elif defined(SQLITE_WIN32_HAS_WIDE) hMap = osCreateFileMappingW(pShmNode->hFile.h, - NULL, PAGE_READWRITE, 0, nByte, NULL + NULL, protect, 0, nByte, NULL ); #elif defined(SQLITE_WIN32_HAS_ANSI) && SQLITE_WIN32_CREATEFILEMAPPINGA hMap = osCreateFileMappingA(pShmNode->hFile.h, - NULL, PAGE_READWRITE, 0, nByte, NULL + NULL, protect, 0, nByte, NULL ); #endif OSTRACE(("SHM-MAP-CREATE pid=%lu, region=%d, size=%d, rc=%s\n", @@ -41360,11 +42933,11 @@ static int winShmMap( int iOffset = pShmNode->nRegion*szRegion; int iOffsetShift = iOffset % winSysInfo.dwAllocationGranularity; #if SQLITE_OS_WINRT - pMap = osMapViewOfFileFromApp(hMap, FILE_MAP_WRITE | FILE_MAP_READ, + pMap = osMapViewOfFileFromApp(hMap, flags, iOffset - iOffsetShift, szRegion + iOffsetShift ); #else - pMap = osMapViewOfFile(hMap, FILE_MAP_WRITE | FILE_MAP_READ, + pMap = osMapViewOfFile(hMap, flags, 0, iOffset - iOffsetShift, szRegion + iOffsetShift ); #endif @@ -41395,6 +42968,7 @@ static int winShmMap( }else{ *pp = 0; } + if( pShmNode->isReadonly && rc==SQLITE_OK ) rc = SQLITE_READONLY; sqlite3_mutex_leave(pShmNode->mutex); return rc; } @@ -42031,6 +43605,14 @@ static int winIsDir(const void *zConverted){ return (attr!=INVALID_FILE_ATTRIBUTES) && (attr&FILE_ATTRIBUTE_DIRECTORY); } +/* forward reference */ +static int winAccess( + sqlite3_vfs *pVfs, /* Not used on win32 */ + const char *zFilename, /* Name of file to check */ + int flags, /* Type of test to make on this file */ + int *pResOut /* OUT: Result */ +); + /* ** Open a file. */ @@ -42207,37 +43789,58 @@ static int winOpen( extendedParameters.dwSecurityQosFlags = SECURITY_ANONYMOUS; extendedParameters.lpSecurityAttributes = NULL; extendedParameters.hTemplateFile = NULL; - while( (h = osCreateFile2((LPCWSTR)zConverted, - dwDesiredAccess, - dwShareMode, - dwCreationDisposition, - &extendedParameters))==INVALID_HANDLE_VALUE && - winRetryIoerr(&cnt, &lastErrno) ){ - /* Noop */ - } + do{ + h = osCreateFile2((LPCWSTR)zConverted, + dwDesiredAccess, + dwShareMode, + dwCreationDisposition, + &extendedParameters); + if( h!=INVALID_HANDLE_VALUE ) break; + if( isReadWrite ){ + int rc2, isRO = 0; + sqlite3BeginBenignMalloc(); + rc2 = winAccess(pVfs, zName, SQLITE_ACCESS_READ, &isRO); + sqlite3EndBenignMalloc(); + if( rc2==SQLITE_OK && isRO ) break; + } + }while( winRetryIoerr(&cnt, &lastErrno) ); #else - while( (h = osCreateFileW((LPCWSTR)zConverted, - dwDesiredAccess, - dwShareMode, NULL, - dwCreationDisposition, - dwFlagsAndAttributes, - NULL))==INVALID_HANDLE_VALUE && - winRetryIoerr(&cnt, &lastErrno) ){ - /* Noop */ - } + do{ + h = osCreateFileW((LPCWSTR)zConverted, + dwDesiredAccess, + dwShareMode, NULL, + dwCreationDisposition, + dwFlagsAndAttributes, + NULL); + if( h!=INVALID_HANDLE_VALUE ) break; + if( isReadWrite ){ + int rc2, isRO = 0; + sqlite3BeginBenignMalloc(); + rc2 = winAccess(pVfs, zName, SQLITE_ACCESS_READ, &isRO); + sqlite3EndBenignMalloc(); + if( rc2==SQLITE_OK && isRO ) break; + } + }while( winRetryIoerr(&cnt, &lastErrno) ); #endif } #ifdef SQLITE_WIN32_HAS_ANSI else{ - while( (h = osCreateFileA((LPCSTR)zConverted, - dwDesiredAccess, - dwShareMode, NULL, - dwCreationDisposition, - dwFlagsAndAttributes, - NULL))==INVALID_HANDLE_VALUE && - winRetryIoerr(&cnt, &lastErrno) ){ - /* Noop */ - } + do{ + h = osCreateFileA((LPCSTR)zConverted, + dwDesiredAccess, + dwShareMode, NULL, + dwCreationDisposition, + dwFlagsAndAttributes, + NULL); + if( h!=INVALID_HANDLE_VALUE ) break; + if( isReadWrite ){ + int rc2, isRO = 0; + sqlite3BeginBenignMalloc(); + rc2 = winAccess(pVfs, zName, SQLITE_ACCESS_READ, &isRO); + sqlite3EndBenignMalloc(); + if( rc2==SQLITE_OK && isRO ) break; + } + }while( winRetryIoerr(&cnt, &lastErrno) ); } #endif winLogIoerr(cnt, __LINE__); @@ -42246,8 +43849,6 @@ static int winOpen( dwDesiredAccess, (h==INVALID_HANDLE_VALUE) ? "failed" : "ok")); if( h==INVALID_HANDLE_VALUE ){ - pFile->lastErrno = lastErrno; - winLogError(SQLITE_CANTOPEN, pFile->lastErrno, "winOpen", zUtf8Name); sqlite3_free(zConverted); sqlite3_free(zTmpname); if( isReadWrite && !isExclusive ){ @@ -42256,6 +43857,8 @@ static int winOpen( ~(SQLITE_OPEN_CREATE|SQLITE_OPEN_READWRITE)), pOutFlags); }else{ + pFile->lastErrno = lastErrno; + winLogError(SQLITE_CANTOPEN, pFile->lastErrno, "winOpen", zUtf8Name); return SQLITE_CANTOPEN_BKPT; } } @@ -42848,9 +44451,6 @@ static int winRandomness(sqlite3_vfs *pVfs, int nBuf, char *zBuf){ EntropyGatherer e; UNUSED_PARAMETER(pVfs); memset(zBuf, 0, nBuf); -#if defined(_MSC_VER) && _MSC_VER>=1400 && !SQLITE_OS_WINCE - rand_s((unsigned int*)zBuf); /* rand_s() is not available with MinGW */ -#endif /* defined(_MSC_VER) && _MSC_VER>=1400 */ e.a = (unsigned char*)zBuf; e.na = nBuf; e.nXor = 0; @@ -43457,7 +45057,7 @@ SQLITE_PRIVATE u32 sqlite3BitvecSize(Bitvec *p){ return p->iSize; } -#ifndef SQLITE_OMIT_BUILTIN_TEST +#ifndef SQLITE_UNTESTABLE /* ** Let V[] be an array of unsigned characters sufficient to hold ** up to N bits. Let I be an integer between 0 and N. 0<=Ipgno>0 ); /* Page number is 1 or more */ + assert( pPg->pgno>0 || pPg->pPager==0 ); /* Page number is 1 or more */ pCache = pPg->pCache; assert( pCache!=0 ); /* Every page has an associated PCache */ if( pPg->flags & PGHDR_CLEAN ){ @@ -43769,12 +45369,9 @@ static void pcacheManageDirtyList(PgHdr *pPage, u8 addRemove){ p->eCreate = 2; } } - pPage->pDirtyNext = 0; - pPage->pDirtyPrev = 0; } if( addRemove & PCACHE_DIRTYLIST_ADD ){ - assert( pPage->pDirtyNext==0 && pPage->pDirtyPrev==0 && p->pDirty!=pPage ); - + pPage->pDirtyPrev = 0; pPage->pDirtyNext = p->pDirty; if( pPage->pDirtyNext ){ assert( pPage->pDirtyNext->pDirtyPrev==0 ); @@ -43862,6 +45459,12 @@ SQLITE_PRIVATE int sqlite3PcacheSize(void){ return sizeof(PCache); } ** has already been allocated and is passed in as the p pointer. ** The caller discovers how much space needs to be allocated by ** calling sqlite3PcacheSize(). +** +** szExtra is some extra space allocated for each page. The first +** 8 bytes of the extra space will be zeroed as the page is allocated, +** but remaining content will be uninitialized. Though it is opaque +** to this module, the extra space really ends up being the MemPage +** structure in the pager. */ SQLITE_PRIVATE int sqlite3PcacheOpen( int szPage, /* Size of every page */ @@ -43874,6 +45477,7 @@ SQLITE_PRIVATE int sqlite3PcacheOpen( memset(p, 0, sizeof(PCache)); p->szPage = 1; p->szExtra = szExtra; + assert( szExtra>=8 ); /* First 8 bytes will be zeroed */ p->bPurgeable = bPurgeable; p->eCreate = 2; p->xStress = xStress; @@ -43943,7 +45547,6 @@ SQLITE_PRIVATE sqlite3_pcache_page *sqlite3PcacheFetch( assert( pCache!=0 ); assert( pCache->pCache!=0 ); assert( createFlag==3 || createFlag==0 ); - assert( pgno>0 ); assert( pCache->eCreate==((pCache->bPurgeable && pCache->pDirty) ? 1 : 2) ); /* eCreate defines what to do if the page does not exist. @@ -44043,7 +45646,7 @@ static SQLITE_NOINLINE PgHdr *pcacheFetchFinishWithInit( pPgHdr->pPage = pPage; pPgHdr->pData = pPage->pBuf; pPgHdr->pExtra = (void *)&pPgHdr[1]; - memset(pPgHdr->pExtra, 0, pCache->szExtra); + memset(pPgHdr->pExtra, 0, 8); pPgHdr->pCache = pCache; pPgHdr->pgno = pgno; pPgHdr->flags = PGHDR_CLEAN; @@ -44085,11 +45688,7 @@ SQLITE_PRIVATE void SQLITE_NOINLINE sqlite3PcacheRelease(PgHdr *p){ if( (--p->nRef)==0 ){ if( p->flags&PGHDR_CLEAN ){ pcacheUnpin(p); - }else if( p->pDirtyPrev!=0 ){ /*OPTIMIZATION-IF-FALSE*/ - /* Move the page to the head of the dirty list. If p->pDirtyPrev==0, - ** then page p is already at the head of the dirty list and the - ** following call would be a no-op. Hence the OPTIMIZATION-IF-FALSE - ** tag above. */ + }else{ pcacheManageDirtyList(p, PCACHE_DIRTYLIST_FRONT); } } @@ -44145,16 +45744,15 @@ SQLITE_PRIVATE void sqlite3PcacheMakeDirty(PgHdr *p){ */ SQLITE_PRIVATE void sqlite3PcacheMakeClean(PgHdr *p){ assert( sqlite3PcachePageSanity(p) ); - if( ALWAYS((p->flags & PGHDR_DIRTY)!=0) ){ - assert( (p->flags & PGHDR_CLEAN)==0 ); - pcacheManageDirtyList(p, PCACHE_DIRTYLIST_REMOVE); - p->flags &= ~(PGHDR_DIRTY|PGHDR_NEED_SYNC|PGHDR_WRITEABLE); - p->flags |= PGHDR_CLEAN; - pcacheTrace(("%p.CLEAN %d\n",p->pCache,p->pgno)); - assert( sqlite3PcachePageSanity(p) ); - if( p->nRef==0 ){ - pcacheUnpin(p); - } + assert( (p->flags & PGHDR_DIRTY)!=0 ); + assert( (p->flags & PGHDR_CLEAN)==0 ); + pcacheManageDirtyList(p, PCACHE_DIRTYLIST_REMOVE); + p->flags &= ~(PGHDR_DIRTY|PGHDR_NEED_SYNC|PGHDR_WRITEABLE); + p->flags |= PGHDR_CLEAN; + pcacheTrace(("%p.CLEAN %d\n",p->pCache,p->pgno)); + assert( sqlite3PcachePageSanity(p) ); + if( p->nRef==0 ){ + pcacheUnpin(p); } } @@ -44550,7 +46148,6 @@ typedef struct PGroup PGroup; struct PgHdr1 { sqlite3_pcache_page page; /* Base class. Must be first. pBuf & pExtra */ unsigned int iKey; /* Key value (page number) */ - u8 isPinned; /* Page in use, not on the LRU list */ u8 isBulkLocal; /* This page from bulk local storage */ u8 isAnchor; /* This is the PGroup.lru element */ PgHdr1 *pNext; /* Next in hash table chain */ @@ -44559,6 +46156,12 @@ struct PgHdr1 { PgHdr1 *pLruPrev; /* Previous in LRU list of unpinned pages */ }; +/* +** A page is pinned if it is no on the LRU list +*/ +#define PAGE_IS_PINNED(p) ((p)->pLruNext==0) +#define PAGE_IS_UNPINNED(p) ((p)->pLruNext!=0) + /* Each page cache (or PCache) belongs to a PGroup. A PGroup is a set ** of one or more PCaches that are able to recycle each other's unpinned ** pages when they are under memory pressure. A PGroup is an instance of @@ -44586,7 +46189,7 @@ struct PGroup { unsigned int nMaxPage; /* Sum of nMax for purgeable caches */ unsigned int nMinPage; /* Sum of nMin for purgeable caches */ unsigned int mxPinned; /* nMaxpage + 10 - nMinPage */ - unsigned int nCurrentPage; /* Number of purgeable pages allocated */ + unsigned int nPurgeable; /* Number of purgeable pages allocated */ PgHdr1 lru; /* The beginning and end of the LRU list */ }; @@ -44600,11 +46203,13 @@ struct PGroup { */ struct PCache1 { /* Cache configuration parameters. Page size (szPage) and the purgeable - ** flag (bPurgeable) are set when the cache is created. nMax may be + ** flag (bPurgeable) and the pnPurgeable pointer are all set when the + ** cache is created and are never changed thereafter. nMax may be ** modified at any time by a call to the pcache1Cachesize() method. ** The PGroup mutex must be held when accessing nMax. */ PGroup *pGroup; /* PGroup this cache belongs to */ + unsigned int *pnPurgeable; /* Pointer to pGroup->nPurgeable */ int szPage; /* Size of database content section */ int szExtra; /* sizeof(MemPage)+sizeof(PgHdr) */ int szAlloc; /* Total size of one pcache line */ @@ -44699,6 +46304,7 @@ SQLITE_PRIVATE void sqlite3PCacheBufferSetup(void *pBuf, int sz, int n){ if( pcache1.isInit ){ PgFreeslot *p; if( pBuf==0 ) sz = n = 0; + if( n==0 ) sz = 0; sz = ROUNDDOWN8(sz); pcache1.szSlot = sz; pcache1.nSlot = pcache1.nFreeSlot = n; @@ -44739,8 +46345,7 @@ static int pcache1InitBulk(PCache1 *pCache){ sqlite3EndBenignMalloc(); if( zBulk ){ int nBulk = sqlite3MallocSize(zBulk)/pCache->szAlloc; - int i; - for(i=0; iszPage]; pX->page.pBuf = zBulk; pX->page.pExtra = &pX[1]; @@ -44749,7 +46354,7 @@ static int pcache1InitBulk(PCache1 *pCache){ pX->pNext = pCache->pFree; pCache->pFree = pX; zBulk += pCache->szAlloc; - } + }while( --nBulk ); } return pCache->pFree!=0; } @@ -44892,9 +46497,7 @@ static PgHdr1 *pcache1AllocPage(PCache1 *pCache, int benignMalloc){ p->isBulkLocal = 0; p->isAnchor = 0; } - if( pCache->bPurgeable ){ - pCache->pGroup->nCurrentPage++; - } + (*pCache->pnPurgeable)++; return p; } @@ -44915,9 +46518,7 @@ static void pcache1FreePage(PgHdr1 *p){ sqlite3_free(p); #endif } - if( pCache->bPurgeable ){ - pCache->pGroup->nCurrentPage--; - } + (*pCache->pnPurgeable)--; } /* @@ -45012,22 +46613,18 @@ static void pcache1ResizeHash(PCache1 *p){ ** The PGroup mutex must be held when this function is called. */ static PgHdr1 *pcache1PinPage(PgHdr1 *pPage){ - PCache1 *pCache; - assert( pPage!=0 ); - assert( pPage->isPinned==0 ); - pCache = pPage->pCache; + assert( PAGE_IS_UNPINNED(pPage) ); assert( pPage->pLruNext ); assert( pPage->pLruPrev ); - assert( sqlite3_mutex_held(pCache->pGroup->mutex) ); + assert( sqlite3_mutex_held(pPage->pCache->pGroup->mutex) ); pPage->pLruPrev->pLruNext = pPage->pLruNext; pPage->pLruNext->pLruPrev = pPage->pLruPrev; pPage->pLruNext = 0; pPage->pLruPrev = 0; - pPage->isPinned = 1; assert( pPage->isAnchor==0 ); - assert( pCache->pGroup->lru.isAnchor==1 ); - pCache->nRecyclable--; + assert( pPage->pCache->pGroup->lru.isAnchor==1 ); + pPage->pCache->nRecyclable--; return pPage; } @@ -45061,11 +46658,11 @@ static void pcache1EnforceMaxPage(PCache1 *pCache){ PGroup *pGroup = pCache->pGroup; PgHdr1 *p; assert( sqlite3_mutex_held(pGroup->mutex) ); - while( pGroup->nCurrentPage>pGroup->nMaxPage + while( pGroup->nPurgeable>pGroup->nMaxPage && (p=pGroup->lru.pLruPrev)->isAnchor==0 ){ assert( p->pCache->pGroup==pGroup ); - assert( p->isPinned==0 ); + assert( PAGE_IS_UNPINNED(p) ); pcache1PinPage(p); pcache1RemoveFromHash(p, 1); } @@ -45114,7 +46711,7 @@ static void pcache1TruncateUnsafe( if( pPage->iKey>=iLimit ){ pCache->nPage--; *pp = pPage->pNext; - if( !pPage->isPinned ) pcache1PinPage(pPage); + if( PAGE_IS_UNPINNED(pPage) ) pcache1PinPage(pPage); pcache1FreePage(pPage); }else{ pp = &pPage->pNext; @@ -45232,6 +46829,10 @@ static sqlite3_pcache *pcache1Create(int szPage, int szExtra, int bPurgeable){ pCache->nMin = 10; pGroup->nMinPage += pCache->nMin; pGroup->mxPinned = pGroup->nMaxPage + 10 - pGroup->nMinPage; + pCache->pnPurgeable = &pGroup->nPurgeable; + }else{ + static unsigned int dummyCurrentPage; + pCache->pnPurgeable = &dummyCurrentPage; } pcache1LeaveMutex(pGroup); if( pCache->nHash==0 ){ @@ -45333,7 +46934,7 @@ static SQLITE_NOINLINE PgHdr1 *pcache1FetchStage2( ){ PCache1 *pOther; pPage = pGroup->lru.pLruPrev; - assert( pPage->isPinned==0 ); + assert( PAGE_IS_UNPINNED(pPage) ); pcache1RemoveFromHash(pPage, 0); pcache1PinPage(pPage); pOther = pPage->pCache; @@ -45341,7 +46942,7 @@ static SQLITE_NOINLINE PgHdr1 *pcache1FetchStage2( pcache1FreePage(pPage); pPage = 0; }else{ - pGroup->nCurrentPage -= (pOther->bPurgeable - pCache->bPurgeable); + pGroup->nPurgeable -= (pOther->bPurgeable - pCache->bPurgeable); } } @@ -45360,7 +46961,6 @@ static SQLITE_NOINLINE PgHdr1 *pcache1FetchStage2( pPage->pCache = pCache; pPage->pLruPrev = 0; pPage->pLruNext = 0; - pPage->isPinned = 1; *(void **)pPage->page.pExtra = 0; pCache->apHash[h] = pPage; if( iKey>pCache->iMaxKey ){ @@ -45446,7 +47046,7 @@ static PgHdr1 *pcache1FetchNoMutex( ** Otherwise (page not in hash and createFlag!=0) continue with ** subsequent steps to try to create the page. */ if( pPage ){ - if( !pPage->isPinned ){ + if( PAGE_IS_UNPINNED(pPage) ){ return pcache1PinPage(pPage); }else{ return pPage; @@ -45521,9 +47121,9 @@ static void pcache1Unpin( ** part of the PGroup LRU list. */ assert( pPage->pLruPrev==0 && pPage->pLruNext==0 ); - assert( pPage->isPinned==1 ); + assert( PAGE_IS_PINNED(pPage) ); - if( reuseUnlikely || pGroup->nCurrentPage>pGroup->nMaxPage ){ + if( reuseUnlikely || pGroup->nPurgeable>pGroup->nMaxPage ){ pcache1RemoveFromHash(pPage, 1); }else{ /* Add the page to the PGroup LRU list. */ @@ -45532,7 +47132,6 @@ static void pcache1Unpin( (pPage->pLruNext = *ppFirst)->pLruPrev = pPage; *ppFirst = pPage; pCache->nRecyclable++; - pPage->isPinned = 0; } pcache1LeaveMutex(pCache->pGroup); @@ -45665,7 +47264,7 @@ SQLITE_PRIVATE int sqlite3PcacheReleaseMemory(int nReq){ int nFree = 0; assert( sqlite3_mutex_notheld(pcache1.grp.mutex) ); assert( sqlite3_mutex_notheld(pcache1.mutex) ); - if( sqlite3GlobalConfig.nPage==0 ){ + if( sqlite3GlobalConfig.pPage==0 ){ PgHdr1 *p; pcache1EnterMutex(&pcache1.grp); while( (nReq<0 || nFreeisPinned==0 ); + assert( PAGE_IS_UNPINNED(p) ); pcache1PinPage(p); pcache1RemoveFromHash(p, 1); } @@ -45700,10 +47299,10 @@ SQLITE_PRIVATE void sqlite3PcacheStats( PgHdr1 *p; int nRecyclable = 0; for(p=pcache1.grp.lru.pLruNext; p && !p->isAnchor; p=p->pLruNext){ - assert( p->isPinned==0 ); + assert( PAGE_IS_UNPINNED(p) ); nRecyclable++; } - *pnCurrent = pcache1.grp.nCurrentPage; + *pnCurrent = pcache1.grp.nPurgeable; *pnMax = (int)pcache1.grp.nMaxPage; *pnMin = (int)pcache1.grp.nMinPage; *pnRecyclable = nRecyclable; @@ -46258,16 +47857,16 @@ SQLITE_PRIVATE int sqlite3RowSetTest(RowSet *pRowSet, int iBatch, sqlite3_int64 /* #include "sqliteInt.h" */ -/* Additional values that can be added to the sync_flags argument of -** sqlite3WalFrames(): +/* Macros for extracting appropriate sync flags for either transaction +** commits (WAL_SYNC_FLAGS(X)) or for checkpoint ops (CKPT_SYNC_FLAGS(X)): */ -#define WAL_SYNC_TRANSACTIONS 0x20 /* Sync at the end of each transaction */ -#define SQLITE_SYNC_MASK 0x13 /* Mask off the SQLITE_SYNC_* values */ +#define WAL_SYNC_FLAGS(X) ((X)&0x03) +#define CKPT_SYNC_FLAGS(X) (((X)>>2)&0x03) #ifdef SQLITE_OMIT_WAL # define sqlite3WalOpen(x,y,z) 0 # define sqlite3WalLimit(x,y) -# define sqlite3WalClose(w,x,y,z) 0 +# define sqlite3WalClose(v,w,x,y,z) 0 # define sqlite3WalBeginReadTransaction(y,z) 0 # define sqlite3WalEndReadTransaction(z) # define sqlite3WalDbsize(y) 0 @@ -46277,7 +47876,7 @@ SQLITE_PRIVATE int sqlite3RowSetTest(RowSet *pRowSet, int iBatch, sqlite3_int64 # define sqlite3WalSavepoint(y,z) # define sqlite3WalSavepointUndo(y,z) 0 # define sqlite3WalFrames(u,v,w,x,y,z) 0 -# define sqlite3WalCheckpoint(r,s,t,u,v,w,x,y,z) 0 +# define sqlite3WalCheckpoint(q,r,s,t,u,v,w,x,y,z) 0 # define sqlite3WalCallback(z) 0 # define sqlite3WalExclusiveMode(y,z) 0 # define sqlite3WalHeapMemory(z) 0 @@ -46295,7 +47894,7 @@ typedef struct Wal Wal; /* Open and close a connection to a write-ahead log. */ SQLITE_PRIVATE int sqlite3WalOpen(sqlite3_vfs*, sqlite3_file*, const char *, int, i64, Wal**); -SQLITE_PRIVATE int sqlite3WalClose(Wal *pWal, int sync_flags, int, u8 *); +SQLITE_PRIVATE int sqlite3WalClose(Wal *pWal, sqlite3*, int sync_flags, int, u8 *); /* Set the limiting size of a WAL file. */ SQLITE_PRIVATE void sqlite3WalLimit(Wal*, i64); @@ -46338,6 +47937,7 @@ SQLITE_PRIVATE int sqlite3WalFrames(Wal *pWal, int, PgHdr *, Pgno, int, int); /* Copy pages from the log to the database file */ SQLITE_PRIVATE int sqlite3WalCheckpoint( Wal *pWal, /* Write-ahead log connection */ + sqlite3 *db, /* Check this handle's interrupt flag */ int eMode, /* One of PASSIVE, FULL and RESTART */ int (*xBusy)(void*), /* Function to call when busy */ void *pBusyArg, /* Context argument for xBusyHandler */ @@ -46369,6 +47969,7 @@ SQLITE_PRIVATE int sqlite3WalHeapMemory(Wal *pWal); #ifdef SQLITE_ENABLE_SNAPSHOT SQLITE_PRIVATE int sqlite3WalSnapshotGet(Wal *pWal, sqlite3_snapshot **ppSnapshot); SQLITE_PRIVATE void sqlite3WalSnapshotOpen(Wal *pWal, sqlite3_snapshot *pSnapshot); +SQLITE_PRIVATE int sqlite3WalSnapshotRecover(Wal *pWal); #endif #ifdef SQLITE_ENABLE_ZIPVFS @@ -46493,8 +48094,8 @@ int sqlite3PagerTrace=1; /* True to enable tracing */ ** associated file-descriptor is returned. FILEHANDLEID() takes an sqlite3_file ** struct as its argument. */ -#define PAGERID(p) ((int)(p->fd)) -#define FILEHANDLEID(fd) ((int)fd) +#define PAGERID(p) (SQLITE_PTR_TO_INT(p->fd)) +#define FILEHANDLEID(fd) (SQLITE_PTR_TO_INT(fd)) /* ** The Pager.eState variable stores the current 'state' of a pager. A @@ -46981,6 +48582,18 @@ struct PagerSavepoint { ** is set to zero in all other states. In PAGER_ERROR state, Pager.errCode ** is always set to SQLITE_FULL, SQLITE_IOERR or one of the SQLITE_IOERR_XXX ** sub-codes. +** +** syncFlags, walSyncFlags +** +** syncFlags is either SQLITE_SYNC_NORMAL (0x02) or SQLITE_SYNC_FULL (0x03). +** syncFlags is used for rollback mode. walSyncFlags is used for WAL mode +** and contains the flags used to sync the checkpoint operations in the +** lower two bits, and sync flags used for transaction commits in the WAL +** file in bits 0x04 and 0x08. In other words, to get the correct sync flags +** for checkpoint operations, use (walSyncFlags&0x03) and to get the correct +** sync flags for transaction commit, use ((walSyncFlags>>2)&0x03). Note +** that with synchronous=NORMAL in WAL mode, transaction commit is not synced +** meaning that the 0x04 and 0x08 bits are both zero. */ struct Pager { sqlite3_vfs *pVfs; /* OS functions to use for IO */ @@ -46990,9 +48603,8 @@ struct Pager { u8 noSync; /* Do not sync the journal if true */ u8 fullSync; /* Do extra syncs of the journal for robustness */ u8 extraSync; /* sync directory after journal delete */ - u8 ckptSyncFlags; /* SYNC_NORMAL or SYNC_FULL for checkpoint */ - u8 walSyncFlags; /* SYNC_NORMAL or SYNC_FULL for wal writes */ u8 syncFlags; /* SYNC_NORMAL or SYNC_FULL otherwise */ + u8 walSyncFlags; /* See description above */ u8 tempFile; /* zFilename is a temporary or immutable file */ u8 noLock; /* Do not lock (except in WAL mode) */ u8 readOnly; /* True for a read-only database */ @@ -47058,6 +48670,7 @@ struct Pager { int nRead; /* Database pages read */ #endif void (*xReiniter)(DbPage*); /* Call this routine when reloading pages */ + int (*xGet)(Pager*,Pgno,DbPage**,int); /* Routine to fetch a patch */ #ifdef SQLITE_HAS_CODEC void *(*xCodec)(void*,void*,Pgno,int); /* Routine for en/decoding data */ void (*xCodecSizeChng)(void*,int,int); /* Notify of page size changes */ @@ -47178,14 +48791,20 @@ static const unsigned char aJournalMagic[] = { #define isOpen(pFd) ((pFd)->pMethods!=0) /* -** Return true if this pager uses a write-ahead log instead of the usual -** rollback journal. Otherwise false. +** Return true if this pager uses a write-ahead log to read page pgno. +** Return false if the pager reads pgno directly from the database. */ -#ifndef SQLITE_OMIT_WAL -SQLITE_PRIVATE int sqlite3PagerUseWal(Pager *pPager){ - return (pPager->pWal!=0); +#if !defined(SQLITE_OMIT_WAL) && defined(SQLITE_DIRECT_OVERFLOW_READ) +SQLITE_PRIVATE int sqlite3PagerUseWal(Pager *pPager, Pgno pgno){ + u32 iRead = 0; + int rc; + if( pPager->pWal==0 ) return 0; + rc = sqlite3WalFindFrame(pPager->pWal, pgno, &iRead); + return rc || iRead; } -# define pagerUseWal(x) sqlite3PagerUseWal(x) +#endif +#ifndef SQLITE_OMIT_WAL +# define pagerUseWal(x) ((x)->pWal!=0) #else # define pagerUseWal(x) 0 # define pagerRollbackWal(x) 0 @@ -47305,6 +48924,7 @@ static int assert_pager_state(Pager *p){ assert( isOpen(p->jfd) || p->journalMode==PAGER_JOURNALMODE_OFF || p->journalMode==PAGER_JOURNALMODE_WAL + || (sqlite3OsDeviceCharacteristics(p->fd)&SQLITE_IOCAP_BATCH_ATOMIC) ); assert( pPager->dbOrigSize<=pPager->dbHintSize ); break; @@ -47316,6 +48936,7 @@ static int assert_pager_state(Pager *p){ assert( isOpen(p->jfd) || p->journalMode==PAGER_JOURNALMODE_OFF || p->journalMode==PAGER_JOURNALMODE_WAL + || (sqlite3OsDeviceCharacteristics(p->fd)&SQLITE_IOCAP_BATCH_ATOMIC) ); break; @@ -47384,6 +49005,33 @@ static char *print_pager_state(Pager *p){ } #endif +/* Forward references to the various page getters */ +static int getPageNormal(Pager*,Pgno,DbPage**,int); +static int getPageError(Pager*,Pgno,DbPage**,int); +#if SQLITE_MAX_MMAP_SIZE>0 +static int getPageMMap(Pager*,Pgno,DbPage**,int); +#endif + +/* +** Set the Pager.xGet method for the appropriate routine used to fetch +** content from the pager. +*/ +static void setGetterMethod(Pager *pPager){ + if( pPager->errCode ){ + pPager->xGet = getPageError; +#if SQLITE_MAX_MMAP_SIZE>0 + }else if( USEFETCH(pPager) +#ifdef SQLITE_HAS_CODEC + && pPager->xCodec==0 +#endif + ){ + pPager->xGet = getPageMMap; +#endif /* SQLITE_MAX_MMAP_SIZE>0 */ + }else{ + pPager->xGet = getPageNormal; + } +} + /* ** Return true if it is necessary to write page *pPg into the sub-journal. ** A page needs to be written into the sub-journal if there exists one @@ -47499,34 +49147,47 @@ static int pagerLockDb(Pager *pPager, int eLock){ } /* -** This function determines whether or not the atomic-write optimization -** can be used with this pager. The optimization can be used if: +** This function determines whether or not the atomic-write or +** atomic-batch-write optimizations can be used with this pager. The +** atomic-write optimization can be used if: ** ** (a) the value returned by OsDeviceCharacteristics() indicates that ** a database page may be written atomically, and ** (b) the value returned by OsSectorSize() is less than or equal ** to the page size. ** -** The optimization is also always enabled for temporary files. It is -** an error to call this function if pPager is opened on an in-memory -** database. +** If it can be used, then the value returned is the size of the journal +** file when it contains rollback data for exactly one page. ** -** If the optimization cannot be used, 0 is returned. If it can be used, -** then the value returned is the size of the journal file when it -** contains rollback data for exactly one page. +** The atomic-batch-write optimization can be used if OsDeviceCharacteristics() +** returns a value with the SQLITE_IOCAP_BATCH_ATOMIC bit set. -1 is +** returned in this case. +** +** If neither optimization can be used, 0 is returned. */ -#ifdef SQLITE_ENABLE_ATOMIC_WRITE static int jrnlBufferSize(Pager *pPager){ assert( !MEMDB ); - if( !pPager->tempFile ){ - int dc; /* Device characteristics */ - int nSector; /* Sector size */ - int szPage; /* Page size */ - assert( isOpen(pPager->fd) ); - dc = sqlite3OsDeviceCharacteristics(pPager->fd); - nSector = pPager->sectorSize; - szPage = pPager->pageSize; +#if defined(SQLITE_ENABLE_ATOMIC_WRITE) \ + || defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) + int dc; /* Device characteristics */ + + assert( isOpen(pPager->fd) ); + dc = sqlite3OsDeviceCharacteristics(pPager->fd); +#else + UNUSED_PARAMETER(pPager); +#endif + +#ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE + if( dc&SQLITE_IOCAP_BATCH_ATOMIC ){ + return -1; + } +#endif + +#ifdef SQLITE_ENABLE_ATOMIC_WRITE + { + int nSector = pPager->sectorSize; + int szPage = pPager->pageSize; assert(SQLITE_IOCAP_ATOMIC512==(512>>8)); assert(SQLITE_IOCAP_ATOMIC64K==(65536>>8)); @@ -47536,11 +49197,11 @@ static int jrnlBufferSize(Pager *pPager){ } return JOURNAL_HDR_SZ(pPager) + JOURNAL_PG_SZ(pPager); -} -#else -# define jrnlBufferSize(x) 0 #endif + return 0; +} + /* ** If SQLITE_CHECK_PAGES is defined then we do some sanity checking ** on the cache using a hash function. This is used for testing @@ -47622,6 +49283,7 @@ static int readMasterJournal(sqlite3_file *pJrnl, char *zMaster, u32 nMaster){ || szJ<16 || SQLITE_OK!=(rc = read32bits(pJrnl, szJ-16, &len)) || len>=nMaster + || len>szJ-16 || len==0 || SQLITE_OK!=(rc = read32bits(pJrnl, szJ-12, &cksum)) || SQLITE_OK!=(rc = sqlite3OsRead(pJrnl, aMagic, 8, szJ-8)) @@ -48198,6 +49860,7 @@ static void pager_unlock(Pager *pPager){ } if( USEFETCH(pPager) ) sqlite3OsUnfetch(pPager->fd, 0, 0); pPager->errCode = SQLITE_OK; + setGetterMethod(pPager); } pPager->journalOff = 0; @@ -48235,6 +49898,7 @@ static int pager_error(Pager *pPager, int rc){ if( rc2==SQLITE_FULL || rc2==SQLITE_IOERR ){ pPager->errCode = rc; pPager->eState = PAGER_ERROR; + setGetterMethod(pPager); } return rc; } @@ -48341,7 +50005,9 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){ } releaseAllSavepoints(pPager); - assert( isOpen(pPager->jfd) || pPager->pInJournal==0 ); + assert( isOpen(pPager->jfd) || pPager->pInJournal==0 + || (sqlite3OsDeviceCharacteristics(pPager->fd)&SQLITE_IOCAP_BATCH_ATOMIC) + ); if( isOpen(pPager->jfd) ){ assert( !pagerUseWal(pPager) ); @@ -48403,7 +50069,7 @@ static int pager_end_transaction(Pager *pPager, int hasMaster, int bCommit){ pPager->pInJournal = 0; pPager->nRec = 0; if( rc==SQLITE_OK ){ - if( pagerFlushOnCommit(pPager, bCommit) ){ + if( MEMDB || pagerFlushOnCommit(pPager, bCommit) ){ sqlite3PcacheCleanAll(pPager->pPCache); }else{ sqlite3PcacheClearWritable(pPager->pPCache); @@ -48587,6 +50253,11 @@ static int pager_playback_one_page( char *aData; /* Temporary storage for the page */ sqlite3_file *jfd; /* The file descriptor for the journal file */ int isSynced; /* True if journal page is synced */ +#ifdef SQLITE_HAS_CODEC + /* The jrnlEnc flag is true if Journal pages should be passed through + ** the codec. It is false for pure in-memory journals. */ + const int jrnlEnc = (isMainJrnl || pPager->subjInMemory==0); +#endif assert( (isMainJrnl&~1)==0 ); /* isMainJrnl is 0 or 1 */ assert( (isSavepnt&~1)==0 ); /* isSavepnt is 0 or 1 */ @@ -48710,14 +50381,34 @@ static int pager_playback_one_page( i64 ofst = (pgno-1)*(i64)pPager->pageSize; testcase( !isSavepnt && pPg!=0 && (pPg->flags&PGHDR_NEED_SYNC)!=0 ); assert( !pagerUseWal(pPager) ); + + /* Write the data read from the journal back into the database file. + ** This is usually safe even for an encrypted database - as the data + ** was encrypted before it was written to the journal file. The exception + ** is if the data was just read from an in-memory sub-journal. In that + ** case it must be encrypted here before it is copied into the database + ** file. */ +#ifdef SQLITE_HAS_CODEC + if( !jrnlEnc ){ + CODEC2(pPager, aData, pgno, 7, rc=SQLITE_NOMEM_BKPT, aData); + rc = sqlite3OsWrite(pPager->fd, (u8 *)aData, pPager->pageSize, ofst); + CODEC1(pPager, aData, pgno, 3, rc=SQLITE_NOMEM_BKPT); + }else +#endif rc = sqlite3OsWrite(pPager->fd, (u8 *)aData, pPager->pageSize, ofst); + if( pgno>pPager->dbFileSize ){ pPager->dbFileSize = pgno; } if( pPager->pBackup ){ - CODEC1(pPager, aData, pgno, 3, rc=SQLITE_NOMEM_BKPT); +#ifdef SQLITE_HAS_CODEC + if( jrnlEnc ){ + CODEC1(pPager, aData, pgno, 3, rc=SQLITE_NOMEM_BKPT); + sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)aData); + CODEC2(pPager, aData, pgno, 7, rc=SQLITE_NOMEM_BKPT,aData); + }else +#endif sqlite3BackupUpdate(pPager->pBackup, pgno, (u8*)aData); - CODEC2(pPager, aData, pgno, 7, rc=SQLITE_NOMEM_BKPT, aData); } }else if( !isMainJrnl && pPg==0 ){ /* If this is a rollback of a savepoint and data was not written to @@ -48769,7 +50460,9 @@ static int pager_playback_one_page( } /* Decode the page just read from disk */ - CODEC1(pPager, pData, pPg->pgno, 3, rc=SQLITE_NOMEM_BKPT); +#if SQLITE_HAS_CODEC + if( jrnlEnc ){ CODEC1(pPager, pData, pPg->pgno, 3, rc=SQLITE_NOMEM_BKPT); } +#endif sqlite3PcacheRelease(pPg); } return rc; @@ -49082,6 +50775,7 @@ static int pager_playback(Pager *pPager, int isHot){ char *zMaster = 0; /* Name of master journal file if any */ int needPagerReset; /* True to reset page prior to first page rollback */ int nPlayback = 0; /* Total number of pages restored from journal */ + u32 savedPageSize = pPager->pageSize; /* Figure out how many records are in the journal. Abort early if ** the journal is empty. @@ -49211,6 +50905,9 @@ static int pager_playback(Pager *pPager, int isHot){ assert( 0 ); end_playback: + if( rc==SQLITE_OK ){ + rc = sqlite3PagerSetPagesize(pPager, &savedPageSize, -1); + } /* Following a rollback, the database file should be back in its original ** state prior to the start of the transaction, so invoke the ** SQLITE_FCNTL_DB_UNCHANGED file-control method to disable the @@ -49269,7 +50966,8 @@ static int pager_playback(Pager *pPager, int isHot){ /* -** Read the content for page pPg out of the database file and into +** Read the content for page pPg out of the database file (or out of +** the WAL if that is where the most recent copy if found) into ** pPg->pData. A shared lock or greater must be held on the database ** file before this function is called. ** @@ -49279,30 +50977,33 @@ static int pager_playback(Pager *pPager, int isHot){ ** If an IO error occurs, then the IO error is returned to the caller. ** Otherwise, SQLITE_OK is returned. */ -static int readDbPage(PgHdr *pPg, u32 iFrame){ +static int readDbPage(PgHdr *pPg){ Pager *pPager = pPg->pPager; /* Pager object associated with page pPg */ - Pgno pgno = pPg->pgno; /* Page number to read */ int rc = SQLITE_OK; /* Return code */ - int pgsz = pPager->pageSize; /* Number of bytes to read */ + +#ifndef SQLITE_OMIT_WAL + u32 iFrame = 0; /* Frame of WAL containing pgno */ assert( pPager->eState>=PAGER_READER && !MEMDB ); assert( isOpen(pPager->fd) ); -#ifndef SQLITE_OMIT_WAL + if( pagerUseWal(pPager) ){ + rc = sqlite3WalFindFrame(pPager->pWal, pPg->pgno, &iFrame); + if( rc ) return rc; + } if( iFrame ){ - /* Try to pull the page from the write-ahead log. */ - rc = sqlite3WalReadFrame(pPager->pWal, iFrame, pgsz, pPg->pData); + rc = sqlite3WalReadFrame(pPager->pWal, iFrame,pPager->pageSize,pPg->pData); }else #endif { - i64 iOffset = (pgno-1)*(i64)pPager->pageSize; - rc = sqlite3OsRead(pPager->fd, pPg->pData, pgsz, iOffset); + i64 iOffset = (pPg->pgno-1)*(i64)pPager->pageSize; + rc = sqlite3OsRead(pPager->fd, pPg->pData, pPager->pageSize, iOffset); if( rc==SQLITE_IOERR_SHORT_READ ){ rc = SQLITE_OK; } } - if( pgno==1 ){ + if( pPg->pgno==1 ){ if( rc ){ /* If the read is unsuccessful, set the dbFileVers[] to something ** that will never be a valid file version. dbFileVers[] is a copy @@ -49322,13 +51023,13 @@ static int readDbPage(PgHdr *pPg, u32 iFrame){ memcpy(&pPager->dbFileVers, dbFileVers, sizeof(pPager->dbFileVers)); } } - CODEC1(pPager, pPg->pData, pgno, 3, rc = SQLITE_NOMEM_BKPT); + CODEC1(pPager, pPg->pData, pPg->pgno, 3, rc = SQLITE_NOMEM_BKPT); PAGER_INCR(sqlite3_pager_readdb_count); PAGER_INCR(pPager->nRead); - IOTRACE(("PGIN %p %d\n", pPager, pgno)); + IOTRACE(("PGIN %p %d\n", pPager, pPg->pgno)); PAGERTRACE(("FETCH %d page %d hash(%08x)\n", - PAGERID(pPager), pgno, pager_pagehash(pPg))); + PAGERID(pPager), pPg->pgno, pager_pagehash(pPg))); return rc; } @@ -49379,11 +51080,7 @@ static int pagerUndoCallback(void *pCtx, Pgno iPg){ if( sqlite3PcachePageRefcount(pPg)==1 ){ sqlite3PcacheDrop(pPg); }else{ - u32 iFrame = 0; - rc = sqlite3WalFindFrame(pPager->pWal, pPg->pgno, &iFrame); - if( rc==SQLITE_OK ){ - rc = readDbPage(pPg, iFrame); - } + rc = readDbPage(pPg); if( rc==SQLITE_OK ){ pPager->xReiniter(pPg); } @@ -49555,7 +51252,7 @@ static int pagerPagecount(Pager *pPager, Pgno *pnPage){ nPage = sqlite3WalDbsize(pPager->pWal); /* If the number of pages in the database is not available from the - ** WAL sub-system, determine the page counte based on the size of + ** WAL sub-system, determine the page count based on the size of ** the database file. If the size of the database file is not an ** integer multiple of the page-size, round up the result. */ @@ -49606,23 +51303,21 @@ static int pagerOpenWalIfPresent(Pager *pPager){ if( !pPager->tempFile ){ int isWal; /* True if WAL file exists */ - Pgno nPage; /* Size of the database file */ - - rc = pagerPagecount(pPager, &nPage); - if( rc ) return rc; - if( nPage==0 ){ - rc = sqlite3OsDelete(pPager->pVfs, pPager->zWal, 0); - if( rc==SQLITE_IOERR_DELETE_NOENT ) rc = SQLITE_OK; - isWal = 0; - }else{ - rc = sqlite3OsAccess( - pPager->pVfs, pPager->zWal, SQLITE_ACCESS_EXISTS, &isWal - ); - } + rc = sqlite3OsAccess( + pPager->pVfs, pPager->zWal, SQLITE_ACCESS_EXISTS, &isWal + ); if( rc==SQLITE_OK ){ if( isWal ){ - testcase( sqlite3PcachePagecount(pPager->pPCache)==0 ); - rc = sqlite3PagerOpenWal(pPager, 0); + Pgno nPage; /* Size of the database file */ + + rc = pagerPagecount(pPager, &nPage); + if( rc ) return rc; + if( nPage==0 ){ + rc = sqlite3OsDelete(pPager->pVfs, pPager->zWal, 0); + }else{ + testcase( sqlite3PcachePagecount(pPager->pPCache)==0 ); + rc = sqlite3PagerOpenWal(pPager, 0); + } }else if( pPager->journalMode==PAGER_JOURNALMODE_WAL ){ pPager->journalMode = PAGER_JOURNALMODE_DELETE; } @@ -49802,6 +51497,7 @@ static void pagerFixMaplimit(Pager *pPager){ sqlite3_int64 sz; sz = pPager->szMmap; pPager->bUseFetch = (sz>0); + setGetterMethod(pPager); sqlite3OsFileControlHint(pPager->fd, SQLITE_FCNTL_MMAP_SIZE, &sz); } #endif @@ -49890,20 +51586,17 @@ SQLITE_PRIVATE void sqlite3PagerSetFlags( } if( pPager->noSync ){ pPager->syncFlags = 0; - pPager->ckptSyncFlags = 0; }else if( pgFlags & PAGER_FULLFSYNC ){ pPager->syncFlags = SQLITE_SYNC_FULL; - pPager->ckptSyncFlags = SQLITE_SYNC_FULL; - }else if( pgFlags & PAGER_CKPT_FULLFSYNC ){ - pPager->syncFlags = SQLITE_SYNC_NORMAL; - pPager->ckptSyncFlags = SQLITE_SYNC_FULL; }else{ pPager->syncFlags = SQLITE_SYNC_NORMAL; - pPager->ckptSyncFlags = SQLITE_SYNC_NORMAL; } - pPager->walSyncFlags = pPager->syncFlags; + pPager->walSyncFlags = (pPager->syncFlags<<2); if( pPager->fullSync ){ - pPager->walSyncFlags |= WAL_SYNC_TRANSACTIONS; + pPager->walSyncFlags |= pPager->syncFlags; + } + if( (pgFlags & PAGER_CKPT_FULLFSYNC) && !pPager->noSync ){ + pPager->walSyncFlags |= (SQLITE_SYNC_FULL<<2); } if( pgFlags & PAGER_CACHESPILL ){ pPager->doNotSpill &= ~SPILLFLAG_OFF; @@ -50298,6 +51991,7 @@ static int pagerSyncHotJournal(Pager *pPager){ return rc; } +#if SQLITE_MAX_MMAP_SIZE>0 /* ** Obtain a reference to a memory mapped page object for page number pgno. ** The new object will use the pointer pData, obtained from xFetch(). @@ -50320,7 +52014,8 @@ static int pagerAcquireMapPage( *ppPage = p = pPager->pMmapFreelist; pPager->pMmapFreelist = p->pDirty; p->pDirty = 0; - memset(p->pExtra, 0, pPager->nExtra); + assert( pPager->nExtra>=8 ); + memset(p->pExtra, 0, 8); }else{ *ppPage = p = (PgHdr *)sqlite3MallocZero(sizeof(PgHdr) + pPager->nExtra); if( p==0 ){ @@ -50345,6 +52040,7 @@ static int pagerAcquireMapPage( return SQLITE_OK; } +#endif /* ** Release a reference to page pPg. pPg must have been returned by an @@ -50387,9 +52083,10 @@ static void pagerFreeMapHdrs(Pager *pPager){ ** a hot journal may be left in the filesystem but no error is returned ** to the caller. */ -SQLITE_PRIVATE int sqlite3PagerClose(Pager *pPager){ +SQLITE_PRIVATE int sqlite3PagerClose(Pager *pPager, sqlite3 *db){ u8 *pTmp = (u8 *)pPager->pTmpSpace; + assert( db || pagerUseWal(pPager)==0 ); assert( assert_pager_state(pPager) ); disable_simulated_io_errors(); sqlite3BeginBenignMalloc(); @@ -50397,7 +52094,10 @@ SQLITE_PRIVATE int sqlite3PagerClose(Pager *pPager){ /* pPager->errCode = 0; */ pPager->exclusiveMode = 0; #ifndef SQLITE_OMIT_WAL - sqlite3WalClose(pPager->pWal, pPager->ckptSyncFlags, pPager->pageSize, pTmp); + assert( db || pPager->pWal==0 ); + sqlite3WalClose(pPager->pWal, db, pPager->walSyncFlags, pPager->pageSize, + (db && (db->flags & SQLITE_NoCkptOnClose) ? 0 : pTmp) + ); pPager->pWal = 0; #endif pager_reset(pPager); @@ -50773,8 +52473,13 @@ static int subjournalPage(PgHdr *pPg){ void *pData = pPg->pData; i64 offset = (i64)pPager->nSubRec*(4+pPager->pageSize); char *pData2; - - CODEC2(pPager, pData, pPg->pgno, 7, return SQLITE_NOMEM_BKPT, pData2); + +#if SQLITE_HAS_CODEC + if( !pPager->subjInMemory ){ + CODEC2(pPager, pData, pPg->pgno, 7, return SQLITE_NOMEM_BKPT, pData2); + }else +#endif + pData2 = pData; PAGERTRACE(("STMT-JOURNAL %d page %d\n", PAGERID(pPager), pPg->pgno)); rc = write32bits(pPager->sjfd, offset, pPg->pgno); if( rc==SQLITE_OK ){ @@ -50858,6 +52563,13 @@ static int pagerStress(void *p, PgHdr *pPg){ rc = pagerWalFrames(pPager, pPg, 0, 0); } }else{ + +#ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE + if( pPager->tempFile==0 ){ + rc = sqlite3JournalCreate(pPager->jfd); + if( rc!=SQLITE_OK ) return pager_error(pPager, rc); + } +#endif /* Sync the journal file if required. */ if( pPg->flags&PGHDR_NEED_SYNC @@ -50916,7 +52628,9 @@ SQLITE_PRIVATE int sqlite3PagerFlush(Pager *pPager){ ** ** The nExtra parameter specifies the number of bytes of space allocated ** along with each page reference. This space is available to the user -** via the sqlite3PagerGetExtra() API. +** via the sqlite3PagerGetExtra() API. When a new page is allocated, the +** first 8 bytes of this space are zeroed but the remainder is uninitialized. +** (The extra space is used by btree as the MemPage object.) ** ** The flags argument is used to specify properties that affect the ** operation of the pager. It should be passed some bitwise combination @@ -51146,8 +52860,8 @@ SQLITE_PRIVATE int sqlite3PagerOpen( /* Initialize the PCache object. */ if( rc==SQLITE_OK ){ - assert( nExtra<1000 ); nExtra = ROUND8(nExtra); + assert( nExtra>=8 && nExtra<1000 ); rc = sqlite3PcacheOpen(szPageDflt, nExtra, !memDb, !memDb?pagerStress:0, (void *)pPager, pPager->pPCache); } @@ -51189,13 +52903,11 @@ SQLITE_PRIVATE int sqlite3PagerOpen( assert( pPager->extraSync==0 ); assert( pPager->syncFlags==0 ); assert( pPager->walSyncFlags==0 ); - assert( pPager->ckptSyncFlags==0 ); }else{ pPager->fullSync = 1; pPager->extraSync = 0; pPager->syncFlags = SQLITE_SYNC_NORMAL; - pPager->walSyncFlags = SQLITE_SYNC_NORMAL | WAL_SYNC_TRANSACTIONS; - pPager->ckptSyncFlags = SQLITE_SYNC_NORMAL; + pPager->walSyncFlags = SQLITE_SYNC_NORMAL | (SQLITE_SYNC_NORMAL<<2); } /* pPager->pFirst = 0; */ /* pPager->pFirstSynced = 0; */ @@ -51212,6 +52924,7 @@ SQLITE_PRIVATE int sqlite3PagerOpen( /* pPager->xBusyHandler = 0; */ /* pPager->pBusyHandlerArg = 0; */ pPager->xReiniter = xReinit; + setGetterMethod(pPager); /* memset(pPager->aHash, 0, sizeof(pPager->aHash)); */ /* pPager->szMmap = SQLITE_DEFAULT_MMAP_SIZE // will be set by btree.c */ @@ -51549,19 +53262,14 @@ SQLITE_PRIVATE int sqlite3PagerSharedLock(Pager *pPager){ ** detected. The chance of an undetected change is so small that ** it can be neglected. */ - Pgno nPage = 0; char dbFileVers[sizeof(pPager->dbFileVers)]; - rc = pagerPagecount(pPager, &nPage); - if( rc ) goto failed; - - if( nPage>0 ){ - IOTRACE(("CKVERS %p %d\n", pPager, sizeof(dbFileVers))); - rc = sqlite3OsRead(pPager->fd, &dbFileVers, sizeof(dbFileVers), 24); - if( rc!=SQLITE_OK && rc!=SQLITE_IOERR_SHORT_READ ){ + IOTRACE(("CKVERS %p %d\n", pPager, sizeof(dbFileVers))); + rc = sqlite3OsRead(pPager->fd, &dbFileVers, sizeof(dbFileVers), 24); + if( rc!=SQLITE_OK ){ + if( rc!=SQLITE_IOERR_SHORT_READ ){ goto failed; } - }else{ memset(dbFileVers, 0, sizeof(dbFileVers)); } @@ -51619,16 +53327,24 @@ SQLITE_PRIVATE int sqlite3PagerSharedLock(Pager *pPager){ ** nothing to rollback, so this routine is a no-op. */ static void pagerUnlockIfUnused(Pager *pPager){ - if( pPager->nMmapOut==0 && (sqlite3PcacheRefCount(pPager->pPCache)==0) ){ + if( sqlite3PcacheRefCount(pPager->pPCache)==0 ){ + assert( pPager->nMmapOut==0 ); /* because page1 is never memory mapped */ pagerUnlockAndRollback(pPager); } } /* -** Acquire a reference to page number pgno in pager pPager (a page -** reference has type DbPage*). If the requested reference is +** The page getter methods each try to acquire a reference to a +** page with page number pgno. If the requested reference is ** successfully obtained, it is copied to *ppPage and SQLITE_OK returned. ** +** There are different implementations of the getter method depending +** on the current state of the pager. +** +** getPageNormal() -- The normal getter +** getPageError() -- Used if the pager is in an error state +** getPageMmap() -- Used if memory-mapped I/O is enabled +** ** If the requested page is already in the cache, it is returned. ** Otherwise, a new page object is allocated and populated with data ** read from the database file. In some cases, the pcache module may @@ -51640,14 +53356,14 @@ static void pagerUnlockIfUnused(Pager *pPager){ ** already in the cache when this function is called, then the extra ** data is left as it was when the page object was last used. ** -** If the database image is smaller than the requested page or if a -** non-zero value is passed as the noContent parameter and the +** If the database image is smaller than the requested page or if +** the flags parameter contains the PAGER_GET_NOCONTENT bit and the ** requested page is not already stored in the cache, then no ** actual disk read occurs. In this case the memory image of the ** page is initialized to all zeros. ** -** If noContent is true, it means that we do not care about the contents -** of the page. This occurs in two scenarios: +** If PAGER_GET_NOCONTENT is true, it means that we do not care about +** the contents of the page. This occurs in two scenarios: ** ** a) When reading a free-list leaf page from the database, and ** @@ -51655,8 +53371,8 @@ static void pagerUnlockIfUnused(Pager *pPager){ ** a new page into the cache to be filled with the data read ** from the savepoint journal. ** -** If noContent is true, then the data returned is zeroed instead of -** being read from the database. Additionally, the bits corresponding +** If PAGER_GET_NOCONTENT is true, then the data returned is zeroed instead +** of being read from the database. Additionally, the bits corresponding ** to pgno in Pager.pInJournal (bitvec of pages already written to the ** journal file) and the PagerSavepoint.pInSavepoint bitvecs of any open ** savepoints are set. This means if the page is made writable at any @@ -51674,106 +53390,39 @@ static void pagerUnlockIfUnused(Pager *pPager){ ** Since Lookup() never goes to disk, it never has to deal with locks ** or journal files. */ -SQLITE_PRIVATE int sqlite3PagerGet( +static int getPageNormal( Pager *pPager, /* The pager open on the database file */ Pgno pgno, /* Page number to fetch */ DbPage **ppPage, /* Write a pointer to the page here */ int flags /* PAGER_GET_XXX flags */ ){ int rc = SQLITE_OK; - PgHdr *pPg = 0; - u32 iFrame = 0; /* Frame to read from WAL file */ - const int noContent = (flags & PAGER_GET_NOCONTENT); - - /* It is acceptable to use a read-only (mmap) page for any page except - ** page 1 if there is no write-transaction open or the ACQUIRE_READONLY - ** flag was specified by the caller. And so long as the db is not a - ** temporary or in-memory database. */ - const int bMmapOk = (pgno>1 && USEFETCH(pPager) - && (pPager->eState==PAGER_READER || (flags & PAGER_GET_READONLY)) -#ifdef SQLITE_HAS_CODEC - && pPager->xCodec==0 -#endif - ); + PgHdr *pPg; + u8 noContent; /* True if PAGER_GET_NOCONTENT is set */ + sqlite3_pcache_page *pBase; - /* Optimization note: Adding the "pgno<=1" term before "pgno==0" here - ** allows the compiler optimizer to reuse the results of the "pgno>1" - ** test in the previous statement, and avoid testing pgno==0 in the - ** common case where pgno is large. */ - if( pgno<=1 && pgno==0 ){ - return SQLITE_CORRUPT_BKPT; - } + assert( pPager->errCode==SQLITE_OK ); assert( pPager->eState>=PAGER_READER ); assert( assert_pager_state(pPager) ); - assert( noContent==0 || bMmapOk==0 ); - assert( pPager->hasHeldSharedLock==1 ); - /* If the pager is in the error state, return an error immediately. - ** Otherwise, request the page from the PCache layer. */ - if( pPager->errCode!=SQLITE_OK ){ - rc = pPager->errCode; - }else{ - if( bMmapOk && pagerUseWal(pPager) ){ - rc = sqlite3WalFindFrame(pPager->pWal, pgno, &iFrame); - if( rc!=SQLITE_OK ) goto pager_acquire_err; - } - - if( bMmapOk && iFrame==0 ){ - void *pData = 0; - - rc = sqlite3OsFetch(pPager->fd, - (i64)(pgno-1) * pPager->pageSize, pPager->pageSize, &pData - ); - - if( rc==SQLITE_OK && pData ){ - if( pPager->eState>PAGER_READER || pPager->tempFile ){ - pPg = sqlite3PagerLookup(pPager, pgno); - } - if( pPg==0 ){ - rc = pagerAcquireMapPage(pPager, pgno, pData, &pPg); - }else{ - sqlite3OsUnfetch(pPager->fd, (i64)(pgno-1)*pPager->pageSize, pData); - } - if( pPg ){ - assert( rc==SQLITE_OK ); - *ppPage = pPg; - return SQLITE_OK; - } - } - if( rc!=SQLITE_OK ){ - goto pager_acquire_err; - } - } - - { - sqlite3_pcache_page *pBase; - pBase = sqlite3PcacheFetch(pPager->pPCache, pgno, 3); - if( pBase==0 ){ - rc = sqlite3PcacheFetchStress(pPager->pPCache, pgno, &pBase); - if( rc!=SQLITE_OK ) goto pager_acquire_err; - if( pBase==0 ){ - pPg = *ppPage = 0; - rc = SQLITE_NOMEM_BKPT; - goto pager_acquire_err; - } - } - pPg = *ppPage = sqlite3PcacheFetchFinish(pPager->pPCache, pgno, pBase); - assert( pPg!=0 ); - } - } - - if( rc!=SQLITE_OK ){ - /* Either the call to sqlite3PcacheFetch() returned an error or the - ** pager was already in the error-state when this function was called. - ** Set pPg to 0 and jump to the exception handler. */ + if( pgno==0 ) return SQLITE_CORRUPT_BKPT; + pBase = sqlite3PcacheFetch(pPager->pPCache, pgno, 3); + if( pBase==0 ){ pPg = 0; - goto pager_acquire_err; + rc = sqlite3PcacheFetchStress(pPager->pPCache, pgno, &pBase); + if( rc!=SQLITE_OK ) goto pager_acquire_err; + if( pBase==0 ){ + rc = SQLITE_NOMEM_BKPT; + goto pager_acquire_err; + } } + pPg = *ppPage = sqlite3PcacheFetchFinish(pPager->pPCache, pgno, pBase); assert( pPg==(*ppPage) ); assert( pPg->pgno==pgno ); assert( pPg->pPager==pPager || pPg->pPager==0 ); + noContent = (flags & PAGER_GET_NOCONTENT)!=0; if( pPg->pPager && !noContent ){ /* In this case the pcache already contains an initialized copy of ** the page. Return without further ado. */ @@ -51783,17 +53432,18 @@ SQLITE_PRIVATE int sqlite3PagerGet( }else{ /* The pager cache has created a new page. Its content needs to - ** be initialized. */ - - pPg->pPager = pPager; - - /* The maximum page number is 2^31. Return SQLITE_CORRUPT if a page - ** number greater than this, or the unused locking-page, is requested. */ + ** be initialized. But first some error checks: + ** + ** (1) The maximum page number is 2^31 + ** (2) Never try to fetch the locking page + */ if( pgno>PAGER_MAX_PGNO || pgno==PAGER_MJ_PGNO(pPager) ){ rc = SQLITE_CORRUPT_BKPT; goto pager_acquire_err; } + pPg->pPager = pPager; + assert( !isOpen(pPager->fd) || !MEMDB ); if( !isOpen(pPager->fd) || pPager->dbSizepPager->mxPgno ){ @@ -51819,20 +53469,15 @@ SQLITE_PRIVATE int sqlite3PagerGet( memset(pPg->pData, 0, pPager->pageSize); IOTRACE(("ZERO %p %d\n", pPager, pgno)); }else{ - if( pagerUseWal(pPager) && bMmapOk==0 ){ - rc = sqlite3WalFindFrame(pPager->pWal, pgno, &iFrame); - if( rc!=SQLITE_OK ) goto pager_acquire_err; - } assert( pPg->pPager==pPager ); pPager->aStat[PAGER_STAT_MISS]++; - rc = readDbPage(pPg, iFrame); + rc = readDbPage(pPg); if( rc!=SQLITE_OK ){ goto pager_acquire_err; } } pager_set_pagehash(pPg); } - return SQLITE_OK; pager_acquire_err: @@ -51841,11 +53486,109 @@ SQLITE_PRIVATE int sqlite3PagerGet( sqlite3PcacheDrop(pPg); } pagerUnlockIfUnused(pPager); - *ppPage = 0; return rc; } +#if SQLITE_MAX_MMAP_SIZE>0 +/* The page getter for when memory-mapped I/O is enabled */ +static int getPageMMap( + Pager *pPager, /* The pager open on the database file */ + Pgno pgno, /* Page number to fetch */ + DbPage **ppPage, /* Write a pointer to the page here */ + int flags /* PAGER_GET_XXX flags */ +){ + int rc = SQLITE_OK; + PgHdr *pPg = 0; + u32 iFrame = 0; /* Frame to read from WAL file */ + + /* It is acceptable to use a read-only (mmap) page for any page except + ** page 1 if there is no write-transaction open or the ACQUIRE_READONLY + ** flag was specified by the caller. And so long as the db is not a + ** temporary or in-memory database. */ + const int bMmapOk = (pgno>1 + && (pPager->eState==PAGER_READER || (flags & PAGER_GET_READONLY)) + ); + + assert( USEFETCH(pPager) ); +#ifdef SQLITE_HAS_CODEC + assert( pPager->xCodec==0 ); +#endif + + /* Optimization note: Adding the "pgno<=1" term before "pgno==0" here + ** allows the compiler optimizer to reuse the results of the "pgno>1" + ** test in the previous statement, and avoid testing pgno==0 in the + ** common case where pgno is large. */ + if( pgno<=1 && pgno==0 ){ + return SQLITE_CORRUPT_BKPT; + } + assert( pPager->eState>=PAGER_READER ); + assert( assert_pager_state(pPager) ); + assert( pPager->hasHeldSharedLock==1 ); + assert( pPager->errCode==SQLITE_OK ); + + if( bMmapOk && pagerUseWal(pPager) ){ + rc = sqlite3WalFindFrame(pPager->pWal, pgno, &iFrame); + if( rc!=SQLITE_OK ){ + *ppPage = 0; + return rc; + } + } + if( bMmapOk && iFrame==0 ){ + void *pData = 0; + rc = sqlite3OsFetch(pPager->fd, + (i64)(pgno-1) * pPager->pageSize, pPager->pageSize, &pData + ); + if( rc==SQLITE_OK && pData ){ + if( pPager->eState>PAGER_READER || pPager->tempFile ){ + pPg = sqlite3PagerLookup(pPager, pgno); + } + if( pPg==0 ){ + rc = pagerAcquireMapPage(pPager, pgno, pData, &pPg); + }else{ + sqlite3OsUnfetch(pPager->fd, (i64)(pgno-1)*pPager->pageSize, pData); + } + if( pPg ){ + assert( rc==SQLITE_OK ); + *ppPage = pPg; + return SQLITE_OK; + } + } + if( rc!=SQLITE_OK ){ + *ppPage = 0; + return rc; + } + } + return getPageNormal(pPager, pgno, ppPage, flags); +} +#endif /* SQLITE_MAX_MMAP_SIZE>0 */ + +/* The page getter method for when the pager is an error state */ +static int getPageError( + Pager *pPager, /* The pager open on the database file */ + Pgno pgno, /* Page number to fetch */ + DbPage **ppPage, /* Write a pointer to the page here */ + int flags /* PAGER_GET_XXX flags */ +){ + UNUSED_PARAMETER(pgno); + UNUSED_PARAMETER(flags); + assert( pPager->errCode!=SQLITE_OK ); + *ppPage = 0; + return pPager->errCode; +} + + +/* Dispatch all page fetch requests to the appropriate getter method. +*/ +SQLITE_PRIVATE int sqlite3PagerGet( + Pager *pPager, /* The pager open on the database file */ + Pgno pgno, /* Page number to fetch */ + DbPage **ppPage, /* Write a pointer to the page here */ + int flags /* PAGER_GET_XXX flags */ +){ + return pPager->xGet(pPager, pgno, ppPage, flags); +} + /* ** Acquire a page if it is already in the in-memory cache. Do ** not read the page from disk. Return a pointer to the page, @@ -51871,25 +53614,39 @@ SQLITE_PRIVATE DbPage *sqlite3PagerLookup(Pager *pPager, Pgno pgno){ /* ** Release a page reference. ** -** If the number of references to the page drop to zero, then the -** page is added to the LRU list. When all references to all pages -** are released, a rollback occurs and the lock on the database is -** removed. +** The sqlite3PagerUnref() and sqlite3PagerUnrefNotNull() may only be +** used if we know that the page being released is not the last page. +** The btree layer always holds page1 open until the end, so these first +** to routines can be used to release any page other than BtShared.pPage1. +** +** Use sqlite3PagerUnrefPageOne() to release page1. This latter routine +** checks the total number of outstanding pages and if the number of +** pages reaches zero it drops the database lock. */ SQLITE_PRIVATE void sqlite3PagerUnrefNotNull(DbPage *pPg){ - Pager *pPager; + TESTONLY( Pager *pPager = pPg->pPager; ) assert( pPg!=0 ); - pPager = pPg->pPager; if( pPg->flags & PGHDR_MMAP ){ + assert( pPg->pgno!=1 ); /* Page1 is never memory mapped */ pagerReleaseMapPage(pPg); }else{ sqlite3PcacheRelease(pPg); } - pagerUnlockIfUnused(pPager); + /* Do not use this routine to release the last reference to page1 */ + assert( sqlite3PcacheRefCount(pPager->pPCache)>0 ); } SQLITE_PRIVATE void sqlite3PagerUnref(DbPage *pPg){ if( pPg ) sqlite3PagerUnrefNotNull(pPg); } +SQLITE_PRIVATE void sqlite3PagerUnrefPageOne(DbPage *pPg){ + Pager *pPager; + assert( pPg!=0 ); + assert( pPg->pgno==1 ); + assert( (pPg->flags & PGHDR_MMAP)==0 ); /* Page1 is never memory mapped */ + pPager = pPg->pPager; + sqlite3PcacheRelease(pPg); + pagerUnlockIfUnused(pPager); +} /* ** This function is called at the start of every write transaction. @@ -52319,11 +54076,11 @@ SQLITE_PRIVATE int sqlite3PagerWrite(PgHdr *pPg){ assert( (pPg->flags & PGHDR_MMAP)==0 ); assert( pPager->eState>=PAGER_WRITER_LOCKED ); assert( assert_pager_state(pPager) ); - if( pPager->errCode ){ - return pPager->errCode; - }else if( (pPg->flags & PGHDR_WRITEABLE)!=0 && pPager->dbSize>=pPg->pgno ){ + if( (pPg->flags & PGHDR_WRITEABLE)!=0 && pPager->dbSize>=pPg->pgno ){ if( pPager->nSavepoint ) return subjournalPageIfRequired(pPg); return SQLITE_OK; + }else if( pPager->errCode ){ + return pPager->errCode; }else if( pPager->sectorSize > (u32)pPager->pageSize ){ assert( pPager->tempFile==0 ); return pagerWriteLargeSector(pPg); @@ -52601,6 +54358,21 @@ SQLITE_PRIVATE int sqlite3PagerCommitPhaseOne( sqlite3PcacheCleanAll(pPager->pPCache); } }else{ + /* The bBatch boolean is true if the batch-atomic-write commit method + ** should be used. No rollback journal is created if batch-atomic-write + ** is enabled. + */ + sqlite3_file *fd = pPager->fd; +#ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE + const int bBatch = zMaster==0 /* An SQLITE_IOCAP_BATCH_ATOMIC commit */ + && (sqlite3OsDeviceCharacteristics(fd) & SQLITE_IOCAP_BATCH_ATOMIC) + && !pPager->noSync + && sqlite3JournalIsInMemory(pPager->jfd); +#else +# define bBatch 0 +#endif + +#ifdef SQLITE_ENABLE_ATOMIC_WRITE /* The following block updates the change-counter. Exactly how it ** does this depends on whether or not the atomic-update optimization ** was enabled at compile time, and if this transaction meets the @@ -52624,33 +54396,40 @@ SQLITE_PRIVATE int sqlite3PagerCommitPhaseOne( ** in 'direct' mode. In this case the journal file will never be ** created for this transaction. */ - #ifdef SQLITE_ENABLE_ATOMIC_WRITE - PgHdr *pPg; - assert( isOpen(pPager->jfd) - || pPager->journalMode==PAGER_JOURNALMODE_OFF - || pPager->journalMode==PAGER_JOURNALMODE_WAL - ); - if( !zMaster && isOpen(pPager->jfd) - && pPager->journalOff==jrnlBufferSize(pPager) - && pPager->dbSize>=pPager->dbOrigSize - && (0==(pPg = sqlite3PcacheDirtyList(pPager->pPCache)) || 0==pPg->pDirty) - ){ - /* Update the db file change counter via the direct-write method. The - ** following call will modify the in-memory representation of page 1 - ** to include the updated change counter and then write page 1 - ** directly to the database file. Because of the atomic-write - ** property of the host file-system, this is safe. - */ - rc = pager_incr_changecounter(pPager, 1); - }else{ - rc = sqlite3JournalCreate(pPager->jfd); - if( rc==SQLITE_OK ){ - rc = pager_incr_changecounter(pPager, 0); + if( bBatch==0 ){ + PgHdr *pPg; + assert( isOpen(pPager->jfd) + || pPager->journalMode==PAGER_JOURNALMODE_OFF + || pPager->journalMode==PAGER_JOURNALMODE_WAL + ); + if( !zMaster && isOpen(pPager->jfd) + && pPager->journalOff==jrnlBufferSize(pPager) + && pPager->dbSize>=pPager->dbOrigSize + && (!(pPg = sqlite3PcacheDirtyList(pPager->pPCache)) || 0==pPg->pDirty) + ){ + /* Update the db file change counter via the direct-write method. The + ** following call will modify the in-memory representation of page 1 + ** to include the updated change counter and then write page 1 + ** directly to the database file. Because of the atomic-write + ** property of the host file-system, this is safe. + */ + rc = pager_incr_changecounter(pPager, 1); + }else{ + rc = sqlite3JournalCreate(pPager->jfd); + if( rc==SQLITE_OK ){ + rc = pager_incr_changecounter(pPager, 0); + } } } - #else +#else +#ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE + if( zMaster ){ + rc = sqlite3JournalCreate(pPager->jfd); + if( rc!=SQLITE_OK ) goto commit_phase_one_exit; + } +#endif rc = pager_incr_changecounter(pPager, 0); - #endif +#endif if( rc!=SQLITE_OK ) goto commit_phase_one_exit; /* Write the master journal name into the journal file. If a master @@ -52673,8 +54452,24 @@ SQLITE_PRIVATE int sqlite3PagerCommitPhaseOne( */ rc = syncJournal(pPager, 0); if( rc!=SQLITE_OK ) goto commit_phase_one_exit; - + + if( bBatch ){ + /* The pager is now in DBMOD state. But regardless of what happens + ** next, attempting to play the journal back into the database would + ** be unsafe. Close it now to make sure that does not happen. */ + sqlite3OsClose(pPager->jfd); + rc = sqlite3OsFileControl(fd, SQLITE_FCNTL_BEGIN_ATOMIC_WRITE, 0); + if( rc!=SQLITE_OK ) goto commit_phase_one_exit; + } rc = pager_write_pagelist(pPager,sqlite3PcacheDirtyList(pPager->pPCache)); + if( bBatch ){ + if( rc==SQLITE_OK ){ + rc = sqlite3OsFileControl(fd, SQLITE_FCNTL_COMMIT_ATOMIC_WRITE, 0); + }else{ + sqlite3OsFileControl(fd, SQLITE_FCNTL_ROLLBACK_ATOMIC_WRITE, 0); + } + } + if( rc!=SQLITE_OK ){ assert( rc!=SQLITE_IOERR_BLOCKED ); goto commit_phase_one_exit; @@ -52818,6 +54613,7 @@ SQLITE_PRIVATE int sqlite3PagerRollback(Pager *pPager){ */ pPager->errCode = SQLITE_ABORT; pPager->eState = PAGER_ERROR; + setGetterMethod(pPager); return rc; } }else{ @@ -53079,6 +54875,7 @@ SQLITE_PRIVATE int sqlite3PagerSavepoint(Pager *pPager, int op, int iSavepoint){ ){ pPager->errCode = SQLITE_ABORT; pPager->eState = PAGER_ERROR; + setGetterMethod(pPager); } #endif } @@ -53151,6 +54948,7 @@ SQLITE_PRIVATE void sqlite3PagerSetCodec( pPager->xCodecSizeChng = xCodecSizeChng; pPager->xCodecFree = xCodecFree; pPager->pCodec = pCodec; + setGetterMethod(pPager); pagerReportSize(pPager); } SQLITE_PRIVATE void *sqlite3PagerGetCodec(Pager *pPager){ @@ -53560,13 +55358,19 @@ SQLITE_PRIVATE void sqlite3PagerClearCache(Pager *pPager){ ** ** Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. */ -SQLITE_PRIVATE int sqlite3PagerCheckpoint(Pager *pPager, int eMode, int *pnLog, int *pnCkpt){ +SQLITE_PRIVATE int sqlite3PagerCheckpoint( + Pager *pPager, /* Checkpoint on this pager */ + sqlite3 *db, /* Db handle used to check for interrupts */ + int eMode, /* Type of checkpoint */ + int *pnLog, /* OUT: Final number of frames in log */ + int *pnCkpt /* OUT: Final number of checkpointed frames */ +){ int rc = SQLITE_OK; if( pPager->pWal ){ - rc = sqlite3WalCheckpoint(pPager->pWal, eMode, + rc = sqlite3WalCheckpoint(pPager->pWal, db, eMode, (eMode==SQLITE_CHECKPOINT_PASSIVE ? 0 : pPager->xBusyHandler), pPager->pBusyHandlerArg, - pPager->ckptSyncFlags, pPager->pageSize, (u8 *)pPager->pTmpSpace, + pPager->walSyncFlags, pPager->pageSize, (u8 *)pPager->pTmpSpace, pnLog, pnCkpt ); } @@ -53695,7 +55499,7 @@ SQLITE_PRIVATE int sqlite3PagerOpenWal( ** error (SQLITE_BUSY) is returned and the log connection is not closed. ** If successful, the EXCLUSIVE lock is not released before returning. */ -SQLITE_PRIVATE int sqlite3PagerCloseWal(Pager *pPager){ +SQLITE_PRIVATE int sqlite3PagerCloseWal(Pager *pPager, sqlite3 *db){ int rc = SQLITE_OK; assert( pPager->journalMode==PAGER_JOURNALMODE_WAL ); @@ -53723,7 +55527,7 @@ SQLITE_PRIVATE int sqlite3PagerCloseWal(Pager *pPager){ if( rc==SQLITE_OK && pPager->pWal ){ rc = pagerExclusiveLock(pPager); if( rc==SQLITE_OK ){ - rc = sqlite3WalClose(pPager->pWal, pPager->ckptSyncFlags, + rc = sqlite3WalClose(pPager->pWal, db, pPager->walSyncFlags, pPager->pageSize, (u8*)pPager->pTmpSpace); pPager->pWal = 0; pagerFixMaplimit(pPager); @@ -53760,6 +55564,20 @@ SQLITE_PRIVATE int sqlite3PagerSnapshotOpen(Pager *pPager, sqlite3_snapshot *pSn } return rc; } + +/* +** If this is a WAL database, call sqlite3WalSnapshotRecover(). If this +** is not a WAL database, return an error. +*/ +SQLITE_PRIVATE int sqlite3PagerSnapshotRecover(Pager *pPager){ + int rc; + if( pPager->pWal ){ + rc = sqlite3WalSnapshotRecover(pPager->pWal); + }else{ + rc = SQLITE_ERROR; + } + return rc; +} #endif /* SQLITE_ENABLE_SNAPSHOT */ #endif /* !SQLITE_OMIT_WAL */ @@ -53915,6 +55733,10 @@ SQLITE_PRIVATE int sqlite3PagerWalFramesize(Pager *pPager){ ** on a network filesystem. All users of the database must be able to ** share memory. ** +** In the default unix and windows implementation, the wal-index is a mmapped +** file whose name is the database name with a "-shm" suffix added. For that +** reason, the wal-index is sometimes called the "shm" file. +** ** The wal-index is transient. After a crash, the wal-index can (and should ** be) reconstructed from the original WAL file. In fact, the VFS is required ** to either truncate or zero the header of the wal-index when the last @@ -54054,9 +55876,18 @@ SQLITE_PRIVATE int sqlite3WalTrace = 0; #define WALINDEX_MAX_VERSION 3007000 /* -** Indices of various locking bytes. WAL_NREADER is the number +** Index numbers for various locking bytes. WAL_NREADER is the number ** of available reader locks and should be at least 3. The default ** is SQLITE_SHM_NLOCK==8 and WAL_NREADER==5. +** +** Technically, the various VFSes are free to implement these locks however +** they see fit. However, compatibility is encouraged so that VFSes can +** interoperate. The standard implemention used on both unix and windows +** is for the index number to indicate a byte offset into the +** WalCkptInfo.aLock[] array in the wal-index header. In other words, all +** locks are on the shm file. The WALINDEX_LOCK_OFFSET constant (which +** should be 120) is the location in the shm file for the first locking +** byte. */ #define WAL_WRITE_LOCK 0 #define WAL_ALL_BUT_WRITE 1 @@ -54180,7 +56011,6 @@ struct WalCkptInfo { #define WAL_FRAME_HDRSIZE 24 /* Size of write ahead log header, including checksum. */ -/* #define WAL_HDRSIZE 24 */ #define WAL_HDRSIZE 32 /* WAL magic value. Either this value, or the same value with the least @@ -54226,6 +56056,7 @@ struct Wal { u8 truncateOnCommit; /* True to truncate WAL file on commit */ u8 syncHeader; /* Fsync the WAL header if true */ u8 padToSectorBoundary; /* Pad transactions out to the next sector */ + u8 bShmUnreliable; /* SHM content is read-only and unreliable */ WalIndexHdr hdr; /* Wal-index header for current transaction */ u32 minFrame; /* Ignore wal frames before this one */ u32 iReCksum; /* On commit, recalculate checksums from here */ @@ -54315,6 +56146,11 @@ struct WalIterator { ** is broken into pages of WALINDEX_PGSZ bytes. Wal-index pages are ** numbered from zero. ** +** If the wal-index is currently smaller the iPage pages then the size +** of the wal-index might be increased, but only if it is safe to do +** so. It is safe to enlarge the wal-index if pWal->writeLock is true +** or pWal->exclusiveMode==WAL_HEAPMEMORY_MODE. +** ** If this call is successful, *ppPage is set to point to the wal-index ** page and SQLITE_OK is returned. If an error (an OOM or VFS error) occurs, ** then an SQLite error code is returned and *ppPage is set to 0. @@ -54346,9 +56182,13 @@ static int walIndexPage(Wal *pWal, int iPage, volatile u32 **ppPage){ rc = sqlite3OsShmMap(pWal->pDbFd, iPage, WALINDEX_PGSZ, pWal->writeLock, (void volatile **)&pWal->apWiData[iPage] ); - if( rc==SQLITE_READONLY ){ + assert( pWal->apWiData[iPage]!=0 || rc!=SQLITE_OK || pWal->writeLock==0 ); + testcase( pWal->apWiData[iPage]==0 && rc==SQLITE_OK ); + if( (rc&0xff)==SQLITE_READONLY ){ pWal->readOnly |= WAL_SHM_RDONLY; - rc = SQLITE_OK; + if( rc==SQLITE_READONLY ){ + rc = SQLITE_OK; + } } } } @@ -54870,7 +56710,6 @@ static int walIndexRecover(Wal *pWal){ i64 nSize; /* Size of log file */ u32 aFrameCksum[2] = {0, 0}; int iLock; /* Lock offset to lock for checkpoint */ - int nLock; /* Number of locks to hold */ /* Obtain an exclusive lock on all byte in the locking range not already ** locked by the caller. The caller is guaranteed to have locked the @@ -54883,11 +56722,17 @@ static int walIndexRecover(Wal *pWal){ assert( WAL_CKPT_LOCK==WAL_ALL_BUT_WRITE ); assert( pWal->writeLock ); iLock = WAL_ALL_BUT_WRITE + pWal->ckptLock; - nLock = SQLITE_SHM_NLOCK - iLock; - rc = walLockExclusive(pWal, iLock, nLock); + rc = walLockExclusive(pWal, iLock, WAL_READ_LOCK(0)-iLock); + if( rc==SQLITE_OK ){ + rc = walLockExclusive(pWal, WAL_READ_LOCK(1), WAL_NREADER-1); + if( rc!=SQLITE_OK ){ + walUnlockExclusive(pWal, iLock, WAL_READ_LOCK(0)-iLock); + } + } if( rc ){ return rc; } + WALTRACE(("WAL%p: recovery begin...\n", pWal)); memset(&pWal->hdr, 0, sizeof(WalIndexHdr)); @@ -55025,7 +56870,8 @@ static int walIndexRecover(Wal *pWal){ recovery_error: WALTRACE(("WAL%p: recovery %s\n", pWal, rc ? "failed" : "ok")); - walUnlockExclusive(pWal, iLock, nLock); + walUnlockExclusive(pWal, iLock, WAL_READ_LOCK(0)-iLock); + walUnlockExclusive(pWal, WAL_READ_LOCK(1), WAL_NREADER-1); return rc; } @@ -55033,13 +56879,14 @@ static int walIndexRecover(Wal *pWal){ ** Close an open wal-index. */ static void walIndexClose(Wal *pWal, int isDelete){ - if( pWal->exclusiveMode==WAL_HEAPMEMORY_MODE ){ + if( pWal->exclusiveMode==WAL_HEAPMEMORY_MODE || pWal->bShmUnreliable ){ int i; for(i=0; inWiData; i++){ sqlite3_free((void *)pWal->apWiData[i]); pWal->apWiData[i] = 0; } - }else{ + } + if( pWal->exclusiveMode!=WAL_HEAPMEMORY_MODE ){ sqlite3OsShmUnmap(pWal->pDbFd, isDelete); } } @@ -55506,6 +57353,7 @@ static void walRestartHdr(Wal *pWal, u32 salt1){ */ static int walCheckpoint( Wal *pWal, /* Wal connection */ + sqlite3 *db, /* Check for interrupts on this handle */ int eMode, /* One of PASSIVE, FULL or RESTART */ int (*xBusy)(void*), /* Function to call when busy */ void *pBusyArg, /* Context argument for xBusyHandler */ @@ -55580,9 +57428,7 @@ static int walCheckpoint( pInfo->nBackfillAttempted = mxSafeFrame; /* Sync the WAL to disk */ - if( sync_flags ){ - rc = sqlite3OsSync(pWal->pWalFd, sync_flags); - } + rc = sqlite3OsSync(pWal->pWalFd, CKPT_SYNC_FLAGS(sync_flags)); /* If the database may grow as a result of this checkpoint, hint ** about the eventual size of the db file to the VFS layer. @@ -55600,6 +57446,10 @@ static int walCheckpoint( while( rc==SQLITE_OK && 0==walIteratorNext(pIter, &iDbpage, &iFrame) ){ i64 iOffset; assert( walFramePgno(pWal, iFrame)==iDbpage ); + if( db->u1.isInterrupted ){ + rc = db->mallocFailed ? SQLITE_NOMEM_BKPT : SQLITE_INTERRUPT; + break; + } if( iFrame<=nBackfill || iFrame>mxSafeFrame || iDbpage>mxPage ){ continue; } @@ -55619,8 +57469,8 @@ static int walCheckpoint( i64 szDb = pWal->hdr.nPage*(i64)szPage; testcase( IS_BIG_INT(szDb) ); rc = sqlite3OsTruncate(pWal->pDbFd, szDb); - if( rc==SQLITE_OK && sync_flags ){ - rc = sqlite3OsSync(pWal->pDbFd, sync_flags); + if( rc==SQLITE_OK ){ + rc = sqlite3OsSync(pWal->pDbFd, CKPT_SYNC_FLAGS(sync_flags)); } } if( rc==SQLITE_OK ){ @@ -55704,6 +57554,7 @@ static void walLimitSize(Wal *pWal, i64 nMax){ */ SQLITE_PRIVATE int sqlite3WalClose( Wal *pWal, /* Wal to close */ + sqlite3 *db, /* For interrupt flag */ int sync_flags, /* Flags to pass to OsSync() (or 0) */ int nBuf, u8 *zBuf /* Buffer of at least nBuf bytes */ @@ -55720,13 +57571,14 @@ SQLITE_PRIVATE int sqlite3WalClose( ** ** The EXCLUSIVE lock is not released before returning. */ - rc = sqlite3OsLock(pWal->pDbFd, SQLITE_LOCK_EXCLUSIVE); - if( rc==SQLITE_OK ){ + if( zBuf!=0 + && SQLITE_OK==(rc = sqlite3OsLock(pWal->pDbFd, SQLITE_LOCK_EXCLUSIVE)) + ){ if( pWal->exclusiveMode==WAL_NORMAL_MODE ){ pWal->exclusiveMode = WAL_EXCLUSIVE_MODE; } - rc = sqlite3WalCheckpoint( - pWal, SQLITE_CHECKPOINT_PASSIVE, 0, 0, sync_flags, nBuf, zBuf, 0, 0 + rc = sqlite3WalCheckpoint(pWal, db, + SQLITE_CHECKPOINT_PASSIVE, 0, 0, sync_flags, nBuf, zBuf, 0, 0 ); if( rc==SQLITE_OK ){ int bPersist = -1; @@ -55827,6 +57679,12 @@ static int walIndexTryHdr(Wal *pWal, int *pChanged){ return 0; } +/* +** This is the value that walTryBeginRead returns when it needs to +** be retried. +*/ +#define WAL_RETRY (-1) + /* ** Read the wal-index header from the wal-index and into pWal->hdr. ** If the wal-header appears to be corrupt, try to reconstruct the @@ -55850,9 +57708,29 @@ static int walIndexReadHdr(Wal *pWal, int *pChanged){ assert( pChanged ); rc = walIndexPage(pWal, 0, &page0); if( rc!=SQLITE_OK ){ - return rc; - }; - assert( page0 || pWal->writeLock==0 ); + assert( rc!=SQLITE_READONLY ); /* READONLY changed to OK in walIndexPage */ + if( rc==SQLITE_READONLY_CANTINIT ){ + /* The SQLITE_READONLY_CANTINIT return means that the shared-memory + ** was openable but is not writable, and this thread is unable to + ** confirm that another write-capable connection has the shared-memory + ** open, and hence the content of the shared-memory is unreliable, + ** since the shared-memory might be inconsistent with the WAL file + ** and there is no writer on hand to fix it. */ + assert( page0==0 ); + assert( pWal->writeLock==0 ); + assert( pWal->readOnly & WAL_SHM_RDONLY ); + pWal->bShmUnreliable = 1; + pWal->exclusiveMode = WAL_HEAPMEMORY_MODE; + *pChanged = 1; + }else{ + return rc; /* Any other non-OK return is just an error */ + } + }else{ + /* page0 can be NULL if the SHM is zero bytes in size and pWal->writeLock + ** is zero, which prevents the SHM from growing */ + testcase( page0!=0 ); + } + assert( page0!=0 || pWal->writeLock==0 ); /* If the first page of the wal-index has been mapped, try to read the ** wal-index header immediately, without holding any lock. This usually @@ -55866,7 +57744,7 @@ static int walIndexReadHdr(Wal *pWal, int *pChanged){ */ assert( badHdr==0 || pWal->writeLock==0 ); if( badHdr ){ - if( pWal->readOnly & WAL_SHM_RDONLY ){ + if( pWal->bShmUnreliable==0 && (pWal->readOnly & WAL_SHM_RDONLY) ){ if( SQLITE_OK==(rc = walLockShared(pWal, WAL_WRITE_LOCK)) ){ walUnlockShared(pWal, WAL_WRITE_LOCK); rc = SQLITE_READONLY_RECOVERY; @@ -55896,15 +57774,193 @@ static int walIndexReadHdr(Wal *pWal, int *pChanged){ if( badHdr==0 && pWal->hdr.iVersion!=WALINDEX_MAX_VERSION ){ rc = SQLITE_CANTOPEN_BKPT; } + if( pWal->bShmUnreliable ){ + if( rc!=SQLITE_OK ){ + walIndexClose(pWal, 0); + pWal->bShmUnreliable = 0; + assert( pWal->nWiData>0 && pWal->apWiData[0]==0 ); + /* walIndexRecover() might have returned SHORT_READ if a concurrent + ** writer truncated the WAL out from under it. If that happens, it + ** indicates that a writer has fixed the SHM file for us, so retry */ + if( rc==SQLITE_IOERR_SHORT_READ ) rc = WAL_RETRY; + } + pWal->exclusiveMode = WAL_NORMAL_MODE; + } return rc; } /* -** This is the value that walTryBeginRead returns when it needs to -** be retried. +** Open a transaction in a connection where the shared-memory is read-only +** and where we cannot verify that there is a separate write-capable connection +** on hand to keep the shared-memory up-to-date with the WAL file. +** +** This can happen, for example, when the shared-memory is implemented by +** memory-mapping a *-shm file, where a prior writer has shut down and +** left the *-shm file on disk, and now the present connection is trying +** to use that database but lacks write permission on the *-shm file. +** Other scenarios are also possible, depending on the VFS implementation. +** +** Precondition: +** +** The *-wal file has been read and an appropriate wal-index has been +** constructed in pWal->apWiData[] using heap memory instead of shared +** memory. +** +** If this function returns SQLITE_OK, then the read transaction has +** been successfully opened. In this case output variable (*pChanged) +** is set to true before returning if the caller should discard the +** contents of the page cache before proceeding. Or, if it returns +** WAL_RETRY, then the heap memory wal-index has been discarded and +** the caller should retry opening the read transaction from the +** beginning (including attempting to map the *-shm file). +** +** If an error occurs, an SQLite error code is returned. */ -#define WAL_RETRY (-1) +static int walBeginShmUnreliable(Wal *pWal, int *pChanged){ + i64 szWal; /* Size of wal file on disk in bytes */ + i64 iOffset; /* Current offset when reading wal file */ + u8 aBuf[WAL_HDRSIZE]; /* Buffer to load WAL header into */ + u8 *aFrame = 0; /* Malloc'd buffer to load entire frame */ + int szFrame; /* Number of bytes in buffer aFrame[] */ + u8 *aData; /* Pointer to data part of aFrame buffer */ + volatile void *pDummy; /* Dummy argument for xShmMap */ + int rc; /* Return code */ + u32 aSaveCksum[2]; /* Saved copy of pWal->hdr.aFrameCksum */ + + assert( pWal->bShmUnreliable ); + assert( pWal->readOnly & WAL_SHM_RDONLY ); + assert( pWal->nWiData>0 && pWal->apWiData[0] ); + + /* Take WAL_READ_LOCK(0). This has the effect of preventing any + ** writers from running a checkpoint, but does not stop them + ** from running recovery. */ + rc = walLockShared(pWal, WAL_READ_LOCK(0)); + if( rc!=SQLITE_OK ){ + if( rc==SQLITE_BUSY ) rc = WAL_RETRY; + goto begin_unreliable_shm_out; + } + pWal->readLock = 0; + + /* Check to see if a separate writer has attached to the shared-memory area, + ** thus making the shared-memory "reliable" again. Do this by invoking + ** the xShmMap() routine of the VFS and looking to see if the return + ** is SQLITE_READONLY instead of SQLITE_READONLY_CANTINIT. + ** + ** If the shared-memory is now "reliable" return WAL_RETRY, which will + ** cause the heap-memory WAL-index to be discarded and the actual + ** shared memory to be used in its place. + ** + ** This step is important because, even though this connection is holding + ** the WAL_READ_LOCK(0) which prevents a checkpoint, a writer might + ** have already checkpointed the WAL file and, while the current + ** is active, wrap the WAL and start overwriting frames that this + ** process wants to use. + ** + ** Once sqlite3OsShmMap() has been called for an sqlite3_file and has + ** returned any SQLITE_READONLY value, it must return only SQLITE_READONLY + ** or SQLITE_READONLY_CANTINIT or some error for all subsequent invocations, + ** even if some external agent does a "chmod" to make the shared-memory + ** writable by us, until sqlite3OsShmUnmap() has been called. + ** This is a requirement on the VFS implementation. + */ + rc = sqlite3OsShmMap(pWal->pDbFd, 0, WALINDEX_PGSZ, 0, &pDummy); + assert( rc!=SQLITE_OK ); /* SQLITE_OK not possible for read-only connection */ + if( rc!=SQLITE_READONLY_CANTINIT ){ + rc = (rc==SQLITE_READONLY ? WAL_RETRY : rc); + goto begin_unreliable_shm_out; + } + + /* We reach this point only if the real shared-memory is still unreliable. + ** Assume the in-memory WAL-index substitute is correct and load it + ** into pWal->hdr. + */ + memcpy(&pWal->hdr, (void*)walIndexHdr(pWal), sizeof(WalIndexHdr)); + + /* Make sure some writer hasn't come in and changed the WAL file out + ** from under us, then disconnected, while we were not looking. + */ + rc = sqlite3OsFileSize(pWal->pWalFd, &szWal); + if( rc!=SQLITE_OK ){ + goto begin_unreliable_shm_out; + } + if( szWalhdr.mxFrame==0 ? SQLITE_OK : WAL_RETRY); + goto begin_unreliable_shm_out; + } + + /* Check the salt keys at the start of the wal file still match. */ + rc = sqlite3OsRead(pWal->pWalFd, aBuf, WAL_HDRSIZE, 0); + if( rc!=SQLITE_OK ){ + goto begin_unreliable_shm_out; + } + if( memcmp(&pWal->hdr.aSalt, &aBuf[16], 8) ){ + /* Some writer has wrapped the WAL file while we were not looking. + ** Return WAL_RETRY which will cause the in-memory WAL-index to be + ** rebuilt. */ + rc = WAL_RETRY; + goto begin_unreliable_shm_out; + } + + /* Allocate a buffer to read frames into */ + szFrame = pWal->hdr.szPage + WAL_FRAME_HDRSIZE; + aFrame = (u8 *)sqlite3_malloc64(szFrame); + if( aFrame==0 ){ + rc = SQLITE_NOMEM_BKPT; + goto begin_unreliable_shm_out; + } + aData = &aFrame[WAL_FRAME_HDRSIZE]; + + /* Check to see if a complete transaction has been appended to the + ** wal file since the heap-memory wal-index was created. If so, the + ** heap-memory wal-index is discarded and WAL_RETRY returned to + ** the caller. */ + aSaveCksum[0] = pWal->hdr.aFrameCksum[0]; + aSaveCksum[1] = pWal->hdr.aFrameCksum[1]; + for(iOffset=walFrameOffset(pWal->hdr.mxFrame+1, pWal->hdr.szPage); + iOffset+szFrame<=szWal; + iOffset+=szFrame + ){ + u32 pgno; /* Database page number for frame */ + u32 nTruncate; /* dbsize field from frame header */ + + /* Read and decode the next log frame. */ + rc = sqlite3OsRead(pWal->pWalFd, aFrame, szFrame, iOffset); + if( rc!=SQLITE_OK ) break; + if( !walDecodeFrame(pWal, &pgno, &nTruncate, aData, aFrame) ) break; + + /* If nTruncate is non-zero, then a complete transaction has been + ** appended to this wal file. Set rc to WAL_RETRY and break out of + ** the loop. */ + if( nTruncate ){ + rc = WAL_RETRY; + break; + } + } + pWal->hdr.aFrameCksum[0] = aSaveCksum[0]; + pWal->hdr.aFrameCksum[1] = aSaveCksum[1]; + + begin_unreliable_shm_out: + sqlite3_free(aFrame); + if( rc!=SQLITE_OK ){ + int i; + for(i=0; inWiData; i++){ + sqlite3_free((void*)pWal->apWiData[i]); + pWal->apWiData[i] = 0; + } + pWal->bShmUnreliable = 0; + sqlite3WalEndReadTransaction(pWal); + *pChanged = 1; + } + return rc; +} /* ** Attempt to start a read transaction. This might fail due to a race or @@ -55920,7 +57976,7 @@ static int walIndexReadHdr(Wal *pWal, int *pChanged){ ** checkpointed. If useWal==0 then this routine calls walIndexReadHdr() ** to make a copy of the wal-index header into pWal->hdr. If the ** wal-index header has changed, *pChanged is set to 1 (as an indication -** to the caller that the local paget cache is obsolete and needs to be +** to the caller that the local page cache is obsolete and needs to be ** flushed.) When useWal==1, the wal-index header is assumed to already ** be loaded and the pChanged parameter is unused. ** @@ -55966,6 +58022,9 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){ assert( pWal->readLock<0 ); /* Not currently locked */ + /* useWal may only be set for read/write connections */ + assert( (pWal->readOnly & WAL_SHM_RDONLY)==0 || useWal==0 ); + /* Take steps to avoid spinning forever if there is a protocol error. ** ** Circumstances that cause a RETRY should only last for the briefest @@ -55994,7 +58053,10 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){ } if( !useWal ){ - rc = walIndexReadHdr(pWal, pChanged); + assert( rc==SQLITE_OK ); + if( pWal->bShmUnreliable==0 ){ + rc = walIndexReadHdr(pWal, pChanged); + } if( rc==SQLITE_BUSY ){ /* If there is not a recovery running in another thread or process ** then convert BUSY errors to WAL_RETRY. If recovery is known to @@ -56023,13 +58085,17 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){ if( rc!=SQLITE_OK ){ return rc; } + else if( pWal->bShmUnreliable ){ + return walBeginShmUnreliable(pWal, pChanged); + } } + assert( pWal->nWiData>0 ); + assert( pWal->apWiData[0]!=0 ); pInfo = walCkptInfo(pWal); - if( !useWal && pInfo->nBackfill==pWal->hdr.mxFrame + if( !useWal && pInfo->nBackfill==pWal->hdr.mxFrame #ifdef SQLITE_ENABLE_SNAPSHOT - && (pWal->pSnapshot==0 || pWal->hdr.mxFrame==0 - || 0==memcmp(&pWal->hdr, pWal->pSnapshot, sizeof(WalIndexHdr))) + && (pWal->pSnapshot==0 || pWal->hdr.mxFrame==0) #endif ){ /* The WAL has been completely backfilled (or it is empty). @@ -56100,7 +58166,7 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){ } if( mxI==0 ){ assert( rc==SQLITE_BUSY || (pWal->readOnly & WAL_SHM_RDONLY)!=0 ); - return rc==SQLITE_BUSY ? WAL_RETRY : SQLITE_READONLY_CANTLOCK; + return rc==SQLITE_BUSY ? WAL_RETRY : SQLITE_READONLY_CANTINIT; } rc = walLockShared(pWal, WAL_READ_LOCK(mxI)); @@ -56155,6 +58221,84 @@ static int walTryBeginRead(Wal *pWal, int *pChanged, int useWal, int cnt){ return rc; } +#ifdef SQLITE_ENABLE_SNAPSHOT +/* +** Attempt to reduce the value of the WalCkptInfo.nBackfillAttempted +** variable so that older snapshots can be accessed. To do this, loop +** through all wal frames from nBackfillAttempted to (nBackfill+1), +** comparing their content to the corresponding page with the database +** file, if any. Set nBackfillAttempted to the frame number of the +** first frame for which the wal file content matches the db file. +** +** This is only really safe if the file-system is such that any page +** writes made by earlier checkpointers were atomic operations, which +** is not always true. It is also possible that nBackfillAttempted +** may be left set to a value larger than expected, if a wal frame +** contains content that duplicate of an earlier version of the same +** page. +** +** SQLITE_OK is returned if successful, or an SQLite error code if an +** error occurs. It is not an error if nBackfillAttempted cannot be +** decreased at all. +*/ +SQLITE_PRIVATE int sqlite3WalSnapshotRecover(Wal *pWal){ + int rc; + + assert( pWal->readLock>=0 ); + rc = walLockExclusive(pWal, WAL_CKPT_LOCK, 1); + if( rc==SQLITE_OK ){ + volatile WalCkptInfo *pInfo = walCkptInfo(pWal); + int szPage = (int)pWal->szPage; + i64 szDb; /* Size of db file in bytes */ + + rc = sqlite3OsFileSize(pWal->pDbFd, &szDb); + if( rc==SQLITE_OK ){ + void *pBuf1 = sqlite3_malloc(szPage); + void *pBuf2 = sqlite3_malloc(szPage); + if( pBuf1==0 || pBuf2==0 ){ + rc = SQLITE_NOMEM; + }else{ + u32 i = pInfo->nBackfillAttempted; + for(i=pInfo->nBackfillAttempted; i>pInfo->nBackfill; i--){ + volatile ht_slot *dummy; + volatile u32 *aPgno; /* Array of page numbers */ + u32 iZero; /* Frame corresponding to aPgno[0] */ + u32 pgno; /* Page number in db file */ + i64 iDbOff; /* Offset of db file entry */ + i64 iWalOff; /* Offset of wal file entry */ + + rc = walHashGet(pWal, walFramePage(i), &dummy, &aPgno, &iZero); + if( rc!=SQLITE_OK ) break; + pgno = aPgno[i-iZero]; + iDbOff = (i64)(pgno-1) * szPage; + + if( iDbOff+szPage<=szDb ){ + iWalOff = walFrameOffset(i, szPage) + WAL_FRAME_HDRSIZE; + rc = sqlite3OsRead(pWal->pWalFd, pBuf1, szPage, iWalOff); + + if( rc==SQLITE_OK ){ + rc = sqlite3OsRead(pWal->pDbFd, pBuf2, szPage, iDbOff); + } + + if( rc!=SQLITE_OK || 0==memcmp(pBuf1, pBuf2, szPage) ){ + break; + } + } + + pInfo->nBackfillAttempted = i-1; + } + } + + sqlite3_free(pBuf1); + sqlite3_free(pBuf2); + } + walUnlockExclusive(pWal, WAL_CKPT_LOCK, 1); + } + + return rc; +} +#endif /* SQLITE_ENABLE_SNAPSHOT */ + /* ** Begin a read transaction on the database. ** @@ -56217,7 +58361,11 @@ SQLITE_PRIVATE int sqlite3WalBeginReadTransaction(Wal *pWal, int *pChanged){ ** has not yet set the pInfo->nBackfillAttempted variable to indicate ** its intent. To avoid the race condition this leads to, ensure that ** there is no checkpointer process by taking a shared CKPT lock - ** before checking pInfo->nBackfillAttempted. */ + ** before checking pInfo->nBackfillAttempted. + ** + ** TODO: Does the aReadMark[] lock prevent a checkpointer from doing + ** this already? + */ rc = walLockShared(pWal, WAL_CKPT_LOCK); if( rc==SQLITE_OK ){ @@ -56290,7 +58438,7 @@ SQLITE_PRIVATE int sqlite3WalFindFrame( ** then the WAL is ignored by the reader so return early, as if the ** WAL were empty. */ - if( iLast==0 || pWal->readLock==0 ){ + if( iLast==0 || (pWal->readLock==0 && pWal->bShmUnreliable==0) ){ *piRead = 0; return SQLITE_OK; } @@ -56353,8 +58501,8 @@ SQLITE_PRIVATE int sqlite3WalFindFrame( { u32 iRead2 = 0; u32 iTest; - assert( pWal->minFrame>0 ); - for(iTest=iLast; iTest>=pWal->minFrame; iTest--){ + assert( pWal->bShmUnreliable || pWal->minFrame>0 ); + for(iTest=iLast; iTest>=pWal->minFrame && iTest>0; iTest--){ if( walFramePgno(pWal, iTest)==pgno ){ iRead2 = iTest; break; @@ -56642,8 +58790,8 @@ static int walWriteToLog( iOffset += iFirstAmt; iAmt -= iFirstAmt; pContent = (void*)(iFirstAmt + (char*)pContent); - assert( p->syncFlags & (SQLITE_SYNC_NORMAL|SQLITE_SYNC_FULL) ); - rc = sqlite3OsSync(p->pFd, p->syncFlags & SQLITE_SYNC_MASK); + assert( WAL_SYNC_FLAGS(p->syncFlags)!=0 ); + rc = sqlite3OsSync(p->pFd, WAL_SYNC_FLAGS(p->syncFlags)); if( iAmt==0 || rc ) return rc; } rc = sqlite3OsWrite(p->pFd, pContent, iAmt, iOffset); @@ -56813,10 +58961,10 @@ SQLITE_PRIVATE int sqlite3WalFrames( ** an out-of-order write following a WAL restart could result in ** database corruption. See the ticket: ** - ** http://localhost:591/sqlite/info/ff5be73dee + ** https://sqlite.org/src/info/ff5be73dee */ - if( pWal->syncHeader && sync_flags ){ - rc = sqlite3OsSync(pWal->pWalFd, sync_flags & SQLITE_SYNC_MASK); + if( pWal->syncHeader ){ + rc = sqlite3OsSync(pWal->pWalFd, CKPT_SYNC_FLAGS(sync_flags)); if( rc ) return rc; } } @@ -56891,7 +59039,7 @@ SQLITE_PRIVATE int sqlite3WalFrames( ** sector boundary is synced; the part of the last frame that extends ** past the sector boundary is written after the sync. */ - if( isCommit && (sync_flags & WAL_SYNC_TRANSACTIONS)!=0 ){ + if( isCommit && WAL_SYNC_FLAGS(sync_flags)!=0 ){ int bSync = 1; if( pWal->padToSectorBoundary ){ int sectorSize = sqlite3SectorSize(pWal->pWalFd); @@ -56907,7 +59055,7 @@ SQLITE_PRIVATE int sqlite3WalFrames( } if( bSync ){ assert( rc==SQLITE_OK ); - rc = sqlite3OsSync(w.pFd, sync_flags & SQLITE_SYNC_MASK); + rc = sqlite3OsSync(w.pFd, WAL_SYNC_FLAGS(sync_flags)); } } @@ -56974,6 +59122,7 @@ SQLITE_PRIVATE int sqlite3WalFrames( */ SQLITE_PRIVATE int sqlite3WalCheckpoint( Wal *pWal, /* Wal connection */ + sqlite3 *db, /* Check this handle's interrupt flag */ int eMode, /* PASSIVE, FULL, RESTART, or TRUNCATE */ int (*xBusy)(void*), /* Function to call when busy */ void *pBusyArg, /* Context argument for xBusyHandler */ @@ -57048,7 +59197,7 @@ SQLITE_PRIVATE int sqlite3WalCheckpoint( if( pWal->hdr.mxFrame && walPagesize(pWal)!=nBuf ){ rc = SQLITE_CORRUPT_BKPT; }else{ - rc = walCheckpoint(pWal, eMode2, xBusy2, pBusyArg, sync_flags, zBuf); + rc = walCheckpoint(pWal, db, eMode2, xBusy2, pBusyArg, sync_flags, zBuf); } /* If no error occurred, set the output variables. */ @@ -57129,24 +59278,24 @@ SQLITE_PRIVATE int sqlite3WalExclusiveMode(Wal *pWal, int op){ assert( pWal->readLock>=0 || (op<=0 && pWal->exclusiveMode==0) ); if( op==0 ){ - if( pWal->exclusiveMode ){ - pWal->exclusiveMode = 0; + if( pWal->exclusiveMode!=WAL_NORMAL_MODE ){ + pWal->exclusiveMode = WAL_NORMAL_MODE; if( walLockShared(pWal, WAL_READ_LOCK(pWal->readLock))!=SQLITE_OK ){ - pWal->exclusiveMode = 1; + pWal->exclusiveMode = WAL_EXCLUSIVE_MODE; } - rc = pWal->exclusiveMode==0; + rc = pWal->exclusiveMode==WAL_NORMAL_MODE; }else{ /* Already in locking_mode=NORMAL */ rc = 0; } }else if( op>0 ){ - assert( pWal->exclusiveMode==0 ); + assert( pWal->exclusiveMode==WAL_NORMAL_MODE ); assert( pWal->readLock>=0 ); walUnlockShared(pWal, WAL_READ_LOCK(pWal->readLock)); - pWal->exclusiveMode = 1; + pWal->exclusiveMode = WAL_EXCLUSIVE_MODE; rc = 1; }else{ - rc = pWal->exclusiveMode==0; + rc = pWal->exclusiveMode==WAL_NORMAL_MODE; } return rc; } @@ -57168,9 +59317,14 @@ SQLITE_PRIVATE int sqlite3WalHeapMemory(Wal *pWal){ SQLITE_PRIVATE int sqlite3WalSnapshotGet(Wal *pWal, sqlite3_snapshot **ppSnapshot){ int rc = SQLITE_OK; WalIndexHdr *pRet; + static const u32 aZero[4] = { 0, 0, 0, 0 }; assert( pWal->readLock>=0 && pWal->writeLock==0 ); + if( memcmp(&pWal->hdr.aFrameCksum[0],aZero,16)==0 ){ + *ppSnapshot = 0; + return SQLITE_ERROR; + } pRet = (WalIndexHdr*)sqlite3_malloc(sizeof(WalIndexHdr)); if( pRet==0 ){ rc = SQLITE_NOMEM_BKPT; @@ -57508,37 +59662,39 @@ typedef struct CellInfo CellInfo; #define PTF_LEAF 0x08 /* -** As each page of the file is loaded into memory, an instance of the following -** structure is appended and initialized to zero. This structure stores -** information about the page that is decoded from the raw file page. +** An instance of this object stores information about each a single database +** page that has been loaded into memory. The information in this object +** is derived from the raw on-disk page content. ** -** The pParent field points back to the parent page. This allows us to -** walk up the BTree from any leaf to the root. Care must be taken to -** unref() the parent page pointer when this page is no longer referenced. -** The pageDestructor() routine handles that chore. +** As each database page is loaded into memory, the pager allocats an +** instance of this object and zeros the first 8 bytes. (This is the +** "extra" information associated with each page of the pager.) ** ** Access to all fields of this structure is controlled by the mutex ** stored in MemPage.pBt->mutex. */ struct MemPage { u8 isInit; /* True if previously initialized. MUST BE FIRST! */ - u8 nOverflow; /* Number of overflow cell bodies in aCell[] */ + u8 bBusy; /* Prevent endless loops on corrupt database files */ u8 intKey; /* True if table b-trees. False for index b-trees */ u8 intKeyLeaf; /* True if the leaf of an intKey table */ + Pgno pgno; /* Page number for this page */ + /* Only the first 8 bytes (above) are zeroed by pager.c when a new page + ** is allocated. All fields that follow must be initialized before use */ u8 leaf; /* True if a leaf page */ u8 hdrOffset; /* 100 for page 1. 0 otherwise */ u8 childPtrSize; /* 0 if leaf==1. 4 if leaf==0 */ u8 max1bytePayload; /* min(maxLocal,127) */ - u8 bBusy; /* Prevent endless loops on corrupt database files */ + u8 nOverflow; /* Number of overflow cell bodies in aCell[] */ u16 maxLocal; /* Copy of BtShared.maxLocal or BtShared.maxLeaf */ u16 minLocal; /* Copy of BtShared.minLocal or BtShared.minLeaf */ u16 cellOffset; /* Index in aData of first cell pointer */ u16 nFree; /* Number of free bytes on the page */ u16 nCell; /* Number of cells on this page, local and ovfl */ u16 maskPage; /* Mask for page offset */ - u16 aiOvfl[5]; /* Insert the i-th overflow cell before the aiOvfl-th + u16 aiOvfl[4]; /* Insert the i-th overflow cell before the aiOvfl-th ** non-overflow cell */ - u8 *apOvfl[5]; /* Pointers to the body of overflow cells */ + u8 *apOvfl[4]; /* Pointers to the body of overflow cells */ BtShared *pBt; /* Pointer to BtShared that this page is part of */ u8 *aData; /* Pointer to disk image of the page data */ u8 *aDataEnd; /* One byte past the end of usable data */ @@ -57547,16 +59703,8 @@ struct MemPage { DbPage *pDbPage; /* Pager page handle */ u16 (*xCellSize)(MemPage*,u8*); /* cellSizePtr method */ void (*xParseCell)(MemPage*,u8*,CellInfo*); /* btreeParseCell method */ - Pgno pgno; /* Page number for this page */ }; -/* -** The in-memory image of a disk page has the auxiliary information appended -** to the end. EXTRA_SIZE is the number of bytes of space needed to hold -** that extra information. -*/ -#define EXTRA_SIZE sizeof(MemPage) - /* ** A linked list of the following structures is stored at BtShared.pLock. ** Locks are added (or upgraded from READ_LOCK to WRITE_LOCK) when a cursor @@ -57703,10 +59851,12 @@ struct BtShared { #define BTS_READ_ONLY 0x0001 /* Underlying file is readonly */ #define BTS_PAGESIZE_FIXED 0x0002 /* Page size can no longer be changed */ #define BTS_SECURE_DELETE 0x0004 /* PRAGMA secure_delete is enabled */ -#define BTS_INITIALLY_EMPTY 0x0008 /* Database was empty at trans start */ -#define BTS_NO_WAL 0x0010 /* Do not open write-ahead-log files */ -#define BTS_EXCLUSIVE 0x0020 /* pWriter has an exclusive lock */ -#define BTS_PENDING 0x0040 /* Waiting for read-locks to clear */ +#define BTS_OVERWRITE 0x0008 /* Overwrite deleted content with zeros */ +#define BTS_FAST_SECURE 0x000c /* Combination of the previous two */ +#define BTS_INITIALLY_EMPTY 0x0010 /* Database was empty at trans start */ +#define BTS_NO_WAL 0x0020 /* Do not open write-ahead-log files */ +#define BTS_EXCLUSIVE 0x0040 /* pWriter has an exclusive lock */ +#define BTS_PENDING 0x0080 /* Waiting for read-locks to clear */ /* ** An instance of the following structure is used to hold information @@ -57752,6 +59902,11 @@ struct CellInfo { ** eState==FAULT: Cursor fault with skipNext as error code. */ struct BtCursor { + u8 eState; /* One of the CURSOR_XXX constants (see below) */ + u8 curFlags; /* zero or more BTCF_* flags defined below */ + u8 curPagerFlags; /* Flags to send to sqlite3PagerGet() */ + u8 hints; /* As configured by CursorSetHints() */ + int nOvflAlloc; /* Allocated size of aOverflow[] array */ Btree *pBtree; /* The Btree to which this cursor belongs */ BtShared *pBt; /* The BtShared this cursor points to */ BtCursor *pNext; /* Forms a linked list of all cursors */ @@ -57760,22 +59915,18 @@ struct BtCursor { i64 nKey; /* Size of pKey, or last integer key */ void *pKey; /* Saved key that was cursor last known position */ Pgno pgnoRoot; /* The root page of this tree */ - int nOvflAlloc; /* Allocated size of aOverflow[] array */ int skipNext; /* Prev() is noop if negative. Next() is noop if positive. ** Error code if eState==CURSOR_FAULT */ - u8 curFlags; /* zero or more BTCF_* flags defined below */ - u8 curPagerFlags; /* Flags to send to sqlite3PagerGet() */ - u8 eState; /* One of the CURSOR_XXX constants (see below) */ - u8 hints; /* As configured by CursorSetHints() */ /* All fields above are zeroed when the cursor is allocated. See ** sqlite3BtreeCursorZero(). Fields that follow must be manually ** initialized. */ i8 iPage; /* Index of current page in apPage */ u8 curIntKey; /* Value of apPage[0]->intKey */ - struct KeyInfo *pKeyInfo; /* Argument passed to comparison function */ - void *padding1; /* Make object size a multiple of 16 */ - u16 aiIdx[BTCURSOR_MAX_DEPTH]; /* Current index in apPage[i] */ - MemPage *apPage[BTCURSOR_MAX_DEPTH]; /* Pages from root to current page */ + u16 ix; /* Current index for apPage[iPage] */ + u16 aiIdx[BTCURSOR_MAX_DEPTH-1]; /* Current index in apPage[i] */ + struct KeyInfo *pKeyInfo; /* Arg passed to comparison function */ + MemPage *pPage; /* Current page */ + MemPage *apPage[BTCURSOR_MAX_DEPTH-1]; /* Stack of parents of current page */ }; /* @@ -57947,11 +60098,9 @@ struct IntegrityCk { */ #if SQLITE_BYTEORDER==4321 # define get2byteAligned(x) (*(u16*)(x)) -#elif SQLITE_BYTEORDER==1234 && !defined(SQLITE_DISABLE_INTRINSIC) \ - && GCC_VERSION>=4008000 +#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4008000 # define get2byteAligned(x) __builtin_bswap16(*(u16*)(x)) -#elif SQLITE_BYTEORDER==1234 && !defined(SQLITE_DISABLE_INTRINSIC) \ - && defined(_MSC_VER) && _MSC_VER>=1300 +#elif SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 # define get2byteAligned(x) _byteswap_ushort(*(u16*)(x)) #else # define get2byteAligned(x) ((x)[0]<<8 | (x)[1]) @@ -58126,16 +60275,24 @@ SQLITE_PRIVATE int sqlite3BtreeHoldsMutex(Btree *p){ ** two or more btrees in common both try to lock all their btrees ** at the same instant. */ -SQLITE_PRIVATE void sqlite3BtreeEnterAll(sqlite3 *db){ +static void SQLITE_NOINLINE btreeEnterAll(sqlite3 *db){ int i; + int skipOk = 1; Btree *p; assert( sqlite3_mutex_held(db->mutex) ); for(i=0; inDb; i++){ p = db->aDb[i].pBt; - if( p ) sqlite3BtreeEnter(p); + if( p && p->sharable ){ + sqlite3BtreeEnter(p); + skipOk = 0; + } } + db->skipBtreeMutex = skipOk; } -SQLITE_PRIVATE void sqlite3BtreeLeaveAll(sqlite3 *db){ +SQLITE_PRIVATE void sqlite3BtreeEnterAll(sqlite3 *db){ + if( db->skipBtreeMutex==0 ) btreeEnterAll(db); +} +static void SQLITE_NOINLINE btreeLeaveAll(sqlite3 *db){ int i; Btree *p; assert( sqlite3_mutex_held(db->mutex) ); @@ -58144,6 +60301,9 @@ SQLITE_PRIVATE void sqlite3BtreeLeaveAll(sqlite3 *db){ if( p ) sqlite3BtreeLeave(p); } } +SQLITE_PRIVATE void sqlite3BtreeLeaveAll(sqlite3 *db){ + if( db->skipBtreeMutex==0 ) btreeLeaveAll(db); +} #ifndef NDEBUG /* @@ -58355,6 +60515,34 @@ SQLITE_API int sqlite3_enable_shared_cache(int enable){ #define hasReadConflicts(a, b) 0 #endif +/* +** Implementation of the SQLITE_CORRUPT_PAGE() macro. Takes a single +** (MemPage*) as an argument. The (MemPage*) must not be NULL. +** +** If SQLITE_DEBUG is not defined, then this macro is equivalent to +** SQLITE_CORRUPT_BKPT. Or, if SQLITE_DEBUG is set, then the log message +** normally produced as a side-effect of SQLITE_CORRUPT_BKPT is augmented +** with the page number and filename associated with the (MemPage*). +*/ +#ifdef SQLITE_DEBUG +int corruptPageError(int lineno, MemPage *p){ + char *zMsg; + sqlite3BeginBenignMalloc(); + zMsg = sqlite3_mprintf("database corruption page %d of %s", + (int)p->pgno, sqlite3PagerFilename(p->pBt->pPager, 0) + ); + sqlite3EndBenignMalloc(); + if( zMsg ){ + sqlite3ReportError(SQLITE_CORRUPT, lineno, zMsg); + } + sqlite3_free(zMsg); + return SQLITE_CORRUPT_BKPT; +} +# define SQLITE_CORRUPT_PAGE(pMemPage) corruptPageError(__LINE__, pMemPage) +#else +# define SQLITE_CORRUPT_PAGE(pMemPage) SQLITE_CORRUPT_PGNO(pMemPage->pgno) +#endif + #ifndef SQLITE_OMIT_SHARED_CACHE #ifdef SQLITE_DEBUG @@ -58395,7 +60583,7 @@ static int hasSharedCacheTableLock( ** Return true immediately. */ if( (pBtree->sharable==0) - || (eLockType==READ_LOCK && (pBtree->db->flags & SQLITE_ReadUncommitted)) + || (eLockType==READ_LOCK && (pBtree->db->flags & SQLITE_ReadUncommit)) ){ return 1; } @@ -58472,7 +60660,7 @@ static int hasReadConflicts(Btree *pBtree, Pgno iRoot){ for(p=pBtree->pBt->pCursor; p; p=p->pNext){ if( p->pgnoRoot==iRoot && p->pBtree!=pBtree - && 0==(p->pBtree->db->flags & SQLITE_ReadUncommitted) + && 0==(p->pBtree->db->flags & SQLITE_ReadUncommit) ){ return 1; } @@ -58494,7 +60682,7 @@ static int querySharedCacheTableLock(Btree *p, Pgno iTab, u8 eLock){ assert( sqlite3BtreeHoldsMutex(p) ); assert( eLock==READ_LOCK || eLock==WRITE_LOCK ); assert( p->db!=0 ); - assert( !(p->db->flags&SQLITE_ReadUncommitted)||eLock==WRITE_LOCK||iTab==1 ); + assert( !(p->db->flags&SQLITE_ReadUncommit)||eLock==WRITE_LOCK||iTab==1 ); /* If requesting a write-lock, then the Btree must have an open write ** transaction on this file. And, obviously, for this to be so there @@ -58572,7 +60760,7 @@ static int setSharedCacheTableLock(Btree *p, Pgno iTable, u8 eLock){ ** obtain a read-lock using this function. The only read-lock obtained ** by a connection in read-uncommitted mode is on the sqlite_master ** table, and that lock is obtained in BtreeBeginTrans(). */ - assert( 0==(p->db->flags&SQLITE_ReadUncommitted) || eLock==WRITE_LOCK ); + assert( 0==(p->db->flags&SQLITE_ReadUncommit) || eLock==WRITE_LOCK ); /* This function should only be called on a sharable b-tree after it ** has been determined that no other b-tree holds a conflicting lock. */ @@ -58682,7 +60870,9 @@ static void downgradeAllSharedCacheTableLocks(Btree *p){ #endif /* SQLITE_OMIT_SHARED_CACHE */ -static void releasePage(MemPage *pPage); /* Forward reference */ +static void releasePage(MemPage *pPage); /* Forward reference */ +static void releasePageOne(MemPage *pPage); /* Forward reference */ +static void releasePageNotNull(MemPage *pPage); /* Forward reference */ /* ***** This routine is used inside of assert() only **** @@ -58742,6 +60932,7 @@ static void invalidateAllOverflowCache(BtShared *pBt){ */ static void invalidateIncrblobCursors( Btree *pBtree, /* The database file to check */ + Pgno pgnoRoot, /* The table that might be changing */ i64 iRow, /* The rowid that might be changing */ int isClearTable /* True if all rows are being deleted */ ){ @@ -58752,7 +60943,7 @@ static void invalidateIncrblobCursors( for(p=pBtree->pBt->pCursor; p; p=p->pNext){ if( (p->curFlags & BTCF_Incrblob)!=0 ){ pBtree->hasIncrblobCur = 1; - if( isClearTable || p->info.nKey==iRow ){ + if( p->pgnoRoot==pgnoRoot && (isClearTable || p->info.nKey==iRow) ){ p->eState = CURSOR_INVALID; } } @@ -58761,7 +60952,7 @@ static void invalidateIncrblobCursors( #else /* Stub function when INCRBLOB is omitted */ - #define invalidateIncrblobCursors(x,y,z) + #define invalidateIncrblobCursors(w,x,y,z) #endif /* SQLITE_OMIT_INCRBLOB */ /* @@ -58840,11 +61031,13 @@ static void btreeClearHasContent(BtShared *pBt){ */ static void btreeReleaseAllCursorPages(BtCursor *pCur){ int i; - for(i=0; i<=pCur->iPage; i++){ - releasePage(pCur->apPage[i]); - pCur->apPage[i] = 0; + if( pCur->iPage>=0 ){ + for(i=0; iiPage; i++){ + releasePageNotNull(pCur->apPage[i]); + } + releasePageNotNull(pCur->pPage); + pCur->iPage = -1; } - pCur->iPage = -1; } /* @@ -58875,7 +61068,7 @@ static int saveCursorKey(BtCursor *pCur){ pCur->nKey = sqlite3BtreePayloadSize(pCur); pKey = sqlite3Malloc( pCur->nKey ); if( pKey ){ - rc = sqlite3BtreeKey(pCur, 0, (int)pCur->nKey, pKey); + rc = sqlite3BtreePayload(pCur, 0, (int)pCur->nKey, pKey); if( rc==SQLITE_OK ){ pCur->pKey = pKey; }else{ @@ -58973,7 +61166,7 @@ static int SQLITE_NOINLINE saveCursorsOnList( return rc; } }else{ - testcase( p->iPage>0 ); + testcase( p->iPage>=0 ); btreeReleaseAllCursorPages(p); } } @@ -59006,26 +61199,23 @@ static int btreeMoveto( ){ int rc; /* Status code */ UnpackedRecord *pIdxKey; /* Unpacked index key */ - char aSpace[384]; /* Temp space for pIdxKey - to avoid a malloc */ - char *pFree = 0; if( pKey ){ assert( nKey==(i64)(int)nKey ); - pIdxKey = sqlite3VdbeAllocUnpackedRecord( - pCur->pKeyInfo, aSpace, sizeof(aSpace), &pFree - ); + pIdxKey = sqlite3VdbeAllocUnpackedRecord(pCur->pKeyInfo); if( pIdxKey==0 ) return SQLITE_NOMEM_BKPT; sqlite3VdbeRecordUnpack(pCur->pKeyInfo, (int)nKey, pKey, pIdxKey); if( pIdxKey->nField==0 ){ - sqlite3DbFree(pCur->pKeyInfo->db, pFree); - return SQLITE_CORRUPT_BKPT; + rc = SQLITE_CORRUPT_BKPT; + goto moveto_done; } }else{ pIdxKey = 0; } rc = sqlite3BtreeMovetoUnpacked(pCur, pIdxKey, nKey, bias, pRes); - if( pFree ){ - sqlite3DbFree(pCur->pKeyInfo->db, pFree); +moveto_done: + if( pIdxKey ){ + sqlite3DbFree(pCur->pKeyInfo->db, pIdxKey); } return rc; } @@ -59080,6 +61270,17 @@ SQLITE_PRIVATE int sqlite3BtreeCursorHasMoved(BtCursor *pCur){ return pCur->eState!=CURSOR_VALID; } +/* +** Return a pointer to a fake BtCursor object that will always answer +** false to the sqlite3BtreeCursorHasMoved() routine above. The fake +** cursor returned must not be used with any other Btree interface. +*/ +SQLITE_PRIVATE BtCursor *sqlite3BtreeFakeValidCursor(void){ + static u8 fakeCursor = CURSOR_VALID; + assert( offsetof(BtCursor, eState)==0 ); + return (BtCursor*)&fakeCursor; +} + /* ** This routine restores a cursor back to its original position after it ** has been moved by some outside activity (such as a btree rebalance or @@ -59245,7 +61446,7 @@ static int ptrmapGet(BtShared *pBt, Pgno key, u8 *pEType, Pgno *pPgno){ if( pPgno ) *pPgno = get4byte(&pPtrmap[offset+1]); sqlite3PagerUnref(pDbPage); - if( *pEType<1 || *pEType>5 ) return SQLITE_CORRUPT_BKPT; + if( *pEType<1 || *pEType>5 ) return SQLITE_CORRUPT_PGNO(iPtrmap); return SQLITE_OK; } @@ -59563,17 +61764,18 @@ static void ptrmapPutOvflPtr(MemPage *pPage, u8 *pCell, int *pRC){ /* -** Defragment the page given. All Cells are moved to the -** end of the page and all free space is collected into one -** big FreeBlk that occurs in between the header and cell -** pointer array and the cell content area. +** Defragment the page given. This routine reorganizes cells within the +** page so that there are no free-blocks on the free-block list. +** +** Parameter nMaxFrag is the maximum amount of fragmented space that may be +** present in the page after this routine returns. ** ** EVIDENCE-OF: R-44582-60138 SQLite may from time to time reorganize a ** b-tree page so that there are no freeblocks or fragment bytes, all ** unused bytes are contained in the unallocated space region, and all ** cells are packed tightly at the end of the page. */ -static int defragmentPage(MemPage *pPage){ +static int defragmentPage(MemPage *pPage, int nMaxFrag){ int i; /* Loop counter */ int pc; /* Address of the i-th cell */ int hdr; /* Offset to the page header */ @@ -59588,7 +61790,6 @@ static int defragmentPage(MemPage *pPage){ int iCellFirst; /* First allowable cell index */ int iCellLast; /* Last possible cell index */ - assert( sqlite3PagerIswriteable(pPage->pDbPage) ); assert( pPage->pBt!=0 ); assert( pPage->pBt->usableSize <= SQLITE_MAX_PAGE_SIZE ); @@ -59600,9 +61801,59 @@ static int defragmentPage(MemPage *pPage){ cellOffset = pPage->cellOffset; nCell = pPage->nCell; assert( nCell==get2byte(&data[hdr+3]) ); + iCellFirst = cellOffset + 2*nCell; usableSize = pPage->pBt->usableSize; + + /* This block handles pages with two or fewer free blocks and nMaxFrag + ** or fewer fragmented bytes. In this case it is faster to move the + ** two (or one) blocks of cells using memmove() and add the required + ** offsets to each pointer in the cell-pointer array than it is to + ** reconstruct the entire page. */ + if( (int)data[hdr+7]<=nMaxFrag ){ + int iFree = get2byte(&data[hdr+1]); + if( iFree ){ + int iFree2 = get2byte(&data[iFree]); + + /* pageFindSlot() has already verified that free blocks are sorted + ** in order of offset within the page, and that no block extends + ** past the end of the page. Provided the two free slots do not + ** overlap, this guarantees that the memmove() calls below will not + ** overwrite the usableSize byte buffer, even if the database page + ** is corrupt. */ + assert( iFree2==0 || iFree2>iFree ); + assert( iFree+get2byte(&data[iFree+2]) <= usableSize ); + assert( iFree2==0 || iFree2+get2byte(&data[iFree2+2]) <= usableSize ); + + if( 0==iFree2 || (data[iFree2]==0 && data[iFree2+1]==0) ){ + u8 *pEnd = &data[cellOffset + nCell*2]; + u8 *pAddr; + int sz2 = 0; + int sz = get2byte(&data[iFree+2]); + int top = get2byte(&data[hdr+5]); + if( top>=iFree ){ + return SQLITE_CORRUPT_PAGE(pPage); + } + if( iFree2 ){ + assert( iFree+sz<=iFree2 ); /* Verified by pageFindSlot() */ + sz2 = get2byte(&data[iFree2+2]); + assert( iFree+sz+sz2+iFree2-(iFree+sz) <= usableSize ); + memmove(&data[iFree+sz+sz2], &data[iFree+sz], iFree2-(iFree+sz)); + sz += sz2; + } + cbrk = top+sz; + assert( cbrk+(iFree-top) <= usableSize ); + memmove(&data[cbrk], &data[top], iFree-top); + for(pAddr=&data[cellOffset]; pAddriCellLast ){ - return SQLITE_CORRUPT_BKPT; + return SQLITE_CORRUPT_PAGE(pPage); } assert( pc>=iCellFirst && pc<=iCellLast ); size = pPage->xCellSize(pPage, &src[pc]); cbrk -= size; if( cbrkusableSize ){ - return SQLITE_CORRUPT_BKPT; + return SQLITE_CORRUPT_PAGE(pPage); } assert( cbrk+size<=usableSize && cbrk>=iCellFirst ); testcase( cbrk+size==usableSize ); @@ -59636,16 +61887,18 @@ static int defragmentPage(MemPage *pPage){ } memcpy(&data[cbrk], &src[pc], size); } + data[hdr+7] = 0; + + defragment_out: + if( data[hdr+7]+cbrk-iCellFirst!=pPage->nFree ){ + return SQLITE_CORRUPT_PAGE(pPage); + } assert( cbrk>=iCellFirst ); put2byte(&data[hdr+5], cbrk); data[hdr+1] = 0; data[hdr+2] = 0; - data[hdr+7] = 0; memset(&data[iCellFirst], 0, cbrk-iCellFirst); assert( sqlite3PagerIswriteable(pPage->pDbPage) ); - if( cbrk-iCellFirst!=pPage->nFree ){ - return SQLITE_CORRUPT_BKPT; - } return SQLITE_OK; } @@ -59670,16 +61923,10 @@ static u8 *pageFindSlot(MemPage *pPg, int nByte, int *pRc){ int pc = get2byte(&aData[iAddr]); int x; int usableSize = pPg->pBt->usableSize; + int size; /* Size of the free slot */ assert( pc>0 ); - do{ - int size; /* Size of the free slot */ - /* EVIDENCE-OF: R-06866-39125 Freeblocks are always connected in order of - ** increasing offset. */ - if( pc>usableSize-4 || pc=0 ){ testcase( x==4 ); testcase( x==3 ); - if( pc < pPg->cellOffset+2*pPg->nCell || size+pc > usableSize ){ - *pRc = SQLITE_CORRUPT_BKPT; + if( size+pc > usableSize ){ + *pRc = SQLITE_CORRUPT_PAGE(pPg); return 0; }else if( x<4 ){ /* EVIDENCE-OF: R-11498-58022 In a well-formed b-tree page, the total @@ -59708,7 +61955,11 @@ static u8 *pageFindSlot(MemPage *pPg, int nByte, int *pRc){ } iAddr = pc; pc = get2byte(&aData[pc]); - }while( pc ); + if( pcpBt->usableSize==65536 ){ top = 65536; }else{ - return SQLITE_CORRUPT_BKPT; + return SQLITE_CORRUPT_PAGE(pPage); } } @@ -59783,10 +62034,10 @@ static int allocateSpace(MemPage *pPage, int nByte, int *pIdx){ testcase( gap+2+nByte==top ); if( gap+2+nByte>top ){ assert( pPage->nCell>0 || CORRUPT_DB ); - rc = defragmentPage(pPage); + rc = defragmentPage(pPage, MIN(4, pPage->nFree - (2+nByte))); if( rc ) return rc; top = get2byteNotZero(&data[hdr+5]); - assert( gap+nByte<=top ); + assert( gap+2+nByte<=top ); } @@ -59822,7 +62073,7 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){ u8 hdr; /* Page header size. 0 or 100 */ u8 nFrag = 0; /* Reduction in fragmentation */ u16 iOrigSize = iSize; /* Original value of iSize */ - u32 iLast = pPage->pBt->usableSize-4; /* Largest possible freeblock offset */ + u16 x; /* Offset to cell content area */ u32 iEnd = iStart + iSize; /* First byte past the iStart buffer */ unsigned char *data = pPage->aData; /* Page content */ @@ -59832,13 +62083,7 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){ assert( CORRUPT_DB || iEnd <= pPage->pBt->usableSize ); assert( sqlite3_mutex_held(pPage->pBt->mutex) ); assert( iSize>=4 ); /* Minimum cell size is 4 */ - assert( iStart<=iLast ); - - /* Overwrite deleted information with zeros when the secure_delete - ** option is enabled */ - if( pPage->pBt->btsFlags & BTS_SECURE_DELETE ){ - memset(&data[iStart], 0, iSize); - } + assert( iStart<=pPage->pBt->usableSize-4 ); /* The list of freeblocks must be in ascending order. Find the ** spot on the list where iStart should be inserted. @@ -59851,11 +62096,13 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){ while( (iFreeBlk = get2byte(&data[iPtr]))iLast ) return SQLITE_CORRUPT_BKPT; + if( iFreeBlk>pPage->pBt->usableSize-4 ){ + return SQLITE_CORRUPT_PAGE(pPage); + } assert( iFreeBlk>iPtr || iFreeBlk==0 ); /* At this point: @@ -59866,9 +62113,11 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){ */ if( iFreeBlk && iEnd+3>=iFreeBlk ){ nFrag = iFreeBlk - iEnd; - if( iEnd>iFreeBlk ) return SQLITE_CORRUPT_BKPT; + if( iEnd>iFreeBlk ) return SQLITE_CORRUPT_PAGE(pPage); iEnd = iFreeBlk + get2byte(&data[iFreeBlk+2]); - if( iEnd > pPage->pBt->usableSize ) return SQLITE_CORRUPT_BKPT; + if( iEnd > pPage->pBt->usableSize ){ + return SQLITE_CORRUPT_PAGE(pPage); + } iSize = iEnd - iStart; iFreeBlk = get2byte(&data[iFreeBlk]); } @@ -59880,28 +62129,34 @@ static int freeSpace(MemPage *pPage, u16 iStart, u16 iSize){ if( iPtr>hdr+1 ){ int iPtrEnd = iPtr + get2byte(&data[iPtr+2]); if( iPtrEnd+3>=iStart ){ - if( iPtrEnd>iStart ) return SQLITE_CORRUPT_BKPT; + if( iPtrEnd>iStart ) return SQLITE_CORRUPT_PAGE(pPage); nFrag += iStart - iPtrEnd; iSize = iEnd - iPtr; iStart = iPtr; } } - if( nFrag>data[hdr+7] ) return SQLITE_CORRUPT_BKPT; + if( nFrag>data[hdr+7] ) return SQLITE_CORRUPT_PAGE(pPage); data[hdr+7] -= nFrag; } - if( iStart==get2byte(&data[hdr+5]) ){ + x = get2byte(&data[hdr+5]); + if( iStart<=x ){ /* The new freeblock is at the beginning of the cell content area, ** so just extend the cell content area rather than create another ** freelist entry */ - if( iPtr!=hdr+1 ) return SQLITE_CORRUPT_BKPT; + if( iStartpBt->btsFlags & BTS_FAST_SECURE ){ + /* Overwrite deleted information with zeros when the secure_delete + ** option is enabled */ + memset(&data[iStart], 0, iSize); + } + put2byte(&data[iStart], iFreeBlk); + put2byte(&data[iStart+2], iSize); pPage->nFree += iOrigSize; return SQLITE_OK; } @@ -59961,7 +62216,7 @@ static int decodeFlags(MemPage *pPage, int flagByte){ }else{ /* EVIDENCE-OF: R-47608-56469 Any other value for the b-tree page type is ** an error. */ - return SQLITE_CORRUPT_BKPT; + return SQLITE_CORRUPT_PAGE(pPage); } pPage->max1bytePayload = pBt->max1bytePayload; return SQLITE_OK; @@ -59977,6 +62232,16 @@ static int decodeFlags(MemPage *pPage, int flagByte){ ** we failed to detect any corruption. */ static int btreeInitPage(MemPage *pPage){ + int pc; /* Address of a freeblock within pPage->aData[] */ + u8 hdr; /* Offset to beginning of page header */ + u8 *data; /* Equal to pPage->aData */ + BtShared *pBt; /* The main btree structure */ + int usableSize; /* Amount of usable space on each page */ + u16 cellOffset; /* Offset from start of page to first cell pointer */ + int nFree; /* Number of unused bytes on the page */ + int top; /* First byte of the cell content area */ + int iCellFirst; /* First allowable cell or freeblock offset */ + int iCellLast; /* Last possible cell or freeblock offset */ assert( pPage->pBt!=0 ); assert( pPage->pBt->db!=0 ); @@ -59984,122 +62249,119 @@ static int btreeInitPage(MemPage *pPage){ assert( pPage->pgno==sqlite3PagerPagenumber(pPage->pDbPage) ); assert( pPage == sqlite3PagerGetExtra(pPage->pDbPage) ); assert( pPage->aData == sqlite3PagerGetData(pPage->pDbPage) ); + assert( pPage->isInit==0 ); - if( !pPage->isInit ){ - u16 pc; /* Address of a freeblock within pPage->aData[] */ - u8 hdr; /* Offset to beginning of page header */ - u8 *data; /* Equal to pPage->aData */ - BtShared *pBt; /* The main btree structure */ - int usableSize; /* Amount of usable space on each page */ - u16 cellOffset; /* Offset from start of page to first cell pointer */ - int nFree; /* Number of unused bytes on the page */ - int top; /* First byte of the cell content area */ - int iCellFirst; /* First allowable cell or freeblock offset */ - int iCellLast; /* Last possible cell or freeblock offset */ - - pBt = pPage->pBt; - - hdr = pPage->hdrOffset; - data = pPage->aData; - /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating - ** the b-tree page type. */ - if( decodeFlags(pPage, data[hdr]) ) return SQLITE_CORRUPT_BKPT; - assert( pBt->pageSize>=512 && pBt->pageSize<=65536 ); - pPage->maskPage = (u16)(pBt->pageSize - 1); - pPage->nOverflow = 0; - usableSize = pBt->usableSize; - pPage->cellOffset = cellOffset = hdr + 8 + pPage->childPtrSize; - pPage->aDataEnd = &data[usableSize]; - pPage->aCellIdx = &data[cellOffset]; - pPage->aDataOfst = &data[pPage->childPtrSize]; - /* EVIDENCE-OF: R-58015-48175 The two-byte integer at offset 5 designates - ** the start of the cell content area. A zero value for this integer is - ** interpreted as 65536. */ - top = get2byteNotZero(&data[hdr+5]); - /* EVIDENCE-OF: R-37002-32774 The two-byte integer at offset 3 gives the - ** number of cells on the page. */ - pPage->nCell = get2byte(&data[hdr+3]); - if( pPage->nCell>MX_CELL(pBt) ){ - /* To many cells for a single page. The page must be corrupt */ - return SQLITE_CORRUPT_BKPT; + pBt = pPage->pBt; + hdr = pPage->hdrOffset; + data = pPage->aData; + /* EVIDENCE-OF: R-28594-02890 The one-byte flag at offset 0 indicating + ** the b-tree page type. */ + if( decodeFlags(pPage, data[hdr]) ){ + return SQLITE_CORRUPT_PAGE(pPage); + } + assert( pBt->pageSize>=512 && pBt->pageSize<=65536 ); + pPage->maskPage = (u16)(pBt->pageSize - 1); + pPage->nOverflow = 0; + usableSize = pBt->usableSize; + pPage->cellOffset = cellOffset = hdr + 8 + pPage->childPtrSize; + pPage->aDataEnd = &data[usableSize]; + pPage->aCellIdx = &data[cellOffset]; + pPage->aDataOfst = &data[pPage->childPtrSize]; + /* EVIDENCE-OF: R-58015-48175 The two-byte integer at offset 5 designates + ** the start of the cell content area. A zero value for this integer is + ** interpreted as 65536. */ + top = get2byteNotZero(&data[hdr+5]); + /* EVIDENCE-OF: R-37002-32774 The two-byte integer at offset 3 gives the + ** number of cells on the page. */ + pPage->nCell = get2byte(&data[hdr+3]); + if( pPage->nCell>MX_CELL(pBt) ){ + /* To many cells for a single page. The page must be corrupt */ + return SQLITE_CORRUPT_PAGE(pPage); + } + testcase( pPage->nCell==MX_CELL(pBt) ); + /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only + ** possible for a root page of a table that contains no rows) then the + ** offset to the cell content area will equal the page size minus the + ** bytes of reserved space. */ + assert( pPage->nCell>0 || top==usableSize || CORRUPT_DB ); + + /* A malformed database page might cause us to read past the end + ** of page when parsing a cell. + ** + ** The following block of code checks early to see if a cell extends + ** past the end of a page boundary and causes SQLITE_CORRUPT to be + ** returned if it does. + */ + iCellFirst = cellOffset + 2*pPage->nCell; + iCellLast = usableSize - 4; + if( pBt->db->flags & SQLITE_CellSizeCk ){ + int i; /* Index into the cell pointer array */ + int sz; /* Size of a cell */ + + if( !pPage->leaf ) iCellLast--; + for(i=0; inCell; i++){ + pc = get2byteAligned(&data[cellOffset+i*2]); + testcase( pc==iCellFirst ); + testcase( pc==iCellLast ); + if( pciCellLast ){ + return SQLITE_CORRUPT_PAGE(pPage); + } + sz = pPage->xCellSize(pPage, &data[pc]); + testcase( pc+sz==usableSize ); + if( pc+sz>usableSize ){ + return SQLITE_CORRUPT_PAGE(pPage); + } } - testcase( pPage->nCell==MX_CELL(pBt) ); - /* EVIDENCE-OF: R-24089-57979 If a page contains no cells (which is only - ** possible for a root page of a table that contains no rows) then the - ** offset to the cell content area will equal the page size minus the - ** bytes of reserved space. */ - assert( pPage->nCell>0 || top==usableSize || CORRUPT_DB ); - - /* A malformed database page might cause us to read past the end - ** of page when parsing a cell. - ** - ** The following block of code checks early to see if a cell extends - ** past the end of a page boundary and causes SQLITE_CORRUPT to be - ** returned if it does. - */ - iCellFirst = cellOffset + 2*pPage->nCell; - iCellLast = usableSize - 4; - if( pBt->db->flags & SQLITE_CellSizeCk ){ - int i; /* Index into the cell pointer array */ - int sz; /* Size of a cell */ - - if( !pPage->leaf ) iCellLast--; - for(i=0; inCell; i++){ - pc = get2byteAligned(&data[cellOffset+i*2]); - testcase( pc==iCellFirst ); - testcase( pc==iCellLast ); - if( pciCellLast ){ - return SQLITE_CORRUPT_BKPT; - } - sz = pPage->xCellSize(pPage, &data[pc]); - testcase( pc+sz==usableSize ); - if( pc+sz>usableSize ){ - return SQLITE_CORRUPT_BKPT; - } - } - if( !pPage->leaf ) iCellLast++; - } + if( !pPage->leaf ) iCellLast++; + } - /* Compute the total free space on the page - ** EVIDENCE-OF: R-23588-34450 The two-byte integer at offset 1 gives the - ** start of the first freeblock on the page, or is zero if there are no - ** freeblocks. */ - pc = get2byte(&data[hdr+1]); - nFree = data[hdr+7] + top; /* Init nFree to non-freeblock free space */ - while( pc>0 ){ - u16 next, size; - if( pciCellLast ){ - /* EVIDENCE-OF: R-55530-52930 In a well-formed b-tree page, there will - ** always be at least one cell before the first freeblock. - ** - ** Or, the freeblock is off the end of the page - */ - return SQLITE_CORRUPT_BKPT; + /* Compute the total free space on the page + ** EVIDENCE-OF: R-23588-34450 The two-byte integer at offset 1 gives the + ** start of the first freeblock on the page, or is zero if there are no + ** freeblocks. */ + pc = get2byte(&data[hdr+1]); + nFree = data[hdr+7] + top; /* Init nFree to non-freeblock free space */ + if( pc>0 ){ + u32 next, size; + if( pciCellLast ){ + /* Freeblock off the end of the page */ + return SQLITE_CORRUPT_PAGE(pPage); } next = get2byte(&data[pc]); size = get2byte(&data[pc+2]); - if( (next>0 && next<=pc+size+3) || pc+size>usableSize ){ - /* Free blocks must be in ascending order. And the last byte of - ** the free-block must lie on the database page. */ - return SQLITE_CORRUPT_BKPT; - } nFree = nFree + size; + if( next<=pc+size+3 ) break; pc = next; } - - /* At this point, nFree contains the sum of the offset to the start - ** of the cell-content area plus the number of free bytes within - ** the cell-content area. If this is greater than the usable-size - ** of the page, then the page must be corrupted. This check also - ** serves to verify that the offset to the start of the cell-content - ** area, according to the page header, lies within the page. - */ - if( nFree>usableSize ){ - return SQLITE_CORRUPT_BKPT; + if( next>0 ){ + /* Freeblock not in ascending order */ + return SQLITE_CORRUPT_PAGE(pPage); } - pPage->nFree = (u16)(nFree - iCellFirst); - pPage->isInit = 1; + if( pc+size>(unsigned int)usableSize ){ + /* Last freeblock extends past page end */ + return SQLITE_CORRUPT_PAGE(pPage); + } + } + + /* At this point, nFree contains the sum of the offset to the start + ** of the cell-content area plus the number of free bytes within + ** the cell-content area. If this is greater than the usable-size + ** of the page, then the page must be corrupted. This check also + ** serves to verify that the offset to the start of the cell-content + ** area, according to the page header, lies within the page. + */ + if( nFree>usableSize ){ + return SQLITE_CORRUPT_PAGE(pPage); } + pPage->nFree = (u16)(nFree - iCellFirst); + pPage->isInit = 1; return SQLITE_OK; } @@ -60118,7 +62380,7 @@ static void zeroPage(MemPage *pPage, int flags){ assert( sqlite3PagerGetData(pPage->pDbPage) == data ); assert( sqlite3PagerIswriteable(pPage->pDbPage) ); assert( sqlite3_mutex_held(pBt->mutex) ); - if( pBt->btsFlags & BTS_SECURE_DELETE ){ + if( pBt->btsFlags & BTS_FAST_SECURE ){ memset(&data[hdr], 0, pBt->usableSize - hdr); } data[hdr] = (char)flags; @@ -60209,7 +62471,7 @@ static Pgno btreePagecount(BtShared *pBt){ } SQLITE_PRIVATE u32 sqlite3BtreeLastPage(Btree *p){ assert( sqlite3BtreeHoldsMutex(p) ); - assert( ((p->pBt->nPage)&0x8000000)==0 ); + assert( ((p->pBt->nPage)&0x80000000)==0 ); return btreePagecount(p->pBt); } @@ -60236,7 +62498,7 @@ static int getAndInitPage( int rc; DbPage *pDbPage; assert( sqlite3_mutex_held(pBt->mutex) ); - assert( pCur==0 || ppPage==&pCur->apPage[pCur->iPage] ); + assert( pCur==0 || ppPage==&pCur->pPage ); assert( pCur==0 || bReadOnly==pCur->curPagerFlags ); assert( pCur==0 || pCur->iPage>0 ); @@ -60263,14 +62525,17 @@ static int getAndInitPage( /* If obtaining a child page for a cursor, we must verify that the page is ** compatible with the root page. */ if( pCur && ((*ppPage)->nCell<1 || (*ppPage)->intKey!=pCur->curIntKey) ){ - rc = SQLITE_CORRUPT_BKPT; + rc = SQLITE_CORRUPT_PGNO(pgno); releasePage(*ppPage); goto getAndInitPage_error; } return SQLITE_OK; getAndInitPage_error: - if( pCur ) pCur->iPage--; + if( pCur ){ + pCur->iPage--; + pCur->pPage = pCur->apPage[pCur->iPage]; + } testcase( pgno==0 ); assert( pgno!=0 || rc==SQLITE_CORRUPT ); return rc; @@ -60279,6 +62544,8 @@ static int getAndInitPage( /* ** Release a MemPage. This should be called once for each prior ** call to btreeGetPage. +** +** Page1 is a special case and must be released using releasePageOne(). */ static void releasePageNotNull(MemPage *pPage){ assert( pPage->aData ); @@ -60292,6 +62559,16 @@ static void releasePageNotNull(MemPage *pPage){ static void releasePage(MemPage *pPage){ if( pPage ) releasePageNotNull(pPage); } +static void releasePageOne(MemPage *pPage){ + assert( pPage!=0 ); + assert( pPage->aData ); + assert( pPage->pBt ); + assert( pPage->pDbPage!=0 ); + assert( sqlite3PagerGetExtra(pPage->pDbPage) == (void*)pPage ); + assert( sqlite3PagerGetData(pPage->pDbPage)==pPage->aData ); + assert( sqlite3_mutex_held(pPage->pBt->mutex) ); + sqlite3PagerUnrefPageOne(pPage->pDbPage); +} /* ** Get an unused page. @@ -60525,7 +62802,7 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( goto btree_open_out; } rc = sqlite3PagerOpen(pVfs, &pBt->pPager, zFilename, - EXTRA_SIZE, flags, vfsFlags, pageReinit); + sizeof(MemPage), flags, vfsFlags, pageReinit); if( rc==SQLITE_OK ){ sqlite3PagerSetMmapLimit(pBt->pPager, db->szMmap); rc = sqlite3PagerReadFileheader(pBt->pPager,sizeof(zDbHeader),zDbHeader); @@ -60541,8 +62818,10 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( pBt->pCursor = 0; pBt->pPage1 = 0; if( sqlite3PagerIsreadonly(pBt->pPager) ) pBt->btsFlags |= BTS_READ_ONLY; -#ifdef SQLITE_SECURE_DELETE +#if defined(SQLITE_SECURE_DELETE) pBt->btsFlags |= BTS_SECURE_DELETE; +#elif defined(SQLITE_FAST_SECURE_DELETE) + pBt->btsFlags |= BTS_OVERWRITE; #endif /* EVIDENCE-OF: R-51873-39618 The page size for a database file is ** determined by the 2-byte integer located at an offset of 16 bytes from @@ -60638,12 +62917,14 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( btree_open_out: if( rc!=SQLITE_OK ){ if( pBt && pBt->pPager ){ - sqlite3PagerClose(pBt->pPager); + sqlite3PagerClose(pBt->pPager, 0); } sqlite3_free(pBt); sqlite3_free(p); *ppBtree = 0; }else{ + sqlite3_file *pFile; + /* If the B-Tree was successfully opened, set the pager-cache size to the ** default value. Except, when opening on an existing shared pager-cache, ** do not change the pager-cache size. @@ -60651,6 +62932,11 @@ SQLITE_PRIVATE int sqlite3BtreeOpen( if( sqlite3BtreeSchema(p, 0, 0)==0 ){ sqlite3PagerSetCachesize(p->pBt->pPager, SQLITE_DEFAULT_CACHE_SIZE); } + + pFile = sqlite3PagerFile(pBt->pPager); + if( pFile->pMethods ){ + sqlite3OsFileControlHint(pFile, SQLITE_FCNTL_PDB, (void*)&pBt->db); + } } if( mutexOpen ){ assert( sqlite3_mutex_held(mutexOpen) ); @@ -60780,7 +63066,7 @@ SQLITE_PRIVATE int sqlite3BtreeClose(Btree *p){ ** Clean out and delete the BtShared object. */ assert( !pBt->pCursor ); - sqlite3PagerClose(pBt->pPager); + sqlite3PagerClose(pBt->pPager, p->db); if( pBt->xFreeSchema && pBt->pSchema ){ pBt->xFreeSchema(pBt->pSchema); } @@ -60983,19 +63269,34 @@ SQLITE_PRIVATE int sqlite3BtreeMaxPageCount(Btree *p, int mxPage){ } /* -** Set the BTS_SECURE_DELETE flag if newFlag is 0 or 1. If newFlag is -1, -** then make no changes. Always return the value of the BTS_SECURE_DELETE -** setting after the change. +** Change the values for the BTS_SECURE_DELETE and BTS_OVERWRITE flags: +** +** newFlag==0 Both BTS_SECURE_DELETE and BTS_OVERWRITE are cleared +** newFlag==1 BTS_SECURE_DELETE set and BTS_OVERWRITE is cleared +** newFlag==2 BTS_SECURE_DELETE cleared and BTS_OVERWRITE is set +** newFlag==(-1) No changes +** +** This routine acts as a query if newFlag is less than zero +** +** With BTS_OVERWRITE set, deleted content is overwritten by zeros, but +** freelist leaf pages are not written back to the database. Thus in-page +** deleted content is cleared, but freelist deleted content is not. +** +** With BTS_SECURE_DELETE, operation is like BTS_OVERWRITE with the addition +** that freelist leaf pages are written back into the database, increasing +** the amount of disk I/O. */ SQLITE_PRIVATE int sqlite3BtreeSecureDelete(Btree *p, int newFlag){ int b; if( p==0 ) return 0; sqlite3BtreeEnter(p); + assert( BTS_OVERWRITE==BTS_SECURE_DELETE*2 ); + assert( BTS_FAST_SECURE==(BTS_OVERWRITE|BTS_SECURE_DELETE) ); if( newFlag>=0 ){ - p->pBt->btsFlags &= ~BTS_SECURE_DELETE; - if( newFlag ) p->pBt->btsFlags |= BTS_SECURE_DELETE; - } - b = (p->pBt->btsFlags & BTS_SECURE_DELETE)!=0; + p->pBt->btsFlags &= ~BTS_FAST_SECURE; + p->pBt->btsFlags |= BTS_SECURE_DELETE*newFlag; + } + b = (p->pBt->btsFlags & BTS_FAST_SECURE)/BTS_SECURE_DELETE; sqlite3BtreeLeave(p); return b; } @@ -61046,6 +63347,32 @@ SQLITE_PRIVATE int sqlite3BtreeGetAutoVacuum(Btree *p){ #endif } +/* +** If the user has not set the safety-level for this database connection +** using "PRAGMA synchronous", and if the safety-level is not already +** set to the value passed to this function as the second parameter, +** set it so. +*/ +#if SQLITE_DEFAULT_SYNCHRONOUS!=SQLITE_DEFAULT_WAL_SYNCHRONOUS \ + && !defined(SQLITE_OMIT_WAL) +static void setDefaultSyncFlag(BtShared *pBt, u8 safety_level){ + sqlite3 *db; + Db *pDb; + if( (db=pBt->db)!=0 && (pDb=db->aDb)!=0 ){ + while( pDb->pBt==0 || pDb->pBt->pBt!=pBt ){ pDb++; } + if( pDb->bSyncSet==0 + && pDb->safety_level!=safety_level + && pDb!=&db->aDb[1] + ){ + pDb->safety_level = safety_level; + sqlite3PagerSetFlags(pBt->pPager, + pDb->safety_level | (db->flags & PAGER_FLAGS_MASK)); + } + } +} +#else +# define setDefaultSyncFlag(pBt,safety_level) +#endif /* ** Get a reference to pPage1 of the database file. This will @@ -61119,26 +63446,15 @@ static int lockBtree(BtShared *pBt){ if( rc!=SQLITE_OK ){ goto page1_init_failed; }else{ -#if SQLITE_DEFAULT_SYNCHRONOUS!=SQLITE_DEFAULT_WAL_SYNCHRONOUS - sqlite3 *db; - Db *pDb; - if( (db=pBt->db)!=0 && (pDb=db->aDb)!=0 ){ - while( pDb->pBt==0 || pDb->pBt->pBt!=pBt ){ pDb++; } - if( pDb->bSyncSet==0 - && pDb->safety_level==SQLITE_DEFAULT_SYNCHRONOUS+1 - ){ - pDb->safety_level = SQLITE_DEFAULT_WAL_SYNCHRONOUS+1; - sqlite3PagerSetFlags(pBt->pPager, - pDb->safety_level | (db->flags & PAGER_FLAGS_MASK)); - } - } -#endif + setDefaultSyncFlag(pBt, SQLITE_DEFAULT_WAL_SYNCHRONOUS+1); if( isOpen==0 ){ - releasePage(pPage1); + releasePageOne(pPage1); return SQLITE_OK; } } rc = SQLITE_NOTADB; + }else{ + setDefaultSyncFlag(pBt, SQLITE_DEFAULT_SYNCHRONOUS+1); } #endif @@ -61179,7 +63495,7 @@ static int lockBtree(BtShared *pBt){ ** zero and return SQLITE_OK. The caller will call this function ** again with the correct page-size. */ - releasePage(pPage1); + releasePageOne(pPage1); pBt->usableSize = usableSize; pBt->pageSize = pageSize; freeTempSpace(pBt); @@ -61187,7 +63503,7 @@ static int lockBtree(BtShared *pBt){ pageSize-usableSize); return rc; } - if( (pBt->db->flags & SQLITE_RecoveryMode)==0 && nPage>nPageFile ){ + if( (pBt->db->flags & SQLITE_WriteSchema)==0 && nPage>nPageFile ){ rc = SQLITE_CORRUPT_BKPT; goto page1_init_failed; } @@ -61233,7 +63549,7 @@ static int lockBtree(BtShared *pBt){ return SQLITE_OK; page1_init_failed: - releasePage(pPage1); + releasePageOne(pPage1); pBt->pPage1 = 0; return rc; } @@ -61278,7 +63594,7 @@ static void unlockBtreeIfUnused(BtShared *pBt){ assert( pPage1->aData ); assert( sqlite3PagerRefcount(pBt->pPager)==1 ); pBt->pPage1 = 0; - releasePageNotNull(pPage1); + releasePageOne(pPage1); } } @@ -61527,14 +63843,11 @@ static int setChildPtrmaps(MemPage *pPage){ int nCell; /* Number of cells in page pPage */ int rc; /* Return code */ BtShared *pBt = pPage->pBt; - u8 isInitOrig = pPage->isInit; Pgno pgno = pPage->pgno; assert( sqlite3_mutex_held(pPage->pBt->mutex) ); - rc = btreeInitPage(pPage); - if( rc!=SQLITE_OK ){ - goto set_child_ptrmaps_out; - } + rc = pPage->isInit ? SQLITE_OK : btreeInitPage(pPage); + if( rc!=SQLITE_OK ) return rc; nCell = pPage->nCell; for(i=0; iisInit = isInitOrig; return rc; } @@ -61578,16 +63889,15 @@ static int modifyPagePointer(MemPage *pPage, Pgno iFrom, Pgno iTo, u8 eType){ if( eType==PTRMAP_OVERFLOW2 ){ /* The pointer is always the first 4 bytes of the page in this case. */ if( get4byte(pPage->aData)!=iFrom ){ - return SQLITE_CORRUPT_BKPT; + return SQLITE_CORRUPT_PAGE(pPage); } put4byte(pPage->aData, iTo); }else{ - u8 isInitOrig = pPage->isInit; int i; int nCell; int rc; - rc = btreeInitPage(pPage); + rc = pPage->isInit ? SQLITE_OK : btreeInitPage(pPage); if( rc ) return rc; nCell = pPage->nCell; @@ -61596,12 +63906,14 @@ static int modifyPagePointer(MemPage *pPage, Pgno iFrom, Pgno iTo, u8 eType){ if( eType==PTRMAP_OVERFLOW1 ){ CellInfo info; pPage->xParseCell(pPage, pCell, &info); - if( info.nLocalaData+pPage->maskPage - && iFrom==get4byte(pCell+info.nSize-4) - ){ - put4byte(pCell+info.nSize-4, iTo); - break; + if( info.nLocal pPage->aData+pPage->pBt->usableSize ){ + return SQLITE_CORRUPT_PAGE(pPage); + } + if( iFrom==get4byte(pCell+info.nSize-4) ){ + put4byte(pCell+info.nSize-4, iTo); + break; + } } }else{ if( get4byte(pCell)==iFrom ){ @@ -61614,12 +63926,10 @@ static int modifyPagePointer(MemPage *pPage, Pgno iFrom, Pgno iTo, u8 eType){ if( i==nCell ){ if( eType!=PTRMAP_BTREE || get4byte(&pPage->aData[pPage->hdrOffset+8])!=iFrom ){ - return SQLITE_CORRUPT_BKPT; + return SQLITE_CORRUPT_PAGE(pPage); } put4byte(&pPage->aData[pPage->hdrOffset+8], iTo); } - - pPage->isInit = isInitOrig; } return SQLITE_OK; } @@ -62136,7 +64446,6 @@ SQLITE_PRIVATE int sqlite3BtreeTripAllCursors(Btree *pBtree, int errCode, int wr if( pBtree ){ sqlite3BtreeEnter(pBtree); for(p=pBtree->pBt->pCursor; p; p=p->pNext){ - int i; if( writeOnly && (p->curFlags & BTCF_WriteFlag)==0 ){ if( p->eState==CURSOR_VALID || p->eState==CURSOR_SKIPNEXT ){ rc = saveCursorPosition(p); @@ -62150,10 +64459,7 @@ SQLITE_PRIVATE int sqlite3BtreeTripAllCursors(Btree *pBtree, int errCode, int wr p->eState = CURSOR_FAULT; p->skipNext = errCode; } - for(i=0; i<=p->iPage; i++){ - releasePage(p->apPage[i]); - p->apPage[i] = 0; - } + btreeReleaseAllCursorPages(p); } sqlite3BtreeLeave(pBtree); } @@ -62210,7 +64516,7 @@ SQLITE_PRIVATE int sqlite3BtreeRollback(Btree *p, int tripCode, int writeOnly){ if( nPage==0 ) sqlite3PagerPagecount(pBt->pPager, &nPage); testcase( pBt->nPage!=nPage ); pBt->nPage = nPage; - releasePage(pPage1); + releasePageOne(pPage1); } assert( countValidCursors(pBt, 1)==0 ); pBt->inTransaction = TRANS_READ; @@ -62278,7 +64584,12 @@ SQLITE_PRIVATE int sqlite3BtreeSavepoint(Btree *p, int op, int iSavepoint){ assert( op==SAVEPOINT_RELEASE || op==SAVEPOINT_ROLLBACK ); assert( iSavepoint>=0 || (iSavepoint==-1 && op==SAVEPOINT_ROLLBACK) ); sqlite3BtreeEnter(p); - rc = sqlite3PagerSavepoint(pBt->pPager, op, iSavepoint); + if( op==SAVEPOINT_ROLLBACK ){ + rc = saveAllCursors(pBt, 0, 0); + } + if( rc==SQLITE_OK ){ + rc = sqlite3PagerSavepoint(pBt->pPager, op, iSavepoint); + } if( rc==SQLITE_OK ){ if( iSavepoint<0 && (pBt->btsFlags & BTS_INITIALLY_EMPTY)!=0 ){ pBt->nPage = 0; @@ -62447,10 +64758,8 @@ SQLITE_PRIVATE void sqlite3BtreeCursorZero(BtCursor *p){ SQLITE_PRIVATE int sqlite3BtreeCloseCursor(BtCursor *pCur){ Btree *pBtree = pCur->pBtree; if( pBtree ){ - int i; BtShared *pBt = pCur->pBt; sqlite3BtreeEnter(pBtree); - sqlite3BtreeClearCursor(pCur); assert( pBt->pCursor!=0 ); if( pBt->pCursor==pCur ){ pBt->pCursor = pCur->pNext; @@ -62464,12 +64773,10 @@ SQLITE_PRIVATE int sqlite3BtreeCloseCursor(BtCursor *pCur){ pPrev = pPrev->pNext; }while( ALWAYS(pPrev) ); } - for(i=0; i<=pCur->iPage; i++){ - releasePage(pCur->apPage[i]); - } + btreeReleaseAllCursorPages(pCur); unlockBtreeIfUnused(pBt); sqlite3_free(pCur->aOverflow); - /* sqlite3_free(pCur); */ + sqlite3_free(pCur->pKey); sqlite3BtreeLeave(pBtree); } return SQLITE_OK; @@ -62486,9 +64793,8 @@ SQLITE_PRIVATE int sqlite3BtreeCloseCursor(BtCursor *pCur){ #ifndef NDEBUG static void assertCellInfo(BtCursor *pCur){ CellInfo info; - int iPage = pCur->iPage; memset(&info, 0, sizeof(info)); - btreeParseCell(pCur->apPage[iPage], pCur->aiIdx[iPage], &info); + btreeParseCell(pCur->pPage, pCur->ix, &info); assert( CORRUPT_DB || memcmp(&info, &pCur->info, sizeof(info))==0 ); } #else @@ -62496,9 +64802,8 @@ SQLITE_PRIVATE int sqlite3BtreeCloseCursor(BtCursor *pCur){ #endif static SQLITE_NOINLINE void getCellInfo(BtCursor *pCur){ if( pCur->info.nSize==0 ){ - int iPage = pCur->iPage; pCur->curFlags |= BTCF_ValidNKey; - btreeParseCell(pCur->apPage[iPage],pCur->aiIdx[iPage],&pCur->info); + btreeParseCell(pCur->pPage,pCur->ix,&pCur->info); }else{ assertCellInfo(pCur); } @@ -62514,6 +64819,10 @@ SQLITE_PRIVATE int sqlite3BtreeCursorIsValid(BtCursor *pCur){ return pCur && pCur->eState==CURSOR_VALID; } #endif /* NDEBUG */ +SQLITE_PRIVATE int sqlite3BtreeCursorIsValidNN(BtCursor *pCur){ + assert( pCur!=0 ); + return pCur->eState==CURSOR_VALID; +} /* ** Return the value of the integer key or "rowid" for a table btree. @@ -62529,6 +64838,20 @@ SQLITE_PRIVATE i64 sqlite3BtreeIntegerKey(BtCursor *pCur){ return pCur->info.nKey; } +#ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC +/* +** Return the offset into the database file for the start of the +** payload to which the cursor is pointing. +*/ +SQLITE_PRIVATE i64 sqlite3BtreeOffset(BtCursor *pCur){ + assert( cursorHoldsMutex(pCur) ); + assert( pCur->eState==CURSOR_VALID ); + getCellInfo(pCur); + return (i64)pCur->pBt->pageSize*((i64)pCur->pPage->pgno - 1) + + (i64)(pCur->info.pPayload - pCur->pPage->aData); +} +#endif /* SQLITE_ENABLE_OFFSET_SQL_FUNC */ + /* ** Return the number of bytes of payload for the entry that pCur is ** currently pointing to. For table btrees, this will be the amount @@ -62660,7 +64983,6 @@ static int copyPayload( ** ** 0: The operation is a read. Populate the overflow cache. ** 1: The operation is a write. Populate the overflow cache. -** 2: The operation is a read. Do not populate the overflow cache. ** ** A total of "amt" bytes are read or written beginning at "offset". ** Data is read to or from the buffer pBuf. @@ -62668,13 +64990,13 @@ static int copyPayload( ** The content being read or written might appear on the main page ** or be scattered out on multiple overflow pages. ** -** If the current cursor entry uses one or more overflow pages and the -** eOp argument is not 2, this function may allocate space for and lazily -** populates the overflow page-list cache array (BtCursor.aOverflow). +** If the current cursor entry uses one or more overflow pages +** this function may allocate space for and lazily populate +** the overflow page-list cache array (BtCursor.aOverflow). ** Subsequent calls use this cache to make seeking to the supplied offset ** more efficient. ** -** Once an overflow page-list cache has been allocated, it may be +** Once an overflow page-list cache has been allocated, it must be ** invalidated if some other cursor writes to the same table, or if ** the cursor is moved to a different row. Additionally, in auto-vacuum ** mode, the following events may invalidate an overflow page-list cache. @@ -62693,24 +65015,20 @@ static int accessPayload( unsigned char *aPayload; int rc = SQLITE_OK; int iIdx = 0; - MemPage *pPage = pCur->apPage[pCur->iPage]; /* Btree page of current entry */ + MemPage *pPage = pCur->pPage; /* Btree page of current entry */ BtShared *pBt = pCur->pBt; /* Btree this cursor belongs to */ #ifdef SQLITE_DIRECT_OVERFLOW_READ - unsigned char * const pBufStart = pBuf; - int bEnd; /* True if reading to end of data */ + unsigned char * const pBufStart = pBuf; /* Start of original out buffer */ #endif assert( pPage ); + assert( eOp==0 || eOp==1 ); assert( pCur->eState==CURSOR_VALID ); - assert( pCur->aiIdx[pCur->iPage]nCell ); + assert( pCur->ixnCell ); assert( cursorHoldsMutex(pCur) ); - assert( eOp!=2 || offset==0 ); /* Always start from beginning for eOp==2 */ getCellInfo(pCur); aPayload = pCur->info.pPayload; -#ifdef SQLITE_DIRECT_OVERFLOW_READ - bEnd = offset+amt==pCur->info.nPayload; -#endif assert( offset+amt <= pCur->info.nPayload ); assert( aPayload > pPage->aData ); @@ -62720,7 +65038,7 @@ static int accessPayload( ** &aPayload[pCur->info.nLocal] > &pPage->aData[pBt->usableSize] ** but is recast into its current form to avoid integer overflow problems */ - return SQLITE_CORRUPT_BKPT; + return SQLITE_CORRUPT_PAGE(pPage); } /* Check if data must be read/written to/from the btree page itself. */ @@ -62729,7 +65047,7 @@ static int accessPayload( if( a+offset>pCur->info.nLocal ){ a = pCur->info.nLocal - offset; } - rc = copyPayload(&aPayload[offset], pBuf, a, (eOp & 0x01), pPage->pDbPage); + rc = copyPayload(&aPayload[offset], pBuf, a, eOp, pPage->pDbPage); offset = 0; pBuf += a; amt -= a; @@ -62745,53 +65063,46 @@ static int accessPayload( nextPage = get4byte(&aPayload[pCur->info.nLocal]); /* If the BtCursor.aOverflow[] has not been allocated, allocate it now. - ** Except, do not allocate aOverflow[] for eOp==2. ** ** The aOverflow[] array is sized at one entry for each overflow page ** in the overflow chain. The page number of the first overflow page is ** stored in aOverflow[0], etc. A value of 0 in the aOverflow[] array ** means "not yet known" (the cache is lazily populated). */ - if( eOp!=2 && (pCur->curFlags & BTCF_ValidOvfl)==0 ){ + if( (pCur->curFlags & BTCF_ValidOvfl)==0 ){ int nOvfl = (pCur->info.nPayload-pCur->info.nLocal+ovflSize-1)/ovflSize; if( nOvfl>pCur->nOvflAlloc ){ Pgno *aNew = (Pgno*)sqlite3Realloc( pCur->aOverflow, nOvfl*2*sizeof(Pgno) ); if( aNew==0 ){ - rc = SQLITE_NOMEM_BKPT; + return SQLITE_NOMEM_BKPT; }else{ pCur->nOvflAlloc = nOvfl*2; pCur->aOverflow = aNew; } } - if( rc==SQLITE_OK ){ - memset(pCur->aOverflow, 0, nOvfl*sizeof(Pgno)); - pCur->curFlags |= BTCF_ValidOvfl; + memset(pCur->aOverflow, 0, nOvfl*sizeof(Pgno)); + pCur->curFlags |= BTCF_ValidOvfl; + }else{ + /* If the overflow page-list cache has been allocated and the + ** entry for the first required overflow page is valid, skip + ** directly to it. + */ + if( pCur->aOverflow[offset/ovflSize] ){ + iIdx = (offset/ovflSize); + nextPage = pCur->aOverflow[iIdx]; + offset = (offset%ovflSize); } } - /* If the overflow page-list cache has been allocated and the - ** entry for the first required overflow page is valid, skip - ** directly to it. - */ - if( (pCur->curFlags & BTCF_ValidOvfl)!=0 - && pCur->aOverflow[offset/ovflSize] - ){ - iIdx = (offset/ovflSize); - nextPage = pCur->aOverflow[iIdx]; - offset = (offset%ovflSize); - } - - for( ; rc==SQLITE_OK && amt>0 && nextPage; iIdx++){ - + assert( rc==SQLITE_OK && amt>0 ); + while( nextPage ){ /* If required, populate the overflow page-list cache. */ - if( (pCur->curFlags & BTCF_ValidOvfl)!=0 ){ - assert( pCur->aOverflow[iIdx]==0 - || pCur->aOverflow[iIdx]==nextPage - || CORRUPT_DB ); - pCur->aOverflow[iIdx] = nextPage; - } + assert( pCur->aOverflow[iIdx]==0 + || pCur->aOverflow[iIdx]==nextPage + || CORRUPT_DB ); + pCur->aOverflow[iIdx] = nextPage; if( offset>=ovflSize ){ /* The only reason to read this page is to obtain the page @@ -62799,11 +65110,7 @@ static int accessPayload( ** data is not required. So first try to lookup the overflow ** page-list cache, if any, then fall back to the getOverflowPage() ** function. - ** - ** Note that the aOverflow[] array must be allocated because eOp!=2 - ** here. If eOp==2, then offset==0 and this branch is never taken. */ - assert( eOp!=2 ); assert( pCur->curFlags & BTCF_ValidOvfl ); assert( pCur->pBtree->db==pBt->db ); if( pCur->aOverflow[iIdx+1] ){ @@ -62817,7 +65124,7 @@ static int accessPayload( ** range of data that is being read (eOp==0) or written (eOp!=0). */ #ifdef SQLITE_DIRECT_OVERFLOW_READ - sqlite3_file *fd; + sqlite3_file *fd; /* File from which to do direct overflow read */ #endif int a = amt; if( a + offset > ovflSize ){ @@ -62829,27 +65136,25 @@ static int accessPayload( ** ** 1) this is a read operation, and ** 2) data is required from the start of this overflow page, and - ** 3) the database is file-backed, and - ** 4) there is no open write-transaction, and - ** 5) the database is not a WAL database, - ** 6) all data from the page is being read. - ** 7) at least 4 bytes have already been read into the output buffer + ** 3) there is no open write-transaction, and + ** 4) the database is file-backed, and + ** 5) the page is not in the WAL file + ** 6) at least 4 bytes have already been read into the output buffer ** ** then data can be read directly from the database file into the ** output buffer, bypassing the page-cache altogether. This speeds ** up loading large records that span many overflow pages. */ - if( (eOp&0x01)==0 /* (1) */ + if( eOp==0 /* (1) */ && offset==0 /* (2) */ - && (bEnd || a==ovflSize) /* (6) */ - && pBt->inTransaction==TRANS_READ /* (4) */ - && (fd = sqlite3PagerFile(pBt->pPager))->pMethods /* (3) */ - && 0==sqlite3PagerUseWal(pBt->pPager) /* (5) */ - && &pBuf[-4]>=pBufStart /* (7) */ + && pBt->inTransaction==TRANS_READ /* (3) */ + && (fd = sqlite3PagerFile(pBt->pPager))->pMethods /* (4) */ + && 0==sqlite3PagerUseWal(pBt->pPager, nextPage) /* (5) */ + && &pBuf[-4]>=pBufStart /* (6) */ ){ u8 aSave[4]; u8 *aWrite = &pBuf[-4]; - assert( aWrite>=pBufStart ); /* hence (7) */ + assert( aWrite>=pBufStart ); /* due to (6) */ memcpy(aSave, aWrite, 4); rc = sqlite3OsRead(fd, aWrite, a+4, (i64)pBt->pageSize*(nextPage-1)); nextPage = get4byte(aWrite); @@ -62860,76 +65165,86 @@ static int accessPayload( { DbPage *pDbPage; rc = sqlite3PagerGet(pBt->pPager, nextPage, &pDbPage, - ((eOp&0x01)==0 ? PAGER_GET_READONLY : 0) + (eOp==0 ? PAGER_GET_READONLY : 0) ); if( rc==SQLITE_OK ){ aPayload = sqlite3PagerGetData(pDbPage); nextPage = get4byte(aPayload); - rc = copyPayload(&aPayload[offset+4], pBuf, a, (eOp&0x01), pDbPage); + rc = copyPayload(&aPayload[offset+4], pBuf, a, eOp, pDbPage); sqlite3PagerUnref(pDbPage); offset = 0; } } amt -= a; + if( amt==0 ) return rc; pBuf += a; } + if( rc ) break; + iIdx++; } } if( rc==SQLITE_OK && amt>0 ){ - return SQLITE_CORRUPT_BKPT; + /* Overflow chain ends prematurely */ + return SQLITE_CORRUPT_PAGE(pPage); } return rc; } /* -** Read part of the key associated with cursor pCur. Exactly -** "amt" bytes will be transferred into pBuf[]. The transfer +** Read part of the payload for the row at which that cursor pCur is currently +** pointing. "amt" bytes will be transferred into pBuf[]. The transfer ** begins at "offset". ** -** The caller must ensure that pCur is pointing to a valid row -** in the table. +** pCur can be pointing to either a table or an index b-tree. +** If pointing to a table btree, then the content section is read. If +** pCur is pointing to an index b-tree then the key section is read. +** +** For sqlite3BtreePayload(), the caller must ensure that pCur is pointing +** to a valid row in the table. For sqlite3BtreePayloadChecked(), the +** cursor might be invalid or might need to be restored before being read. ** ** Return SQLITE_OK on success or an error code if anything goes ** wrong. An error is returned if "offset+amt" is larger than ** the available payload. */ -SQLITE_PRIVATE int sqlite3BtreeKey(BtCursor *pCur, u32 offset, u32 amt, void *pBuf){ +SQLITE_PRIVATE int sqlite3BtreePayload(BtCursor *pCur, u32 offset, u32 amt, void *pBuf){ assert( cursorHoldsMutex(pCur) ); assert( pCur->eState==CURSOR_VALID ); - assert( pCur->iPage>=0 && pCur->apPage[pCur->iPage] ); - assert( pCur->aiIdx[pCur->iPage]apPage[pCur->iPage]->nCell ); + assert( pCur->iPage>=0 && pCur->pPage ); + assert( pCur->ixpPage->nCell ); return accessPayload(pCur, offset, amt, (unsigned char*)pBuf, 0); } /* -** Read part of the data associated with cursor pCur. Exactly -** "amt" bytes will be transfered into pBuf[]. The transfer -** begins at "offset". -** -** Return SQLITE_OK on success or an error code if anything goes -** wrong. An error is returned if "offset+amt" is larger than -** the available payload. +** This variant of sqlite3BtreePayload() works even if the cursor has not +** in the CURSOR_VALID state. It is only used by the sqlite3_blob_read() +** interface. */ -SQLITE_PRIVATE int sqlite3BtreeData(BtCursor *pCur, u32 offset, u32 amt, void *pBuf){ - int rc; - #ifndef SQLITE_OMIT_INCRBLOB +static SQLITE_NOINLINE int accessPayloadChecked( + BtCursor *pCur, + u32 offset, + u32 amt, + void *pBuf +){ + int rc; if ( pCur->eState==CURSOR_INVALID ){ return SQLITE_ABORT; } -#endif - assert( cursorOwnsBtShared(pCur) ); - rc = restoreCursorPosition(pCur); - if( rc==SQLITE_OK ){ - assert( pCur->eState==CURSOR_VALID ); - assert( pCur->iPage>=0 && pCur->apPage[pCur->iPage] ); - assert( pCur->aiIdx[pCur->iPage]apPage[pCur->iPage]->nCell ); - rc = accessPayload(pCur, offset, amt, pBuf, 0); + rc = btreeRestoreCursorPosition(pCur); + return rc ? rc : accessPayload(pCur, offset, amt, pBuf, 0); +} +SQLITE_PRIVATE int sqlite3BtreePayloadChecked(BtCursor *pCur, u32 offset, u32 amt, void *pBuf){ + if( pCur->eState==CURSOR_VALID ){ + assert( cursorOwnsBtShared(pCur) ); + return accessPayload(pCur, offset, amt, pBuf, 0); + }else{ + return accessPayloadChecked(pCur, offset, amt, pBuf); } - return rc; } +#endif /* SQLITE_OMIT_INCRBLOB */ /* ** Return a pointer to payload information from the entry that the @@ -62954,18 +65269,23 @@ static const void *fetchPayload( BtCursor *pCur, /* Cursor pointing to entry to read from */ u32 *pAmt /* Write the number of available bytes here */ ){ - u32 amt; - assert( pCur!=0 && pCur->iPage>=0 && pCur->apPage[pCur->iPage]); + int amt; + assert( pCur!=0 && pCur->iPage>=0 && pCur->pPage); assert( pCur->eState==CURSOR_VALID ); assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); assert( cursorOwnsBtShared(pCur) ); - assert( pCur->aiIdx[pCur->iPage]apPage[pCur->iPage]->nCell ); + assert( pCur->ixpPage->nCell ); assert( pCur->info.nSize>0 ); - assert( pCur->info.pPayload>pCur->apPage[pCur->iPage]->aData || CORRUPT_DB ); - assert( pCur->info.pPayloadapPage[pCur->iPage]->aDataEnd ||CORRUPT_DB); - amt = (int)(pCur->apPage[pCur->iPage]->aDataEnd - pCur->info.pPayload); - if( pCur->info.nLocalinfo.nLocal; - *pAmt = amt; + assert( pCur->info.pPayload>pCur->pPage->aData || CORRUPT_DB ); + assert( pCur->info.pPayloadpPage->aDataEnd ||CORRUPT_DB); + amt = pCur->info.nLocal; + if( amt>(int)(pCur->pPage->aDataEnd - pCur->info.pPayload) ){ + /* There is too little space on the page for the expected amount + ** of local content. Database must be corrupt. */ + assert( CORRUPT_DB ); + amt = MAX(0, (int)(pCur->pPage->aDataEnd - pCur->info.pPayload)); + } + *pAmt = (u32)amt; return (void*)pCur->info.pPayload; } @@ -63010,13 +65330,14 @@ static int moveToChild(BtCursor *pCur, u32 newPgno){ } pCur->info.nSize = 0; pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); + pCur->aiIdx[pCur->iPage] = pCur->ix; + pCur->apPage[pCur->iPage] = pCur->pPage; + pCur->ix = 0; pCur->iPage++; - pCur->aiIdx[pCur->iPage] = 0; - return getAndInitPage(pBt, newPgno, &pCur->apPage[pCur->iPage], - pCur, pCur->curPagerFlags); + return getAndInitPage(pBt, newPgno, &pCur->pPage, pCur, pCur->curPagerFlags); } -#if SQLITE_DEBUG +#ifdef SQLITE_DEBUG /* ** Page pParent is an internal (non-leaf) tree page. This function ** asserts that page number iChild is the left-child if the iIdx'th @@ -63047,19 +65368,23 @@ static void assertParentIndex(MemPage *pParent, int iIdx, Pgno iChild){ ** the largest cell index. */ static void moveToParent(BtCursor *pCur){ + MemPage *pLeaf; assert( cursorOwnsBtShared(pCur) ); assert( pCur->eState==CURSOR_VALID ); assert( pCur->iPage>0 ); - assert( pCur->apPage[pCur->iPage] ); + assert( pCur->pPage ); assertParentIndex( pCur->apPage[pCur->iPage-1], pCur->aiIdx[pCur->iPage-1], - pCur->apPage[pCur->iPage]->pgno + pCur->pPage->pgno ); testcase( pCur->aiIdx[pCur->iPage-1] > pCur->apPage[pCur->iPage-1]->nCell ); pCur->info.nSize = 0; pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); - releasePageNotNull(pCur->apPage[pCur->iPage--]); + pCur->ix = pCur->aiIdx[pCur->iPage-1]; + pLeaf = pCur->pPage; + pCur->pPage = pCur->apPage[--pCur->iPage]; + releasePageNotNull(pLeaf); } /* @@ -63071,9 +65396,9 @@ static void moveToParent(BtCursor *pCur){ ** single child page. This can only happen with the table rooted at page 1. ** ** If the b-tree structure is empty, the cursor state is set to -** CURSOR_INVALID. Otherwise, the cursor is set to point to the first -** cell located on the root (or virtual root) page and the cursor state -** is set to CURSOR_VALID. +** CURSOR_INVALID and this routine returns SQLITE_EMPTY. Otherwise, +** the cursor is set to point to the first cell located on the root +** (or virtual root) page and the cursor state is set to CURSOR_VALID. ** ** If this function returns successfully, it may be assumed that the ** page-header flags indicate that the [virtual] root-page is the expected @@ -63091,34 +65416,40 @@ static int moveToRoot(BtCursor *pCur){ assert( CURSOR_INVALID < CURSOR_REQUIRESEEK ); assert( CURSOR_VALID < CURSOR_REQUIRESEEK ); assert( CURSOR_FAULT > CURSOR_REQUIRESEEK ); - if( pCur->eState>=CURSOR_REQUIRESEEK ){ - if( pCur->eState==CURSOR_FAULT ){ - assert( pCur->skipNext!=SQLITE_OK ); - return pCur->skipNext; - } - sqlite3BtreeClearCursor(pCur); - } + assert( pCur->eState < CURSOR_REQUIRESEEK || pCur->iPage<0 ); + assert( pCur->pgnoRoot>0 || pCur->iPage<0 ); if( pCur->iPage>=0 ){ - while( pCur->iPage ){ - assert( pCur->apPage[pCur->iPage]!=0 ); - releasePageNotNull(pCur->apPage[pCur->iPage--]); + if( pCur->iPage ){ + releasePageNotNull(pCur->pPage); + while( --pCur->iPage ){ + releasePageNotNull(pCur->apPage[pCur->iPage]); + } + pCur->pPage = pCur->apPage[0]; + goto skip_init; } }else if( pCur->pgnoRoot==0 ){ pCur->eState = CURSOR_INVALID; - return SQLITE_OK; + return SQLITE_EMPTY; }else{ assert( pCur->iPage==(-1) ); - rc = getAndInitPage(pCur->pBtree->pBt, pCur->pgnoRoot, &pCur->apPage[0], + if( pCur->eState>=CURSOR_REQUIRESEEK ){ + if( pCur->eState==CURSOR_FAULT ){ + assert( pCur->skipNext!=SQLITE_OK ); + return pCur->skipNext; + } + sqlite3BtreeClearCursor(pCur); + } + rc = getAndInitPage(pCur->pBtree->pBt, pCur->pgnoRoot, &pCur->pPage, 0, pCur->curPagerFlags); if( rc!=SQLITE_OK ){ pCur->eState = CURSOR_INVALID; return rc; } pCur->iPage = 0; - pCur->curIntKey = pCur->apPage[0]->intKey; + pCur->curIntKey = pCur->pPage->intKey; } - pRoot = pCur->apPage[0]; + pRoot = pCur->pPage; assert( pRoot->pgno==pCur->pgnoRoot ); /* If pCur->pKeyInfo is not NULL, then the caller that opened this cursor @@ -63133,13 +65464,15 @@ static int moveToRoot(BtCursor *pCur){ ** (or the freelist). */ assert( pRoot->intKey==1 || pRoot->intKey==0 ); if( pRoot->isInit==0 || (pCur->pKeyInfo==0)!=pRoot->intKey ){ - return SQLITE_CORRUPT_BKPT; + return SQLITE_CORRUPT_PAGE(pCur->pPage); } - pCur->aiIdx[0] = 0; +skip_init: + pCur->ix = 0; pCur->info.nSize = 0; pCur->curFlags &= ~(BTCF_AtLast|BTCF_ValidNKey|BTCF_ValidOvfl); + pRoot = pCur->pPage; if( pRoot->nCell>0 ){ pCur->eState = CURSOR_VALID; }else if( !pRoot->leaf ){ @@ -63150,6 +65483,7 @@ static int moveToRoot(BtCursor *pCur){ rc = moveToChild(pCur, subpage); }else{ pCur->eState = CURSOR_INVALID; + rc = SQLITE_EMPTY; } return rc; } @@ -63168,9 +65502,9 @@ static int moveToLeftmost(BtCursor *pCur){ assert( cursorOwnsBtShared(pCur) ); assert( pCur->eState==CURSOR_VALID ); - while( rc==SQLITE_OK && !(pPage = pCur->apPage[pCur->iPage])->leaf ){ - assert( pCur->aiIdx[pCur->iPage]nCell ); - pgno = get4byte(findCell(pPage, pCur->aiIdx[pCur->iPage])); + while( rc==SQLITE_OK && !(pPage = pCur->pPage)->leaf ){ + assert( pCur->ixnCell ); + pgno = get4byte(findCell(pPage, pCur->ix)); rc = moveToChild(pCur, pgno); } return rc; @@ -63193,13 +65527,13 @@ static int moveToRightmost(BtCursor *pCur){ assert( cursorOwnsBtShared(pCur) ); assert( pCur->eState==CURSOR_VALID ); - while( !(pPage = pCur->apPage[pCur->iPage])->leaf ){ + while( !(pPage = pCur->pPage)->leaf ){ pgno = get4byte(&pPage->aData[pPage->hdrOffset+8]); - pCur->aiIdx[pCur->iPage] = pPage->nCell; + pCur->ix = pPage->nCell; rc = moveToChild(pCur, pgno); if( rc ) return rc; } - pCur->aiIdx[pCur->iPage] = pPage->nCell-1; + pCur->ix = pPage->nCell-1; assert( pCur->info.nSize==0 ); assert( (pCur->curFlags & BTCF_ValidNKey)==0 ); return SQLITE_OK; @@ -63216,14 +65550,13 @@ SQLITE_PRIVATE int sqlite3BtreeFirst(BtCursor *pCur, int *pRes){ assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); rc = moveToRoot(pCur); if( rc==SQLITE_OK ){ - if( pCur->eState==CURSOR_INVALID ){ - assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->nCell==0 ); - *pRes = 1; - }else{ - assert( pCur->apPage[pCur->iPage]->nCell>0 ); - *pRes = 0; - rc = moveToLeftmost(pCur); - } + assert( pCur->pPage->nCell>0 ); + *pRes = 0; + rc = moveToLeftmost(pCur); + }else if( rc==SQLITE_EMPTY ){ + assert( pCur->pgnoRoot==0 || pCur->pPage->nCell==0 ); + *pRes = 1; + rc = SQLITE_OK; } return rc; } @@ -63247,28 +65580,26 @@ SQLITE_PRIVATE int sqlite3BtreeLast(BtCursor *pCur, int *pRes){ for(ii=0; iiiPage; ii++){ assert( pCur->aiIdx[ii]==pCur->apPage[ii]->nCell ); } - assert( pCur->aiIdx[pCur->iPage]==pCur->apPage[pCur->iPage]->nCell-1 ); - assert( pCur->apPage[pCur->iPage]->leaf ); + assert( pCur->ix==pCur->pPage->nCell-1 ); + assert( pCur->pPage->leaf ); #endif return SQLITE_OK; } rc = moveToRoot(pCur); if( rc==SQLITE_OK ){ - if( CURSOR_INVALID==pCur->eState ){ - assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->nCell==0 ); - *pRes = 1; + assert( pCur->eState==CURSOR_VALID ); + *pRes = 0; + rc = moveToRightmost(pCur); + if( rc==SQLITE_OK ){ + pCur->curFlags |= BTCF_AtLast; }else{ - assert( pCur->eState==CURSOR_VALID ); - *pRes = 0; - rc = moveToRightmost(pCur); - if( rc==SQLITE_OK ){ - pCur->curFlags |= BTCF_AtLast; - }else{ - pCur->curFlags &= ~BTCF_AtLast; - } - + pCur->curFlags &= ~BTCF_AtLast; } + }else if( rc==SQLITE_EMPTY ){ + assert( pCur->pgnoRoot==0 || pCur->pPage->nCell==0 ); + *pRes = 1; + rc = SQLITE_OK; } return rc; } @@ -63328,9 +65659,29 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( *pRes = 0; return SQLITE_OK; } - if( (pCur->curFlags & BTCF_AtLast)!=0 && pCur->info.nKeyinfo.nKeycurFlags & BTCF_AtLast)!=0 ){ + *pRes = -1; + return SQLITE_OK; + } + /* If the requested key is one more than the previous key, then + ** try to get there using sqlite3BtreeNext() rather than a full + ** binary search. This is an optimization only. The correct answer + ** is still obtained without this case, only a little more slowely */ + if( pCur->info.nKey+1==intKey && !pCur->skipNext ){ + *pRes = 0; + rc = sqlite3BtreeNext(pCur, 0); + if( rc==SQLITE_OK ){ + getCellInfo(pCur); + if( pCur->info.nKey==intKey ){ + return SQLITE_OK; + } + }else if( rc==SQLITE_DONE ){ + rc = SQLITE_OK; + }else{ + return rc; + } + } } } @@ -63347,22 +65698,23 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( rc = moveToRoot(pCur); if( rc ){ + if( rc==SQLITE_EMPTY ){ + assert( pCur->pgnoRoot==0 || pCur->pPage->nCell==0 ); + *pRes = -1; + return SQLITE_OK; + } return rc; } - assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage] ); - assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->isInit ); - assert( pCur->eState==CURSOR_INVALID || pCur->apPage[pCur->iPage]->nCell>0 ); - if( pCur->eState==CURSOR_INVALID ){ - *pRes = -1; - assert( pCur->pgnoRoot==0 || pCur->apPage[pCur->iPage]->nCell==0 ); - return SQLITE_OK; - } - assert( pCur->apPage[0]->intKey==pCur->curIntKey ); + assert( pCur->pPage ); + assert( pCur->pPage->isInit ); + assert( pCur->eState==CURSOR_VALID ); + assert( pCur->pPage->nCell > 0 ); + assert( pCur->iPage==0 || pCur->apPage[0]->intKey==pCur->curIntKey ); assert( pCur->curIntKey || pIdxKey ); for(;;){ int lwr, upr, idx, c; Pgno chldPg; - MemPage *pPage = pCur->apPage[pCur->iPage]; + MemPage *pPage = pCur->pPage; u8 *pCell; /* Pointer to current cell in pPage */ /* pPage->nCell must be greater than zero. If this is the root-page @@ -63377,14 +65729,16 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( upr = pPage->nCell-1; assert( biasRight==0 || biasRight==1 ); idx = upr>>(1-biasRight); /* idx = biasRight ? upr : (lwr+upr)/2; */ - pCur->aiIdx[pCur->iPage] = (u16)idx; + pCur->ix = (u16)idx; if( xRecordCompare==0 ){ for(;;){ i64 nCellKey; pCell = findCellPastPtr(pPage, idx); if( pPage->intKeyLeaf ){ while( 0x80 <= *(pCell++) ){ - if( pCell>=pPage->aDataEnd ) return SQLITE_CORRUPT_BKPT; + if( pCell>=pPage->aDataEnd ){ + return SQLITE_CORRUPT_PAGE(pPage); + } } } getVarint(pCell, (u64*)&nCellKey); @@ -63396,16 +65750,16 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( if( lwr>upr ){ c = +1; break; } }else{ assert( nCellKey==intKey ); - pCur->curFlags |= BTCF_ValidNKey; - pCur->info.nKey = nCellKey; - pCur->aiIdx[pCur->iPage] = (u16)idx; + pCur->ix = (u16)idx; if( !pPage->leaf ){ lwr = idx; goto moveto_next_layer; }else{ + pCur->curFlags |= BTCF_ValidNKey; + pCur->info.nKey = nCellKey; + pCur->info.nSize = 0; *pRes = 0; - rc = SQLITE_OK; - goto moveto_finish; + return SQLITE_OK; } } assert( lwr+upr>=0 ); @@ -63457,7 +65811,7 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( testcase( nCell==1 ); /* Invalid key size: 0x80 0x80 0x01 */ testcase( nCell==2 ); /* Minimum legal index key size */ if( nCell<2 ){ - rc = SQLITE_CORRUPT_BKPT; + rc = SQLITE_CORRUPT_PAGE(pPage); goto moveto_finish; } pCellKey = sqlite3Malloc( nCell+18 ); @@ -63465,8 +65819,9 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( rc = SQLITE_NOMEM_BKPT; goto moveto_finish; } - pCur->aiIdx[pCur->iPage] = (u16)idx; - rc = accessPayload(pCur, 0, nCell, (unsigned char*)pCellKey, 2); + pCur->ix = (u16)idx; + rc = accessPayload(pCur, 0, nCell, (unsigned char*)pCellKey, 0); + pCur->curFlags &= ~BTCF_ValidOvfl; if( rc ){ sqlite3_free(pCellKey); goto moveto_finish; @@ -63486,8 +65841,8 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( assert( c==0 ); *pRes = 0; rc = SQLITE_OK; - pCur->aiIdx[pCur->iPage] = (u16)idx; - if( pIdxKey->errCode ) rc = SQLITE_CORRUPT; + pCur->ix = (u16)idx; + if( pIdxKey->errCode ) rc = SQLITE_CORRUPT_BKPT; goto moveto_finish; } if( lwr>upr ) break; @@ -63498,8 +65853,8 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( assert( lwr==upr+1 || (pPage->intKey && !pPage->leaf) ); assert( pPage->isInit ); if( pPage->leaf ){ - assert( pCur->aiIdx[pCur->iPage]apPage[pCur->iPage]->nCell ); - pCur->aiIdx[pCur->iPage] = (u16)idx; + assert( pCur->ixpPage->nCell ); + pCur->ix = (u16)idx; *pRes = c; rc = SQLITE_OK; goto moveto_finish; @@ -63510,13 +65865,13 @@ SQLITE_PRIVATE int sqlite3BtreeMovetoUnpacked( }else{ chldPg = get4byte(findCell(pPage, lwr)); } - pCur->aiIdx[pCur->iPage] = (u16)lwr; + pCur->ix = (u16)lwr; rc = moveToChild(pCur, chldPg); if( rc ) break; } moveto_finish: pCur->info.nSize = 0; - pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); + assert( (pCur->curFlags & BTCF_ValidOvfl)==0 ); return rc; } @@ -63537,10 +65892,37 @@ SQLITE_PRIVATE int sqlite3BtreeEof(BtCursor *pCur){ } /* -** Advance the cursor to the next entry in the database. If -** successful then set *pRes=0. If the cursor -** was already pointing to the last entry in the database before -** this routine was called, then set *pRes=1. +** Return an estimate for the number of rows in the table that pCur is +** pointing to. Return a negative number if no estimate is currently +** available. +*/ +SQLITE_PRIVATE i64 sqlite3BtreeRowCountEst(BtCursor *pCur){ + i64 n; + u8 i; + + assert( cursorOwnsBtShared(pCur) ); + assert( sqlite3_mutex_held(pCur->pBtree->db->mutex) ); + + /* Currently this interface is only called by the OP_IfSmaller + ** opcode, and it that case the cursor will always be valid and + ** will always point to a leaf node. */ + if( NEVER(pCur->eState!=CURSOR_VALID) ) return -1; + if( NEVER(pCur->pPage->leaf==0) ) return -1; + + n = pCur->pPage->nCell; + for(i=0; iiPage; i++){ + n *= pCur->apPage[i]->nCell; + } + return n; +} + +/* +** Advance the cursor to the next entry in the database. +** Return value: +** +** SQLITE_OK success +** SQLITE_DONE cursor is already pointing at the last element +** otherwise some kind of error occurred ** ** The main entry point is sqlite3BtreeNext(). That routine is optimized ** for the common case of merely incrementing the cell counter BtCursor.aiIdx @@ -63548,23 +65930,19 @@ SQLITE_PRIVATE int sqlite3BtreeEof(BtCursor *pCur){ ** routine is called when it is necessary to move to a different page or ** to restore the cursor. ** -** The calling function will set *pRes to 0 or 1. The initial *pRes value -** will be 1 if the cursor being stepped corresponds to an SQL index and -** if this routine could have been skipped if that SQL index had been -** a unique index. Otherwise the caller will have set *pRes to zero. -** Zero is the common case. The btree implementation is free to use the -** initial *pRes value as a hint to improve performance, but the current -** SQLite btree implementation does not. (Note that the comdb2 btree -** implementation does use this hint, however.) +** If bit 0x01 of the F argument in sqlite3BtreeNext(C,F) is 1, then the +** cursor corresponds to an SQL index and this routine could have been +** skipped if the SQL index had been a unique index. The F argument +** is a hint to the implement. SQLite btree implementation does not use +** this hint, but COMDB2 does. */ -static SQLITE_NOINLINE int btreeNext(BtCursor *pCur, int *pRes){ +static SQLITE_NOINLINE int btreeNext(BtCursor *pCur){ int rc; int idx; MemPage *pPage; assert( cursorOwnsBtShared(pCur) ); assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); - assert( *pRes==0 ); if( pCur->eState!=CURSOR_VALID ){ assert( (pCur->curFlags & BTCF_ValidOvfl)==0 ); rc = restoreCursorPosition(pCur); @@ -63572,8 +65950,7 @@ static SQLITE_NOINLINE int btreeNext(BtCursor *pCur, int *pRes){ return rc; } if( CURSOR_INVALID==pCur->eState ){ - *pRes = 1; - return SQLITE_OK; + return SQLITE_DONE; } if( pCur->skipNext ){ assert( pCur->eState==CURSOR_VALID || pCur->eState==CURSOR_SKIPNEXT ); @@ -63586,8 +65963,8 @@ static SQLITE_NOINLINE int btreeNext(BtCursor *pCur, int *pRes){ } } - pPage = pCur->apPage[pCur->iPage]; - idx = ++pCur->aiIdx[pCur->iPage]; + pPage = pCur->pPage; + idx = ++pCur->ix; assert( pPage->isInit ); /* If the database file is corrupt, it is possible for the value of idx @@ -63605,15 +65982,14 @@ static SQLITE_NOINLINE int btreeNext(BtCursor *pCur, int *pRes){ } do{ if( pCur->iPage==0 ){ - *pRes = 1; pCur->eState = CURSOR_INVALID; - return SQLITE_OK; + return SQLITE_DONE; } moveToParent(pCur); - pPage = pCur->apPage[pCur->iPage]; - }while( pCur->aiIdx[pCur->iPage]>=pPage->nCell ); + pPage = pCur->pPage; + }while( pCur->ix>=pPage->nCell ); if( pPage->intKey ){ - return sqlite3BtreeNext(pCur, pRes); + return sqlite3BtreeNext(pCur, 0); }else{ return SQLITE_OK; } @@ -63624,20 +66000,19 @@ static SQLITE_NOINLINE int btreeNext(BtCursor *pCur, int *pRes){ return moveToLeftmost(pCur); } } -SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int *pRes){ +SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int flags){ MemPage *pPage; + UNUSED_PARAMETER( flags ); /* Used in COMDB2 but not native SQLite */ assert( cursorOwnsBtShared(pCur) ); - assert( pRes!=0 ); - assert( *pRes==0 || *pRes==1 ); + assert( flags==0 || flags==1 ); assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); pCur->info.nSize = 0; pCur->curFlags &= ~(BTCF_ValidNKey|BTCF_ValidOvfl); - *pRes = 0; - if( pCur->eState!=CURSOR_VALID ) return btreeNext(pCur, pRes); - pPage = pCur->apPage[pCur->iPage]; - if( (++pCur->aiIdx[pCur->iPage])>=pPage->nCell ){ - pCur->aiIdx[pCur->iPage]--; - return btreeNext(pCur, pRes); + if( pCur->eState!=CURSOR_VALID ) return btreeNext(pCur); + pPage = pCur->pPage; + if( (++pCur->ix)>=pPage->nCell ){ + pCur->ix--; + return btreeNext(pCur); } if( pPage->leaf ){ return SQLITE_OK; @@ -63647,10 +66022,12 @@ SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int *pRes){ } /* -** Step the cursor to the back to the previous entry in the database. If -** successful then set *pRes=0. If the cursor -** was already pointing to the first entry in the database before -** this routine was called, then set *pRes=1. +** Step the cursor to the back to the previous entry in the database. +** Return values: +** +** SQLITE_OK success +** SQLITE_DONE the cursor is already on the first element of the table +** otherwise some kind of error occurred ** ** The main entry point is sqlite3BtreePrevious(). That routine is optimized ** for the common case of merely decrementing the cell counter BtCursor.aiIdx @@ -63658,22 +66035,17 @@ SQLITE_PRIVATE int sqlite3BtreeNext(BtCursor *pCur, int *pRes){ ** helper routine is called when it is necessary to move to a different page ** or to restore the cursor. ** -** The calling function will set *pRes to 0 or 1. The initial *pRes value -** will be 1 if the cursor being stepped corresponds to an SQL index and -** if this routine could have been skipped if that SQL index had been -** a unique index. Otherwise the caller will have set *pRes to zero. -** Zero is the common case. The btree implementation is free to use the -** initial *pRes value as a hint to improve performance, but the current -** SQLite btree implementation does not. (Note that the comdb2 btree -** implementation does use this hint, however.) +** If bit 0x01 of the F argument to sqlite3BtreePrevious(C,F) is 1, then +** the cursor corresponds to an SQL index and this routine could have been +** skipped if the SQL index had been a unique index. The F argument is a +** hint to the implement. The native SQLite btree implementation does not +** use this hint, but COMDB2 does. */ -static SQLITE_NOINLINE int btreePrevious(BtCursor *pCur, int *pRes){ +static SQLITE_NOINLINE int btreePrevious(BtCursor *pCur){ int rc; MemPage *pPage; assert( cursorOwnsBtShared(pCur) ); - assert( pRes!=0 ); - assert( *pRes==0 ); assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); assert( (pCur->curFlags & (BTCF_AtLast|BTCF_ValidOvfl|BTCF_ValidNKey))==0 ); assert( pCur->info.nSize==0 ); @@ -63683,8 +66055,7 @@ static SQLITE_NOINLINE int btreePrevious(BtCursor *pCur, int *pRes){ return rc; } if( CURSOR_INVALID==pCur->eState ){ - *pRes = 1; - return SQLITE_OK; + return SQLITE_DONE; } if( pCur->skipNext ){ assert( pCur->eState==CURSOR_VALID || pCur->eState==CURSOR_SKIPNEXT ); @@ -63697,50 +66068,48 @@ static SQLITE_NOINLINE int btreePrevious(BtCursor *pCur, int *pRes){ } } - pPage = pCur->apPage[pCur->iPage]; + pPage = pCur->pPage; assert( pPage->isInit ); if( !pPage->leaf ){ - int idx = pCur->aiIdx[pCur->iPage]; + int idx = pCur->ix; rc = moveToChild(pCur, get4byte(findCell(pPage, idx))); if( rc ) return rc; rc = moveToRightmost(pCur); }else{ - while( pCur->aiIdx[pCur->iPage]==0 ){ + while( pCur->ix==0 ){ if( pCur->iPage==0 ){ pCur->eState = CURSOR_INVALID; - *pRes = 1; - return SQLITE_OK; + return SQLITE_DONE; } moveToParent(pCur); } assert( pCur->info.nSize==0 ); - assert( (pCur->curFlags & (BTCF_ValidNKey|BTCF_ValidOvfl))==0 ); + assert( (pCur->curFlags & (BTCF_ValidOvfl))==0 ); - pCur->aiIdx[pCur->iPage]--; - pPage = pCur->apPage[pCur->iPage]; + pCur->ix--; + pPage = pCur->pPage; if( pPage->intKey && !pPage->leaf ){ - rc = sqlite3BtreePrevious(pCur, pRes); + rc = sqlite3BtreePrevious(pCur, 0); }else{ rc = SQLITE_OK; } } return rc; } -SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor *pCur, int *pRes){ +SQLITE_PRIVATE int sqlite3BtreePrevious(BtCursor *pCur, int flags){ assert( cursorOwnsBtShared(pCur) ); - assert( pRes!=0 ); - assert( *pRes==0 || *pRes==1 ); + assert( flags==0 || flags==1 ); assert( pCur->skipNext==0 || pCur->eState!=CURSOR_VALID ); - *pRes = 0; + UNUSED_PARAMETER( flags ); /* Used in COMDB2 but not native SQLite */ pCur->curFlags &= ~(BTCF_AtLast|BTCF_ValidOvfl|BTCF_ValidNKey); pCur->info.nSize = 0; if( pCur->eState!=CURSOR_VALID - || pCur->aiIdx[pCur->iPage]==0 - || pCur->apPage[pCur->iPage]->leaf==0 + || pCur->ix==0 + || pCur->pPage->leaf==0 ){ - return btreePrevious(pCur, pRes); + return btreePrevious(pCur); } - pCur->aiIdx[pCur->iPage]--; + pCur->ix--; return SQLITE_OK; } @@ -63846,7 +66215,7 @@ static int allocateBtreePage( } testcase( iTrunk==mxPage ); if( iTrunk>mxPage || nSearch++ > n ){ - rc = SQLITE_CORRUPT_BKPT; + rc = SQLITE_CORRUPT_PGNO(pPrevTrunk ? pPrevTrunk->pgno : 1); }else{ rc = btreeGetUnusedPage(pBt, iTrunk, &pTrunk, 0); } @@ -63875,7 +66244,7 @@ static int allocateBtreePage( TRACE(("ALLOCATE: %d trunk - %d free pages left\n", *pPgno, n-1)); }else if( k>(u32)(pBt->usableSize/4 - 2) ){ /* Value of k is out of range. Database corruption */ - rc = SQLITE_CORRUPT_BKPT; + rc = SQLITE_CORRUPT_PGNO(iTrunk); goto end_allocate_page; #ifndef SQLITE_OMIT_AUTOVACUUM }else if( searchList @@ -63909,7 +66278,7 @@ static int allocateBtreePage( MemPage *pNewTrunk; Pgno iNewTrunk = get4byte(&pTrunk->aData[8]); if( iNewTrunk>mxPage ){ - rc = SQLITE_CORRUPT_BKPT; + rc = SQLITE_CORRUPT_PGNO(iTrunk); goto end_allocate_page; } testcase( iNewTrunk==mxPage ); @@ -63974,7 +66343,7 @@ static int allocateBtreePage( iPage = get4byte(&aData[8+closest*4]); testcase( iPage==mxPage ); if( iPage>mxPage ){ - rc = SQLITE_CORRUPT_BKPT; + rc = SQLITE_CORRUPT_PGNO(iTrunk); goto end_allocate_page; } testcase( iPage==mxPage ); @@ -64230,30 +66599,30 @@ static void freePage(MemPage *pPage, int *pRC){ static int clearCell( MemPage *pPage, /* The page that contains the Cell */ unsigned char *pCell, /* First byte of the Cell */ - u16 *pnSize /* Write the size of the Cell here */ + CellInfo *pInfo /* Size information about the cell */ ){ - BtShared *pBt = pPage->pBt; - CellInfo info; + BtShared *pBt; Pgno ovflPgno; int rc; int nOvfl; u32 ovflPageSize; assert( sqlite3_mutex_held(pPage->pBt->mutex) ); - pPage->xParseCell(pPage, pCell, &info); - *pnSize = info.nSize; - if( info.nLocal==info.nPayload ){ + pPage->xParseCell(pPage, pCell, pInfo); + if( pInfo->nLocal==pInfo->nPayload ){ return SQLITE_OK; /* No overflow pages. Return without doing anything */ } - if( pCell+info.nSize-1 > pPage->aData+pPage->maskPage ){ - return SQLITE_CORRUPT_BKPT; /* Cell extends past end of page */ + if( pCell+pInfo->nSize-1 > pPage->aData+pPage->maskPage ){ + /* Cell extends past end of page */ + return SQLITE_CORRUPT_PAGE(pPage); } - ovflPgno = get4byte(pCell + info.nSize - 4); + ovflPgno = get4byte(pCell + pInfo->nSize - 4); + pBt = pPage->pBt; assert( pBt->usableSize > 4 ); ovflPageSize = pBt->usableSize - 4; - nOvfl = (info.nPayload - info.nLocal + ovflPageSize - 1)/ovflPageSize; + nOvfl = (pInfo->nPayload - pInfo->nLocal + ovflPageSize - 1)/ovflPageSize; assert( nOvfl>0 || - (CORRUPT_DB && (info.nPayload + ovflPageSize)nPayload + ovflPageSize)pBt; - Pgno pgnoOvfl = 0; + BtShared *pBt; + Pgno pgnoOvfl; int nHeader; assert( sqlite3_mutex_held(pPage->pBt->mutex) ); /* pPage is not necessarily writeable since pCell might be auxiliary ** buffer space that is separate from the pPage buffer area */ - assert( pCellaData || pCell>=&pPage->aData[pBt->pageSize] + assert( pCellaData || pCell>=&pPage->aData[pPage->pBt->pageSize] || sqlite3PagerIswriteable(pPage->pDbPage) ); /* Fill in the header. */ @@ -64350,25 +66718,36 @@ static int fillInCell( } /* Fill in the payload */ + pPayload = &pCell[nHeader]; if( nPayload<=pPage->maxLocal ){ + /* This is the common case where everything fits on the btree page + ** and no overflow pages are required. */ n = nHeader + nPayload; testcase( n==3 ); testcase( n==4 ); if( n<4 ) n = 4; *pnSize = n; - spaceLeft = nPayload; - pPrior = pCell; - }else{ - int mn = pPage->minLocal; - n = mn + (nPayload - mn) % (pPage->pBt->usableSize - 4); - testcase( n==pPage->maxLocal ); - testcase( n==pPage->maxLocal+1 ); - if( n > pPage->maxLocal ) n = mn; - spaceLeft = n; - *pnSize = n + nHeader + 4; - pPrior = &pCell[nHeader+n]; + assert( nSrc<=nPayload ); + testcase( nSrcminLocal; + n = mn + (nPayload - mn) % (pPage->pBt->usableSize - 4); + testcase( n==pPage->maxLocal ); + testcase( n==pPage->maxLocal+1 ); + if( n > pPage->maxLocal ) n = mn; + spaceLeft = n; + *pnSize = n + nHeader + 4; + pPrior = &pCell[nHeader+n]; + pToRelease = 0; + pgnoOvfl = 0; + pBt = pPage->pBt; /* At this point variables should be set as follows: ** @@ -64382,7 +66761,7 @@ static int fillInCell( ** Use a call to btreeParseCellPtr() to verify that the values above ** were computed correctly. */ -#if SQLITE_DEBUG +#ifdef SQLITE_DEBUG { CellInfo info; pPage->xParseCell(pPage, pCell, &info); @@ -64394,8 +66773,35 @@ static int fillInCell( #endif /* Write the payload into the local Cell and any extra into overflow pages */ - while( nPayload>0 ){ + while( 1 ){ + n = nPayload; + if( n>spaceLeft ) n = spaceLeft; + + /* If pToRelease is not zero than pPayload points into the data area + ** of pToRelease. Make sure pToRelease is still writeable. */ + assert( pToRelease==0 || sqlite3PagerIswriteable(pToRelease->pDbPage) ); + + /* If pPayload is part of the data area of pPage, then make sure pPage + ** is still writeable */ + assert( pPayloadaData || pPayload>=&pPage->aData[pBt->pageSize] + || sqlite3PagerIswriteable(pPage->pDbPage) ); + + if( nSrc>=n ){ + memcpy(pPayload, pSrc, n); + }else if( nSrc>0 ){ + n = nSrc; + memcpy(pPayload, pSrc, n); + }else{ + memset(pPayload, 0, n); + } + nPayload -= n; + if( nPayload<=0 ) break; + pPayload += n; + pSrc += n; + nSrc -= n; + spaceLeft -= n; if( spaceLeft==0 ){ + MemPage *pOvfl = 0; #ifndef SQLITE_OMIT_AUTOVACUUM Pgno pgnoPtrmap = pgnoOvfl; /* Overflow page pointer-map entry page */ if( pBt->autoVacuum ){ @@ -64448,30 +66854,6 @@ static int fillInCell( pPayload = &pOvfl->aData[4]; spaceLeft = pBt->usableSize - 4; } - n = nPayload; - if( n>spaceLeft ) n = spaceLeft; - - /* If pToRelease is not zero than pPayload points into the data area - ** of pToRelease. Make sure pToRelease is still writeable. */ - assert( pToRelease==0 || sqlite3PagerIswriteable(pToRelease->pDbPage) ); - - /* If pPayload is part of the data area of pPage, then make sure pPage - ** is still writeable */ - assert( pPayloadaData || pPayload>=&pPage->aData[pBt->pageSize] - || sqlite3PagerIswriteable(pPage->pDbPage) ); - - if( nSrc>0 ){ - if( n>nSrc ) n = nSrc; - assert( pSrc ); - memcpy(pPayload, pSrc, n); - }else{ - memset(pPayload, 0, n); - } - nPayload -= n; - pPayload += n; - pSrc += n; - nSrc -= n; - spaceLeft -= n; } releasePage(pToRelease); return SQLITE_OK; @@ -64493,7 +66875,6 @@ static void dropCell(MemPage *pPage, int idx, int sz, int *pRC){ int hdr; /* Beginning of the header. 0 most pages. 100 page 1 */ if( *pRC ) return; - assert( idx>=0 && idxnCell ); assert( CORRUPT_DB || sz==cellSize(pPage, idx) ); assert( sqlite3PagerIswriteable(pPage->pDbPage) ); @@ -64504,7 +66885,7 @@ static void dropCell(MemPage *pPage, int idx, int sz, int *pRC){ hdr = pPage->hdrOffset; testcase( pc==get2byte(&data[hdr+5]) ); testcase( pc+sz==pPage->pBt->usableSize ); - if( pc < (u32)get2byte(&data[hdr+5]) || pc+sz > pPage->pBt->usableSize ){ + if( pc+sz > pPage->pBt->usableSize ){ *pRC = SQLITE_CORRUPT_BKPT; return; } @@ -64577,7 +66958,10 @@ static void insertCell( put4byte(pCell, iChild); } j = pPage->nOverflow++; - assert( j<(int)(sizeof(pPage->apOvfl)/sizeof(pPage->apOvfl[0])) ); + /* Comparison against ArraySize-1 since we hold back one extra slot + ** as a contingency. In other words, never need more than 3 overflow + ** slots but 4 are allocated, just to be safe. */ + assert( j < ArraySize(pPage->apOvfl)-1 ); pPage->apOvfl[j] = pCell; pPage->aiOvfl[j] = (u16)i; @@ -65317,7 +67701,7 @@ static int balance_nonroot( nMaxCells += 1+apOld[i]->nCell+apOld[i]->nOverflow; if( (i--)==0 ) break; - if( i+nxDiv==pParent->aiOvfl[0] && pParent->nOverflow ){ + if( pParent->nOverflow && i+nxDiv==pParent->aiOvfl[0] ){ apDiv[i] = pParent->apOvfl[0]; pgno = get4byte(apDiv[i]); szNew[i] = pParent->xCellSize(pParent, apDiv[i]); @@ -65339,7 +67723,7 @@ static int balance_nonroot( ** In this case, temporarily copy the cell into the aOvflSpace[] ** buffer. It will be copied out again as soon as the aSpace[] buffer ** is allocated. */ - if( pBt->btsFlags & BTS_SECURE_DELETE ){ + if( pBt->btsFlags & BTS_FAST_SECURE ){ int iOff; iOff = SQLITE_PTR_TO_INT(apDiv[i]) - SQLITE_PTR_TO_INT(pParent->aData); @@ -65368,10 +67752,8 @@ static int balance_nonroot( + nMaxCells*sizeof(u16) /* b.szCell */ + pBt->pageSize; /* aSpace1 */ - /* EVIDENCE-OF: R-28375-38319 SQLite will never request a scratch buffer - ** that is more than 6 times the database page size. */ assert( szScratch<=6*(int)pBt->pageSize ); - b.apCell = sqlite3ScratchMalloc( szScratch ); + b.apCell = sqlite3StackAllocRaw(0, szScratch ); if( b.apCell==0 ){ rc = SQLITE_NOMEM_BKPT; goto balance_cleanup; @@ -65509,7 +67891,6 @@ static int balance_nonroot( for(i=0; inFree; - if( szNew[i]<0 ){ rc = SQLITE_CORRUPT_BKPT; goto balance_cleanup; } for(j=0; jnOverflow; j++){ szNew[i] += 2 + p->xCellSize(p, p->apOvfl[j]); } @@ -65907,7 +68288,7 @@ static int balance_nonroot( ** free space needs to be up front. */ assert( nNew==1 || CORRUPT_DB ); - rc = defragmentPage(apNew[0]); + rc = defragmentPage(apNew[0], -1); testcase( rc!=SQLITE_OK ); assert( apNew[0]->nFree == (get2byte(&apNew[0]->aData[5])-apNew[0]->cellOffset-apNew[0]->nCell*2) @@ -65950,7 +68331,7 @@ static int balance_nonroot( ** Cleanup before returning. */ balance_cleanup: - sqlite3ScratchFree(b.apCell); + sqlite3StackFree(0, b.apCell); for(i=0; iiPage; - MemPage *pPage = pCur->apPage[iPage]; + MemPage *pPage = pCur->pPage; if( iPage==0 ){ if( pPage->nOverflow ){ @@ -66063,9 +68444,11 @@ static int balance(BtCursor *pCur){ rc = balance_deeper(pPage, &pCur->apPage[1]); if( rc==SQLITE_OK ){ pCur->iPage = 1; + pCur->ix = 0; pCur->aiIdx[0] = 0; - pCur->aiIdx[1] = 0; - assert( pCur->apPage[1]->nOverflow ); + pCur->apPage[0] = pPage; + pCur->pPage = pCur->apPage[1]; + assert( pCur->pPage->nOverflow ); } }else{ break; @@ -66145,6 +68528,7 @@ static int balance(BtCursor *pCur){ releasePage(pPage); pCur->iPage--; assert( pCur->iPage>=0 ); + pCur->pPage = pCur->apPage[pCur->iPage]; } }while( rc==SQLITE_OK ); @@ -66171,22 +68555,24 @@ static int balance(BtCursor *pCur){ ** pX.pData,nData,nZero fields must be zero. ** ** If the seekResult parameter is non-zero, then a successful call to -** MovetoUnpacked() to seek cursor pCur to (pKey, nKey) has already -** been performed. seekResult is the search result returned (a negative -** number if pCur points at an entry that is smaller than (pKey, nKey), or -** a positive value if pCur points at an entry that is larger than -** (pKey, nKey)). -** -** If the seekResult parameter is non-zero, then the caller guarantees that -** cursor pCur is pointing at the existing copy of a row that is to be -** overwritten. If the seekResult parameter is 0, then cursor pCur may -** point to any entry or to no entry at all and so this function has to seek -** the cursor before the new key can be inserted. +** MovetoUnpacked() to seek cursor pCur to (pKey,nKey) has already +** been performed. In other words, if seekResult!=0 then the cursor +** is currently pointing to a cell that will be adjacent to the cell +** to be inserted. If seekResult<0 then pCur points to a cell that is +** smaller then (pKey,nKey). If seekResult>0 then pCur points to a cell +** that is larger than (pKey,nKey). +** +** If seekResult==0, that means pCur is pointing at some unknown location. +** In that case, this routine must seek the cursor to the correct insertion +** point for (pKey,nKey) before doing the insertion. For index btrees, +** if pX->nMem is non-zero, then pX->aMem contains pointers to the unpacked +** key values and pX->aMem can be used instead of pX->pKey to avoid having +** to decode the key. */ SQLITE_PRIVATE int sqlite3BtreeInsert( BtCursor *pCur, /* Insert data into the table of this cursor */ const BtreePayload *pX, /* Content of the row to be inserted */ - int appendBias, /* True if this is likely an append */ + int flags, /* True if this is likely an append */ int seekResult /* Result of prior MovetoUnpacked() call */ ){ int rc; @@ -66199,6 +68585,8 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( unsigned char *oldCell; unsigned char *newCell = 0; + assert( (flags & (BTREE_SAVEPOSITION|BTREE_APPEND))==flags ); + if( pCur->eState==CURSOR_FAULT ){ assert( pCur->skipNext!=SQLITE_OK ); return pCur->skipNext; @@ -66237,25 +68625,42 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( assert( pX->pKey==0 ); /* If this is an insert into a table b-tree, invalidate any incrblob ** cursors open on the row being replaced */ - invalidateIncrblobCursors(p, pX->nKey, 0); + invalidateIncrblobCursors(p, pCur->pgnoRoot, pX->nKey, 0); + + /* If BTREE_SAVEPOSITION is set, the cursor must already be pointing + ** to a row with the same key as the new entry being inserted. */ + assert( (flags & BTREE_SAVEPOSITION)==0 || + ((pCur->curFlags&BTCF_ValidNKey)!=0 && pX->nKey==pCur->info.nKey) ); /* If the cursor is currently on the last row and we are appending a ** new row onto the end, set the "loc" to avoid an unnecessary ** btreeMoveto() call */ - if( (pCur->curFlags&BTCF_ValidNKey)!=0 && pX->nKey>0 - && pCur->info.nKey==pX->nKey-1 ){ - loc = -1; + if( (pCur->curFlags&BTCF_ValidNKey)!=0 && pX->nKey==pCur->info.nKey ){ + loc = 0; }else if( loc==0 ){ - rc = sqlite3BtreeMovetoUnpacked(pCur, 0, pX->nKey, appendBias, &loc); + rc = sqlite3BtreeMovetoUnpacked(pCur, 0, pX->nKey, flags!=0, &loc); if( rc ) return rc; } - }else if( loc==0 ){ - rc = btreeMoveto(pCur, pX->pKey, pX->nKey, appendBias, &loc); + }else if( loc==0 && (flags & BTREE_SAVEPOSITION)==0 ){ + if( pX->nMem ){ + UnpackedRecord r; + r.pKeyInfo = pCur->pKeyInfo; + r.aMem = pX->aMem; + r.nField = pX->nMem; + r.default_rc = 0; + r.errCode = 0; + r.r1 = 0; + r.r2 = 0; + r.eqSeen = 0; + rc = sqlite3BtreeMovetoUnpacked(pCur, &r, 0, flags!=0, &loc); + }else{ + rc = btreeMoveto(pCur, pX->pKey, pX->nKey, flags!=0, &loc); + } if( rc ) return rc; } assert( pCur->eState==CURSOR_VALID || (pCur->eState==CURSOR_INVALID && loc) ); - pPage = pCur->apPage[pCur->iPage]; + pPage = pCur->pPage; assert( pPage->intKey || pX->nKey>=0 ); assert( pPage->leaf || !pPage->intKey ); @@ -66269,9 +68674,9 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( if( rc ) goto end_insert; assert( szNew==pPage->xCellSize(pPage, newCell) ); assert( szNew <= MX_CELL_SIZE(pBt) ); - idx = pCur->aiIdx[pCur->iPage]; + idx = pCur->ix; if( loc==0 ){ - u16 szOld; + CellInfo info; assert( idxnCell ); rc = sqlite3PagerWrite(pPage->pDbPage); if( rc ){ @@ -66281,12 +68686,30 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( if( !pPage->leaf ){ memcpy(newCell, oldCell, 4); } - rc = clearCell(pPage, oldCell, &szOld); - dropCell(pPage, idx, szOld, &rc); + rc = clearCell(pPage, oldCell, &info); + if( info.nSize==szNew && info.nLocal==info.nPayload + && (!ISAUTOVACUUM || szNewminLocal) + ){ + /* Overwrite the old cell with the new if they are the same size. + ** We could also try to do this if the old cell is smaller, then add + ** the leftover space to the free list. But experiments show that + ** doing that is no faster then skipping this optimization and just + ** calling dropCell() and insertCell(). + ** + ** This optimization cannot be used on an autovacuum database if the + ** new entry uses overflow pages, as the insertCell() call below is + ** necessary to add the PTRMAP_OVERFLOW1 pointer-map entry. */ + assert( rc==SQLITE_OK ); /* clearCell never fails when nLocal==nPayload */ + if( oldCell+szNew > pPage->aDataEnd ) return SQLITE_CORRUPT_BKPT; + memcpy(oldCell, newCell, szNew); + return SQLITE_OK; + } + dropCell(pPage, idx, info.nSize, &rc); if( rc ) goto end_insert; }else if( loc<0 && pPage->nCell>0 ){ assert( pPage->leaf ); - idx = ++pCur->aiIdx[pCur->iPage]; + idx = ++pCur->ix; + pCur->curFlags &= ~BTCF_ValidNKey; }else{ assert( pPage->leaf ); } @@ -66324,10 +68747,24 @@ SQLITE_PRIVATE int sqlite3BtreeInsert( ** fails. Internal data structure corruption will result otherwise. ** Also, set the cursor state to invalid. This stops saveCursorPosition() ** from trying to save the current position of the cursor. */ - pCur->apPage[pCur->iPage]->nOverflow = 0; + pCur->pPage->nOverflow = 0; pCur->eState = CURSOR_INVALID; + if( (flags & BTREE_SAVEPOSITION) && rc==SQLITE_OK ){ + btreeReleaseAllCursorPages(pCur); + if( pCur->pKeyInfo ){ + assert( pCur->pKey==0 ); + pCur->pKey = sqlite3Malloc( pX->nKey ); + if( pCur->pKey==0 ){ + rc = SQLITE_NOMEM; + }else{ + memcpy(pCur->pKey, pX->pKey, pX->nKey); + } + } + pCur->eState = CURSOR_REQUIRESEEK; + pCur->nKey = pX->nKey; + } } - assert( pCur->apPage[pCur->iPage]->nOverflow==0 ); + assert( pCur->iPage<0 || pCur->pPage->nOverflow==0 ); end_insert: return rc; @@ -66358,7 +68795,7 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ unsigned char *pCell; /* Pointer to cell to delete */ int iCellIdx; /* Index of cell to delete */ int iCellDepth; /* Depth of node containing pCell */ - u16 szCell; /* Size of the cell being deleted */ + CellInfo info; /* Size of the cell being deleted */ int bSkipnext = 0; /* Leaf cursor in SKIPNEXT state */ u8 bPreserve = flags & BTREE_SAVEPOSITION; /* Keep cursor valid */ @@ -66368,13 +68805,13 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ assert( pCur->curFlags & BTCF_WriteFlag ); assert( hasSharedCacheTableLock(p, pCur->pgnoRoot, pCur->pKeyInfo!=0, 2) ); assert( !hasReadConflicts(p, pCur->pgnoRoot) ); - assert( pCur->aiIdx[pCur->iPage]apPage[pCur->iPage]->nCell ); + assert( pCur->ixpPage->nCell ); assert( pCur->eState==CURSOR_VALID ); assert( (flags & ~(BTREE_SAVEPOSITION | BTREE_AUXDELETE))==0 ); iCellDepth = pCur->iPage; - iCellIdx = pCur->aiIdx[iCellDepth]; - pPage = pCur->apPage[iCellDepth]; + iCellIdx = pCur->ix; + pPage = pCur->pPage; pCell = findCell(pPage, iCellIdx); /* If the bPreserve flag is set to true, then the cursor position must @@ -66407,8 +68844,8 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ ** sub-tree headed by the child page of the cell being deleted. This makes ** balancing the tree following the delete operation easier. */ if( !pPage->leaf ){ - int notUsed = 0; - rc = sqlite3BtreePrevious(pCur, ¬Used); + rc = sqlite3BtreePrevious(pCur, 0); + assert( rc!=SQLITE_DONE ); if( rc ) return rc; } @@ -66422,7 +68859,7 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ /* If this is a delete operation to remove a row from a table b-tree, ** invalidate any incrblob cursors open on the row being deleted. */ if( pCur->pKeyInfo==0 ){ - invalidateIncrblobCursors(p, pCur->info.nKey, 0); + invalidateIncrblobCursors(p, pCur->pgnoRoot, pCur->info.nKey, 0); } /* Make the page containing the entry to be deleted writable. Then free any @@ -66430,8 +68867,8 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ ** itself from within the page. */ rc = sqlite3PagerWrite(pPage->pDbPage); if( rc ) return rc; - rc = clearCell(pPage, pCell, &szCell); - dropCell(pPage, iCellIdx, szCell, &rc); + rc = clearCell(pPage, pCell, &info); + dropCell(pPage, iCellIdx, info.nSize, &rc); if( rc ) return rc; /* If the cell deleted was not located on a leaf page, then the cursor @@ -66440,11 +68877,16 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ ** node. The cell from the leaf node needs to be moved to the internal ** node to replace the deleted cell. */ if( !pPage->leaf ){ - MemPage *pLeaf = pCur->apPage[pCur->iPage]; + MemPage *pLeaf = pCur->pPage; int nCell; - Pgno n = pCur->apPage[iCellDepth+1]->pgno; + Pgno n; unsigned char *pTmp; + if( iCellDepthiPage-1 ){ + n = pCur->apPage[iCellDepth+1]->pgno; + }else{ + n = pCur->pPage->pgno; + } pCell = findCell(pLeaf, pLeaf->nCell-1); if( pCell<&pLeaf->aData[4] ) return SQLITE_CORRUPT_BKPT; nCell = pLeaf->xCellSize(pLeaf, pCell); @@ -66476,29 +68918,34 @@ SQLITE_PRIVATE int sqlite3BtreeDelete(BtCursor *pCur, u8 flags){ ** well. */ rc = balance(pCur); if( rc==SQLITE_OK && pCur->iPage>iCellDepth ){ + releasePageNotNull(pCur->pPage); + pCur->iPage--; while( pCur->iPage>iCellDepth ){ releasePage(pCur->apPage[pCur->iPage--]); } + pCur->pPage = pCur->apPage[pCur->iPage]; rc = balance(pCur); } if( rc==SQLITE_OK ){ if( bSkipnext ){ assert( bPreserve && (pCur->iPage==iCellDepth || CORRUPT_DB) ); - assert( pPage==pCur->apPage[pCur->iPage] || CORRUPT_DB ); + assert( pPage==pCur->pPage || CORRUPT_DB ); assert( (pPage->nCell>0 || CORRUPT_DB) && iCellIdx<=pPage->nCell ); pCur->eState = CURSOR_SKIPNEXT; if( iCellIdx>=pPage->nCell ){ pCur->skipNext = -1; - pCur->aiIdx[iCellDepth] = pPage->nCell-1; + pCur->ix = pPage->nCell-1; }else{ pCur->skipNext = 1; } }else{ rc = moveToRoot(pCur); if( bPreserve ){ + btreeReleaseAllCursorPages(pCur); pCur->eState = CURSOR_REQUIRESEEK; } + if( rc==SQLITE_EMPTY ) rc = SQLITE_OK; } } return rc; @@ -66681,7 +69128,7 @@ static int clearDatabasePage( unsigned char *pCell; int i; int hdr; - u16 szCell; + CellInfo info; assert( sqlite3_mutex_held(pBt->mutex) ); if( pgno>btreePagecount(pBt) ){ @@ -66701,7 +69148,7 @@ static int clearDatabasePage( rc = clearDatabasePage(pBt, get4byte(pCell), 1, pnChange); if( rc ) goto cleardatabasepage_out; } - rc = clearCell(pPage, pCell, &szCell); + rc = clearCell(pPage, pCell, &info); if( rc ) goto cleardatabasepage_out; } if( !pPage->leaf ){ @@ -66749,7 +69196,7 @@ SQLITE_PRIVATE int sqlite3BtreeClearTable(Btree *p, int iTable, int *pnChange){ /* Invalidate all incrblob cursors open on table iTable (assuming iTable ** is the root of a table b-tree - if it is not, the following call is ** a no-op). */ - invalidateIncrblobCursors(p, 0, 1); + invalidateIncrblobCursors(p, (Pgno)iTable, 0, 1); rc = clearDatabasePage(pBt, (Pgno)iTable, 0, pnChange); } sqlite3BtreeLeave(p); @@ -66792,27 +69239,7 @@ static int btreeDropTable(Btree *p, Pgno iTable, int *piMoved){ assert( sqlite3BtreeHoldsMutex(p) ); assert( p->inTrans==TRANS_WRITE ); - - /* It is illegal to drop a table if any cursors are open on the - ** database. This is because in auto-vacuum mode the backend may - ** need to move another root-page to fill a gap left by the deleted - ** root page. If an open cursor was using this page a problem would - ** occur. - ** - ** This error is caught long before control reaches this point. - */ - if( NEVER(pBt->pCursor) ){ - sqlite3ConnectionBlocked(p->db, pBt->pCursor->pBtree->db); - return SQLITE_LOCKED_SHAREDCACHE; - } - - /* - ** It is illegal to drop the sqlite_master table on page 1. But again, - ** this error is caught long before reaching this point. - */ - if( NEVER(iTable<2) ){ - return SQLITE_CORRUPT_BKPT; - } + assert( iTable>=2 ); rc = btreeGetPage(pBt, (Pgno)iTable, &pPage, 0); if( rc ) return rc; @@ -66983,11 +69410,11 @@ SQLITE_PRIVATE int sqlite3BtreeCount(BtCursor *pCur, i64 *pnEntry){ i64 nEntry = 0; /* Value to return in *pnEntry */ int rc; /* Return code */ - if( pCur->pgnoRoot==0 ){ + rc = moveToRoot(pCur); + if( rc==SQLITE_EMPTY ){ *pnEntry = 0; return SQLITE_OK; } - rc = moveToRoot(pCur); /* Unless an error occurs, the following loop runs one iteration for each ** page in the B-Tree structure (not including overflow pages). @@ -67000,7 +69427,7 @@ SQLITE_PRIVATE int sqlite3BtreeCount(BtCursor *pCur, i64 *pnEntry){ ** this page contains countable entries. Increment the entry counter ** accordingly. */ - pPage = pCur->apPage[pCur->iPage]; + pPage = pCur->pPage; if( pPage->leaf || !pPage->intKey ){ nEntry += pPage->nCell; } @@ -67023,16 +69450,16 @@ SQLITE_PRIVATE int sqlite3BtreeCount(BtCursor *pCur, i64 *pnEntry){ return moveToRoot(pCur); } moveToParent(pCur); - }while ( pCur->aiIdx[pCur->iPage]>=pCur->apPage[pCur->iPage]->nCell ); + }while ( pCur->ix>=pCur->pPage->nCell ); - pCur->aiIdx[pCur->iPage]++; - pPage = pCur->apPage[pCur->iPage]; + pCur->ix++; + pPage = pCur->pPage; } /* Descend to the child node of the cell that the cursor currently ** points at. This is the right-child if (iIdx==pPage->nCell). */ - iIdx = pCur->aiIdx[pCur->iPage]; + iIdx = pCur->ix; if( iIdx==pPage->nCell ){ rc = moveToChild(pCur, get4byte(&pPage->aData[pPage->hdrOffset+8])); }else{ @@ -67417,6 +69844,7 @@ static int checkTreePage( checkAppendMsg(pCheck, "Rowid %lld out of order", info.nKey); } maxKey = info.nKey; + keyCanBeEqual = 0; /* Only the first key on the page may ==maxKey */ } /* Check the content overflow list */ @@ -67720,7 +70148,7 @@ SQLITE_PRIVATE int sqlite3BtreeCheckpoint(Btree *p, int eMode, int *pnLog, int * if( pBt->inTransaction!=TRANS_NONE ){ rc = SQLITE_LOCKED; }else{ - rc = sqlite3PagerCheckpoint(pBt->pPager, eMode, pnLog, pnCkpt); + rc = sqlite3PagerCheckpoint(pBt->pPager, p->db, eMode, pnLog, pnCkpt); } sqlite3BtreeLeave(p); } @@ -67866,7 +70294,7 @@ SQLITE_PRIVATE int sqlite3BtreePutData(BtCursor *pCsr, u32 offset, u32 amt, void && pCsr->pBt->inTransaction==TRANS_WRITE ); assert( hasSharedCacheTableLock(pCsr->pBtree, pCsr->pgnoRoot, 0, 2) ); assert( !hasReadConflicts(pCsr->pBtree, pCsr->pgnoRoot) ); - assert( pCsr->apPage[pCsr->iPage]->intKey ); + assert( pCsr->pPage->intKey ); return accessPayload(pCsr, offset, amt, (unsigned char *)z, 1); } @@ -68789,7 +71217,7 @@ SQLITE_PRIVATE int sqlite3BtreeCopyFile(Btree *pTo, Btree *pFrom){ */ SQLITE_PRIVATE int sqlite3VdbeCheckMemInvariants(Mem *p){ /* If MEM_Dyn is set then Mem.xDel!=0. - ** Mem.xDel is might not be initialized if MEM_Dyn is clear. + ** Mem.xDel might not be initialized if MEM_Dyn is clear. */ assert( (p->flags & MEM_Dyn)==0 || p->xDel!=0 ); @@ -68802,6 +71230,35 @@ SQLITE_PRIVATE int sqlite3VdbeCheckMemInvariants(Mem *p){ /* Cannot be both MEM_Int and MEM_Real at the same time */ assert( (p->flags & (MEM_Int|MEM_Real))!=(MEM_Int|MEM_Real) ); + if( p->flags & MEM_Null ){ + /* Cannot be both MEM_Null and some other type */ + assert( (p->flags & (MEM_Int|MEM_Real|MEM_Str|MEM_Blob + |MEM_RowSet|MEM_Frame|MEM_Agg))==0 ); + + /* If MEM_Null is set, then either the value is a pure NULL (the usual + ** case) or it is a pointer set using sqlite3_bind_pointer() or + ** sqlite3_result_pointer(). If a pointer, then MEM_Term must also be + ** set. + */ + if( (p->flags & (MEM_Term|MEM_Subtype))==(MEM_Term|MEM_Subtype) ){ + /* This is a pointer type. There may be a flag to indicate what to + ** do with the pointer. */ + assert( ((p->flags&MEM_Dyn)!=0 ? 1 : 0) + + ((p->flags&MEM_Ephem)!=0 ? 1 : 0) + + ((p->flags&MEM_Static)!=0 ? 1 : 0) <= 1 ); + + /* No other bits set */ + assert( (p->flags & ~(MEM_Null|MEM_Term|MEM_Subtype + |MEM_Dyn|MEM_Ephem|MEM_Static))==0 ); + }else{ + /* A pure NULL might have other flags, such as MEM_Static, MEM_Dyn, + ** MEM_Ephem, MEM_Cleared, or MEM_Subtype */ + } + }else{ + /* The MEM_Cleared bit is only allowed on NULLs */ + assert( (p->flags & MEM_Cleared)==0 ); + } + /* The szMalloc field holds the correct memory allocation size */ assert( p->szMalloc==0 || p->szMalloc==sqlite3DbMallocSize(p->db,p->zMalloc) ); @@ -68887,26 +71344,25 @@ SQLITE_PRIVATE SQLITE_NOINLINE int sqlite3VdbeMemGrow(Mem *pMem, int n, int bPre assert( pMem->szMalloc==0 || pMem->szMalloc==sqlite3DbMallocSize(pMem->db, pMem->zMalloc) ); - if( pMem->szMallocszMalloc>0 && pMem->z==pMem->zMalloc ){ - pMem->z = pMem->zMalloc = sqlite3DbReallocOrFree(pMem->db, pMem->z, n); - bPreserve = 0; - }else{ - if( pMem->szMalloc>0 ) sqlite3DbFree(pMem->db, pMem->zMalloc); - pMem->zMalloc = sqlite3DbMallocRaw(pMem->db, n); - } - if( pMem->zMalloc==0 ){ - sqlite3VdbeMemSetNull(pMem); - pMem->z = 0; - pMem->szMalloc = 0; - return SQLITE_NOMEM_BKPT; - }else{ - pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->zMalloc); - } + if( n<32 ) n = 32; + if( pMem->szMalloc>0 && bPreserve && pMem->z==pMem->zMalloc ){ + pMem->z = pMem->zMalloc = sqlite3DbReallocOrFree(pMem->db, pMem->z, n); + bPreserve = 0; + }else{ + if( pMem->szMalloc>0 ) sqlite3DbFreeNN(pMem->db, pMem->zMalloc); + pMem->zMalloc = sqlite3DbMallocRaw(pMem->db, n); + } + if( pMem->zMalloc==0 ){ + sqlite3VdbeMemSetNull(pMem); + pMem->z = 0; + pMem->szMalloc = 0; + return SQLITE_NOMEM_BKPT; + }else{ + pMem->szMalloc = sqlite3DbMallocSize(pMem->db, pMem->zMalloc); } - if( bPreserve && pMem->z && pMem->z!=pMem->zMalloc ){ + if( bPreserve && pMem->z ){ + assert( pMem->z!=pMem->zMalloc ); memcpy(pMem->zMalloc, pMem->z, pMem->n); } if( (pMem->flags&MEM_Dyn)!=0 ){ @@ -68944,6 +71400,20 @@ SQLITE_PRIVATE int sqlite3VdbeMemClearAndResize(Mem *pMem, int szNew){ return SQLITE_OK; } +/* +** It is already known that pMem contains an unterminated string. +** Add the zero terminator. +*/ +static SQLITE_NOINLINE int vdbeMemAddTerminator(Mem *pMem){ + if( sqlite3VdbeMemGrow(pMem, pMem->n+2, 1) ){ + return SQLITE_NOMEM_BKPT; + } + pMem->z[pMem->n] = 0; + pMem->z[pMem->n+1] = 0; + pMem->flags |= MEM_Term; + return SQLITE_OK; +} + /* ** Change pMem so that its MEM_Str or MEM_Blob value is stored in ** MEM.zMalloc, where it can be safely written. @@ -68956,12 +71426,8 @@ SQLITE_PRIVATE int sqlite3VdbeMemMakeWriteable(Mem *pMem){ if( (pMem->flags & (MEM_Str|MEM_Blob))!=0 ){ if( ExpandBlob(pMem) ) return SQLITE_NOMEM; if( pMem->szMalloc==0 || pMem->z!=pMem->zMalloc ){ - if( sqlite3VdbeMemGrow(pMem, pMem->n + 2, 1) ){ - return SQLITE_NOMEM_BKPT; - } - pMem->z[pMem->n] = 0; - pMem->z[pMem->n+1] = 0; - pMem->flags |= MEM_Term; + int rc = vdbeMemAddTerminator(pMem); + if( rc ) return rc; } } pMem->flags &= ~MEM_Ephem; @@ -69000,20 +71466,6 @@ SQLITE_PRIVATE int sqlite3VdbeMemExpandBlob(Mem *pMem){ } #endif -/* -** It is already known that pMem contains an unterminated string. -** Add the zero terminator. -*/ -static SQLITE_NOINLINE int vdbeMemAddTerminator(Mem *pMem){ - if( sqlite3VdbeMemGrow(pMem, pMem->n+2, 1) ){ - return SQLITE_NOMEM_BKPT; - } - pMem->z[pMem->n] = 0; - pMem->z[pMem->n+1] = 0; - pMem->flags |= MEM_Term; - return SQLITE_OK; -} - /* ** Make sure the given Mem is \u0000 terminated. */ @@ -69088,26 +71540,24 @@ SQLITE_PRIVATE int sqlite3VdbeMemStringify(Mem *pMem, u8 enc, u8 bForce){ ** otherwise. */ SQLITE_PRIVATE int sqlite3VdbeMemFinalize(Mem *pMem, FuncDef *pFunc){ - int rc = SQLITE_OK; - if( ALWAYS(pFunc && pFunc->xFinalize) ){ - sqlite3_context ctx; - Mem t; - assert( (pMem->flags & MEM_Null)!=0 || pFunc==pMem->u.pDef ); - assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); - memset(&ctx, 0, sizeof(ctx)); - memset(&t, 0, sizeof(t)); - t.flags = MEM_Null; - t.db = pMem->db; - ctx.pOut = &t; - ctx.pMem = pMem; - ctx.pFunc = pFunc; - pFunc->xFinalize(&ctx); /* IMP: R-24505-23230 */ - assert( (pMem->flags & MEM_Dyn)==0 ); - if( pMem->szMalloc>0 ) sqlite3DbFree(pMem->db, pMem->zMalloc); - memcpy(pMem, &t, sizeof(t)); - rc = ctx.isError; - } - return rc; + sqlite3_context ctx; + Mem t; + assert( pFunc!=0 ); + assert( pFunc->xFinalize!=0 ); + assert( (pMem->flags & MEM_Null)!=0 || pFunc==pMem->u.pDef ); + assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); + memset(&ctx, 0, sizeof(ctx)); + memset(&t, 0, sizeof(t)); + t.flags = MEM_Null; + t.db = pMem->db; + ctx.pOut = &t; + ctx.pMem = pMem; + ctx.pFunc = pFunc; + pFunc->xFinalize(&ctx); /* IMP: R-24505-23230 */ + assert( (pMem->flags & MEM_Dyn)==0 ); + if( pMem->szMalloc>0 ) sqlite3DbFreeNN(pMem->db, pMem->zMalloc); + memcpy(pMem, &t, sizeof(t)); + return ctx.isError; } /* @@ -69154,7 +71604,7 @@ static SQLITE_NOINLINE void vdbeMemClear(Mem *p){ vdbeMemClearExternAndSetNull(p); } if( p->szMalloc ){ - sqlite3DbFree(p->db, p->zMalloc); + sqlite3DbFreeNN(p->db, p->zMalloc); p->szMalloc = 0; } p->z = 0; @@ -69182,7 +71632,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemRelease(Mem *p){ ** If the double is out of range of a 64-bit signed integer then ** return the closest available 64-bit signed integer. */ -static i64 doubleToInt64(double r){ +static SQLITE_NOINLINE i64 doubleToInt64(double r){ #ifdef SQLITE_OMIT_FLOATING_POINT /* When floating-point is omitted, double and int64 are the same thing */ return r; @@ -69218,6 +71668,11 @@ static i64 doubleToInt64(double r){ ** ** If pMem represents a string value, its encoding might be changed. */ +static SQLITE_NOINLINE i64 memIntValue(Mem *pMem){ + i64 value = 0; + sqlite3Atoi64(pMem->z, &value, pMem->n, pMem->enc); + return value; +} SQLITE_PRIVATE i64 sqlite3VdbeIntValue(Mem *pMem){ int flags; assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); @@ -69228,10 +71683,8 @@ SQLITE_PRIVATE i64 sqlite3VdbeIntValue(Mem *pMem){ }else if( flags & MEM_Real ){ return doubleToInt64(pMem->u.r); }else if( flags & (MEM_Str|MEM_Blob) ){ - i64 value = 0; assert( pMem->z || pMem->n==0 ); - sqlite3Atoi64(pMem->z, &value, pMem->n, pMem->enc); - return value; + return memIntValue(pMem); }else{ return 0; } @@ -69243,6 +71696,12 @@ SQLITE_PRIVATE i64 sqlite3VdbeIntValue(Mem *pMem){ ** value. If it is a string or blob, try to convert it to a double. ** If it is a NULL, return 0.0. */ +static SQLITE_NOINLINE double memRealValue(Mem *pMem){ + /* (double)0 In case of SQLITE_OMIT_FLOATING_POINT... */ + double val = (double)0; + sqlite3AtoF(pMem->z, &val, pMem->n, pMem->enc); + return val; +} SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem *pMem){ assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); assert( EIGHT_BYTE_ALIGNMENT(pMem) ); @@ -69251,10 +71710,7 @@ SQLITE_PRIVATE double sqlite3VdbeRealValue(Mem *pMem){ }else if( pMem->flags & MEM_Int ){ return (double)pMem->u.i; }else if( pMem->flags & (MEM_Str|MEM_Blob) ){ - /* (double)0 In case of SQLITE_OMIT_FLOATING_POINT... */ - double val = (double)0; - sqlite3AtoF(pMem->z, &val, pMem->n, pMem->enc); - return val; + return memRealValue(pMem); }else{ /* (double)0 In case of SQLITE_OMIT_FLOATING_POINT... */ return (double)0; @@ -69326,14 +71782,21 @@ SQLITE_PRIVATE int sqlite3VdbeMemRealify(Mem *pMem){ */ SQLITE_PRIVATE int sqlite3VdbeMemNumerify(Mem *pMem){ if( (pMem->flags & (MEM_Int|MEM_Real|MEM_Null))==0 ){ + int rc; assert( (pMem->flags & (MEM_Blob|MEM_Str))!=0 ); assert( pMem->db==0 || sqlite3_mutex_held(pMem->db->mutex) ); - if( 0==sqlite3Atoi64(pMem->z, &pMem->u.i, pMem->n, pMem->enc) ){ + rc = sqlite3Atoi64(pMem->z, &pMem->u.i, pMem->n, pMem->enc); + if( rc==0 ){ MemSetTypeFlag(pMem, MEM_Int); }else{ - pMem->u.r = sqlite3VdbeRealValue(pMem); - MemSetTypeFlag(pMem, MEM_Real); - sqlite3VdbeIntegerAffinity(pMem); + i64 i = pMem->u.i; + sqlite3AtoF(pMem->z, &pMem->u.r, pMem->n, pMem->enc); + if( rc==1 && pMem->u.r==(double)i ){ + pMem->u.i = i; + MemSetTypeFlag(pMem, MEM_Int); + }else{ + MemSetTypeFlag(pMem, MEM_Real); + } } } assert( (pMem->flags & (MEM_Int|MEM_Real|MEM_Null))!=0 ); @@ -69459,6 +71922,27 @@ SQLITE_PRIVATE void sqlite3VdbeMemSetInt64(Mem *pMem, i64 val){ } } +/* A no-op destructor */ +static void sqlite3NoopDestructor(void *p){ UNUSED_PARAMETER(p); } + +/* +** Set the value stored in *pMem should already be a NULL. +** Also store a pointer to go with it. +*/ +SQLITE_PRIVATE void sqlite3VdbeMemSetPointer( + Mem *pMem, + void *pPtr, + const char *zPType, + void (*xDestructor)(void*) +){ + assert( pMem->flags==MEM_Null ); + pMem->u.zPType = zPType ? zPType : ""; + pMem->z = pPtr; + pMem->flags = MEM_Null|MEM_Dyn|MEM_Subtype|MEM_Term; + pMem->eSubtype = 'p'; + pMem->xDel = xDestructor ? xDestructor : sqlite3NoopDestructor; +} + #ifndef SQLITE_OMIT_FLOATING_POINT /* ** Delete any previous value and set the value stored in *pMem to val, @@ -69639,7 +72123,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemSetStr( if( nByte<0 ){ assert( enc!=0 ); if( enc==SQLITE_UTF8 ){ - nByte = sqlite3Strlen30(z); + nByte = 0x7fffffff & (int)strlen(z); if( nByte>iLimit ) nByte = iLimit+1; }else{ for(nByte=0; nByte<=iLimit && (z[nByte] | z[nByte+1]); nByte+=2){} @@ -69696,10 +72180,9 @@ SQLITE_PRIVATE int sqlite3VdbeMemSetStr( /* ** Move data out of a btree key or data field and into a Mem structure. -** The data or key is taken from the entry that pCur is currently pointing +** The data is payload from the entry that pCur is currently pointing ** to. offset and amt determine what portion of the data or key to retrieve. -** key is true to get the key or false to get data. The result is written -** into the pMem element. +** The result is written into the pMem element. ** ** The pMem object must have been initialized. This routine will use ** pMem->zMalloc to hold the content from the btree, if possible. New @@ -69714,21 +72197,15 @@ static SQLITE_NOINLINE int vdbeMemFromBtreeResize( BtCursor *pCur, /* Cursor pointing at record to retrieve. */ u32 offset, /* Offset from the start of data to return bytes from. */ u32 amt, /* Number of bytes to return. */ - int key, /* If true, retrieve from the btree key, not data. */ Mem *pMem /* OUT: Return data in this Mem structure. */ ){ int rc; pMem->flags = MEM_Null; - if( SQLITE_OK==(rc = sqlite3VdbeMemClearAndResize(pMem, amt+2)) ){ - if( key ){ - rc = sqlite3BtreeKey(pCur, offset, amt, pMem->z); - }else{ - rc = sqlite3BtreeData(pCur, offset, amt, pMem->z); - } + if( SQLITE_OK==(rc = sqlite3VdbeMemClearAndResize(pMem, amt+1)) ){ + rc = sqlite3BtreePayload(pCur, offset, amt, pMem->z); if( rc==SQLITE_OK ){ - pMem->z[amt] = 0; - pMem->z[amt+1] = 0; - pMem->flags = MEM_Blob|MEM_Term; + pMem->z[amt] = 0; /* Overrun area used when reading malformed records */ + pMem->flags = MEM_Blob; pMem->n = (int)amt; }else{ sqlite3VdbeMemRelease(pMem); @@ -69740,7 +72217,6 @@ SQLITE_PRIVATE int sqlite3VdbeMemFromBtree( BtCursor *pCur, /* Cursor pointing at record to retrieve. */ u32 offset, /* Offset from the start of data to return bytes from. */ u32 amt, /* Number of bytes to return. */ - int key, /* If true, retrieve from the btree key, not data. */ Mem *pMem /* OUT: Return data in this Mem structure. */ ){ char *zData; /* Data from the btree layer */ @@ -69761,7 +72237,7 @@ SQLITE_PRIVATE int sqlite3VdbeMemFromBtree( pMem->flags = MEM_Blob|MEM_Ephem; pMem->n = (int)amt; }else{ - rc = vdbeMemFromBtreeResize(pCur, offset, amt, key, pMem); + rc = vdbeMemFromBtreeResize(pCur, offset, amt, pMem); } return rc; @@ -69779,6 +72255,7 @@ static SQLITE_NOINLINE const void *valueToText(sqlite3_value* pVal, u8 enc){ assert( (pVal->flags & MEM_RowSet)==0 ); assert( (pVal->flags & (MEM_Null))==0 ); if( pVal->flags & (MEM_Blob|MEM_Str) ){ + if( ExpandBlob(pVal) ) return 0; pVal->flags |= MEM_Str; if( pVal->enc != (enc & ~SQLITE_UTF16_ALIGNED) ){ sqlite3VdbeChangeEncoding(pVal, enc & ~SQLITE_UTF16_ALIGNED); @@ -69877,7 +72354,7 @@ static sqlite3_value *valueNew(sqlite3 *db, struct ValueNewStat4Ctx *p){ if( pRec ){ pRec->pKeyInfo = sqlite3KeyInfoOfIndex(p->pParse, pIdx); if( pRec->pKeyInfo ){ - assert( pRec->pKeyInfo->nField+pRec->pKeyInfo->nXField==nCol ); + assert( pRec->pKeyInfo->nAllField==nCol ); assert( pRec->pKeyInfo->enc==ENC(db) ); pRec->aMem = (Mem *)((u8*)pRec + ROUND8(sizeof(UnpackedRecord))); for(i=0; iaMem[i].db = db; } }else{ - sqlite3DbFree(db, pRec); + sqlite3DbFreeNN(db, pRec); pRec = 0; } } @@ -69997,7 +72474,7 @@ static int valueFromFunction( for(i=0; iop)==TK_UPLUS || op==TK_SPAN ) pExpr = pExpr->pLeft; +#if defined(SQLITE_ENABLE_STAT3_OR_STAT4) + if( op==TK_REGISTER ) op = pExpr->op2; +#else if( NEVER(op==TK_REGISTER) ) op = pExpr->op2; +#endif /* Compressed expressions only appear when parsing the DEFAULT clause ** on a table column definition, and hence only when pCtx==0. This @@ -70085,7 +72566,7 @@ static int valueFromExpr( } }else if( op==TK_UMINUS ) { /* This branch happens for multiple negative signs. Ex: -(-5) */ - if( SQLITE_OK==sqlite3ValueFromExpr(db,pExpr->pLeft,enc,affinity,&pVal) + if( SQLITE_OK==valueFromExpr(db,pExpr->pLeft,enc,affinity,&pVal,pCtx) && pVal!=0 ){ sqlite3VdbeMemNumerify(pVal); @@ -70102,6 +72583,7 @@ static int valueFromExpr( }else if( op==TK_NULL ){ pVal = valueNew(db, pCtx); if( pVal==0 ) goto no_mem; + sqlite3VdbeMemNumerify(pVal); } #ifndef SQLITE_OMIT_BLOB_LITERAL else if( op==TK_BLOB ){ @@ -70128,7 +72610,10 @@ static int valueFromExpr( return rc; no_mem: - sqlite3OomFault(db); +#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 + if( pCtx==0 || pCtx->pParse->nErr==0 ) +#endif + sqlite3OomFault(db); sqlite3DbFree(db, zVal); assert( *ppVal==0 ); #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 @@ -70195,7 +72680,7 @@ static void recordFunc( putVarint32(&aRet[1], iSerial); sqlite3VdbeSerialPut(&aRet[1+nSerial], argv[0], iSerial); sqlite3_result_blob(context, aRet, nRet, SQLITE_TRANSIENT); - sqlite3DbFree(db, aRet); + sqlite3DbFreeNN(db, aRet); } } @@ -70241,14 +72726,13 @@ static int stat4ValueFromExpr( /* Skip over any TK_COLLATE nodes */ pExpr = sqlite3ExprSkipCollate(pExpr); + assert( pExpr==0 || pExpr->op!=TK_REGISTER || pExpr->op2!=TK_VARIABLE ); if( !pExpr ){ pVal = valueNew(db, pAlloc); if( pVal ){ sqlite3VdbeMemSetNull((Mem*)pVal); } - }else if( pExpr->op==TK_VARIABLE - || NEVER(pExpr->op==TK_REGISTER && pExpr->op2==TK_VARIABLE) - ){ + }else if( pExpr->op==TK_VARIABLE && (db->flags & SQLITE_EnableQPSG)==0 ){ Vdbe *v; int iBindVar = pExpr->iColumn; sqlite3VdbeSetVarmask(pParse->pVdbe, iBindVar); @@ -70256,9 +72740,7 @@ static int stat4ValueFromExpr( pVal = valueNew(db, pAlloc); if( pVal ){ rc = sqlite3VdbeMemCopy((Mem*)pVal, &v->aVar[iBindVar-1]); - if( rc==SQLITE_OK ){ - sqlite3ValueApplyAffinity(pVal, affinity, ENC(db)); - } + sqlite3ValueApplyAffinity(pVal, affinity, ENC(db)); pVal->db = pParse->db; } } @@ -70415,14 +72897,14 @@ SQLITE_PRIVATE int sqlite3Stat4Column( SQLITE_PRIVATE void sqlite3Stat4ProbeFree(UnpackedRecord *pRec){ if( pRec ){ int i; - int nCol = pRec->pKeyInfo->nField+pRec->pKeyInfo->nXField; + int nCol = pRec->pKeyInfo->nAllField; Mem *aMem = pRec->aMem; sqlite3 *db = aMem[0].db; for(i=0; ipKeyInfo); - sqlite3DbFree(db, pRec); + sqlite3DbFreeNN(db, pRec); } } #endif /* ifdef SQLITE_ENABLE_STAT4 */ @@ -70446,7 +72928,7 @@ SQLITE_PRIVATE void sqlite3ValueSetStr( SQLITE_PRIVATE void sqlite3ValueFree(sqlite3_value *v){ if( !v ) return; sqlite3VdbeMemRelease((Mem *)v); - sqlite3DbFree(((Mem*)v)->db, v); + sqlite3DbFreeNN(((Mem*)v)->db, v); } /* @@ -70511,10 +72993,12 @@ SQLITE_PRIVATE Vdbe *sqlite3VdbeCreate(Parse *pParse){ db->pVdbe = p; p->magic = VDBE_MAGIC_INIT; p->pParse = pParse; + pParse->pVdbe = p; assert( pParse->aLabel==0 ); assert( pParse->nLabel==0 ); assert( pParse->nOpAlloc==0 ); assert( pParse->szOpAlloc==0 ); + sqlite3VdbeAddOp2(p, OP_Init, 0, 1); return p; } @@ -70532,15 +73016,14 @@ SQLITE_PRIVATE void sqlite3VdbeError(Vdbe *p, const char *zFormat, ...){ /* ** Remember the SQL string for a prepared statement. */ -SQLITE_PRIVATE void sqlite3VdbeSetSql(Vdbe *p, const char *z, int n, int isPrepareV2){ - assert( isPrepareV2==1 || isPrepareV2==0 ); +SQLITE_PRIVATE void sqlite3VdbeSetSql(Vdbe *p, const char *z, int n, u8 prepFlags){ if( p==0 ) return; -#if defined(SQLITE_OMIT_TRACE) && !defined(SQLITE_ENABLE_SQLLOG) - if( !isPrepareV2 ) return; -#endif + p->prepFlags = prepFlags; + if( (prepFlags & SQLITE_PREPARE_SAVESQL)==0 ){ + p->expmask = 0; + } assert( p->zSql==0 ); p->zSql = sqlite3DbStrNDup(p->db, z, n); - p->isPrepareV2 = (u8)isPrepareV2; } /* @@ -70562,7 +73045,10 @@ SQLITE_PRIVATE void sqlite3VdbeSwap(Vdbe *pA, Vdbe *pB){ zTmp = pA->zSql; pA->zSql = pB->zSql; pB->zSql = zTmp; - pB->isPrepareV2 = pA->isPrepareV2; + pB->expmask = pA->expmask; + pB->prepFlags = pA->prepFlags; + memcpy(pB->aCounter, pA->aCounter, sizeof(pB->aCounter)); + pB->aCounter[SQLITE_STMTSTATUS_REPREPARE]++; } /* @@ -70593,6 +73079,12 @@ static int growOpArray(Vdbe *v, int nOp){ UNUSED_PARAMETER(nOp); #endif + /* Ensure that the size of a VDBE does not grow too large */ + if( nNew > p->db->aLimit[SQLITE_LIMIT_VDBE_OP] ){ + sqlite3OomFault(p->db); + return SQLITE_NOMEM; + } + assert( nOp<=(1024/sizeof(Op)) ); assert( nNew>=(p->nOpAlloc+nOp) ); pNew = sqlite3DbRealloc(p->db, v->aOp, nNew*sizeof(Op)); @@ -70712,6 +73204,9 @@ SQLITE_PRIVATE int sqlite3VdbeLoadString(Vdbe *p, int iDest, const char *zStr){ ** "s" character in zTypes[], the register is a string if the argument is ** not NULL, or OP_Null if the value is a null pointer. For each "i" character ** in zTypes[], the register is initialized to an integer. +** +** If the input string does not end with "X" then an OP_ResultRow instruction +** is generated for the values inserted. */ SQLITE_PRIVATE void sqlite3VdbeMultiLoad(Vdbe *p, int iDest, const char *zTypes, ...){ va_list ap; @@ -70721,12 +73216,15 @@ SQLITE_PRIVATE void sqlite3VdbeMultiLoad(Vdbe *p, int iDest, const char *zTypes, for(i=0; (c = zTypes[i])!=0; i++){ if( c=='s' ){ const char *z = va_arg(ap, const char*); - sqlite3VdbeAddOp4(p, z==0 ? OP_Null : OP_String8, 0, iDest++, 0, z, 0); + sqlite3VdbeAddOp4(p, z==0 ? OP_Null : OP_String8, 0, iDest+i, 0, z, 0); + }else if( c=='i' ){ + sqlite3VdbeAddOp2(p, OP_Integer, va_arg(ap, int), iDest+i); }else{ - assert( c=='i' ); - sqlite3VdbeAddOp2(p, OP_Integer, va_arg(ap, int), iDest++); + goto skip_op_resultrow; } } + sqlite3VdbeAddOp2(p, OP_ResultRow, iDest, i); +skip_op_resultrow: va_end(ap); } @@ -70791,7 +73289,11 @@ SQLITE_PRIVATE int sqlite3VdbeAddOp4Int( int p4 /* The P4 operand as an integer */ ){ int addr = sqlite3VdbeAddOp3(p, op, p1, p2, p3); - sqlite3VdbeChangeP4(p, addr, SQLITE_INT_TO_PTR(p4), P4_INT32); + if( p->db->mallocFailed==0 ){ + VdbeOp *pOp = &p->aOp[addr]; + pOp->p4type = P4_INT32; + pOp->p4.i = p4; + } return addr; } @@ -70950,7 +73452,8 @@ static Op *opIterNext(VdbeOpIter *p){ ** * OP_VUpdate ** * OP_VRename ** * OP_FkCounter with P2==0 (immediate foreign key constraint) -** * OP_CreateTable and OP_InitCoroutine (for CREATE TABLE AS SELECT ...) +** * OP_CreateBtree/BTREE_INTKEY and OP_InitCoroutine +** (for CREATE TABLE AS SELECT ...) ** ** Then check that the value of Parse.mayAbort is true if an ** ABORT may be thrown, or false otherwise. Return true if it does @@ -70978,7 +73481,7 @@ SQLITE_PRIVATE int sqlite3VdbeAssertMayAbort(Vdbe *v, int mayAbort){ hasAbort = 1; break; } - if( opcode==OP_CreateTable ) hasCreateTable = 1; + if( opcode==OP_CreateBtree && pOp->p3==BTREE_INTKEY ) hasCreateTable = 1; if( opcode==OP_InitCoroutine ) hasInitCoroutine = 1; #ifndef SQLITE_OMIT_FOREIGN_KEY if( opcode==OP_FkCounter && pOp->p1==0 && pOp->p2==1 ){ @@ -71057,6 +73560,27 @@ static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs){ p->bIsReader = 1; break; } + case OP_Next: + case OP_NextIfOpen: + case OP_SorterNext: { + pOp->p4.xAdvance = sqlite3BtreeNext; + pOp->p4type = P4_ADVANCE; + /* The code generator never codes any of these opcodes as a jump + ** to a label. They are always coded as a jump backwards to a + ** known address */ + assert( pOp->p2>=0 ); + break; + } + case OP_Prev: + case OP_PrevIfOpen: { + pOp->p4.xAdvance = sqlite3BtreePrevious; + pOp->p4type = P4_ADVANCE; + /* The code generator never codes any of these opcodes as a jump + ** to a label. They are always coded as a jump backwards to a + ** known address */ + assert( pOp->p2>=0 ); + break; + } #ifndef SQLITE_OMIT_VIRTUALTABLE case OP_VUpdate: { if( pOp->p2>nMaxArgs ) nMaxArgs = pOp->p2; @@ -71068,27 +73592,25 @@ static void resolveP2Values(Vdbe *p, int *pMaxFuncArgs){ assert( pOp[-1].opcode==OP_Integer ); n = pOp[-1].p1; if( n>nMaxArgs ) nMaxArgs = n; - break; + /* Fall through into the default case */ } #endif - case OP_Next: - case OP_NextIfOpen: - case OP_SorterNext: { - pOp->p4.xAdvance = sqlite3BtreeNext; - pOp->p4type = P4_ADVANCE; - break; - } - case OP_Prev: - case OP_PrevIfOpen: { - pOp->p4.xAdvance = sqlite3BtreePrevious; - pOp->p4type = P4_ADVANCE; + default: { + if( pOp->p2<0 ){ + /* The mkopcodeh.tcl script has so arranged things that the only + ** non-jump opcodes less than SQLITE_MX_JUMP_CODE are guaranteed to + ** have non-negative values for P2. */ + assert( (sqlite3OpcodeProperty[pOp->opcode] & OPFLG_JUMP)!=0 ); + assert( ADDR(pOp->p2)nLabel ); + pOp->p2 = aLabel[ADDR(pOp->p2)]; + } break; } } - if( (sqlite3OpcodeProperty[pOp->opcode] & OPFLG_JUMP)!=0 && pOp->p2<0 ){ - assert( ADDR(pOp->p2)nLabel ); - pOp->p2 = aLabel[ADDR(pOp->p2)]; - } + /* The mkopcodeh.tcl script has so arranged things that the only + ** non-jump opcodes less than SQLITE_MX_JUMP_CODE are guaranteed to + ** have non-negative values for P2. */ + assert( (sqlite3OpcodeProperty[pOp->opcode]&OPFLG_JUMP)==0 || pOp->p2>=0); } if( pOp==p->aOp ) break; pOp--; @@ -71122,6 +73644,22 @@ SQLITE_PRIVATE void sqlite3VdbeVerifyNoMallocRequired(Vdbe *p, int N){ } #endif +/* +** Verify that the VM passed as the only argument does not contain +** an OP_ResultRow opcode. Fail an assert() if it does. This is used +** by code in pragma.c to ensure that the implementation of certain +** pragmas comports with the flags specified in the mkpragmatab.tcl +** script. +*/ +#if defined(SQLITE_DEBUG) && !defined(SQLITE_TEST_REALLOC_STRESS) +SQLITE_PRIVATE void sqlite3VdbeVerifyNoResultRow(Vdbe *p){ + int i; + for(i=0; inOp; i++){ + assert( p->aOp[i].opcode!=OP_ResultRow ); + } +} +#endif + /* ** This function returns a pointer to the array of opcodes associated with ** the Vdbe passed as the first argument. It is the callers responsibility @@ -71241,7 +73779,7 @@ SQLITE_PRIVATE void sqlite3VdbeChangeP2(Vdbe *p, u32 addr, int val){ SQLITE_PRIVATE void sqlite3VdbeChangeP3(Vdbe *p, u32 addr, int val){ sqlite3VdbeGetOp(p,addr)->p3 = val; } -SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe *p, u8 p5){ +SQLITE_PRIVATE void sqlite3VdbeChangeP5(Vdbe *p, u16 p5){ assert( p->nOp>0 || p->db->mallocFailed ); if( p->nOp>0 ) p->aOp[p->nOp-1].p5 = p5; } @@ -71261,7 +73799,7 @@ SQLITE_PRIVATE void sqlite3VdbeJumpHere(Vdbe *p, int addr){ */ static void freeEphemeralFunction(sqlite3 *db, FuncDef *pDef){ if( (pDef->funcFlags & SQLITE_FUNC_EPHEM)!=0 ){ - sqlite3DbFree(db, pDef); + sqlite3DbFreeNN(db, pDef); } } @@ -71272,11 +73810,11 @@ static void vdbeFreeOpArray(sqlite3 *, Op *, int); */ static SQLITE_NOINLINE void freeP4Mem(sqlite3 *db, Mem *p){ if( p->szMalloc ) sqlite3DbFree(db, p->zMalloc); - sqlite3DbFree(db, p); + sqlite3DbFreeNN(db, p); } static SQLITE_NOINLINE void freeP4FuncCtx(sqlite3 *db, sqlite3_context *p){ freeEphemeralFunction(db, p->pFunc); - sqlite3DbFree(db, p); + sqlite3DbFreeNN(db, p); } static void freeP4(sqlite3 *db, int p4type, void *p4){ assert( db ); @@ -71288,6 +73826,7 @@ static void freeP4(sqlite3 *db, int p4type, void *p4){ case P4_REAL: case P4_INT64: case P4_DYNAMIC: + case P4_DYNBLOB: case P4_INTARRAY: { sqlite3DbFree(db, p4); break; @@ -71302,10 +73841,6 @@ static void freeP4(sqlite3 *db, int p4type, void *p4){ break; } #endif - case P4_MPRINTF: { - if( db->pnBytesFreed==0 ) sqlite3_free(p4); - break; - } case P4_FUNCDEF: { freeEphemeralFunction(db, (FuncDef*)p4); break; @@ -71333,14 +73868,14 @@ static void freeP4(sqlite3 *db, int p4type, void *p4){ static void vdbeFreeOpArray(sqlite3 *db, Op *aOp, int nOp){ if( aOp ){ Op *pOp; - for(pOp=aOp; pOp<&aOp[nOp]; pOp++){ - if( pOp->p4type ) freeP4(db, pOp->p4type, pOp->p4.p); + for(pOp=&aOp[nOp-1]; pOp>=aOp; pOp--){ + if( pOp->p4type <= P4_FREE_IF_LE ) freeP4(db, pOp->p4type, pOp->p4.p); #ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS sqlite3DbFree(db, pOp->zComment); #endif } + sqlite3DbFreeNN(db, aOp); } - sqlite3DbFree(db, aOp); } /* @@ -71450,16 +73985,42 @@ SQLITE_PRIVATE void sqlite3VdbeChangeP4(Vdbe *p, int addr, const char *zP4, int } } +/* +** Change the P4 operand of the most recently coded instruction +** to the value defined by the arguments. This is a high-speed +** version of sqlite3VdbeChangeP4(). +** +** The P4 operand must not have been previously defined. And the new +** P4 must not be P4_INT32. Use sqlite3VdbeChangeP4() in either of +** those cases. +*/ +SQLITE_PRIVATE void sqlite3VdbeAppendP4(Vdbe *p, void *pP4, int n){ + VdbeOp *pOp; + assert( n!=P4_INT32 && n!=P4_VTAB ); + assert( n<=0 ); + if( p->db->mallocFailed ){ + freeP4(p->db, n, pP4); + }else{ + assert( pP4!=0 ); + assert( p->nOp>0 ); + pOp = &p->aOp[p->nOp-1]; + assert( pOp->p4type==P4_NOTUSED ); + pOp->p4type = n; + pOp->p4.p = pP4; + } +} + /* ** Set the P4 on the most recently added opcode to the KeyInfo for the ** index given. */ SQLITE_PRIVATE void sqlite3VdbeSetP4KeyInfo(Parse *pParse, Index *pIdx){ Vdbe *v = pParse->pVdbe; + KeyInfo *pKeyInfo; assert( v!=0 ); assert( pIdx!=0 ); - sqlite3VdbeChangeP4(v, -1, (char*)sqlite3KeyInfoOfIndex(pParse, pIdx), - P4_KEYINFO); + pKeyInfo = sqlite3KeyInfoOfIndex(pParse, pIdx); + if( pKeyInfo ) sqlite3VdbeAppendP4(v, pKeyInfo, P4_KEYINFO); } #ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS @@ -71723,8 +74284,8 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ int j; KeyInfo *pKeyInfo = pOp->p4.pKeyInfo; assert( pKeyInfo->aSortOrder!=0 ); - sqlite3XPrintf(&x, "k(%d", pKeyInfo->nField); - for(j=0; jnField; j++){ + sqlite3XPrintf(&x, "k(%d", pKeyInfo->nKeyField); + for(j=0; jnKeyField; j++){ CollSeq *pColl = pKeyInfo->aColl[j]; const char *zColl = pColl ? pColl->zName : ""; if( strcmp(zColl, "BINARY")==0 ) zColl = "B"; @@ -71749,7 +74310,7 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ sqlite3XPrintf(&x, "%s(%d)", pDef->zName, pDef->nArg); break; } -#ifdef SQLITE_DEBUG +#if defined(SQLITE_DEBUG) || defined(VDBE_PROFILE) case P4_FUNCCTX: { FuncDef *pDef = pOp->p4.pCtx->pFunc; sqlite3XPrintf(&x, "%s(%d)", pDef->zName, pDef->nArg); @@ -71796,7 +74357,7 @@ static char *displayP4(Op *pOp, char *zTemp, int nTemp){ int *ai = pOp->p4.ai; int n = ai[0]; /* The first element of an INTARRAY is always the ** count of the number of elements to follow */ - for(i=1; iflags&(MEM_Agg|MEM_Dyn|MEM_Frame|MEM_RowSet) ){ sqlite3VdbeMemRelease(p); }else if( p->szMalloc ){ - sqlite3DbFree(db, p->zMalloc); + sqlite3DbFreeNN(db, p->zMalloc); p->szMalloc = 0; } @@ -72039,6 +74601,8 @@ SQLITE_PRIVATE int sqlite3VdbeList( int i; /* Loop counter */ int rc = SQLITE_OK; /* Return code */ Mem *pMem = &p->aMem[1]; /* First Mem of result set */ + int bListSubprogs = (p->explain==1 || (db->flags & SQLITE_TriggerEQP)!=0); + Op *pOp = 0; assert( p->explain ); assert( p->magic==VDBE_MAGIC_RUN ); @@ -72051,7 +74615,7 @@ SQLITE_PRIVATE int sqlite3VdbeList( releaseMemArray(pMem, 8); p->pResultSet = 0; - if( p->rc==SQLITE_NOMEM_BKPT ){ + if( p->rc==SQLITE_NOMEM ){ /* This happens if a malloc() inside a call to sqlite3_column_text() or ** sqlite3_column_text16() failed. */ sqlite3OomFault(db); @@ -72066,7 +74630,7 @@ SQLITE_PRIVATE int sqlite3VdbeList( ** encountered, but p->pc will eventually catch up to nRow. */ nRow = p->nOp; - if( p->explain==1 ){ + if( bListSubprogs ){ /* The first 8 memory cells are used for the result set. So we will ** commandeer the 9th cell to use as storage for an array of pointers ** to trigger subprograms. The VDBE is guaranteed to have at least 9 @@ -72086,17 +74650,11 @@ SQLITE_PRIVATE int sqlite3VdbeList( do{ i = p->pc++; - }while( iexplain==2 && p->aOp[i].opcode!=OP_Explain ); - if( i>=nRow ){ - p->rc = SQLITE_OK; - rc = SQLITE_DONE; - }else if( db->u1.isInterrupted ){ - p->rc = SQLITE_INTERRUPT; - rc = SQLITE_ERROR; - sqlite3VdbeError(p, sqlite3ErrStr(p->rc)); - }else{ - char *zP4; - Op *pOp; + if( i>=nRow ){ + p->rc = SQLITE_OK; + rc = SQLITE_DONE; + break; + } if( inOp ){ /* The output line number is small enough that we are still in the ** main program. */ @@ -72111,94 +74669,110 @@ SQLITE_PRIVATE int sqlite3VdbeList( } pOp = &apSub[j]->aOp[i]; } - if( p->explain==1 ){ - pMem->flags = MEM_Int; - pMem->u.i = i; /* Program counter */ - pMem++; - - pMem->flags = MEM_Static|MEM_Str|MEM_Term; - pMem->z = (char*)sqlite3OpcodeName(pOp->opcode); /* Opcode */ - assert( pMem->z!=0 ); - pMem->n = sqlite3Strlen30(pMem->z); - pMem->enc = SQLITE_UTF8; - pMem++; - /* When an OP_Program opcode is encounter (the only opcode that has - ** a P4_SUBPROGRAM argument), expand the size of the array of subprograms - ** kept in p->aMem[9].z to hold the new program - assuming this subprogram - ** has not already been seen. - */ - if( pOp->p4type==P4_SUBPROGRAM ){ - int nByte = (nSub+1)*sizeof(SubProgram*); - int j; - for(j=0; jp4.pProgram ) break; - } - if( j==nSub && SQLITE_OK==sqlite3VdbeMemGrow(pSub, nByte, nSub!=0) ){ - apSub = (SubProgram **)pSub->z; - apSub[nSub++] = pOp->p4.pProgram; - pSub->flags |= MEM_Blob; - pSub->n = nSub*sizeof(SubProgram*); + /* When an OP_Program opcode is encounter (the only opcode that has + ** a P4_SUBPROGRAM argument), expand the size of the array of subprograms + ** kept in p->aMem[9].z to hold the new program - assuming this subprogram + ** has not already been seen. + */ + if( bListSubprogs && pOp->p4type==P4_SUBPROGRAM ){ + int nByte = (nSub+1)*sizeof(SubProgram*); + int j; + for(j=0; jp4.pProgram ) break; + } + if( j==nSub ){ + p->rc = sqlite3VdbeMemGrow(pSub, nByte, nSub!=0); + if( p->rc!=SQLITE_OK ){ + rc = SQLITE_ERROR; + break; } + apSub = (SubProgram **)pSub->z; + apSub[nSub++] = pOp->p4.pProgram; + pSub->flags |= MEM_Blob; + pSub->n = nSub*sizeof(SubProgram*); + nRow += pOp->p4.pProgram->nOp; } } + }while( p->explain==2 && pOp->opcode!=OP_Explain ); - pMem->flags = MEM_Int; - pMem->u.i = pOp->p1; /* P1 */ - pMem++; + if( rc==SQLITE_OK ){ + if( db->u1.isInterrupted ){ + p->rc = SQLITE_INTERRUPT; + rc = SQLITE_ERROR; + sqlite3VdbeError(p, sqlite3ErrStr(p->rc)); + }else{ + char *zP4; + if( p->explain==1 ){ + pMem->flags = MEM_Int; + pMem->u.i = i; /* Program counter */ + pMem++; + + pMem->flags = MEM_Static|MEM_Str|MEM_Term; + pMem->z = (char*)sqlite3OpcodeName(pOp->opcode); /* Opcode */ + assert( pMem->z!=0 ); + pMem->n = sqlite3Strlen30(pMem->z); + pMem->enc = SQLITE_UTF8; + pMem++; + } - pMem->flags = MEM_Int; - pMem->u.i = pOp->p2; /* P2 */ - pMem++; + pMem->flags = MEM_Int; + pMem->u.i = pOp->p1; /* P1 */ + pMem++; - pMem->flags = MEM_Int; - pMem->u.i = pOp->p3; /* P3 */ - pMem++; + pMem->flags = MEM_Int; + pMem->u.i = pOp->p2; /* P2 */ + pMem++; - if( sqlite3VdbeMemClearAndResize(pMem, 100) ){ /* P4 */ - assert( p->db->mallocFailed ); - return SQLITE_ERROR; - } - pMem->flags = MEM_Str|MEM_Term; - zP4 = displayP4(pOp, pMem->z, pMem->szMalloc); - if( zP4!=pMem->z ){ - pMem->n = 0; - sqlite3VdbeMemSetStr(pMem, zP4, -1, SQLITE_UTF8, 0); - }else{ - assert( pMem->z!=0 ); - pMem->n = sqlite3Strlen30(pMem->z); - pMem->enc = SQLITE_UTF8; - } - pMem++; + pMem->flags = MEM_Int; + pMem->u.i = pOp->p3; /* P3 */ + pMem++; - if( p->explain==1 ){ - if( sqlite3VdbeMemClearAndResize(pMem, 4) ){ + if( sqlite3VdbeMemClearAndResize(pMem, 100) ){ /* P4 */ assert( p->db->mallocFailed ); return SQLITE_ERROR; } pMem->flags = MEM_Str|MEM_Term; - pMem->n = 2; - sqlite3_snprintf(3, pMem->z, "%.2x", pOp->p5); /* P5 */ - pMem->enc = SQLITE_UTF8; + zP4 = displayP4(pOp, pMem->z, pMem->szMalloc); + if( zP4!=pMem->z ){ + pMem->n = 0; + sqlite3VdbeMemSetStr(pMem, zP4, -1, SQLITE_UTF8, 0); + }else{ + assert( pMem->z!=0 ); + pMem->n = sqlite3Strlen30(pMem->z); + pMem->enc = SQLITE_UTF8; + } pMem++; - + + if( p->explain==1 ){ + if( sqlite3VdbeMemClearAndResize(pMem, 4) ){ + assert( p->db->mallocFailed ); + return SQLITE_ERROR; + } + pMem->flags = MEM_Str|MEM_Term; + pMem->n = 2; + sqlite3_snprintf(3, pMem->z, "%.2x", pOp->p5); /* P5 */ + pMem->enc = SQLITE_UTF8; + pMem++; + #ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS - if( sqlite3VdbeMemClearAndResize(pMem, 500) ){ - assert( p->db->mallocFailed ); - return SQLITE_ERROR; - } - pMem->flags = MEM_Str|MEM_Term; - pMem->n = displayComment(pOp, zP4, pMem->z, 500); - pMem->enc = SQLITE_UTF8; + if( sqlite3VdbeMemClearAndResize(pMem, 500) ){ + assert( p->db->mallocFailed ); + return SQLITE_ERROR; + } + pMem->flags = MEM_Str|MEM_Term; + pMem->n = displayComment(pOp, zP4, pMem->z, 500); + pMem->enc = SQLITE_UTF8; #else - pMem->flags = MEM_Null; /* Comment */ + pMem->flags = MEM_Null; /* Comment */ #endif - } + } - p->nResColumn = 8 - 4*(p->explain-1); - p->pResultSet = &p->aMem[1]; - p->rc = SQLITE_OK; - rc = SQLITE_ROW; + p->nResColumn = 8 - 4*(p->explain-1); + p->pResultSet = &p->aMem[1]; + p->rc = SQLITE_OK; + rc = SQLITE_ROW; + } } return rc; } @@ -72427,10 +75001,8 @@ SQLITE_PRIVATE void sqlite3VdbeMakeReady( x.nFree = x.nNeeded; }while( !db->mallocFailed ); - p->nzVar = pParse->nzVar; - p->azVar = pParse->azVar; - pParse->nzVar = 0; - pParse->azVar = 0; + p->pVList = pParse->pVList; + pParse->pVList = 0; p->explain = pParse->explain; if( db->mallocFailed ){ p->nVar = 0; @@ -72458,15 +75030,15 @@ SQLITE_PRIVATE void sqlite3VdbeFreeCursor(Vdbe *p, VdbeCursor *pCx){ if( pCx==0 ){ return; } - assert( pCx->pBt==0 || pCx->eCurType==CURTYPE_BTREE ); + assert( pCx->pBtx==0 || pCx->eCurType==CURTYPE_BTREE ); switch( pCx->eCurType ){ case CURTYPE_SORTER: { sqlite3VdbeSorterClose(p->db, pCx); break; } case CURTYPE_BTREE: { - if( pCx->pBt ){ - sqlite3BtreeClose(pCx->pBt); + if( pCx->isEphemeral ){ + if( pCx->pBtx ) sqlite3BtreeClose(pCx->pBtx); /* The pCx->pCursor will be close automatically, if it exists, by ** the call above. */ }else{ @@ -72562,27 +75134,6 @@ static void closeAllCursors(Vdbe *p){ assert( p->pAuxData==0 ); } -/* -** Clean up the VM after a single run. -*/ -static void Cleanup(Vdbe *p){ - sqlite3 *db = p->db; - -#ifdef SQLITE_DEBUG - /* Execute assert() statements to ensure that the Vdbe.apCsr[] and - ** Vdbe.aMem[] arrays have already been cleaned up. */ - int i; - if( p->apCsr ) for(i=0; inCursor; i++) assert( p->apCsr[i]==0 ); - if( p->aMem ){ - for(i=0; inMem; i++) assert( p->aMem[i].flags==MEM_Undefined ); - } -#endif - - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = 0; - p->pResultSet = 0; -} - /* ** Set the number of result columns that will be returned by this SQL ** statement. This is now set at compile time, rather than during @@ -72590,17 +75141,18 @@ static void Cleanup(Vdbe *p){ ** be called on an SQL statement before sqlite3_step(). */ SQLITE_PRIVATE void sqlite3VdbeSetNumCols(Vdbe *p, int nResColumn){ - Mem *pColName; int n; sqlite3 *db = p->db; - releaseMemArray(p->aColName, p->nResColumn*COLNAME_N); - sqlite3DbFree(db, p->aColName); + if( p->nResColumn ){ + releaseMemArray(p->aColName, p->nResColumn*COLNAME_N); + sqlite3DbFree(db, p->aColName); + } n = nResColumn*COLNAME_N; p->nResColumn = (u16)nResColumn; - p->aColName = pColName = (Mem*)sqlite3DbMallocRawNN(db, sizeof(Mem)*n ); + p->aColName = (Mem*)sqlite3DbMallocRawNN(db, sizeof(Mem)*n ); if( p->aColName==0 ) return; - initMemArray(p->aColName, n, p->db, MEM_Null); + initMemArray(p->aColName, n, db, MEM_Null); } /* @@ -72690,6 +75242,7 @@ static int vdbeCommit(sqlite3 *db, Vdbe *p){ pPager = sqlite3BtreePager(pBt); if( db->aDb[i].safety_level!=PAGER_SYNCHRONOUS_OFF && aMJNeeded[sqlite3PagerGetJournalMode(pPager)] + && sqlite3PagerIsMemdb(pPager)==0 ){ assert( i!=1 ); nTrans++; @@ -72935,60 +75488,59 @@ static void checkActiveVdbeCnt(sqlite3 *db){ ** If an IO error occurs, an SQLITE_IOERR_XXX error code is returned. ** Otherwise SQLITE_OK. */ -SQLITE_PRIVATE int sqlite3VdbeCloseStatement(Vdbe *p, int eOp){ +static SQLITE_NOINLINE int vdbeCloseStatement(Vdbe *p, int eOp){ sqlite3 *const db = p->db; int rc = SQLITE_OK; + int i; + const int iSavepoint = p->iStatement-1; - /* If p->iStatement is greater than zero, then this Vdbe opened a - ** statement transaction that should be closed here. The only exception - ** is that an IO error may have occurred, causing an emergency rollback. - ** In this case (db->nStatement==0), and there is nothing to do. - */ - if( db->nStatement && p->iStatement ){ - int i; - const int iSavepoint = p->iStatement-1; - - assert( eOp==SAVEPOINT_ROLLBACK || eOp==SAVEPOINT_RELEASE); - assert( db->nStatement>0 ); - assert( p->iStatement==(db->nStatement+db->nSavepoint) ); - - for(i=0; inDb; i++){ - int rc2 = SQLITE_OK; - Btree *pBt = db->aDb[i].pBt; - if( pBt ){ - if( eOp==SAVEPOINT_ROLLBACK ){ - rc2 = sqlite3BtreeSavepoint(pBt, SAVEPOINT_ROLLBACK, iSavepoint); - } - if( rc2==SQLITE_OK ){ - rc2 = sqlite3BtreeSavepoint(pBt, SAVEPOINT_RELEASE, iSavepoint); - } - if( rc==SQLITE_OK ){ - rc = rc2; - } - } - } - db->nStatement--; - p->iStatement = 0; + assert( eOp==SAVEPOINT_ROLLBACK || eOp==SAVEPOINT_RELEASE); + assert( db->nStatement>0 ); + assert( p->iStatement==(db->nStatement+db->nSavepoint) ); - if( rc==SQLITE_OK ){ + for(i=0; inDb; i++){ + int rc2 = SQLITE_OK; + Btree *pBt = db->aDb[i].pBt; + if( pBt ){ if( eOp==SAVEPOINT_ROLLBACK ){ - rc = sqlite3VtabSavepoint(db, SAVEPOINT_ROLLBACK, iSavepoint); + rc2 = sqlite3BtreeSavepoint(pBt, SAVEPOINT_ROLLBACK, iSavepoint); + } + if( rc2==SQLITE_OK ){ + rc2 = sqlite3BtreeSavepoint(pBt, SAVEPOINT_RELEASE, iSavepoint); } if( rc==SQLITE_OK ){ - rc = sqlite3VtabSavepoint(db, SAVEPOINT_RELEASE, iSavepoint); + rc = rc2; } } + } + db->nStatement--; + p->iStatement = 0; - /* If the statement transaction is being rolled back, also restore the - ** database handles deferred constraint counter to the value it had when - ** the statement transaction was opened. */ + if( rc==SQLITE_OK ){ if( eOp==SAVEPOINT_ROLLBACK ){ - db->nDeferredCons = p->nStmtDefCons; - db->nDeferredImmCons = p->nStmtDefImmCons; + rc = sqlite3VtabSavepoint(db, SAVEPOINT_ROLLBACK, iSavepoint); } + if( rc==SQLITE_OK ){ + rc = sqlite3VtabSavepoint(db, SAVEPOINT_RELEASE, iSavepoint); + } + } + + /* If the statement transaction is being rolled back, also restore the + ** database handles deferred constraint counter to the value it had when + ** the statement transaction was opened. */ + if( eOp==SAVEPOINT_ROLLBACK ){ + db->nDeferredCons = p->nStmtDefCons; + db->nDeferredImmCons = p->nStmtDefImmCons; } return rc; } +SQLITE_PRIVATE int sqlite3VdbeCloseStatement(Vdbe *p, int eOp){ + if( p->db->nStatement && p->iStatement ){ + return vdbeCloseStatement(p, eOp); + } + return SQLITE_OK; +} + /* ** This function is called when a transaction opened by the database @@ -73048,13 +75600,13 @@ SQLITE_PRIVATE int sqlite3VdbeHalt(Vdbe *p){ ** one, or the complete transaction if there is no statement transaction. */ + if( p->magic!=VDBE_MAGIC_RUN ){ + return SQLITE_OK; + } if( db->mallocFailed ){ p->rc = SQLITE_NOMEM_BKPT; } closeAllCursors(p); - if( p->magic!=VDBE_MAGIC_RUN ){ - return SQLITE_OK; - } checkActiveVdbeCnt(db); /* No commit or rollback needed if the program never started or if the @@ -73251,10 +75803,10 @@ SQLITE_PRIVATE int sqlite3VdbeTransferError(Vdbe *p){ sqlite3ValueSetStr(db->pErr, -1, p->zErrMsg, SQLITE_UTF8, SQLITE_TRANSIENT); sqlite3EndBenignMalloc(); db->bBenignMalloc--; - db->errCode = rc; - }else{ - sqlite3Error(db, rc); + }else if( db->pErr ){ + sqlite3ValueSetNull(db->pErr); } + db->errCode = rc; return rc; } @@ -73291,6 +75843,10 @@ static void vdbeInvokeSqllog(Vdbe *v){ ** VDBE_MAGIC_INIT. */ SQLITE_PRIVATE int sqlite3VdbeReset(Vdbe *p){ +#if defined(SQLITE_DEBUG) || defined(VDBE_PROFILE) + int i; +#endif + sqlite3 *db; db = p->db; @@ -73308,8 +75864,6 @@ SQLITE_PRIVATE int sqlite3VdbeReset(Vdbe *p){ if( p->pc>=0 ){ vdbeInvokeSqllog(p); sqlite3VdbeTransferError(p); - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = 0; if( p->runOnlyOnce ) p->expired = 1; }else if( p->rc && p->expired ){ /* The expired flag was set on the VDBE before the first call @@ -73317,13 +75871,21 @@ SQLITE_PRIVATE int sqlite3VdbeReset(Vdbe *p){ ** called), set the database error in this case as well. */ sqlite3ErrorWithMsg(db, p->rc, p->zErrMsg ? "%s" : 0, p->zErrMsg); - sqlite3DbFree(db, p->zErrMsg); - p->zErrMsg = 0; } - /* Reclaim all memory used by the VDBE + /* Reset register contents and reclaim error message memory. */ - Cleanup(p); +#ifdef SQLITE_DEBUG + /* Execute assert() statements to ensure that the Vdbe.apCsr[] and + ** Vdbe.aMem[] arrays have already been cleaned up. */ + if( p->apCsr ) for(i=0; inCursor; i++) assert( p->apCsr[i]==0 ); + if( p->aMem ){ + for(i=0; inMem; i++) assert( p->aMem[i].flags==MEM_Undefined ); + } +#endif + sqlite3DbFree(db, p->zErrMsg); + p->zErrMsg = 0; + p->pResultSet = 0; /* Save profiling information from this VDBE run. */ @@ -73331,7 +75893,6 @@ SQLITE_PRIVATE int sqlite3VdbeReset(Vdbe *p){ { FILE *out = fopen("vdbe_profile.out", "a"); if( out ){ - int i; fprintf(out, "---- "); for(i=0; inOp; i++){ fprintf(out, "%02x", p->aOp[i].opcode); @@ -73361,7 +75922,6 @@ SQLITE_PRIVATE int sqlite3VdbeReset(Vdbe *p){ } } #endif - p->iCurrentTime = 0; p->magic = VDBE_MAGIC_RESET; return p->rc & db->errMask; } @@ -73400,16 +75960,18 @@ SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(sqlite3 *db, AuxData **pp, int iOp, while( *pp ){ AuxData *pAux = *pp; if( (iOp<0) - || (pAux->iOp==iOp && (pAux->iArg>31 || !(mask & MASKBIT32(pAux->iArg)))) + || (pAux->iAuxOp==iOp + && pAux->iAuxArg>=0 + && (pAux->iAuxArg>31 || !(mask & MASKBIT32(pAux->iAuxArg)))) ){ - testcase( pAux->iArg==31 ); - if( pAux->xDelete ){ - pAux->xDelete(pAux->pAux); + testcase( pAux->iAuxArg==31 ); + if( pAux->xDeleteAux ){ + pAux->xDeleteAux(pAux->pAux); } - *pp = pAux->pNext; + *pp = pAux->pNextAux; sqlite3DbFree(db, pAux); }else{ - pp= &pAux->pNext; + pp= &pAux->pNextAux; } } } @@ -73424,7 +75986,6 @@ SQLITE_PRIVATE void sqlite3VdbeDeleteAuxData(sqlite3 *db, AuxData **pp, int iOp, */ SQLITE_PRIVATE void sqlite3VdbeClearObject(sqlite3 *db, Vdbe *p){ SubProgram *pSub, *pNext; - int i; assert( p->db==0 || p->db==db ); releaseMemArray(p->aColName, p->nResColumn*COLNAME_N); for(pSub=p->pProgram; pSub; pSub=pNext){ @@ -73434,18 +75995,20 @@ SQLITE_PRIVATE void sqlite3VdbeClearObject(sqlite3 *db, Vdbe *p){ } if( p->magic!=VDBE_MAGIC_INIT ){ releaseMemArray(p->aVar, p->nVar); - for(i=p->nzVar-1; i>=0; i--) sqlite3DbFree(db, p->azVar[i]); - sqlite3DbFree(db, p->azVar); + sqlite3DbFree(db, p->pVList); sqlite3DbFree(db, p->pFree); } vdbeFreeOpArray(db, p->aOp, p->nOp); sqlite3DbFree(db, p->aColName); sqlite3DbFree(db, p->zSql); #ifdef SQLITE_ENABLE_STMT_SCANSTATUS - for(i=0; inScan; i++){ - sqlite3DbFree(db, p->aScan[i].zName); + { + int i; + for(i=0; inScan; i++){ + sqlite3DbFree(db, p->aScan[i].zName); + } + sqlite3DbFree(db, p->aScan); } - sqlite3DbFree(db, p->aScan); #endif } @@ -73455,7 +76018,7 @@ SQLITE_PRIVATE void sqlite3VdbeClearObject(sqlite3 *db, Vdbe *p){ SQLITE_PRIVATE void sqlite3VdbeDelete(Vdbe *p){ sqlite3 *db; - if( NEVER(p==0) ) return; + assert( p!=0 ); db = p->db; assert( sqlite3_mutex_held(db->mutex) ); sqlite3VdbeClearObject(db, p); @@ -73470,7 +76033,7 @@ SQLITE_PRIVATE void sqlite3VdbeDelete(Vdbe *p){ } p->magic = VDBE_MAGIC_DEAD; p->db = 0; - sqlite3DbFree(db, p); + sqlite3DbFreeNN(db, p); } /* @@ -73542,19 +76105,18 @@ SQLITE_PRIVATE int sqlite3VdbeCursorRestore(VdbeCursor *p){ */ SQLITE_PRIVATE int sqlite3VdbeCursorMoveto(VdbeCursor **pp, int *piCol){ VdbeCursor *p = *pp; - if( p->eCurType==CURTYPE_BTREE ){ - if( p->deferredMoveto ){ - int iMap; - if( p->aAltMap && (iMap = p->aAltMap[1+*piCol])>0 ){ - *pp = p->pAltCursor; - *piCol = iMap - 1; - return SQLITE_OK; - } - return handleDeferredMoveto(p); - } - if( sqlite3BtreeCursorHasMoved(p->uc.pCursor) ){ - return handleMovedCursor(p); + assert( p->eCurType==CURTYPE_BTREE || p->eCurType==CURTYPE_PSEUDO ); + if( p->deferredMoveto ){ + int iMap; + if( p->aAltMap && (iMap = p->aAltMap[1+*piCol])>0 ){ + *pp = p->pAltCursor; + *piCol = iMap - 1; + return SQLITE_OK; } + return handleDeferredMoveto(p); + } + if( sqlite3BtreeCursorHasMoved(p->uc.pCursor) ){ + return handleMovedCursor(p); } return SQLITE_OK; } @@ -73852,7 +76414,13 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialGet( Mem *pMem /* Memory cell to write value into */ ){ switch( serial_type ){ - case 10: /* Reserved for future use */ + case 10: { /* Internal use only: NULL with virtual table + ** UPDATE no-change flag set */ + pMem->flags = MEM_Null|MEM_Zero; + pMem->n = 0; + pMem->u.nZero = 0; + break; + } case 11: /* Reserved for future use */ case 0: { /* Null */ /* EVIDENCE-OF: R-24078-09375 Value is a NULL. */ @@ -73946,34 +76514,17 @@ SQLITE_PRIVATE u32 sqlite3VdbeSerialGet( ** If an OOM error occurs, NULL is returned. */ SQLITE_PRIVATE UnpackedRecord *sqlite3VdbeAllocUnpackedRecord( - KeyInfo *pKeyInfo, /* Description of the record */ - char *pSpace, /* Unaligned space available */ - int szSpace, /* Size of pSpace[] in bytes */ - char **ppFree /* OUT: Caller should free this pointer */ + KeyInfo *pKeyInfo /* Description of the record */ ){ UnpackedRecord *p; /* Unpacked record to return */ - int nOff; /* Increment pSpace by nOff to align it */ int nByte; /* Number of bytes required for *p */ - - /* We want to shift the pointer pSpace up such that it is 8-byte aligned. - ** Thus, we need to calculate a value, nOff, between 0 and 7, to shift - ** it by. If pSpace is already 8-byte aligned, nOff should be zero. - */ - nOff = (8 - (SQLITE_PTR_TO_INT(pSpace) & 7)) & 7; - nByte = ROUND8(sizeof(UnpackedRecord)) + sizeof(Mem)*(pKeyInfo->nField+1); - if( nByte>szSpace+nOff ){ - p = (UnpackedRecord *)sqlite3DbMallocRaw(pKeyInfo->db, nByte); - *ppFree = (char *)p; - if( !p ) return 0; - }else{ - p = (UnpackedRecord*)&pSpace[nOff]; - *ppFree = 0; - } - + nByte = ROUND8(sizeof(UnpackedRecord)) + sizeof(Mem)*(pKeyInfo->nKeyField+1); + p = (UnpackedRecord *)sqlite3DbMallocRaw(pKeyInfo->db, nByte); + if( !p ) return 0; p->aMem = (Mem*)&((char*)p)[ROUND8(sizeof(UnpackedRecord))]; assert( pKeyInfo->aSortOrder!=0 ); p->pKeyInfo = pKeyInfo; - p->nField = pKeyInfo->nField + 1; + p->nField = pKeyInfo->nKeyField + 1; return p; } @@ -74013,11 +76564,11 @@ SQLITE_PRIVATE void sqlite3VdbeRecordUnpack( pMem++; if( (++u)>=p->nField ) break; } - assert( u<=pKeyInfo->nField + 1 ); + assert( u<=pKeyInfo->nKeyField + 1 ); p->nField = u; } -#if SQLITE_DEBUG +#ifdef SQLITE_DEBUG /* ** This function compares two index or table record keys in the same way ** as the sqlite3VdbeRecordCompare() routine. Unlike VdbeRecordCompare(), @@ -74062,9 +76613,9 @@ static int vdbeRecordCompareDebug( idx1 = getVarint32(aKey1, szHdr1); if( szHdr1>98307 ) return SQLITE_CORRUPT; d1 = szHdr1; - assert( pKeyInfo->nField+pKeyInfo->nXField>=pPKey2->nField || CORRUPT_DB ); + assert( pKeyInfo->nAllField>=pPKey2->nField || CORRUPT_DB ); assert( pKeyInfo->aSortOrder!=0 ); - assert( pKeyInfo->nField>0 ); + assert( pKeyInfo->nKeyField>0 ); assert( idx1<=szHdr1 || CORRUPT_DB ); do{ u32 serial_type1; @@ -74122,16 +76673,16 @@ static int vdbeRecordCompareDebug( } #endif -#if SQLITE_DEBUG +#ifdef SQLITE_DEBUG /* ** Count the number of fields (a.k.a. columns) in the record given by ** pKey,nKey. The verify that this count is less than or equal to the -** limit given by pKeyInfo->nField + pKeyInfo->nXField. +** limit given by pKeyInfo->nAllField. ** ** If this constraint is not satisfied, it means that the high-speed ** vdbeRecordCompareInt() and vdbeRecordCompareString() routines will ** not work correctly. If this assert() ever fires, it probably means -** that the KeyInfo.nField or KeyInfo.nXField values were computed +** that the KeyInfo.nKeyField or KeyInfo.nAllField values were computed ** incorrectly. */ static void vdbeAssertFieldCountWithinLimits( @@ -74152,7 +76703,7 @@ static void vdbeAssertFieldCountWithinLimits( idx += getVarint32(aKey+idx, notUsed); nField++; } - assert( nField <= pKeyInfo->nField+pKeyInfo->nXField ); + assert( nField <= pKeyInfo->nAllField ); } #else # define vdbeAssertFieldCountWithinLimits(A,B,C) @@ -74177,7 +76728,6 @@ static int vdbeCompareMemString( }else{ int rc; const void *v1, *v2; - int n1, n2; Mem c1; Mem c2; sqlite3VdbeMemInit(&c1, pMem1->db, MEM_Null); @@ -74185,11 +76735,13 @@ static int vdbeCompareMemString( sqlite3VdbeMemShallowCopy(&c1, pMem1, MEM_Ephem); sqlite3VdbeMemShallowCopy(&c2, pMem2, MEM_Ephem); v1 = sqlite3ValueText((sqlite3_value*)&c1, pColl->enc); - n1 = v1==0 ? 0 : c1.n; v2 = sqlite3ValueText((sqlite3_value*)&c2, pColl->enc); - n2 = v2==0 ? 0 : c2.n; - rc = pColl->xCmp(pColl->pUser, n1, v1, n2, v2); - if( (v1==0 || v2==0) && prcErr ) *prcErr = SQLITE_NOMEM_BKPT; + if( (v1==0 || v2==0) ){ + if( prcErr ) *prcErr = SQLITE_NOMEM_BKPT; + rc = 0; + }else{ + rc = pColl->xCmp(pColl->pUser, c1.n, v1, c2.n, v2); + } sqlite3VdbeMemRelease(&c1); sqlite3VdbeMemRelease(&c2); return rc; @@ -74456,10 +77008,10 @@ SQLITE_PRIVATE int sqlite3VdbeRecordCompareWithSkip( } VVA_ONLY( mem1.szMalloc = 0; ) /* Only needed by assert() statements */ - assert( pPKey2->pKeyInfo->nField+pPKey2->pKeyInfo->nXField>=pPKey2->nField + assert( pPKey2->pKeyInfo->nAllField>=pPKey2->nField || CORRUPT_DB ); assert( pPKey2->pKeyInfo->aSortOrder!=0 ); - assert( pPKey2->pKeyInfo->nField>0 ); + assert( pPKey2->pKeyInfo->nKeyField>0 ); assert( idx1<=szHdr1 || CORRUPT_DB ); do{ u32 serial_type; @@ -74792,7 +77344,7 @@ SQLITE_PRIVATE RecordCompare sqlite3VdbeFindCompare(UnpackedRecord *p){ ** The easiest way to enforce this limit is to consider only records with ** 13 fields or less. If the first field is an integer, the maximum legal ** header size is (12*5 + 1 + 1) bytes. */ - if( (p->pKeyInfo->nField + p->pKeyInfo->nXField)<=13 ){ + if( p->pKeyInfo->nAllField<=13 ){ int flags = p->aMem[0].flags; if( p->pKeyInfo->aSortOrder[0] ){ p->r1 = 1; @@ -74843,7 +77395,7 @@ SQLITE_PRIVATE int sqlite3VdbeIdxRowid(sqlite3 *db, BtCursor *pCur, i64 *rowid){ /* Read in the complete content of the index entry */ sqlite3VdbeMemInit(&m, db, 0); - rc = sqlite3VdbeMemFromBtree(pCur, 0, (u32)nCellKey, 1, &m); + rc = sqlite3VdbeMemFromBtree(pCur, 0, (u32)nCellKey, &m); if( rc ){ return rc; } @@ -74923,7 +77475,7 @@ SQLITE_PRIVATE int sqlite3VdbeIdxKeyCompare( return SQLITE_CORRUPT_BKPT; } sqlite3VdbeMemInit(&m, db, 0); - rc = sqlite3VdbeMemFromBtree(pCur, 0, (u32)nCellKey, 1, &m); + rc = sqlite3VdbeMemFromBtree(pCur, 0, (u32)nCellKey, &m); if( rc ){ return rc; } @@ -74974,6 +77526,13 @@ SQLITE_PRIVATE sqlite3 *sqlite3VdbeDb(Vdbe *v){ return v->db; } +/* +** Return the SQLITE_PREPARE flags for a Vdbe. +*/ +SQLITE_PRIVATE u8 sqlite3VdbePrepareFlags(Vdbe *v){ + return v->prepFlags; +} + /* ** Return a pointer to an sqlite3_value structure containing the value bound ** parameter iVar of VM v. Except, if the value is an SQL NULL, return @@ -74986,6 +77545,7 @@ SQLITE_PRIVATE sqlite3_value *sqlite3VdbeGetBoundValue(Vdbe *v, int iVar, u8 aff assert( iVar>0 ); if( v ){ Mem *pMem = &v->aVar[iVar-1]; + assert( (v->db->flags & SQLITE_EnableQPSG)==0 ); if( 0==(pMem->flags & MEM_Null) ){ sqlite3_value *pRet = sqlite3ValueNew(v->db); if( pRet ){ @@ -75005,13 +77565,36 @@ SQLITE_PRIVATE sqlite3_value *sqlite3VdbeGetBoundValue(Vdbe *v, int iVar, u8 aff */ SQLITE_PRIVATE void sqlite3VdbeSetVarmask(Vdbe *v, int iVar){ assert( iVar>0 ); - if( iVar>32 ){ - v->expmask = 0xffffffff; + assert( (v->db->flags & SQLITE_EnableQPSG)==0 ); + if( iVar>=32 ){ + v->expmask |= 0x80000000; }else{ v->expmask |= ((u32)1 << (iVar-1)); } } +/* +** Cause a function to throw an error if it was call from OP_PureFunc +** rather than OP_Function. +** +** OP_PureFunc means that the function must be deterministic, and should +** throw an error if it is given inputs that would make it non-deterministic. +** This routine is invoked by date/time functions that use non-deterministic +** features such as 'now'. +*/ +SQLITE_PRIVATE int sqlite3NotPureFunc(sqlite3_context *pCtx){ +#ifdef SQLITE_ENABLE_STAT3_OR_STAT4 + if( pCtx->pVdbe==0 ) return 1; +#endif + if( pCtx->pVdbe->aOp[pCtx->iOp].opcode==OP_PureFunc ){ + sqlite3_result_error(pCtx, + "non-deterministic function in index expression or CHECK constraint", + -1); + return 0; + } + return 1; +} + #ifndef SQLITE_OMIT_VIRTUALTABLE /* ** Transfer error message text from an sqlite3_vtab.zErrMsg (text stored @@ -75039,14 +77622,14 @@ SQLITE_PRIVATE void sqlite3VtabImportErrmsg(Vdbe *p, sqlite3_vtab *pVtab){ ** This function is used to free UnpackedRecord structures allocated by ** the vdbeUnpackRecord() function found in vdbeapi.c. */ -static void vdbeFreeUnpacked(sqlite3 *db, UnpackedRecord *p){ +static void vdbeFreeUnpacked(sqlite3 *db, int nField, UnpackedRecord *p){ if( p ){ int i; - for(i=0; inField; i++){ + for(i=0; iaMem[i]; if( pMem->zMalloc ) sqlite3VdbeMemRelease(pMem); } - sqlite3DbFree(db, p); + sqlite3DbFreeNN(db, p); } } #endif /* SQLITE_ENABLE_PREUPDATE_HOOK */ @@ -75075,10 +77658,15 @@ SQLITE_PRIVATE void sqlite3VdbePreUpdateHook( assert( db->pPreUpdate==0 ); memset(&preupdate, 0, sizeof(PreUpdate)); - if( op==SQLITE_UPDATE ){ - iKey2 = v->aMem[iReg].u.i; + if( HasRowid(pTab)==0 ){ + iKey1 = iKey2 = 0; + preupdate.pPk = sqlite3PrimaryKeyIndex(pTab); }else{ - iKey2 = iKey1; + if( op==SQLITE_UPDATE ){ + iKey2 = v->aMem[iReg].u.i; + }else{ + iKey2 = iKey1; + } } assert( pCsr->nField==pTab->nCol @@ -75091,7 +77679,7 @@ SQLITE_PRIVATE void sqlite3VdbePreUpdateHook( preupdate.iNewReg = iReg; preupdate.keyinfo.db = db; preupdate.keyinfo.enc = ENC(db); - preupdate.keyinfo.nField = pTab->nCol; + preupdate.keyinfo.nKeyField = pTab->nCol; preupdate.keyinfo.aSortOrder = (u8*)&fakeSortOrder; preupdate.iKey1 = iKey1; preupdate.iKey2 = iKey2; @@ -75101,14 +77689,14 @@ SQLITE_PRIVATE void sqlite3VdbePreUpdateHook( db->xPreUpdateCallback(db->pPreUpdateArg, db, op, zDb, zTbl, iKey1, iKey2); db->pPreUpdate = 0; sqlite3DbFree(db, preupdate.aRecord); - vdbeFreeUnpacked(db, preupdate.pUnpacked); - vdbeFreeUnpacked(db, preupdate.pNewUnpacked); + vdbeFreeUnpacked(db, preupdate.keyinfo.nKeyField+1, preupdate.pUnpacked); + vdbeFreeUnpacked(db, preupdate.keyinfo.nKeyField+1, preupdate.pNewUnpacked); if( preupdate.aNew ){ int i; for(i=0; inField; i++){ sqlite3VdbeMemRelease(&preupdate.aNew[i]); } - sqlite3DbFree(db, preupdate.aNew); + sqlite3DbFreeNN(db, preupdate.aNew); } } #endif /* SQLITE_ENABLE_PREUPDATE_HOOK */ @@ -75271,7 +77859,8 @@ SQLITE_API int sqlite3_clear_bindings(sqlite3_stmt *pStmt){ sqlite3VdbeMemRelease(&p->aVar[i]); p->aVar[i].flags = MEM_Null; } - if( p->isPrepareV2 && p->expmask ){ + assert( (p->prepFlags & SQLITE_PREPARE_SAVESQL)!=0 || p->expmask==0 ); + if( p->expmask ){ p->expired = 1; } sqlite3_mutex_leave(mutex); @@ -75315,6 +77904,19 @@ SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value *pVal){ Mem *pMem = (Mem*)pVal; return ((pMem->flags & MEM_Subtype) ? pMem->eSubtype : 0); } +SQLITE_API void *sqlite3_value_pointer(sqlite3_value *pVal, const char *zPType){ + Mem *p = (Mem*)pVal; + if( (p->flags&(MEM_TypeMask|MEM_Term|MEM_Subtype)) == + (MEM_Null|MEM_Term|MEM_Subtype) + && zPType!=0 + && p->eSubtype=='p' + && strcmp(p->u.zPType, zPType)==0 + ){ + return (void*)p->z; + }else{ + return 0; + } +} SQLITE_API const unsigned char *sqlite3_value_text(sqlite3_value *pVal){ return (const unsigned char *)sqlite3ValueText(pVal, SQLITE_UTF8); } @@ -75371,6 +77973,11 @@ SQLITE_API int sqlite3_value_type(sqlite3_value* pVal){ return aType[pVal->flags&MEM_AffMask]; } +/* Return true if a parameter to xUpdate represents an unchanged column */ +SQLITE_API int sqlite3_value_nochange(sqlite3_value *pVal){ + return (pVal->flags&(MEM_Null|MEM_Zero))==(MEM_Null|MEM_Zero); +} + /* Make a copy of an sqlite3_value object */ SQLITE_API sqlite3_value *sqlite3_value_dup(const sqlite3_value *pOrig){ @@ -75493,6 +78100,18 @@ SQLITE_API void sqlite3_result_null(sqlite3_context *pCtx){ assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); sqlite3VdbeMemSetNull(pCtx->pOut); } +SQLITE_API void sqlite3_result_pointer( + sqlite3_context *pCtx, + void *pPtr, + const char *zPType, + void (*xDestructor)(void*) +){ + Mem *pOut = pCtx->pOut; + assert( sqlite3_mutex_held(pOut->db->mutex) ); + sqlite3VdbeMemRelease(pOut); + pOut->flags = MEM_Null; + sqlite3VdbeMemSetPointer(pOut, pPtr, zPType, xDestructor); +} SQLITE_API void sqlite3_result_subtype(sqlite3_context *pCtx, unsigned int eSubtype){ Mem *pOut = pCtx->pOut; assert( sqlite3_mutex_held(pOut->db->mutex) ); @@ -75615,7 +78234,7 @@ static int doWalCallbacks(sqlite3 *db){ sqlite3BtreeEnter(pBt); nEntry = sqlite3PagerWalCallback(sqlite3BtreePager(pBt)); sqlite3BtreeLeave(pBt); - if( db->xWalCallback && nEntry>0 && rc==SQLITE_OK ){ + if( nEntry>0 && db->xWalCallback && rc==SQLITE_OK ){ rc = db->xWalCallback(db->pWalArg, db, db->aDb[i].zDbSName, nEntry); } } @@ -75725,7 +78344,7 @@ static int sqlite3Step(Vdbe *p){ if( rc!=SQLITE_ROW ) checkProfileCallback(db, p); #endif - if( rc==SQLITE_DONE ){ + if( rc==SQLITE_DONE && db->autoCommit ){ assert( p->rc==SQLITE_OK ); p->rc = doWalCallbacks(db); if( p->rc!=SQLITE_OK ){ @@ -75749,8 +78368,11 @@ static int sqlite3Step(Vdbe *p){ || (rc&0xff)==SQLITE_BUSY || rc==SQLITE_MISUSE ); assert( (p->rc!=SQLITE_ROW && p->rc!=SQLITE_DONE) || p->rc==p->rcApp ); - if( p->isPrepareV2 && rc!=SQLITE_ROW && rc!=SQLITE_DONE ){ - /* If this statement was prepared using sqlite3_prepare_v2(), and an + if( (p->prepFlags & SQLITE_PREPARE_SAVESQL)!=0 + && rc!=SQLITE_ROW + && rc!=SQLITE_DONE + ){ + /* If this statement was prepared using saved SQL and an ** error has occurred, then return the error code in p->rc to the ** caller. Set the error code in the database handle to the same value. */ @@ -75766,7 +78388,6 @@ static int sqlite3Step(Vdbe *p){ */ SQLITE_API int sqlite3_step(sqlite3_stmt *pStmt){ int rc = SQLITE_OK; /* Result from sqlite3Step() */ - int rc2 = SQLITE_OK; /* Result from sqlite3Reprepare() */ Vdbe *v = (Vdbe*)pStmt; /* the prepared statement */ int cnt = 0; /* Counter to prevent infinite loop of reprepares */ sqlite3 *db; /* The database connection */ @@ -75780,32 +78401,31 @@ SQLITE_API int sqlite3_step(sqlite3_stmt *pStmt){ while( (rc = sqlite3Step(v))==SQLITE_SCHEMA && cnt++ < SQLITE_MAX_SCHEMA_RETRY ){ int savedPc = v->pc; - rc2 = rc = sqlite3Reprepare(v); - if( rc!=SQLITE_OK) break; + rc = sqlite3Reprepare(v); + if( rc!=SQLITE_OK ){ + /* This case occurs after failing to recompile an sql statement. + ** The error message from the SQL compiler has already been loaded + ** into the database handle. This block copies the error message + ** from the database handle into the statement and sets the statement + ** program counter to 0 to ensure that when the statement is + ** finalized or reset the parser error message is available via + ** sqlite3_errmsg() and sqlite3_errcode(). + */ + const char *zErr = (const char *)sqlite3_value_text(db->pErr); + sqlite3DbFree(db, v->zErrMsg); + if( !db->mallocFailed ){ + v->zErrMsg = sqlite3DbStrDup(db, zErr); + v->rc = rc = sqlite3ApiExit(db, rc); + } else { + v->zErrMsg = 0; + v->rc = rc = SQLITE_NOMEM_BKPT; + } + break; + } sqlite3_reset(pStmt); if( savedPc>=0 ) v->doingRerun = 1; assert( v->expired==0 ); } - if( rc2!=SQLITE_OK ){ - /* This case occurs after failing to recompile an sql statement. - ** The error message from the SQL compiler has already been loaded - ** into the database handle. This block copies the error message - ** from the database handle into the statement and sets the statement - ** program counter to 0 to ensure that when the statement is - ** finalized or reset the parser error message is available via - ** sqlite3_errmsg() and sqlite3_errcode(). - */ - const char *zErr = (const char *)sqlite3_value_text(db->pErr); - sqlite3DbFree(db, v->zErrMsg); - if( !db->mallocFailed ){ - v->zErrMsg = sqlite3DbStrDup(db, zErr); - v->rc = rc2; - } else { - v->zErrMsg = 0; - v->rc = rc = SQLITE_NOMEM_BKPT; - } - } - rc = sqlite3ApiExit(db, rc); sqlite3_mutex_leave(db->mutex); return rc; } @@ -75835,6 +78455,25 @@ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context *p){ return p->pOut->db; } +/* +** If this routine is invoked from within an xColumn method of a virtual +** table, then it returns true if and only if the the call is during an +** UPDATE operation and the value of the column will not be modified +** by the UPDATE. +** +** If this routine is called from any context other than within the +** xColumn method of a virtual table, then the return value is meaningless +** and arbitrary. +** +** Virtual table implements might use this routine to optimize their +** performance by substituting a NULL result, or some other light-weight +** value, as a signal to the xUpdate routine that the column is unchanged. +*/ +SQLITE_API int sqlite3_vtab_nochange(sqlite3_context *p){ + assert( p ); + return sqlite3_value_nochange(p->pOut); +} + /* ** Return the current time for a statement. If the current time ** is requested more than once within the same run of a single prepared @@ -75920,6 +78559,12 @@ SQLITE_API void *sqlite3_aggregate_context(sqlite3_context *p, int nByte){ /* ** Return the auxiliary data pointer, if any, for the iArg'th argument to ** the user-function defined by pCtx. +** +** The left-most argument is 0. +** +** Undocumented behavior: If iArg is negative then access a cache of +** auxiliary data pointers that is available to all functions within a +** single prepared statement. The iArg values must match. */ SQLITE_API void *sqlite3_get_auxdata(sqlite3_context *pCtx, int iArg){ AuxData *pAuxData; @@ -75930,17 +78575,24 @@ SQLITE_API void *sqlite3_get_auxdata(sqlite3_context *pCtx, int iArg){ #else assert( pCtx->pVdbe!=0 ); #endif - for(pAuxData=pCtx->pVdbe->pAuxData; pAuxData; pAuxData=pAuxData->pNext){ - if( pAuxData->iOp==pCtx->iOp && pAuxData->iArg==iArg ) break; + for(pAuxData=pCtx->pVdbe->pAuxData; pAuxData; pAuxData=pAuxData->pNextAux){ + if( pAuxData->iAuxArg==iArg && (pAuxData->iAuxOp==pCtx->iOp || iArg<0) ){ + return pAuxData->pAux; + } } - - return (pAuxData ? pAuxData->pAux : 0); + return 0; } /* ** Set the auxiliary data pointer and delete function, for the iArg'th ** argument to the user-function defined by pCtx. Any previous value is ** deleted by calling the delete function specified when it was set. +** +** The left-most argument is 0. +** +** Undocumented behavior: If iArg is negative then make the data available +** to all functions within the current prepared statement using iArg as an +** access code. */ SQLITE_API void sqlite3_set_auxdata( sqlite3_context *pCtx, @@ -75952,33 +78604,34 @@ SQLITE_API void sqlite3_set_auxdata( Vdbe *pVdbe = pCtx->pVdbe; assert( sqlite3_mutex_held(pCtx->pOut->db->mutex) ); - if( iArg<0 ) goto failed; #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 if( pVdbe==0 ) goto failed; #else assert( pVdbe!=0 ); #endif - for(pAuxData=pVdbe->pAuxData; pAuxData; pAuxData=pAuxData->pNext){ - if( pAuxData->iOp==pCtx->iOp && pAuxData->iArg==iArg ) break; + for(pAuxData=pVdbe->pAuxData; pAuxData; pAuxData=pAuxData->pNextAux){ + if( pAuxData->iAuxArg==iArg && (pAuxData->iAuxOp==pCtx->iOp || iArg<0) ){ + break; + } } if( pAuxData==0 ){ pAuxData = sqlite3DbMallocZero(pVdbe->db, sizeof(AuxData)); if( !pAuxData ) goto failed; - pAuxData->iOp = pCtx->iOp; - pAuxData->iArg = iArg; - pAuxData->pNext = pVdbe->pAuxData; + pAuxData->iAuxOp = pCtx->iOp; + pAuxData->iAuxArg = iArg; + pAuxData->pNextAux = pVdbe->pAuxData; pVdbe->pAuxData = pAuxData; if( pCtx->fErrorOrAux==0 ){ pCtx->isError = 0; pCtx->fErrorOrAux = 1; } - }else if( pAuxData->xDelete ){ - pAuxData->xDelete(pAuxData->pAux); + }else if( pAuxData->xDeleteAux ){ + pAuxData->xDeleteAux(pAuxData->pAux); } pAuxData->pAux = pAux; - pAuxData->xDelete = xDelete; + pAuxData->xDeleteAux = xDelete; return; failed: @@ -76375,9 +79028,8 @@ static int vdbeUnbind(Vdbe *p, int i){ ** as if there had been a schema change, on the first sqlite3_step() call ** following any change to the bindings of that parameter. */ - if( p->isPrepareV2 && - ((i<32 && p->expmask & ((u32)1 << i)) || p->expmask==0xffffffff) - ){ + assert( (p->prepFlags & SQLITE_PREPARE_SAVESQL)!=0 || p->expmask==0 ); + if( p->expmask!=0 && (p->expmask & (i>=31 ? 0x80000000 : (u32)1<expired = 1; } return SQLITE_OK; @@ -76406,8 +79058,10 @@ static int bindText( if( rc==SQLITE_OK && encoding!=0 ){ rc = sqlite3VdbeChangeEncoding(pVar, ENC(p->db)); } - sqlite3Error(p->db, rc); - rc = sqlite3ApiExit(p->db, rc); + if( rc ){ + sqlite3Error(p->db, rc); + rc = sqlite3ApiExit(p->db, rc); + } } sqlite3_mutex_leave(p->db->mutex); }else if( xDel!=SQLITE_STATIC && xDel!=SQLITE_TRANSIENT ){ @@ -76478,6 +79132,24 @@ SQLITE_API int sqlite3_bind_null(sqlite3_stmt *pStmt, int i){ } return rc; } +SQLITE_API int sqlite3_bind_pointer( + sqlite3_stmt *pStmt, + int i, + void *pPtr, + const char *zPTtype, + void (*xDestructor)(void*) +){ + int rc; + Vdbe *p = (Vdbe*)pStmt; + rc = vdbeUnbind(p, i); + if( rc==SQLITE_OK ){ + sqlite3VdbeMemSetPointer(&p->aVar[i-1], pPtr, zPTtype, xDestructor); + sqlite3_mutex_leave(p->db->mutex); + }else if( xDestructor ){ + xDestructor(pPtr); + } + return rc; +} SQLITE_API int sqlite3_bind_text( sqlite3_stmt *pStmt, int i, @@ -76587,10 +79259,8 @@ SQLITE_API int sqlite3_bind_parameter_count(sqlite3_stmt *pStmt){ */ SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt *pStmt, int i){ Vdbe *p = (Vdbe*)pStmt; - if( p==0 || i<1 || i>p->nzVar ){ - return 0; - } - return p->azVar[i-1]; + if( p==0 ) return 0; + return sqlite3VListNumToName(p->pVList, i); } /* @@ -76599,19 +79269,8 @@ SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt *pStmt, int i){ ** return 0. */ SQLITE_PRIVATE int sqlite3VdbeParameterIndex(Vdbe *p, const char *zName, int nName){ - int i; - if( p==0 ){ - return 0; - } - if( zName ){ - for(i=0; inzVar; i++){ - const char *z = p->azVar[i]; - if( z && strncmp(z,zName,nName)==0 && z[nName]==0 ){ - return i+1; - } - } - } - return 0; + if( p==0 || zName==0 ) return 0; + return sqlite3VListNameToNum(p->pVList, zName, nName); } SQLITE_API int sqlite3_bind_parameter_index(sqlite3_stmt *pStmt, const char *zName){ return sqlite3VdbeParameterIndex((Vdbe*)pStmt, zName, sqlite3Strlen30(zName)); @@ -76653,10 +79312,12 @@ SQLITE_API int sqlite3_transfer_bindings(sqlite3_stmt *pFromStmt, sqlite3_stmt * if( pFrom->nVar!=pTo->nVar ){ return SQLITE_ERROR; } - if( pTo->isPrepareV2 && pTo->expmask ){ + assert( (pTo->prepFlags & SQLITE_PREPARE_SAVESQL)!=0 || pTo->expmask==0 ); + if( pTo->expmask ){ pTo->expired = 1; } - if( pFrom->isPrepareV2 && pFrom->expmask ){ + assert( (pFrom->prepFlags & SQLITE_PREPARE_SAVESQL)!=0 || pFrom->expmask==0 ); + if( pFrom->expmask ){ pFrom->expired = 1; } return sqlite3TransferBindings(pFromStmt, pToStmt); @@ -76725,8 +79386,19 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt *pStmt, int op, int resetFlag){ return 0; } #endif - v = pVdbe->aCounter[op]; - if( resetFlag ) pVdbe->aCounter[op] = 0; + if( op==SQLITE_STMTSTATUS_MEMUSED ){ + sqlite3 *db = pVdbe->db; + sqlite3_mutex_enter(db->mutex); + v = 0; + db->pnBytesFreed = (int*)&v; + sqlite3VdbeClearObject(db, pVdbe); + sqlite3DbFree(db, pVdbe); + db->pnBytesFreed = 0; + sqlite3_mutex_leave(db->mutex); + }else{ + v = pVdbe->aCounter[op]; + if( resetFlag ) pVdbe->aCounter[op] = 0; + } return (int)v; } @@ -76774,12 +79446,11 @@ static UnpackedRecord *vdbeUnpackRecord( int nKey, const void *pKey ){ - char *dummy; /* Dummy argument for AllocUnpackedRecord() */ UnpackedRecord *pRet; /* Return value */ - pRet = sqlite3VdbeAllocUnpackedRecord(pKeyInfo, 0, 0, &dummy); + pRet = sqlite3VdbeAllocUnpackedRecord(pKeyInfo); if( pRet ){ - memset(pRet->aMem, 0, sizeof(Mem)*(pKeyInfo->nField+1)); + memset(pRet->aMem, 0, sizeof(Mem)*(pKeyInfo->nKeyField+1)); sqlite3VdbeRecordUnpack(pKeyInfo, nKey, pKey, pRet); } return pRet; @@ -76791,6 +79462,7 @@ static UnpackedRecord *vdbeUnpackRecord( */ SQLITE_API int sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppValue){ PreUpdate *p = db->pPreUpdate; + Mem *pMem; int rc = SQLITE_OK; /* Test that this call is being made from within an SQLITE_DELETE or @@ -76799,6 +79471,9 @@ SQLITE_API int sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppVa rc = SQLITE_MISUSE_BKPT; goto preupdate_old_out; } + if( p->pPk ){ + iIdx = sqlite3ColumnOfIndex(p->pPk, iIdx); + } if( iIdx>=p->pCsr->nField || iIdx<0 ){ rc = SQLITE_RANGE; goto preupdate_old_out; @@ -76812,7 +79487,7 @@ SQLITE_API int sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppVa nRec = sqlite3BtreePayloadSize(p->pCsr->uc.pCursor); aRec = sqlite3DbMallocRaw(db, nRec); if( !aRec ) goto preupdate_old_out; - rc = sqlite3BtreeData(p->pCsr->uc.pCursor, 0, nRec, aRec); + rc = sqlite3BtreePayload(p->pCsr->uc.pCursor, 0, nRec, aRec); if( rc==SQLITE_OK ){ p->pUnpacked = vdbeUnpackRecord(&p->keyinfo, nRec, aRec); if( !p->pUnpacked ) rc = SQLITE_NOMEM; @@ -76824,17 +79499,14 @@ SQLITE_API int sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppVa p->aRecord = aRec; } - if( iIdx>=p->pUnpacked->nField ){ + pMem = *ppValue = &p->pUnpacked->aMem[iIdx]; + if( iIdx==p->pTab->iPKey ){ + sqlite3VdbeMemSetInt64(pMem, p->iKey1); + }else if( iIdx>=p->pUnpacked->nField ){ *ppValue = (sqlite3_value *)columnNullValue(); - }else{ - Mem *pMem = *ppValue = &p->pUnpacked->aMem[iIdx]; - *ppValue = &p->pUnpacked->aMem[iIdx]; - if( iIdx==p->pTab->iPKey ){ - sqlite3VdbeMemSetInt64(pMem, p->iKey1); - }else if( p->pTab->aCol[iIdx].affinity==SQLITE_AFF_REAL ){ - if( pMem->flags & MEM_Int ){ - sqlite3VdbeMemRealify(pMem); - } + }else if( p->pTab->aCol[iIdx].affinity==SQLITE_AFF_REAL ){ + if( pMem->flags & MEM_Int ){ + sqlite3VdbeMemRealify(pMem); } } @@ -76851,7 +79523,7 @@ SQLITE_API int sqlite3_preupdate_old(sqlite3 *db, int iIdx, sqlite3_value **ppVa */ SQLITE_API int sqlite3_preupdate_count(sqlite3 *db){ PreUpdate *p = db->pPreUpdate; - return (p ? p->keyinfo.nField : 0); + return (p ? p->keyinfo.nKeyField : 0); } #endif /* SQLITE_ENABLE_PREUPDATE_HOOK */ @@ -76887,6 +79559,9 @@ SQLITE_API int sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlite3_value **ppVa rc = SQLITE_MISUSE_BKPT; goto preupdate_new_out; } + if( p->pPk && p->op!=SQLITE_UPDATE ){ + iIdx = sqlite3ColumnOfIndex(p->pPk, iIdx); + } if( iIdx>=p->pCsr->nField || iIdx<0 ){ rc = SQLITE_RANGE; goto preupdate_new_out; @@ -76907,13 +79582,11 @@ SQLITE_API int sqlite3_preupdate_new(sqlite3 *db, int iIdx, sqlite3_value **ppVa } p->pNewUnpacked = pUnpack; } - if( iIdx>=pUnpack->nField ){ + pMem = &pUnpack->aMem[iIdx]; + if( iIdx==p->pTab->iPKey ){ + sqlite3VdbeMemSetInt64(pMem, p->iKey2); + }else if( iIdx>=pUnpack->nField ){ pMem = (sqlite3_value *)columnNullValue(); - }else{ - pMem = &pUnpack->aMem[iIdx]; - if( iIdx==p->pTab->iPKey ){ - sqlite3VdbeMemSetInt64(pMem, p->iKey2); - } } }else{ /* For an UPDATE, memory cell (p->iNewReg+1+iIdx) contains the required @@ -77103,7 +79776,7 @@ SQLITE_PRIVATE char *sqlite3VdbeExpandSql( Mem *pVar; /* Value of a host parameter */ StrAccum out; /* Accumulate the output here */ #ifndef SQLITE_OMIT_UTF16 - Mem utf8; /* Used to convert UTF16 parameters into UTF8 for display */ + Mem utf8; /* Used to convert UTF16 into UTF8 for display */ #endif char zBase[100]; /* Initial working space */ @@ -77329,7 +80002,7 @@ SQLITE_API int sqlite3_found_count = 0; ** Test a register to see if it exceeds the current maximum blob size. ** If it does, record the new maximum blob size. */ -#if defined(SQLITE_TEST) && !defined(SQLITE_OMIT_BUILTIN_TEST) +#if defined(SQLITE_TEST) && !defined(SQLITE_UNTESTABLE) # define UPDATE_MAX_BLOBSIZE(P) updateMaxBlobsize(P) #else # define UPDATE_MAX_BLOBSIZE(P) @@ -77439,7 +80112,7 @@ static VdbeCursor *allocateCursor( } if( SQLITE_OK==sqlite3VdbeMemClearAndResize(pMem, nByte) ){ p->apCsr[iCur] = pCx = (VdbeCursor*)pMem->z; - memset(pCx, 0, sizeof(VdbeCursor)); + memset(pCx, 0, offsetof(VdbeCursor,pAltCursor)); pCx->eCurType = eCurType; pCx->iDb = iDb; pCx->nField = nField; @@ -77572,7 +80245,7 @@ static u16 SQLITE_NOINLINE computeNumericType(Mem *pMem){ if( sqlite3AtoF(pMem->z, &pMem->u.r, pMem->n, pMem->enc)==0 ){ return 0; } - if( sqlite3Atoi64(pMem->z, &pMem->u.i, pMem->n, pMem->enc)==SQLITE_OK ){ + if( sqlite3Atoi64(pMem->z, &pMem->u.i, pMem->n, pMem->enc)==0 ){ return MEM_Int; } return MEM_Real; @@ -77621,9 +80294,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemPrettyPrint(Mem *pMem, char *zBuf){ }else{ c = 's'; } - - sqlite3_snprintf(100, zCsr, "%c", c); - zCsr += sqlite3Strlen30(zCsr); + *(zCsr++) = c; sqlite3_snprintf(100, zCsr, "%d[", pMem->n); zCsr += sqlite3Strlen30(zCsr); for(i=0; i<16 && in; i++){ @@ -77635,9 +80306,7 @@ SQLITE_PRIVATE void sqlite3VdbeMemPrettyPrint(Mem *pMem, char *zBuf){ if( z<32 || z>126 ) *zCsr++ = '.'; else *zCsr++ = z; } - - sqlite3_snprintf(100, zCsr, "]%s", encnames[pMem->enc]); - zCsr += sqlite3Strlen30(zCsr); + *(zCsr++) = ']'; if( f & MEM_Zero ){ sqlite3_snprintf(100, zCsr,"+%dz",pMem->u.nZero); zCsr += sqlite3Strlen30(zCsr); @@ -77686,7 +80355,7 @@ static void memTracePrint(Mem *p){ if( p->flags & MEM_Undefined ){ printf(" undefined"); }else if( p->flags & MEM_Null ){ - printf(" NULL"); + printf(p->flags & MEM_Zero ? " NULL-nochng" : " NULL"); }else if( (p->flags & (MEM_Int|MEM_Str))==(MEM_Int|MEM_Str) ){ printf(" si:%lld", p->u.i); }else if( p->flags & MEM_Int ){ @@ -77708,6 +80377,7 @@ static void registerTrace(int iReg, Mem *p){ printf("REG[%d] = ", iReg); memTracePrint(p); printf("\n"); + sqlite3VdbeCheckMemInvariants(p); } #endif @@ -77883,15 +80553,13 @@ SQLITE_PRIVATE int sqlite3VdbeExec( int iCompare = 0; /* Result of last comparison */ unsigned nVmStep = 0; /* Number of virtual machine steps */ #ifndef SQLITE_OMIT_PROGRESS_CALLBACK - unsigned nProgressLimit = 0;/* Invoke xProgress() when nVmStep reaches this */ + unsigned nProgressLimit; /* Invoke xProgress() when nVmStep reaches this */ #endif Mem *aMem = p->aMem; /* Copy of p->aMem */ Mem *pIn1 = 0; /* 1st input operand */ Mem *pIn2 = 0; /* 2nd input operand */ Mem *pIn3 = 0; /* 3rd input operand */ Mem *pOut = 0; /* Output operand */ - int *aPermute = 0; /* Permutation of columns for OP_Compare */ - i64 lastRowid = db->lastRowid; /* Saved value of the last insert ROWID */ #ifdef VDBE_PROFILE u64 start; /* CPU clock count at start of opcode */ #endif @@ -77906,7 +80574,6 @@ SQLITE_PRIVATE int sqlite3VdbeExec( } assert( p->rc==SQLITE_OK || (p->rc&0xff)==SQLITE_BUSY ); assert( p->bIsReader || p->readOnly!=0 ); - p->rc = SQLITE_OK; p->iCurrentTime = 0; assert( p->explain==0 ); p->pResultSet = 0; @@ -77918,6 +80585,8 @@ SQLITE_PRIVATE int sqlite3VdbeExec( u32 iPrior = p->aCounter[SQLITE_STMTSTATUS_VM_STEP]; assert( 0 < db->nProgressOps ); nProgressLimit = db->nProgressOps - (iPrior % db->nProgressOps); + }else{ + nProgressLimit = 0xffffffff; } #endif #ifdef SQLITE_DEBUG @@ -78077,7 +80746,7 @@ case OP_Goto: { /* jump */ pOp = &aOp[pOp->p2 - 1]; /* Opcodes that are used as the bottom of a loop (OP_Next, OP_Prev, - ** OP_VNext, OP_RowSetNext, or OP_SorterNext) all jump here upon + ** OP_VNext, or OP_SorterNext) all jump here upon ** completion. Check to see if sqlite3_interrupt() has been called ** or if the progress callback needs to be invoked. ** @@ -78095,7 +80764,7 @@ case OP_Goto: { /* jump */ ** If the progress callback returns non-zero, exit the virtual machine with ** a return code SQLITE_ABORT. */ - if( db->xProgress!=0 && nVmStep>=nProgressLimit ){ + if( nVmStep>=nProgressLimit && db->xProgress!=0 ){ assert( db->nProgressOps!=0 ); nProgressLimit = nVmStep + db->nProgressOps - (nVmStep%db->nProgressOps); if( db->xProgress(db->pProgressArg) ){ @@ -78267,7 +80936,6 @@ case OP_Halt: { p->nFrame--; sqlite3VdbeSetChanges(db, p->nChange); pcx = sqlite3VdbeFrameRestore(pFrame); - lastRowid = db->lastRowid; if( pOp->p2==OE_Ignore ){ /* Instruction pcx is the OP_Program that invoked the sub-program ** currently being halted. If the p2 instruction of this OP_Halt @@ -78284,7 +80952,7 @@ case OP_Halt: { p->rc = pOp->p1; p->errorAction = (u8)pOp->p2; p->pc = pcx; - assert( pOp->p5>=0 && pOp->p5<=4 ); + assert( pOp->p5<=4 ); if( p->rc ){ if( pOp->p5 ){ static const char * const azType[] = { "NOT NULL", "UNIQUE", "CHECK", @@ -78466,7 +81134,7 @@ case OP_Null: { /* out2 */ case OP_SoftNull: { assert( pOp->p1>0 && pOp->p1<=(p->nMem+1 - p->nCursor) ); pOut = &aMem[pOp->p1]; - pOut->flags = (pOut->flags|MEM_Null)&~MEM_Undefined; + pOut->flags = (pOut->flags&~(MEM_Undefined|MEM_AffMask))|MEM_Null; break; } @@ -78497,12 +81165,12 @@ case OP_Variable: { /* out2 */ Mem *pVar; /* Value being transferred */ assert( pOp->p1>0 && pOp->p1<=p->nVar ); - assert( pOp->p4.z==0 || pOp->p4.z==p->azVar[pOp->p1-1] ); + assert( pOp->p4.z==0 || pOp->p4.z==sqlite3VListNumToName(p->pVList,pOp->p1) ); pVar = &p->aVar[pOp->p1 - 1]; if( sqlite3VdbeMemTooBig(pVar) ){ goto too_big; } - pOut = out2Prerelease(p, pOp); + pOut = &aMem[pOp->p2]; sqlite3VdbeMemShallowCopy(pOut, pVar, MEM_Static); UPDATE_MAX_BLOBSIZE(pOut); break; @@ -78638,7 +81306,7 @@ case OP_ResultRow: { /* Run the progress counter just before returning. */ if( db->xProgress!=0 - && nVmStep>=nProgressLimit + && nVmStep>=nProgressLimit && db->xProgress(db->pProgressArg)!=0 ){ rc = SQLITE_INTERRUPT; @@ -78809,7 +81477,6 @@ case OP_Remainder: { /* same as TK_REM, in1, in2, out3 */ type2 = numericType(pIn2); pOut = &aMem[pOp->p3]; flags = pIn1->flags | pIn2->flags; - if( (flags & MEM_Null)!=0 ) goto arithmetic_result_is_null; if( (type1 & type2 & MEM_Int)!=0 ){ iA = pIn1->u.i; iB = pIn2->u.i; @@ -78833,6 +81500,8 @@ case OP_Remainder: { /* same as TK_REM, in1, in2, out3 */ } pOut->u.i = iB; MemSetTypeFlag(pOut, MEM_Int); + }else if( (flags & MEM_Null)!=0 ){ + goto arithmetic_result_is_null; }else{ bIntint = 0; fp_math: @@ -78880,7 +81549,7 @@ case OP_Remainder: { /* same as TK_REM, in1, in2, out3 */ /* Opcode: CollSeq P1 * * P4 ** -** P4 is a pointer to a CollSeq struct. If the next call to a user function +** P4 is a pointer to a CollSeq object. If the next call to a user function ** or aggregate calls sqlite3GetFuncCollSeq(), this collation sequence will ** be returned. This is used by the built-in min(), max() and nullif() ** functions. @@ -78901,119 +81570,6 @@ case OP_CollSeq: { break; } -/* Opcode: Function0 P1 P2 P3 P4 P5 -** Synopsis: r[P3]=func(r[P2@P5]) -** -** Invoke a user function (P4 is a pointer to a FuncDef object that -** defines the function) with P5 arguments taken from register P2 and -** successors. The result of the function is stored in register P3. -** Register P3 must not be one of the function inputs. -** -** P1 is a 32-bit bitmask indicating whether or not each argument to the -** function was determined to be constant at compile time. If the first -** argument was constant then bit 0 of P1 is set. This is used to determine -** whether meta data associated with a user function argument using the -** sqlite3_set_auxdata() API may be safely retained until the next -** invocation of this opcode. -** -** See also: Function, AggStep, AggFinal -*/ -/* Opcode: Function P1 P2 P3 P4 P5 -** Synopsis: r[P3]=func(r[P2@P5]) -** -** Invoke a user function (P4 is a pointer to an sqlite3_context object that -** contains a pointer to the function to be run) with P5 arguments taken -** from register P2 and successors. The result of the function is stored -** in register P3. Register P3 must not be one of the function inputs. -** -** P1 is a 32-bit bitmask indicating whether or not each argument to the -** function was determined to be constant at compile time. If the first -** argument was constant then bit 0 of P1 is set. This is used to determine -** whether meta data associated with a user function argument using the -** sqlite3_set_auxdata() API may be safely retained until the next -** invocation of this opcode. -** -** SQL functions are initially coded as OP_Function0 with P4 pointing -** to a FuncDef object. But on first evaluation, the P4 operand is -** automatically converted into an sqlite3_context object and the operation -** changed to this OP_Function opcode. In this way, the initialization of -** the sqlite3_context object occurs only once, rather than once for each -** evaluation of the function. -** -** See also: Function0, AggStep, AggFinal -*/ -case OP_Function0: { - int n; - sqlite3_context *pCtx; - - assert( pOp->p4type==P4_FUNCDEF ); - n = pOp->p5; - assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); - assert( n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem+1 - p->nCursor)+1) ); - assert( pOp->p3p2 || pOp->p3>=pOp->p2+n ); - pCtx = sqlite3DbMallocRawNN(db, sizeof(*pCtx) + (n-1)*sizeof(sqlite3_value*)); - if( pCtx==0 ) goto no_mem; - pCtx->pOut = 0; - pCtx->pFunc = pOp->p4.pFunc; - pCtx->iOp = (int)(pOp - aOp); - pCtx->pVdbe = p; - pCtx->argc = n; - pOp->p4type = P4_FUNCCTX; - pOp->p4.pCtx = pCtx; - pOp->opcode = OP_Function; - /* Fall through into OP_Function */ -} -case OP_Function: { - int i; - sqlite3_context *pCtx; - - assert( pOp->p4type==P4_FUNCCTX ); - pCtx = pOp->p4.pCtx; - - /* If this function is inside of a trigger, the register array in aMem[] - ** might change from one evaluation to the next. The next block of code - ** checks to see if the register array has changed, and if so it - ** reinitializes the relavant parts of the sqlite3_context object */ - pOut = &aMem[pOp->p3]; - if( pCtx->pOut != pOut ){ - pCtx->pOut = pOut; - for(i=pCtx->argc-1; i>=0; i--) pCtx->argv[i] = &aMem[pOp->p2+i]; - } - - memAboutToChange(p, pCtx->pOut); -#ifdef SQLITE_DEBUG - for(i=0; iargc; i++){ - assert( memIsValid(pCtx->argv[i]) ); - REGISTER_TRACE(pOp->p2+i, pCtx->argv[i]); - } -#endif - MemSetTypeFlag(pCtx->pOut, MEM_Null); - pCtx->fErrorOrAux = 0; - db->lastRowid = lastRowid; - (*pCtx->pFunc->xSFunc)(pCtx, pCtx->argc, pCtx->argv);/* IMP: R-24505-23230 */ - lastRowid = db->lastRowid; /* Remember rowid changes made by xSFunc */ - - /* If the function returned an error, throw an exception */ - if( pCtx->fErrorOrAux ){ - if( pCtx->isError ){ - sqlite3VdbeError(p, "%s", sqlite3_value_text(pCtx->pOut)); - rc = pCtx->isError; - } - sqlite3VdbeDeleteAuxData(db, &p->pAuxData, pCtx->iOp, pOp->p1); - if( rc ) goto abort_due_to_error; - } - - /* Copy the result of the function into register P3 */ - if( pOut->flags & (MEM_Str|MEM_Blob) ){ - sqlite3VdbeChangeEncoding(pCtx->pOut, encoding); - if( sqlite3VdbeMemTooBig(pCtx->pOut) ) goto too_big; - } - - REGISTER_TRACE(pOp->p3, pCtx->pOut); - UPDATE_MAX_BLOBSIZE(pCtx->pOut); - break; -} - /* Opcode: BitAnd P1 P2 P3 * * ** Synopsis: r[P3]=r[P1]&r[P2] ** @@ -79163,11 +81719,11 @@ case OP_RealAffinity: { /* in1 */ ** Force the value in register P1 to be the type defined by P2. ** **
        -**
      • TEXT -**
      • BLOB -**
      • NUMERIC -**
      • INTEGER -**
      • REAL +**
      • P2=='A' → BLOB +**
      • P2=='B' → TEXT +**
      • P2=='C' → NUMERIC +**
      • P2=='D' → INTEGER +**
      • P2=='E' → REAL **
      ** ** A NULL value is not changed by this routine. It remains NULL. @@ -79310,8 +81866,7 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ assert( pOp->opcode==OP_Eq || pOp->opcode==OP_Ne ); assert( (flags1 & MEM_Cleared)==0 ); assert( (pOp->p5 & SQLITE_JUMPIFNULL)==0 ); - if( (flags1&MEM_Null)!=0 - && (flags3&MEM_Null)!=0 + if( (flags1&flags3&MEM_Null)!=0 && (flags3&MEM_Cleared)==0 ){ res = 0; /* Operands are equal */ @@ -79380,13 +81935,23 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ res = sqlite3MemCompare(pIn3, pIn1, pOp->p4.pColl); } compare_op: - switch( pOp->opcode ){ - case OP_Eq: res2 = res==0; break; - case OP_Ne: res2 = res; break; - case OP_Lt: res2 = res<0; break; - case OP_Le: res2 = res<=0; break; - case OP_Gt: res2 = res>0; break; - default: res2 = res>=0; break; + /* At this point, res is negative, zero, or positive if reg[P1] is + ** less than, equal to, or greater than reg[P3], respectively. Compute + ** the answer to this operator in res2, depending on what the comparison + ** operator actually is. The next block of code depends on the fact + ** that the 6 comparison operators are consecutive integers in this + ** order: NE, EQ, GT, LE, LT, GE */ + assert( OP_Eq==OP_Ne+1 ); assert( OP_Gt==OP_Ne+2 ); assert( OP_Le==OP_Ne+3 ); + assert( OP_Lt==OP_Ne+4 ); assert( OP_Ge==OP_Ne+5 ); + if( res<0 ){ /* ne, eq, gt, le, lt, ge */ + static const unsigned char aLTb[] = { 1, 0, 0, 1, 1, 0 }; + res2 = aLTb[pOp->opcode - OP_Ne]; + }else if( res==0 ){ + static const unsigned char aEQb[] = { 0, 1, 0, 1, 0, 1 }; + res2 = aEQb[pOp->opcode - OP_Ne]; + }else{ + static const unsigned char aGTb[] = { 1, 0, 1, 0, 0, 1 }; + res2 = aGTb[pOp->opcode - OP_Ne]; } /* Undo any changes made by applyAffinity() to the input registers. */ @@ -79398,7 +81963,6 @@ case OP_Ge: { /* same as TK_GE, jump, in1, in3 */ if( pOp->p5 & SQLITE_STOREP2 ){ pOut = &aMem[pOp->p2]; iCompare = res; - res2 = res2!=0; /* For this path res2 must be exactly 0 or 1 */ if( (pOp->p5 & SQLITE_KEEPNULL)!=0 ){ /* The KEEPNULL flag prevents OP_Eq from overwriting a NULL with 1 ** and prevents OP_Ne from overwriting NULL with 0. This flag @@ -79448,8 +82012,8 @@ case OP_ElseNotEq: { /* same as TK_ESCAPE, jump */ /* Opcode: Permutation * * * P4 * ** -** Set the permutation used by the OP_Compare operator to be the array -** of integers in P4. +** Set the permutation used by the OP_Compare operator in the next +** instruction. The permutation is stored in the P4 operand. ** ** The permutation is only valid until the next OP_Compare that has ** the OPFLAG_PERMUTE bit set in P5. Typically the OP_Permutation should @@ -79461,7 +82025,8 @@ case OP_ElseNotEq: { /* same as TK_ESCAPE, jump */ case OP_Permutation: { assert( pOp->p4type==P4_INTARRAY ); assert( pOp->p4.ai ); - aPermute = pOp->p4.ai + 1; + assert( pOp[1].opcode==OP_Compare ); + assert( pOp[1].p5 & OPFLAG_PERMUTE ); break; } @@ -79494,15 +82059,24 @@ case OP_Compare: { int idx; CollSeq *pColl; /* Collating sequence to use on this term */ int bRev; /* True for DESCENDING sort order */ + int *aPermute; /* The permutation */ - if( (pOp->p5 & OPFLAG_PERMUTE)==0 ) aPermute = 0; + if( (pOp->p5 & OPFLAG_PERMUTE)==0 ){ + aPermute = 0; + }else{ + assert( pOp>aOp ); + assert( pOp[-1].opcode==OP_Permutation ); + assert( pOp[-1].p4type==P4_INTARRAY ); + aPermute = pOp[-1].p4.ai + 1; + assert( aPermute!=0 ); + } n = pOp->p3; pKeyInfo = pOp->p4.pKeyInfo; assert( n>0 ); assert( pKeyInfo!=0 ); p1 = pOp->p1; p2 = pOp->p2; -#if SQLITE_DEBUG +#ifdef SQLITE_DEBUG if( aPermute ){ int k, mx = 0; for(k=0; kmx ) mx = aPermute[k]; @@ -79519,7 +82093,7 @@ case OP_Compare: { assert( memIsValid(&aMem[p2+idx]) ); REGISTER_TRACE(p1+idx, &aMem[p1+idx]); REGISTER_TRACE(p2+idx, &aMem[p2+idx]); - assert( inField ); + assert( inKeyField ); pColl = pKeyInfo->aColl[i]; bRev = pKeyInfo->aSortOrder[i]; iCompare = sqlite3MemCompare(&aMem[p1+idx], &aMem[p2+idx], pColl); @@ -79528,7 +82102,6 @@ case OP_Compare: { break; } } - aPermute = 0; break; } @@ -79641,19 +82214,39 @@ case OP_BitNot: { /* same as TK_BITNOT, in1, out2 */ /* Opcode: Once P1 P2 * * * ** -** If the P1 value is equal to the P1 value on the OP_Init opcode at -** instruction 0, then jump to P2. If the two P1 values differ, then -** set the P1 value on this opcode to equal the P1 value on the OP_Init -** and fall through. +** Fall through to the next instruction the first time this opcode is +** encountered on each invocation of the byte-code program. Jump to P2 +** on the second and all subsequent encounters during the same invocation. +** +** Top-level programs determine first invocation by comparing the P1 +** operand against the P1 operand on the OP_Init opcode at the beginning +** of the program. If the P1 values differ, then fall through and make +** the P1 of this opcode equal to the P1 of OP_Init. If P1 values are +** the same then take the jump. +** +** For subprograms, there is a bitmask in the VdbeFrame that determines +** whether or not the jump should be taken. The bitmask is necessary +** because the self-altering code trick does not work for recursive +** triggers. */ case OP_Once: { /* jump */ + u32 iAddr; /* Address of this instruction */ assert( p->aOp[0].opcode==OP_Init ); - VdbeBranchTaken(p->aOp[0].p1==pOp->p1, 2); - if( p->aOp[0].p1==pOp->p1 ){ - goto jump_to_p2; + if( p->pFrame ){ + iAddr = (int)(pOp - p->aOp); + if( (p->pFrame->aOnce[iAddr/8] & (1<<(iAddr & 7)))!=0 ){ + VdbeBranchTaken(1, 2); + goto jump_to_p2; + } + p->pFrame->aOnce[iAddr/8] |= 1<<(iAddr & 7); }else{ - pOp->p1 = p->aOp[0].p1; + if( p->aOp[0].p1==pOp->p1 ){ + VdbeBranchTaken(1, 2); + goto jump_to_p2; + } } + VdbeBranchTaken(0, 2); + pOp->p1 = p->aOp[0].p1; break; } @@ -79718,6 +82311,54 @@ case OP_NotNull: { /* same as TK_NOTNULL, jump, in1 */ break; } +/* Opcode: IfNullRow P1 P2 P3 * * +** Synopsis: if P1.nullRow then r[P3]=NULL, goto P2 +** +** Check the cursor P1 to see if it is currently pointing at a NULL row. +** If it is, then set register P3 to NULL and jump immediately to P2. +** If P1 is not on a NULL row, then fall through without making any +** changes. +*/ +case OP_IfNullRow: { /* jump */ + assert( pOp->p1>=0 && pOp->p1nCursor ); + assert( p->apCsr[pOp->p1]!=0 ); + if( p->apCsr[pOp->p1]->nullRow ){ + sqlite3VdbeMemSetNull(aMem + pOp->p3); + goto jump_to_p2; + } + break; +} + +#ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC +/* Opcode: Offset P1 P2 P3 * * +** Synopsis: r[P3] = sqlite_offset(P1) +** +** Store in register r[P3] the byte offset into the database file that is the +** start of the payload for the record at which that cursor P1 is currently +** pointing. +** +** P2 is the column number for the argument to the sqlite_offset() function. +** This opcode does not use P2 itself, but the P2 value is used by the +** code generator. The P1, P2, and P3 operands to this opcode are the +** as as for OP_Column. +** +** This opcode is only available if SQLite is compiled with the +** -DSQLITE_ENABLE_OFFSET_SQL_FUNC option. +*/ +case OP_Offset: { /* out3 */ + VdbeCursor *pC; /* The VDBE cursor */ + assert( pOp->p1>=0 && pOp->p1nCursor ); + pC = p->apCsr[pOp->p1]; + pOut = &p->aMem[pOp->p3]; + if( NEVER(pC==0) || pC->eCurType!=CURTYPE_BTREE ){ + sqlite3VdbeMemSetNull(pOut); + }else{ + sqlite3VdbeMemSetInt64(pOut, sqlite3BtreeOffset(pC->uc.pCursor)); + } + break; +} +#endif /* SQLITE_ENABLE_OFFSET_SQL_FUNC */ + /* Opcode: Column P1 P2 P3 P4 P5 ** Synopsis: r[P3]=PX ** @@ -79729,7 +82370,7 @@ case OP_NotNull: { /* same as TK_NOTNULL, jump, in1 */ ** ** The value extracted is stored in register P3. ** -** If the column contains fewer than P2 fields, then extract a NULL. Or, +** If the record contains fewer than P2 fields, then extract a NULL. Or, ** if the P4 argument is a P4_MEM use the value of the P4 argument as ** the result. ** @@ -79738,7 +82379,7 @@ case OP_NotNull: { /* same as TK_NOTNULL, jump, in1 */ ** The first OP_Column against a pseudo-table after the value of the content ** register has changed should have this bit set. ** -** If the OPFLAG_LENGTHARG and OPFLAG_TYPEOFARG bits are set on P5 when +** If the OPFLAG_LENGTHARG and OPFLAG_TYPEOFARG bits are set on P5 then ** the result is guaranteed to only be used as the argument of a length() ** or typeof() function, respectively. The loading of large blobs can be ** skipped for length() and all content loading can be skipped for typeof(). @@ -79755,16 +82396,16 @@ case OP_Column: { const u8 *zData; /* Part of the record being decoded */ const u8 *zHdr; /* Next unparsed byte of the header */ const u8 *zEndHdr; /* Pointer to first byte after the header */ - u32 offset; /* Offset into the data */ u64 offset64; /* 64-bit offset */ - u32 avail; /* Number of bytes of available data */ u32 t; /* A type code from the record header */ Mem *pReg; /* PseudoTable input register */ pC = p->apCsr[pOp->p1]; p2 = pOp->p2; - /* If the cursor cache is stale, bring it up-to-date */ + /* If the cursor cache is stale (meaning it is not currently point at + ** the correct row) then bring it up-to-date by doing the necessary + ** B-Tree seek. */ rc = sqlite3VdbeCursorMoveto(&pC, &p2); if( rc ) goto abort_due_to_error; @@ -79778,43 +82419,41 @@ case OP_Column: { assert( pC->eCurType!=CURTYPE_VTAB ); assert( pC->eCurType!=CURTYPE_PSEUDO || pC->nullRow ); assert( pC->eCurType!=CURTYPE_SORTER ); - pCrsr = pC->uc.pCursor; if( pC->cacheStatus!=p->cacheCtr ){ /*OPTIMIZATION-IF-FALSE*/ if( pC->nullRow ){ if( pC->eCurType==CURTYPE_PSEUDO ){ - assert( pC->uc.pseudoTableReg>0 ); - pReg = &aMem[pC->uc.pseudoTableReg]; + /* For the special case of as pseudo-cursor, the seekResult field + ** identifies the register that holds the record */ + assert( pC->seekResult>0 ); + pReg = &aMem[pC->seekResult]; assert( pReg->flags & MEM_Blob ); assert( memIsValid(pReg) ); - pC->payloadSize = pC->szRow = avail = pReg->n; + pC->payloadSize = pC->szRow = pReg->n; pC->aRow = (u8*)pReg->z; }else{ sqlite3VdbeMemSetNull(pDest); goto op_column_out; } }else{ + pCrsr = pC->uc.pCursor; assert( pC->eCurType==CURTYPE_BTREE ); assert( pCrsr ); assert( sqlite3BtreeCursorIsValid(pCrsr) ); pC->payloadSize = sqlite3BtreePayloadSize(pCrsr); - pC->aRow = sqlite3BtreePayloadFetch(pCrsr, &avail); - assert( avail<=65536 ); /* Maximum page size is 64KiB */ - if( pC->payloadSize <= (u32)avail ){ - pC->szRow = pC->payloadSize; - }else if( pC->payloadSize > (u32)db->aLimit[SQLITE_LIMIT_LENGTH] ){ + pC->aRow = sqlite3BtreePayloadFetch(pCrsr, &pC->szRow); + assert( pC->szRow<=pC->payloadSize ); + assert( pC->szRow<=65536 ); /* Maximum page size is 64KiB */ + if( pC->payloadSize > (u32)db->aLimit[SQLITE_LIMIT_LENGTH] ){ goto too_big; - }else{ - pC->szRow = avail; } } pC->cacheStatus = p->cacheCtr; - pC->iHdrOffset = getVarint32(pC->aRow, offset); + pC->iHdrOffset = getVarint32(pC->aRow, aOffset[0]); pC->nHdrParsed = 0; - aOffset[0] = offset; - if( availszRowaRow does not have to hold the entire row, but it does at least ** need to cover the header of the record. If pC->aRow does not contain ** the complete header, then set it to zero, forcing the header to be @@ -79831,17 +82470,26 @@ case OP_Column: { ** 3-byte type for each of the maximum of 32768 columns plus three ** extra bytes for the header length itself. 32768*3 + 3 = 98307. */ - if( offset > 98307 || offset > pC->payloadSize ){ - rc = SQLITE_CORRUPT_BKPT; - goto abort_due_to_error; + if( aOffset[0] > 98307 || aOffset[0] > pC->payloadSize ){ + goto op_column_corrupt; } - }else if( offset>0 ){ /*OPTIMIZATION-IF-TRUE*/ - /* The following goto is an optimization. It can be omitted and - ** everything will still work. But OP_Column is measurably faster - ** by skipping the subsequent conditional, which is always true. + }else{ + /* This is an optimization. By skipping over the first few tests + ** (ex: pC->nHdrParsed<=p2) in the next section, we achieve a + ** measurable performance gain. + ** + ** This branch is taken even if aOffset[0]==0. Such a record is never + ** generated by SQLite, and could be considered corruption, but we + ** accept it for historical reasons. When aOffset[0]==0, the code this + ** branch jumps to reads past the end of the record, but never more + ** than a few bytes. Even if the record occurs at the end of the page + ** content area, the "page header" comes after the page content and so + ** this overread is harmless. Similar overreads can occur for a corrupt + ** database file. */ zData = pC->aRow; assert( pC->nHdrParsed<=p2 ); /* Conditional skipped */ + testcase( aOffset[0]==0 ); goto op_column_read_header; } } @@ -79857,7 +82505,7 @@ case OP_Column: { /* Make sure zData points to enough of the record to cover the header. */ if( pC->aRow==0 ){ memset(&sMem, 0, sizeof(sMem)); - rc = sqlite3VdbeMemFromBtree(pCrsr, 0, aOffset[0], !pC->isTable, &sMem); + rc = sqlite3VdbeMemFromBtree(pC->uc.pCursor, 0, aOffset[0], &sMem); if( rc!=SQLITE_OK ) goto abort_due_to_error; zData = (u8*)sMem.z; }else{ @@ -79870,6 +82518,7 @@ case OP_Column: { offset64 = aOffset[i]; zHdr = zData + pC->iHdrOffset; zEndHdr = zData + aOffset[0]; + testcase( zHdr>=zEndHdr ); do{ if( (t = zHdr[0])<0x80 ){ zHdr++; @@ -79890,9 +82539,13 @@ case OP_Column: { if( (zHdr>=zEndHdr && (zHdr>zEndHdr || offset64!=pC->payloadSize)) || (offset64 > pC->payloadSize) ){ - if( pC->aRow==0 ) sqlite3VdbeMemRelease(&sMem); - rc = SQLITE_CORRUPT_BKPT; - goto abort_due_to_error; + if( aOffset[0]==0 ){ + i = 0; + zHdr = zEndHdr; + }else{ + if( pC->aRow==0 ) sqlite3VdbeMemRelease(&sMem); + goto op_column_corrupt; + } } pC->nHdrParsed = i; @@ -79966,12 +82619,16 @@ case OP_Column: { ** 2. the length(X) function if X is a blob, and ** 3. if the content length is zero. ** So we might as well use bogus content rather than reading - ** content from disk. */ - static u8 aZero[8]; /* This is the bogus content */ + ** content from disk. + ** + ** Although sqlite3VdbeSerialGet() may read at most 8 bytes from the + ** buffer passed to it, debugging function VdbeMemPrettyPrint() may + ** read up to 16. So 16 bytes of bogus content is supplied. + */ + static u8 aZero[16]; /* This is the bogus content */ sqlite3VdbeSerialGet(aZero, t, pDest); }else{ - rc = sqlite3VdbeMemFromBtree(pCrsr, aOffset[p2], len, !pC->isTable, - pDest); + rc = sqlite3VdbeMemFromBtree(pC->uc.pCursor, aOffset[p2], len, pDest); if( rc!=SQLITE_OK ) goto abort_due_to_error; sqlite3VdbeSerialGet((const u8*)pDest->z, t, pDest); pDest->flags &= ~MEM_Ephem; @@ -79982,6 +82639,15 @@ case OP_Column: { UPDATE_MAX_BLOBSIZE(pDest); REGISTER_TRACE(pOp->p3, pDest); break; + +op_column_corrupt: + if( aOp[0].p3>0 ){ + pOp = &aOp[aOp[0].p3-1]; + break; + }else{ + rc = SQLITE_CORRUPT_BKPT; + goto abort_due_to_error; + } } /* Opcode: Affinity P1 P2 * P4 * @@ -79989,24 +82655,24 @@ case OP_Column: { ** ** Apply affinities to a range of P2 registers starting with P1. ** -** P4 is a string that is P2 characters long. The nth character of the -** string indicates the column affinity that should be used for the nth +** P4 is a string that is P2 characters long. The N-th character of the +** string indicates the column affinity that should be used for the N-th ** memory cell in the range. */ case OP_Affinity: { const char *zAffinity; /* The affinity to be applied */ - char cAff; /* A single character of affinity */ zAffinity = pOp->p4.z; assert( zAffinity!=0 ); + assert( pOp->p2>0 ); assert( zAffinity[pOp->p2]==0 ); pIn1 = &aMem[pOp->p1]; - while( (cAff = *(zAffinity++))!=0 ){ + do{ assert( pIn1 <= &p->aMem[(p->nMem+1 - p->nCursor)] ); assert( memIsValid(pIn1) ); - applyAffinity(pIn1, cAff, encoding); + applyAffinity(pIn1, *(zAffinity++), encoding); pIn1++; - } + }while( zAffinity[0] ); break; } @@ -80017,8 +82683,8 @@ case OP_Affinity: { ** use as a data record in a database table or as a key ** in an index. The OP_Column opcode can decode the record later. ** -** P4 may be a string that is P2 characters long. The nth character of the -** string indicates the column affinity that should be used for the nth +** P4 may be a string that is P2 characters long. The N-th character of the +** string indicates the column affinity that should be used for the N-th ** field of the index key. ** ** The mapping from character to affinity is given by the SQLITE_AFF_ @@ -80086,15 +82752,38 @@ case OP_MakeRecord: { }while( zAffinity[0] ); } +#ifdef SQLITE_ENABLE_NULL_TRIM + /* NULLs can be safely trimmed from the end of the record, as long as + ** as the schema format is 2 or more and none of the omitted columns + ** have a non-NULL default value. Also, the record must be left with + ** at least one field. If P5>0 then it will be one more than the + ** index of the right-most column with a non-NULL default value */ + if( pOp->p5 ){ + while( (pLast->flags & MEM_Null)!=0 && nField>pOp->p5 ){ + pLast--; + nField--; + } + } +#endif + /* Loop through the elements that will make up the record to figure ** out how much space is required for the new record. */ pRec = pLast; do{ assert( memIsValid(pRec) ); - pRec->uTemp = serial_type = sqlite3VdbeSerialType(pRec, file_format, &len); + serial_type = sqlite3VdbeSerialType(pRec, file_format, &len); if( pRec->flags & MEM_Zero ){ - if( nData ){ + if( serial_type==0 ){ + /* Values with MEM_Null and MEM_Zero are created by xColumn virtual + ** table methods that never invoke sqlite3_result_xxxxx() while + ** computing an unchanging column value in an UPDATE statement. + ** Give such values a special internal-use-only serial-type of 10 + ** so that they can be passed through to xUpdate and have + ** a true sqlite3_value_nochange(). */ + assert( pOp->p5==OPFLAG_NOCHNG_MAGIC || CORRUPT_DB ); + serial_type = 10; + }else if( nData ){ if( sqlite3VdbeMemExpandBlob(pRec) ) goto no_mem; }else{ nZero += pRec->u.nZero; @@ -80105,6 +82794,7 @@ case OP_MakeRecord: { testcase( serial_type==127 ); testcase( serial_type==128 ); nHdr += serial_type<=127 ? 1 : sqlite3VarintLen(serial_type); + pRec->uTemp = serial_type; if( pRec==pData0 ) break; pRec--; }while(1); @@ -80163,7 +82853,6 @@ case OP_MakeRecord: { pOut->u.nZero = nZero; pOut->flags |= MEM_Zero; } - pOut->enc = SQLITE_UTF8; /* In case the blob is ever converted to text */ REGISTER_TRACE(pOp->p3, pOut); UPDATE_MAX_BLOBSIZE(pOut); break; @@ -80309,7 +82998,7 @@ case OP_Savepoint: { int isSchemaChange; iSavepoint = db->nSavepoint - iSavepoint - 1; if( p1==SAVEPOINT_ROLLBACK ){ - isSchemaChange = (db->flags & SQLITE_InternChanges)!=0; + isSchemaChange = (db->mDbFlags & DBFLAG_SchemaChange)!=0; for(ii=0; iinDb; ii++){ rc = sqlite3BtreeTripAllCursors(db->aDb[ii].pBt, SQLITE_ABORT_ROLLBACK, @@ -80328,7 +83017,7 @@ case OP_Savepoint: { if( isSchemaChange ){ sqlite3ExpirePreparedStatements(db); sqlite3ResetAllSchemasOfConnection(db); - db->flags = (db->flags | SQLITE_InternChanges); + db->mDbFlags |= DBFLAG_SchemaChange; } } @@ -80608,7 +83297,7 @@ case OP_SetCookie: { if( pOp->p2==BTREE_SCHEMA_VERSION ){ /* When the schema cookie changes, record the new cookie internally */ pDb->pSchema->schema_cookie = pOp->p3; - db->flags |= SQLITE_InternChanges; + db->mDbFlags |= DBFLAG_SchemaChange; }else if( pOp->p2==BTREE_FILE_FORMAT ){ /* Record changes in the file format */ pDb->pSchema->file_format = pOp->p3; @@ -80747,7 +83436,7 @@ case OP_OpenWrite: assert( (pIn2->flags & MEM_Int)!=0 ); sqlite3VdbeMemIntegerify(pIn2); p2 = (int)pIn2->u.i; - /* The p2 value always comes from a prior OP_CreateTable opcode and + /* The p2 value always comes from a prior OP_CreateBtree opcode and ** that opcode will always set the p2 value to 2 or more or else fail. ** If there were a failure, the prepared statement would have halted ** before reaching this instruction. */ @@ -80757,7 +83446,7 @@ case OP_OpenWrite: pKeyInfo = pOp->p4.pKeyInfo; assert( pKeyInfo->enc==ENC(db) ); assert( pKeyInfo->db==db ); - nField = pKeyInfo->nField+pKeyInfo->nXField; + nField = pKeyInfo->nAllField; }else if( pOp->p4type==P4_INT32 ){ nField = pOp->p4.i; } @@ -80793,6 +83482,37 @@ case OP_OpenWrite: break; } +/* Opcode: OpenDup P1 P2 * * * +** +** Open a new cursor P1 that points to the same ephemeral table as +** cursor P2. The P2 cursor must have been opened by a prior OP_OpenEphemeral +** opcode. Only ephemeral cursors may be duplicated. +** +** Duplicate ephemeral cursors are used for self-joins of materialized views. +*/ +case OP_OpenDup: { + VdbeCursor *pOrig; /* The original cursor to be duplicated */ + VdbeCursor *pCx; /* The new cursor */ + + pOrig = p->apCsr[pOp->p2]; + assert( pOrig->pBtx!=0 ); /* Only ephemeral cursors can be duplicated */ + + pCx = allocateCursor(p, pOp->p1, pOrig->nField, -1, CURTYPE_BTREE); + if( pCx==0 ) goto no_mem; + pCx->nullRow = 1; + pCx->isEphemeral = 1; + pCx->pKeyInfo = pOrig->pKeyInfo; + pCx->isTable = pOrig->isTable; + rc = sqlite3BtreeCursor(pOrig->pBtx, MASTER_ROOT, BTREE_WRCSR, + pCx->pKeyInfo, pCx->uc.pCursor); + /* The sqlite3BtreeCursor() routine can only fail for the first cursor + ** opened for a database. Since there is already an open cursor when this + ** opcode is run, the sqlite3BtreeCursor() cannot fail */ + assert( rc==SQLITE_OK ); + break; +} + + /* Opcode: OpenEphemeral P1 P2 * P4 P5 ** Synopsis: nColumn=P2 ** @@ -80836,10 +83556,10 @@ case OP_OpenEphemeral: { if( pCx==0 ) goto no_mem; pCx->nullRow = 1; pCx->isEphemeral = 1; - rc = sqlite3BtreeOpen(db->pVfs, 0, db, &pCx->pBt, + rc = sqlite3BtreeOpen(db->pVfs, 0, db, &pCx->pBtx, BTREE_OMIT_JOURNAL | BTREE_SINGLE | pOp->p5, vfsFlags); if( rc==SQLITE_OK ){ - rc = sqlite3BtreeBeginTrans(pCx->pBt, 1); + rc = sqlite3BtreeBeginTrans(pCx->pBtx, 1); } if( rc==SQLITE_OK ){ /* If a transient index is required, create it by calling @@ -80847,21 +83567,20 @@ case OP_OpenEphemeral: { ** opening it. If a transient table is required, just use the ** automatically created table with root-page 1 (an BLOB_INTKEY table). */ - if( (pKeyInfo = pOp->p4.pKeyInfo)!=0 ){ + if( (pCx->pKeyInfo = pKeyInfo = pOp->p4.pKeyInfo)!=0 ){ int pgno; assert( pOp->p4type==P4_KEYINFO ); - rc = sqlite3BtreeCreateTable(pCx->pBt, &pgno, BTREE_BLOBKEY | pOp->p5); + rc = sqlite3BtreeCreateTable(pCx->pBtx, &pgno, BTREE_BLOBKEY | pOp->p5); if( rc==SQLITE_OK ){ assert( pgno==MASTER_ROOT+1 ); assert( pKeyInfo->db==db ); assert( pKeyInfo->enc==ENC(db) ); - pCx->pKeyInfo = pKeyInfo; - rc = sqlite3BtreeCursor(pCx->pBt, pgno, BTREE_WRCSR, + rc = sqlite3BtreeCursor(pCx->pBtx, pgno, BTREE_WRCSR, pKeyInfo, pCx->uc.pCursor); } pCx->isTable = 0; }else{ - rc = sqlite3BtreeCursor(pCx->pBt, MASTER_ROOT, BTREE_WRCSR, + rc = sqlite3BtreeCursor(pCx->pBtx, MASTER_ROOT, BTREE_WRCSR, 0, pCx->uc.pCursor); pCx->isTable = 1; } @@ -80938,8 +83657,13 @@ case OP_OpenPseudo: { pCx = allocateCursor(p, pOp->p1, pOp->p3, -1, CURTYPE_PSEUDO); if( pCx==0 ) goto no_mem; pCx->nullRow = 1; - pCx->uc.pseudoTableReg = pOp->p2; + pCx->seekResult = pOp->p2; pCx->isTable = 1; + /* Give this pseudo-cursor a fake BtCursor pointer so that pCx + ** can be safely passed to sqlite3VdbeCursorMoveto(). This avoids a test + ** for pCx->eCurType==CURTYPE_BTREE inside of sqlite3VdbeCursorMoveto() + ** which is a performance optimization */ + pCx->uc.pCursor = sqlite3BtreeFakeValidCursor(); assert( pOp->p5==0 ); break; } @@ -81093,7 +83817,8 @@ case OP_SeekGT: { /* jump, in3 */ if( pC->isTable ){ /* The BTREE_SEEK_EQ flag is only set on index cursors */ - assert( sqlite3BtreeCursorHasHint(pC->uc.pCursor, BTREE_SEEK_EQ)==0 ); + assert( sqlite3BtreeCursorHasHint(pC->uc.pCursor, BTREE_SEEK_EQ)==0 + || CORRUPT_DB ); /* The input value in P3 might be of any type: integer, real, string, ** blob, or NULL. But it needs to be an integer before we can do @@ -81198,8 +83923,15 @@ case OP_SeekGT: { /* jump, in3 */ if( oc>=OP_SeekGE ){ assert( oc==OP_SeekGE || oc==OP_SeekGT ); if( res<0 || (res==0 && oc==OP_SeekGT) ){ res = 0; - rc = sqlite3BtreeNext(pC->uc.pCursor, &res); - if( rc!=SQLITE_OK ) goto abort_due_to_error; + rc = sqlite3BtreeNext(pC->uc.pCursor, 0); + if( rc!=SQLITE_OK ){ + if( rc==SQLITE_DONE ){ + rc = SQLITE_OK; + res = 1; + }else{ + goto abort_due_to_error; + } + } }else{ res = 0; } @@ -81207,8 +83939,15 @@ case OP_SeekGT: { /* jump, in3 */ assert( oc==OP_SeekLT || oc==OP_SeekLE ); if( res>0 || (res==0 && oc==OP_SeekLT) ){ res = 0; - rc = sqlite3BtreePrevious(pC->uc.pCursor, &res); - if( rc!=SQLITE_OK ) goto abort_due_to_error; + rc = sqlite3BtreePrevious(pC->uc.pCursor, 0); + if( rc!=SQLITE_OK ){ + if( rc==SQLITE_DONE ){ + rc = SQLITE_OK; + res = 1; + }else{ + goto abort_due_to_error; + } + } }else{ /* res might be negative because the table is empty. Check to ** see if this is the case. @@ -81295,10 +84034,9 @@ case OP_Found: { /* jump, in3 */ int ii; VdbeCursor *pC; int res; - char *pFree; + UnpackedRecord *pFree; UnpackedRecord *pIdxKey; UnpackedRecord r; - char aTempRec[ROUND8(sizeof(UnpackedRecord)) + sizeof(Mem)*4 + 7]; #ifdef SQLITE_TEST if( pOp->opcode!=OP_NoConflict ) sqlite3_found_count++; @@ -81315,7 +84053,6 @@ case OP_Found: { /* jump, in3 */ assert( pC->eCurType==CURTYPE_BTREE ); assert( pC->uc.pCursor!=0 ); assert( pC->isTable==0 ); - pFree = 0; if( pOp->p4.i>0 ){ r.pKeyInfo = pC->pKeyInfo; r.nField = (u16)pOp->p4.i; @@ -81328,13 +84065,14 @@ case OP_Found: { /* jump, in3 */ } #endif pIdxKey = &r; + pFree = 0; }else{ - pIdxKey = sqlite3VdbeAllocUnpackedRecord( - pC->pKeyInfo, aTempRec, sizeof(aTempRec), &pFree - ); - if( pIdxKey==0 ) goto no_mem; assert( pIn3->flags & MEM_Blob ); - (void)ExpandBlob(pIn3); + rc = ExpandBlob(pIn3); + assert( rc==SQLITE_OK || rc==SQLITE_NOMEM ); + if( rc ) goto no_mem; + pFree = pIdxKey = sqlite3VdbeAllocUnpackedRecord(pC->pKeyInfo); + if( pIdxKey==0 ) goto no_mem; sqlite3VdbeRecordUnpack(pC->pKeyInfo, pIn3->n, pIn3->z, pIdxKey); } pIdxKey->default_rc = 0; @@ -81351,7 +84089,7 @@ case OP_Found: { /* jump, in3 */ } } rc = sqlite3BtreeMovetoUnpacked(pC->uc.pCursor, pIdxKey, 0, 0, &res); - sqlite3DbFree(db, pFree); + if( pFree ) sqlite3DbFreeNN(db, pFree); if( rc!=SQLITE_OK ){ goto abort_due_to_error; } @@ -81578,7 +84316,7 @@ case OP_NewRowid: { /* out2 */ sqlite3VdbeMemIntegerify(pMem); assert( (pMem->flags & MEM_Int)!=0 ); /* mem(P3) holds an integer */ if( pMem->u.i==MAX_ROWID || pC->useRandomRowid ){ - rc = SQLITE_FULL; /* IMP: R-12275-61338 */ + rc = SQLITE_FULL; /* IMP: R-17817-00630 */ goto abort_due_to_error; } if( vu.i+1 ){ @@ -81630,15 +84368,10 @@ case OP_NewRowid: { /* out2 */ ** then rowid is stored for subsequent return by the ** sqlite3_last_insert_rowid() function (otherwise it is unmodified). ** -** If the OPFLAG_USESEEKRESULT flag of P5 is set and if the result of -** the last seek operation (OP_NotExists or OP_SeekRowid) was a success, -** then this -** operation will not attempt to find the appropriate row before doing -** the insert but will instead overwrite the row that the cursor is -** currently pointing to. Presumably, the prior OP_NotExists or -** OP_SeekRowid opcode -** has already positioned the cursor correctly. This is an optimization -** that boosts performance by avoiding redundant seeks. +** If the OPFLAG_USESEEKRESULT flag of P5 is set, the implementation might +** run faster by avoiding an unnecessary seek on cursor P1. However, +** the OPFLAG_USESEEKRESULT flag must only be set if there have been no prior +** seeks on the cursor or if the most recent seek used a key equal to P3. ** ** If the OPFLAG_ISUPDATE flag is set, then this opcode is part of an ** UPDATE operation. Otherwise (if the flag is clear) then this opcode @@ -81672,10 +84405,8 @@ case OP_InsertInt: { int seekResult; /* Result of prior seek or 0 if no USESEEKRESULT flag */ const char *zDb; /* database name - used by the update hook */ Table *pTab; /* Table structure - used by update and pre-update hooks */ - int op; /* Opcode for update hook: SQLITE_UPDATE or SQLITE_INSERT */ BtreePayload x; /* Payload to be inserted */ - op = 0; pData = &aMem[pOp->p2]; assert( pOp->p1>=0 && pOp->p1nCursor ); assert( memIsValid(pData) ); @@ -81683,7 +84414,7 @@ case OP_InsertInt: { assert( pC!=0 ); assert( pC->eCurType==CURTYPE_BTREE ); assert( pC->uc.pCursor!=0 ); - assert( pC->isTable ); + assert( (pOp->p5 & OPFLAG_ISNOOP) || pC->isTable ); assert( pOp->p4type==P4_TABLE || pOp->p4type>=P4_STATIC ); REGISTER_TRACE(pOp->p2, pData); @@ -81699,37 +84430,34 @@ case OP_InsertInt: { } if( pOp->p4type==P4_TABLE && HAS_UPDATE_HOOK(db) ){ - assert( pC->isTable ); assert( pC->iDb>=0 ); zDb = db->aDb[pC->iDb].zDbSName; pTab = pOp->p4.pTab; - assert( HasRowid(pTab) ); - op = ((pOp->p5 & OPFLAG_ISUPDATE) ? SQLITE_UPDATE : SQLITE_INSERT); + assert( (pOp->p5 & OPFLAG_ISNOOP) || HasRowid(pTab) ); }else{ - pTab = 0; /* Not needed. Silence a comiler warning. */ + pTab = 0; zDb = 0; /* Not needed. Silence a compiler warning. */ } #ifdef SQLITE_ENABLE_PREUPDATE_HOOK /* Invoke the pre-update hook, if any */ - if( db->xPreUpdateCallback - && pOp->p4type==P4_TABLE - && !(pOp->p5 & OPFLAG_ISUPDATE) - ){ - sqlite3VdbePreUpdateHook(p, pC, SQLITE_INSERT, zDb, pTab, x.nKey, pOp->p2); + if( pTab ){ + if( db->xPreUpdateCallback && !(pOp->p5 & OPFLAG_ISUPDATE) ){ + sqlite3VdbePreUpdateHook(p, pC, SQLITE_INSERT, zDb, pTab, x.nKey,pOp->p2); + } + if( db->xUpdateCallback==0 || pTab->aCol==0 ){ + /* Prevent post-update hook from running in cases when it should not */ + pTab = 0; + } } + if( pOp->p5 & OPFLAG_ISNOOP ) break; #endif if( pOp->p5 & OPFLAG_NCHANGE ) p->nChange++; - if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = lastRowid = x.nKey; - if( pData->flags & MEM_Null ){ - x.pData = 0; - x.nData = 0; - }else{ - assert( pData->flags & (MEM_Blob|MEM_Str) ); - x.pData = pData->z; - x.nData = pData->n; - } + if( pOp->p5 & OPFLAG_LASTROWID ) db->lastRowid = x.nKey; + assert( pData->flags & (MEM_Blob|MEM_Str) ); + x.pData = pData->z; + x.nData = pData->n; seekResult = ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0); if( pData->flags & MEM_Zero ){ x.nZero = pData->u.nZero; @@ -81738,15 +84466,19 @@ case OP_InsertInt: { } x.pKey = 0; rc = sqlite3BtreeInsert(pC->uc.pCursor, &x, - (pOp->p5 & OPFLAG_APPEND)!=0, seekResult + (pOp->p5 & (OPFLAG_APPEND|OPFLAG_SAVEPOSITION)), seekResult ); pC->deferredMoveto = 0; pC->cacheStatus = CACHE_STALE; /* Invoke the update-hook if required. */ if( rc ) goto abort_due_to_error; - if( db->xUpdateCallback && op ){ - db->xUpdateCallback(db->pUpdateArg, op, zDb, pTab->zName, x.nKey); + if( pTab ){ + assert( db->xUpdateCallback!=0 ); + assert( pTab->aCol!=0 ); + db->xUpdateCallback(db->pUpdateArg, + (pOp->p5 & OPFLAG_ISUPDATE) ? SQLITE_UPDATE : SQLITE_INSERT, + zDb, pTab->zName, x.nKey); } break; } @@ -81830,8 +84562,11 @@ case OP_Delete: { #ifdef SQLITE_ENABLE_PREUPDATE_HOOK /* Invoke the pre-update-hook if required. */ - if( db->xPreUpdateCallback && pOp->p4.pTab && HasRowid(pTab) ){ - assert( !(opflags & OPFLAG_ISUPDATE) || (aMem[pOp->p3].flags & MEM_Int) ); + if( db->xPreUpdateCallback && pOp->p4.pTab ){ + assert( !(opflags & OPFLAG_ISUPDATE) + || HasRowid(pTab)==0 + || (aMem[pOp->p3].flags & MEM_Int) + ); sqlite3VdbePreUpdateHook(p, pC, (opflags & OPFLAG_ISUPDATE) ? SQLITE_UPDATE : SQLITE_DELETE, zDb, pTab, pC->movetoTarget, @@ -81862,6 +84597,7 @@ case OP_Delete: { rc = sqlite3BtreeDelete(pC->uc.pCursor, pOp->p5); pC->cacheStatus = CACHE_STALE; + pC->seekResult = 0; if( rc ) goto abort_due_to_error; /* Invoke the update-hook if required. */ @@ -81948,50 +84684,51 @@ case OP_SorterData: { break; } -/* Opcode: RowData P1 P2 * * * +/* Opcode: RowData P1 P2 P3 * * ** Synopsis: r[P2]=data ** -** Write into register P2 the complete row data for cursor P1. +** Write into register P2 the complete row content for the row at +** which cursor P1 is currently pointing. ** There is no interpretation of the data. ** It is just copied onto the P2 register exactly as ** it is found in the database file. ** +** If cursor P1 is an index, then the content is the key of the row. +** If cursor P2 is a table, then the content extracted is the data. +** ** If the P1 cursor must be pointing to a valid row (not a NULL row) ** of a real table, not a pseudo-table. -*/ -/* Opcode: RowKey P1 P2 * * * -** Synopsis: r[P2]=key ** -** Write into register P2 the complete row key for cursor P1. -** There is no interpretation of the data. -** The key is copied onto the P2 register exactly as -** it is found in the database file. +** If P3!=0 then this opcode is allowed to make an ephermeral pointer +** into the database page. That means that the content of the output +** register will be invalidated as soon as the cursor moves - including +** moves caused by other cursors that "save" the the current cursors +** position in order that they can write to the same table. If P3==0 +** then a copy of the data is made into memory. P3!=0 is faster, but +** P3==0 is safer. ** -** If the P1 cursor must be pointing to a valid row (not a NULL row) -** of a real table, not a pseudo-table. +** If P3!=0 then the content of the P2 register is unsuitable for use +** in OP_Result and any OP_Result will invalidate the P2 register content. +** The P2 register content is invalidated by opcodes like OP_Function or +** by any use of another cursor pointing to the same table. */ -case OP_RowKey: case OP_RowData: { VdbeCursor *pC; BtCursor *pCrsr; u32 n; - pOut = &aMem[pOp->p2]; - memAboutToChange(p, pOut); + pOut = out2Prerelease(p, pOp); - /* Note that RowKey and RowData are really exactly the same instruction */ assert( pOp->p1>=0 && pOp->p1nCursor ); pC = p->apCsr[pOp->p1]; assert( pC!=0 ); assert( pC->eCurType==CURTYPE_BTREE ); assert( isSorter(pC)==0 ); - assert( pC->isTable || pOp->opcode!=OP_RowData ); - assert( pC->isTable==0 || pOp->opcode==OP_RowData ); assert( pC->nullRow==0 ); assert( pC->uc.pCursor!=0 ); pCrsr = pC->uc.pCursor; - /* The OP_RowKey and OP_RowData opcodes always follow OP_NotExists or + /* The OP_RowData opcodes always follow OP_NotExists or ** OP_SeekRowid or OP_Rewind/Op_Next with no intervening instructions ** that might invalidate the cursor. ** If this where not the case, on of the following assert()s @@ -82011,18 +84748,9 @@ case OP_RowData: { goto too_big; } testcase( n==0 ); - if( sqlite3VdbeMemClearAndResize(pOut, MAX(n,32)) ){ - goto no_mem; - } - pOut->n = n; - MemSetTypeFlag(pOut, MEM_Blob); - if( pC->isTable==0 ){ - rc = sqlite3BtreeKey(pCrsr, 0, n, pOut->z); - }else{ - rc = sqlite3BtreeData(pCrsr, 0, n, pOut->z); - } + rc = sqlite3VdbeMemFromBtree(pCrsr, 0, n, pOut); if( rc ) goto abort_due_to_error; - pOut->enc = SQLITE_UTF8; /* In case the blob is ever cast to text */ + if( !pOp->p3 ) Deephemeralize(pOut); UPDATE_MAX_BLOBSIZE(pOut); REGISTER_TRACE(pOp->p2, pOut); break; @@ -82100,7 +84828,17 @@ case OP_NullRow: { break; } -/* Opcode: Last P1 P2 P3 * * +/* Opcode: SeekEnd P1 * * * * +** +** Position cursor P1 at the end of the btree for the purpose of +** appending a new entry onto the btree. +** +** It is assumed that the cursor is used only for appending and so +** if the cursor is valid, then the cursor must already be pointing +** at the end of the btree and so no changes are made to +** the cursor. +*/ +/* Opcode: Last P1 P2 * * * ** ** The next use of the Rowid or Column or Prev instruction for P1 ** will refer to the last entry in the database table or index. @@ -82112,6 +84850,7 @@ case OP_NullRow: { ** from the end toward the beginning. In other words, the cursor is ** configured to use Prev, not Next. */ +case OP_SeekEnd: case OP_Last: { /* jump */ VdbeCursor *pC; BtCursor *pCrsr; @@ -82124,14 +84863,20 @@ case OP_Last: { /* jump */ pCrsr = pC->uc.pCursor; res = 0; assert( pCrsr!=0 ); +#ifdef SQLITE_DEBUG + pC->seekOp = pOp->opcode; +#endif + if( pOp->opcode==OP_SeekEnd ){ + assert( pOp->p2==0 ); + pC->seekResult = -1; + if( sqlite3BtreeCursorIsValidNN(pCrsr) ){ + break; + } + } rc = sqlite3BtreeLast(pCrsr, &res); pC->nullRow = (u8)res; pC->deferredMoveto = 0; pC->cacheStatus = CACHE_STALE; - pC->seekResult = pOp->p3; -#ifdef SQLITE_DEBUG - pC->seekOp = OP_Last; -#endif if( rc ) goto abort_due_to_error; if( pOp->p2>0 ){ VdbeBranchTaken(res!=0,2); @@ -82140,7 +84885,43 @@ case OP_Last: { /* jump */ break; } +/* Opcode: IfSmaller P1 P2 P3 * * +** +** Estimate the number of rows in the table P1. Jump to P2 if that +** estimate is less than approximately 2**(0.1*P3). +*/ +case OP_IfSmaller: { /* jump */ + VdbeCursor *pC; + BtCursor *pCrsr; + int res; + i64 sz; + assert( pOp->p1>=0 && pOp->p1nCursor ); + pC = p->apCsr[pOp->p1]; + assert( pC!=0 ); + pCrsr = pC->uc.pCursor; + assert( pCrsr ); + rc = sqlite3BtreeFirst(pCrsr, &res); + if( rc ) goto abort_due_to_error; + if( res==0 ){ + sz = sqlite3BtreeRowCountEst(pCrsr); + if( ALWAYS(sz>=0) && sqlite3LogEst((u64)sz)p3 ) res = 1; + } + VdbeBranchTaken(res!=0,2); + if( res ) goto jump_to_p2; + break; +} + + +/* Opcode: SorterSort P1 P2 * * * +** +** After all records have been inserted into the Sorter object +** identified by P1, invoke this opcode to actually do the sorting. +** Jump to P2 if there are no records to be sorted. +** +** This opcode is an alias for OP_Sort and OP_Rewind that is used +** for Sorter objects. +*/ /* Opcode: Sort P1 P2 * * * ** ** This opcode does exactly the same thing as OP_Rewind except that @@ -82268,14 +85049,19 @@ case OP_Rewind: { /* jump */ ** This opcode works just like Prev except that if cursor P1 is not ** open it behaves a no-op. */ +/* Opcode: SorterNext P1 P2 * * P5 +** +** This opcode works just like OP_Next except that P1 must be a +** sorter object for which the OP_SorterSort opcode has been +** invoked. This opcode advances the cursor to the next sorted +** record, or jumps to P2 if there are no more sorted records. +*/ case OP_SorterNext: { /* jump */ VdbeCursor *pC; - int res; pC = p->apCsr[pOp->p1]; assert( isSorter(pC) ); - res = 0; - rc = sqlite3VdbeSorterNext(db, pC, &res); + rc = sqlite3VdbeSorterNext(db, pC); goto next_tail; case OP_PrevIfOpen: /* jump */ case OP_NextIfOpen: /* jump */ @@ -82286,12 +85072,9 @@ case OP_Next: /* jump */ assert( pOp->p1>=0 && pOp->p1nCursor ); assert( pOp->p5aCounter) ); pC = p->apCsr[pOp->p1]; - res = pOp->p3; assert( pC!=0 ); assert( pC->deferredMoveto==0 ); assert( pC->eCurType==CURTYPE_BTREE ); - assert( res==0 || (res==1 && pC->isTable==0) ); - testcase( res==1 ); assert( pOp->opcode!=OP_Next || pOp->p4.xAdvance==sqlite3BtreeNext ); assert( pOp->opcode!=OP_Prev || pOp->p4.xAdvance==sqlite3BtreePrevious ); assert( pOp->opcode!=OP_NextIfOpen || pOp->p4.xAdvance==sqlite3BtreeNext ); @@ -82306,45 +85089,59 @@ case OP_Next: /* jump */ || pC->seekOp==OP_SeekLT || pC->seekOp==OP_SeekLE || pC->seekOp==OP_Last ); - rc = pOp->p4.xAdvance(pC->uc.pCursor, &res); + rc = pOp->p4.xAdvance(pC->uc.pCursor, pOp->p3); next_tail: pC->cacheStatus = CACHE_STALE; - VdbeBranchTaken(res==0,2); - if( rc ) goto abort_due_to_error; - if( res==0 ){ + VdbeBranchTaken(rc==SQLITE_OK,2); + if( rc==SQLITE_OK ){ pC->nullRow = 0; p->aCounter[pOp->p5]++; #ifdef SQLITE_TEST sqlite3_search_count++; #endif goto jump_to_p2_and_check_for_interrupt; - }else{ - pC->nullRow = 1; } + if( rc!=SQLITE_DONE ) goto abort_due_to_error; + rc = SQLITE_OK; + pC->nullRow = 1; goto check_for_interrupt; } -/* Opcode: IdxInsert P1 P2 P3 * P5 +/* Opcode: IdxInsert P1 P2 P3 P4 P5 ** Synopsis: key=r[P2] ** ** Register P2 holds an SQL index key made using the ** MakeRecord instructions. This opcode writes that key ** into the index P1. Data for the entry is nil. ** -** P3 is a flag that provides a hint to the b-tree layer that this -** insert is likely to be an append. +** If P4 is not zero, then it is the number of values in the unpacked +** key of reg(P2). In that case, P3 is the index of the first register +** for the unpacked key. The availability of the unpacked key can sometimes +** be an optimization. +** +** If P5 has the OPFLAG_APPEND bit set, that is a hint to the b-tree layer +** that this insert is likely to be an append. ** ** If P5 has the OPFLAG_NCHANGE bit set, then the change counter is ** incremented by this instruction. If the OPFLAG_NCHANGE bit is clear, ** then the change counter is unchanged. ** -** If P5 has the OPFLAG_USESEEKRESULT bit set, then the cursor must have -** just done a seek to the spot where the new entry is to be inserted. -** This flag avoids doing an extra seek. +** If the OPFLAG_USESEEKRESULT flag of P5 is set, the implementation might +** run faster by avoiding an unnecessary seek on cursor P1. However, +** the OPFLAG_USESEEKRESULT flag must only be set if there have been no prior +** seeks on the cursor or if the most recent seek used a key equivalent +** to P2. ** ** This instruction only works for indices. The equivalent instruction ** for tables is OP_Insert. */ +/* Opcode: SorterInsert P1 P2 * * * +** Synopsis: key=r[P2] +** +** Register P2 holds an SQL index key made using the +** MakeRecord instructions. This opcode writes that key +** into the sorter P1. Data for the entry is nil. +*/ case OP_SorterInsert: /* in2 */ case OP_IdxInsert: { /* in2 */ VdbeCursor *pC; @@ -82366,7 +85163,10 @@ case OP_IdxInsert: { /* in2 */ }else{ x.nKey = pIn2->n; x.pKey = pIn2->z; - rc = sqlite3BtreeInsert(pC->uc.pCursor, &x, pOp->p3, + x.aMem = aMem + pOp->p3; + x.nMem = (u16)pOp->p4.i; + rc = sqlite3BtreeInsert(pC->uc.pCursor, &x, + (pOp->p5 & (OPFLAG_APPEND|OPFLAG_SAVEPOSITION)), ((pOp->p5 & OPFLAG_USESEEKRESULT) ? pC->seekResult : 0) ); assert( pC->deferredMoveto==0 ); @@ -82410,11 +85210,12 @@ case OP_IdxDelete: { } assert( pC->deferredMoveto==0 ); pC->cacheStatus = CACHE_STALE; + pC->seekResult = 0; break; } -/* Opcode: Seek P1 * P3 P4 * -** Synopsis: Move P3 to P1.rowid +/* Opcode: DeferredSeek P1 * P3 P4 * +** Synopsis: Move P3 to P1.rowid if needed ** ** P1 is an open index cursor and P3 is a cursor on the corresponding ** table. This opcode does a deferred seek of the P3 table cursor @@ -82441,11 +85242,11 @@ case OP_IdxDelete: { ** ** See also: Rowid, MakeRecord. */ -case OP_Seek: -case OP_IdxRowid: { /* out2 */ - VdbeCursor *pC; /* The P1 index cursor */ - VdbeCursor *pTabCur; /* The P2 table cursor (OP_Seek only) */ - i64 rowid; /* Rowid that P1 current points to */ +case OP_DeferredSeek: +case OP_IdxRowid: { /* out2 */ + VdbeCursor *pC; /* The P1 index cursor */ + VdbeCursor *pTabCur; /* The P2 table cursor (OP_DeferredSeek only) */ + i64 rowid; /* Rowid that P1 current points to */ assert( pOp->p1>=0 && pOp->p1nCursor ); pC = p->apCsr[pOp->p1]; @@ -82471,7 +85272,7 @@ case OP_IdxRowid: { /* out2 */ if( rc!=SQLITE_OK ){ goto abort_due_to_error; } - if( pOp->opcode==OP_Seek ){ + if( pOp->opcode==OP_DeferredSeek ){ assert( pOp->p3>=0 && pOp->p3nCursor ); pTabCur = p->apCsr[pOp->p3]; assert( pTabCur!=0 ); @@ -82487,7 +85288,6 @@ case OP_IdxRowid: { /* out2 */ }else{ pOut = out2Prerelease(p, pOp); pOut->u.i = rowid; - pOut->flags = MEM_Int; } }else{ assert( pOp->opcode==OP_IdxRowid ); @@ -82599,10 +85399,17 @@ case OP_IdxGE: { /* jump */ ** might be moved into the newly deleted root page in order to keep all ** root pages contiguous at the beginning of the database. The former ** value of the root page that moved - its value before the move occurred - -** is stored in register P2. If no page -** movement was required (because the table being dropped was already -** the last one in the database) then a zero is stored in register P2. -** If AUTOVACUUM is disabled then a zero is stored in register P2. +** is stored in register P2. If no page movement was required (because the +** table being dropped was already the last one in the database) then a +** zero is stored in register P2. If AUTOVACUUM is disabled then a zero +** is stored in register P2. +** +** This opcode throws an error if there are any active reader VMs when +** it is invoked. This is done to avoid the difficulty associated with +** updating existing cursors when a root page is moved in an AUTOVACUUM +** database. This error is thrown even if the database is not an AUTOVACUUM +** db in order to avoid introducing an incompatibility between autovacuum +** and non-autovacuum modes. ** ** See also: Clear */ @@ -82702,55 +85509,45 @@ case OP_ResetSorter: { break; } -/* Opcode: CreateTable P1 P2 * * * -** Synopsis: r[P2]=root iDb=P1 -** -** Allocate a new table in the main database file if P1==0 or in the -** auxiliary database file if P1==1 or in an attached database if -** P1>1. Write the root page number of the new table into -** register P2 -** -** The difference between a table and an index is this: A table must -** have a 4-byte integer key and can have arbitrary data. An index -** has an arbitrary key but no data. -** -** See also: CreateIndex -*/ -/* Opcode: CreateIndex P1 P2 * * * -** Synopsis: r[P2]=root iDb=P1 -** -** Allocate a new index in the main database file if P1==0 or in the -** auxiliary database file if P1==1 or in an attached database if -** P1>1. Write the root page number of the new table into -** register P2. +/* Opcode: CreateBtree P1 P2 P3 * * +** Synopsis: r[P2]=root iDb=P1 flags=P3 ** -** See documentation on OP_CreateTable for additional information. +** Allocate a new b-tree in the main database file if P1==0 or in the +** TEMP database file if P1==1 or in an attached database if +** P1>1. The P3 argument must be 1 (BTREE_INTKEY) for a rowid table +** it must be 2 (BTREE_BLOBKEY) for a index or WITHOUT ROWID table. +** The root page number of the new b-tree is stored in register P2. */ -case OP_CreateIndex: /* out2 */ -case OP_CreateTable: { /* out2 */ +case OP_CreateBtree: { /* out2 */ int pgno; - int flags; Db *pDb; pOut = out2Prerelease(p, pOp); pgno = 0; + assert( pOp->p3==BTREE_INTKEY || pOp->p3==BTREE_BLOBKEY ); assert( pOp->p1>=0 && pOp->p1nDb ); assert( DbMaskTest(p->btreeMask, pOp->p1) ); assert( p->readOnly==0 ); pDb = &db->aDb[pOp->p1]; assert( pDb->pBt!=0 ); - if( pOp->opcode==OP_CreateTable ){ - /* flags = BTREE_INTKEY; */ - flags = BTREE_INTKEY; - }else{ - flags = BTREE_BLOBKEY; - } - rc = sqlite3BtreeCreateTable(pDb->pBt, &pgno, flags); + rc = sqlite3BtreeCreateTable(pDb->pBt, &pgno, pOp->p3); if( rc ) goto abort_due_to_error; pOut->u.i = pgno; break; } +/* Opcode: SqlExec * * * P4 * +** +** Run the SQL statement or statements specified in the P4 string. +*/ +case OP_SqlExec: { + db->nSqlExec++; + rc = sqlite3_exec(db, pOp->p4.z, 0, 0, 0); + db->nSqlExec--; + if( rc ) goto abort_due_to_error; + break; +} + /* Opcode: ParseSchema P1 * * P4 * ** ** Read and parse all entries from the SQLITE_MASTER table of database P1 @@ -82779,7 +85576,7 @@ case OP_ParseSchema: { assert( iDb>=0 && iDbnDb ); assert( DbHasProperty(db, iDb, DB_SchemaLoaded) ); /* Used to be a conditional */ { - zMaster = SCHEMA_TABLE(iDb); + zMaster = MASTER_NAME; initData.db = db; initData.iDb = pOp->p1; initData.pzErrMsg = &p->zErrMsg; @@ -82795,7 +85592,7 @@ case OP_ParseSchema: { assert( !db->mallocFailed ); rc = sqlite3_exec(db, zSql, sqlite3InitCallback, &initData, 0); if( rc==SQLITE_OK ) rc = initData.rc; - sqlite3DbFree(db, zSql); + sqlite3DbFreeNN(db, zSql); db->init.busy = 0; } } @@ -82871,7 +85668,7 @@ case OP_DropTrigger: { ** register P1 the text of an error message describing any problems. ** If no problems are found, store a NULL in register P1. ** -** The register P3 contains the maximum number of allowed errors. +** The register P3 contains one less than the maximum number of allowed errors. ** At most reg(P3) errors will be reported. ** In other words, the analysis stops as soon as reg(P1) errors are ** seen. Reg(P1) is updated with the number of errors remaining. @@ -82895,7 +85692,7 @@ case OP_IntegrityCk: { nRoot = pOp->p2; aRoot = pOp->p4.ai; assert( nRoot>0 ); - assert( aRoot[nRoot]==0 ); + assert( aRoot[0]==nRoot ); assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); pnErr = &aMem[pOp->p3]; assert( (pnErr->flags & MEM_Int)!=0 ); @@ -82903,15 +85700,15 @@ case OP_IntegrityCk: { pIn1 = &aMem[pOp->p1]; assert( pOp->p5nDb ); assert( DbMaskTest(p->btreeMask, pOp->p5) ); - z = sqlite3BtreeIntegrityCheck(db->aDb[pOp->p5].pBt, aRoot, nRoot, - (int)pnErr->u.i, &nErr); - pnErr->u.i -= nErr; + z = sqlite3BtreeIntegrityCheck(db->aDb[pOp->p5].pBt, &aRoot[1], nRoot, + (int)pnErr->u.i+1, &nErr); sqlite3VdbeMemSetNull(pIn1); if( nErr==0 ){ assert( z==0 ); }else if( z==0 ){ goto no_mem; }else{ + pnErr->u.i -= nErr-1; sqlite3VdbeMemSetStr(pIn1, z, -1, SQLITE_UTF8, sqlite3_free); } UPDATE_MAX_BLOBSIZE(pIn1); @@ -82923,7 +85720,7 @@ case OP_IntegrityCk: { /* Opcode: RowSetAdd P1 P2 * * * ** Synopsis: rowset(P1)=r[P2] ** -** Insert the integer value held by register P2 into a boolean index +** Insert the integer value held by register P2 into a RowSet object ** held in register P1. ** ** An assertion fails if P2 is not an integer. @@ -82943,8 +85740,9 @@ case OP_RowSetAdd: { /* in1, in2 */ /* Opcode: RowSetRead P1 P2 P3 * * ** Synopsis: r[P3]=rowset(P1) ** -** Extract the smallest value from boolean index P1 and put that value into -** register P3. Or, if boolean index P1 is initially empty, leave P3 +** Extract the smallest value from the RowSet object in P1 +** and put that value into register P3. +** Or, if RowSet object P1 is initially empty, leave P3 ** unchanged and jump to instruction P2. */ case OP_RowSetRead: { /* jump, in1, out3 */ @@ -82975,15 +85773,14 @@ case OP_RowSetRead: { /* jump, in1, out3 */ ** integer in P3 into the RowSet and continue on to the ** next opcode. ** -** The RowSet object is optimized for the case where successive sets -** of integers, where each set contains no duplicates. Each set -** of values is identified by a unique P4 value. The first set -** must have P4==0, the final set P4=-1. P4 must be either -1 or -** non-negative. For non-negative values of P4 only the lower 4 -** bits are significant. +** The RowSet object is optimized for the case where sets of integers +** are inserted in distinct phases, which each set contains no duplicates. +** Each set is identified by a unique P4 value. The first set +** must have P4==0, the final set must have P4==-1, and for all other sets +** must have P4>0. ** ** This allows optimizations: (a) when P4==0 there is no need to test -** the rowset object for P3, as it is guaranteed not to contain it, +** the RowSet object for P3, as it is guaranteed not to contain it, ** (b) when P4==-1 there is no need to insert the value, as it will ** never be tested for, and (c) when a value that is part of set X is ** inserted, there is no need to search to see if the same value was @@ -83090,7 +85887,8 @@ case OP_Program: { /* jump */ if( pProgram->nCsr==0 ) nMem++; nByte = ROUND8(sizeof(VdbeFrame)) + nMem * sizeof(Mem) - + pProgram->nCsr * sizeof(VdbeCursor *); + + pProgram->nCsr * sizeof(VdbeCursor*) + + (pProgram->nOp + 7)/8; pFrame = sqlite3DbMallocZero(db, nByte); if( !pFrame ){ goto no_mem; @@ -83129,7 +85927,7 @@ case OP_Program: { /* jump */ p->nFrame++; pFrame->pParent = p->pFrame; - pFrame->lastRowid = lastRowid; + pFrame->lastRowid = db->lastRowid; pFrame->nChange = p->nChange; pFrame->nDbChange = p->db->nChange; assert( pFrame->pAuxData==0 ); @@ -83141,6 +85939,8 @@ case OP_Program: { /* jump */ p->nMem = pFrame->nChildMem; p->nCursor = (u16)pFrame->nChildCsr; p->apCsr = (VdbeCursor **)&aMem[p->nMem]; + pFrame->aOnce = (u8*)&p->apCsr[pProgram->nCsr]; + memset(pFrame->aOnce, 0, (pProgram->nOp + 7)/8); p->aOp = aOp = pProgram->aOp; p->nOp = pProgram->nOp; #ifdef SQLITE_ENABLE_STMT_SCANSTATUS @@ -83290,29 +86090,42 @@ case OP_IfPos: { /* jump, in1 */ ** Otherwise, r[P2] is set to the sum of r[P1] and r[P3]. */ case OP_OffsetLimit: { /* in1, out2, in3 */ + i64 x; pIn1 = &aMem[pOp->p1]; pIn3 = &aMem[pOp->p3]; pOut = out2Prerelease(p, pOp); assert( pIn1->flags & MEM_Int ); assert( pIn3->flags & MEM_Int ); - pOut->u.i = pIn1->u.i<=0 ? -1 : pIn1->u.i+(pIn3->u.i>0?pIn3->u.i:0); + x = pIn1->u.i; + if( x<=0 || sqlite3AddInt64(&x, pIn3->u.i>0?pIn3->u.i:0) ){ + /* If the LIMIT is less than or equal to zero, loop forever. This + ** is documented. But also, if the LIMIT+OFFSET exceeds 2^63 then + ** also loop forever. This is undocumented. In fact, one could argue + ** that the loop should terminate. But assuming 1 billion iterations + ** per second (far exceeding the capabilities of any current hardware) + ** it would take nearly 300 years to actually reach the limit. So + ** looping forever is a reasonable approximation. */ + pOut->u.i = -1; + }else{ + pOut->u.i = x; + } break; } -/* Opcode: IfNotZero P1 P2 P3 * * -** Synopsis: if r[P1]!=0 then r[P1]-=P3, goto P2 +/* Opcode: IfNotZero P1 P2 * * * +** Synopsis: if r[P1]!=0 then r[P1]--, goto P2 ** ** Register P1 must contain an integer. If the content of register P1 is -** initially nonzero, then subtract P3 from the value in register P1 and -** jump to P2. If register P1 is initially zero, leave it unchanged -** and fall through. +** initially greater than zero, then decrement the value in register P1. +** If it is non-zero (negative or positive) and then also jump to P2. +** If register P1 is initially zero, leave it unchanged and fall through. */ case OP_IfNotZero: { /* jump, in1 */ pIn1 = &aMem[pOp->p1]; assert( pIn1->flags&MEM_Int ); VdbeBranchTaken(pIn1->u.i<0, 2); if( pIn1->u.i ){ - pIn1->u.i -= pOp->p3; + if( pIn1->u.i>0 ) pIn1->u.i--; goto jump_to_p2; } break; @@ -83321,13 +86134,13 @@ case OP_IfNotZero: { /* jump, in1 */ /* Opcode: DecrJumpZero P1 P2 * * * ** Synopsis: if (--r[P1])==0 goto P2 ** -** Register P1 must hold an integer. Decrement the value in register P1 -** then jump to P2 if the new value is exactly zero. +** Register P1 must hold an integer. Decrement the value in P1 +** and jump to P2 if the new value is exactly zero. */ case OP_DecrJumpZero: { /* jump, in1 */ pIn1 = &aMem[pOp->p1]; assert( pIn1->flags&MEM_Int ); - pIn1->u.i--; + if( pIn1->u.i>SMALLEST_INT64 ) pIn1->u.i--; VdbeBranchTaken(pIn1->u.i==0, 2); if( pIn1->u.i==0 ) goto jump_to_p2; break; @@ -83573,7 +86386,7 @@ case OP_JournalMode: { /* out2 */ ** file. An EXCLUSIVE lock may still be held on the database file ** after a successful return. */ - rc = sqlite3PagerCloseWal(pPager); + rc = sqlite3PagerCloseWal(pPager, db); if( rc==SQLITE_OK ){ sqlite3PagerSetJournalMode(pPager, eNew); } @@ -83683,7 +86496,7 @@ case OP_Expire: { */ case OP_TableLock: { u8 isWriteLock = (u8)pOp->p3; - if( isWriteLock || 0==(db->flags&SQLITE_ReadUncommitted) ){ + if( isWriteLock || 0==(db->flags&SQLITE_ReadUncommit) ){ int p1 = pOp->p1; assert( p1>=0 && p1nDb ); assert( DbMaskTest(p->btreeMask, p1) ); @@ -83874,12 +86687,18 @@ case OP_VFilter: { /* jump */ #endif /* SQLITE_OMIT_VIRTUALTABLE */ #ifndef SQLITE_OMIT_VIRTUALTABLE -/* Opcode: VColumn P1 P2 P3 * * +/* Opcode: VColumn P1 P2 P3 * P5 ** Synopsis: r[P3]=vcolumn(P2) ** -** Store the value of the P2-th column of -** the row of the virtual-table that the -** P1 cursor is pointing to into register P3. +** Store in register P3 the value of the P2-th column of +** the current row of the virtual-table of cursor P1. +** +** If the VColumn opcode is being used to fetch the value of +** an unchanging column during an UPDATE operation, then the P5 +** value is 1. Otherwise, P5 is 0. The P5 value is returned +** by sqlite3_vtab_nochange() routine can can be used +** by virtual table implementations to return special "no-change" +** marks which can be more efficient, depending on the virtual table. */ case OP_VColumn: { sqlite3_vtab *pVtab; @@ -83901,7 +86720,13 @@ case OP_VColumn: { assert( pModule->xColumn ); memset(&sContext, 0, sizeof(sContext)); sContext.pOut = pDest; - MemSetTypeFlag(pDest, MEM_Null); + if( pOp->p5 ){ + sqlite3VdbeMemSetNull(pDest); + pDest->flags = MEM_Null|MEM_Zero; + pDest->u.nZero = 0; + }else{ + MemSetTypeFlag(pDest, MEM_Null); + } rc = pModule->xColumn(pCur->uc.pVCur, &sContext, pOp->p2); sqlite3VtabImportErrmsg(p, pVtab); if( sContext.isError ){ @@ -84057,7 +86882,7 @@ case OP_VUpdate: { sqlite3VtabImportErrmsg(p, pVtab); if( rc==SQLITE_OK && pOp->p1 ){ assert( nArg>1 && apArg[0] && (apArg[0]->flags&MEM_Null) ); - db->lastRowid = lastRowid = rowid; + db->lastRowid = rowid; } if( (rc&0xff)==SQLITE_CONSTRAINT && pOp->p4.pVtab->bConstraint ){ if( pOp->p5==OE_Ignore ){ @@ -84112,8 +86937,129 @@ case OP_MaxPgcnt: { /* out2 */ } #endif +/* Opcode: Function0 P1 P2 P3 P4 P5 +** Synopsis: r[P3]=func(r[P2@P5]) +** +** Invoke a user function (P4 is a pointer to a FuncDef object that +** defines the function) with P5 arguments taken from register P2 and +** successors. The result of the function is stored in register P3. +** Register P3 must not be one of the function inputs. +** +** P1 is a 32-bit bitmask indicating whether or not each argument to the +** function was determined to be constant at compile time. If the first +** argument was constant then bit 0 of P1 is set. This is used to determine +** whether meta data associated with a user function argument using the +** sqlite3_set_auxdata() API may be safely retained until the next +** invocation of this opcode. +** +** See also: Function, AggStep, AggFinal +*/ +/* Opcode: Function P1 P2 P3 P4 P5 +** Synopsis: r[P3]=func(r[P2@P5]) +** +** Invoke a user function (P4 is a pointer to an sqlite3_context object that +** contains a pointer to the function to be run) with P5 arguments taken +** from register P2 and successors. The result of the function is stored +** in register P3. Register P3 must not be one of the function inputs. +** +** P1 is a 32-bit bitmask indicating whether or not each argument to the +** function was determined to be constant at compile time. If the first +** argument was constant then bit 0 of P1 is set. This is used to determine +** whether meta data associated with a user function argument using the +** sqlite3_set_auxdata() API may be safely retained until the next +** invocation of this opcode. +** +** SQL functions are initially coded as OP_Function0 with P4 pointing +** to a FuncDef object. But on first evaluation, the P4 operand is +** automatically converted into an sqlite3_context object and the operation +** changed to this OP_Function opcode. In this way, the initialization of +** the sqlite3_context object occurs only once, rather than once for each +** evaluation of the function. +** +** See also: Function0, AggStep, AggFinal +*/ +case OP_PureFunc0: +case OP_Function0: { + int n; + sqlite3_context *pCtx; + + assert( pOp->p4type==P4_FUNCDEF ); + n = pOp->p5; + assert( pOp->p3>0 && pOp->p3<=(p->nMem+1 - p->nCursor) ); + assert( n==0 || (pOp->p2>0 && pOp->p2+n<=(p->nMem+1 - p->nCursor)+1) ); + assert( pOp->p3p2 || pOp->p3>=pOp->p2+n ); + pCtx = sqlite3DbMallocRawNN(db, sizeof(*pCtx) + (n-1)*sizeof(sqlite3_value*)); + if( pCtx==0 ) goto no_mem; + pCtx->pOut = 0; + pCtx->pFunc = pOp->p4.pFunc; + pCtx->iOp = (int)(pOp - aOp); + pCtx->pVdbe = p; + pCtx->argc = n; + pOp->p4type = P4_FUNCCTX; + pOp->p4.pCtx = pCtx; + assert( OP_PureFunc == OP_PureFunc0+2 ); + assert( OP_Function == OP_Function0+2 ); + pOp->opcode += 2; + /* Fall through into OP_Function */ +} +case OP_PureFunc: +case OP_Function: { + int i; + sqlite3_context *pCtx; + + assert( pOp->p4type==P4_FUNCCTX ); + pCtx = pOp->p4.pCtx; + + /* If this function is inside of a trigger, the register array in aMem[] + ** might change from one evaluation to the next. The next block of code + ** checks to see if the register array has changed, and if so it + ** reinitializes the relavant parts of the sqlite3_context object */ + pOut = &aMem[pOp->p3]; + if( pCtx->pOut != pOut ){ + pCtx->pOut = pOut; + for(i=pCtx->argc-1; i>=0; i--) pCtx->argv[i] = &aMem[pOp->p2+i]; + } + + memAboutToChange(p, pOut); +#ifdef SQLITE_DEBUG + for(i=0; iargc; i++){ + assert( memIsValid(pCtx->argv[i]) ); + REGISTER_TRACE(pOp->p2+i, pCtx->argv[i]); + } +#endif + MemSetTypeFlag(pOut, MEM_Null); + pCtx->fErrorOrAux = 0; + (*pCtx->pFunc->xSFunc)(pCtx, pCtx->argc, pCtx->argv);/* IMP: R-24505-23230 */ -/* Opcode: Init P1 P2 * P4 * + /* If the function returned an error, throw an exception */ + if( pCtx->fErrorOrAux ){ + if( pCtx->isError ){ + sqlite3VdbeError(p, "%s", sqlite3_value_text(pOut)); + rc = pCtx->isError; + } + sqlite3VdbeDeleteAuxData(db, &p->pAuxData, pCtx->iOp, pOp->p1); + if( rc ) goto abort_due_to_error; + } + + /* Copy the result of the function into register P3 */ + if( pOut->flags & (MEM_Str|MEM_Blob) ){ + sqlite3VdbeChangeEncoding(pOut, encoding); + if( sqlite3VdbeMemTooBig(pOut) ) goto too_big; + } + + REGISTER_TRACE(pOp->p3, pOut); + UPDATE_MAX_BLOBSIZE(pOut); + break; +} + +/* Opcode: Trace P1 P2 * P4 * +** +** Write P4 on the statement trace output if statement tracing is +** enabled. +** +** Operand P1 must be 0x7fffffff and P2 must positive. +*/ +/* Opcode: Init P1 P2 P3 P4 * ** Synopsis: Start at P2 ** ** Programs contain a single instance of this opcode as the very first @@ -84127,7 +87073,11 @@ case OP_MaxPgcnt: { /* out2 */ ** ** Increment the value of P1 so that OP_Once opcodes will jump the ** first time they are evaluated for this run. +** +** If P3 is not zero, then it is an address to jump to if an SQLITE_CORRUPT +** error is encountered. */ +case OP_Trace: case OP_Init: { /* jump */ char *zTrace; int i; @@ -84142,7 +87092,9 @@ case OP_Init: { /* jump */ ** sqlite3_expanded_sql(P) otherwise. */ assert( pOp->p4.z==0 || strncmp(pOp->p4.z, "-" "- ", 3)==0 ); - assert( pOp==p->aOp ); /* Always instruction 0 */ + + /* OP_Init is always instruction 0 */ + assert( pOp==p->aOp || pOp->opcode==OP_Trace ); #ifndef SQLITE_OMIT_TRACE if( (db->mTrace & (SQLITE_TRACE_STMT|SQLITE_TRACE_LEGACY))!=0 @@ -84157,7 +87109,11 @@ case OP_Init: { /* jump */ sqlite3_free(z); }else #endif - { + if( db->nVdbeExec>1 ){ + char *z = sqlite3MPrintf(db, "-- %s", zTrace); + (void)db->xTrace(SQLITE_TRACE_STMT, db->pTraceArg, p, z); + sqlite3DbFree(db, z); + }else{ (void)db->xTrace(SQLITE_TRACE_STMT, db->pTraceArg, p, zTrace); } } @@ -84181,12 +87137,14 @@ case OP_Init: { /* jump */ #endif /* SQLITE_OMIT_TRACE */ assert( pOp->p2>0 ); if( pOp->p1>=sqlite3GlobalConfig.iOnceResetThreshold ){ + if( pOp->opcode==OP_Trace ) break; for(i=1; inOp; i++){ if( p->aOp[i].opcode==OP_Once ) p->aOp[i].p1 = 0; } pOp->p1 = 0; } pOp->p1++; + p->aCounter[SQLITE_STMTSTATUS_RUN]++; goto jump_to_p2; } @@ -84293,7 +87251,6 @@ default: { /* This is really OP_Noop and OP_Explain */ ** release the mutexes on btrees that were acquired at the ** top. */ vdbe_return: - db->lastRowid = lastRowid; testcase( nVmStep>0 ); p->aCounter[SQLITE_STMTSTATUS_VM_STEP] += (int)nVmStep; sqlite3VdbeLeave(p); @@ -84357,10 +87314,9 @@ default: { /* This is really OP_Noop and OP_Explain */ */ typedef struct Incrblob Incrblob; struct Incrblob { - int flags; /* Copy of "flags" passed to sqlite3_blob_open() */ int nByte; /* Size of open blob, in bytes */ int iOffset; /* Byte offset of blob in cursor data */ - int iCol; /* Table column this handle is open on */ + u16 iCol; /* Table column this handle is open on */ BtCursor *pCsr; /* Cursor pointing at blob row */ sqlite3_stmt *pStmt; /* Statement holding cursor open */ sqlite3 *db; /* The associated database */ @@ -84391,17 +87347,28 @@ static int blobSeekToRow(Incrblob *p, sqlite3_int64 iRow, char **pzErr){ char *zErr = 0; /* Error message */ Vdbe *v = (Vdbe *)p->pStmt; - /* Set the value of the SQL statements only variable to integer iRow. - ** This is done directly instead of using sqlite3_bind_int64() to avoid - ** triggering asserts related to mutexes. + /* Set the value of register r[1] in the SQL statement to integer iRow. + ** This is done directly as a performance optimization */ - assert( v->aVar[0].flags&MEM_Int ); - v->aVar[0].u.i = iRow; + v->aMem[1].flags = MEM_Int; + v->aMem[1].u.i = iRow; - rc = sqlite3_step(p->pStmt); + /* If the statement has been run before (and is paused at the OP_ResultRow) + ** then back it up to the point where it does the OP_NotExists. This could + ** have been down with an extra OP_Goto, but simply setting the program + ** counter is faster. */ + if( v->pc>4 ){ + v->pc = 4; + assert( v->aOp[v->pc].opcode==OP_NotExists ); + rc = sqlite3VdbeExec(v); + }else{ + rc = sqlite3_step(p->pStmt); + } if( rc==SQLITE_ROW ){ VdbeCursor *pC = v->apCsr[0]; - u32 type = pC->aType[p->iCol]; + u32 type = pC->nHdrParsed>p->iCol ? pC->aType[p->iCol] : 0; + testcase( pC->nHdrParsed==p->iCol ); + testcase( pC->nHdrParsed==p->iCol+1 ); if( type<12 ){ zErr = sqlite3MPrintf(p->db, "cannot open value of type %s", type==0?"null": type==7?"real": "integer" @@ -84446,7 +87413,7 @@ SQLITE_API int sqlite3_blob_open( const char *zTable, /* The table containing the blob */ const char *zColumn, /* The column containing the blob */ sqlite_int64 iRow, /* The row containing the glob */ - int flags, /* True -> read/write access, false -> read-only */ + int wrFlag, /* True -> read/write access, false -> read-only */ sqlite3_blob **ppBlob /* Handle for accessing the blob returned here */ ){ int nAttempt = 0; @@ -84454,8 +87421,8 @@ SQLITE_API int sqlite3_blob_open( int rc = SQLITE_OK; char *zErr = 0; Table *pTab; - Parse *pParse = 0; Incrblob *pBlob = 0; + Parse sParse; #ifdef SQLITE_ENABLE_API_ARMOR if( ppBlob==0 ){ @@ -84468,42 +87435,39 @@ SQLITE_API int sqlite3_blob_open( return SQLITE_MISUSE_BKPT; } #endif - flags = !!flags; /* flags = (flags ? 1 : 0); */ + wrFlag = !!wrFlag; /* wrFlag = (wrFlag ? 1 : 0); */ sqlite3_mutex_enter(db->mutex); pBlob = (Incrblob *)sqlite3DbMallocZero(db, sizeof(Incrblob)); - if( !pBlob ) goto blob_open_out; - pParse = sqlite3StackAllocRaw(db, sizeof(*pParse)); - if( !pParse ) goto blob_open_out; - do { - memset(pParse, 0, sizeof(Parse)); - pParse->db = db; + memset(&sParse, 0, sizeof(Parse)); + if( !pBlob ) goto blob_open_out; + sParse.db = db; sqlite3DbFree(db, zErr); zErr = 0; sqlite3BtreeEnterAll(db); - pTab = sqlite3LocateTable(pParse, 0, zTable, zDb); + pTab = sqlite3LocateTable(&sParse, 0, zTable, zDb); if( pTab && IsVirtual(pTab) ){ pTab = 0; - sqlite3ErrorMsg(pParse, "cannot open virtual table: %s", zTable); + sqlite3ErrorMsg(&sParse, "cannot open virtual table: %s", zTable); } if( pTab && !HasRowid(pTab) ){ pTab = 0; - sqlite3ErrorMsg(pParse, "cannot open table without rowid: %s", zTable); + sqlite3ErrorMsg(&sParse, "cannot open table without rowid: %s", zTable); } #ifndef SQLITE_OMIT_VIEW if( pTab && pTab->pSelect ){ pTab = 0; - sqlite3ErrorMsg(pParse, "cannot open view: %s", zTable); + sqlite3ErrorMsg(&sParse, "cannot open view: %s", zTable); } #endif if( !pTab ){ - if( pParse->zErrMsg ){ + if( sParse.zErrMsg ){ sqlite3DbFree(db, zErr); - zErr = pParse->zErrMsg; - pParse->zErrMsg = 0; + zErr = sParse.zErrMsg; + sParse.zErrMsg = 0; } rc = SQLITE_ERROR; sqlite3BtreeLeaveAll(db); @@ -84528,9 +87492,8 @@ SQLITE_API int sqlite3_blob_open( /* If the value is being opened for writing, check that the ** column is not indexed, and that it is not part of a foreign key. - ** It is against the rules to open a column to which either of these - ** descriptions applies for writing. */ - if( flags ){ + */ + if( wrFlag ){ const char *zFault = 0; Index *pIdx; #ifndef SQLITE_OMIT_FOREIGN_KEY @@ -84568,7 +87531,7 @@ SQLITE_API int sqlite3_blob_open( } } - pBlob->pStmt = (sqlite3_stmt *)sqlite3VdbeCreate(pParse); + pBlob->pStmt = (sqlite3_stmt *)sqlite3VdbeCreate(&sParse); assert( pBlob->pStmt || db->mallocFailed ); if( pBlob->pStmt ){ @@ -84591,22 +87554,21 @@ SQLITE_API int sqlite3_blob_open( static const VdbeOpList openBlob[] = { {OP_TableLock, 0, 0, 0}, /* 0: Acquire a read or write lock */ {OP_OpenRead, 0, 0, 0}, /* 1: Open a cursor */ - {OP_Variable, 1, 1, 0}, /* 2: Move ?1 into reg[1] */ - {OP_NotExists, 0, 7, 1}, /* 3: Seek the cursor */ - {OP_Column, 0, 0, 1}, /* 4 */ - {OP_ResultRow, 1, 0, 0}, /* 5 */ - {OP_Goto, 0, 2, 0}, /* 6 */ - {OP_Close, 0, 0, 0}, /* 7 */ - {OP_Halt, 0, 0, 0}, /* 8 */ + /* blobSeekToRow() will initialize r[1] to the desired rowid */ + {OP_NotExists, 0, 5, 1}, /* 2: Seek the cursor to rowid=r[1] */ + {OP_Column, 0, 0, 1}, /* 3 */ + {OP_ResultRow, 1, 0, 0}, /* 4 */ + {OP_Halt, 0, 0, 0}, /* 5 */ }; Vdbe *v = (Vdbe *)pBlob->pStmt; int iDb = sqlite3SchemaToIndex(db, pTab->pSchema); VdbeOp *aOp; - sqlite3VdbeAddOp4Int(v, OP_Transaction, iDb, flags, + sqlite3VdbeAddOp4Int(v, OP_Transaction, iDb, wrFlag, pTab->pSchema->schema_cookie, pTab->pSchema->iGeneration); - sqlite3VdbeChangeP5(v, 1); + sqlite3VdbeChangeP5(v, 1); + assert( sqlite3VdbeCurrentAddr(v)==2 || db->mallocFailed ); aOp = sqlite3VdbeAddOpList(v, ArraySize(openBlob), openBlob, iLn); /* Make sure a mutex is held on the table to be accessed */ @@ -84620,15 +87582,15 @@ SQLITE_API int sqlite3_blob_open( #else aOp[0].p1 = iDb; aOp[0].p2 = pTab->tnum; - aOp[0].p3 = flags; - sqlite3VdbeChangeP4(v, 1, pTab->zName, P4_TRANSIENT); + aOp[0].p3 = wrFlag; + sqlite3VdbeChangeP4(v, 2, pTab->zName, P4_TRANSIENT); } if( db->mallocFailed==0 ){ #endif /* Remove either the OP_OpenWrite or OpenRead. Set the P2 ** parameter of the other to pTab->tnum. */ - if( flags ) aOp[1].opcode = OP_OpenWrite; + if( wrFlag ) aOp[1].opcode = OP_OpenWrite; aOp[1].p2 = pTab->tnum; aOp[1].p3 = iDb; @@ -84641,23 +87603,21 @@ SQLITE_API int sqlite3_blob_open( */ aOp[1].p4type = P4_INT32; aOp[1].p4.i = pTab->nCol+1; - aOp[4].p2 = pTab->nCol; + aOp[3].p2 = pTab->nCol; - pParse->nVar = 1; - pParse->nMem = 1; - pParse->nTab = 1; - sqlite3VdbeMakeReady(v, pParse); + sParse.nVar = 0; + sParse.nMem = 1; + sParse.nTab = 1; + sqlite3VdbeMakeReady(v, &sParse); } } - pBlob->flags = flags; pBlob->iCol = iCol; pBlob->db = db; sqlite3BtreeLeaveAll(db); if( db->mallocFailed ){ goto blob_open_out; } - sqlite3_bind_int64(pBlob->pStmt, 1, iRow); rc = blobSeekToRow(pBlob, iRow, &zErr); } while( (++nAttempt)mutex); return rc; @@ -84775,7 +87734,7 @@ static int blobReadWrite( ** Read data from a blob handle. */ SQLITE_API int sqlite3_blob_read(sqlite3_blob *pBlob, void *z, int n, int iOffset){ - return blobReadWrite(pBlob, z, n, iOffset, sqlite3BtreeData); + return blobReadWrite(pBlob, z, n, iOffset, sqlite3BtreePayloadChecked); } /* @@ -85657,15 +88616,15 @@ static int vdbeSorterCompareText( int n2; int res; - getVarint32(&p1[1], n1); n1 = (n1 - 13) / 2; - getVarint32(&p2[1], n2); n2 = (n2 - 13) / 2; - res = memcmp(v1, v2, MIN(n1, n2)); + getVarint32(&p1[1], n1); + getVarint32(&p2[1], n2); + res = memcmp(v1, v2, (MIN(n1, n2) - 13)/2); if( res==0 ){ res = n1 - n2; } if( res==0 ){ - if( pTask->pSorter->pKeyInfo->nField>1 ){ + if( pTask->pSorter->pKeyInfo->nKeyField>1 ){ res = vdbeSorterCompareTail( pTask, pbKey2Cached, pKey1, nKey1, pKey2, nKey2 ); @@ -85700,42 +88659,41 @@ static int vdbeSorterCompareInt( assert( (s1>0 && s1<7) || s1==8 || s1==9 ); assert( (s2>0 && s2<7) || s2==8 || s2==9 ); - if( s1>7 && s2>7 ){ - res = s1 - s2; - }else{ - if( s1==s2 ){ - if( (*v1 ^ *v2) & 0x80 ){ - /* The two values have different signs */ - res = (*v1 & 0x80) ? -1 : +1; - }else{ - /* The two values have the same sign. Compare using memcmp(). */ - static const u8 aLen[] = {0, 1, 2, 3, 4, 6, 8 }; - int i; - res = 0; - for(i=0; i7 && s2>7 ){ + res = s1 - s2; + }else{ + if( s2>7 ){ + res = +1; + }else if( s1>7 ){ + res = -1; }else{ - if( s2>7 ){ - res = +1; - }else if( s1>7 ){ - res = -1; - }else{ - res = s1 - s2; - } - assert( res!=0 ); + res = s1 - s2; + } + assert( res!=0 ); - if( res>0 ){ - if( *v1 & 0x80 ) res = -1; - }else{ - if( *v2 & 0x80 ) res = +1; - } + if( res>0 ){ + if( *v1 & 0x80 ) res = -1; + }else{ + if( *v2 & 0x80 ) res = +1; } } if( res==0 ){ - if( pTask->pSorter->pKeyInfo->nField>1 ){ + if( pTask->pSorter->pKeyInfo->nKeyField>1 ){ res = vdbeSorterCompareTail( pTask, pbKey2Cached, pKey1, nKey1, pKey2, nKey2 ); @@ -85750,7 +88708,7 @@ static int vdbeSorterCompareInt( /* ** Initialize the temporary index cursor just opened as a sorter cursor. ** -** Usually, the sorter module uses the value of (pCsr->pKeyInfo->nField) +** Usually, the sorter module uses the value of (pCsr->pKeyInfo->nKeyField) ** to determine the number of fields that should be compared from the ** records being sorted. However, if the value passed as argument nField ** is non-zero and the sorter is able to guarantee a stable sort, nField @@ -85801,9 +88759,9 @@ SQLITE_PRIVATE int sqlite3VdbeSorterInit( } #endif - assert( pCsr->pKeyInfo && pCsr->pBt==0 ); + assert( pCsr->pKeyInfo && pCsr->pBtx==0 ); assert( pCsr->eCurType==CURTYPE_SORTER ); - szKeyInfo = sizeof(KeyInfo) + (pCsr->pKeyInfo->nField-1)*sizeof(CollSeq*); + szKeyInfo = sizeof(KeyInfo) + (pCsr->pKeyInfo->nKeyField-1)*sizeof(CollSeq*); sz = sizeof(VdbeSorter) + nWorker * sizeof(SortSubtask); pSorter = (VdbeSorter*)sqlite3DbMallocZero(db, sz + szKeyInfo); @@ -85815,8 +88773,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterInit( memcpy(pKeyInfo, pCsr->pKeyInfo, szKeyInfo); pKeyInfo->db = 0; if( nField && nWorker==0 ){ - pKeyInfo->nXField += (pKeyInfo->nField - nField); - pKeyInfo->nField = nField; + pKeyInfo->nKeyField = nField; } pSorter->pgsz = pgsz = sqlite3BtreeGetPageSize(db->aDb[0].pBt); pSorter->nTask = nWorker + 1; @@ -85844,11 +88801,9 @@ SQLITE_PRIVATE int sqlite3VdbeSorterInit( mxCache = MIN(mxCache, SQLITE_MAX_PMASZ); pSorter->mxPmaSize = MAX(pSorter->mnPmaSize, (int)mxCache); - /* EVIDENCE-OF: R-26747-61719 When the application provides any amount of - ** scratch memory using SQLITE_CONFIG_SCRATCH, SQLite avoids unnecessary - ** large heap allocations. - */ - if( sqlite3GlobalConfig.pScratch==0 ){ + /* Avoid large memory allocations if the application has requested + ** SQLITE_CONFIG_SMALL_MALLOC. */ + if( sqlite3GlobalConfig.bSmallMalloc==0 ){ assert( pSorter->iMemory==0 ); pSorter->nMemory = pgsz; pSorter->list.aMemory = (u8*)sqlite3Malloc(pgsz); @@ -85856,7 +88811,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterInit( } } - if( (pKeyInfo->nField+pKeyInfo->nXField)<13 + if( pKeyInfo->nAllField<13 && (pKeyInfo->aColl[0]==0 || pKeyInfo->aColl[0]==db->pDfltColl) ){ pSorter->typeMask = SORTER_TYPE_INTEGER | SORTER_TYPE_TEXT; @@ -86169,13 +89124,9 @@ static int vdbeSorterOpenTempFile( */ static int vdbeSortAllocUnpacked(SortSubtask *pTask){ if( pTask->pUnpacked==0 ){ - char *pFree; - pTask->pUnpacked = sqlite3VdbeAllocUnpackedRecord( - pTask->pSorter->pKeyInfo, 0, 0, &pFree - ); - assert( pTask->pUnpacked==(UnpackedRecord*)pFree ); - if( pFree==0 ) return SQLITE_NOMEM_BKPT; - pTask->pUnpacked->nField = pTask->pSorter->pKeyInfo->nField; + pTask->pUnpacked = sqlite3VdbeAllocUnpackedRecord(pTask->pSorter->pKeyInfo); + if( pTask->pUnpacked==0 ) return SQLITE_NOMEM_BKPT; + pTask->pUnpacked->nField = pTask->pSorter->pKeyInfo->nKeyField; pTask->pUnpacked->errCode = 0; } return SQLITE_OK; @@ -87459,9 +90410,13 @@ SQLITE_PRIVATE int sqlite3VdbeSorterRewind(const VdbeCursor *pCsr, int *pbEof){ } /* -** Advance to the next element in the sorter. +** Advance to the next element in the sorter. Return value: +** +** SQLITE_OK success +** SQLITE_DONE end of data +** otherwise some kind of error. */ -SQLITE_PRIVATE int sqlite3VdbeSorterNext(sqlite3 *db, const VdbeCursor *pCsr, int *pbEof){ +SQLITE_PRIVATE int sqlite3VdbeSorterNext(sqlite3 *db, const VdbeCursor *pCsr){ VdbeSorter *pSorter; int rc; /* Return code */ @@ -87475,21 +90430,22 @@ SQLITE_PRIVATE int sqlite3VdbeSorterNext(sqlite3 *db, const VdbeCursor *pCsr, in #if SQLITE_MAX_WORKER_THREADS>0 if( pSorter->bUseThreads ){ rc = vdbePmaReaderNext(pSorter->pReader); - *pbEof = (pSorter->pReader->pFd==0); + if( rc==SQLITE_OK && pSorter->pReader->pFd==0 ) rc = SQLITE_DONE; }else #endif /*if( !pSorter->bUseThreads )*/ { + int res = 0; assert( pSorter->pMerger!=0 ); assert( pSorter->pMerger->pTask==(&pSorter->aTask[0]) ); - rc = vdbeMergeEngineStep(pSorter->pMerger, pbEof); + rc = vdbeMergeEngineStep(pSorter->pMerger, &res); + if( rc==SQLITE_OK && res ) rc = SQLITE_DONE; } }else{ SorterRecord *pFree = pSorter->list.pList; pSorter->list.pList = pFree->u.pNext; pFree->u.pNext = 0; if( pSorter->list.aMemory==0 ) vdbeSorterRecordFree(db, pFree); - *pbEof = !pSorter->list.pList; - rc = SQLITE_OK; + rc = pSorter->list.pList ? SQLITE_OK : SQLITE_DONE; } return rc; } @@ -87575,9 +90531,7 @@ SQLITE_PRIVATE int sqlite3VdbeSorterCompare( r2 = pSorter->pUnpacked; pKeyInfo = pCsr->pKeyInfo; if( r2==0 ){ - char *p; - r2 = pSorter->pUnpacked = sqlite3VdbeAllocUnpackedRecord(pKeyInfo,0,0,&p); - assert( pSorter->pUnpacked==(UnpackedRecord*)p ); + r2 = pSorter->pUnpacked = sqlite3VdbeAllocUnpackedRecord(pKeyInfo); if( r2==0 ) return SQLITE_NOMEM_BKPT; r2->nField = nKeyCol; } @@ -87696,7 +90650,8 @@ static int memjrnlRead( int iChunkOffset; FileChunk *pChunk; -#ifdef SQLITE_ENABLE_ATOMIC_WRITE +#if defined(SQLITE_ENABLE_ATOMIC_WRITE) \ + || defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) if( (iAmt+iOfst)>p->endpoint.iOffset ){ return SQLITE_IOERR_SHORT_READ; } @@ -87815,7 +90770,8 @@ static int memjrnlWrite( ** atomic-write optimization. In this case the first 28 bytes of the ** journal file may be written as part of committing the transaction. */ assert( iOfst==p->endpoint.iOffset || iOfst==0 ); -#ifdef SQLITE_ENABLE_ATOMIC_WRITE +#if defined(SQLITE_ENABLE_ATOMIC_WRITE) \ + || defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) if( iOfst==0 && p->pFirst ){ assert( p->nChunkSize>iAmt ); memcpy((u8*)p->pFirst->zChunk, zBuf, iAmt); @@ -87984,17 +90940,31 @@ SQLITE_PRIVATE void sqlite3MemJournalOpen(sqlite3_file *pJfd){ sqlite3JournalOpen(0, 0, pJfd, 0, -1); } -#ifdef SQLITE_ENABLE_ATOMIC_WRITE +#if defined(SQLITE_ENABLE_ATOMIC_WRITE) \ + || defined(SQLITE_ENABLE_BATCH_ATOMIC_WRITE) /* ** If the argument p points to a MemJournal structure that is not an ** in-memory-only journal file (i.e. is one that was opened with a +ve -** nSpill parameter), and the underlying file has not yet been created, -** create it now. +** nSpill parameter or as SQLITE_OPEN_MAIN_JOURNAL), and the underlying +** file has not yet been created, create it now. */ -SQLITE_PRIVATE int sqlite3JournalCreate(sqlite3_file *p){ +SQLITE_PRIVATE int sqlite3JournalCreate(sqlite3_file *pJfd){ int rc = SQLITE_OK; - if( p->pMethods==&MemJournalMethods && ((MemJournal*)p)->nSpill>0 ){ - rc = memjrnlCreateFile((MemJournal*)p); + MemJournal *p = (MemJournal*)pJfd; + if( p->pMethod==&MemJournalMethods && ( +#ifdef SQLITE_ENABLE_ATOMIC_WRITE + p->nSpill>0 +#else + /* While this appears to not be possible without ATOMIC_WRITE, the + ** paths are complex, so it seems prudent to leave the test in as + ** a NEVER(), in case our analysis is subtly flawed. */ + NEVER(p->nSpill>0) +#endif +#ifdef SQLITE_ENABLE_BATCH_ATOMIC_WRITE + || (p->flags & SQLITE_OPEN_MAIN_JOURNAL) +#endif + )){ + rc = memjrnlCreateFile(p); } return rc; } @@ -88048,11 +91018,11 @@ SQLITE_PRIVATE int sqlite3JournalSize(sqlite3_vfs *pVfs){ ** ** WRC_Continue Continue descending down the tree. ** -** WRC_Prune Do not descend into child nodes. But allow +** WRC_Prune Do not descend into child nodes, but allow ** the walk to continue with sibling nodes. ** ** WRC_Abort Do no more callbacks. Unwind the stack and -** return the top-level walk call. +** return from the top-level walk call. ** ** The return value from this routine is WRC_Abort to abandon the tree walk ** and WRC_Continue to continue. @@ -88061,16 +91031,22 @@ static SQLITE_NOINLINE int walkExpr(Walker *pWalker, Expr *pExpr){ int rc; testcase( ExprHasProperty(pExpr, EP_TokenOnly) ); testcase( ExprHasProperty(pExpr, EP_Reduced) ); - rc = pWalker->xExprCallback(pWalker, pExpr); - if( rc || ExprHasProperty(pExpr,(EP_TokenOnly|EP_Leaf)) ){ - return rc & WRC_Abort; - } - if( pExpr->pLeft && walkExpr(pWalker, pExpr->pLeft) ) return WRC_Abort; - if( pExpr->pRight && walkExpr(pWalker, pExpr->pRight) ) return WRC_Abort; - if( ExprHasProperty(pExpr, EP_xIsSelect) ){ - if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort; - }else if( pExpr->x.pList ){ - if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort; + while(1){ + rc = pWalker->xExprCallback(pWalker, pExpr); + if( rc ) return rc & WRC_Abort; + if( !ExprHasProperty(pExpr,(EP_TokenOnly|EP_Leaf)) ){ + if( pExpr->pLeft && walkExpr(pWalker, pExpr->pLeft) ) return WRC_Abort; + assert( pExpr->x.pList==0 || pExpr->pRight==0 ); + if( pExpr->pRight ){ + pExpr = pExpr->pRight; + continue; + }else if( ExprHasProperty(pExpr, EP_xIsSelect) ){ + if( sqlite3WalkSelect(pWalker, pExpr->x.pSelect) ) return WRC_Abort; + }else if( pExpr->x.pList ){ + if( sqlite3WalkExprList(pWalker, pExpr->x.pList) ) return WRC_Abort; + } + } + break; } return WRC_Continue; } @@ -88106,7 +91082,6 @@ SQLITE_PRIVATE int sqlite3WalkSelectExpr(Walker *pWalker, Select *p){ if( sqlite3WalkExpr(pWalker, p->pHaving) ) return WRC_Abort; if( sqlite3WalkExprList(pWalker, p->pOrderBy) ) return WRC_Abort; if( sqlite3WalkExpr(pWalker, p->pLimit) ) return WRC_Abort; - if( sqlite3WalkExpr(pWalker, p->pOffset) ) return WRC_Abort; return WRC_Continue; } @@ -88123,16 +91098,15 @@ SQLITE_PRIVATE int sqlite3WalkSelectFrom(Walker *pWalker, Select *p){ struct SrcList_item *pItem; pSrc = p->pSrc; - if( ALWAYS(pSrc) ){ - for(i=pSrc->nSrc, pItem=pSrc->a; i>0; i--, pItem++){ - if( sqlite3WalkSelect(pWalker, pItem->pSelect) ){ - return WRC_Abort; - } - if( pItem->fg.isTabFunc - && sqlite3WalkExprList(pWalker, pItem->u1.pFuncArg) - ){ - return WRC_Abort; - } + assert( pSrc!=0 ); + for(i=pSrc->nSrc, pItem=pSrc->a; i>0; i--, pItem++){ + if( pItem->pSelect && sqlite3WalkSelect(pWalker, pItem->pSelect) ){ + return WRC_Abort; + } + if( pItem->fg.isTabFunc + && sqlite3WalkExprList(pWalker, pItem->u1.pFuncArg) + ){ + return WRC_Abort; } } return WRC_Continue; @@ -88145,8 +91119,9 @@ SQLITE_PRIVATE int sqlite3WalkSelectFrom(Walker *pWalker, Select *p){ ** ** If it is not NULL, the xSelectCallback() callback is invoked before ** the walk of the expressions and FROM clause. The xSelectCallback2() -** method, if it is not NULL, is invoked following the walk of the -** expressions and FROM clause. +** method is invoked following the walk of the expressions and FROM clause, +** but only if both xSelectCallback and xSelectCallback2 are both non-NULL +** and if the expressions and FROM clause both return WRC_Continue; ** ** Return WRC_Continue under normal conditions. Return WRC_Abort if ** there is an abort request. @@ -88156,29 +91131,22 @@ SQLITE_PRIVATE int sqlite3WalkSelectFrom(Walker *pWalker, Select *p){ */ SQLITE_PRIVATE int sqlite3WalkSelect(Walker *pWalker, Select *p){ int rc; - if( p==0 || (pWalker->xSelectCallback==0 && pWalker->xSelectCallback2==0) ){ - return WRC_Continue; - } - rc = WRC_Continue; - pWalker->walkerDepth++; - while( p ){ - if( pWalker->xSelectCallback ){ - rc = pWalker->xSelectCallback(pWalker, p); - if( rc ) break; - } + if( p==0 ) return WRC_Continue; + if( pWalker->xSelectCallback==0 ) return WRC_Continue; + do{ + rc = pWalker->xSelectCallback(pWalker, p); + if( rc ) return rc & WRC_Abort; if( sqlite3WalkSelectExpr(pWalker, p) || sqlite3WalkSelectFrom(pWalker, p) ){ - pWalker->walkerDepth--; return WRC_Abort; } if( pWalker->xSelectCallback2 ){ pWalker->xSelectCallback2(pWalker, p); } p = p->pPrior; - } - pWalker->walkerDepth--; - return rc & WRC_Abort; + }while( p!=0 ); + return WRC_Continue; } /************** End of walker.c **********************************************/ @@ -88200,8 +91168,6 @@ SQLITE_PRIVATE int sqlite3WalkSelect(Walker *pWalker, Select *p){ ** table and column. */ /* #include "sqliteInt.h" */ -/* #include */ -/* #include */ /* ** Walk the expression tree pExpr and increase the aggregate function @@ -88416,7 +91382,8 @@ static int lookupName( } /* Start at the inner-most context and move outward until a match is found */ - while( pNC && cnt==0 ){ + assert( pNC && cnt==0 ); + do{ ExprList *pEList; SrcList *pSrcList = pNC->pSrcList; @@ -88601,11 +91568,11 @@ static int lookupName( /* Advance to the next name context. The loop will exit when either ** we have a match (cnt>0) or when we run out of name contexts. */ - if( cnt==0 ){ - pNC = pNC->pNext; - nSubquery++; - } - } + if( cnt ) break; + pNC = pNC->pNext; + nSubquery++; + }while( pNC ); + /* ** If X and Y are NULL (in other words if only the column name Z is @@ -88664,6 +91631,7 @@ static int lookupName( sqlite3ExprDelete(db, pExpr->pRight); pExpr->pRight = 0; pExpr->op = (isTrigger ? TK_TRIGGER : TK_COLUMN); + ExprSetProperty(pExpr, EP_Leaf); lookupname_end: if( cnt==1 ){ assert( pNC!=0 ); @@ -88702,7 +91670,6 @@ SQLITE_PRIVATE Expr *sqlite3CreateColumnExpr(sqlite3 *db, SrcList *pSrc, int iSr testcase( iCol==BMS-1 ); pItem->colUsed |= ((Bitmask)1)<<(iCol>=BMS ? BMS-1 : iCol); } - ExprSetProperty(p, EP_Resolved); } return p; } @@ -88762,8 +91729,6 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ pParse = pNC->pParse; assert( pParse==pWalker->pParse ); - if( ExprHasProperty(pExpr, EP_Resolved) ) return WRC_Prune; - ExprSetProperty(pExpr, EP_Resolved); #ifndef NDEBUG if( pNC->pSrcList && pNC->pSrcList->nAlloc>0 ){ SrcList *pSrcList = pNC->pSrcList; @@ -88784,7 +91749,8 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ SrcList *pSrcList = pNC->pSrcList; struct SrcList_item *pItem; assert( pSrcList && pSrcList->nSrc==1 ); - pItem = pSrcList->a; + pItem = pSrcList->a; + assert( HasRowid(pItem->pTab) && pItem->pTab->pSelect==0 ); pExpr->op = TK_COLUMN; pExpr->pTab = pItem->pTab; pExpr->iTable = pItem->iCursor; @@ -88795,33 +91761,38 @@ static int resolveExprStep(Walker *pWalker, Expr *pExpr){ #endif /* defined(SQLITE_ENABLE_UPDATE_DELETE_LIMIT) && !defined(SQLITE_OMIT_SUBQUERY) */ - /* A lone identifier is the name of a column. - */ - case TK_ID: { - return lookupName(pParse, 0, 0, pExpr->u.zToken, pNC, pExpr); - } - - /* A table name and column name: ID.ID + /* A column name: ID + ** Or table name and column name: ID.ID ** Or a database, table and column: ID.ID.ID + ** + ** The TK_ID and TK_OUT cases are combined so that there will only + ** be one call to lookupName(). Then the compiler will in-line + ** lookupName() for a size reduction and performance increase. */ + case TK_ID: case TK_DOT: { const char *zColumn; const char *zTable; const char *zDb; Expr *pRight; - /* if( pSrcList==0 ) break; */ - notValid(pParse, pNC, "the \".\" operator", NC_IdxExpr); - pRight = pExpr->pRight; - if( pRight->op==TK_ID ){ + if( pExpr->op==TK_ID ){ zDb = 0; - zTable = pExpr->pLeft->u.zToken; - zColumn = pRight->u.zToken; + zTable = 0; + zColumn = pExpr->u.zToken; }else{ - assert( pRight->op==TK_DOT ); - zDb = pExpr->pLeft->u.zToken; - zTable = pRight->pLeft->u.zToken; - zColumn = pRight->pRight->u.zToken; + notValid(pParse, pNC, "the \".\" operator", NC_IdxExpr); + pRight = pExpr->pRight; + if( pRight->op==TK_ID ){ + zDb = 0; + zTable = pExpr->pLeft->u.zToken; + zColumn = pRight->u.zToken; + }else{ + assert( pRight->op==TK_DOT ); + zDb = pExpr->pLeft->u.zToken; + zTable = pRight->pLeft->u.zToken; + zColumn = pRight->pRight->u.zToken; + } } return lookupName(pParse, zDb, zTable, zColumn, pNC, pExpr); } @@ -89091,7 +92062,7 @@ static int resolveOrderByTermToExprList( ** result-set entry. */ for(i=0; inExpr; i++){ - if( sqlite3ExprCompare(pEList->a[i].pExpr, pE, -1)<2 ){ + if( sqlite3ExprCompare(0, pEList->a[i].pExpr, pE, -1)<2 ){ return i+1; } } @@ -89142,12 +92113,10 @@ static int resolveCompoundOrderBy( pOrderBy = pSelect->pOrderBy; if( pOrderBy==0 ) return 0; db = pParse->db; -#if SQLITE_MAX_COLUMN if( pOrderBy->nExpr>db->aLimit[SQLITE_LIMIT_COLUMN] ){ sqlite3ErrorMsg(pParse, "too many terms in ORDER BY clause"); return 1; } -#endif for(i=0; inExpr; i++){ pOrderBy->a[i].done = 0; } @@ -89239,12 +92208,10 @@ SQLITE_PRIVATE int sqlite3ResolveOrderGroupBy( struct ExprList_item *pItem; if( pOrderBy==0 || pParse->db->mallocFailed ) return 0; -#if SQLITE_MAX_COLUMN if( pOrderBy->nExpr>db->aLimit[SQLITE_LIMIT_COLUMN] ){ sqlite3ErrorMsg(pParse, "too many terms in %s BY clause", zType); return 1; } -#endif pEList = pSelect->pEList; assert( pEList!=0 ); /* sqlite3SelectNew() guarantees this */ for(i=0, pItem=pOrderBy->a; inExpr; i++, pItem++){ @@ -89325,7 +92292,7 @@ static int resolveOrderGroupBy( return 1; } for(j=0; jpEList->nExpr; j++){ - if( sqlite3ExprCompare(pE, pSelect->pEList->a[j].pExpr, -1)==0 ){ + if( sqlite3ExprCompare(0, pE, pSelect->pEList->a[j].pExpr, -1)==0 ){ pItem->u.x.iOrderByCol = j+1; } } @@ -89382,8 +92349,7 @@ static int resolveSelectStep(Walker *pWalker, Select *p){ */ memset(&sNC, 0, sizeof(sNC)); sNC.pParse = pParse; - if( sqlite3ResolveExprNames(&sNC, p->pLimit) || - sqlite3ResolveExprNames(&sNC, p->pOffset) ){ + if( sqlite3ResolveExprNames(&sNC, p->pLimit) ){ return WRC_Abort; } @@ -89611,37 +92577,29 @@ SQLITE_PRIVATE int sqlite3ResolveExprNames( u16 savedHasAgg; Walker w; - if( pExpr==0 ) return 0; -#if SQLITE_MAX_EXPR_DEPTH>0 - { - Parse *pParse = pNC->pParse; - if( sqlite3ExprCheckHeight(pParse, pExpr->nHeight+pNC->pParse->nHeight) ){ - return 1; - } - pParse->nHeight += pExpr->nHeight; - } -#endif + if( pExpr==0 ) return SQLITE_OK; savedHasAgg = pNC->ncFlags & (NC_HasAgg|NC_MinMaxAgg); pNC->ncFlags &= ~(NC_HasAgg|NC_MinMaxAgg); w.pParse = pNC->pParse; w.xExprCallback = resolveExprStep; w.xSelectCallback = resolveSelectStep; w.xSelectCallback2 = 0; - w.walkerDepth = 0; - w.eCode = 0; w.u.pNC = pNC; +#if SQLITE_MAX_EXPR_DEPTH>0 + w.pParse->nHeight += pExpr->nHeight; + if( sqlite3ExprCheckHeight(w.pParse, w.pParse->nHeight) ){ + return SQLITE_ERROR; + } +#endif sqlite3WalkExpr(&w, pExpr); #if SQLITE_MAX_EXPR_DEPTH>0 - pNC->pParse->nHeight -= pExpr->nHeight; + w.pParse->nHeight -= pExpr->nHeight; #endif - if( pNC->nErr>0 || w.pParse->nErr>0 ){ - ExprSetProperty(pExpr, EP_Error); - } if( pNC->ncFlags & NC_HasAgg ){ ExprSetProperty(pExpr, EP_Agg); } pNC->ncFlags |= savedHasAgg; - return ExprHasProperty(pExpr, EP_Error); + return pNC->nErr>0 || w.pParse->nErr>0; } /* @@ -89682,9 +92640,9 @@ SQLITE_PRIVATE void sqlite3ResolveSelectNames( Walker w; assert( p!=0 ); - memset(&w, 0, sizeof(w)); w.xExprCallback = resolveExprStep; w.xSelectCallback = resolveSelectStep; + w.xSelectCallback2 = 0; w.pParse = pParse; w.u.pNC = pOuterNC; sqlite3WalkSelect(&w, p); @@ -89787,7 +92745,7 @@ SQLITE_PRIVATE char sqlite3ExprAffinity(Expr *pExpr){ return sqlite3AffinityType(pExpr->u.zToken, 0); } #endif - if( op==TK_AGG_COLUMN || op==TK_COLUMN ){ + if( (op==TK_AGG_COLUMN || op==TK_COLUMN) && pExpr->pTab ){ return sqlite3TableColumnAffinity(pExpr->pTab, pExpr->iColumn); } if( op==TK_SELECT_COLUMN ){ @@ -89853,6 +92811,11 @@ SQLITE_PRIVATE Expr *sqlite3ExprSkipCollate(Expr *pExpr){ ** Return the collation sequence for the expression pExpr. If ** there is no defined collating sequence, return NULL. ** +** See also: sqlite3ExprNNCollSeq() +** +** The sqlite3ExprNNCollSeq() works the same exact that it returns the +** default collation if pExpr has no defined collation. +** ** The collating sequence might be determined by a COLLATE operator ** or by the presence of a column with a defined collating sequence. ** COLLATE operators take first precedence. Left operands take @@ -89917,6 +92880,32 @@ SQLITE_PRIVATE CollSeq *sqlite3ExprCollSeq(Parse *pParse, Expr *pExpr){ return pColl; } +/* +** Return the collation sequence for the expression pExpr. If +** there is no defined collating sequence, return a pointer to the +** defautl collation sequence. +** +** See also: sqlite3ExprCollSeq() +** +** The sqlite3ExprCollSeq() routine works the same except that it +** returns NULL if there is no defined collation. +*/ +SQLITE_PRIVATE CollSeq *sqlite3ExprNNCollSeq(Parse *pParse, Expr *pExpr){ + CollSeq *p = sqlite3ExprCollSeq(pParse, pExpr); + if( p==0 ) p = pParse->db->pDfltColl; + assert( p!=0 ); + return p; +} + +/* +** Return TRUE if the two expressions have equivalent collating sequences. +*/ +SQLITE_PRIVATE int sqlite3ExprCollSeqMatch(Parse *pParse, Expr *pE1, Expr *pE2){ + CollSeq *pColl1 = sqlite3ExprNNCollSeq(pParse, pE1); + CollSeq *pColl2 = sqlite3ExprNNCollSeq(pParse, pE2); + return sqlite3StrICmp(pColl1->zName, pColl2->zName)==0; +} + /* ** pExpr is an operand of a comparison operator. aff2 is the ** type affinity of the other operand. This routine returns the @@ -89960,7 +92949,7 @@ static char comparisonAffinity(Expr *pExpr){ aff = sqlite3CompareAffinity(pExpr->pRight, aff); }else if( ExprHasProperty(pExpr, EP_xIsSelect) ){ aff = sqlite3CompareAffinity(pExpr->x.pSelect->pEList->a[0].pExpr, aff); - }else if( NEVER(aff==0) ){ + }else if( aff==0 ){ aff = SQLITE_AFF_BLOB; } return aff; @@ -90081,7 +93070,6 @@ SQLITE_PRIVATE int sqlite3ExprVectorSize(Expr *pExpr){ } } -#ifndef SQLITE_OMIT_SUBQUERY /* ** Return a pointer to a subexpression of pVector that is the i-th ** column of the vector (numbered starting with 0). The caller must @@ -90109,9 +93097,7 @@ SQLITE_PRIVATE Expr *sqlite3VectorFieldSubexpr(Expr *pVector, int i){ } return pVector; } -#endif /* !defined(SQLITE_OMIT_SUBQUERY) */ -#ifndef SQLITE_OMIT_SUBQUERY /* ** Compute and return a new Expr object which when passed to ** sqlite3ExprCode() will generate all necessary code to compute @@ -90143,9 +93129,10 @@ SQLITE_PRIVATE Expr *sqlite3ExprForVectorField( assert( pVector->flags & EP_xIsSelect ); /* The TK_SELECT_COLUMN Expr node: ** - ** pLeft: pVector containing TK_SELECT + ** pLeft: pVector containing TK_SELECT. Not deleted. ** pRight: not used. But recursively deleted. ** iColumn: Index of a column in pVector + ** iTable: 0 or the number of columns on the LHS of an assignment ** pLeft->iTable: First in an array of register holding result, or 0 ** if the result is not yet computed. ** @@ -90156,7 +93143,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprForVectorField( ** with the same pLeft pointer to the pVector, but only one of them ** will own the pVector. */ - pRet = sqlite3PExpr(pParse, TK_SELECT_COLUMN, 0, 0, 0); + pRet = sqlite3PExpr(pParse, TK_SELECT_COLUMN, 0, 0); if( pRet ){ pRet->iColumn = iField; pRet->pLeft = pVector; @@ -90168,7 +93155,6 @@ SQLITE_PRIVATE Expr *sqlite3ExprForVectorField( } return pRet; } -#endif /* !define(SQLITE_OMIT_SUBQUERY) */ /* ** If expression pExpr is of type TK_SELECT, generate code to evaluate @@ -90256,7 +93242,10 @@ static void codeVectorCompare( u8 opx = op; int addrDone = sqlite3VdbeMakeLabel(v); - assert( nLeft==sqlite3ExprVectorSize(pRight) ); + if( nLeft!=sqlite3ExprVectorSize(pRight) ){ + sqlite3ErrorMsg(pParse, "row value misused"); + return; + } assert( pExpr->op==TK_EQ || pExpr->op==TK_NE || pExpr->op==TK_IS || pExpr->op==TK_ISNOT || pExpr->op==TK_LT || pExpr->op==TK_GT @@ -90356,16 +93345,15 @@ static void heightOfExprList(ExprList *p, int *pnHeight){ } } } -static void heightOfSelect(Select *p, int *pnHeight){ - if( p ){ +static void heightOfSelect(Select *pSelect, int *pnHeight){ + Select *p; + for(p=pSelect; p; p=p->pPrior){ heightOfExpr(p->pWhere, pnHeight); heightOfExpr(p->pHaving, pnHeight); heightOfExpr(p->pLimit, pnHeight); - heightOfExpr(p->pOffset, pnHeight); heightOfExprList(p->pEList, pnHeight); heightOfExprList(p->pGroupBy, pnHeight); heightOfExprList(p->pOrderBy, pnHeight); - heightOfSelect(p->pPrior, pnHeight); } } @@ -90473,7 +93461,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprAlloc( pNew->iAgg = -1; if( pToken ){ if( nExtra==0 ){ - pNew->flags |= EP_IntValue; + pNew->flags |= EP_IntValue|EP_Leaf; pNew->u.iValue = iValue; }else{ pNew->u.zToken = (char*)&pNew[1]; @@ -90504,7 +93492,7 @@ SQLITE_PRIVATE Expr *sqlite3Expr( ){ Token x; x.z = zToken; - x.n = zToken ? sqlite3Strlen30(zToken) : 0; + x.n = sqlite3Strlen30(zToken); return sqlite3ExprAlloc(db, op, &x, 0); } @@ -90548,15 +93536,19 @@ SQLITE_PRIVATE Expr *sqlite3PExpr( Parse *pParse, /* Parsing context */ int op, /* Expression opcode */ Expr *pLeft, /* Left operand */ - Expr *pRight, /* Right operand */ - const Token *pToken /* Argument token */ + Expr *pRight /* Right operand */ ){ Expr *p; if( op==TK_AND && pParse->nErr==0 ){ /* Take advantage of short-circuit false optimization for AND */ p = sqlite3ExprAnd(pParse->db, pLeft, pRight); }else{ - p = sqlite3ExprAlloc(pParse->db, op & TKFLG_MASK, pToken, 1); + p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr)); + if( p ){ + memset(p, 0, sizeof(Expr)); + p->op = op & TKFLG_MASK; + p->iAgg = -1; + } sqlite3ExprAttachSubtrees(pParse->db, p, pLeft, pRight); } if( p ) { @@ -90646,6 +93638,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token * return 0; } pNew->x.pList = pList; + ExprSetProperty(pNew, EP_HasFunc); assert( !ExprHasProperty(pNew, EP_xIsSelect) ); sqlite3ExprSetHeightAndFlags(pParse, pNew); return pNew; @@ -90659,7 +93652,7 @@ SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token * ** variable number. ** ** Wildcards of the form "?nnn" are assigned the number "nnn". We make -** sure "nnn" is not too be to avoid a denial of service attack when +** sure "nnn" is not too big to avoid a denial of service attack when ** the SQL statement comes from an external source. ** ** Wildcards of the form ":aaa", "@aaa", or "$aaa" are assigned the same number @@ -90670,25 +93663,31 @@ SQLITE_PRIVATE Expr *sqlite3ExprFunction(Parse *pParse, ExprList *pList, Token * SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr, u32 n){ sqlite3 *db = pParse->db; const char *z; + ynVar x; if( pExpr==0 ) return; assert( !ExprHasProperty(pExpr, EP_IntValue|EP_Reduced|EP_TokenOnly) ); z = pExpr->u.zToken; assert( z!=0 ); assert( z[0]!=0 ); - assert( n==sqlite3Strlen30(z) ); + assert( n==(u32)sqlite3Strlen30(z) ); if( z[1]==0 ){ /* Wildcard of the form "?". Assign the next variable number */ assert( z[0]=='?' ); - pExpr->iColumn = (ynVar)(++pParse->nVar); + x = (ynVar)(++pParse->nVar); }else{ - ynVar x; + int doAdd = 0; if( z[0]=='?' ){ /* Wildcard of the form "?nnn". Convert "nnn" to an integer and ** use it as the variable number */ i64 i; - int bOk = 0==sqlite3Atoi64(&z[1], &i, n-1, SQLITE_UTF8); - x = (ynVar)i; + int bOk; + if( n==2 ){ /*OPTIMIZATION-IF-TRUE*/ + i = z[1]-'0'; /* The common case of ?N for a single digit N */ + bOk = 1; + }else{ + bOk = 0==sqlite3Atoi64(&z[1], &i, n-1, SQLITE_UTF8); + } testcase( i==0 ); testcase( i==1 ); testcase( i==db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER]-1 ); @@ -90698,40 +93697,30 @@ SQLITE_PRIVATE void sqlite3ExprAssignVarNumber(Parse *pParse, Expr *pExpr, u32 n db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER]); return; } - if( i>pParse->nVar ){ - pParse->nVar = (int)i; + x = (ynVar)i; + if( x>pParse->nVar ){ + pParse->nVar = (int)x; + doAdd = 1; + }else if( sqlite3VListNumToName(pParse->pVList, x)==0 ){ + doAdd = 1; } }else{ /* Wildcards like ":aaa", "$aaa" or "@aaa". Reuse the same variable ** number as the prior appearance of the same name, or if the name ** has never appeared before, reuse the same variable number */ - ynVar i; - for(i=x=0; inzVar; i++){ - if( pParse->azVar[i] && strcmp(pParse->azVar[i],z)==0 ){ - x = (ynVar)i+1; - break; - } - } - if( x==0 ) x = (ynVar)(++pParse->nVar); - } - pExpr->iColumn = x; - if( x>pParse->nzVar ){ - char **a; - a = sqlite3DbRealloc(db, pParse->azVar, x*sizeof(a[0])); - if( a==0 ){ - assert( db->mallocFailed ); /* Error reported through mallocFailed */ - return; + x = (ynVar)sqlite3VListNameToNum(pParse->pVList, z, n); + if( x==0 ){ + x = (ynVar)(++pParse->nVar); + doAdd = 1; } - pParse->azVar = a; - memset(&a[pParse->nzVar], 0, (x-pParse->nzVar)*sizeof(a[0])); - pParse->nzVar = x; } - if( pParse->azVar[x-1]==0 ){ - pParse->azVar[x-1] = sqlite3DbStrNDup(db, z, n); + if( doAdd ){ + pParse->pVList = sqlite3VListAdd(db, pParse->pVList, z, n, x); } - } - if( pParse->nVar>db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER] ){ + } + pExpr->iColumn = x; + if( x>db->aLimit[SQLITE_LIMIT_VARIABLE_NUMBER] ){ sqlite3ErrorMsg(pParse, "too many SQL variables"); } } @@ -90754,8 +93743,9 @@ static SQLITE_NOINLINE void sqlite3ExprDeleteNN(sqlite3 *db, Expr *p){ /* The Expr.x union is never used at the same time as Expr.pRight */ assert( p->x.pList==0 || p->pRight==0 ); if( p->pLeft && p->op!=TK_SELECT_COLUMN ) sqlite3ExprDeleteNN(db, p->pLeft); - sqlite3ExprDelete(db, p->pRight); - if( ExprHasProperty(p, EP_xIsSelect) ){ + if( p->pRight ){ + sqlite3ExprDeleteNN(db, p->pRight); + }else if( ExprHasProperty(p, EP_xIsSelect) ){ sqlite3SelectDelete(db, p->x.pSelect); }else{ sqlite3ExprListDelete(db, p->x.pList); @@ -90763,7 +93753,7 @@ static SQLITE_NOINLINE void sqlite3ExprDeleteNN(sqlite3 *db, Expr *p){ } if( ExprHasProperty(p, EP_MemToken) ) sqlite3DbFree(db, p->u.zToken); if( !ExprHasProperty(p, EP_Static) ){ - sqlite3DbFree(db, p); + sqlite3DbFreeNN(db, p); } } SQLITE_PRIVATE void sqlite3ExprDelete(sqlite3 *db, Expr *p){ @@ -90820,7 +93810,7 @@ static int dupedExprStructSize(Expr *p, int flags){ assert( flags==EXPRDUP_REDUCE || flags==0 ); /* Only one flag value allowed */ assert( EXPR_FULLSIZE<=0xfff ); assert( (0xfff & (EP_Reduced|EP_TokenOnly))==0 ); - if( 0==flags ){ + if( 0==flags || p->op==TK_SELECT_COLUMN ){ nSize = EXPR_FULLSIZE; }else{ assert( !ExprHasProperty(p, EP_TokenOnly|EP_Reduced) ); @@ -90963,6 +93953,8 @@ static Expr *exprDup(sqlite3 *db, Expr *p, int dupFlags, u8 **pzBuffer){ if( !ExprHasProperty(p, EP_TokenOnly|EP_Leaf) ){ if( pNew->op==TK_SELECT_COLUMN ){ pNew->pLeft = p->pLeft; + assert( p->iColumn==0 || p->pRight==0 ); + assert( p->pRight==0 || p->pRight==p->pLeft ); }else{ pNew->pLeft = sqlite3ExprDup(db, p->pLeft, 0); } @@ -91025,21 +94017,34 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListDup(sqlite3 *db, ExprList *p, int flags) ExprList *pNew; struct ExprList_item *pItem, *pOldItem; int i; + Expr *pPriorSelectCol = 0; assert( db!=0 ); if( p==0 ) return 0; - pNew = sqlite3DbMallocRawNN(db, sizeof(*pNew) ); + pNew = sqlite3DbMallocRawNN(db, sqlite3DbMallocSize(db, p)); if( pNew==0 ) return 0; - pNew->nExpr = i = p->nExpr; - if( (flags & EXPRDUP_REDUCE)==0 ) for(i=1; inExpr; i+=i){} - pNew->a = pItem = sqlite3DbMallocRawNN(db, i*sizeof(p->a[0]) ); - if( pItem==0 ){ - sqlite3DbFree(db, pNew); - return 0; - } + pNew->nExpr = p->nExpr; + pItem = pNew->a; pOldItem = p->a; for(i=0; inExpr; i++, pItem++, pOldItem++){ Expr *pOldExpr = pOldItem->pExpr; + Expr *pNewExpr; pItem->pExpr = sqlite3ExprDup(db, pOldExpr, flags); + if( pOldExpr + && pOldExpr->op==TK_SELECT_COLUMN + && (pNewExpr = pItem->pExpr)!=0 + ){ + assert( pNewExpr->iColumn==0 || i>0 ); + if( pNewExpr->iColumn==0 ){ + assert( pOldExpr->pLeft==pOldExpr->pRight ); + pPriorSelectCol = pNewExpr->pLeft = pNewExpr->pRight; + }else{ + assert( i>0 ); + assert( pItem[-1].pExpr!=0 ); + assert( pNewExpr->iColumn==pItem[-1].pExpr->iColumn+1 ); + assert( pPriorSelectCol==pItem[-1].pExpr->pLeft ); + pNewExpr->pLeft = pPriorSelectCol; + } + } pItem->zName = sqlite3DbStrDup(db, pOldItem->zName); pItem->zSpan = sqlite3DbStrDup(db, pOldItem->zSpan); pItem->sortOrder = pOldItem->sortOrder; @@ -91090,7 +94095,7 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListDup(sqlite3 *db, SrcList *p, int flags){ } pTab = pNewItem->pTab = pOldItem->pTab; if( pTab ){ - pTab->nRef++; + pTab->nTabRef++; } pNewItem->pSelect = sqlite3SelectDup(db, pOldItem->pSelect, flags); pNewItem->pOn = sqlite3ExprDup(db, pOldItem->pOn, flags); @@ -91109,7 +94114,7 @@ SQLITE_PRIVATE IdList *sqlite3IdListDup(sqlite3 *db, IdList *p){ pNew->nId = p->nId; pNew->a = sqlite3DbMallocRawNN(db, p->nId*sizeof(p->a[0]) ); if( pNew->a==0 ){ - sqlite3DbFree(db, pNew); + sqlite3DbFreeNN(db, pNew); return 0; } /* Note that because the size of the allocation for p->a[] is not @@ -91123,33 +94128,40 @@ SQLITE_PRIVATE IdList *sqlite3IdListDup(sqlite3 *db, IdList *p){ } return pNew; } -SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *p, int flags){ - Select *pNew, *pPrior; +SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *pDup, int flags){ + Select *pRet = 0; + Select *pNext = 0; + Select **pp = &pRet; + Select *p; + assert( db!=0 ); - if( p==0 ) return 0; - pNew = sqlite3DbMallocRawNN(db, sizeof(*p) ); - if( pNew==0 ) return 0; - pNew->pEList = sqlite3ExprListDup(db, p->pEList, flags); - pNew->pSrc = sqlite3SrcListDup(db, p->pSrc, flags); - pNew->pWhere = sqlite3ExprDup(db, p->pWhere, flags); - pNew->pGroupBy = sqlite3ExprListDup(db, p->pGroupBy, flags); - pNew->pHaving = sqlite3ExprDup(db, p->pHaving, flags); - pNew->pOrderBy = sqlite3ExprListDup(db, p->pOrderBy, flags); - pNew->op = p->op; - pNew->pPrior = pPrior = sqlite3SelectDup(db, p->pPrior, flags); - if( pPrior ) pPrior->pNext = pNew; - pNew->pNext = 0; - pNew->pLimit = sqlite3ExprDup(db, p->pLimit, flags); - pNew->pOffset = sqlite3ExprDup(db, p->pOffset, flags); - pNew->iLimit = 0; - pNew->iOffset = 0; - pNew->selFlags = p->selFlags & ~SF_UsesEphemeral; - pNew->addrOpenEphm[0] = -1; - pNew->addrOpenEphm[1] = -1; - pNew->nSelectRow = p->nSelectRow; - pNew->pWith = withDup(db, p->pWith); - sqlite3SelectSetName(pNew, p->zSelName); - return pNew; + for(p=pDup; p; p=p->pPrior){ + Select *pNew = sqlite3DbMallocRawNN(db, sizeof(*p) ); + if( pNew==0 ) break; + pNew->pEList = sqlite3ExprListDup(db, p->pEList, flags); + pNew->pSrc = sqlite3SrcListDup(db, p->pSrc, flags); + pNew->pWhere = sqlite3ExprDup(db, p->pWhere, flags); + pNew->pGroupBy = sqlite3ExprListDup(db, p->pGroupBy, flags); + pNew->pHaving = sqlite3ExprDup(db, p->pHaving, flags); + pNew->pOrderBy = sqlite3ExprListDup(db, p->pOrderBy, flags); + pNew->op = p->op; + pNew->pNext = pNext; + pNew->pPrior = 0; + pNew->pLimit = sqlite3ExprDup(db, p->pLimit, flags); + pNew->iLimit = 0; + pNew->iOffset = 0; + pNew->selFlags = p->selFlags & ~SF_UsesEphemeral; + pNew->addrOpenEphm[0] = -1; + pNew->addrOpenEphm[1] = -1; + pNew->nSelectRow = p->nSelectRow; + pNew->pWith = withDup(db, p->pWith); + sqlite3SelectSetName(pNew, p->zSelName); + *pp = pNew; + pp = &pNew->pPrior; + pNext = pNew; + } + + return pRet; } #else SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *p, int flags){ @@ -91163,6 +94175,13 @@ SQLITE_PRIVATE Select *sqlite3SelectDup(sqlite3 *db, Select *p, int flags){ ** Add a new element to the end of an expression list. If pList is ** initially NULL, then create a new expression list. ** +** The pList argument must be either NULL or a pointer to an ExprList +** obtained from a prior call to sqlite3ExprListAppend(). This routine +** may not be used with an ExprList obtained from sqlite3ExprListDup(). +** Reason: This routine assumes that the number of slots in pList->a[] +** is a power of two. That is true for sqlite3ExprListAppend() returns +** but is not necessarily true from the return value of sqlite3ExprListDup(). +** ** If a memory allocation error occurs, the entire list is freed and ** NULL is returned. If non-NULL is returned, then it is guaranteed ** that the new entry was successfully appended. @@ -91172,6 +94191,7 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppend( ExprList *pList, /* List to which to append. Might be NULL */ Expr *pExpr /* Expression to be appended. Might be NULL */ ){ + struct ExprList_item *pItem; sqlite3 *db = pParse->db; assert( db!=0 ); if( pList==0 ){ @@ -91180,23 +94200,20 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppend( goto no_mem; } pList->nExpr = 0; - pList->a = sqlite3DbMallocRawNN(db, sizeof(pList->a[0])); - if( pList->a==0 ) goto no_mem; }else if( (pList->nExpr & (pList->nExpr-1))==0 ){ - struct ExprList_item *a; - assert( pList->nExpr>0 ); - a = sqlite3DbRealloc(db, pList->a, pList->nExpr*2*sizeof(pList->a[0])); - if( a==0 ){ + ExprList *pNew; + pNew = sqlite3DbRealloc(db, pList, + sizeof(*pList)+(2*pList->nExpr - 1)*sizeof(pList->a[0])); + if( pNew==0 ){ goto no_mem; } - pList->a = a; - } - assert( pList->a!=0 ); - if( 1 ){ - struct ExprList_item *pItem = &pList->a[pList->nExpr++]; - memset(pItem, 0, sizeof(*pItem)); - pItem->pExpr = pExpr; + pList = pNew; } + pItem = &pList->a[pList->nExpr++]; + assert( offsetof(struct ExprList_item,zName)==sizeof(pItem->pExpr) ); + assert( offsetof(struct ExprList_item,pExpr)==0 ); + memset(&pItem->zName,0,sizeof(*pItem)-offsetof(struct ExprList_item,zName)); + pItem->pExpr = pExpr; return pList; no_mem: @@ -91214,7 +94231,7 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppend( ** Or: (a,b,c) = (SELECT x,y,z FROM ....) ** ** For each term of the vector assignment, append new entries to the -** expression list pList. In the case of a subquery on the LHS, append +** expression list pList. In the case of a subquery on the RHS, append ** TK_SELECT_COLUMN expressions. */ SQLITE_PRIVATE ExprList *sqlite3ExprListAppendVector( @@ -91231,13 +94248,19 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppendVector( ** exit prior to this routine being invoked */ if( NEVER(pColumns==0) ) goto vector_append_error; if( pExpr==0 ) goto vector_append_error; - n = sqlite3ExprVectorSize(pExpr); - if( pColumns->nId!=n ){ + + /* If the RHS is a vector, then we can immediately check to see that + ** the size of the RHS and LHS match. But if the RHS is a SELECT, + ** wildcards ("*") in the result set of the SELECT must be expanded before + ** we can do the size check, so defer the size check until code generation. + */ + if( pExpr->op!=TK_SELECT && pColumns->nId!=(n=sqlite3ExprVectorSize(pExpr)) ){ sqlite3ErrorMsg(pParse, "%d columns assigned %d values", pColumns->nId, n); goto vector_append_error; } - for(i=0; inId; i++){ Expr *pSubExpr = sqlite3ExprForVectorField(pParse, pExpr, i); pList = sqlite3ExprListAppend(pParse, pList, pSubExpr); if( pList ){ @@ -91246,12 +94269,20 @@ SQLITE_PRIVATE ExprList *sqlite3ExprListAppendVector( pColumns->a[i].zName = 0; } } - if( pExpr->op==TK_SELECT ){ - if( pList && pList->a[iFirst].pExpr ){ - assert( pList->a[iFirst].pExpr->op==TK_SELECT_COLUMN ); - pList->a[iFirst].pExpr->pRight = pExpr; - pExpr = 0; - } + + if( !db->mallocFailed && pExpr->op==TK_SELECT && ALWAYS(pList!=0) ){ + Expr *pFirst = pList->a[iFirst].pExpr; + assert( pFirst!=0 ); + assert( pFirst->op==TK_SELECT_COLUMN ); + + /* Store the SELECT statement in pRight so it will be deleted when + ** sqlite3ExprListDelete() is called */ + pFirst->pRight = pExpr; + pExpr = 0; + + /* Remember the size of the LHS in iTable so that we can check that + ** the RHS and LHS sizes match during code generation. */ + pFirst->iTable = pColumns->nId; } vector_append_error: @@ -91310,17 +94341,16 @@ SQLITE_PRIVATE void sqlite3ExprListSetName( SQLITE_PRIVATE void sqlite3ExprListSetSpan( Parse *pParse, /* Parsing context */ ExprList *pList, /* List to which to add the span. */ - ExprSpan *pSpan /* The span to be added */ + const char *zStart, /* Start of the span */ + const char *zEnd /* End of the span */ ){ sqlite3 *db = pParse->db; assert( pList!=0 || db->mallocFailed!=0 ); if( pList ){ struct ExprList_item *pItem = &pList->a[pList->nExpr-1]; assert( pList->nExpr>0 ); - assert( db->mallocFailed || pItem->pExpr==pSpan->pExpr ); sqlite3DbFree(db, pItem->zSpan); - pItem->zSpan = sqlite3DbStrNDup(db, (char*)pSpan->zStart, - (int)(pSpan->zEnd - pSpan->zStart)); + pItem->zSpan = sqlite3DbSpanDup(db, zStart, zEnd); } } @@ -91345,16 +94375,16 @@ SQLITE_PRIVATE void sqlite3ExprListCheckLength( ** Delete an entire expression list. */ static SQLITE_NOINLINE void exprListDeleteNN(sqlite3 *db, ExprList *pList){ - int i; - struct ExprList_item *pItem; - assert( pList->a!=0 || pList->nExpr==0 ); - for(pItem=pList->a, i=0; inExpr; i++, pItem++){ + int i = pList->nExpr; + struct ExprList_item *pItem = pList->a; + assert( pList->nExpr>0 ); + do{ sqlite3ExprDelete(db, pItem->pExpr); sqlite3DbFree(db, pItem->zName); sqlite3DbFree(db, pItem->zSpan); - } - sqlite3DbFree(db, pList->a); - sqlite3DbFree(db, pList); + pItem++; + }while( --i>0 ); + sqlite3DbFreeNN(db, pList); } SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){ if( pList ) exprListDeleteNN(db, pList); @@ -91367,16 +94397,28 @@ SQLITE_PRIVATE void sqlite3ExprListDelete(sqlite3 *db, ExprList *pList){ SQLITE_PRIVATE u32 sqlite3ExprListFlags(const ExprList *pList){ int i; u32 m = 0; - if( pList ){ - for(i=0; inExpr; i++){ - Expr *pExpr = pList->a[i].pExpr; - assert( pExpr!=0 ); - m |= pExpr->flags; - } + assert( pList!=0 ); + for(i=0; inExpr; i++){ + Expr *pExpr = pList->a[i].pExpr; + assert( pExpr!=0 ); + m |= pExpr->flags; } return m; } +/* +** This is a SELECT-node callback for the expression walker that +** always "fails". By "fail" in this case, we mean set +** pWalker->eCode to zero and abort. +** +** This callback is used by multiple expression walkers. +*/ +SQLITE_PRIVATE int sqlite3SelectWalkFail(Walker *pWalker, Select *NotUsed){ + UNUSED_PARAMETER(NotUsed); + pWalker->eCode = 0; + return WRC_Abort; +} + /* ** These routines are Walker callbacks used to check expressions to ** see if they are "constant" for some definition of constant. The @@ -91433,10 +94475,12 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){ testcase( pExpr->op==TK_AGG_COLUMN ); if( pWalker->eCode==3 && pExpr->iTable==pWalker->u.iCur ){ return WRC_Continue; - }else{ - pWalker->eCode = 0; - return WRC_Abort; } + /* Fall through */ + case TK_IF_NULL_ROW: + testcase( pExpr->op==TK_IF_NULL_ROW ); + pWalker->eCode = 0; + return WRC_Abort; case TK_VARIABLE: if( pWalker->eCode==5 ){ /* Silently convert bound parameters that appear inside of CREATE @@ -91451,22 +94495,19 @@ static int exprNodeIsConstant(Walker *pWalker, Expr *pExpr){ } /* Fall through */ default: - testcase( pExpr->op==TK_SELECT ); /* selectNodeIsConstant will disallow */ - testcase( pExpr->op==TK_EXISTS ); /* selectNodeIsConstant will disallow */ + testcase( pExpr->op==TK_SELECT ); /* sqlite3SelectWalkFail will disallow */ + testcase( pExpr->op==TK_EXISTS ); /* sqlite3SelectWalkFail will disallow */ return WRC_Continue; } } -static int selectNodeIsConstant(Walker *pWalker, Select *NotUsed){ - UNUSED_PARAMETER(NotUsed); - pWalker->eCode = 0; - return WRC_Abort; -} static int exprIsConst(Expr *p, int initFlag, int iCur){ Walker w; - memset(&w, 0, sizeof(w)); w.eCode = initFlag; w.xExprCallback = exprNodeIsConstant; - w.xSelectCallback = selectNodeIsConstant; + w.xSelectCallback = sqlite3SelectWalkFail; +#ifdef SQLITE_DEBUG + w.xSelectCallback2 = sqlite3SelectWalkAssert2; +#endif w.u.iCur = iCur; sqlite3WalkExpr(&w, p); return w.eCode; @@ -91504,6 +94545,65 @@ SQLITE_PRIVATE int sqlite3ExprIsTableConstant(Expr *p, int iCur){ return exprIsConst(p, 3, iCur); } + +/* +** sqlite3WalkExpr() callback used by sqlite3ExprIsConstantOrGroupBy(). +*/ +static int exprNodeIsConstantOrGroupBy(Walker *pWalker, Expr *pExpr){ + ExprList *pGroupBy = pWalker->u.pGroupBy; + int i; + + /* Check if pExpr is identical to any GROUP BY term. If so, consider + ** it constant. */ + for(i=0; inExpr; i++){ + Expr *p = pGroupBy->a[i].pExpr; + if( sqlite3ExprCompare(0, pExpr, p, -1)<2 ){ + CollSeq *pColl = sqlite3ExprNNCollSeq(pWalker->pParse, p); + if( sqlite3_stricmp("BINARY", pColl->zName)==0 ){ + return WRC_Prune; + } + } + } + + /* Check if pExpr is a sub-select. If so, consider it variable. */ + if( ExprHasProperty(pExpr, EP_xIsSelect) ){ + pWalker->eCode = 0; + return WRC_Abort; + } + + return exprNodeIsConstant(pWalker, pExpr); +} + +/* +** Walk the expression tree passed as the first argument. Return non-zero +** if the expression consists entirely of constants or copies of terms +** in pGroupBy that sort with the BINARY collation sequence. +** +** This routine is used to determine if a term of the HAVING clause can +** be promoted into the WHERE clause. In order for such a promotion to work, +** the value of the HAVING clause term must be the same for all members of +** a "group". The requirement that the GROUP BY term must be BINARY +** assumes that no other collating sequence will have a finer-grained +** grouping than binary. In other words (A=B COLLATE binary) implies +** A=B in every other collating sequence. The requirement that the +** GROUP BY be BINARY is stricter than necessary. It would also work +** to promote HAVING clauses that use the same alternative collating +** sequence as the GROUP BY term, but that is much harder to check, +** alternative collating sequences are uncommon, and this is only an +** optimization, so we take the easy way out and simply require the +** GROUP BY to use the BINARY collating sequence. +*/ +SQLITE_PRIVATE int sqlite3ExprIsConstantOrGroupBy(Parse *pParse, Expr *p, ExprList *pGroupBy){ + Walker w; + w.eCode = 1; + w.xExprCallback = exprNodeIsConstantOrGroupBy; + w.xSelectCallback = 0; + w.u.pGroupBy = pGroupBy; + w.pParse = pParse; + sqlite3WalkExpr(&w, p); + return w.eCode; +} + /* ** Walk an expression tree. Return non-zero if the expression is constant ** or a function call with constant arguments. Return and 0 if there @@ -91525,10 +94625,12 @@ SQLITE_PRIVATE int sqlite3ExprIsConstantOrFunction(Expr *p, u8 isInit){ */ SQLITE_PRIVATE int sqlite3ExprContainsSubquery(Expr *p){ Walker w; - memset(&w, 0, sizeof(w)); w.eCode = 1; w.xExprCallback = sqlite3ExprWalkNoop; - w.xSelectCallback = selectNodeIsConstant; + w.xSelectCallback = sqlite3SelectWalkFail; +#ifdef SQLITE_DEBUG + w.xSelectCallback2 = sqlite3SelectWalkAssert2; +#endif sqlite3WalkExpr(&w, p); return w.eCode==0; } @@ -91542,6 +94644,7 @@ SQLITE_PRIVATE int sqlite3ExprContainsSubquery(Expr *p){ */ SQLITE_PRIVATE int sqlite3ExprIsInteger(Expr *p, int *pValue){ int rc = 0; + if( p==0 ) return 0; /* Can only happen following on OOM */ /* If an expression is an integer literal that fits in a signed 32-bit ** integer, then the EP_IntValue flag will have already been set */ @@ -91597,8 +94700,8 @@ SQLITE_PRIVATE int sqlite3ExprCanBeNull(const Expr *p){ case TK_BLOB: return 0; case TK_COLUMN: - assert( p->pTab!=0 ); return ExprHasProperty(p, EP_CanBeNull) || + p->pTab==0 || /* Reference to column of index on expression */ (p->iColumn>=0 && p->pTab->aCol[p->iColumn].notNull==0); default: return 1; @@ -91680,7 +94783,6 @@ static Select *isCandidateForInOpt(Expr *pX){ } assert( p->pGroupBy==0 ); /* Has no GROUP BY clause */ if( p->pLimit ) return 0; /* Has no LIMIT clause */ - assert( p->pOffset==0 ); /* No LIMIT means no OFFSET */ if( p->pWhere ) return 0; /* Has no WHERE clause */ pSrc = p->pSrc; assert( pSrc!=0 ); @@ -91770,16 +94872,15 @@ static int sqlite3InRhsIsConstant(Expr *pIn){ ** pX->iTable made to point to the ephemeral table instead of an ** existing table. ** -** The inFlags parameter must contain exactly one of the bits -** IN_INDEX_MEMBERSHIP or IN_INDEX_LOOP. If inFlags contains -** IN_INDEX_MEMBERSHIP, then the generated table will be used for a -** fast membership test. When the IN_INDEX_LOOP bit is set, the -** IN index will be used to loop over all values of the RHS of the -** IN operator. +** The inFlags parameter must contain, at a minimum, one of the bits +** IN_INDEX_MEMBERSHIP or IN_INDEX_LOOP but not both. If inFlags contains +** IN_INDEX_MEMBERSHIP, then the generated table will be used for a fast +** membership test. When the IN_INDEX_LOOP bit is set, the IN index will +** be used to loop over all values of the RHS of the IN operator. ** ** When IN_INDEX_LOOP is used (and the b-tree will be used to iterate ** through the set members) then the b-tree must not contain duplicates. -** An epheremal table must be used unless the selected columns are guaranteed +** An epheremal table will be created unless the selected columns are guaranteed ** to be unique - either because it is an INTEGER PRIMARY KEY or due to ** a UNIQUE constraint or index. ** @@ -92049,7 +95150,7 @@ static char *exprINAffinity(Parse *pParse, Expr *pExpr){ char *zRet; assert( pExpr->op==TK_IN ); - zRet = sqlite3DbMallocZero(pParse->db, nVal+1); + zRet = sqlite3DbMallocRaw(pParse->db, nVal+1); if( zRet ){ int i; for(i=0; iflags & EP_xIsSelect ){ + sqlite3SubselectError(pParse, pExpr->x.pSelect->pEList->nExpr, 1); + }else +#endif + { + sqlite3ErrorMsg(pParse, "row value misused"); + } +} + /* ** Generate code for scalar subqueries used as a subquery expression, EXISTS, ** or IN operators. Examples: @@ -92192,7 +95315,6 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( int i; sqlite3SelectDestInit(&dest, SRT_Set, pExpr->iTable); dest.zAffSdst = exprINAffinity(pParse, pExpr); - assert( (pExpr->iTable&0x0000FFFF)==pExpr->iTable ); pSelect->iLimit = 0; testcase( pSelect->selFlags & SF_Distinct ); testcase( pKeyInfo==0 ); /* Caused by OOM in sqlite3KeyInfoAlloc() */ @@ -92239,7 +95361,7 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( /* Loop through each expression in . */ r1 = sqlite3GetTempReg(pParse); r2 = sqlite3GetTempReg(pParse); - if( isRowid ) sqlite3VdbeAddOp2(v, OP_Null, 0, r2); + if( isRowid ) sqlite3VdbeAddOp4(v, OP_Blob, 0, r2, 0, "", P4_STATIC); for(i=pList->nExpr, pItem=pList->a; i>0; i--, pItem++){ Expr *pE2 = pItem->pExpr; int iValToIns; @@ -92267,7 +95389,7 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( }else{ sqlite3VdbeAddOp4(v, OP_MakeRecord, r3, 1, r2, &affinity, 1); sqlite3ExprCacheAffinityChange(pParse, r3, 1); - sqlite3VdbeAddOp2(v, OP_IdxInsert, pExpr->iTable, r2); + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, pExpr->iTable, r2, r3, 1); } } } @@ -92299,6 +95421,7 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( Select *pSel; /* SELECT statement to encode */ SelectDest dest; /* How to deal with SELECT result */ int nReg; /* Registers to allocate */ + Expr *pLimit; /* New limit expression */ testcase( pExpr->op==TK_EXISTS ); testcase( pExpr->op==TK_SELECT ); @@ -92320,11 +95443,14 @@ SQLITE_PRIVATE int sqlite3CodeSubselect( sqlite3VdbeAddOp2(v, OP_Integer, 0, dest.iSDParm); VdbeComment((v, "Init EXISTS result")); } - sqlite3ExprDelete(pParse->db, pSel->pLimit); - pSel->pLimit = sqlite3ExprAlloc(pParse->db, TK_INTEGER, - &sqlite3IntTokens[1], 0); + pLimit = sqlite3ExprAlloc(pParse->db, TK_INTEGER,&sqlite3IntTokens[1], 0); + if( pSel->pLimit ){ + sqlite3ExprDelete(pParse->db, pSel->pLimit->pLeft); + pSel->pLimit->pLeft = pLimit; + }else{ + pSel->pLimit = sqlite3PExpr(pParse, TK_LIMIT, pLimit, 0); + } pSel->iLimit = 0; - pSel->selFlags &= ~SF_MultiValue; if( sqlite3Select(pParse, pSel, &dest) ){ return 0; } @@ -92362,11 +95488,7 @@ SQLITE_PRIVATE int sqlite3ExprCheckIN(Parse *pParse, Expr *pIn){ return 1; } }else if( nVector!=1 ){ - if( (pIn->pLeft->flags & EP_xIsSelect) ){ - sqlite3SubselectError(pParse, nVector, 1); - }else{ - sqlite3ErrorMsg(pParse, "row value misused"); - } + sqlite3VectorErrorMsg(pParse, pIn->pLeft); return 1; } return 0; @@ -92671,22 +95793,22 @@ static void codeInteger(Parse *pParse, Expr *pExpr, int negFlag, int iMem){ const char *z = pExpr->u.zToken; assert( z!=0 ); c = sqlite3DecOrHexToI64(z, &value); - if( c==0 || (c==2 && negFlag) ){ - if( negFlag ){ value = c==2 ? SMALLEST_INT64 : -value; } - sqlite3VdbeAddOp4Dup8(v, OP_Int64, 0, iMem, 0, (u8*)&value, P4_INT64); - }else{ + if( (c==3 && !negFlag) || (c==2) || (negFlag && value==SMALLEST_INT64)){ #ifdef SQLITE_OMIT_FLOATING_POINT sqlite3ErrorMsg(pParse, "oversized integer: %s%s", negFlag ? "-" : "", z); #else #ifndef SQLITE_OMIT_HEX_INTEGER if( sqlite3_strnicmp(z,"0x",2)==0 ){ - sqlite3ErrorMsg(pParse, "hex literal too big: %s", z); + sqlite3ErrorMsg(pParse, "hex literal too big: %s%s", negFlag?"-":"",z); }else #endif { codeReal(v, z, negFlag, iMem); } #endif + }else{ + if( negFlag ){ value = c==3 ? SMALLEST_INT64 : -value; } + sqlite3VdbeAddOp4Dup8(v, OP_Int64, 0, iMem, 0, (u8*)&value, P4_INT64); } } } @@ -92845,8 +95967,9 @@ SQLITE_PRIVATE void sqlite3ExprCodeLoadIndexColumn( if( iTabCol==XN_EXPR ){ assert( pIdx->aColExpr ); assert( pIdx->aColExpr->nExpr>iIdxCol ); - pParse->iSelfTab = iTabCur; + pParse->iSelfTab = iTabCur + 1; sqlite3ExprCodeCopy(pParse, pIdx->aColExpr->a[iIdxCol].pExpr, regOut); + pParse->iSelfTab = 0; }else{ sqlite3ExprCodeGetColumnOfTable(pParse->pVdbe, pIdx->pTable, iTabCur, iTabCol, regOut); @@ -92863,6 +95986,10 @@ SQLITE_PRIVATE void sqlite3ExprCodeGetColumnOfTable( int iCol, /* Index of the column to extract */ int regOut /* Extract the value into this register */ ){ + if( pTab==0 ){ + sqlite3VdbeAddOp3(v, OP_Column, iTabCur, iCol, regOut); + return; + } if( iCol<0 || iCol==pTab->iPKey ){ sqlite3VdbeAddOp2(v, OP_Rowid, iTabCur, regOut); }else{ @@ -92936,7 +96063,7 @@ SQLITE_PRIVATE void sqlite3ExprCodeGetColumnToReg( SQLITE_PRIVATE void sqlite3ExprCacheClear(Parse *pParse){ int i; -#if SQLITE_DEBUG +#ifdef SQLITE_DEBUG if( pParse->db->flags & SQLITE_VdbeAddopTrace ){ printf("CLEAR\n"); } @@ -93019,7 +96146,11 @@ static int exprCodeVector(Parse *pParse, Expr *p, int *piFreeable){ }else{ *piFreeable = 0; if( p->op==TK_SELECT ){ +#if SQLITE_OMIT_SUBQUERY + iResult = 0; +#else iResult = sqlite3CodeSubselect(pParse, p, 0, 0); +#endif }else{ int i; iResult = pParse->nMem+1; @@ -93082,13 +96213,13 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) case TK_COLUMN: { int iTab = pExpr->iTable; if( iTab<0 ){ - if( pParse->ckBase>0 ){ + if( pParse->iSelfTab<0 ){ /* Generating CHECK constraints or inserting into partial index */ - return pExpr->iColumn + pParse->ckBase; + return pExpr->iColumn - pParse->iSelfTab; }else{ /* Coding an expression that is part of an index where column names ** in the index refer to the table to which the index belongs */ - iTab = pParse->iSelfTab; + iTab = pParse->iSelfTab - 1; } } return sqlite3ExprCodeGetColumn(pParse, pExpr->pTab, @@ -93137,9 +96268,10 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) assert( pExpr->u.zToken[0]!=0 ); sqlite3VdbeAddOp2(v, OP_Variable, pExpr->iColumn, target); if( pExpr->u.zToken[1]!=0 ){ - assert( pExpr->u.zToken[0]=='?' - || strcmp(pExpr->u.zToken, pParse->azVar[pExpr->iColumn-1])==0 ); - sqlite3VdbeChangeP4(v, -1, pParse->azVar[pExpr->iColumn-1], P4_STATIC); + const char *z = sqlite3VListNumToName(pParse->pVList, pExpr->iColumn); + assert( pExpr->u.zToken[0]=='?' || strcmp(pExpr->u.zToken, z)==0 ); + pParse->pVList[0] = 0; /* Indicate VList may no longer be enlarged */ + sqlite3VdbeAppendP4(v, (char*)z, P4_STATIC); } return target; } @@ -93289,6 +96421,11 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) u8 enc = ENC(db); /* The text encoding used by this database */ CollSeq *pColl = 0; /* A collating sequence */ + if( ConstFactorOk(pParse) && sqlite3ExprIsConstantNotJoin(pExpr) ){ + /* SQL functions can be expensive. So try to move constant functions + ** out of the inner loop, even if that means an extra OP_Copy. */ + return sqlite3ExprCodeAtInit(pParse, pExpr, -1); + } assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); if( ExprHasProperty(pExpr, EP_TokenOnly) ){ pFarg = 0; @@ -93337,6 +96474,22 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) return sqlite3ExprCodeTarget(pParse, pFarg->a[0].pExpr, target); } +#ifdef SQLITE_DEBUG + /* The AFFINITY() function evaluates to a string that describes + ** the type affinity of the argument. This is used for testing of + ** the SQLite type logic. + */ + if( pDef->funcFlags & SQLITE_FUNC_AFFINITY ){ + const char *azAff[] = { "blob", "text", "numeric", "integer", "real" }; + char aff; + assert( nFarg==1 ); + aff = sqlite3ExprAffinity(pFarg->a[0].pExpr); + sqlite3VdbeLoadString(v, target, + aff ? azAff[aff-SQLITE_AFF_BLOB] : "none"); + return target; + } +#endif + for(i=0; ia[i].pExpr) ){ testcase( i==31 ); @@ -93403,9 +96556,21 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) if( !pColl ) pColl = db->pDfltColl; sqlite3VdbeAddOp4(v, OP_CollSeq, 0, 0, 0, (char *)pColl, P4_COLLSEQ); } - sqlite3VdbeAddOp4(v, OP_Function0, constMask, r1, target, - (char*)pDef, P4_FUNCDEF); - sqlite3VdbeChangeP5(v, (u8)nFarg); +#ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC + if( pDef->funcFlags & SQLITE_FUNC_OFFSET ){ + Expr *pArg = pFarg->a[0].pExpr; + if( pArg->op==TK_COLUMN ){ + sqlite3VdbeAddOp3(v, OP_Offset, pArg->iTable, pArg->iColumn, target); + }else{ + sqlite3VdbeAddOp2(v, OP_Null, 0, target); + } + }else +#endif + { + sqlite3VdbeAddOp4(v, pParse->iSelfTab ? OP_PureFunc0 : OP_Function0, + constMask, r1, target, (char*)pDef, P4_FUNCDEF); + sqlite3VdbeChangeP5(v, (u8)nFarg); + } if( nFarg && constMask==0 ){ sqlite3ReleaseTempRange(pParse, r1, nFarg); } @@ -93425,9 +96590,17 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) break; } case TK_SELECT_COLUMN: { + int n; if( pExpr->pLeft->iTable==0 ){ pExpr->pLeft->iTable = sqlite3CodeSubselect(pParse, pExpr->pLeft, 0, 0); } + assert( pExpr->iTable==0 || pExpr->pLeft->op==TK_SELECT ); + if( pExpr->iTable + && pExpr->iTable!=(n = sqlite3ExprVectorSize(pExpr->pLeft)) + ){ + sqlite3ErrorMsg(pParse, "%d columns assigned %d values", + pExpr->iTable, n); + } return pExpr->pLeft->iTable + pExpr->iColumn; } case TK_IN: { @@ -93526,6 +96699,17 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) break; } + case TK_IF_NULL_ROW: { + int addrINR; + addrINR = sqlite3VdbeAddOp1(v, OP_IfNullRow, pExpr->iTable); + sqlite3ExprCachePush(pParse); + inReg = sqlite3ExprCodeTarget(pParse, pExpr->pLeft, target); + sqlite3ExprCachePop(pParse); + sqlite3VdbeJumpHere(v, addrINR); + sqlite3VdbeChangeP3(v, addrINR, inReg); + break; + } + /* ** Form A: ** CASE x WHEN e1 THEN r1 WHEN e2 THEN r2 ... WHEN eN THEN rN ELSE y END @@ -93645,24 +96829,40 @@ SQLITE_PRIVATE int sqlite3ExprCodeTarget(Parse *pParse, Expr *pExpr, int target) /* ** Factor out the code of the given expression to initialization time. +** +** If regDest>=0 then the result is always stored in that register and the +** result is not reusable. If regDest<0 then this routine is free to +** store the value whereever it wants. The register where the expression +** is stored is returned. When regDest<0, two identical expressions will +** code to the same register. */ -SQLITE_PRIVATE void sqlite3ExprCodeAtInit( +SQLITE_PRIVATE int sqlite3ExprCodeAtInit( Parse *pParse, /* Parsing context */ Expr *pExpr, /* The expression to code when the VDBE initializes */ - int regDest, /* Store the value in this register */ - u8 reusable /* True if this expression is reusable */ + int regDest /* Store the value in this register */ ){ ExprList *p; assert( ConstFactorOk(pParse) ); p = pParse->pConstExpr; + if( regDest<0 && p ){ + struct ExprList_item *pItem; + int i; + for(pItem=p->a, i=p->nExpr; i>0; pItem++, i--){ + if( pItem->reusable && sqlite3ExprCompare(0,pItem->pExpr,pExpr,-1)==0 ){ + return pItem->u.iConstExprReg; + } + } + } pExpr = sqlite3ExprDup(pParse->db, pExpr, 0); p = sqlite3ExprListAppend(pParse, p, pExpr); if( p ){ struct ExprList_item *pItem = &p->a[p->nExpr-1]; + pItem->reusable = regDest<0; + if( regDest<0 ) regDest = ++pParse->nMem; pItem->u.iConstExprReg = regDest; - pItem->reusable = reusable; } pParse->pConstExpr = p; + return regDest; } /* @@ -93685,19 +96885,8 @@ SQLITE_PRIVATE int sqlite3ExprCodeTemp(Parse *pParse, Expr *pExpr, int *pReg){ && pExpr->op!=TK_REGISTER && sqlite3ExprIsConstantNotJoin(pExpr) ){ - ExprList *p = pParse->pConstExpr; - int i; *pReg = 0; - if( p ){ - struct ExprList_item *pItem; - for(pItem=p->a, i=p->nExpr; i>0; pItem++, i--){ - if( pItem->reusable && sqlite3ExprCompare(pItem->pExpr,pExpr,-1)==0 ){ - return pItem->u.iConstExprReg; - } - } - } - r2 = ++pParse->nMem; - sqlite3ExprCodeAtInit(pParse, pExpr, r2, 1); + r2 = sqlite3ExprCodeAtInit(pParse, pExpr, -1); }else{ int r1 = sqlite3GetTempReg(pParse); r2 = sqlite3ExprCodeTarget(pParse, pExpr, r1); @@ -93751,7 +96940,7 @@ SQLITE_PRIVATE void sqlite3ExprCodeCopy(Parse *pParse, Expr *pExpr, int target){ */ SQLITE_PRIVATE void sqlite3ExprCodeFactorable(Parse *pParse, Expr *pExpr, int target){ if( pParse->okConstFactor && sqlite3ExprIsConstant(pExpr) ){ - sqlite3ExprCodeAtInit(pParse, pExpr, target, 0); + sqlite3ExprCodeAtInit(pParse, pExpr, target); }else{ sqlite3ExprCode(pParse, pExpr, target); } @@ -93785,7 +96974,9 @@ SQLITE_PRIVATE void sqlite3ExprCodeAndCache(Parse *pParse, Expr *pExpr, int targ ** Generate code that pushes the value of every element of the given ** expression list into a sequence of registers beginning at target. ** -** Return the number of elements evaluated. +** Return the number of elements evaluated. The number returned will +** usually be pList->nExpr but might be reduced if SQLITE_ECEL_OMITREF +** is defined. ** ** The SQLITE_ECEL_DUP flag prevents the arguments from being ** filled using OP_SCopy. OP_Copy must be used instead. @@ -93796,6 +96987,8 @@ SQLITE_PRIVATE void sqlite3ExprCodeAndCache(Parse *pParse, Expr *pExpr, int targ ** The SQLITE_ECEL_REF flag means that expressions in the list with ** ExprList.a[].u.x.iOrderByCol>0 have already been evaluated and stored ** in registers at srcReg, and so the value can be copied from there. +** If SQLITE_ECEL_OMITREF is also set, then the values with u.x.iOrderByCol>0 +** are simply omitted rather than being copied from srcReg. */ SQLITE_PRIVATE int sqlite3ExprCodeExprList( Parse *pParse, /* Parsing context */ @@ -93815,10 +97008,15 @@ SQLITE_PRIVATE int sqlite3ExprCodeExprList( if( !ConstFactorOk(pParse) ) flags &= ~SQLITE_ECEL_FACTOR; for(pItem=pList->a, i=0; ipExpr; - if( (flags & SQLITE_ECEL_REF)!=0 && (j = pList->a[i].u.x.iOrderByCol)>0 ){ - sqlite3VdbeAddOp2(v, copyOp, j+srcReg-1, target+i); + if( (flags & SQLITE_ECEL_REF)!=0 && (j = pItem->u.x.iOrderByCol)>0 ){ + if( flags & SQLITE_ECEL_OMITREF ){ + i--; + n--; + }else{ + sqlite3VdbeAddOp2(v, copyOp, j+srcReg-1, target+i); + } }else if( (flags & SQLITE_ECEL_FACTOR)!=0 && sqlite3ExprIsConstant(pExpr) ){ - sqlite3ExprCodeAtInit(pParse, pExpr, target+i, 0); + sqlite3ExprCodeAtInit(pParse, pExpr, target+i); }else{ int inReg = sqlite3ExprCodeTarget(pParse, pExpr, target+i); if( inReg!=target+i ){ @@ -93891,6 +97089,11 @@ static void exprCodeBetween( if( xJump ){ xJump(pParse, &exprAnd, dest, jumpIfNull); }else{ + /* Mark the expression is being from the ON or USING clause of a join + ** so that the sqlite3ExprCodeTarget() routine will not attempt to move + ** it into the Parse.pConstExpr list. We should use a new bit for this, + ** for clarity, but we are out of bits in the Expr.flags field so we + ** have to reuse the EP_FromJoin bit. Bummer. */ exprX.flags |= EP_FromJoin; sqlite3ExprCodeTarget(pParse, &exprAnd, dest); } @@ -94204,6 +97407,41 @@ SQLITE_PRIVATE void sqlite3ExprIfFalseDup(Parse *pParse, Expr *pExpr, int dest,i sqlite3ExprDelete(db, pCopy); } +/* +** Expression pVar is guaranteed to be an SQL variable. pExpr may be any +** type of expression. +** +** If pExpr is a simple SQL value - an integer, real, string, blob +** or NULL value - then the VDBE currently being prepared is configured +** to re-prepare each time a new value is bound to variable pVar. +** +** Additionally, if pExpr is a simple SQL value and the value is the +** same as that currently bound to variable pVar, non-zero is returned. +** Otherwise, if the values are not the same or if pExpr is not a simple +** SQL value, zero is returned. +*/ +static int exprCompareVariable(Parse *pParse, Expr *pVar, Expr *pExpr){ + int res = 0; + int iVar; + sqlite3_value *pL, *pR = 0; + + sqlite3ValueFromExpr(pParse->db, pExpr, SQLITE_UTF8, SQLITE_AFF_BLOB, &pR); + if( pR ){ + iVar = pVar->iColumn; + sqlite3VdbeSetVarmask(pParse->pVdbe, iVar); + pL = sqlite3VdbeGetBoundValue(pParse->pReprepare, iVar, SQLITE_AFF_BLOB); + if( pL ){ + if( sqlite3_value_type(pL)==SQLITE_TEXT ){ + sqlite3_value_text(pL); /* Make sure the encoding is UTF-8 */ + } + res = 0==sqlite3MemCompare(pL, pR, 0); + } + sqlite3ValueFree(pR); + sqlite3ValueFree(pL); + } + + return res; +} /* ** Do a deep comparison of two expression trees. Return 0 if the two @@ -94226,12 +97464,22 @@ SQLITE_PRIVATE void sqlite3ExprIfFalseDup(Parse *pParse, Expr *pExpr, int dest,i ** this routine is used, it does not hurt to get an extra 2 - that ** just might result in some slightly slower code. But returning ** an incorrect 0 or 1 could lead to a malfunction. +** +** If pParse is not NULL then TK_VARIABLE terms in pA with bindings in +** pParse->pReprepare can be matched against literals in pB. The +** pParse->pVdbe->expmask bitmask is updated for each variable referenced. +** If pParse is NULL (the normal case) then any TK_VARIABLE term in +** Argument pParse should normally be NULL. If it is not NULL and pA or +** pB causes a return value of 2. */ -SQLITE_PRIVATE int sqlite3ExprCompare(Expr *pA, Expr *pB, int iTab){ +SQLITE_PRIVATE int sqlite3ExprCompare(Parse *pParse, Expr *pA, Expr *pB, int iTab){ u32 combinedFlags; if( pA==0 || pB==0 ){ return pB==pA ? 0 : 2; } + if( pParse && pA->op==TK_VARIABLE && exprCompareVariable(pParse, pA, pB) ){ + return 0; + } combinedFlags = pA->flags | pB->flags; if( combinedFlags & EP_IntValue ){ if( (pA->flags&pB->flags&EP_IntValue)!=0 && pA->u.iValue==pB->u.iValue ){ @@ -94240,10 +97488,10 @@ SQLITE_PRIVATE int sqlite3ExprCompare(Expr *pA, Expr *pB, int iTab){ return 2; } if( pA->op!=pB->op ){ - if( pA->op==TK_COLLATE && sqlite3ExprCompare(pA->pLeft, pB, iTab)<2 ){ + if( pA->op==TK_COLLATE && sqlite3ExprCompare(pParse, pA->pLeft,pB,iTab)<2 ){ return 1; } - if( pB->op==TK_COLLATE && sqlite3ExprCompare(pA, pB->pLeft, iTab)<2 ){ + if( pB->op==TK_COLLATE && sqlite3ExprCompare(pParse, pA,pB->pLeft,iTab)<2 ){ return 1; } return 2; @@ -94258,8 +97506,8 @@ SQLITE_PRIVATE int sqlite3ExprCompare(Expr *pA, Expr *pB, int iTab){ if( (pA->flags & EP_Distinct)!=(pB->flags & EP_Distinct) ) return 2; if( ALWAYS((combinedFlags & EP_TokenOnly)==0) ){ if( combinedFlags & EP_xIsSelect ) return 2; - if( sqlite3ExprCompare(pA->pLeft, pB->pLeft, iTab) ) return 2; - if( sqlite3ExprCompare(pA->pRight, pB->pRight, iTab) ) return 2; + if( sqlite3ExprCompare(pParse, pA->pLeft, pB->pLeft, iTab) ) return 2; + if( sqlite3ExprCompare(pParse, pA->pRight, pB->pRight, iTab) ) return 2; if( sqlite3ExprListCompare(pA->x.pList, pB->x.pList, iTab) ) return 2; if( ALWAYS((combinedFlags & EP_Reduced)==0) && pA->op!=TK_STRING ){ if( pA->iColumn!=pB->iColumn ) return 2; @@ -94294,11 +97542,22 @@ SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList *pA, ExprList *pB, int iTab){ Expr *pExprA = pA->a[i].pExpr; Expr *pExprB = pB->a[i].pExpr; if( pA->a[i].sortOrder!=pB->a[i].sortOrder ) return 1; - if( sqlite3ExprCompare(pExprA, pExprB, iTab) ) return 1; + if( sqlite3ExprCompare(0, pExprA, pExprB, iTab) ) return 1; } return 0; } +/* +** Like sqlite3ExprCompare() except COLLATE operators at the top-level +** are ignored. +*/ +SQLITE_PRIVATE int sqlite3ExprCompareSkip(Expr *pA, Expr *pB, int iTab){ + return sqlite3ExprCompare(0, + sqlite3ExprSkipCollate(pA), + sqlite3ExprSkipCollate(pB), + iTab); +} + /* ** Return true if we can prove the pE2 will always be true if pE1 is ** true. Return false if we cannot complete the proof or if pE2 might @@ -94315,25 +97574,29 @@ SQLITE_PRIVATE int sqlite3ExprListCompare(ExprList *pA, ExprList *pB, int iTab){ ** When comparing TK_COLUMN nodes between pE1 and pE2, if pE2 has ** Expr.iTable<0 then assume a table number given by iTab. ** +** If pParse is not NULL, then the values of bound variables in pE1 are +** compared against literal values in pE2 and pParse->pVdbe->expmask is +** modified to record which bound variables are referenced. If pParse +** is NULL, then false will be returned if pE1 contains any bound variables. +** ** When in doubt, return false. Returning true might give a performance ** improvement. Returning false might cause a performance reduction, but ** it will always give the correct answer and is hence always safe. */ -SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Expr *pE1, Expr *pE2, int iTab){ - if( sqlite3ExprCompare(pE1, pE2, iTab)==0 ){ +SQLITE_PRIVATE int sqlite3ExprImpliesExpr(Parse *pParse, Expr *pE1, Expr *pE2, int iTab){ + if( sqlite3ExprCompare(pParse, pE1, pE2, iTab)==0 ){ return 1; } if( pE2->op==TK_OR - && (sqlite3ExprImpliesExpr(pE1, pE2->pLeft, iTab) - || sqlite3ExprImpliesExpr(pE1, pE2->pRight, iTab) ) + && (sqlite3ExprImpliesExpr(pParse, pE1, pE2->pLeft, iTab) + || sqlite3ExprImpliesExpr(pParse, pE1, pE2->pRight, iTab) ) ){ return 1; } - if( pE2->op==TK_NOTNULL - && sqlite3ExprCompare(pE1->pLeft, pE2->pLeft, iTab)==0 - && (pE1->op!=TK_ISNULL && pE1->op!=TK_IS) - ){ - return 1; + if( pE2->op==TK_NOTNULL && pE1->op!=TK_ISNULL && pE1->op!=TK_IS ){ + Expr *pX = sqlite3ExprSkipCollate(pE1->pLeft); + testcase( pX!=pE1->pLeft ); + if( sqlite3ExprCompare(pParse, pX, pE2->pLeft, iTab)==0 ) return 1; } return 0; } @@ -94441,8 +97704,8 @@ SQLITE_PRIVATE int sqlite3FunctionUsesThisSrc(Expr *pExpr, SrcList *pSrcList){ Walker w; struct SrcCount cnt; assert( pExpr->op==TK_AGG_FUNCTION ); - memset(&w, 0, sizeof(w)); w.xExprCallback = exprSrcCount; + w.xSelectCallback = 0; w.u.pSrcCount = &cnt; cnt.pSrc = pSrcList; cnt.nThis = 0; @@ -94574,7 +97837,7 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){ */ struct AggInfo_func *pItem = pAggInfo->aFunc; for(i=0; inFunc; i++, pItem++){ - if( sqlite3ExprCompare(pItem->pExpr, pExpr, -1)==0 ){ + if( sqlite3ExprCompare(0, pItem->pExpr, pExpr, -1)==0 ){ break; } } @@ -94614,10 +97877,14 @@ static int analyzeAggregate(Walker *pWalker, Expr *pExpr){ return WRC_Continue; } static int analyzeAggregatesInSelect(Walker *pWalker, Select *pSelect){ - UNUSED_PARAMETER(pWalker); UNUSED_PARAMETER(pSelect); + pWalker->walkerDepth++; return WRC_Continue; } +static void analyzeAggregatesInSelectEnd(Walker *pWalker, Select *pSelect){ + UNUSED_PARAMETER(pSelect); + pWalker->walkerDepth--; +} /* ** Analyze the pExpr expression looking for aggregate functions and @@ -94630,9 +97897,10 @@ static int analyzeAggregatesInSelect(Walker *pWalker, Select *pSelect){ */ SQLITE_PRIVATE void sqlite3ExprAnalyzeAggregates(NameContext *pNC, Expr *pExpr){ Walker w; - memset(&w, 0, sizeof(w)); w.xExprCallback = analyzeAggregate; w.xSelectCallback = analyzeAggregatesInSelect; + w.xSelectCallback2 = analyzeAggregatesInSelectEnd; + w.walkerDepth = 0; w.u.pNC = pNC; assert( pNC->pSrcList!=0 ); sqlite3WalkExpr(&w, pExpr); @@ -94733,8 +98001,8 @@ SQLITE_PRIVATE void sqlite3ClearTempRegCache(Parse *pParse){ SQLITE_PRIVATE int sqlite3NoTempsInRange(Parse *pParse, int iFirst, int iLast){ int i; if( pParse->nRangeReg>0 - && pParse->iRangeReg+pParse->nRangeRegiRangeReg>=iFirst + && pParse->iRangeReg+pParse->nRangeReg > iFirst + && pParse->iRangeReg <= iLast ){ return 0; } @@ -95126,7 +98394,7 @@ static void reloadTableSchema(Parse *pParse, Table *pTab, const char *zName){ ** Or, if zName is not a system table, zero is returned. */ static int isSystemTable(Parse *pParse, const char *zName){ - if( sqlite3Strlen30(zName)>6 && 0==sqlite3StrNICmp(zName, "sqlite_", 7) ){ + if( 0==sqlite3StrNICmp(zName, "sqlite_", 7) ){ sqlite3ErrorMsg(pParse, "table %s may not be altered", zName); return 1; } @@ -95154,9 +98422,9 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( char *zWhere = 0; /* Where clause to locate temp triggers */ #endif VTable *pVTab = 0; /* Non-zero if this is a v-tab with an xRename() */ - int savedDbFlags; /* Saved value of db->flags */ + u32 savedDbFlags; /* Saved value of db->mDbFlags */ - savedDbFlags = db->flags; + savedDbFlags = db->mDbFlags; if( NEVER(db->mallocFailed) ) goto exit_rename_table; assert( pSrc->nSrc==1 ); assert( sqlite3BtreeHoldsAllMutexes(pParse->db) ); @@ -95165,7 +98433,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( if( !pTab ) goto exit_rename_table; iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); zDb = db->aDb[iDb].zDbSName; - db->flags |= SQLITE_PreferBuiltin; + db->mDbFlags |= DBFLAG_PreferBuiltin; /* Get a NULL terminated version of the new table name. */ zName = sqlite3NameFromToken(db, pName); @@ -95255,7 +98523,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( sqlite3NestedParse(pParse, "UPDATE \"%w\".%s SET " "sql = sqlite_rename_parent(sql, %Q, %Q) " - "WHERE %s;", zDb, SCHEMA_TABLE(iDb), zTabName, zName, zWhere); + "WHERE %s;", zDb, MASTER_NAME, zTabName, zName, zWhere); sqlite3DbFree(db, zWhere); } } @@ -95279,7 +98547,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( "ELSE name END " "WHERE tbl_name=%Q COLLATE nocase AND " "(type='table' OR type='index' OR type='trigger');", - zDb, SCHEMA_TABLE(iDb), zName, zName, zName, + zDb, MASTER_NAME, zName, zName, zName, #ifndef SQLITE_OMIT_TRIGGER zName, #endif @@ -95330,7 +98598,7 @@ SQLITE_PRIVATE void sqlite3AlterRenameTable( exit_rename_table: sqlite3SrcListDelete(db, pSrc); sqlite3DbFree(db, zName); - db->flags = savedDbFlags; + db->mDbFlags = savedDbFlags; } /* @@ -95431,20 +98699,20 @@ SQLITE_PRIVATE void sqlite3AlterFinishAddColumn(Parse *pParse, Token *pColDef){ zCol = sqlite3DbStrNDup(db, (char*)pColDef->z, pColDef->n); if( zCol ){ char *zEnd = &zCol[pColDef->n-1]; - int savedDbFlags = db->flags; + u32 savedDbFlags = db->mDbFlags; while( zEnd>zCol && (*zEnd==';' || sqlite3Isspace(*zEnd)) ){ *zEnd-- = '\0'; } - db->flags |= SQLITE_PreferBuiltin; + db->mDbFlags |= DBFLAG_PreferBuiltin; sqlite3NestedParse(pParse, "UPDATE \"%w\".%s SET " "sql = substr(sql,1,%d) || ', ' || %Q || substr(sql,%d) " "WHERE type = 'table' AND name = %Q", - zDb, SCHEMA_TABLE(iDb), pNew->addColOffset, zCol, pNew->addColOffset+1, + zDb, MASTER_NAME, pNew->addColOffset, zCol, pNew->addColOffset+1, zTab ); sqlite3DbFree(db, zCol); - db->flags = savedDbFlags; + db->mDbFlags = savedDbFlags; } /* Make sure the schema version is at least 3. But do not upgrade @@ -95524,7 +98792,7 @@ SQLITE_PRIVATE void sqlite3AlterBeginAddColumn(Parse *pParse, SrcList *pSrc){ pNew = (Table*)sqlite3DbMallocZero(db, sizeof(Table)); if( !pNew ) goto exit_begin_add_column; pParse->pNewTable = pNew; - pNew->nRef = 1; + pNew->nTabRef = 1; pNew->nCol = pTab->nCol; assert( pNew->nCol>0 ); nAlloc = (((pNew->nCol-1)/8)*8)+8; @@ -95544,7 +98812,7 @@ SQLITE_PRIVATE void sqlite3AlterBeginAddColumn(Parse *pParse, SrcList *pSrc){ } pNew->pSchema = db->aDb[iDb].pSchema; pNew->addColOffset = pTab->addColOffset; - pNew->nRef = 1; + pNew->nTabRef = 1; /* Begin a transaction and increment the schema cookie. */ sqlite3BeginWriteOperation(pParse, 0, iDb); @@ -95796,6 +99064,10 @@ static void openStatTable( "DELETE FROM %Q.%s WHERE %s=%Q", pDb->zDbSName, zTab, zWhereType, zWhere ); +#ifdef SQLITE_ENABLE_PREUPDATE_HOOK + }else if( db->xPreUpdateCallback ){ + sqlite3NestedParse(pParse, "DELETE FROM %Q.%s", pDb->zDbSName, zTab); +#endif }else{ /* The sqlite_stat[134] table already exists. Delete all rows. */ sqlite3VdbeAddOp2(v, OP_Clear, aRoot[i], iDb); @@ -95852,6 +99124,7 @@ struct Stat4Accum { Stat4Sample *aBest; /* Array of nCol best samples */ int iMin; /* Index in a[] of entry with minimum score */ int nSample; /* Current number of samples */ + int nMaxEqZero; /* Max leading 0 in anEq[] for any a[] entry */ int iGet; /* Index of current sample accessed by stat_get() */ Stat4Sample *a; /* Array of mxSample Stat4Sample objects */ sqlite3 *db; /* Database connection, for malloc() */ @@ -96116,6 +99389,13 @@ static void sampleInsert(Stat4Accum *p, Stat4Sample *pNew, int nEqZero){ assert( IsStat4 || nEqZero==0 ); #ifdef SQLITE_ENABLE_STAT4 + /* Stat4Accum.nMaxEqZero is set to the maximum number of leading 0 + ** values in the anEq[] array of any sample in Stat4Accum.a[]. In + ** other words, if nMaxEqZero is n, then it is guaranteed that there + ** are no samples with Stat4Sample.anEq[m]==0 for (m>=n). */ + if( nEqZero>p->nMaxEqZero ){ + p->nMaxEqZero = nEqZero; + } if( pNew->isPSample==0 ){ Stat4Sample *pUpgrade = 0; assert( pNew->anEq[pNew->iCol]>0 ); @@ -96213,12 +99493,22 @@ static void samplePushPrevious(Stat4Accum *p, int iChng){ } } - /* Update the anEq[] fields of any samples already collected. */ + /* Check that no sample contains an anEq[] entry with an index of + ** p->nMaxEqZero or greater set to zero. */ for(i=p->nSample-1; i>=0; i--){ int j; - for(j=iChng; jnCol; j++){ - if( p->a[i].anEq[j]==0 ) p->a[i].anEq[j] = p->current.anEq[j]; + for(j=p->nMaxEqZero; jnCol; j++) assert( p->a[i].anEq[j]>0 ); + } + + /* Update the anEq[] fields of any samples already collected. */ + if( iChngnMaxEqZero ){ + for(i=p->nSample-1; i>=0; i--){ + int j; + for(j=iChng; jnCol; j++){ + if( p->a[i].anEq[j]==0 ) p->a[i].anEq[j] = p->current.anEq[j]; + } } + p->nMaxEqZero = iChng; } #endif @@ -96359,6 +99649,12 @@ static const FuncDef statPushFuncdef = { ** The content to returned is determined by the parameter J ** which is one of the STAT_GET_xxxx values defined above. ** +** The stat_get(P,J) function is not available to generic SQL. It is +** inserted as part of a manually constructed bytecode program. (See +** the callStatGet() routine below.) It is guaranteed that the P +** parameter will always be a poiner to a Stat4Accum object, never a +** NULL. +** ** If neither STAT3 nor STAT4 are enabled, then J is always ** STAT_GET_STAT1 and is hence omitted and this routine becomes ** a one-parameter function, stat_get(P), that always returns the @@ -96536,6 +99832,9 @@ static void analyzeOneTable( int regIdxname = iMem++; /* Register containing index name */ int regStat1 = iMem++; /* Value for the stat column of sqlite_stat1 */ int regPrev = iMem; /* MUST BE LAST (see below) */ +#ifdef SQLITE_ENABLE_PREUPDATE_HOOK + Table *pStat1 = 0; +#endif pParse->nMem = MAX(pParse->nMem, iMem); v = sqlite3GetVdbe(pParse); @@ -96561,6 +99860,18 @@ static void analyzeOneTable( } #endif +#ifdef SQLITE_ENABLE_PREUPDATE_HOOK + if( db->xPreUpdateCallback ){ + pStat1 = (Table*)sqlite3DbMallocZero(db, sizeof(Table) + 13); + if( pStat1==0 ) return; + pStat1->zName = (char*)&pStat1[1]; + memcpy(pStat1->zName, "sqlite_stat1", 13); + pStat1->nCol = 3; + pStat1->iPKey = -1; + sqlite3VdbeAddOp4(pParse->pVdbe, OP_Noop, 0, 0, 0,(char*)pStat1,P4_DYNBLOB); + } +#endif + /* Establish a read-lock on the table at the shared-cache level. ** Open a read-only cursor on the table. Also allocate a cursor number ** to use for scanning indexes (iIdxCur). No index cursor is opened at @@ -96742,7 +100053,7 @@ static void analyzeOneTable( regKey = sqlite3GetTempRange(pParse, pPk->nKeyCol); for(j=0; jnKeyCol; j++){ k = sqlite3ColumnOfIndex(pIdx, pPk->aiColumn[j]); - assert( k>=0 && knCol ); + assert( k>=0 && knColumn ); sqlite3VdbeAddOp3(v, OP_Column, iIdxCur, k, regKey+j); VdbeComment((v, "%s", pTab->aCol[pPk->aiColumn[j]].zName)); } @@ -96762,6 +100073,9 @@ static void analyzeOneTable( sqlite3VdbeAddOp4(v, OP_MakeRecord, regTabname, 3, regTemp, "BBB", 0); sqlite3VdbeAddOp2(v, OP_NewRowid, iStatCur, regNewRowid); sqlite3VdbeAddOp3(v, OP_Insert, iStatCur, regTemp, regNewRowid); +#ifdef SQLITE_ENABLE_PREUPDATE_HOOK + sqlite3VdbeChangeP4(v, -1, (char*)pStat1, P4_TABLE); +#endif sqlite3VdbeChangeP5(v, OPFLAG_APPEND); /* Add the entries to the stat3 or stat4 table. */ @@ -96825,6 +100139,9 @@ static void analyzeOneTable( sqlite3VdbeAddOp2(v, OP_NewRowid, iStatCur, regNewRowid); sqlite3VdbeAddOp3(v, OP_Insert, iStatCur, regTemp, regNewRowid); sqlite3VdbeChangeP5(v, OPFLAG_APPEND); +#ifdef SQLITE_ENABLE_PREUPDATE_HOOK + sqlite3VdbeChangeP4(v, -1, (char*)pStat1, P4_TABLE); +#endif sqlite3VdbeJumpHere(v, jZeroRows); } } @@ -96926,27 +100243,14 @@ SQLITE_PRIVATE void sqlite3Analyze(Parse *pParse, Token *pName1, Token *pName2){ if( i==1 ) continue; /* Do not analyze the TEMP database */ analyzeDatabase(pParse, i); } - }else if( pName2->n==0 ){ - /* Form 2: Analyze the database or table named */ - iDb = sqlite3FindDb(db, pName1); - if( iDb>=0 ){ - analyzeDatabase(pParse, iDb); - }else{ - z = sqlite3NameFromToken(db, pName1); - if( z ){ - if( (pIdx = sqlite3FindIndex(db, z, 0))!=0 ){ - analyzeTable(pParse, pIdx->pTable, pIdx); - }else if( (pTab = sqlite3LocateTable(pParse, 0, z, 0))!=0 ){ - analyzeTable(pParse, pTab, 0); - } - sqlite3DbFree(db, z); - } - } + }else if( pName2->n==0 && (iDb = sqlite3FindDb(db, pName1))>=0 ){ + /* Analyze the schema named as the argument */ + analyzeDatabase(pParse, iDb); }else{ - /* Form 3: Analyze the fully qualified table name */ + /* Form 3: Analyze the table or index named as an argument */ iDb = sqlite3TwoPartName(pParse, pName1, pName2, &pTableName); if( iDb>=0 ){ - zDb = db->aDb[iDb].zDbSName; + zDb = pName2->n ? db->aDb[iDb].zDbSName : 0; z = sqlite3NameFromToken(db, pTableName); if( z ){ if( (pIdx = sqlite3FindIndex(db, z, zDb))!=0 ){ @@ -96956,10 +100260,11 @@ SQLITE_PRIVATE void sqlite3Analyze(Parse *pParse, Token *pName1, Token *pName2){ } sqlite3DbFree(db, z); } - } + } + } + if( db->nSqlExec==0 && (v = sqlite3GetVdbe(pParse))!=0 ){ + sqlite3VdbeAddOp0(v, OP_Expire); } - v = sqlite3GetVdbe(pParse); - if( v ) sqlite3VdbeAddOp0(v, OP_Expire); } /* @@ -97088,7 +100393,11 @@ static int analysisLoader(void *pData, int argc, char **argv, char **NotUsed){ #endif pIndex->bUnordered = 0; decodeIntArray((char*)z, nCol, aiRowEst, pIndex->aiRowLogEst, pIndex); - if( pIndex->pPartIdxWhere==0 ) pTable->nRowLogEst = pIndex->aiRowLogEst[0]; + pIndex->hasStat1 = 1; + if( pIndex->pPartIdxWhere==0 ){ + pTable->nRowLogEst = pIndex->aiRowLogEst[0]; + pTable->tabFlags |= TF_HasStat1; + } }else{ Index fakeIdx; fakeIdx.szIdxRow = pTable->szTabRow; @@ -97097,6 +100406,7 @@ static int analysisLoader(void *pData, int argc, char **argv, char **NotUsed){ #endif decodeIntArray((char*)z, 1, 0, &pTable->nRowLogEst, &fakeIdx); pTable->szTabRow = fakeIdx.szIdxRow; + pTable->tabFlags |= TF_HasStat1; } return 0; @@ -97177,7 +100487,7 @@ static void initAvgEq(Index *pIdx){ } } - if( nDist100>nSum100 ){ + if( nDist100>nSum100 && sumEqp, sqlite3_column_blob(pStmt, 4), pSample->n); + if( pSample->n ){ + memcpy(pSample->p, sqlite3_column_blob(pStmt, 4), pSample->n); + } pIdx->nSample++; } rc = sqlite3_finalize(pStmt); @@ -97389,15 +100701,20 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ HashElem *i; char *zSql; int rc = SQLITE_OK; + Schema *pSchema = db->aDb[iDb].pSchema; assert( iDb>=0 && iDbnDb ); assert( db->aDb[iDb].pBt!=0 ); /* Clear any prior statistics */ assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); - for(i=sqliteHashFirst(&db->aDb[iDb].pSchema->idxHash);i;i=sqliteHashNext(i)){ + for(i=sqliteHashFirst(&pSchema->tblHash); i; i=sqliteHashNext(i)){ + Table *pTab = sqliteHashData(i); + pTab->tabFlags &= ~TF_HasStat1; + } + for(i=sqliteHashFirst(&pSchema->idxHash); i; i=sqliteHashNext(i)){ Index *pIdx = sqliteHashData(i); - pIdx->aiRowLogEst[0] = 0; + pIdx->hasStat1 = 0; #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 sqlite3DeleteIndexSamples(db, pIdx); pIdx->aSample = 0; @@ -97420,9 +100737,9 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ /* Set appropriate defaults on all indexes not in the sqlite_stat1 table */ assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); - for(i=sqliteHashFirst(&db->aDb[iDb].pSchema->idxHash);i;i=sqliteHashNext(i)){ + for(i=sqliteHashFirst(&pSchema->idxHash); i; i=sqliteHashNext(i)){ Index *pIdx = sqliteHashData(i); - if( pIdx->aiRowLogEst[0]==0 ) sqlite3DefaultRowEst(pIdx); + if( !pIdx->hasStat1 ) sqlite3DefaultRowEst(pIdx); } /* Load the statistics from the sqlite_stat4 table. */ @@ -97432,7 +100749,7 @@ SQLITE_PRIVATE int sqlite3AnalysisLoad(sqlite3 *db, int iDb){ rc = loadStat4(db, sInfo.zDatabase); db->lookaside.bDisable--; } - for(i=sqliteHashFirst(&db->aDb[iDb].pSchema->idxHash);i;i=sqliteHashNext(i)){ + for(i=sqliteHashFirst(&pSchema->idxHash); i; i=sqliteHashNext(i)){ Index *pIdx = sqliteHashData(i); sqlite3_free(pIdx->aiRowEst); pIdx->aiRowEst = 0; @@ -97521,7 +100838,8 @@ static void attachFunc( char *zPath = 0; char *zErr = 0; unsigned int flags; - Db *aNew; + Db *aNew; /* New array of Db pointers */ + Db *pNew; /* Db object for the newly attached database */ char *zErrDyn = 0; sqlite3_vfs *pVfs; @@ -97544,10 +100862,6 @@ static void attachFunc( ); goto attach_error; } - if( !db->autoCommit ){ - zErrDyn = sqlite3MPrintf(db, "cannot ATTACH database within transaction"); - goto attach_error; - } for(i=0; inDb; i++){ char *z = db->aDb[i].zDbSName; assert( z && zName ); @@ -97569,8 +100883,8 @@ static void attachFunc( if( aNew==0 ) return; } db->aDb = aNew; - aNew = &db->aDb[db->nDb]; - memset(aNew, 0, sizeof(*aNew)); + pNew = &db->aDb[db->nDb]; + memset(pNew, 0, sizeof(*pNew)); /* Open the database file. If the btree is successfully opened, use ** it to obtain the database schema. At this point the schema may @@ -97586,36 +100900,37 @@ static void attachFunc( } assert( pVfs ); flags |= SQLITE_OPEN_MAIN_DB; - rc = sqlite3BtreeOpen(pVfs, zPath, db, &aNew->pBt, 0, flags); + rc = sqlite3BtreeOpen(pVfs, zPath, db, &pNew->pBt, 0, flags); sqlite3_free( zPath ); db->nDb++; + db->skipBtreeMutex = 0; if( rc==SQLITE_CONSTRAINT ){ rc = SQLITE_ERROR; zErrDyn = sqlite3MPrintf(db, "database is already attached"); }else if( rc==SQLITE_OK ){ Pager *pPager; - aNew->pSchema = sqlite3SchemaGet(db, aNew->pBt); - if( !aNew->pSchema ){ + pNew->pSchema = sqlite3SchemaGet(db, pNew->pBt); + if( !pNew->pSchema ){ rc = SQLITE_NOMEM_BKPT; - }else if( aNew->pSchema->file_format && aNew->pSchema->enc!=ENC(db) ){ + }else if( pNew->pSchema->file_format && pNew->pSchema->enc!=ENC(db) ){ zErrDyn = sqlite3MPrintf(db, "attached databases must use the same text encoding as main database"); rc = SQLITE_ERROR; } - sqlite3BtreeEnter(aNew->pBt); - pPager = sqlite3BtreePager(aNew->pBt); + sqlite3BtreeEnter(pNew->pBt); + pPager = sqlite3BtreePager(pNew->pBt); sqlite3PagerLockingMode(pPager, db->dfltLockMode); - sqlite3BtreeSecureDelete(aNew->pBt, + sqlite3BtreeSecureDelete(pNew->pBt, sqlite3BtreeSecureDelete(db->aDb[0].pBt,-1) ); #ifndef SQLITE_OMIT_PAGER_PRAGMAS - sqlite3BtreeSetPagerFlags(aNew->pBt, + sqlite3BtreeSetPagerFlags(pNew->pBt, PAGER_SYNCHRONOUS_FULL | (db->flags & PAGER_FLAGS_MASK)); #endif - sqlite3BtreeLeave(aNew->pBt); + sqlite3BtreeLeave(pNew->pBt); } - aNew->safety_level = SQLITE_DEFAULT_SYNCHRONOUS+1; - aNew->zDbSName = sqlite3DbStrDup(db, zName); - if( rc==SQLITE_OK && aNew->zDbSName==0 ){ + pNew->safety_level = SQLITE_DEFAULT_SYNCHRONOUS+1; + pNew->zDbSName = sqlite3DbStrDup(db, zName); + if( rc==SQLITE_OK && pNew->zDbSName==0 ){ rc = SQLITE_NOMEM_BKPT; } @@ -97738,11 +101053,6 @@ static void detachFunc( sqlite3_snprintf(sizeof(zErr),zErr, "cannot detach database %s", zName); goto detach_error; } - if( !db->autoCommit ){ - sqlite3_snprintf(sizeof(zErr), zErr, - "cannot DETACH database within transaction"); - goto detach_error; - } if( sqlite3BtreeIsInReadTrans(pDb->pBt) || sqlite3BtreeIsInBackup(pDb->pBt) ){ sqlite3_snprintf(sizeof(zErr),zErr, "database %s is locked", zName); goto detach_error; @@ -97963,9 +101273,6 @@ SQLITE_PRIVATE int sqlite3FixSelect( if( sqlite3FixExpr(pFix, pSelect->pLimit) ){ return 1; } - if( sqlite3FixExpr(pFix, pSelect->pOffset) ){ - return 1; - } pSelect = pSelect->pPrior; } return 0; @@ -98155,11 +101462,9 @@ SQLITE_PRIVATE int sqlite3AuthReadCol( #endif ); if( rc==SQLITE_DENY ){ - if( db->nDb>2 || iDb!=0 ){ - sqlite3ErrorMsg(pParse, "access to %s.%s.%s is prohibited",zDb,zTab,zCol); - }else{ - sqlite3ErrorMsg(pParse, "access to %s.%s is prohibited", zTab, zCol); - } + char *z = sqlite3_mprintf("%s.%s", zTab, zCol); + if( db->nDb>2 || iDb!=0 ) z = sqlite3_mprintf("%s.%z", zDb, z); + sqlite3ErrorMsg(pParse, "access to %z is prohibited", z); pParse->rc = SQLITE_AUTH; }else if( rc!=SQLITE_IGNORE && rc!=SQLITE_OK ){ sqliteAuthBadReturnCode(pParse); @@ -98253,6 +101558,18 @@ SQLITE_PRIVATE int sqlite3AuthCheck( if( db->xAuth==0 ){ return SQLITE_OK; } + + /* EVIDENCE-OF: R-43249-19882 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. + ** + ** The following testcase() macros show that any of the 3rd through 6th + ** parameters can be either NULL or a string. */ + testcase( zArg1==0 ); + testcase( zArg2==0 ); + testcase( zArg3==0 ); + testcase( pParse->zAuthContext==0 ); + rc = db->xAuth(db->pAuthArg, code, zArg1, zArg2, zArg3, pParse->zAuthContext #ifdef SQLITE_USER_AUTHENTICATION ,db->auth.zAuthUser @@ -98331,10 +101648,10 @@ SQLITE_PRIVATE void sqlite3AuthContextPop(AuthContext *pContext){ ** codeTableLocks() functions. */ struct TableLock { - int iDb; /* The database containing the table to be locked */ - int iTab; /* The root page of the table to be locked */ - u8 isWriteLock; /* True for write lock. False for a read lock */ - const char *zName; /* Name of the table */ + int iDb; /* The database containing the table to be locked */ + int iTab; /* The root page of the table to be locked */ + u8 isWriteLock; /* True for write lock. False for a read lock */ + const char *zLockName; /* Name of the table */ }; /* @@ -98360,6 +101677,8 @@ SQLITE_PRIVATE void sqlite3TableLock( TableLock *p; assert( iDb>=0 ); + if( iDb==1 ) return; + if( !sqlite3BtreeSharable(pParse->db->aDb[iDb].pBt) ) return; for(i=0; inTableLock; i++){ p = &pToplevel->aTableLock[i]; if( p->iDb==iDb && p->iTab==iTab ){ @@ -98376,7 +101695,7 @@ SQLITE_PRIVATE void sqlite3TableLock( p->iDb = iDb; p->iTab = iTab; p->isWriteLock = isWriteLock; - p->zName = zName; + p->zLockName = zName; }else{ pToplevel->nTableLock = 0; sqlite3OomFault(pToplevel->db); @@ -98398,7 +101717,7 @@ static void codeTableLocks(Parse *pParse){ TableLock *p = &pParse->aTableLock[i]; int p1 = p->iDb; sqlite3VdbeAddOp4(pVdbe, OP_TableLock, p1, p->iTab, p->isWriteLock, - p->zName, P4_STATIC); + p->zLockName, P4_STATIC); } } #else @@ -98607,15 +101926,22 @@ SQLITE_PRIVATE Table *sqlite3FindTable(sqlite3 *db, const char *zName, const cha return 0; } #endif - for(i=OMIT_TEMPDB; inDb; i++){ - int j = (i<2) ? i^1 : i; /* Search TEMP before MAIN */ - if( zDatabase==0 || sqlite3StrICmp(zDatabase, db->aDb[j].zDbSName)==0 ){ - assert( sqlite3SchemaMutexHeld(db, j, 0) ); - p = sqlite3HashFind(&db->aDb[j].pSchema->tblHash, zName); - if( p ) break; + while(1){ + for(i=OMIT_TEMPDB; inDb; i++){ + int j = (i<2) ? i^1 : i; /* Search TEMP before MAIN */ + if( zDatabase==0 || sqlite3StrICmp(zDatabase, db->aDb[j].zDbSName)==0 ){ + assert( sqlite3SchemaMutexHeld(db, j, 0) ); + p = sqlite3HashFind(&db->aDb[j].pSchema->tblHash, zName); + if( p ) return p; + } } + /* Not found. If the name we were looking for was temp.sqlite_master + ** then change the name to sqlite_temp_master and try again. */ + if( sqlite3StrICmp(zName, MASTER_NAME)!=0 ) break; + if( sqlite3_stricmp(zDatabase, db->aDb[1].zDbSName)!=0 ) break; + zName = TEMP_MASTER_NAME; } - return p; + return 0; } /* @@ -98651,6 +101977,9 @@ SQLITE_PRIVATE Table *sqlite3LocateTable( ** CREATE, then check to see if it is the name of an virtual table that ** can be an eponymous virtual table. */ Module *pMod = (Module*)sqlite3HashFind(&pParse->db->aModule, zName); + if( pMod==0 && sqlite3_strnicmp(zName, "pragma_", 7)==0 ){ + pMod = sqlite3PragmaVtabRegister(pParse->db, zName); + } if( pMod && sqlite3VtabEponymousTableInit(pParse, pMod) ){ return pMod->pEpoTab; } @@ -98768,7 +102097,7 @@ SQLITE_PRIVATE void sqlite3UnlinkAndDeleteIndex(sqlite3 *db, int iDb, const char } freeIndex(db, pIndex); } - db->flags |= SQLITE_InternChanges; + db->mDbFlags |= DBFLAG_SchemaChange; } /* @@ -98803,28 +102132,26 @@ SQLITE_PRIVATE void sqlite3CollapseDatabaseArray(sqlite3 *db){ /* ** Reset the schema for the database at index iDb. Also reset the -** TEMP schema. +** TEMP schema. The reset is deferred if db->nSchemaLock is not zero. +** Deferred resets may be run by calling with iDb<0. */ SQLITE_PRIVATE void sqlite3ResetOneSchema(sqlite3 *db, int iDb){ - Db *pDb; + int i; assert( iDbnDb ); - /* Case 1: Reset the single schema identified by iDb */ - pDb = &db->aDb[iDb]; - assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); - assert( pDb->pSchema!=0 ); - sqlite3SchemaClear(pDb->pSchema); + if( iDb>=0 ){ + assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); + DbSetProperty(db, iDb, DB_ResetWanted); + DbSetProperty(db, 1, DB_ResetWanted); + } - /* If any database other than TEMP is reset, then also reset TEMP - ** since TEMP might be holding triggers that reference tables in the - ** other database. - */ - if( iDb!=1 ){ - pDb = &db->aDb[1]; - assert( pDb->pSchema!=0 ); - sqlite3SchemaClear(pDb->pSchema); + if( db->nSchemaLock==0 ){ + for(i=0; inDb; i++){ + if( DbHasProperty(db, i, DB_ResetWanted) ){ + sqlite3SchemaClear(db->aDb[i].pSchema); + } + } } - return; } /* @@ -98834,13 +102161,14 @@ SQLITE_PRIVATE void sqlite3ResetOneSchema(sqlite3 *db, int iDb){ SQLITE_PRIVATE void sqlite3ResetAllSchemasOfConnection(sqlite3 *db){ int i; sqlite3BtreeEnterAll(db); + assert( db->nSchemaLock==0 ); for(i=0; inDb; i++){ Db *pDb = &db->aDb[i]; if( pDb->pSchema ){ sqlite3SchemaClear(pDb->pSchema); } } - db->flags &= ~SQLITE_InternChanges; + db->mDbFlags &= ~DBFLAG_SchemaChange; sqlite3VtabUnlockList(db); sqlite3BtreeLeaveAll(db); sqlite3CollapseDatabaseArray(db); @@ -98850,7 +102178,7 @@ SQLITE_PRIVATE void sqlite3ResetAllSchemasOfConnection(sqlite3 *db){ ** This routine is called when a commit occurs. */ SQLITE_PRIVATE void sqlite3CommitInternalChanges(sqlite3 *db){ - db->flags &= ~SQLITE_InternChanges; + db->mDbFlags &= ~DBFLAG_SchemaChange; } /* @@ -98888,13 +102216,16 @@ SQLITE_PRIVATE void sqlite3DeleteColumnNames(sqlite3 *db, Table *pTable){ */ static void SQLITE_NOINLINE deleteTable(sqlite3 *db, Table *pTable){ Index *pIndex, *pNext; - TESTONLY( int nLookaside; ) /* Used to verify lookaside not used for schema */ +#ifdef SQLITE_DEBUG /* Record the number of outstanding lookaside allocations in schema Tables ** prior to doing any free() operations. Since schema Tables do not use ** lookaside, this number should not change. */ - TESTONLY( nLookaside = (db && (pTable->tabFlags & TF_Ephemeral)==0) ? - db->lookaside.nOut : 0 ); + int nLookaside = 0; + if( db && (pTable->tabFlags & TF_Ephemeral)==0 ){ + nLookaside = sqlite3LookasideUsed(db, 0); + } +#endif /* Delete all indices associated with this table. */ for(pIndex = pTable->pIndex; pIndex; pIndex=pNext){ @@ -98928,12 +102259,12 @@ static void SQLITE_NOINLINE deleteTable(sqlite3 *db, Table *pTable){ sqlite3DbFree(db, pTable); /* Verify that no lookaside memory was used by schema tables */ - assert( nLookaside==0 || nLookaside==db->lookaside.nOut ); + assert( nLookaside==0 || nLookaside==sqlite3LookasideUsed(db,0) ); } SQLITE_PRIVATE void sqlite3DeleteTable(sqlite3 *db, Table *pTable){ /* Do not delete the table until the reference count reaches zero. */ if( !pTable ) return; - if( ((!db || db->pnBytesFreed==0) && (--pTable->nRef)>0) ) return; + if( ((!db || db->pnBytesFreed==0) && (--pTable->nTabRef)>0) ) return; deleteTable(db, pTable); } @@ -98954,7 +102285,7 @@ SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTable(sqlite3 *db, int iDb, const char pDb = &db->aDb[iDb]; p = sqlite3HashInsert(&pDb->pSchema->tblHash, zTabName, 0); sqlite3DeleteTable(db, p); - db->flags |= SQLITE_InternChanges; + db->mDbFlags |= DBFLAG_SchemaChange; } /* @@ -98987,7 +102318,7 @@ SQLITE_PRIVATE char *sqlite3NameFromToken(sqlite3 *db, Token *pName){ */ SQLITE_PRIVATE void sqlite3OpenMasterTable(Parse *p, int iDb){ Vdbe *v = sqlite3GetVdbe(p); - sqlite3TableLock(p, iDb, MASTER_ROOT, 1, SCHEMA_TABLE(iDb)); + sqlite3TableLock(p, iDb, MASTER_ROOT, 1, MASTER_NAME); sqlite3VdbeAddOp4Int(v, OP_OpenWrite, 0, MASTER_ROOT, iDb, 5); if( p->nTab==0 ){ p->nTab = 1; @@ -99005,7 +102336,10 @@ SQLITE_PRIVATE int sqlite3FindDbName(sqlite3 *db, const char *zName){ if( zName ){ Db *pDb; for(i=(db->nDb-1), pDb=&db->aDb[i]; i>=0; i--, pDb--){ - if( 0==sqlite3StrICmp(pDb->zDbSName, zName) ) break; + if( 0==sqlite3_stricmp(pDb->zDbSName, zName) ) break; + /* "main" is always an acceptable alias for the primary database + ** even if it has been renamed using SQLITE_DBCONFIG_MAINDBNAME. */ + if( i==0 && 0==sqlite3_stricmp("main", zName) ) break; } } return i; @@ -99064,7 +102398,8 @@ SQLITE_PRIVATE int sqlite3TwoPartName( return -1; } }else{ - assert( db->init.iDb==0 || db->init.busy || (db->flags & SQLITE_Vacuum)!=0); + assert( db->init.iDb==0 || db->init.busy + || (db->mDbFlags & DBFLAG_Vacuum)!=0); iDb = db->init.iDb; *pUnqual = pName1; } @@ -99224,8 +102559,12 @@ SQLITE_PRIVATE void sqlite3StartTable( pTable->zName = zName; pTable->iPKey = -1; pTable->pSchema = db->aDb[iDb].pSchema; - pTable->nRef = 1; + pTable->nTabRef = 1; +#ifdef SQLITE_DEFAULT_ROWEST + pTable->nRowLogEst = sqlite3LogEst(SQLITE_DEFAULT_ROWEST); +#else pTable->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); +#endif assert( pParse->pNewTable==0 ); pParse->pNewTable = pTable; @@ -99292,7 +102631,8 @@ SQLITE_PRIVATE void sqlite3StartTable( }else #endif { - pParse->addrCrTab = sqlite3VdbeAddOp2(v, OP_CreateTable, iDb, reg2); + pParse->addrCrTab = + sqlite3VdbeAddOp3(v, OP_CreateBtree, iDb, reg2, BTREE_INTKEY); } sqlite3OpenMasterTable(pParse, iDb); sqlite3VdbeAddOp2(v, OP_NewRowid, 0, reg1); @@ -99341,12 +102681,10 @@ SQLITE_PRIVATE void sqlite3AddColumn(Parse *pParse, Token *pName, Token *pType){ Column *pCol; sqlite3 *db = pParse->db; if( (p = pParse->pNewTable)==0 ) return; -#if SQLITE_MAX_COLUMN if( p->nCol+1>db->aLimit[SQLITE_LIMIT_COLUMN] ){ sqlite3ErrorMsg(pParse, "too many columns on %s", p->zName); return; } -#endif z = sqlite3DbMallocRaw(db, pName->n + pType->n + 2); if( z==0 ) return; memcpy(z, pName->z, pName->n); @@ -99401,6 +102739,7 @@ SQLITE_PRIVATE void sqlite3AddNotNull(Parse *pParse, int onError){ p = pParse->pNewTable; if( p==0 || NEVER(p->nCol<1) ) return; p->aCol[p->nCol-1].notNull = (u8)onError; + p->tabFlags |= TF_HasNotNull; } /* @@ -99500,34 +102839,37 @@ SQLITE_PRIVATE char sqlite3AffinityType(const char *zIn, u8 *pszEst){ ** This routine is called by the parser while in the middle of ** parsing a CREATE TABLE statement. */ -SQLITE_PRIVATE void sqlite3AddDefaultValue(Parse *pParse, ExprSpan *pSpan){ +SQLITE_PRIVATE void sqlite3AddDefaultValue( + Parse *pParse, /* Parsing context */ + Expr *pExpr, /* The parsed expression of the default value */ + const char *zStart, /* Start of the default value text */ + const char *zEnd /* First character past end of defaut value text */ +){ Table *p; Column *pCol; sqlite3 *db = pParse->db; p = pParse->pNewTable; if( p!=0 ){ pCol = &(p->aCol[p->nCol-1]); - if( !sqlite3ExprIsConstantOrFunction(pSpan->pExpr, db->init.busy) ){ + if( !sqlite3ExprIsConstantOrFunction(pExpr, db->init.busy) ){ sqlite3ErrorMsg(pParse, "default value of column [%s] is not constant", pCol->zName); }else{ /* A copy of pExpr is used instead of the original, as pExpr contains - ** tokens that point to volatile memory. The 'span' of the expression - ** is required by pragma table_info. + ** tokens that point to volatile memory. */ Expr x; sqlite3ExprDelete(db, pCol->pDflt); memset(&x, 0, sizeof(x)); x.op = TK_SPAN; - x.u.zToken = sqlite3DbStrNDup(db, (char*)pSpan->zStart, - (int)(pSpan->zEnd - pSpan->zStart)); - x.pLeft = pSpan->pExpr; + x.u.zToken = sqlite3DbSpanDup(db, zStart, zEnd); + x.pLeft = pExpr; x.flags = EP_Skip; pCol->pDflt = sqlite3ExprDup(db, &x, EXPRDUP_REDUCE); sqlite3DbFree(db, x.u.zToken); } } - sqlite3ExprDelete(db, pSpan->pExpr); + sqlite3ExprDelete(db, pExpr); } /* @@ -99951,9 +103293,8 @@ static int hasColumn(const i16 *aiCol, int nCol, int x){ ** Changes include: ** ** (1) Set all columns of the PRIMARY KEY schema object to be NOT NULL. -** (2) Convert the OP_CreateTable into an OP_CreateIndex. There is -** no rowid btree for a WITHOUT ROWID. Instead, the canonical -** data storage is a covering index btree. +** (2) Convert P3 parameter of the OP_CreateBtree from BTREE_INTKEY +** into BTREE_BLOBKEY. ** (3) Bypass the creation of the sqlite_master table entry ** for the PRIMARY KEY as the primary key index is now ** identified by the sqlite_master table entry of the table itself. @@ -99961,7 +103302,7 @@ static int hasColumn(const i16 *aiCol, int nCol, int x){ ** schema to the rootpage from the main table. ** (5) Add all table columns to the PRIMARY KEY Index object ** so that the PRIMARY KEY is a covering index. The surplus -** columns are part of KeyInfo.nXField and are not used for +** columns are part of KeyInfo.nAllField and are not used for ** sorting or lookup or uniqueness checks. ** (6) Replace the rowid tail on all automatically generated UNIQUE ** indices with the PRIMARY KEY columns. @@ -99990,13 +103331,12 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ ** virtual tables */ if( IN_DECLARE_VTAB ) return; - /* Convert the OP_CreateTable opcode that would normally create the - ** root-page for the table into an OP_CreateIndex opcode. The index - ** created will become the PRIMARY KEY index. + /* Convert the P3 operand of the OP_CreateBtree opcode from BTREE_INTKEY + ** into BTREE_BLOBKEY. */ if( pParse->addrCrTab ){ assert( v ); - sqlite3VdbeChangeOpcode(v, pParse->addrCrTab, OP_CreateIndex); + sqlite3VdbeChangeP3(v, pParse->addrCrTab, BTREE_BLOBKEY); } /* Locate the PRIMARY KEY index. Or, if this table was originally @@ -100019,15 +103359,6 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ }else{ pPk = sqlite3PrimaryKeyIndex(pTab); - /* Bypass the creation of the PRIMARY KEY btree and the sqlite_master - ** table entry. This is only required if currently generating VDBE - ** code for a CREATE TABLE (not when parsing one as part of reading - ** a database schema). */ - if( v ){ - assert( db->init.busy==0 ); - sqlite3VdbeChangeOpcode(v, pPk->tnum, OP_Goto); - } - /* ** Remove all redundant columns from the PRIMARY KEY. For example, change ** "PRIMARY KEY(a,b,a,b,c,b,c,d)" into just "PRIMARY KEY(a,b,c,d)". Later @@ -100047,6 +103378,15 @@ static void convertToWithoutRowidTable(Parse *pParse, Table *pTab){ if( !db->init.imposterTable ) pPk->uniqNotNull = 1; nPk = pPk->nKeyCol; + /* Bypass the creation of the PRIMARY KEY btree and the sqlite_master + ** table entry. This is only required if currently generating VDBE + ** code for a CREATE TABLE (not when parsing one as part of reading + ** a database schema). */ + if( v && pPk->tnum>0 ){ + assert( db->init.busy==0 ); + sqlite3VdbeChangeOpcode(v, pPk->tnum, OP_Goto); + } + /* The root page of the PRIMARY KEY is the table root page */ pPk->tnum = pTab->tnum; @@ -100246,10 +103586,6 @@ SQLITE_PRIVATE void sqlite3EndTable( pParse->nTab = 2; addrTop = sqlite3VdbeCurrentAddr(v) + 1; sqlite3VdbeAddOp3(v, OP_InitCoroutine, regYield, 0, addrTop); - sqlite3SelectDestInit(&dest, SRT_Coroutine, regYield); - sqlite3Select(pParse, pSelect, &dest); - sqlite3VdbeEndCoroutine(v, regYield); - sqlite3VdbeJumpHere(v, addrTop - 1); if( pParse->nErr ) return; pSelTab = sqlite3ResultSetOfSelect(pParse, pSelect); if( pSelTab==0 ) return; @@ -100259,6 +103595,11 @@ SQLITE_PRIVATE void sqlite3EndTable( pSelTab->nCol = 0; pSelTab->aCol = 0; sqlite3DeleteTable(db, pSelTab); + sqlite3SelectDestInit(&dest, SRT_Coroutine, regYield); + sqlite3Select(pParse, pSelect, &dest); + if( pParse->nErr ) return; + sqlite3VdbeEndCoroutine(v, regYield); + sqlite3VdbeJumpHere(v, addrTop - 1); addrInsLoop = sqlite3VdbeAddOp1(v, OP_Yield, dest.iSDParm); VdbeCoverage(v); sqlite3VdbeAddOp3(v, OP_MakeRecord, dest.iSdst, dest.nSdst, regRec); @@ -100290,7 +103631,7 @@ SQLITE_PRIVATE void sqlite3EndTable( "UPDATE %Q.%s " "SET type='%s', name=%Q, tbl_name=%Q, rootpage=#%d, sql=%Q " "WHERE rowid=#%d", - db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), + db->aDb[iDb].zDbSName, MASTER_NAME, zType, p->zName, p->zName, @@ -100336,7 +103677,7 @@ SQLITE_PRIVATE void sqlite3EndTable( return; } pParse->pNewTable = 0; - db->flags |= SQLITE_InternChanges; + db->mDbFlags |= DBFLAG_SchemaChange; #ifndef SQLITE_OMIT_ALTERTABLE if( !p->pSelect ){ @@ -100401,7 +103742,7 @@ SQLITE_PRIVATE void sqlite3CreateView( ** the end. */ sEnd = pParse->sLastToken; - assert( sEnd.z[0]!=0 ); + assert( sEnd.z[0]!=0 || sEnd.n==0 ); if( sEnd.z[0]!=';' ){ sEnd.z += sEnd.n; } @@ -100435,6 +103776,9 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ int nErr = 0; /* Number of errors encountered */ int n; /* Temporarily holds the number of cursors assigned */ sqlite3 *db = pParse->db; /* Database connection for malloc errors */ +#ifndef SQLITE_OMIT_VIRTUALTABLE + int rc; +#endif #ifndef SQLITE_OMIT_AUTHORIZATION sqlite3_xauth xAuth; /* Saved xAuth pointer */ #endif @@ -100442,8 +103786,11 @@ SQLITE_PRIVATE int sqlite3ViewGetColumnNames(Parse *pParse, Table *pTable){ assert( pTable ); #ifndef SQLITE_OMIT_VIRTUALTABLE - if( sqlite3VtabCallConnect(pParse, pTable) ){ - return SQLITE_ERROR; + db->nSchemaLock++; + rc = sqlite3VtabCallConnect(pParse, pTable); + db->nSchemaLock--; + if( rc ){ + return 1; } if( IsVirtual(pTable) ) return 0; #endif @@ -100627,7 +103974,7 @@ static void destroyRootPage(Parse *pParse, int iTable, int iDb){ */ sqlite3NestedParse(pParse, "UPDATE %Q.%s SET rootpage=%d WHERE #%d AND rootpage=#%d", - pParse->db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), iTable, r1, r1); + pParse->db->aDb[iDb].zDbSName, MASTER_NAME, iTable, r1, r1); #endif sqlite3ReleaseTempReg(pParse, r1); } @@ -100639,14 +103986,6 @@ static void destroyRootPage(Parse *pParse, int iTable, int iDb){ ** is also added (this can happen with an auto-vacuum database). */ static void destroyTable(Parse *pParse, Table *pTab){ -#ifdef SQLITE_OMIT_AUTOVACUUM - Index *pIdx; - int iDb = sqlite3SchemaToIndex(pParse->db, pTab->pSchema); - destroyRootPage(pParse, pTab->tnum, iDb); - for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ - destroyRootPage(pParse, pIdx->tnum, iDb); - } -#else /* If the database may be auto-vacuum capable (if SQLITE_OMIT_AUTOVACUUM ** is not defined), then it is important to call OP_Destroy on the ** table and index root-pages in order, starting with the numerically @@ -100689,7 +104028,6 @@ static void destroyTable(Parse *pParse, Table *pTab){ iDestroyed = iLargest; } } -#endif } /* @@ -100770,7 +104108,7 @@ SQLITE_PRIVATE void sqlite3CodeDropTable(Parse *pParse, Table *pTab, int iDb, in */ sqlite3NestedParse(pParse, "DELETE FROM %Q.%s WHERE tbl_name=%Q and type!='trigger'", - pDb->zDbSName, SCHEMA_TABLE(iDb), pTab->zName); + pDb->zDbSName, MASTER_NAME, pTab->zName); if( !isView && !IsVirtual(pTab) ){ destroyTable(pParse, pTab); } @@ -101116,8 +104454,8 @@ static void sqlite3RefillIndex(Parse *pParse, Index *pIndex, int memRootPage){ addr2 = sqlite3VdbeCurrentAddr(v); } sqlite3VdbeAddOp3(v, OP_SorterData, iSorter, regRecord, iIdx); - sqlite3VdbeAddOp3(v, OP_Last, iIdx, 0, -1); - sqlite3VdbeAddOp3(v, OP_IdxInsert, iIdx, regRecord, 0); + sqlite3VdbeAddOp1(v, OP_SeekEnd, iIdx); + sqlite3VdbeAddOp2(v, OP_IdxInsert, iIdx, regRecord); sqlite3VdbeChangeP5(v, OPFLAG_USESEEKRESULT); sqlite3ReleaseTempReg(pParse, regRecord); sqlite3VdbeAddOp2(v, OP_SorterNext, iSorter, addr2); VdbeCoverage(v); @@ -101605,7 +104943,7 @@ SQLITE_PRIVATE void sqlite3CreateIndex( sqlite3OomFault(db); goto exit_create_index; } - db->flags |= SQLITE_InternChanges; + db->mDbFlags |= DBFLAG_SchemaChange; if( pTblName!=0 ){ pIndex->tnum = db->init.newTnum; } @@ -101641,7 +104979,7 @@ SQLITE_PRIVATE void sqlite3CreateIndex( ** that case the convertToWithoutRowidTable() routine will replace ** the Noop with a Goto to jump over the VDBE code generated below. */ pIndex->tnum = sqlite3VdbeAddOp0(v, OP_Noop); - sqlite3VdbeAddOp2(v, OP_CreateIndex, iDb, iMem); + sqlite3VdbeAddOp3(v, OP_CreateBtree, iDb, iMem, BTREE_BLOBKEY); /* Gather the complete text of the CREATE INDEX statement into ** the zStmt variable @@ -101662,7 +105000,7 @@ SQLITE_PRIVATE void sqlite3CreateIndex( */ sqlite3NestedParse(pParse, "INSERT INTO %Q.%s VALUES('index',%Q,%Q,#%d,%Q);", - db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), + db->aDb[iDb].zDbSName, MASTER_NAME, pIndex->zName, pTab->zName, iMem, @@ -101740,6 +105078,9 @@ SQLITE_PRIVATE void sqlite3DefaultRowEst(Index *pIdx){ int nCopy = MIN(ArraySize(aVal), pIdx->nKeyCol); int i; + /* Indexes with default row estimates should not have stat1 data */ + assert( !pIdx->hasStat1 ); + /* Set the first entry (number of rows in the index) to the estimated ** number of rows in the table, or half the number of rows in the table ** for a partial index. But do not let the estimate drop below 10. */ @@ -101814,7 +105155,7 @@ SQLITE_PRIVATE void sqlite3DropIndex(Parse *pParse, SrcList *pName, int ifExists sqlite3BeginWriteOperation(pParse, 1, iDb); sqlite3NestedParse(pParse, "DELETE FROM %Q.%s WHERE name=%Q AND type='index'", - db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), pIndex->zName + db->aDb[iDb].zDbSName, MASTER_NAME, pIndex->zName ); sqlite3ClearStatTables(pParse, iDb, "idx", pIndex->zName); sqlite3ChangeCookie(pParse, iDb); @@ -101905,7 +105246,7 @@ SQLITE_PRIVATE void sqlite3IdListDelete(sqlite3 *db, IdList *pList){ sqlite3DbFree(db, pList->a[i].zName); } sqlite3DbFree(db, pList->a); - sqlite3DbFree(db, pList); + sqlite3DbFreeNN(db, pList); } /* @@ -101957,7 +105298,7 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListEnlarge( /* Allocate additional space if needed */ if( (u32)pSrc->nSrc+nExtra>pSrc->nAlloc ){ SrcList *pNew; - int nAlloc = pSrc->nSrc+nExtra; + int nAlloc = pSrc->nSrc*2+nExtra; int nGot; pNew = sqlite3DbRealloc(db, pSrc, sizeof(*pSrc) + (nAlloc-1)*sizeof(pSrc->a[0]) ); @@ -102035,9 +105376,12 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListAppend( pList = sqlite3DbMallocRawNN(db, sizeof(SrcList) ); if( pList==0 ) return 0; pList->nAlloc = 1; - pList->nSrc = 0; + pList->nSrc = 1; + memset(&pList->a[0], 0, sizeof(pList->a[0])); + pList->a[0].iCursor = -1; + }else{ + pList = sqlite3SrcListEnlarge(db, pList, 1, pList->nSrc); } - pList = sqlite3SrcListEnlarge(db, pList, 1, pList->nSrc); if( db->mallocFailed ){ sqlite3SrcListDelete(db, pList); return 0; @@ -102047,12 +105391,12 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListAppend( pDatabase = 0; } if( pDatabase ){ - Token *pTemp = pDatabase; - pDatabase = pTable; - pTable = pTemp; + pItem->zName = sqlite3NameFromToken(db, pDatabase); + pItem->zDatabase = sqlite3NameFromToken(db, pTable); + }else{ + pItem->zName = sqlite3NameFromToken(db, pTable); + pItem->zDatabase = 0; } - pItem->zName = sqlite3NameFromToken(db, pTable); - pItem->zDatabase = sqlite3NameFromToken(db, pDatabase); return pList; } @@ -102092,7 +105436,7 @@ SQLITE_PRIVATE void sqlite3SrcListDelete(sqlite3 *db, SrcList *pList){ sqlite3ExprDelete(db, pItem->pOn); sqlite3IdListDelete(db, pItem->pUsing); } - sqlite3DbFree(db, pList); + sqlite3DbFreeNN(db, pList); } /* @@ -102130,9 +105474,10 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListAppendFromTerm( goto append_from_error; } p = sqlite3SrcListAppend(db, p, pTable, pDatabase); - if( p==0 || NEVER(p->nSrc==0) ){ + if( p==0 ){ goto append_from_error; } + assert( p->nSrc>0 ); pItem = &p->a[p->nSrc-1]; assert( pAlias!=0 ); if( pAlias->n ){ @@ -102157,8 +105502,10 @@ SQLITE_PRIVATE SrcList *sqlite3SrcListAppendFromTerm( */ SQLITE_PRIVATE void sqlite3SrcListIndexedBy(Parse *pParse, SrcList *p, Token *pIndexedBy){ assert( pIndexedBy!=0 ); - if( p && ALWAYS(p->nSrc>0) ){ - struct SrcList_item *pItem = &p->a[p->nSrc-1]; + if( p && pIndexedBy->n>0 ){ + struct SrcList_item *pItem; + assert( p->nSrc>0 ); + pItem = &p->a[p->nSrc-1]; assert( pItem->fg.notIndexed==0 ); assert( pItem->fg.isIndexedBy==0 ); assert( pItem->fg.isTabFunc==0 ); @@ -102168,7 +105515,7 @@ SQLITE_PRIVATE void sqlite3SrcListIndexedBy(Parse *pParse, SrcList *p, Token *pI pItem->fg.notIndexed = 1; }else{ pItem->u1.zIndexedBy = sqlite3NameFromToken(pParse->db, pIndexedBy); - pItem->fg.isIndexedBy = (pItem->u1.zIndexedBy!=0); + pItem->fg.isIndexedBy = 1; } } } @@ -102241,36 +105588,25 @@ SQLITE_PRIVATE void sqlite3BeginTransaction(Parse *pParse, int type){ } /* -** Generate VDBE code for a COMMIT statement. -*/ -SQLITE_PRIVATE void sqlite3CommitTransaction(Parse *pParse){ - Vdbe *v; - - assert( pParse!=0 ); - assert( pParse->db!=0 ); - if( sqlite3AuthCheck(pParse, SQLITE_TRANSACTION, "COMMIT", 0, 0) ){ - return; - } - v = sqlite3GetVdbe(pParse); - if( v ){ - sqlite3VdbeAddOp1(v, OP_AutoCommit, 1); - } -} - -/* -** Generate VDBE code for a ROLLBACK statement. +** Generate VDBE code for a COMMIT or ROLLBACK statement. +** Code for ROLLBACK is generated if eType==TK_ROLLBACK. Otherwise +** code is generated for a COMMIT. */ -SQLITE_PRIVATE void sqlite3RollbackTransaction(Parse *pParse){ +SQLITE_PRIVATE void sqlite3EndTransaction(Parse *pParse, int eType){ Vdbe *v; + int isRollback; assert( pParse!=0 ); assert( pParse->db!=0 ); - if( sqlite3AuthCheck(pParse, SQLITE_TRANSACTION, "ROLLBACK", 0, 0) ){ + assert( eType==TK_COMMIT || eType==TK_END || eType==TK_ROLLBACK ); + isRollback = eType==TK_ROLLBACK; + if( sqlite3AuthCheck(pParse, SQLITE_TRANSACTION, + isRollback ? "ROLLBACK" : "COMMIT", 0, 0) ){ return; } v = sqlite3GetVdbe(pParse); if( v ){ - sqlite3VdbeAddOp2(v, OP_AutoCommit, 1, 1); + sqlite3VdbeAddOp2(v, OP_AutoCommit, 1, isRollback); } } @@ -102460,7 +105796,9 @@ SQLITE_PRIVATE void sqlite3UniqueConstraint( assert( pIdx->aiColumn[j]>=0 ); zCol = pTab->aCol[pIdx->aiColumn[j]].zName; if( j ) sqlite3StrAccumAppend(&errMsg, ", ", 2); - sqlite3XPrintf(&errMsg, "%s.%s", pTab->zName, zCol); + sqlite3StrAccumAppendAll(&errMsg, pTab->zName); + sqlite3StrAccumAppend(&errMsg, ".", 1); + sqlite3StrAccumAppendAll(&errMsg, zCol); } } zErr = sqlite3StrAccumFinish(&errMsg); @@ -102648,6 +105986,18 @@ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoOfIndex(Parse *pParse, Index *pIdx){ pKey->aSortOrder[i] = pIdx->aSortOrder[i]; } if( pParse->nErr ){ + assert( pParse->rc==SQLITE_ERROR_MISSING_COLLSEQ ); + if( pIdx->bNoQuery==0 ){ + /* Deactivate the index because it contains an unknown collating + ** sequence. The only way to reactive the index is to reload the + ** schema. Adding the missing collating sequence later does not + ** reactive the index. The application had the chance to register + ** the missing index using the collation-needed callback. For + ** simplicity, SQLite will not give the application a second chance. + */ + pIdx->bNoQuery = 1; + pParse->rc = SQLITE_ERROR_RETRY; + } sqlite3KeyInfoUnref(pKey); pKey = 0; } @@ -102833,6 +106183,7 @@ SQLITE_PRIVATE CollSeq *sqlite3GetCollSeq( assert( !p || p->xCmp ); if( p==0 ){ sqlite3ErrorMsg(pParse, "no such collation sequence: %s", zName); + pParse->rc = SQLITE_ERROR_MISSING_COLLSEQ; } return p; } @@ -102849,7 +106200,7 @@ SQLITE_PRIVATE CollSeq *sqlite3GetCollSeq( ** from the main database is substituted, if one is available. */ SQLITE_PRIVATE int sqlite3CheckCollSeq(Parse *pParse, CollSeq *pColl){ - if( pColl ){ + if( pColl && pColl->xCmp==0 ){ const char *zName = pColl->zName; sqlite3 *db = pParse->db; CollSeq *p = sqlite3GetCollSeq(pParse, ENC(db), pColl, zName); @@ -102885,8 +106236,8 @@ static CollSeq *findCollSeqEntry( pColl = sqlite3HashFind(&db->aCollSeq, zName); if( 0==pColl && create ){ - int nName = sqlite3Strlen30(zName); - pColl = sqlite3DbMallocZero(db, 3*sizeof(*pColl) + nName + 1); + int nName = sqlite3Strlen30(zName) + 1; + pColl = sqlite3DbMallocZero(db, 3*sizeof(*pColl) + nName); if( pColl ){ CollSeq *pDel = 0; pColl[0].zName = (char*)&pColl[3]; @@ -102896,7 +106247,6 @@ static CollSeq *findCollSeqEntry( pColl[2].zName = (char*)&pColl[3]; pColl[2].enc = SQLITE_UTF16BE; memcpy(pColl[0].zName, zName, nName); - pColl[0].zName[nName] = 0; pDel = sqlite3HashInsert(&db->aCollSeq, pColl[0].zName, pColl); /* If a malloc() failure occurred in sqlite3HashInsert(), it will @@ -103036,7 +106386,8 @@ SQLITE_PRIVATE void sqlite3InsertBuiltinFuncs( FuncDef *pOther; const char *zName = aDef[i].zName; int nName = sqlite3Strlen30(zName); - int h = (sqlite3UpperToLower[(u8)zName[0]] + nName) % SQLITE_FUNC_HASH_SZ; + int h = (zName[0] + nName) % SQLITE_FUNC_HASH_SZ; + assert( zName[0]>='a' && zName[0]<='z' ); pOther = functionSearch(h, zName); if( pOther ){ assert( pOther!=&aDef[i] && pOther->pNext!=&aDef[i] ); @@ -103102,7 +106453,7 @@ SQLITE_PRIVATE FuncDef *sqlite3FindFunction( /* If no match is found, search the built-in functions. ** - ** If the SQLITE_PreferBuiltin flag is set, then search the built-in + ** If the DBFLAG_PreferBuiltin flag is set, then search the built-in ** functions even if a prior app-defined function was found. And give ** priority to built-in functions. ** @@ -103112,7 +106463,7 @@ SQLITE_PRIVATE FuncDef *sqlite3FindFunction( ** new function. But the FuncDefs for built-in functions are read-only. ** So we must not search for built-ins when creating a new function. */ - if( !createFlag && (pBest==0 || (db->flags & SQLITE_PreferBuiltin)!=0) ){ + if( !createFlag && (pBest==0 || (db->mDbFlags & DBFLAG_PreferBuiltin)!=0) ){ bestScore = 0; h = (sqlite3UpperToLower[(u8)zName[0]] + nName) % SQLITE_FUNC_HASH_SZ; p = functionSearch(h, zName); @@ -103185,8 +106536,8 @@ SQLITE_PRIVATE void sqlite3SchemaClear(void *p){ pSchema->pSeqTab = 0; if( pSchema->schemaFlags & DB_SchemaLoaded ){ pSchema->iGeneration++; - pSchema->schemaFlags &= ~DB_SchemaLoaded; } + pSchema->schemaFlags &= ~(DB_SchemaLoaded|DB_ResetWanted); } /* @@ -103252,7 +106603,7 @@ SQLITE_PRIVATE Table *sqlite3SrcListLookup(Parse *pParse, SrcList *pSrc){ sqlite3DeleteTable(pParse->db, pItem->pTab); pItem->pTab = pTab; if( pTab ){ - pTab->nRef++; + pTab->nTabRef++; } if( sqlite3IndexedByLookup(pParse, pItem) ){ pTab = 0; @@ -103306,6 +106657,8 @@ SQLITE_PRIVATE void sqlite3MaterializeView( Parse *pParse, /* Parsing context */ Table *pView, /* View definition */ Expr *pWhere, /* Optional WHERE clause to be added */ + ExprList *pOrderBy, /* Optional ORDER BY clause */ + Expr *pLimit, /* Optional LIMIT clause */ int iCur /* Cursor number for ephemeral table */ ){ SelectDest dest; @@ -103322,8 +106675,8 @@ SQLITE_PRIVATE void sqlite3MaterializeView( assert( pFrom->a[0].pOn==0 ); assert( pFrom->a[0].pUsing==0 ); } - pSel = sqlite3SelectNew(pParse, 0, pFrom, pWhere, 0, 0, 0, - SF_IncludeHidden, 0, 0); + pSel = sqlite3SelectNew(pParse, 0, pFrom, pWhere, 0, 0, pOrderBy, + SF_IncludeHidden, pLimit); sqlite3SelectDestInit(&dest, SRT_EphemTab, iCur); sqlite3Select(pParse, pSel, &dest); sqlite3SelectDelete(db, pSel); @@ -103345,29 +106698,29 @@ SQLITE_PRIVATE Expr *sqlite3LimitWhere( Expr *pWhere, /* The WHERE clause. May be null */ ExprList *pOrderBy, /* The ORDER BY clause. May be null */ Expr *pLimit, /* The LIMIT clause. May be null */ - Expr *pOffset, /* The OFFSET clause. May be null */ char *zStmtType /* Either DELETE or UPDATE. For err msgs. */ ){ - Expr *pWhereRowid = NULL; /* WHERE rowid .. */ + sqlite3 *db = pParse->db; + Expr *pLhs = NULL; /* LHS of IN(SELECT...) operator */ Expr *pInClause = NULL; /* WHERE rowid IN ( select ) */ - Expr *pSelectRowid = NULL; /* SELECT rowid ... */ ExprList *pEList = NULL; /* Expression list contaning only pSelectRowid */ SrcList *pSelectSrc = NULL; /* SELECT rowid FROM x ... (dup of pSrc) */ Select *pSelect = NULL; /* Complete SELECT tree */ + Table *pTab; /* Check that there isn't an ORDER BY without a LIMIT clause. */ - if( pOrderBy && (pLimit == 0) ) { + if( pOrderBy && pLimit==0 ) { sqlite3ErrorMsg(pParse, "ORDER BY without LIMIT on %s", zStmtType); - goto limit_where_cleanup; + sqlite3ExprDelete(pParse->db, pWhere); + sqlite3ExprListDelete(pParse->db, pOrderBy); + return 0; } /* We only need to generate a select expression if there ** is a limit/offset term to enforce. */ if( pLimit == 0 ) { - /* if pLimit is null, pOffset will always be null as well. */ - assert( pOffset == 0 ); return pWhere; } @@ -103380,36 +106733,47 @@ SQLITE_PRIVATE Expr *sqlite3LimitWhere( ** ); */ - pSelectRowid = sqlite3PExpr(pParse, TK_ROW, 0, 0, 0); - if( pSelectRowid == 0 ) goto limit_where_cleanup; - pEList = sqlite3ExprListAppend(pParse, 0, pSelectRowid); - if( pEList == 0 ) goto limit_where_cleanup; + pTab = pSrc->a[0].pTab; + if( HasRowid(pTab) ){ + pLhs = sqlite3PExpr(pParse, TK_ROW, 0, 0); + pEList = sqlite3ExprListAppend( + pParse, 0, sqlite3PExpr(pParse, TK_ROW, 0, 0) + ); + }else{ + Index *pPk = sqlite3PrimaryKeyIndex(pTab); + if( pPk->nKeyCol==1 ){ + const char *zName = pTab->aCol[pPk->aiColumn[0]].zName; + pLhs = sqlite3Expr(db, TK_ID, zName); + pEList = sqlite3ExprListAppend(pParse, 0, sqlite3Expr(db, TK_ID, zName)); + }else{ + int i; + for(i=0; inKeyCol; i++){ + Expr *p = sqlite3Expr(db, TK_ID, pTab->aCol[pPk->aiColumn[i]].zName); + pEList = sqlite3ExprListAppend(pParse, pEList, p); + } + pLhs = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); + if( pLhs ){ + pLhs->x.pList = sqlite3ExprListDup(db, pEList, 0); + } + } + } /* duplicate the FROM clause as it is needed by both the DELETE/UPDATE tree ** and the SELECT subtree. */ + pSrc->a[0].pTab = 0; pSelectSrc = sqlite3SrcListDup(pParse->db, pSrc, 0); - if( pSelectSrc == 0 ) { - sqlite3ExprListDelete(pParse->db, pEList); - goto limit_where_cleanup; - } + pSrc->a[0].pTab = pTab; + pSrc->a[0].pIBIndex = 0; /* generate the SELECT expression tree. */ - pSelect = sqlite3SelectNew(pParse,pEList,pSelectSrc,pWhere,0,0, - pOrderBy,0,pLimit,pOffset); - if( pSelect == 0 ) return 0; + pSelect = sqlite3SelectNew(pParse, pEList, pSelectSrc, pWhere, 0 ,0, + pOrderBy,0,pLimit + ); /* now generate the new WHERE rowid IN clause for the DELETE/UDPATE */ - pWhereRowid = sqlite3PExpr(pParse, TK_ROW, 0, 0, 0); - pInClause = pWhereRowid ? sqlite3PExpr(pParse, TK_IN, pWhereRowid, 0, 0) : 0; + pInClause = sqlite3PExpr(pParse, TK_IN, pLhs, 0); sqlite3PExprAddSelect(pParse, pInClause, pSelect); return pInClause; - -limit_where_cleanup: - sqlite3ExprDelete(pParse->db, pWhere); - sqlite3ExprListDelete(pParse->db, pOrderBy); - sqlite3ExprDelete(pParse->db, pLimit); - sqlite3ExprDelete(pParse->db, pOffset); - return 0; } #endif /* defined(SQLITE_ENABLE_UPDATE_DELETE_LIMIT) */ /* && !defined(SQLITE_OMIT_SUBQUERY) */ @@ -103424,7 +106788,9 @@ SQLITE_PRIVATE Expr *sqlite3LimitWhere( SQLITE_PRIVATE void sqlite3DeleteFrom( Parse *pParse, /* The parser context */ SrcList *pTabList, /* The table from which we should delete things */ - Expr *pWhere /* The WHERE clause. May be null */ + Expr *pWhere, /* The WHERE clause. May be null */ + ExprList *pOrderBy, /* ORDER BY clause. May be null */ + Expr *pLimit /* LIMIT clause. May be null */ ){ Vdbe *v; /* The virtual database engine */ Table *pTab; /* The table from which records will be deleted */ @@ -103469,6 +106835,7 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( } assert( pTabList->nSrc==1 ); + /* Locate the table which we want to delete. This table has to be ** put in an SrcList structure because some of the subroutines we ** will be calling are designed to work with multiple tables and expect @@ -103483,16 +106850,26 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( #ifndef SQLITE_OMIT_TRIGGER pTrigger = sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0); isView = pTab->pSelect!=0; - bComplex = pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0); #else # define pTrigger 0 # define isView 0 #endif + bComplex = pTrigger || sqlite3FkRequired(pParse, pTab, 0, 0); #ifdef SQLITE_OMIT_VIEW # undef isView # define isView 0 #endif +#ifdef SQLITE_ENABLE_UPDATE_DELETE_LIMIT + if( !isView ){ + pWhere = sqlite3LimitWhere( + pParse, pTabList, pWhere, pOrderBy, pLimit, "DELETE" + ); + pOrderBy = 0; + pLimit = 0; + } +#endif + /* If pTab is really a view, make sure it has been initialized. */ if( sqlite3ViewGetColumnNames(pParse, pTab) ){ @@ -103540,8 +106917,12 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( */ #if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER) if( isView ){ - sqlite3MaterializeView(pParse, pTab, pWhere, iTabCur); + sqlite3MaterializeView(pParse, pTab, + pWhere, pOrderBy, pLimit, iTabCur + ); iDataCur = iIdxCur = iTabCur; + pOrderBy = 0; + pLimit = 0; } #endif @@ -103566,7 +106947,14 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( /* Special case: A DELETE without a WHERE clause deletes everything. ** It is easier just to erase the whole table. Prior to version 3.6.5, ** this optimization caused the row change count (the value returned by - ** API function sqlite3_count_changes) to be set incorrectly. */ + ** API function sqlite3_count_changes) to be set incorrectly. + ** + ** The "rcauth==SQLITE_OK" terms is the + ** IMPLEMENTATION-OF: R-17228-37124 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. + */ if( rcauth==SQLITE_OK && pWhere==0 && !bComplex @@ -103665,10 +107053,10 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( nKey = 0; /* Zero tells OP_Found to use a composite key */ sqlite3VdbeAddOp4(v, OP_MakeRecord, iPk, nPk, iKey, sqlite3IndexAffinityStr(pParse->db, pPk), nPk); - sqlite3VdbeAddOp2(v, OP_IdxInsert, iEphCur, iKey); + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iEphCur, iKey, iPk, nPk); }else{ /* Add the rowid of the row to be deleted to the RowSet */ - nKey = 1; /* OP_Seek always uses a single rowid */ + nKey = 1; /* OP_DeferredSeek always uses a single rowid */ sqlite3VdbeAddOp2(v, OP_RowSetAdd, iRowSet, iKey); } } @@ -103711,7 +107099,11 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( } }else if( pPk ){ addrLoop = sqlite3VdbeAddOp1(v, OP_Rewind, iEphCur); VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_RowKey, iEphCur, iKey); + if( IsVirtual(pTab) ){ + sqlite3VdbeAddOp3(v, OP_Column, iEphCur, 0, iKey); + }else{ + sqlite3VdbeAddOp2(v, OP_RowData, iEphCur, iKey); + } assert( nKey==0 ); /* OP_Found will use a composite key */ }else{ addrLoop = sqlite3VdbeAddOp3(v, OP_RowSetRead, iRowSet, 0, iKey); @@ -103735,12 +107127,8 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( #endif { int count = (pParse->nested==0); /* True to count changes */ - int iIdxNoSeek = -1; - if( bComplex==0 && aiCurOnePass[1]!=iDataCur ){ - iIdxNoSeek = aiCurOnePass[1]; - } sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur, - iKey, nKey, count, OE_Default, eOnePass, iIdxNoSeek); + iKey, nKey, count, OE_Default, eOnePass, aiCurOnePass[1]); } /* End of the loop over all rowids/primary-keys. */ @@ -103754,14 +107142,6 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( sqlite3VdbeGoto(v, addrLoop); sqlite3VdbeJumpHere(v, addrLoop); } - - /* Close the cursors open on the table and its indexes. */ - if( !isView && !IsVirtual(pTab) ){ - if( !pPk ) sqlite3VdbeAddOp1(v, OP_Close, iDataCur); - for(i=0, pIdx=pTab->pIndex; pIdx; i++, pIdx=pIdx->pNext){ - sqlite3VdbeAddOp1(v, OP_Close, iIdxCur + i); - } - } } /* End non-truncate path */ /* Update the sqlite_sequence table by storing the content of the @@ -103786,6 +107166,10 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( sqlite3AuthContextPop(&sContext); sqlite3SrcListDelete(db, pTabList); sqlite3ExprDelete(db, pWhere); +#if defined(SQLITE_ENABLE_UPDATE_DELETE_LIMIT) + sqlite3ExprListDelete(db, pOrderBy); + sqlite3ExprDelete(db, pLimit); +#endif sqlite3DbFree(db, aToOpen); return; } @@ -103828,15 +107212,17 @@ SQLITE_PRIVATE void sqlite3DeleteFrom( ** ** If eMode is ONEPASS_MULTI, then this call is being made as part ** of a ONEPASS delete that affects multiple rows. In this case, if -** iIdxNoSeek is a valid cursor number (>=0), then its position should -** be preserved following the delete operation. Or, if iIdxNoSeek is not -** a valid cursor number, the position of iDataCur should be preserved -** instead. +** iIdxNoSeek is a valid cursor number (>=0) and is not the same as +** iDataCur, then its position should be preserved following the delete +** operation. Or, if iIdxNoSeek is not a valid cursor number, the +** position of iDataCur should be preserved instead. ** ** iIdxNoSeek: -** If iIdxNoSeek is a valid cursor number (>=0), then it identifies an -** index cursor (from within array of cursors starting at iIdxCur) that -** already points to the index entry to be deleted. +** If iIdxNoSeek is a valid cursor number (>=0) not equal to iDataCur, +** then it identifies an index cursor (from within array of cursors +** starting at iIdxCur) that already points to the index entry to be deleted. +** Except, this optimization is disabled if there are BEFORE triggers since +** the trigger body might have moved the cursor. */ SQLITE_PRIVATE void sqlite3GenerateRowDelete( Parse *pParse, /* Parsing context */ @@ -103907,13 +107293,18 @@ SQLITE_PRIVATE void sqlite3GenerateRowDelete( /* If any BEFORE triggers were coded, then seek the cursor to the ** row to be deleted again. It may be that the BEFORE triggers moved - ** the cursor or of already deleted the row that the cursor was + ** the cursor or already deleted the row that the cursor was ** pointing to. + ** + ** Also disable the iIdxNoSeek optimization since the BEFORE trigger + ** may have moved that cursor. */ if( addrStart=0 ); + iIdxNoSeek = -1; } /* Do FK processing. This call checks that any FK constraints that @@ -103936,11 +107327,13 @@ SQLITE_PRIVATE void sqlite3GenerateRowDelete( u8 p5 = 0; sqlite3GenerateRowIndexDelete(pParse, pTab, iDataCur, iIdxCur,0,iIdxNoSeek); sqlite3VdbeAddOp2(v, OP_Delete, iDataCur, (count?OPFLAG_NCHANGE:0)); - sqlite3VdbeChangeP4(v, -1, (char*)pTab, P4_TABLE); + if( pParse->nested==0 || 0==sqlite3_stricmp(pTab->zName, "sqlite_stat1") ){ + sqlite3VdbeAppendP4(v, (char*)pTab, P4_TABLE); + } if( eMode!=ONEPASS_OFF ){ sqlite3VdbeChangeP5(v, OPFLAG_AUXDELETE); } - if( iIdxNoSeek>=0 ){ + if( iIdxNoSeek>=0 && iIdxNoSeek!=iDataCur ){ sqlite3VdbeAddOp1(v, OP_Delete, iIdxNoSeek); } if( eMode==ONEPASS_MULTI ) p5 |= OPFLAG_SAVEPOSITION; @@ -104064,10 +107457,11 @@ SQLITE_PRIVATE int sqlite3GenerateIndexKey( if( piPartIdxLabel ){ if( pIdx->pPartIdxWhere ){ *piPartIdxLabel = sqlite3VdbeMakeLabel(v); - pParse->iSelfTab = iDataCur; + pParse->iSelfTab = iDataCur + 1; sqlite3ExprCachePush(pParse); sqlite3ExprIfFalseDup(pParse, pIdx->pPartIdxWhere, *piPartIdxLabel, SQLITE_JUMPIFNULL); + pParse->iSelfTab = 0; }else{ *piPartIdxLabel = 0; } @@ -104094,6 +107488,10 @@ SQLITE_PRIVATE int sqlite3GenerateIndexKey( } if( regOut ){ sqlite3VdbeAddOp3(v, OP_MakeRecord, regBase, nCol, regOut); + if( pIdx->pTable->pSelect ){ + const char *zAff = sqlite3IndexAffinityStr(pParse->db, pIdx); + sqlite3VdbeChangeP4(v, -1, zAff, P4_TRANSIENT); + } } sqlite3ReleaseTempRange(pParse, regBase, nCol); return regBase; @@ -104191,16 +107589,20 @@ static void typeofFunc( int NotUsed, sqlite3_value **argv ){ - const char *z = 0; + static const char *azType[] = { "integer", "real", "text", "blob", "null" }; + int i = sqlite3_value_type(argv[0]) - 1; UNUSED_PARAMETER(NotUsed); - switch( sqlite3_value_type(argv[0]) ){ - case SQLITE_INTEGER: z = "integer"; break; - case SQLITE_TEXT: z = "text"; break; - case SQLITE_FLOAT: z = "real"; break; - case SQLITE_BLOB: z = "blob"; break; - default: z = "null"; break; - } - sqlite3_result_text(context, z, -1, SQLITE_STATIC); + assert( i>=0 && i0 ){ + if( typeHaystack==SQLITE_BLOB && typeNeedle==SQLITE_BLOB ){ + zHaystack = sqlite3_value_blob(argv[0]); + zNeedle = sqlite3_value_blob(argv[1]); + isText = 0; + }else{ + zHaystack = sqlite3_value_text(argv[0]); + zNeedle = sqlite3_value_text(argv[1]); + isText = 1; + } + if( zNeedle==0 || (nHaystack && zHaystack==0) ) return; + while( nNeedle<=nHaystack && memcmp(zHaystack, zNeedle, nNeedle)!=0 ){ + N++; + do{ + nHaystack--; + zHaystack++; + }while( isText && (zHaystack[0]&0xc0)==0x80 ); + } + if( nNeedle>nHaystack ) N = 0; } - if( nNeedle>nHaystack ) N = 0; sqlite3_result_int(context, N); } @@ -104713,9 +108116,19 @@ static const struct compareInfo likeInfoNorm = { '%', '_', 0, 1 }; static const struct compareInfo likeInfoAlt = { '%', '_', 0, 0 }; /* -** Compare two UTF-8 strings for equality where the first string can -** potentially be a "glob" or "like" expression. Return true (1) if they -** are the same and false (0) if they are different. +** Possible error returns from patternMatch() +*/ +#define SQLITE_MATCH 0 +#define SQLITE_NOMATCH 1 +#define SQLITE_NOWILDCARDMATCH 2 + +/* +** Compare two UTF-8 strings for equality where the first string is +** a GLOB or LIKE expression. Return values: +** +** SQLITE_MATCH: Match +** SQLITE_NOMATCH: No match +** SQLITE_NOWILDCARDMATCH: No match in spite of having * or % wildcards. ** ** Globbing rules: ** @@ -104766,30 +108179,31 @@ static int patternCompare( ** single character of the input string for each "?" skipped */ while( (c=Utf8Read(zPattern)) == matchAll || c == matchOne ){ if( c==matchOne && sqlite3Utf8Read(&zString)==0 ){ - return 0; + return SQLITE_NOWILDCARDMATCH; } } if( c==0 ){ - return 1; /* "*" at the end of the pattern matches */ + return SQLITE_MATCH; /* "*" at the end of the pattern matches */ }else if( c==matchOther ){ if( pInfo->matchSet==0 ){ c = sqlite3Utf8Read(&zPattern); - if( c==0 ) return 0; + if( c==0 ) return SQLITE_NOWILDCARDMATCH; }else{ /* "[...]" immediately follows the "*". We have to do a slow ** recursive search in this case, but it is an unusual case. */ assert( matchOther<0x80 ); /* '[' is a single-byte character */ - while( *zString - && patternCompare(&zPattern[-1],zString,pInfo,matchOther)==0 ){ + while( *zString ){ + int bMatch = patternCompare(&zPattern[-1],zString,pInfo,matchOther); + if( bMatch!=SQLITE_NOMATCH ) return bMatch; SQLITE_SKIP_UTF8(zString); } - return *zString!=0; + return SQLITE_NOWILDCARDMATCH; } } /* At this point variable c contains the first character of the ** pattern string past the "*". Search in the input string for the - ** first matching character and recursively contine the match from + ** first matching character and recursively continue the match from ** that point. ** ** For a case-insensitive search, set variable cx to be the same as @@ -104797,36 +108211,44 @@ static int patternCompare( ** c or cx. */ if( c<=0x80 ){ - u32 cx; + char zStop[3]; + int bMatch; if( noCase ){ - cx = sqlite3Toupper(c); - c = sqlite3Tolower(c); + zStop[0] = sqlite3Toupper(c); + zStop[1] = sqlite3Tolower(c); + zStop[2] = 0; }else{ - cx = c; + zStop[0] = c; + zStop[1] = 0; } - while( (c2 = *(zString++))!=0 ){ - if( c2!=c && c2!=cx ) continue; - if( patternCompare(zPattern,zString,pInfo,matchOther) ) return 1; + while(1){ + zString += strcspn((const char*)zString, zStop); + if( zString[0]==0 ) break; + zString++; + bMatch = patternCompare(zPattern,zString,pInfo,matchOther); + if( bMatch!=SQLITE_NOMATCH ) return bMatch; } }else{ + int bMatch; while( (c2 = Utf8Read(zString))!=0 ){ if( c2!=c ) continue; - if( patternCompare(zPattern,zString,pInfo,matchOther) ) return 1; + bMatch = patternCompare(zPattern,zString,pInfo,matchOther); + if( bMatch!=SQLITE_NOMATCH ) return bMatch; } } - return 0; + return SQLITE_NOWILDCARDMATCH; } if( c==matchOther ){ if( pInfo->matchSet==0 ){ c = sqlite3Utf8Read(&zPattern); - if( c==0 ) return 0; + if( c==0 ) return SQLITE_NOMATCH; zEscaped = zPattern; }else{ u32 prior_c = 0; int seen = 0; int invert = 0; c = sqlite3Utf8Read(&zString); - if( c==0 ) return 0; + if( c==0 ) return SQLITE_NOMATCH; c2 = sqlite3Utf8Read(&zPattern); if( c2=='^' ){ invert = 1; @@ -104850,7 +108272,7 @@ static int patternCompare( c2 = sqlite3Utf8Read(&zPattern); } if( c2==0 || (seen ^ invert)==0 ){ - return 0; + return SQLITE_NOMATCH; } continue; } @@ -104861,23 +108283,25 @@ static int patternCompare( continue; } if( c==matchOne && zPattern!=zEscaped && c2!=0 ) continue; - return 0; + return SQLITE_NOMATCH; } - return *zString==0; + return *zString==0 ? SQLITE_MATCH : SQLITE_NOMATCH; } /* -** The sqlite3_strglob() interface. +** The sqlite3_strglob() interface. Return 0 on a match (like strcmp()) and +** non-zero if there is no match. */ SQLITE_API int sqlite3_strglob(const char *zGlobPattern, const char *zString){ - return patternCompare((u8*)zGlobPattern, (u8*)zString, &globInfo, '[')==0; + return patternCompare((u8*)zGlobPattern, (u8*)zString, &globInfo, '['); } /* -** The sqlite3_strlike() interface. +** The sqlite3_strlike() interface. Return 0 on a match and non-zero for +** a miss - like strcmp(). */ SQLITE_API int sqlite3_strlike(const char *zPattern, const char *zStr, unsigned int esc){ - return patternCompare((u8*)zPattern, (u8*)zStr, &likeInfoNorm, esc)==0; + return patternCompare((u8*)zPattern, (u8*)zStr, &likeInfoNorm, esc); } /* @@ -104958,7 +108382,8 @@ static void likeFunc( #ifdef SQLITE_TEST sqlite3_like_count++; #endif - sqlite3_result_int(context, patternCompare(zB, zA, pInfo, escape)); + sqlite3_result_int(context, + patternCompare(zB, zA, pInfo, escape)==SQLITE_MATCH); } } @@ -105729,7 +109154,7 @@ static void groupConcatStep( zSep = ","; nSep = 1; } - if( nSep ) sqlite3StrAccumAppend(pAccum, zSep, nSep); + if( zSep ) sqlite3StrAccumAppend(pAccum, zSep, nSep); } zVal = (char*)sqlite3_value_text(argv[0]); nVal = sqlite3_value_bytes(argv[0]); @@ -105799,9 +109224,14 @@ SQLITE_PRIVATE void sqlite3RegisterLikeFunctions(sqlite3 *db, int caseSensitive) /* ** pExpr points to an expression which implements a function. If ** it is appropriate to apply the LIKE optimization to that function -** then set aWc[0] through aWc[2] to the wildcard characters and -** return TRUE. If the function is not a LIKE-style function then -** return FALSE. +** then set aWc[0] through aWc[2] to the wildcard characters and the +** escape character and then return TRUE. If the function is not a +** LIKE-style function then return FALSE. +** +** The expression "a LIKE b ESCAPE c" is only considered a valid LIKE +** operator if c is a string literal that is exactly one byte in length. +** That one byte is stored in aWc[3]. aWc[3] is set to zero if there is +** no ESCAPE clause. ** ** *pIsNocase is set to true if uppercase and lowercase are equivalent for ** the function (default for LIKE). If the function makes the distinction @@ -105810,17 +109240,26 @@ SQLITE_PRIVATE void sqlite3RegisterLikeFunctions(sqlite3 *db, int caseSensitive) */ SQLITE_PRIVATE int sqlite3IsLikeFunction(sqlite3 *db, Expr *pExpr, int *pIsNocase, char *aWc){ FuncDef *pDef; - if( pExpr->op!=TK_FUNCTION - || !pExpr->x.pList - || pExpr->x.pList->nExpr!=2 - ){ + int nExpr; + if( pExpr->op!=TK_FUNCTION || !pExpr->x.pList ){ return 0; } assert( !ExprHasProperty(pExpr, EP_xIsSelect) ); - pDef = sqlite3FindFunction(db, pExpr->u.zToken, 2, SQLITE_UTF8, 0); + nExpr = pExpr->x.pList->nExpr; + pDef = sqlite3FindFunction(db, pExpr->u.zToken, nExpr, SQLITE_UTF8, 0); if( NEVER(pDef==0) || (pDef->funcFlags & SQLITE_FUNC_LIKE)==0 ){ return 0; } + if( nExpr<3 ){ + aWc[3] = 0; + }else{ + Expr *pEscape = pExpr->x.pList->a[2].pExpr; + char *zEscape; + if( pEscape->op!=TK_STRING ) return 0; + zEscape = pEscape->u.zToken; + if( zEscape[0]==0 || zEscape[1]!=0 ) return 0; + aWc[3] = zEscape[0]; + } /* The memcpy() statement assumes that the wildcard characters are ** the first three statements in the compareInfo structure. The @@ -105870,6 +109309,13 @@ SQLITE_PRIVATE void sqlite3RegisterBuiltinFunctions(void){ FUNCTION2(unlikely, 1, 0, 0, noopFunc, SQLITE_FUNC_UNLIKELY), FUNCTION2(likelihood, 2, 0, 0, noopFunc, SQLITE_FUNC_UNLIKELY), FUNCTION2(likely, 1, 0, 0, noopFunc, SQLITE_FUNC_UNLIKELY), +#ifdef SQLITE_DEBUG + FUNCTION2(affinity, 1, 0, 0, noopFunc, SQLITE_FUNC_AFFINITY), +#endif +#ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC + FUNCTION2(sqlite_offset, 1, 0, 0, noopFunc, SQLITE_FUNC_OFFSET| + SQLITE_FUNC_TYPEOF), +#endif FUNCTION(ltrim, 1, 1, 0, trimFunc ), FUNCTION(ltrim, 2, 1, 0, trimFunc ), FUNCTION(rtrim, 1, 2, 0, trimFunc ), @@ -106192,7 +109638,7 @@ SQLITE_PRIVATE int sqlite3FkLocateIndex( } for(pIdx=pParent->pIndex; pIdx; pIdx=pIdx->pNext){ - if( pIdx->nKeyCol==nCol && IsUniqueIndex(pIdx) ){ + if( pIdx->nKeyCol==nCol && IsUniqueIndex(pIdx) && pIdx->pPartIdxWhere==0 ){ /* pIdx is a UNIQUE index (or a PRIMARY KEY) and has the right number ** of columns. If each indexed column corresponds to a foreign key ** column of pFKey, then this index is a winner. */ @@ -106551,7 +109997,7 @@ static void fkScanChildren( assert( iCol>=0 ); zCol = pFKey->pFrom->aCol[iCol].zName; pRight = sqlite3Expr(db, TK_ID, zCol); - pEq = sqlite3PExpr(pParse, TK_EQ, pLeft, pRight, 0); + pEq = sqlite3PExpr(pParse, TK_EQ, pLeft, pRight); pWhere = sqlite3ExprAnd(db, pWhere, pEq); } @@ -106573,7 +110019,7 @@ static void fkScanChildren( if( HasRowid(pTab) ){ pLeft = exprTableRegister(pParse, pTab, regData, -1); pRight = exprTableColumn(db, pTab, pSrc->a[0].iCursor, -1); - pNe = sqlite3PExpr(pParse, TK_NE, pLeft, pRight, 0); + pNe = sqlite3PExpr(pParse, TK_NE, pLeft, pRight); }else{ Expr *pEq, *pAll = 0; Index *pPk = sqlite3PrimaryKeyIndex(pTab); @@ -106583,10 +110029,10 @@ static void fkScanChildren( assert( iCol>=0 ); pLeft = exprTableRegister(pParse, pTab, regData, iCol); pRight = exprTableColumn(db, pTab, pSrc->a[0].iCursor, iCol); - pEq = sqlite3PExpr(pParse, TK_EQ, pLeft, pRight, 0); + pEq = sqlite3PExpr(pParse, TK_EQ, pLeft, pRight); pAll = sqlite3ExprAnd(db, pAll, pEq); } - pNe = sqlite3PExpr(pParse, TK_NOT, pAll, 0, 0); + pNe = sqlite3PExpr(pParse, TK_NOT, pAll, 0); } pWhere = sqlite3ExprAnd(db, pWhere, pNe); } @@ -106600,10 +110046,12 @@ static void fkScanChildren( /* Create VDBE to loop through the entries in pSrc that match the WHERE ** clause. For each row found, increment either the deferred or immediate ** foreign key constraint counter. */ - pWInfo = sqlite3WhereBegin(pParse, pSrc, pWhere, 0, 0, 0, 0); - sqlite3VdbeAddOp2(v, OP_FkCounter, pFKey->isDeferred, nIncr); - if( pWInfo ){ - sqlite3WhereEnd(pWInfo); + if( pParse->nErr==0 ){ + pWInfo = sqlite3WhereBegin(pParse, pSrc, pWhere, 0, 0, 0, 0); + sqlite3VdbeAddOp2(v, OP_FkCounter, pFKey->isDeferred, nIncr); + if( pWInfo ){ + sqlite3WhereEnd(pWInfo); + } } /* Clean up the WHERE clause constructed above. */ @@ -106690,7 +110138,7 @@ SQLITE_PRIVATE void sqlite3FkDropTable(Parse *pParse, SrcList *pName, Table *pTa } pParse->disableTriggers = 1; - sqlite3DeleteFrom(pParse, sqlite3SrcListDup(db, pName, 0), 0); + sqlite3DeleteFrom(pParse, sqlite3SrcListDup(db, pName, 0), 0, 0, 0); pParse->disableTriggers = 0; /* If the DELETE has generated immediate foreign key constraint @@ -106974,7 +110422,7 @@ SQLITE_PRIVATE void sqlite3FkCheck( struct SrcList_item *pItem = pSrc->a; pItem->pTab = pFKey->pFrom; pItem->zName = pFKey->pFrom->zName; - pItem->pTab->nRef++; + pItem->pTab->nTabRef++; pItem->iCursor = pParse->nTab++; if( regNew!=0 ){ @@ -107054,8 +110502,16 @@ SQLITE_PRIVATE u32 sqlite3FkOldmask( ** UPDATE statement modifies the rowid fields of the table. ** ** If any foreign key processing will be required, this function returns -** true. If there is no foreign key related processing, this function -** returns false. +** non-zero. If there is no foreign key related processing, this function +** returns zero. +** +** For an UPDATE, this function returns 2 if: +** +** * There are any FKs for which pTab is the child and the parent table, or +** * the UPDATE modifies one or more parent keys for which the action is +** not "NO ACTION" (i.e. is CASCADE, SET DEFAULT or SET NULL). +** +** Or, assuming some other foreign key processing is required, 1. */ SQLITE_PRIVATE int sqlite3FkRequired( Parse *pParse, /* Parse context */ @@ -107063,12 +110519,13 @@ SQLITE_PRIVATE int sqlite3FkRequired( int *aChange, /* Non-NULL for UPDATE operations */ int chngRowid /* True for UPDATE that affects rowid */ ){ + int eRet = 0; if( pParse->db->flags&SQLITE_ForeignKeys ){ if( !aChange ){ /* A DELETE operation. Foreign key processing is required if the ** table in question is either the child or parent table for any ** foreign key constraint. */ - return (sqlite3FkReferences(pTab) || pTab->pFKey); + eRet = (sqlite3FkReferences(pTab) || pTab->pFKey); }else{ /* This is an UPDATE. Foreign key processing is only required if the ** operation modifies one or more child or parent key columns. */ @@ -107076,16 +110533,22 @@ SQLITE_PRIVATE int sqlite3FkRequired( /* Check if any child key columns are being modified. */ for(p=pTab->pFKey; p; p=p->pNextFrom){ - if( fkChildIsModified(pTab, p, aChange, chngRowid) ) return 1; + if( 0==sqlite3_stricmp(pTab->zName, p->zTo) ) return 2; + if( fkChildIsModified(pTab, p, aChange, chngRowid) ){ + eRet = 1; + } } /* Check if any parent key columns are being modified. */ for(p=sqlite3FkReferences(pTab); p; p=p->pNextTo){ - if( fkParentIsModified(pTab, p, aChange, chngRowid) ) return 1; + if( fkParentIsModified(pTab, p, aChange, chngRowid) ){ + if( p->aAction[1]!=OE_None ) return 2; + eRet = 1; + } } } } - return 0; + return eRet; } /* @@ -107172,10 +110635,9 @@ static Trigger *fkActionTrigger( pEq = sqlite3PExpr(pParse, TK_EQ, sqlite3PExpr(pParse, TK_DOT, sqlite3ExprAlloc(db, TK_ID, &tOld, 0), - sqlite3ExprAlloc(db, TK_ID, &tToCol, 0) - , 0), + sqlite3ExprAlloc(db, TK_ID, &tToCol, 0)), sqlite3ExprAlloc(db, TK_ID, &tFromCol, 0) - , 0); + ); pWhere = sqlite3ExprAnd(db, pWhere, pEq); /* For ON UPDATE, construct the next term of the WHEN clause. @@ -107187,13 +110649,11 @@ static Trigger *fkActionTrigger( pEq = sqlite3PExpr(pParse, TK_IS, sqlite3PExpr(pParse, TK_DOT, sqlite3ExprAlloc(db, TK_ID, &tOld, 0), - sqlite3ExprAlloc(db, TK_ID, &tToCol, 0), - 0), + sqlite3ExprAlloc(db, TK_ID, &tToCol, 0)), sqlite3PExpr(pParse, TK_DOT, sqlite3ExprAlloc(db, TK_ID, &tNew, 0), - sqlite3ExprAlloc(db, TK_ID, &tToCol, 0), - 0), - 0); + sqlite3ExprAlloc(db, TK_ID, &tToCol, 0)) + ); pWhen = sqlite3ExprAnd(db, pWhen, pEq); } @@ -107202,8 +110662,7 @@ static Trigger *fkActionTrigger( if( action==OE_Cascade ){ pNew = sqlite3PExpr(pParse, TK_DOT, sqlite3ExprAlloc(db, TK_ID, &tNew, 0), - sqlite3ExprAlloc(db, TK_ID, &tToCol, 0) - , 0); + sqlite3ExprAlloc(db, TK_ID, &tToCol, 0)); }else if( action==OE_SetDflt ){ Expr *pDflt = pFKey->pFrom->aCol[iFromCol].pDflt; if( pDflt ){ @@ -107237,7 +110696,7 @@ static Trigger *fkActionTrigger( sqlite3ExprListAppend(pParse, 0, pRaise), sqlite3SrcListAppend(db, 0, &tFrom, 0), pWhere, - 0, 0, 0, 0, 0, 0 + 0, 0, 0, 0, 0 ); pWhere = 0; } @@ -107259,7 +110718,7 @@ static Trigger *fkActionTrigger( pStep->pExprList = sqlite3ExprListDup(db, pList, EXPRDUP_REDUCE); pStep->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE); if( pWhen ){ - pWhen = sqlite3PExpr(pParse, TK_NOT, pWhen, 0, 0); + pWhen = sqlite3PExpr(pParse, TK_NOT, pWhen, 0); pTrigger->pWhen = sqlite3ExprDup(db, pWhen, EXPRDUP_REDUCE); } } @@ -107604,7 +111063,7 @@ static int autoIncBegin( ){ int memId = 0; /* Register holding maximum rowid */ if( (pTab->tabFlags & TF_Autoincrement)!=0 - && (pParse->db->flags & SQLITE_Vacuum)==0 + && (pParse->db->mDbFlags & DBFLAG_Vacuum)==0 ){ Parse *pToplevel = sqlite3ParseToplevel(pParse); AutoincInfo *pInfo; @@ -107862,8 +111321,7 @@ SQLITE_PRIVATE void sqlite3Insert( ){ sqlite3 *db; /* The main database structure */ Table *pTab; /* The table to insert into. aka TABLE */ - char *zTab; /* Name of the table into which we are inserting */ - int i, j, idx; /* Loop counters */ + int i, j; /* Loop counters */ Vdbe *v; /* Generate code into this virtual machine */ Index *pIdx; /* For looping over indices of the table */ int nColumn; /* Number of columns in the data */ @@ -107899,10 +111357,10 @@ SQLITE_PRIVATE void sqlite3Insert( #endif db = pParse->db; - memset(&dest, 0, sizeof(dest)); if( pParse->nErr || db->mallocFailed ){ goto insert_cleanup; } + dest.iSDParm = 0; /* Suppress a harmless compiler warning */ /* If the Select object is really just a simple VALUES() list with a ** single row (the common case) then keep that one row of values @@ -107918,8 +111376,6 @@ SQLITE_PRIVATE void sqlite3Insert( /* Locate the table into which we will be inserting new information. */ assert( pTabList->nSrc==1 ); - zTab = pTabList->a[0].zName; - if( NEVER(zTab==0) ) goto insert_cleanup; pTab = sqlite3SrcListLookup(pParse, pTabList); if( pTab==0 ){ goto insert_cleanup; @@ -108170,8 +111626,10 @@ SQLITE_PRIVATE void sqlite3Insert( if( aRegIdx==0 ){ goto insert_cleanup; } - for(i=0; ipIndex; ipNext, i++){ + assert( pIdx ); aRegIdx[i] = ++pParse->nMem; + pParse->nMem += pIdx->nColumn; } } @@ -108288,7 +111746,8 @@ SQLITE_PRIVATE void sqlite3Insert( VdbeOp *pOp; sqlite3ExprCode(pParse, pList->a[ipkColumn].pExpr, regRowid); pOp = sqlite3VdbeGetOp(v, -1); - if( ALWAYS(pOp) && pOp->opcode==OP_Null && !IsVirtual(pTab) ){ + assert( pOp!=0 ); + if( pOp->opcode==OP_Null && !IsVirtual(pTab) ){ appendFlag = 1; pOp->opcode = OP_NewRowid; pOp->p1 = iDataCur; @@ -108373,12 +111832,26 @@ SQLITE_PRIVATE void sqlite3Insert( #endif { int isReplace; /* Set to true if constraints may cause a replace */ + int bUseSeek; /* True to use OPFLAG_SEEKRESULT */ sqlite3GenerateConstraintChecks(pParse, pTab, aRegIdx, iDataCur, iIdxCur, regIns, 0, ipkColumn>=0, onError, endOfLoop, &isReplace, 0 ); sqlite3FkCheck(pParse, pTab, 0, regIns, 0, 0); + + /* Set the OPFLAG_USESEEKRESULT flag if either (a) there are no REPLACE + ** constraints or (b) there are no triggers and this table is not a + ** parent table in a foreign key constraint. It is safe to set the + ** flag in the second case as if any REPLACE constraint is hit, an + ** OP_Delete or OP_IdxDelete instruction will be executed on each + ** cursor that is disturbed. And these instructions both clear the + ** VdbeCursor.seekResult variable, disabling the OPFLAG_USESEEKRESULT + ** functionality. */ + bUseSeek = (isReplace==0 || (pTrigger==0 && + ((db->flags & SQLITE_ForeignKeys)==0 || sqlite3FkReferences(pTab)==0) + )); sqlite3CompleteInsertion(pParse, pTab, iDataCur, iIdxCur, - regIns, aRegIdx, 0, appendFlag, isReplace==0); + regIns, aRegIdx, 0, appendFlag, bUseSeek + ); } } @@ -108407,14 +111880,6 @@ SQLITE_PRIVATE void sqlite3Insert( sqlite3VdbeJumpHere(v, addrInsTop); } - if( !IsVirtual(pTab) && !isView ){ - /* Close all tables opened */ - if( iDataCurpIndex; pIdx; pIdx=pIdx->pNext, idx++){ - sqlite3VdbeAddOp1(v, OP_Close, idx+iIdxCur); - } - } - insert_end: /* Update the sqlite_sequence table by storing the content of the ** maximum rowid counter values recorded while inserting into @@ -108621,7 +112086,6 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( int ipkBottom = 0; /* Bottom of the rowid change constraint check */ u8 isUpdate; /* True if this is an UPDATE operation */ u8 bAffinityDone = 0; /* True if the OP_Affinity operation has been run */ - int regRowid = -1; /* Register holding ROWID value */ isUpdate = regOldData!=0; db = pParse->db; @@ -108676,8 +112140,9 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( case OE_Fail: { char *zMsg = sqlite3MPrintf(db, "%s.%s", pTab->zName, pTab->aCol[i].zName); - sqlite3VdbeAddOp4(v, OP_HaltIfNull, SQLITE_CONSTRAINT_NOTNULL, onError, - regNewData+1+i, zMsg, P4_DYNAMIC); + sqlite3VdbeAddOp3(v, OP_HaltIfNull, SQLITE_CONSTRAINT_NOTNULL, onError, + regNewData+1+i); + sqlite3VdbeAppendP4(v, zMsg, P4_DYNAMIC); sqlite3VdbeChangeP5(v, P5_ConstraintNotNull); VdbeCoverage(v); break; @@ -108703,7 +112168,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( #ifndef SQLITE_OMIT_CHECK if( pTab->pCheck && (db->flags & SQLITE_IgnoreChecks)==0 ){ ExprList *pCheck = pTab->pCheck; - pParse->ckBase = regNewData+1; + pParse->iSelfTab = -(regNewData+1); onError = overrideError!=OE_Default ? overrideError : OE_Abort; for(i=0; inExpr; i++){ int allOk; @@ -108723,6 +112188,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( } sqlite3VdbeResolveLabel(v, allOk); } + pParse->iSelfTab = 0; } #endif /* !defined(SQLITE_OMIT_CHECK) */ @@ -108741,7 +112207,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( } if( isUpdate ){ - /* pkChng!=0 does not mean that the rowid has change, only that + /* pkChng!=0 does not mean that the rowid has changed, only that ** it might have changed. Skip the conflict logic below if the rowid ** is unchanged. */ sqlite3VdbeAddOp3(v, OP_Eq, regNewData, addrRowidOk, regOldData); @@ -108819,7 +112285,7 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( ** OP_Insert replace the existing entry than it is to delete the ** existing entry and then insert a new one. */ sqlite3VdbeAddOp2(v, OP_Delete, iDataCur, OPFLAG_ISNOOP); - sqlite3VdbeChangeP4(v, -1, (char *)pTab, P4_TABLE); + sqlite3VdbeAppendP4(v, pTab, P4_TABLE); } #endif /* SQLITE_ENABLE_PREUPDATE_HOOK */ if( pTab->pIndex ){ @@ -108867,29 +112333,27 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( /* Skip partial indices for which the WHERE clause is not true */ if( pIdx->pPartIdxWhere ){ sqlite3VdbeAddOp2(v, OP_Null, 0, aRegIdx[ix]); - pParse->ckBase = regNewData+1; + pParse->iSelfTab = -(regNewData+1); sqlite3ExprIfFalseDup(pParse, pIdx->pPartIdxWhere, addrUniqueOk, SQLITE_JUMPIFNULL); - pParse->ckBase = 0; + pParse->iSelfTab = 0; } /* Create a record for this index entry as it should appear after ** the insert or update. Store that record in the aRegIdx[ix] register */ - regIdx = sqlite3GetTempRange(pParse, pIdx->nColumn); + regIdx = aRegIdx[ix]+1; for(i=0; inColumn; i++){ int iField = pIdx->aiColumn[i]; int x; if( iField==XN_EXPR ){ - pParse->ckBase = regNewData+1; + pParse->iSelfTab = -(regNewData+1); sqlite3ExprCodeCopy(pParse, pIdx->aColExpr->a[i].pExpr, regIdx+i); - pParse->ckBase = 0; + pParse->iSelfTab = 0; VdbeComment((v, "%s column %d", pIdx->zName, i)); }else{ if( iField==XN_ROWID || iField==pTab->iPKey ){ - if( regRowid==regIdx+i ) continue; /* ROWID already in regIdx+i */ x = regNewData; - regRowid = pIdx->pPartIdxWhere ? -1 : regIdx+i; }else{ x = iField + regNewData + 1; } @@ -108899,7 +112363,9 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( } sqlite3VdbeAddOp3(v, OP_MakeRecord, regIdx, pIdx->nColumn, aRegIdx[ix]); VdbeComment((v, "for %s", pIdx->zName)); - sqlite3ExprCacheAffinityChange(pParse, regIdx, pIdx->nColumn); +#ifdef SQLITE_ENABLE_NULL_TRIM + if( pIdx->idxType==2 ) sqlite3SetMakeRecordP5(v, pIdx->pTable); +#endif /* In an UPDATE operation, if this index is the PRIMARY KEY index ** of a WITHOUT ROWID table and there has been no change the @@ -108913,7 +112379,6 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( /* Find out what action to take in case there is a uniqueness conflict */ onError = pIdx->onError; if( onError==OE_None ){ - sqlite3ReleaseTempRange(pParse, regIdx, pIdx->nColumn); sqlite3VdbeResolveLabel(v, addrUniqueOk); continue; /* pIdx is not a UNIQUE index */ } @@ -108922,8 +112387,28 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( }else if( onError==OE_Default ){ onError = OE_Abort; } - + + /* Collision detection may be omitted if all of the following are true: + ** (1) The conflict resolution algorithm is REPLACE + ** (2) The table is a WITHOUT ROWID table + ** (3) There are no secondary indexes on the table + ** (4) No delete triggers need to be fired if there is a conflict + ** (5) No FK constraint counters need to be updated if a conflict occurs. + */ + if( (ix==0 && pIdx->pNext==0) /* Condition 3 */ + && pPk==pIdx /* Condition 2 */ + && onError==OE_Replace /* Condition 1 */ + && ( 0==(db->flags&SQLITE_RecTriggers) || /* Condition 4 */ + 0==sqlite3TriggersExist(pParse, pTab, TK_DELETE, 0, 0)) + && ( 0==(db->flags&SQLITE_ForeignKeys) || /* Condition 5 */ + (0==pTab->pFKey && 0==sqlite3FkReferences(pTab))) + ){ + sqlite3VdbeResolveLabel(v, addrUniqueOk); + continue; + } + /* Check to see if the new index entry will be unique */ + sqlite3ExprCachePush(pParse); sqlite3VdbeAddOp4Int(v, OP_NoConflict, iThisCur, addrUniqueOk, regIdx, pIdx->nKeyCol); VdbeCoverage(v); @@ -109006,13 +112491,13 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( } sqlite3GenerateRowDelete(pParse, pTab, pTrigger, iDataCur, iIdxCur, regR, nPkField, 0, OE_Replace, - (pIdx==pPk ? ONEPASS_SINGLE : ONEPASS_OFF), -1); + (pIdx==pPk ? ONEPASS_SINGLE : ONEPASS_OFF), iThisCur); seenReplace = 1; break; } } sqlite3VdbeResolveLabel(v, addrUniqueOk); - sqlite3ReleaseTempRange(pParse, regIdx, pIdx->nColumn); + sqlite3ExprCachePop(pParse); if( regR!=regIdx ) sqlite3ReleaseTempRange(pParse, regR, nPkField); } if( ipkTop ){ @@ -109024,6 +112509,28 @@ SQLITE_PRIVATE void sqlite3GenerateConstraintChecks( VdbeModuleComment((v, "END: GenCnstCks(%d)", seenReplace)); } +#ifdef SQLITE_ENABLE_NULL_TRIM +/* +** Change the P5 operand on the last opcode (which should be an OP_MakeRecord) +** to be the number of columns in table pTab that must not be NULL-trimmed. +** +** Or if no columns of pTab may be NULL-trimmed, leave P5 at zero. +*/ +SQLITE_PRIVATE void sqlite3SetMakeRecordP5(Vdbe *v, Table *pTab){ + u16 i; + + /* Records with omitted columns are only allowed for schema format + ** version 2 and later (SQLite version 3.1.4, 2005-02-20). */ + if( pTab->pSchema->file_format<2 ) return; + + for(i=pTab->nCol-1; i>0; i--){ + if( pTab->aCol[i].pDflt!=0 ) break; + if( pTab->aCol[i].colFlags & COLFLAG_PRIMKEY ) break; + } + sqlite3VdbeChangeP5(v, i+1); +} +#endif + /* ** This routine generates code to finish the INSERT or UPDATE operation ** that was started by a prior call to sqlite3GenerateConstraintChecks. @@ -109040,7 +112547,7 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( int iIdxCur, /* First index cursor */ int regNewData, /* Range of content */ int *aRegIdx, /* Register used by each index. 0 for unused indices */ - int isUpdate, /* True for UPDATE, False for INSERT */ + int update_flags, /* True for UPDATE, False for INSERT */ int appendBias, /* True if this is likely to be an append */ int useSeekResult /* True to set the USESEEKRESULT flag on OP_[Idx]Insert */ ){ @@ -109052,6 +112559,11 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( int i; /* Loop counter */ u8 bAffinityDone = 0; /* True if OP_Affinity has been run already */ + assert( update_flags==0 + || update_flags==OPFLAG_ISUPDATE + || update_flags==(OPFLAG_ISUPDATE|OPFLAG_SAVEPOSITION) + ); + v = sqlite3GetVdbe(pParse); assert( v!=0 ); assert( pTab->pSelect==0 ); /* This table is not a VIEW */ @@ -109062,26 +112574,39 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( sqlite3VdbeAddOp2(v, OP_IsNull, aRegIdx[i], sqlite3VdbeCurrentAddr(v)+2); VdbeCoverage(v); } - sqlite3VdbeAddOp2(v, OP_IdxInsert, iIdxCur+i, aRegIdx[i]); - pik_flags = 0; - if( useSeekResult ) pik_flags = OPFLAG_USESEEKRESULT; + pik_flags = (useSeekResult ? OPFLAG_USESEEKRESULT : 0); if( IsPrimaryKeyIndex(pIdx) && !HasRowid(pTab) ){ assert( pParse->nested==0 ); pik_flags |= OPFLAG_NCHANGE; + pik_flags |= (update_flags & OPFLAG_SAVEPOSITION); +#ifdef SQLITE_ENABLE_PREUPDATE_HOOK + if( update_flags==0 ){ + sqlite3VdbeAddOp4(v, OP_InsertInt, + iIdxCur+i, aRegIdx[i], 0, (char*)pTab, P4_TABLE + ); + sqlite3VdbeChangeP5(v, OPFLAG_ISNOOP); + } +#endif } + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iIdxCur+i, aRegIdx[i], + aRegIdx[i]+1, + pIdx->uniqNotNull ? pIdx->nKeyCol: pIdx->nColumn); sqlite3VdbeChangeP5(v, pik_flags); } if( !HasRowid(pTab) ) return; regData = regNewData + 1; regRec = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp3(v, OP_MakeRecord, regData, pTab->nCol, regRec); - if( !bAffinityDone ) sqlite3TableAffinity(v, pTab, 0); - sqlite3ExprCacheAffinityChange(pParse, regData, pTab->nCol); + sqlite3SetMakeRecordP5(v, pTab); + if( !bAffinityDone ){ + sqlite3TableAffinity(v, pTab, 0); + sqlite3ExprCacheAffinityChange(pParse, regData, pTab->nCol); + } if( pParse->nested ){ pik_flags = 0; }else{ pik_flags = OPFLAG_NCHANGE; - pik_flags |= (isUpdate?OPFLAG_ISUPDATE:OPFLAG_LASTROWID); + pik_flags |= (update_flags?update_flags:OPFLAG_LASTROWID); } if( appendBias ){ pik_flags |= OPFLAG_APPEND; @@ -109091,7 +112616,7 @@ SQLITE_PRIVATE void sqlite3CompleteInsertion( } sqlite3VdbeAddOp3(v, OP_Insert, iDataCur, regRec, regNewData); if( !pParse->nested ){ - sqlite3VdbeChangeP4(v, -1, (char *)pTab, P4_TABLE); + sqlite3VdbeAppendP4(v, pTab, P4_TABLE); } sqlite3VdbeChangeP5(v, pik_flags); } @@ -109211,7 +112736,7 @@ static int xferCompatibleIndex(Index *pDest, Index *pSrc){ } if( pSrc->aiColumn[i]==XN_EXPR ){ assert( pSrc->aColExpr!=0 && pDest->aColExpr!=0 ); - if( sqlite3ExprCompare(pSrc->aColExpr->a[i].pExpr, + if( sqlite3ExprCompare(0, pSrc->aColExpr->a[i].pExpr, pDest->aColExpr->a[i].pExpr, -1)!=0 ){ return 0; /* Different expressions in the index */ } @@ -109223,7 +112748,7 @@ static int xferCompatibleIndex(Index *pDest, Index *pSrc){ return 0; /* Different collating sequences */ } } - if( sqlite3ExprCompare(pSrc->pPartIdxWhere, pDest->pPartIdxWhere, -1) ){ + if( sqlite3ExprCompare(0, pSrc->pPartIdxWhere, pDest->pPartIdxWhere, -1) ){ return 0; /* Different WHERE clauses */ } @@ -109292,7 +112817,7 @@ static int xferOptimization( return 0; /* tab1 must not have triggers */ } #ifndef SQLITE_OMIT_VIRTUALTABLE - if( pDest->tabFlags & TF_Virtual ){ + if( IsVirtual(pDest) ){ return 0; /* tab1 must not be a virtual table */ } #endif @@ -109321,7 +112846,6 @@ static int xferOptimization( if( pSelect->pLimit ){ return 0; /* SELECT may not have a LIMIT clause */ } - assert( pSelect->pOffset==0 ); /* Must be so if pLimit==0 */ if( pSelect->pPrior ){ return 0; /* SELECT may not be a compound query */ } @@ -109354,7 +112878,7 @@ static int xferOptimization( return 0; /* source and destination must both be WITHOUT ROWID or not */ } #ifndef SQLITE_OMIT_VIRTUALTABLE - if( pSrc->tabFlags & TF_Virtual ){ + if( IsVirtual(pSrc) ){ return 0; /* tab2 must not be a virtual table */ } #endif @@ -109371,7 +112895,7 @@ static int xferOptimization( Column *pDestCol = &pDest->aCol[i]; Column *pSrcCol = &pSrc->aCol[i]; #ifdef SQLITE_ENABLE_HIDDEN_COLUMNS - if( (db->flags & SQLITE_Vacuum)==0 + if( (db->mDbFlags & DBFLAG_Vacuum)==0 && (pDestCol->colFlags | pSrcCol->colFlags) & COLFLAG_HIDDEN ){ return 0; /* Neither table may have __hidden__ columns */ @@ -109447,15 +112971,15 @@ static int xferOptimization( regRowid = sqlite3GetTempReg(pParse); sqlite3OpenTable(pParse, iDest, iDbDest, pDest, OP_OpenWrite); assert( HasRowid(pDest) || destHasUniqueIdx ); - if( (db->flags & SQLITE_Vacuum)==0 && ( + if( (db->mDbFlags & DBFLAG_Vacuum)==0 && ( (pDest->iPKey<0 && pDest->pIndex!=0) /* (1) */ || destHasUniqueIdx /* (2) */ || (onError!=OE_Abort && onError!=OE_Rollback) /* (3) */ )){ /* In some circumstances, we are able to run the xfer optimization ** only if the destination table is initially empty. Unless the - ** SQLITE_Vacuum flag is set, this block generates code to make - ** that determination. If SQLITE_Vacuum is set, then the destination + ** DBFLAG_Vacuum flag is set, this block generates code to make + ** that determination. If DBFLAG_Vacuum is set, then the destination ** table is always empty. ** ** Conditions under which the destination must be empty: @@ -109474,6 +112998,7 @@ static int xferOptimization( sqlite3VdbeJumpHere(v, addr1); } if( HasRowid(pSrc) ){ + u8 insFlags; sqlite3OpenTable(pParse, iSrc, iDbSrc, pSrc, OP_OpenRead); emptySrcTest = sqlite3VdbeAddOp2(v, OP_Rewind, iSrc, 0); VdbeCoverage(v); if( pDest->iPKey>=0 ){ @@ -109489,10 +113014,17 @@ static int xferOptimization( addr1 = sqlite3VdbeAddOp2(v, OP_Rowid, iSrc, regRowid); assert( (pDest->tabFlags & TF_Autoincrement)==0 ); } - sqlite3VdbeAddOp2(v, OP_RowData, iSrc, regData); + sqlite3VdbeAddOp3(v, OP_RowData, iSrc, regData, 1); + if( db->mDbFlags & DBFLAG_Vacuum ){ + sqlite3VdbeAddOp1(v, OP_SeekEnd, iDest); + insFlags = OPFLAG_NCHANGE|OPFLAG_LASTROWID| + OPFLAG_APPEND|OPFLAG_USESEEKRESULT; + }else{ + insFlags = OPFLAG_NCHANGE|OPFLAG_LASTROWID|OPFLAG_APPEND; + } sqlite3VdbeAddOp4(v, OP_Insert, iDest, regData, regRowid, (char*)pDest, P4_TABLE); - sqlite3VdbeChangeP5(v, OPFLAG_NCHANGE|OPFLAG_LASTROWID|OPFLAG_APPEND); + sqlite3VdbeChangeP5(v, insFlags); sqlite3VdbeAddOp2(v, OP_Next, iSrc, addr1); VdbeCoverage(v); sqlite3VdbeAddOp2(v, OP_Close, iSrc, 0); sqlite3VdbeAddOp2(v, OP_Close, iDest, 0); @@ -109514,14 +113046,14 @@ static int xferOptimization( sqlite3VdbeChangeP5(v, OPFLAG_BULKCSR); VdbeComment((v, "%s", pDestIdx->zName)); addr1 = sqlite3VdbeAddOp2(v, OP_Rewind, iSrc, 0); VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_RowKey, iSrc, regData); - if( db->flags & SQLITE_Vacuum ){ + sqlite3VdbeAddOp3(v, OP_RowData, iSrc, regData, 1); + if( db->mDbFlags & DBFLAG_Vacuum ){ /* This INSERT command is part of a VACUUM operation, which guarantees ** that the destination table is empty. If all indexed columns use ** collation sequence BINARY, then it can also be assumed that the ** index will be populated by inserting keys in strictly sorted ** order. In this case, instead of seeking within the b-tree as part - ** of every OP_IdxInsert opcode, an OP_Last is added before the + ** of every OP_IdxInsert opcode, an OP_SeekEnd is added before the ** OP_IdxInsert to seek to the point within the b-tree where each key ** should be inserted. This is faster. ** @@ -109532,20 +113064,18 @@ static int xferOptimization( ** sorted order. */ for(i=0; inColumn; i++){ const char *zColl = pSrcIdx->azColl[i]; - assert( sqlite3_stricmp(sqlite3StrBINARY, zColl)!=0 - || sqlite3StrBINARY==zColl ); if( sqlite3_stricmp(sqlite3StrBINARY, zColl) ) break; } if( i==pSrcIdx->nColumn ){ idxInsFlags = OPFLAG_USESEEKRESULT; - sqlite3VdbeAddOp3(v, OP_Last, iDest, 0, -1); + sqlite3VdbeAddOp1(v, OP_SeekEnd, iDest); } } if( !HasRowid(pSrc) && pDestIdx->idxType==2 ){ idxInsFlags |= OPFLAG_NCHANGE; } - sqlite3VdbeAddOp3(v, OP_IdxInsert, iDest, regData, 1); - sqlite3VdbeChangeP5(v, idxInsFlags); + sqlite3VdbeAddOp2(v, OP_IdxInsert, iDest, regData); + sqlite3VdbeChangeP5(v, idxInsFlags|OPFLAG_APPEND); sqlite3VdbeAddOp2(v, OP_Next, iSrc, addr1+1); VdbeCoverage(v); sqlite3VdbeJumpHere(v, addr1); sqlite3VdbeAddOp2(v, OP_Close, iSrc, 0); @@ -109643,7 +113173,7 @@ SQLITE_API int sqlite3_exec( (SQLITE_DONE==rc && !callbackIsInit && db->flags&SQLITE_NullCallback)) ){ if( !callbackIsInit ){ - azCols = sqlite3DbMallocZero(db, 2*nCol*sizeof(const char*) + 1); + azCols = sqlite3DbMallocRaw(db, (2*nCol+1)*sizeof(const char*)); if( azCols==0 ){ goto exec_out; } @@ -109664,6 +113194,7 @@ SQLITE_API int sqlite3_exec( goto exec_out; } } + azVals[i] = 0; } if( xCallback(pArg, nCol, azVals, azCols) ){ /* EVIDENCE-OF: R-38229-40159 If the callback function to @@ -109696,11 +113227,8 @@ SQLITE_API int sqlite3_exec( rc = sqlite3ApiExit(db, rc); if( rc!=SQLITE_OK && pzErrMsg ){ - int nErrMsg = 1 + sqlite3Strlen30(sqlite3_errmsg(db)); - *pzErrMsg = sqlite3Malloc(nErrMsg); - if( *pzErrMsg ){ - memcpy(*pzErrMsg, sqlite3_errmsg(db), nErrMsg); - }else{ + *pzErrMsg = sqlite3DbStrDup(0, sqlite3_errmsg(db)); + if( *pzErrMsg==0 ){ rc = SQLITE_NOMEM_BKPT; sqlite3Error(db, SQLITE_NOMEM); } @@ -109871,7 +113399,7 @@ struct sqlite3_api_routines { int (*set_authorizer)(sqlite3*,int(*)(void*,int,const char*,const char*, const char*,const char*),void*); void (*set_auxdata)(sqlite3_context*,int,void*,void (*)(void*)); - char * (*snprintf)(int,char*,const char*,...); + char * (*xsnprintf)(int,char*,const char*,...); int (*step)(sqlite3_stmt*); int (*table_column_metadata)(sqlite3*,const char*,const char*,const char*, char const**,char const**,int*,int*,int*); @@ -109983,7 +113511,7 @@ struct sqlite3_api_routines { int (*uri_boolean)(const char*,const char*,int); sqlite3_int64 (*uri_int64)(const char*,const char*,sqlite3_int64); const char *(*uri_parameter)(const char*,const char*); - char *(*vsnprintf)(int,char*,const char*,va_list); + char *(*xvsnprintf)(int,char*,const char*,va_list); int (*wal_checkpoint_v2)(sqlite3*,const char*,int,int*,int*); /* Version 3.8.7 and later */ int (*auto_extension)(void(*)(void)); @@ -110019,6 +113547,19 @@ struct sqlite3_api_routines { /* Version 3.14.0 and later */ int (*trace_v2)(sqlite3*,unsigned,int(*)(unsigned,void*,void*,void*),void*); char *(*expanded_sql)(sqlite3_stmt*); + /* Version 3.18.0 and later */ + void (*set_last_insert_rowid)(sqlite3*,sqlite3_int64); + /* Version 3.20.0 and later */ + int (*prepare_v3)(sqlite3*,const char*,int,unsigned int, + sqlite3_stmt**,const char**); + int (*prepare16_v3)(sqlite3*,const void*,int,unsigned int, + sqlite3_stmt**,const void**); + int (*bind_pointer)(sqlite3_stmt*,int,void*,const char*,void(*)(void*)); + void (*result_pointer)(sqlite3_context*,void*,const char*,void(*)(void*)); + void *(*value_pointer)(sqlite3_value*,const char*); + int (*vtab_nochange)(sqlite3_context*); + int (*value_nochange)(sqlite3_value*); + const char *(*vtab_collation)(sqlite3_index_info*,int); }; /* @@ -110145,7 +113686,7 @@ typedef int (*sqlite3_loadext_entry)( #define sqlite3_rollback_hook sqlite3_api->rollback_hook #define sqlite3_set_authorizer sqlite3_api->set_authorizer #define sqlite3_set_auxdata sqlite3_api->set_auxdata -#define sqlite3_snprintf sqlite3_api->snprintf +#define sqlite3_snprintf sqlite3_api->xsnprintf #define sqlite3_step sqlite3_api->step #define sqlite3_table_column_metadata sqlite3_api->table_column_metadata #define sqlite3_thread_cleanup sqlite3_api->thread_cleanup @@ -110169,7 +113710,7 @@ typedef int (*sqlite3_loadext_entry)( #define sqlite3_value_text16le sqlite3_api->value_text16le #define sqlite3_value_type sqlite3_api->value_type #define sqlite3_vmprintf sqlite3_api->vmprintf -#define sqlite3_vsnprintf sqlite3_api->vsnprintf +#define sqlite3_vsnprintf sqlite3_api->xvsnprintf #define sqlite3_overload_function sqlite3_api->overload_function #define sqlite3_prepare_v2 sqlite3_api->prepare_v2 #define sqlite3_prepare16_v2 sqlite3_api->prepare16_v2 @@ -110245,7 +113786,7 @@ typedef int (*sqlite3_loadext_entry)( #define sqlite3_uri_boolean sqlite3_api->uri_boolean #define sqlite3_uri_int64 sqlite3_api->uri_int64 #define sqlite3_uri_parameter sqlite3_api->uri_parameter -#define sqlite3_uri_vsnprintf sqlite3_api->vsnprintf +#define sqlite3_uri_vsnprintf sqlite3_api->xvsnprintf #define sqlite3_wal_checkpoint_v2 sqlite3_api->wal_checkpoint_v2 /* Version 3.8.7 and later */ #define sqlite3_auto_extension sqlite3_api->auto_extension @@ -110277,6 +113818,18 @@ typedef int (*sqlite3_loadext_entry)( /* Version 3.14.0 and later */ #define sqlite3_trace_v2 sqlite3_api->trace_v2 #define sqlite3_expanded_sql sqlite3_api->expanded_sql +/* Version 3.18.0 and later */ +#define sqlite3_set_last_insert_rowid sqlite3_api->set_last_insert_rowid +/* Version 3.20.0 and later */ +#define sqlite3_prepare_v3 sqlite3_api->prepare_v3 +#define sqlite3_prepare16_v3 sqlite3_api->prepare16_v3 +#define sqlite3_bind_pointer sqlite3_api->bind_pointer +#define sqlite3_result_pointer sqlite3_api->result_pointer +#define sqlite3_value_pointer sqlite3_api->value_pointer +/* Version 3.22.0 and later */ +#define sqlite3_vtab_nochange sqlite3_api->vtab_nochange +#define sqlite3_value_nochange sqltie3_api->value_nochange +#define sqlite3_vtab_collation sqltie3_api->vtab_collation #endif /* !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) */ #if !defined(SQLITE_CORE) && !defined(SQLITE_OMIT_LOAD_EXTENSION) @@ -110299,7 +113852,6 @@ typedef int (*sqlite3_loadext_entry)( /************** End of sqlite3ext.h ******************************************/ /************** Continuing where we left off in loadext.c ********************/ /* #include "sqliteInt.h" */ -/* #include */ #ifndef SQLITE_OMIT_LOAD_EXTENSION /* @@ -110333,6 +113885,7 @@ typedef int (*sqlite3_loadext_entry)( # define sqlite3_open16 0 # define sqlite3_prepare16 0 # define sqlite3_prepare16_v2 0 +# define sqlite3_prepare16_v3 0 # define sqlite3_result_error16 0 # define sqlite3_result_text16 0 # define sqlite3_result_text16be 0 @@ -110703,7 +114256,19 @@ static const sqlite3_api_routines sqlite3Apis = { sqlite3_system_errno, /* Version 3.14.0 and later */ sqlite3_trace_v2, - sqlite3_expanded_sql + sqlite3_expanded_sql, + /* Version 3.18.0 and later */ + sqlite3_set_last_insert_rowid, + /* Version 3.20.0 and later */ + sqlite3_prepare_v3, + sqlite3_prepare16_v3, + sqlite3_bind_pointer, + sqlite3_result_pointer, + sqlite3_value_pointer, + /* Version 3.22.0 and later */ + sqlite3_vtab_nochange, + sqlite3_value_nochange, + sqlite3_vtab_collation }; /* @@ -110769,8 +114334,10 @@ static int sqlite3LoadExtension( #if SQLITE_OS_UNIX || SQLITE_OS_WIN for(ii=0; iinPragCName; + sqlite3VdbeSetNumCols(v, n==0 ? 1 : n); + if( n==0 ){ + sqlite3VdbeSetColName(v, 0, COLNAME_NAME, pPragma->zName, SQLITE_STATIC); + }else{ + int i, j; + for(i=0, j=pPragma->iPragCName; iupr ? 0 : &aPragmaName[mid]; +} + +/* +** Helper subroutine for PRAGMA integrity_check: +** +** Generate code to output a single-column result row with a value of the +** string held in register 3. Decrement the result count in register 1 +** and halt if the maximum number of result rows have been issued. +*/ +static int integrityCheckResultRow(Vdbe *v){ + int addr; + sqlite3VdbeAddOp2(v, OP_ResultRow, 3, 1); + addr = sqlite3VdbeAddOp3(v, OP_IfPos, 1, sqlite3VdbeCurrentAddr(v)+2, 1); + VdbeCoverage(v); + sqlite3VdbeAddOp0(v, OP_Halt); + return addr; +} + /* ** Process a pragma statement. ** @@ -111846,12 +115632,11 @@ SQLITE_PRIVATE void sqlite3Pragma( Token *pId; /* Pointer to token */ char *aFcntl[4]; /* Argument to SQLITE_FCNTL_PRAGMA */ int iDb; /* Database index for */ - int lwr, upr, mid = 0; /* Binary search bounds */ int rc; /* return value form SQLITE_FCNTL_PRAGMA */ sqlite3 *db = pParse->db; /* The database connection */ Db *pDb; /* The specific database being pragmaed */ Vdbe *v = sqlite3GetVdbe(pParse); /* Prepared statement */ - const struct sPragmaNames *pPragma; + const PragmaName *pPragma; /* The pragma */ if( v==0 ) return; sqlite3VdbeRunOnlyOnce(v); @@ -111906,7 +115691,9 @@ SQLITE_PRIVATE void sqlite3Pragma( db->busyHandler.nBusy = 0; rc = sqlite3_file_control(db, zDb, SQLITE_FCNTL_PRAGMA, (void*)aFcntl); if( rc==SQLITE_OK ){ - returnSingleText(v, "result", aFcntl[0]); + sqlite3VdbeSetNumCols(v, 1); + sqlite3VdbeSetColName(v, 0, COLNAME_NAME, aFcntl[0], SQLITE_TRANSIENT); + returnSingleText(v, aFcntl[0]); sqlite3_free(aFcntl[0]); goto pragma_out; } @@ -111921,26 +115708,21 @@ SQLITE_PRIVATE void sqlite3Pragma( } /* Locate the pragma in the lookup table */ - lwr = 0; - upr = ArraySize(aPragmaNames)-1; - while( lwr<=upr ){ - mid = (lwr+upr)/2; - rc = sqlite3_stricmp(zLeft, aPragmaNames[mid].zName); - if( rc==0 ) break; - if( rc<0 ){ - upr = mid - 1; - }else{ - lwr = mid + 1; - } - } - if( lwr>upr ) goto pragma_out; - pPragma = &aPragmaNames[mid]; + pPragma = pragmaLocate(zLeft); + if( pPragma==0 ) goto pragma_out; /* Make sure the database schema is loaded if the pragma requires that */ - if( (pPragma->mPragFlag & PragFlag_NeedSchema)!=0 ){ + if( (pPragma->mPragFlg & PragFlg_NeedSchema)!=0 ){ if( sqlite3ReadSchema(pParse) ) goto pragma_out; } + /* Register the result column names for pragmas that return results */ + if( (pPragma->mPragFlg & PragFlg_NoColumns)==0 + && ((pPragma->mPragFlg & PragFlg_NoColumns1)==0 || zRight==0) + ){ + setPragmaResultColumnNames(v, pPragma); + } + /* Jump to the appropriate pragma handler */ switch( pPragma->ePragTyp ){ @@ -111977,7 +115759,6 @@ SQLITE_PRIVATE void sqlite3Pragma( VdbeOp *aOp; sqlite3VdbeUsesBtree(v, iDb); if( !zRight ){ - setOneColumnName(v, "cache_size"); pParse->nMem += 2; sqlite3VdbeVerifyNoMallocRequired(v, ArraySize(getCacheSize)); aOp = sqlite3VdbeAddOpList(v, ArraySize(getCacheSize), getCacheSize, iLn); @@ -112012,7 +115793,7 @@ SQLITE_PRIVATE void sqlite3Pragma( assert( pBt!=0 ); if( !zRight ){ int size = ALWAYS(pBt) ? sqlite3BtreeGetPageSize(pBt) : 0; - returnSingleInt(v, "page_size", size); + returnSingleInt(v, size); }else{ /* Malloc may fail when setting the page-size, as there is an internal ** buffer that the pager module resizes using sqlite3_realloc(). @@ -112027,18 +115808,22 @@ SQLITE_PRIVATE void sqlite3Pragma( /* ** PRAGMA [schema.]secure_delete - ** PRAGMA [schema.]secure_delete=ON/OFF + ** PRAGMA [schema.]secure_delete=ON/OFF/FAST ** ** The first form reports the current setting for the ** secure_delete flag. The second form changes the secure_delete - ** flag setting and reports thenew value. + ** flag setting and reports the new value. */ case PragTyp_SECURE_DELETE: { Btree *pBt = pDb->pBt; int b = -1; assert( pBt!=0 ); if( zRight ){ - b = sqlite3GetBoolean(zRight, 0); + if( sqlite3_stricmp(zRight, "fast")==0 ){ + b = 2; + }else{ + b = sqlite3GetBoolean(zRight, 0); + } } if( pId2->n==0 && b>=0 ){ int ii; @@ -112047,7 +115832,7 @@ SQLITE_PRIVATE void sqlite3Pragma( } } b = sqlite3BtreeSecureDelete(pBt, b); - returnSingleInt(v, "secure_delete", b); + returnSingleInt(v, b); break; } @@ -112079,8 +115864,6 @@ SQLITE_PRIVATE void sqlite3Pragma( sqlite3AbsInt32(sqlite3Atoi(zRight))); } sqlite3VdbeAddOp2(v, OP_ResultRow, iReg, 1); - sqlite3VdbeSetNumCols(v, 1); - sqlite3VdbeSetColName(v, 0, COLNAME_NAME, zLeft, SQLITE_TRANSIENT); break; } @@ -112126,7 +115909,7 @@ SQLITE_PRIVATE void sqlite3Pragma( if( eMode==PAGER_LOCKINGMODE_EXCLUSIVE ){ zRet = "exclusive"; } - returnSingleText(v, "locking_mode", zRet); + returnSingleText(v, zRet); break; } @@ -112139,7 +115922,6 @@ SQLITE_PRIVATE void sqlite3Pragma( int eMode; /* One of the PAGER_JOURNALMODE_XXX symbols */ int ii; /* Loop counter */ - setOneColumnName(v, "journal_mode"); if( zRight==0 ){ /* If there is no "=MODE" part of the pragma, do a query for the ** current mode */ @@ -112185,7 +115967,7 @@ SQLITE_PRIVATE void sqlite3Pragma( if( iLimit<-1 ) iLimit = -1; } iLimit = sqlite3PagerJournalSizeLimit(pPager, iLimit); - returnSingleInt(v, "journal_size_limit", iLimit); + returnSingleInt(v, iLimit); break; } @@ -112203,7 +115985,7 @@ SQLITE_PRIVATE void sqlite3Pragma( Btree *pBt = pDb->pBt; assert( pBt!=0 ); if( !zRight ){ - returnSingleInt(v, "auto_vacuum", sqlite3BtreeGetAutoVacuum(pBt)); + returnSingleInt(v, sqlite3BtreeGetAutoVacuum(pBt)); }else{ int eAuto = getAutoVacuum(zRight); assert( eAuto>=0 && eAuto<=2 ); @@ -112282,7 +116064,7 @@ SQLITE_PRIVATE void sqlite3Pragma( case PragTyp_CACHE_SIZE: { assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); if( !zRight ){ - returnSingleInt(v, "cache_size", pDb->pSchema->cache_size); + returnSingleInt(v, pDb->pSchema->cache_size); }else{ int size = sqlite3Atoi(zRight); pDb->pSchema->cache_size = size; @@ -112316,7 +116098,7 @@ SQLITE_PRIVATE void sqlite3Pragma( case PragTyp_CACHE_SPILL: { assert( sqlite3SchemaMutexHeld(db, iDb, 0) ); if( !zRight ){ - returnSingleInt(v, "cache_spill", + returnSingleInt(v, (db->flags & SQLITE_CacheSpill)==0 ? 0 : sqlite3BtreeSetSpillSize(pDb->pBt,0)); }else{ @@ -112370,7 +116152,7 @@ SQLITE_PRIVATE void sqlite3Pragma( rc = SQLITE_OK; #endif if( rc==SQLITE_OK ){ - returnSingleInt(v, "mmap_size", sz); + returnSingleInt(v, sz); }else if( rc!=SQLITE_NOTFOUND ){ pParse->nErr++; pParse->rc = rc; @@ -112391,7 +116173,7 @@ SQLITE_PRIVATE void sqlite3Pragma( */ case PragTyp_TEMP_STORE: { if( !zRight ){ - returnSingleInt(v, "temp_store", db->temp_store); + returnSingleInt(v, db->temp_store); }else{ changeTempStorage(pParse, zRight); } @@ -112410,7 +116192,7 @@ SQLITE_PRIVATE void sqlite3Pragma( */ case PragTyp_TEMP_STORE_DIRECTORY: { if( !zRight ){ - returnSingleText(v, "temp_store_directory", sqlite3_temp_directory); + returnSingleText(v, sqlite3_temp_directory); }else{ #ifndef SQLITE_OMIT_WSD if( zRight[0] ){ @@ -112454,7 +116236,7 @@ SQLITE_PRIVATE void sqlite3Pragma( */ case PragTyp_DATA_STORE_DIRECTORY: { if( !zRight ){ - returnSingleText(v, "data_store_directory", sqlite3_data_directory); + returnSingleText(v, sqlite3_data_directory); }else{ #ifndef SQLITE_OMIT_WSD if( zRight[0] ){ @@ -112493,7 +116275,7 @@ SQLITE_PRIVATE void sqlite3Pragma( sqlite3_file *pFile = sqlite3PagerFile(pPager); sqlite3OsFileControlHint(pFile, SQLITE_GET_LOCKPROXYFILE, &proxy_file_path); - returnSingleText(v, "lock_proxy_file", proxy_file_path); + returnSingleText(v, proxy_file_path); }else{ Pager *pPager = sqlite3BtreePager(pDb->pBt); sqlite3_file *pFile = sqlite3PagerFile(pPager); @@ -112525,12 +116307,12 @@ SQLITE_PRIVATE void sqlite3Pragma( */ case PragTyp_SYNCHRONOUS: { if( !zRight ){ - returnSingleInt(v, "synchronous", pDb->safety_level-1); + returnSingleInt(v, pDb->safety_level-1); }else{ if( !db->autoCommit ){ sqlite3ErrorMsg(pParse, "Safety level may not be changed inside a transaction"); - }else{ + }else if( iDb!=1 ){ int iLevel = (getSafetyLevel(zRight,0,1)+1) & PAGER_SYNCHRONOUS_MASK; if( iLevel==0 ) iLevel = 1; pDb->safety_level = iLevel; @@ -112545,7 +116327,8 @@ SQLITE_PRIVATE void sqlite3Pragma( #ifndef SQLITE_OMIT_FLAG_PRAGMAS case PragTyp_FLAG: { if( zRight==0 ){ - returnSingleInt(v, pPragma->zName, (db->flags & pPragma->iArg)!=0 ); + setPragmaResultColumnNames(v, pPragma); + returnSingleInt(v, (db->flags & pPragma->iArg)!=0 ); }else{ int mask = pPragma->iArg; /* Mask of bits to set or clear. */ if( db->autoCommit==0 ){ @@ -112590,21 +116373,18 @@ SQLITE_PRIVATE void sqlite3Pragma( ** type: Column declaration type. ** notnull: True if 'NOT NULL' is part of column declaration ** dflt_value: The default value for the column, if any. + ** pk: Non-zero for PK fields. */ case PragTyp_TABLE_INFO: if( zRight ){ Table *pTab; pTab = sqlite3LocateTable(pParse, LOCATE_NOERR, zRight, zDb); if( pTab ){ - static const char *azCol[] = { - "cid", "name", "type", "notnull", "dflt_value", "pk" - }; int i, k; int nHidden = 0; Column *pCol; Index *pPk = sqlite3PrimaryKeyIndex(pTab); pParse->nMem = 6; sqlite3CodeVerifySchema(pParse, iDb); - setAllColumnNames(v, 6, azCol); assert( 6==ArraySize(azCol) ); sqlite3ViewGetColumnNames(pParse, pTab); for(i=0, pCol=pTab->aCol; inCol; i++, pCol++){ if( IsHiddenColumn(pCol) ){ @@ -112626,47 +116406,43 @@ SQLITE_PRIVATE void sqlite3Pragma( pCol->notNull ? 1 : 0, pCol->pDflt ? pCol->pDflt->u.zToken : 0, k); - sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 6); } } } break; +#ifdef SQLITE_DEBUG case PragTyp_STATS: { - static const char *azCol[] = { "table", "index", "width", "height" }; Index *pIdx; HashElem *i; - v = sqlite3GetVdbe(pParse); - pParse->nMem = 4; + pParse->nMem = 5; sqlite3CodeVerifySchema(pParse, iDb); - setAllColumnNames(v, 4, azCol); assert( 4==ArraySize(azCol) ); for(i=sqliteHashFirst(&pDb->pSchema->tblHash); i; i=sqliteHashNext(i)){ Table *pTab = sqliteHashData(i); - sqlite3VdbeMultiLoad(v, 1, "ssii", + sqlite3VdbeMultiLoad(v, 1, "ssiii", pTab->zName, 0, pTab->szTabRow, - pTab->nRowLogEst); - sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 4); + pTab->nRowLogEst, + pTab->tabFlags); for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ - sqlite3VdbeMultiLoad(v, 2, "sii", + sqlite3VdbeMultiLoad(v, 2, "siiiX", pIdx->zName, pIdx->szIdxRow, - pIdx->aiRowLogEst[0]); - sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 4); + pIdx->aiRowLogEst[0], + pIdx->hasStat1); + sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 5); } } } break; +#endif case PragTyp_INDEX_INFO: if( zRight ){ Index *pIdx; Table *pTab; pIdx = sqlite3FindIndex(db, zRight, zDb); if( pIdx ){ - static const char *azCol[] = { - "seqno", "cid", "name", "desc", "coll", "key" - }; int i; int mx; if( pPragma->iArg ){ @@ -112680,14 +116456,13 @@ SQLITE_PRIVATE void sqlite3Pragma( } pTab = pIdx->pTable; sqlite3CodeVerifySchema(pParse, iDb); - assert( pParse->nMem<=ArraySize(azCol) ); - setAllColumnNames(v, pParse->nMem, azCol); + assert( pParse->nMem<=pPragma->nPragCName ); for(i=0; iaiColumn[i]; - sqlite3VdbeMultiLoad(v, 1, "iis", i, cnum, + sqlite3VdbeMultiLoad(v, 1, "iisX", i, cnum, cnum<0 ? 0 : pTab->aCol[cnum].zName); if( pPragma->iArg ){ - sqlite3VdbeMultiLoad(v, 4, "isi", + sqlite3VdbeMultiLoad(v, 4, "isiX", pIdx->aSortOrder[i], pIdx->azColl[i], inKeyCol); @@ -112704,13 +116479,8 @@ SQLITE_PRIVATE void sqlite3Pragma( int i; pTab = sqlite3FindTable(db, zRight, zDb); if( pTab ){ - static const char *azCol[] = { - "seq", "name", "unique", "origin", "partial" - }; - v = sqlite3GetVdbe(pParse); pParse->nMem = 5; sqlite3CodeVerifySchema(pParse, iDb); - setAllColumnNames(v, 5, azCol); assert( 5==ArraySize(azCol) ); for(pIdx=pTab->pIndex, i=0; pIdx; pIdx=pIdx->pNext, i++){ const char *azOrigin[] = { "c", "u", "pk" }; sqlite3VdbeMultiLoad(v, 1, "isisi", @@ -112719,17 +116489,14 @@ SQLITE_PRIVATE void sqlite3Pragma( IsUniqueIndex(pIdx), azOrigin[pIdx->idxType], pIdx->pPartIdxWhere!=0); - sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 5); } } } break; case PragTyp_DATABASE_LIST: { - static const char *azCol[] = { "seq", "name", "file" }; int i; pParse->nMem = 3; - setAllColumnNames(v, 3, azCol); assert( 3==ArraySize(azCol) ); for(i=0; inDb; i++){ if( db->aDb[i].pBt==0 ) continue; assert( db->aDb[i].zDbSName!=0 ); @@ -112737,24 +116504,60 @@ SQLITE_PRIVATE void sqlite3Pragma( i, db->aDb[i].zDbSName, sqlite3BtreeGetFilename(db->aDb[i].pBt)); - sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 3); } } break; case PragTyp_COLLATION_LIST: { - static const char *azCol[] = { "seq", "name" }; int i = 0; HashElem *p; pParse->nMem = 2; - setAllColumnNames(v, 2, azCol); assert( 2==ArraySize(azCol) ); for(p=sqliteHashFirst(&db->aCollSeq); p; p=sqliteHashNext(p)){ CollSeq *pColl = (CollSeq *)sqliteHashData(p); sqlite3VdbeMultiLoad(v, 1, "is", i++, pColl->zName); - sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 2); } } break; + +#ifdef SQLITE_INTROSPECTION_PRAGMAS + case PragTyp_FUNCTION_LIST: { + int i; + HashElem *j; + FuncDef *p; + pParse->nMem = 2; + for(i=0; iu.pHash ){ + sqlite3VdbeMultiLoad(v, 1, "si", p->zName, 1); + } + } + for(j=sqliteHashFirst(&db->aFunc); j; j=sqliteHashNext(j)){ + p = (FuncDef*)sqliteHashData(j); + sqlite3VdbeMultiLoad(v, 1, "si", p->zName, 0); + } + } + break; + +#ifndef SQLITE_OMIT_VIRTUALTABLE + case PragTyp_MODULE_LIST: { + HashElem *j; + pParse->nMem = 1; + for(j=sqliteHashFirst(&db->aModule); j; j=sqliteHashNext(j)){ + Module *pMod = (Module*)sqliteHashData(j); + sqlite3VdbeMultiLoad(v, 1, "s", pMod->zName); + } + } + break; +#endif /* SQLITE_OMIT_VIRTUALTABLE */ + + case PragTyp_PRAGMA_LIST: { + int i; + for(i=0; ipFKey; if( pFK ){ - static const char *azCol[] = { - "id", "seq", "table", "from", "to", "on_update", "on_delete", - "match" - }; int i = 0; pParse->nMem = 8; sqlite3CodeVerifySchema(pParse, iDb); - setAllColumnNames(v, 8, azCol); assert( 8==ArraySize(azCol) ); while(pFK){ int j; for(j=0; jnCol; j++){ @@ -112786,7 +116583,6 @@ SQLITE_PRIVATE void sqlite3Pragma( actionName(pFK->aAction[1]), /* ON UPDATE */ actionName(pFK->aAction[0]), /* ON DELETE */ "NONE"); - sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 8); } ++i; pFK = pFK->pNextFrom; @@ -112814,14 +116610,11 @@ SQLITE_PRIVATE void sqlite3Pragma( int addrTop; /* Top of a loop checking foreign keys */ int addrOk; /* Jump here if the key is OK */ int *aiCols; /* child to parent column mapping */ - static const char *azCol[] = { "table", "rowid", "parent", "fkid" }; regResult = pParse->nMem+1; pParse->nMem += 4; regKey = ++pParse->nMem; regRow = ++pParse->nMem; - v = sqlite3GetVdbe(pParse); - setAllColumnNames(v, 4, azCol); assert( 4==ArraySize(azCol) ); sqlite3CodeVerifySchema(pParse, iDb); k = sqliteHashFirst(&db->aDb[iDb].pSchema->tblHash); while( k ){ @@ -112868,34 +116661,38 @@ SQLITE_PRIVATE void sqlite3Pragma( assert( x==0 ); } addrOk = sqlite3VdbeMakeLabel(v); - if( pParent && pIdx==0 ){ - int iKey = pFK->aCol[0].iFrom; - assert( iKey>=0 && iKeynCol ); - if( iKey!=pTab->iPKey ){ - sqlite3VdbeAddOp3(v, OP_Column, 0, iKey, regRow); - sqlite3ColumnDefault(v, pTab, iKey, regRow); - sqlite3VdbeAddOp2(v, OP_IsNull, regRow, addrOk); VdbeCoverage(v); - }else{ - sqlite3VdbeAddOp2(v, OP_Rowid, 0, regRow); - } - sqlite3VdbeAddOp3(v, OP_SeekRowid, i, 0, regRow); VdbeCoverage(v); + + /* Generate code to read the child key values into registers + ** regRow..regRow+n. If any of the child key values are NULL, this + ** row cannot cause an FK violation. Jump directly to addrOk in + ** this case. */ + for(j=0; jnCol; j++){ + int iCol = aiCols ? aiCols[j] : pFK->aCol[j].iFrom; + sqlite3ExprCodeGetColumnOfTable(v, pTab, 0, iCol, regRow+j); + sqlite3VdbeAddOp2(v, OP_IsNull, regRow+j, addrOk); VdbeCoverage(v); + } + + /* Generate code to query the parent index for a matching parent + ** key. If a match is found, jump to addrOk. */ + if( pIdx ){ + sqlite3VdbeAddOp4(v, OP_MakeRecord, regRow, pFK->nCol, regKey, + sqlite3IndexAffinityStr(db,pIdx), pFK->nCol); + sqlite3VdbeAddOp4Int(v, OP_Found, i, addrOk, regKey, 0); + VdbeCoverage(v); + }else if( pParent ){ + int jmp = sqlite3VdbeCurrentAddr(v)+2; + sqlite3VdbeAddOp3(v, OP_SeekRowid, i, jmp, regRow); VdbeCoverage(v); sqlite3VdbeGoto(v, addrOk); - sqlite3VdbeJumpHere(v, sqlite3VdbeCurrentAddr(v)-2); + assert( pFK->nCol==1 ); + } + + /* Generate code to report an FK violation to the caller. */ + if( HasRowid(pTab) ){ + sqlite3VdbeAddOp2(v, OP_Rowid, 0, regResult+1); }else{ - for(j=0; jnCol; j++){ - sqlite3ExprCodeGetColumnOfTable(v, pTab, 0, - aiCols ? aiCols[j] : pFK->aCol[j].iFrom, regRow+j); - sqlite3VdbeAddOp2(v, OP_IsNull, regRow+j, addrOk); VdbeCoverage(v); - } - if( pParent ){ - sqlite3VdbeAddOp4(v, OP_MakeRecord, regRow, pFK->nCol, regKey, - sqlite3IndexAffinityStr(db,pIdx), pFK->nCol); - sqlite3VdbeAddOp4Int(v, OP_Found, i, addrOk, regKey, 0); - VdbeCoverage(v); - } + sqlite3VdbeAddOp2(v, OP_Null, 0, regResult+1); } - sqlite3VdbeAddOp2(v, OP_Rowid, 0, regResult+1); - sqlite3VdbeMultiLoad(v, regResult+2, "si", pFK->zTo, i-1); + sqlite3VdbeMultiLoad(v, regResult+2, "siX", pFK->zTo, i-1); sqlite3VdbeAddOp2(v, OP_ResultRow, regResult, 4); sqlite3VdbeResolveLabel(v, addrOk); sqlite3DbFree(db, aiCols); @@ -112936,9 +116733,17 @@ SQLITE_PRIVATE void sqlite3Pragma( #endif #ifndef SQLITE_OMIT_INTEGRITY_CHECK - /* Pragma "quick_check" is reduced version of + /* PRAGMA integrity_check + ** PRAGMA integrity_check(N) + ** PRAGMA quick_check + ** PRAGMA quick_check(N) + ** + ** Verify the integrity of the database. + ** + ** The "quick_check" is reduced version of ** integrity_check designed to detect most database corruption - ** without most of the overhead of a full integrity-check. + ** without the overhead of cross-checking indexes. Quick_check + ** is linear time wherease integrity_check is O(NlogN). */ case PragTyp_INTEGRITY_CHECK: { int i, j, addr, mxErr; @@ -112960,7 +116765,6 @@ SQLITE_PRIVATE void sqlite3Pragma( /* Initialize the VDBE program */ pParse->nMem = 6; - setOneColumnName(v, "integrity_check"); /* Set the maximum error count */ mxErr = SQLITE_INTEGRITY_CHECK_ERROR_MAX; @@ -112970,25 +116774,20 @@ SQLITE_PRIVATE void sqlite3Pragma( mxErr = SQLITE_INTEGRITY_CHECK_ERROR_MAX; } } - sqlite3VdbeAddOp2(v, OP_Integer, mxErr, 1); /* reg[1] holds errors left */ + sqlite3VdbeAddOp2(v, OP_Integer, mxErr-1, 1); /* reg[1] holds errors left */ /* Do an integrity check on each database file */ for(i=0; inDb; i++){ - HashElem *x; - Hash *pTbls; - int *aRoot; - int cnt = 0; - int mxIdx = 0; - int nIdx; + HashElem *x; /* For looping over tables in the schema */ + Hash *pTbls; /* Set of all tables in the schema */ + int *aRoot; /* Array of root page numbers of all btrees */ + int cnt = 0; /* Number of entries in aRoot[] */ + int mxIdx = 0; /* Maximum number of indexes for any table */ if( OMIT_TEMPDB && i==1 ) continue; if( iDb>=0 && i!=iDb ) continue; sqlite3CodeVerifySchema(pParse, i); - addr = sqlite3VdbeAddOp1(v, OP_IfPos, 1); /* Halt if out of errors */ - VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Halt, 0, 0); - sqlite3VdbeJumpHere(v, addr); /* Do an integrity check of the B-Tree ** @@ -112998,8 +116797,9 @@ SQLITE_PRIVATE void sqlite3Pragma( assert( sqlite3SchemaMutexHeld(db, i, 0) ); pTbls = &db->aDb[i].pSchema->tblHash; for(cnt=0, x=sqliteHashFirst(pTbls); x; x=sqliteHashNext(x)){ - Table *pTab = sqliteHashData(x); - Index *pIdx; + Table *pTab = sqliteHashData(x); /* Current table */ + Index *pIdx; /* An index on pTab */ + int nIdx; /* Number of indexes on pTab */ if( HasRowid(pTab) ) cnt++; for(nIdx=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, nIdx++){ cnt++; } if( nIdx>mxIdx ) mxIdx = nIdx; @@ -113009,15 +116809,16 @@ SQLITE_PRIVATE void sqlite3Pragma( for(cnt=0, x=sqliteHashFirst(pTbls); x; x=sqliteHashNext(x)){ Table *pTab = sqliteHashData(x); Index *pIdx; - if( HasRowid(pTab) ) aRoot[cnt++] = pTab->tnum; + if( HasRowid(pTab) ) aRoot[++cnt] = pTab->tnum; for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ - aRoot[cnt++] = pIdx->tnum; + aRoot[++cnt] = pIdx->tnum; } } - aRoot[cnt] = 0; + aRoot[0] = cnt; /* Make sure sufficient number of registers have been allocated */ pParse->nMem = MAX( pParse->nMem, 8+mxIdx ); + sqlite3ClearTempRegCache(pParse); /* Do the b-tree integrity checks */ sqlite3VdbeAddOp4(v, OP_IntegrityCk, 2, cnt, 1, (char*)aRoot,P4_INTARRAY); @@ -113026,14 +116827,13 @@ SQLITE_PRIVATE void sqlite3Pragma( sqlite3VdbeAddOp4(v, OP_String8, 0, 3, 0, sqlite3MPrintf(db, "*** in database %s ***\n", db->aDb[i].zDbSName), P4_DYNAMIC); - sqlite3VdbeAddOp3(v, OP_Move, 2, 4, 1); - sqlite3VdbeAddOp3(v, OP_Concat, 4, 3, 2); - sqlite3VdbeAddOp2(v, OP_ResultRow, 2, 1); + sqlite3VdbeAddOp3(v, OP_Concat, 2, 3, 3); + integrityCheckResultRow(v); sqlite3VdbeJumpHere(v, addr); /* Make sure all the indices are constructed correctly. */ - for(x=sqliteHashFirst(pTbls); x && !isQuick; x=sqliteHashNext(x)){ + for(x=sqliteHashFirst(pTbls); x; x=sqliteHashNext(x)){ Table *pTab = sqliteHashData(x); Index *pIdx, *pPk; Index *pPrior = 0; @@ -113041,15 +116841,14 @@ SQLITE_PRIVATE void sqlite3Pragma( int iDataCur, iIdxCur; int r1 = -1; - if( pTab->pIndex==0 ) continue; + if( pTab->tnum<1 ) continue; /* Skip VIEWs or VIRTUAL TABLEs */ pPk = HasRowid(pTab) ? 0 : sqlite3PrimaryKeyIndex(pTab); - addr = sqlite3VdbeAddOp1(v, OP_IfPos, 1); /* Stop if out of errors */ - VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Halt, 0, 0); - sqlite3VdbeJumpHere(v, addr); sqlite3ExprCacheClear(pParse); sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenRead, 0, 1, 0, &iDataCur, &iIdxCur); + /* reg[7] counts the number of entries in the table. + ** reg[8+i] counts the number of entries in the i-th index + */ sqlite3VdbeAddOp2(v, OP_Integer, 0, 7); for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ sqlite3VdbeAddOp2(v, OP_Integer, 0, 8+j); /* index entries counter */ @@ -113061,88 +116860,110 @@ SQLITE_PRIVATE void sqlite3Pragma( /* Verify that all NOT NULL columns really are NOT NULL */ for(j=0; jnCol; j++){ char *zErr; - int jmp2, jmp3; + int jmp2; if( j==pTab->iPKey ) continue; if( pTab->aCol[j].notNull==0 ) continue; sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, j, 3); sqlite3VdbeChangeP5(v, OPFLAG_TYPEOFARG); jmp2 = sqlite3VdbeAddOp1(v, OP_NotNull, 3); VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_AddImm, 1, -1); /* Decrement error limit */ zErr = sqlite3MPrintf(db, "NULL value in %s.%s", pTab->zName, pTab->aCol[j].zName); sqlite3VdbeAddOp4(v, OP_String8, 0, 3, 0, zErr, P4_DYNAMIC); - sqlite3VdbeAddOp2(v, OP_ResultRow, 3, 1); - jmp3 = sqlite3VdbeAddOp1(v, OP_IfPos, 1); VdbeCoverage(v); - sqlite3VdbeAddOp0(v, OP_Halt); + integrityCheckResultRow(v); sqlite3VdbeJumpHere(v, jmp2); - sqlite3VdbeJumpHere(v, jmp3); } - /* Validate index entries for the current row */ - for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ - int jmp2, jmp3, jmp4, jmp5; - int ckUniq = sqlite3VdbeMakeLabel(v); - if( pPk==pIdx ) continue; - r1 = sqlite3GenerateIndexKey(pParse, pIdx, iDataCur, 0, 0, &jmp3, - pPrior, r1); - pPrior = pIdx; - sqlite3VdbeAddOp2(v, OP_AddImm, 8+j, 1); /* increment entry count */ - /* Verify that an index entry exists for the current table row */ - jmp2 = sqlite3VdbeAddOp4Int(v, OP_Found, iIdxCur+j, ckUniq, r1, - pIdx->nColumn); VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_AddImm, 1, -1); /* Decrement error limit */ - sqlite3VdbeLoadString(v, 3, "row "); - sqlite3VdbeAddOp3(v, OP_Concat, 7, 3, 3); - sqlite3VdbeLoadString(v, 4, " missing from index "); - sqlite3VdbeAddOp3(v, OP_Concat, 4, 3, 3); - jmp5 = sqlite3VdbeLoadString(v, 4, pIdx->zName); - sqlite3VdbeAddOp3(v, OP_Concat, 4, 3, 3); - sqlite3VdbeAddOp2(v, OP_ResultRow, 3, 1); - jmp4 = sqlite3VdbeAddOp1(v, OP_IfPos, 1); VdbeCoverage(v); - sqlite3VdbeAddOp0(v, OP_Halt); - sqlite3VdbeJumpHere(v, jmp2); - /* For UNIQUE indexes, verify that only one entry exists with the - ** current key. The entry is unique if (1) any column is NULL - ** or (2) the next entry has a different key */ - if( IsUniqueIndex(pIdx) ){ - int uniqOk = sqlite3VdbeMakeLabel(v); - int jmp6; - int kk; - for(kk=0; kknKeyCol; kk++){ - int iCol = pIdx->aiColumn[kk]; - assert( iCol!=XN_ROWID && iColnCol ); - if( iCol>=0 && pTab->aCol[iCol].notNull ) continue; - sqlite3VdbeAddOp2(v, OP_IsNull, r1+kk, uniqOk); - VdbeCoverage(v); + /* Verify CHECK constraints */ + if( pTab->pCheck && (db->flags & SQLITE_IgnoreChecks)==0 ){ + ExprList *pCheck = sqlite3ExprListDup(db, pTab->pCheck, 0); + if( db->mallocFailed==0 ){ + int addrCkFault = sqlite3VdbeMakeLabel(v); + int addrCkOk = sqlite3VdbeMakeLabel(v); + char *zErr; + int k; + pParse->iSelfTab = iDataCur + 1; + sqlite3ExprCachePush(pParse); + for(k=pCheck->nExpr-1; k>0; k--){ + sqlite3ExprIfFalse(pParse, pCheck->a[k].pExpr, addrCkFault, 0); } - jmp6 = sqlite3VdbeAddOp1(v, OP_Next, iIdxCur+j); VdbeCoverage(v); - sqlite3VdbeGoto(v, uniqOk); - sqlite3VdbeJumpHere(v, jmp6); - sqlite3VdbeAddOp4Int(v, OP_IdxGT, iIdxCur+j, uniqOk, r1, - pIdx->nKeyCol); VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_AddImm, 1, -1); /* Decrement error limit */ - sqlite3VdbeLoadString(v, 3, "non-unique entry in index "); - sqlite3VdbeGoto(v, jmp5); - sqlite3VdbeResolveLabel(v, uniqOk); + sqlite3ExprIfTrue(pParse, pCheck->a[0].pExpr, addrCkOk, + SQLITE_JUMPIFNULL); + sqlite3VdbeResolveLabel(v, addrCkFault); + pParse->iSelfTab = 0; + zErr = sqlite3MPrintf(db, "CHECK constraint failed in %s", + pTab->zName); + sqlite3VdbeAddOp4(v, OP_String8, 0, 3, 0, zErr, P4_DYNAMIC); + integrityCheckResultRow(v); + sqlite3VdbeResolveLabel(v, addrCkOk); + sqlite3ExprCachePop(pParse); + } + sqlite3ExprListDelete(db, pCheck); + } + if( !isQuick ){ /* Omit the remaining tests for quick_check */ + /* Sanity check on record header decoding */ + sqlite3VdbeAddOp3(v, OP_Column, iDataCur, pTab->nCol-1, 3); + sqlite3VdbeChangeP5(v, OPFLAG_TYPEOFARG); + /* Validate index entries for the current row */ + for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ + int jmp2, jmp3, jmp4, jmp5; + int ckUniq = sqlite3VdbeMakeLabel(v); + if( pPk==pIdx ) continue; + r1 = sqlite3GenerateIndexKey(pParse, pIdx, iDataCur, 0, 0, &jmp3, + pPrior, r1); + pPrior = pIdx; + sqlite3VdbeAddOp2(v, OP_AddImm, 8+j, 1);/* increment entry count */ + /* Verify that an index entry exists for the current table row */ + jmp2 = sqlite3VdbeAddOp4Int(v, OP_Found, iIdxCur+j, ckUniq, r1, + pIdx->nColumn); VdbeCoverage(v); + sqlite3VdbeLoadString(v, 3, "row "); + sqlite3VdbeAddOp3(v, OP_Concat, 7, 3, 3); + sqlite3VdbeLoadString(v, 4, " missing from index "); + sqlite3VdbeAddOp3(v, OP_Concat, 4, 3, 3); + jmp5 = sqlite3VdbeLoadString(v, 4, pIdx->zName); + sqlite3VdbeAddOp3(v, OP_Concat, 4, 3, 3); + jmp4 = integrityCheckResultRow(v); + sqlite3VdbeJumpHere(v, jmp2); + /* For UNIQUE indexes, verify that only one entry exists with the + ** current key. The entry is unique if (1) any column is NULL + ** or (2) the next entry has a different key */ + if( IsUniqueIndex(pIdx) ){ + int uniqOk = sqlite3VdbeMakeLabel(v); + int jmp6; + int kk; + for(kk=0; kknKeyCol; kk++){ + int iCol = pIdx->aiColumn[kk]; + assert( iCol!=XN_ROWID && iColnCol ); + if( iCol>=0 && pTab->aCol[iCol].notNull ) continue; + sqlite3VdbeAddOp2(v, OP_IsNull, r1+kk, uniqOk); + VdbeCoverage(v); + } + jmp6 = sqlite3VdbeAddOp1(v, OP_Next, iIdxCur+j); VdbeCoverage(v); + sqlite3VdbeGoto(v, uniqOk); + sqlite3VdbeJumpHere(v, jmp6); + sqlite3VdbeAddOp4Int(v, OP_IdxGT, iIdxCur+j, uniqOk, r1, + pIdx->nKeyCol); VdbeCoverage(v); + sqlite3VdbeLoadString(v, 3, "non-unique entry in index "); + sqlite3VdbeGoto(v, jmp5); + sqlite3VdbeResolveLabel(v, uniqOk); + } + sqlite3VdbeJumpHere(v, jmp4); + sqlite3ResolvePartIdxLabel(pParse, jmp3); } - sqlite3VdbeJumpHere(v, jmp4); - sqlite3ResolvePartIdxLabel(pParse, jmp3); } sqlite3VdbeAddOp2(v, OP_Next, iDataCur, loopTop); VdbeCoverage(v); sqlite3VdbeJumpHere(v, loopTop-1); #ifndef SQLITE_OMIT_BTREECOUNT - sqlite3VdbeLoadString(v, 2, "wrong # of entries in index "); - for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ - if( pPk==pIdx ) continue; - addr = sqlite3VdbeCurrentAddr(v); - sqlite3VdbeAddOp2(v, OP_IfPos, 1, addr+2); VdbeCoverage(v); - sqlite3VdbeAddOp2(v, OP_Halt, 0, 0); - sqlite3VdbeAddOp2(v, OP_Count, iIdxCur+j, 3); - sqlite3VdbeAddOp3(v, OP_Eq, 8+j, addr+8, 3); VdbeCoverage(v); - sqlite3VdbeChangeP5(v, SQLITE_NOTNULL); - sqlite3VdbeAddOp2(v, OP_AddImm, 1, -1); - sqlite3VdbeLoadString(v, 3, pIdx->zName); - sqlite3VdbeAddOp3(v, OP_Concat, 3, 2, 7); - sqlite3VdbeAddOp2(v, OP_ResultRow, 7, 1); + if( !isQuick ){ + sqlite3VdbeLoadString(v, 2, "wrong # of entries in index "); + for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ + if( pPk==pIdx ) continue; + sqlite3VdbeAddOp2(v, OP_Count, iIdxCur+j, 3); + addr = sqlite3VdbeAddOp3(v, OP_Eq, 8+j, 0, 3); VdbeCoverage(v); + sqlite3VdbeChangeP5(v, SQLITE_NOTNULL); + sqlite3VdbeLoadString(v, 4, pIdx->zName); + sqlite3VdbeAddOp3(v, OP_Concat, 4, 2, 3); + integrityCheckResultRow(v); + sqlite3VdbeJumpHere(v, addr); + } } #endif /* SQLITE_OMIT_BTREECOUNT */ } @@ -113151,18 +116972,24 @@ SQLITE_PRIVATE void sqlite3Pragma( static const int iLn = VDBE_OFFSET_LINENO(2); static const VdbeOpList endCode[] = { { OP_AddImm, 1, 0, 0}, /* 0 */ - { OP_If, 1, 4, 0}, /* 1 */ + { OP_IfNotZero, 1, 4, 0}, /* 1 */ { OP_String8, 0, 3, 0}, /* 2 */ { OP_ResultRow, 3, 1, 0}, /* 3 */ + { OP_Halt, 0, 0, 0}, /* 4 */ + { OP_String8, 0, 3, 0}, /* 5 */ + { OP_Goto, 0, 3, 0}, /* 6 */ }; VdbeOp *aOp; aOp = sqlite3VdbeAddOpList(v, ArraySize(endCode), endCode, iLn); if( aOp ){ - aOp[0].p2 = -mxErr; + aOp[0].p2 = 1-mxErr; aOp[2].p4type = P4_STATIC; aOp[2].p4.z = "ok"; + aOp[5].p4type = P4_STATIC; + aOp[5].p4.z = (char*)sqlite3ErrStr(SQLITE_CORRUPT); } + sqlite3VdbeChangeP3(v, 0, sqlite3VdbeCurrentAddr(v)-2); } } break; @@ -113212,7 +117039,7 @@ SQLITE_PRIVATE void sqlite3Pragma( assert( encnames[SQLITE_UTF8].enc==SQLITE_UTF8 ); assert( encnames[SQLITE_UTF16LE].enc==SQLITE_UTF16LE ); assert( encnames[SQLITE_UTF16BE].enc==SQLITE_UTF16BE ); - returnSingleText(v, "encoding", encnames[ENC(pParse->db)].zName); + returnSingleText(v, encnames[ENC(pParse->db)].zName); }else{ /* "PRAGMA encoding = XXX" */ /* Only change the value of sqlite.enc if the database handle is not ** initialized. If the main database exists, the new sqlite.enc value @@ -113275,7 +117102,7 @@ SQLITE_PRIVATE void sqlite3Pragma( case PragTyp_HEADER_VALUE: { int iCookie = pPragma->iArg; /* Which cookie to read or write */ sqlite3VdbeUsesBtree(v, iDb); - if( zRight && (pPragma->mPragFlag & PragFlag_ReadOnly)==0 ){ + if( zRight && (pPragma->mPragFlg & PragFlg_ReadOnly)==0 ){ /* Write the specified cookie value */ static const VdbeOpList setCookie[] = { { OP_Transaction, 0, 1, 0}, /* 0 */ @@ -113303,8 +117130,6 @@ SQLITE_PRIVATE void sqlite3Pragma( aOp[0].p1 = iDb; aOp[1].p1 = iDb; aOp[1].p3 = iCookie; - sqlite3VdbeSetNumCols(v, 1); - sqlite3VdbeSetColName(v, 0, COLNAME_NAME, zLeft, SQLITE_TRANSIENT); sqlite3VdbeReusable(v); } } @@ -113322,7 +117147,6 @@ SQLITE_PRIVATE void sqlite3Pragma( int i = 0; const char *zOpt; pParse->nMem = 1; - setOneColumnName(v, "compile_option"); while( (zOpt = sqlite3_compileoption_get(i++))!=0 ){ sqlite3VdbeLoadString(v, 1, zOpt); sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 1); @@ -113339,7 +117163,6 @@ SQLITE_PRIVATE void sqlite3Pragma( ** Checkpoint the database. */ case PragTyp_WAL_CHECKPOINT: { - static const char *azCol[] = { "busy", "log", "checkpointed" }; int iBt = (pId2->z?iDb:SQLITE_MAX_ATTACHED); int eMode = SQLITE_CHECKPOINT_PASSIVE; if( zRight ){ @@ -113351,7 +117174,6 @@ SQLITE_PRIVATE void sqlite3Pragma( eMode = SQLITE_CHECKPOINT_TRUNCATE; } } - setAllColumnNames(v, 3, azCol); assert( 3==ArraySize(azCol) ); pParse->nMem = 3; sqlite3VdbeAddOp3(v, OP_Checkpoint, iBt, eMode, 1); sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 3); @@ -113370,7 +117192,7 @@ SQLITE_PRIVATE void sqlite3Pragma( if( zRight ){ sqlite3_wal_autocheckpoint(db, sqlite3Atoi(zRight)); } - returnSingleInt(v, "wal_autocheckpoint", + returnSingleInt(v, db->xWalCallback==sqlite3WalDefaultHook ? SQLITE_PTR_TO_INT(db->pWalArg) : 0); } @@ -113389,6 +117211,119 @@ SQLITE_PRIVATE void sqlite3Pragma( break; } + /* + ** PRAGMA optimize + ** PRAGMA optimize(MASK) + ** PRAGMA schema.optimize + ** PRAGMA schema.optimize(MASK) + ** + ** Attempt to optimize the database. All schemas are optimized in the first + ** two forms, and only the specified schema is optimized in the latter two. + ** + ** The details of optimizations performed by this pragma are expected + ** to change and improve over time. Applications should anticipate that + ** this pragma will perform new optimizations in future releases. + ** + ** The optional argument is a bitmask of optimizations to perform: + ** + ** 0x0001 Debugging mode. Do not actually perform any optimizations + ** but instead return one line of text for each optimization + ** that would have been done. Off by default. + ** + ** 0x0002 Run ANALYZE on tables that might benefit. On by default. + ** See below for additional information. + ** + ** 0x0004 (Not yet implemented) Record usage and performance + ** information from the current session in the + ** database file so that it will be available to "optimize" + ** pragmas run by future database connections. + ** + ** 0x0008 (Not yet implemented) Create indexes that might have + ** been helpful to recent queries + ** + ** The default MASK is and always shall be 0xfffe. 0xfffe means perform all + ** of the optimizations listed above except Debug Mode, including new + ** optimizations that have not yet been invented. If new optimizations are + ** ever added that should be off by default, those off-by-default + ** optimizations will have bitmasks of 0x10000 or larger. + ** + ** DETERMINATION OF WHEN TO RUN ANALYZE + ** + ** In the current implementation, a table is analyzed if only if all of + ** the following are true: + ** + ** (1) MASK bit 0x02 is set. + ** + ** (2) The query planner used sqlite_stat1-style statistics for one or + ** more indexes of the table at some point during the lifetime of + ** the current connection. + ** + ** (3) One or more indexes of the table are currently unanalyzed OR + ** the number of rows in the table has increased by 25 times or more + ** since the last time ANALYZE was run. + ** + ** The rules for when tables are analyzed are likely to change in + ** future releases. + */ + case PragTyp_OPTIMIZE: { + int iDbLast; /* Loop termination point for the schema loop */ + int iTabCur; /* Cursor for a table whose size needs checking */ + HashElem *k; /* Loop over tables of a schema */ + Schema *pSchema; /* The current schema */ + Table *pTab; /* A table in the schema */ + Index *pIdx; /* An index of the table */ + LogEst szThreshold; /* Size threshold above which reanalysis is needd */ + char *zSubSql; /* SQL statement for the OP_SqlExec opcode */ + u32 opMask; /* Mask of operations to perform */ + + if( zRight ){ + opMask = (u32)sqlite3Atoi(zRight); + if( (opMask & 0x02)==0 ) break; + }else{ + opMask = 0xfffe; + } + iTabCur = pParse->nTab++; + for(iDbLast = zDb?iDb:db->nDb-1; iDb<=iDbLast; iDb++){ + if( iDb==1 ) continue; + sqlite3CodeVerifySchema(pParse, iDb); + pSchema = db->aDb[iDb].pSchema; + for(k=sqliteHashFirst(&pSchema->tblHash); k; k=sqliteHashNext(k)){ + pTab = (Table*)sqliteHashData(k); + + /* If table pTab has not been used in a way that would benefit from + ** having analysis statistics during the current session, then skip it. + ** This also has the effect of skipping virtual tables and views */ + if( (pTab->tabFlags & TF_StatsUsed)==0 ) continue; + + /* Reanalyze if the table is 25 times larger than the last analysis */ + szThreshold = pTab->nRowLogEst + 46; assert( sqlite3LogEst(25)==46 ); + for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ + if( !pIdx->hasStat1 ){ + szThreshold = 0; /* Always analyze if any index lacks statistics */ + break; + } + } + if( szThreshold ){ + sqlite3OpenTable(pParse, iTabCur, iDb, pTab, OP_OpenRead); + sqlite3VdbeAddOp3(v, OP_IfSmaller, iTabCur, + sqlite3VdbeCurrentAddr(v)+2+(opMask&1), szThreshold); + VdbeCoverage(v); + } + zSubSql = sqlite3MPrintf(db, "ANALYZE \"%w\".\"%w\"", + db->aDb[iDb].zDbSName, pTab->zName); + if( opMask & 0x01 ){ + int r1 = sqlite3GetTempReg(pParse); + sqlite3VdbeAddOp4(v, OP_String8, 0, r1, 0, zSubSql, P4_DYNAMIC); + sqlite3VdbeAddOp2(v, OP_ResultRow, r1, 1); + }else{ + sqlite3VdbeAddOp4(v, OP_SqlExec, 0, 0, 0, zSubSql, P4_DYNAMIC); + } + } + } + sqlite3VdbeAddOp0(v, OP_Expire); + break; + } + /* ** PRAGMA busy_timeout ** PRAGMA busy_timeout = N @@ -113403,7 +117338,7 @@ SQLITE_PRIVATE void sqlite3Pragma( if( zRight ){ sqlite3_busy_timeout(db, sqlite3Atoi(zRight)); } - returnSingleInt(v, "timeout", db->busyTimeout); + returnSingleInt(v, db->busyTimeout); break; } @@ -113423,7 +117358,7 @@ SQLITE_PRIVATE void sqlite3Pragma( if( zRight && sqlite3DecOrHexToI64(zRight, &N)==SQLITE_OK ){ sqlite3_soft_heap_limit64(N); } - returnSingleInt(v, "soft_heap_limit", sqlite3_soft_heap_limit64(-1)); + returnSingleInt(v, sqlite3_soft_heap_limit64(-1)); break; } @@ -113442,8 +117377,7 @@ SQLITE_PRIVATE void sqlite3Pragma( ){ sqlite3_limit(db, SQLITE_LIMIT_WORKER_THREADS, (int)(N&0x7fffffff)); } - returnSingleInt(v, "threads", - sqlite3_limit(db, SQLITE_LIMIT_WORKER_THREADS, -1)); + returnSingleInt(v, sqlite3_limit(db, SQLITE_LIMIT_WORKER_THREADS, -1)); break; } @@ -113455,9 +117389,7 @@ SQLITE_PRIVATE void sqlite3Pragma( static const char *const azLockName[] = { "unlocked", "shared", "reserved", "pending", "exclusive" }; - static const char *azCol[] = { "database", "status" }; int i; - setAllColumnNames(v, 2, azCol); assert( 2==ArraySize(azCol) ); pParse->nMem = 2; for(i=0; inDb; i++){ Btree *pBt; @@ -113472,7 +117404,6 @@ SQLITE_PRIVATE void sqlite3Pragma( zState = azLockName[j]; } sqlite3VdbeMultiLoad(v, 1, "ss", db->aDb[i].zDbSName, zState); - sqlite3VdbeAddOp2(v, OP_ResultRow, 1, 2); } break; } @@ -113523,10 +117454,329 @@ SQLITE_PRIVATE void sqlite3Pragma( } /* End of the PRAGMA switch */ + /* The following block is a no-op unless SQLITE_DEBUG is defined. Its only + ** purpose is to execute assert() statements to verify that if the + ** PragFlg_NoColumns1 flag is set and the caller specified an argument + ** to the PRAGMA, the implementation has not added any OP_ResultRow + ** instructions to the VM. */ + if( (pPragma->mPragFlg & PragFlg_NoColumns1) && zRight ){ + sqlite3VdbeVerifyNoResultRow(v); + } + pragma_out: sqlite3DbFree(db, zLeft); sqlite3DbFree(db, zRight); } +#ifndef SQLITE_OMIT_VIRTUALTABLE +/***************************************************************************** +** Implementation of an eponymous virtual table that runs a pragma. +** +*/ +typedef struct PragmaVtab PragmaVtab; +typedef struct PragmaVtabCursor PragmaVtabCursor; +struct PragmaVtab { + sqlite3_vtab base; /* Base class. Must be first */ + sqlite3 *db; /* The database connection to which it belongs */ + const PragmaName *pName; /* Name of the pragma */ + u8 nHidden; /* Number of hidden columns */ + u8 iHidden; /* Index of the first hidden column */ +}; +struct PragmaVtabCursor { + sqlite3_vtab_cursor base; /* Base class. Must be first */ + sqlite3_stmt *pPragma; /* The pragma statement to run */ + sqlite_int64 iRowid; /* Current rowid */ + char *azArg[2]; /* Value of the argument and schema */ +}; + +/* +** Pragma virtual table module xConnect method. +*/ +static int pragmaVtabConnect( + sqlite3 *db, + void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVtab, + char **pzErr +){ + const PragmaName *pPragma = (const PragmaName*)pAux; + PragmaVtab *pTab = 0; + int rc; + int i, j; + char cSep = '('; + StrAccum acc; + char zBuf[200]; + + UNUSED_PARAMETER(argc); + UNUSED_PARAMETER(argv); + sqlite3StrAccumInit(&acc, 0, zBuf, sizeof(zBuf), 0); + sqlite3StrAccumAppendAll(&acc, "CREATE TABLE x"); + for(i=0, j=pPragma->iPragCName; inPragCName; i++, j++){ + sqlite3XPrintf(&acc, "%c\"%s\"", cSep, pragCName[j]); + cSep = ','; + } + if( i==0 ){ + sqlite3XPrintf(&acc, "(\"%s\"", pPragma->zName); + cSep = ','; + i++; + } + j = 0; + if( pPragma->mPragFlg & PragFlg_Result1 ){ + sqlite3StrAccumAppendAll(&acc, ",arg HIDDEN"); + j++; + } + if( pPragma->mPragFlg & (PragFlg_SchemaOpt|PragFlg_SchemaReq) ){ + sqlite3StrAccumAppendAll(&acc, ",schema HIDDEN"); + j++; + } + sqlite3StrAccumAppend(&acc, ")", 1); + sqlite3StrAccumFinish(&acc); + assert( strlen(zBuf) < sizeof(zBuf)-1 ); + rc = sqlite3_declare_vtab(db, zBuf); + if( rc==SQLITE_OK ){ + pTab = (PragmaVtab*)sqlite3_malloc(sizeof(PragmaVtab)); + if( pTab==0 ){ + rc = SQLITE_NOMEM; + }else{ + memset(pTab, 0, sizeof(PragmaVtab)); + pTab->pName = pPragma; + pTab->db = db; + pTab->iHidden = i; + pTab->nHidden = j; + } + }else{ + *pzErr = sqlite3_mprintf("%s", sqlite3_errmsg(db)); + } + + *ppVtab = (sqlite3_vtab*)pTab; + return rc; +} + +/* +** Pragma virtual table module xDisconnect method. +*/ +static int pragmaVtabDisconnect(sqlite3_vtab *pVtab){ + PragmaVtab *pTab = (PragmaVtab*)pVtab; + sqlite3_free(pTab); + return SQLITE_OK; +} + +/* Figure out the best index to use to search a pragma virtual table. +** +** There are not really any index choices. But we want to encourage the +** query planner to give == constraints on as many hidden parameters as +** possible, and especially on the first hidden parameter. So return a +** high cost if hidden parameters are unconstrained. +*/ +static int pragmaVtabBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdxInfo){ + PragmaVtab *pTab = (PragmaVtab*)tab; + const struct sqlite3_index_constraint *pConstraint; + int i, j; + int seen[2]; + + pIdxInfo->estimatedCost = (double)1; + if( pTab->nHidden==0 ){ return SQLITE_OK; } + pConstraint = pIdxInfo->aConstraint; + seen[0] = 0; + seen[1] = 0; + for(i=0; inConstraint; i++, pConstraint++){ + if( pConstraint->usable==0 ) continue; + if( pConstraint->op!=SQLITE_INDEX_CONSTRAINT_EQ ) continue; + if( pConstraint->iColumn < pTab->iHidden ) continue; + j = pConstraint->iColumn - pTab->iHidden; + assert( j < 2 ); + seen[j] = i+1; + } + if( seen[0]==0 ){ + pIdxInfo->estimatedCost = (double)2147483647; + pIdxInfo->estimatedRows = 2147483647; + return SQLITE_OK; + } + j = seen[0]-1; + pIdxInfo->aConstraintUsage[j].argvIndex = 1; + pIdxInfo->aConstraintUsage[j].omit = 1; + if( seen[1]==0 ) return SQLITE_OK; + pIdxInfo->estimatedCost = (double)20; + pIdxInfo->estimatedRows = 20; + j = seen[1]-1; + pIdxInfo->aConstraintUsage[j].argvIndex = 2; + pIdxInfo->aConstraintUsage[j].omit = 1; + return SQLITE_OK; +} + +/* Create a new cursor for the pragma virtual table */ +static int pragmaVtabOpen(sqlite3_vtab *pVtab, sqlite3_vtab_cursor **ppCursor){ + PragmaVtabCursor *pCsr; + pCsr = (PragmaVtabCursor*)sqlite3_malloc(sizeof(*pCsr)); + if( pCsr==0 ) return SQLITE_NOMEM; + memset(pCsr, 0, sizeof(PragmaVtabCursor)); + pCsr->base.pVtab = pVtab; + *ppCursor = &pCsr->base; + return SQLITE_OK; +} + +/* Clear all content from pragma virtual table cursor. */ +static void pragmaVtabCursorClear(PragmaVtabCursor *pCsr){ + int i; + sqlite3_finalize(pCsr->pPragma); + pCsr->pPragma = 0; + for(i=0; iazArg); i++){ + sqlite3_free(pCsr->azArg[i]); + pCsr->azArg[i] = 0; + } +} + +/* Close a pragma virtual table cursor */ +static int pragmaVtabClose(sqlite3_vtab_cursor *cur){ + PragmaVtabCursor *pCsr = (PragmaVtabCursor*)cur; + pragmaVtabCursorClear(pCsr); + sqlite3_free(pCsr); + return SQLITE_OK; +} + +/* Advance the pragma virtual table cursor to the next row */ +static int pragmaVtabNext(sqlite3_vtab_cursor *pVtabCursor){ + PragmaVtabCursor *pCsr = (PragmaVtabCursor*)pVtabCursor; + int rc = SQLITE_OK; + + /* Increment the xRowid value */ + pCsr->iRowid++; + assert( pCsr->pPragma ); + if( SQLITE_ROW!=sqlite3_step(pCsr->pPragma) ){ + rc = sqlite3_finalize(pCsr->pPragma); + pCsr->pPragma = 0; + pragmaVtabCursorClear(pCsr); + } + return rc; +} + +/* +** Pragma virtual table module xFilter method. +*/ +static int pragmaVtabFilter( + sqlite3_vtab_cursor *pVtabCursor, + int idxNum, const char *idxStr, + int argc, sqlite3_value **argv +){ + PragmaVtabCursor *pCsr = (PragmaVtabCursor*)pVtabCursor; + PragmaVtab *pTab = (PragmaVtab*)(pVtabCursor->pVtab); + int rc; + int i, j; + StrAccum acc; + char *zSql; + + UNUSED_PARAMETER(idxNum); + UNUSED_PARAMETER(idxStr); + pragmaVtabCursorClear(pCsr); + j = (pTab->pName->mPragFlg & PragFlg_Result1)!=0 ? 0 : 1; + for(i=0; iazArg) ); + assert( pCsr->azArg[j]==0 ); + if( zText ){ + pCsr->azArg[j] = sqlite3_mprintf("%s", zText); + if( pCsr->azArg[j]==0 ){ + return SQLITE_NOMEM; + } + } + } + sqlite3StrAccumInit(&acc, 0, 0, 0, pTab->db->aLimit[SQLITE_LIMIT_SQL_LENGTH]); + sqlite3StrAccumAppendAll(&acc, "PRAGMA "); + if( pCsr->azArg[1] ){ + sqlite3XPrintf(&acc, "%Q.", pCsr->azArg[1]); + } + sqlite3StrAccumAppendAll(&acc, pTab->pName->zName); + if( pCsr->azArg[0] ){ + sqlite3XPrintf(&acc, "=%Q", pCsr->azArg[0]); + } + zSql = sqlite3StrAccumFinish(&acc); + if( zSql==0 ) return SQLITE_NOMEM; + rc = sqlite3_prepare_v2(pTab->db, zSql, -1, &pCsr->pPragma, 0); + sqlite3_free(zSql); + if( rc!=SQLITE_OK ){ + pTab->base.zErrMsg = sqlite3_mprintf("%s", sqlite3_errmsg(pTab->db)); + return rc; + } + return pragmaVtabNext(pVtabCursor); +} + +/* +** Pragma virtual table module xEof method. +*/ +static int pragmaVtabEof(sqlite3_vtab_cursor *pVtabCursor){ + PragmaVtabCursor *pCsr = (PragmaVtabCursor*)pVtabCursor; + return (pCsr->pPragma==0); +} + +/* The xColumn method simply returns the corresponding column from +** the PRAGMA. +*/ +static int pragmaVtabColumn( + sqlite3_vtab_cursor *pVtabCursor, + sqlite3_context *ctx, + int i +){ + PragmaVtabCursor *pCsr = (PragmaVtabCursor*)pVtabCursor; + PragmaVtab *pTab = (PragmaVtab*)(pVtabCursor->pVtab); + if( iiHidden ){ + sqlite3_result_value(ctx, sqlite3_column_value(pCsr->pPragma, i)); + }else{ + sqlite3_result_text(ctx, pCsr->azArg[i-pTab->iHidden],-1,SQLITE_TRANSIENT); + } + return SQLITE_OK; +} + +/* +** Pragma virtual table module xRowid method. +*/ +static int pragmaVtabRowid(sqlite3_vtab_cursor *pVtabCursor, sqlite_int64 *p){ + PragmaVtabCursor *pCsr = (PragmaVtabCursor*)pVtabCursor; + *p = pCsr->iRowid; + return SQLITE_OK; +} + +/* The pragma virtual table object */ +static const sqlite3_module pragmaVtabModule = { + 0, /* iVersion */ + 0, /* xCreate - create a table */ + pragmaVtabConnect, /* xConnect - connect to an existing table */ + pragmaVtabBestIndex, /* xBestIndex - Determine search strategy */ + pragmaVtabDisconnect, /* xDisconnect - Disconnect from a table */ + 0, /* xDestroy - Drop a table */ + pragmaVtabOpen, /* xOpen - open a cursor */ + pragmaVtabClose, /* xClose - close a cursor */ + pragmaVtabFilter, /* xFilter - configure scan constraints */ + pragmaVtabNext, /* xNext - advance a cursor */ + pragmaVtabEof, /* xEof */ + pragmaVtabColumn, /* xColumn - read data */ + pragmaVtabRowid, /* xRowid - read data */ + 0, /* xUpdate - write data */ + 0, /* xBegin - begin transaction */ + 0, /* xSync - sync transaction */ + 0, /* xCommit - commit transaction */ + 0, /* xRollback - rollback transaction */ + 0, /* xFindFunction - function overloading */ + 0, /* xRename - rename the table */ + 0, /* xSavepoint */ + 0, /* xRelease */ + 0 /* xRollbackTo */ +}; + +/* +** Check to see if zTabName is really the name of a pragma. If it is, +** then register an eponymous virtual table for that pragma and return +** a pointer to the Module object for the new virtual table. +*/ +SQLITE_PRIVATE Module *sqlite3PragmaVtabRegister(sqlite3 *db, const char *zName){ + const PragmaName *pName; + assert( sqlite3_strnicmp(zName, "pragma_", 7)==0 ); + pName = pragmaLocate(zName+7); + if( pName==0 ) return 0; + if( (pName->mPragFlg & (PragFlg_Result0|PragFlg_Result1))==0 ) return 0; + assert( sqlite3HashFind(&db->aModule, zName)==0 ); + return sqlite3VtabCreateModule(db, zName, &pragmaVtabModule, (void*)pName, 0); +} + +#endif /* SQLITE_OMIT_VIRTUALTABLE */ #endif /* SQLITE_OMIT_PRAGMA */ @@ -113559,7 +117809,7 @@ static void corruptSchema( const char *zExtra /* Error information */ ){ sqlite3 *db = pData->db; - if( !db->mallocFailed && (db->flags & SQLITE_RecoveryMode)==0 ){ + if( !db->mallocFailed && (db->flags & SQLITE_WriteSchema)==0 ){ char *z; if( zObj==0 ) zObj = "?"; z = sqlite3MPrintf(db, "malformed database schema (%s)", zObj); @@ -113619,7 +117869,7 @@ SQLITE_PRIVATE int sqlite3InitCallback(void *pInit, int argc, char **argv, char rc = db->errCode; assert( (rc&0xFF)==(rcp&0xFF) ); db->init.iDb = saved_iDb; - assert( saved_iDb==0 || (db->flags & SQLITE_Vacuum)!=0 ); + assert( saved_iDb==0 || (db->mDbFlags & DBFLAG_Vacuum)!=0 ); if( SQLITE_OK!=rc ){ if( db->init.orphanTrigger ){ assert( iDb==1 ); @@ -113684,6 +117934,8 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ assert( sqlite3_mutex_held(db->mutex) ); assert( iDb==1 || sqlite3BtreeHoldsMutex(db->aDb[iDb].pBt) ); + db->init.busy = 1; + /* Construct the in-memory representation schema tables (sqlite_master or ** sqlite_temp_master) by invoking the parser directly. The appropriate ** table name will be inserted automatically by the parser so we can just @@ -113692,7 +117944,7 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ azArg[0] = zMasterName = SCHEMA_TABLE(iDb); azArg[1] = "1"; azArg[2] = "CREATE TABLE x(type text,name text,tbl_name text," - "rootpage integer,sql text)"; + "rootpage int,sql text)"; azArg[3] = 0; initData.db = db; initData.iDb = iDb; @@ -113708,10 +117960,10 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ */ pDb = &db->aDb[iDb]; if( pDb->pBt==0 ){ - if( !OMIT_TEMPDB && ALWAYS(iDb==1) ){ - DbSetProperty(db, 1, DB_SchemaLoaded); - } - return SQLITE_OK; + assert( iDb==1 ); + DbSetProperty(db, 1, DB_SchemaLoaded); + rc = SQLITE_OK; + goto error_out; } /* If there is not already a read-only (or read-write) transaction opened @@ -113846,8 +118098,8 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ rc = SQLITE_NOMEM_BKPT; sqlite3ResetAllSchemasOfConnection(db); } - if( rc==SQLITE_OK || (db->flags&SQLITE_RecoveryMode)){ - /* Black magic: If the SQLITE_RecoveryMode flag is set, then consider + if( rc==SQLITE_OK || (db->flags&SQLITE_WriteSchema)){ + /* Black magic: If the SQLITE_WriteSchema flag is set, then consider ** the schema loaded, even if errors occurred. In this situation the ** current sqlite3_prepare() operation will fail, but the following one ** will attempt to compile the supplied statement against whatever subset @@ -113870,9 +118122,13 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ sqlite3BtreeLeave(pDb->pBt); error_out: - if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){ - sqlite3OomFault(db); + if( rc ){ + if( rc==SQLITE_NOMEM || rc==SQLITE_IOERR_NOMEM ){ + sqlite3OomFault(db); + } + sqlite3ResetOneSchema(db, iDb); } + db->init.busy = 0; return rc; } @@ -113888,42 +118144,29 @@ static int sqlite3InitOne(sqlite3 *db, int iDb, char **pzErrMsg){ */ SQLITE_PRIVATE int sqlite3Init(sqlite3 *db, char **pzErrMsg){ int i, rc; - int commit_internal = !(db->flags&SQLITE_InternChanges); + int commit_internal = !(db->mDbFlags&DBFLAG_SchemaChange); assert( sqlite3_mutex_held(db->mutex) ); assert( sqlite3BtreeHoldsMutex(db->aDb[0].pBt) ); assert( db->init.busy==0 ); - rc = SQLITE_OK; - db->init.busy = 1; ENC(db) = SCHEMA_ENC(db); - for(i=0; rc==SQLITE_OK && inDb; i++){ - if( DbHasProperty(db, i, DB_SchemaLoaded) || i==1 ) continue; - rc = sqlite3InitOne(db, i, pzErrMsg); - if( rc ){ - sqlite3ResetOneSchema(db, i); - } + assert( db->nDb>0 ); + /* Do the main schema first */ + if( !DbHasProperty(db, 0, DB_SchemaLoaded) ){ + rc = sqlite3InitOne(db, 0, pzErrMsg); + if( rc ) return rc; } - - /* Once all the other databases have been initialized, load the schema - ** for the TEMP database. This is loaded last, as the TEMP database - ** schema may contain references to objects in other databases. - */ -#ifndef SQLITE_OMIT_TEMPDB - assert( db->nDb>1 ); - if( rc==SQLITE_OK && !DbHasProperty(db, 1, DB_SchemaLoaded) ){ - rc = sqlite3InitOne(db, 1, pzErrMsg); - if( rc ){ - sqlite3ResetOneSchema(db, 1); + /* All other schemas after the main schema. The "temp" schema must be last */ + for(i=db->nDb-1; i>0; i--){ + if( !DbHasProperty(db, i, DB_SchemaLoaded) ){ + rc = sqlite3InitOne(db, i, pzErrMsg); + if( rc ) return rc; } } -#endif - - db->init.busy = 0; - if( rc==SQLITE_OK && commit_internal ){ + if( commit_internal ){ sqlite3CommitInternalChanges(db); } - - return rc; + return SQLITE_OK; } /* @@ -114014,7 +118257,8 @@ SQLITE_PRIVATE int sqlite3SchemaToIndex(sqlite3 *db, Schema *pSchema){ */ assert( sqlite3_mutex_held(db->mutex) ); if( pSchema ){ - for(i=0; ALWAYS(inDb); i++){ + for(i=0; 1; i++){ + assert( inDb ); if( db->aDb[i].pSchema==pSchema ){ break; } @@ -114028,16 +118272,14 @@ SQLITE_PRIVATE int sqlite3SchemaToIndex(sqlite3 *db, Schema *pSchema){ ** Free all memory allocations in the pParse object */ SQLITE_PRIVATE void sqlite3ParserReset(Parse *pParse){ - if( pParse ){ - sqlite3 *db = pParse->db; - sqlite3DbFree(db, pParse->aLabel); - sqlite3ExprListDelete(db, pParse->pConstExpr); - if( db ){ - assert( db->lookaside.bDisable >= pParse->disableLookaside ); - db->lookaside.bDisable -= pParse->disableLookaside; - } - pParse->disableLookaside = 0; + sqlite3 *db = pParse->db; + sqlite3DbFree(db, pParse->aLabel); + sqlite3ExprListDelete(db, pParse->pConstExpr); + if( db ){ + assert( db->lookaside.bDisable >= pParse->disableLookaside ); + db->lookaside.bDisable -= pParse->disableLookaside; } + pParse->disableLookaside = 0; } /* @@ -114047,7 +118289,7 @@ static int sqlite3Prepare( sqlite3 *db, /* Database handle. */ const char *zSql, /* UTF-8 encoded SQL statement. */ int nBytes, /* Length of zSql in bytes. */ - int saveSqlFlag, /* True to copy SQL text into the sqlite3_stmt */ + u32 prepFlags, /* Zero or more SQLITE_PREPARE_* flags */ Vdbe *pReprepare, /* VM being reprepared */ sqlite3_stmt **ppStmt, /* OUT: A pointer to the prepared statement */ const char **pzTail /* OUT: End of parsed string */ @@ -114064,6 +118306,14 @@ static int sqlite3Prepare( /* assert( !db->mallocFailed ); // not true with SQLITE_USE_ALLOCA */ assert( sqlite3_mutex_held(db->mutex) ); + /* For a long-term use prepared statement avoid the use of + ** lookaside memory. + */ + if( prepFlags & SQLITE_PREPARE_PERSISTENT ){ + sParse.disableLookaside++; + db->lookaside.bDisable++; + } + /* Check to verify that it is possible to get a read lock on all ** database schemas. The inability to get a read lock indicates that ** some other database connection is holding a write-lock, which in @@ -114095,7 +118345,7 @@ static int sqlite3Prepare( if( rc ){ const char *zDb = db->aDb[i].zDbSName; sqlite3ErrorWithMsg(db, rc, "database schema is locked: %s", zDb); - testcase( db->flags & SQLITE_ReadUncommitted ); + testcase( db->flags & SQLITE_ReadUncommit ); goto end_prepare; } } @@ -114163,8 +118413,7 @@ static int sqlite3Prepare( #endif if( db->init.busy==0 ){ - Vdbe *pVdbe = sParse.pVdbe; - sqlite3VdbeSetSql(pVdbe, zSql, (int)(sParse.zTail-zSql), saveSqlFlag); + sqlite3VdbeSetSql(sParse.pVdbe, zSql, (int)(sParse.zTail-zSql), prepFlags); } if( sParse.pVdbe && (rc!=SQLITE_OK || db->mallocFailed) ){ sqlite3VdbeFinalize(sParse.pVdbe); @@ -114190,20 +118439,19 @@ static int sqlite3Prepare( end_prepare: sqlite3ParserReset(&sParse); - rc = sqlite3ApiExit(db, rc); - assert( (rc&db->errMask)==rc ); return rc; } static int sqlite3LockAndPrepare( sqlite3 *db, /* Database handle. */ const char *zSql, /* UTF-8 encoded SQL statement. */ int nBytes, /* Length of zSql in bytes. */ - int saveSqlFlag, /* True to copy SQL text into the sqlite3_stmt */ + u32 prepFlags, /* Zero or more SQLITE_PREPARE_* flags */ Vdbe *pOld, /* VM being reprepared */ sqlite3_stmt **ppStmt, /* OUT: A pointer to the prepared statement */ const char **pzTail /* OUT: End of parsed string */ ){ int rc; + int cnt = 0; #ifdef SQLITE_ENABLE_API_ARMOR if( ppStmt==0 ) return SQLITE_MISUSE_BKPT; @@ -114214,14 +118462,18 @@ static int sqlite3LockAndPrepare( } sqlite3_mutex_enter(db->mutex); sqlite3BtreeEnterAll(db); - rc = sqlite3Prepare(db, zSql, nBytes, saveSqlFlag, pOld, ppStmt, pzTail); - if( rc==SQLITE_SCHEMA ){ - sqlite3_finalize(*ppStmt); - rc = sqlite3Prepare(db, zSql, nBytes, saveSqlFlag, pOld, ppStmt, pzTail); - } + do{ + /* Make multiple attempts to compile the SQL, until it either succeeds + ** or encounters a permanent error. A schema problem after one schema + ** reset is considered a permanent error. */ + rc = sqlite3Prepare(db, zSql, nBytes, prepFlags, pOld, ppStmt, pzTail); + assert( rc==SQLITE_OK || *ppStmt==0 ); + }while( rc==SQLITE_ERROR_RETRY + || (rc==SQLITE_SCHEMA && (sqlite3ResetOneSchema(db,-1), cnt++)==0) ); sqlite3BtreeLeaveAll(db); + rc = sqlite3ApiExit(db, rc); + assert( (rc&db->errMask)==rc ); sqlite3_mutex_leave(db->mutex); - assert( rc==SQLITE_OK || *ppStmt==0 ); return rc; } @@ -114238,13 +118490,15 @@ SQLITE_PRIVATE int sqlite3Reprepare(Vdbe *p){ sqlite3_stmt *pNew; const char *zSql; sqlite3 *db; + u8 prepFlags; assert( sqlite3_mutex_held(sqlite3VdbeDb(p)->mutex) ); zSql = sqlite3_sql((sqlite3_stmt *)p); assert( zSql!=0 ); /* Reprepare only called for prepare_v2() statements */ db = sqlite3VdbeDb(p); assert( sqlite3_mutex_held(db->mutex) ); - rc = sqlite3LockAndPrepare(db, zSql, -1, 0, p, &pNew, 0); + prepFlags = sqlite3VdbePrepareFlags(p); + rc = sqlite3LockAndPrepare(db, zSql, -1, prepFlags, p, &pNew, 0); if( rc ){ if( rc==SQLITE_NOMEM ){ sqlite3OomFault(db); @@ -114290,8 +118544,36 @@ SQLITE_API int sqlite3_prepare_v2( const char **pzTail /* OUT: End of parsed string */ ){ int rc; - rc = sqlite3LockAndPrepare(db,zSql,nBytes,1,0,ppStmt,pzTail); - assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */ + /* EVIDENCE-OF: R-37923-12173 The sqlite3_prepare_v2() interface works + ** exactly the same as sqlite3_prepare_v3() with a zero prepFlags + ** parameter. + ** + ** Proof in that the 5th parameter to sqlite3LockAndPrepare is 0 */ + rc = sqlite3LockAndPrepare(db,zSql,nBytes,SQLITE_PREPARE_SAVESQL,0, + ppStmt,pzTail); + assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); + return rc; +} +SQLITE_API int sqlite3_prepare_v3( + sqlite3 *db, /* Database handle. */ + const char *zSql, /* UTF-8 encoded SQL statement. */ + int nBytes, /* Length of zSql in bytes. */ + unsigned int prepFlags, /* Zero or more SQLITE_PREPARE_* flags */ + sqlite3_stmt **ppStmt, /* OUT: A pointer to the prepared statement */ + const char **pzTail /* OUT: End of parsed string */ +){ + int rc; + /* EVIDENCE-OF: R-56861-42673 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_* flags. + ** + ** Proof by comparison to the implementation of sqlite3_prepare_v2() + ** directly above. */ + rc = sqlite3LockAndPrepare(db,zSql,nBytes, + SQLITE_PREPARE_SAVESQL|(prepFlags&SQLITE_PREPARE_MASK), + 0,ppStmt,pzTail); + assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); return rc; } @@ -114304,7 +118586,7 @@ static int sqlite3Prepare16( sqlite3 *db, /* Database handle. */ const void *zSql, /* UTF-16 encoded SQL statement. */ int nBytes, /* Length of zSql in bytes. */ - int saveSqlFlag, /* True to save SQL text into the sqlite3_stmt */ + u32 prepFlags, /* Zero or more SQLITE_PREPARE_* flags */ sqlite3_stmt **ppStmt, /* OUT: A pointer to the prepared statement */ const void **pzTail /* OUT: End of parsed string */ ){ @@ -114332,7 +118614,7 @@ static int sqlite3Prepare16( sqlite3_mutex_enter(db->mutex); zSql8 = sqlite3Utf16to8(db, zSql, nBytes, SQLITE_UTF16NATIVE); if( zSql8 ){ - rc = sqlite3LockAndPrepare(db, zSql8, -1, saveSqlFlag, 0, ppStmt, &zTail8); + rc = sqlite3LockAndPrepare(db, zSql8, -1, prepFlags, 0, ppStmt, &zTail8); } if( zTail8 && pzTail ){ @@ -114378,7 +118660,22 @@ SQLITE_API int sqlite3_prepare16_v2( const void **pzTail /* OUT: End of parsed string */ ){ int rc; - rc = sqlite3Prepare16(db,zSql,nBytes,1,ppStmt,pzTail); + rc = sqlite3Prepare16(db,zSql,nBytes,SQLITE_PREPARE_SAVESQL,ppStmt,pzTail); + assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */ + return rc; +} +SQLITE_API int sqlite3_prepare16_v3( + sqlite3 *db, /* Database handle. */ + const void *zSql, /* UTF-16 encoded SQL statement. */ + int nBytes, /* Length of zSql in bytes. */ + unsigned int prepFlags, /* Zero or more SQLITE_PREPARE_* flags */ + sqlite3_stmt **ppStmt, /* OUT: A pointer to the prepared statement */ + const void **pzTail /* OUT: End of parsed string */ +){ + int rc; + rc = sqlite3Prepare16(db,zSql,nBytes, + SQLITE_PREPARE_SAVESQL|(prepFlags&SQLITE_PREPARE_MASK), + ppStmt,pzTail); assert( rc==SQLITE_OK || ppStmt==0 || *ppStmt==0 ); /* VERIFY: F13021 */ return rc; } @@ -114463,9 +118760,8 @@ static void clearSelect(sqlite3 *db, Select *p, int bFree){ sqlite3ExprDelete(db, p->pHaving); sqlite3ExprListDelete(db, p->pOrderBy); sqlite3ExprDelete(db, p->pLimit); - sqlite3ExprDelete(db, p->pOffset); - if( p->pWith ) sqlite3WithDelete(db, p->pWith); - if( bFree ) sqlite3DbFree(db, p); + if( OK_IF_ALWAYS_TRUE(p->pWith) ) sqlite3WithDelete(db, p->pWith); + if( bFree ) sqlite3DbFreeNN(db, p); p = pPrior; bFree = 1; } @@ -114496,19 +118792,18 @@ SQLITE_PRIVATE Select *sqlite3SelectNew( Expr *pHaving, /* the HAVING clause */ ExprList *pOrderBy, /* the ORDER BY clause */ u32 selFlags, /* Flag parameters, such as SF_Distinct */ - Expr *pLimit, /* LIMIT value. NULL means not used */ - Expr *pOffset /* OFFSET value. NULL means no offset */ + Expr *pLimit /* LIMIT value. NULL means not used */ ){ Select *pNew; Select standin; - sqlite3 *db = pParse->db; - pNew = sqlite3DbMallocRawNN(db, sizeof(*pNew) ); + pNew = sqlite3DbMallocRawNN(pParse->db, sizeof(*pNew) ); if( pNew==0 ){ - assert( db->mallocFailed ); + assert( pParse->db->mallocFailed ); pNew = &standin; } if( pEList==0 ){ - pEList = sqlite3ExprListAppend(pParse, 0, sqlite3Expr(db,TK_ASTERISK,0)); + pEList = sqlite3ExprListAppend(pParse, 0, + sqlite3Expr(pParse->db,TK_ASTERISK,0)); } pNew->pEList = pEList; pNew->op = TK_SELECT; @@ -114521,7 +118816,7 @@ SQLITE_PRIVATE Select *sqlite3SelectNew( pNew->addrOpenEphm[0] = -1; pNew->addrOpenEphm[1] = -1; pNew->nSelectRow = 0; - if( pSrc==0 ) pSrc = sqlite3DbMallocZero(db, sizeof(*pSrc)); + if( pSrc==0 ) pSrc = sqlite3DbMallocZero(pParse->db, sizeof(*pSrc)); pNew->pSrc = pSrc; pNew->pWhere = pWhere; pNew->pGroupBy = pGroupBy; @@ -114530,11 +118825,9 @@ SQLITE_PRIVATE Select *sqlite3SelectNew( pNew->pPrior = 0; pNew->pNext = 0; pNew->pLimit = pLimit; - pNew->pOffset = pOffset; pNew->pWith = 0; - assert( pOffset==0 || pLimit!=0 || pParse->nErr>0 || db->mallocFailed!=0 ); - if( db->mallocFailed ) { - clearSelect(db, pNew, pNew!=&standin); + if( pParse->db->mallocFailed ) { + clearSelect(pParse->db, pNew, pNew!=&standin); pNew = 0; }else{ assert( pNew->pSrc!=0 || pParse->nErr>0 ); @@ -114559,7 +118852,7 @@ SQLITE_PRIVATE void sqlite3SelectSetName(Select *p, const char *zName){ ** Delete the given Select structure and all of its substructures. */ SQLITE_PRIVATE void sqlite3SelectDelete(sqlite3 *db, Select *p){ - if( p ) clearSelect(db, p, 1); + if( OK_IF_ALWAYS_TRUE(p) ) clearSelect(db, p, 1); } /* @@ -114723,7 +119016,7 @@ static void addWhereTerm( pE1 = sqlite3CreateColumnExpr(db, pSrc, iLeft, iColLeft); pE2 = sqlite3CreateColumnExpr(db, pSrc, iRight, iColRight); - pEq = sqlite3PExpr(pParse, TK_EQ, pE1, pE2, 0); + pEq = sqlite3PExpr(pParse, TK_EQ, pE1, pE2); if( pEq && isOuterJoin ){ ExprSetProperty(pEq, EP_FromJoin); assert( !ExprHasProperty(pEq, EP_TokenOnly|EP_Reduced) ); @@ -114800,11 +119093,10 @@ static int sqliteProcessJoin(Parse *pParse, Select *p){ pLeft = &pSrc->a[0]; pRight = &pLeft[1]; for(i=0; inSrc-1; i++, pRight++, pLeft++){ - Table *pLeftTab = pLeft->pTab; Table *pRightTab = pRight->pTab; int isOuter; - if( NEVER(pLeftTab==0 || pRightTab==0) ) continue; + if( NEVER(pLeft->pTab==0 || pRightTab==0) ) continue; isOuter = (pRight->fg.jointype & JT_OUTER)!=0; /* When the NATURAL keyword is present, add WHERE clause terms for @@ -114910,7 +119202,7 @@ static void pushOntoSorter( int iLimit; /* LIMIT counter */ assert( bSeq==0 || bSeq==1 ); - assert( nData==1 || regData==regOrigData ); + assert( nData==1 || regData==regOrigData || regOrigData==0 ); if( nPrefixReg ){ assert( nPrefixReg==nExpr+bSeq ); regBase = regData - nExpr - bSeq; @@ -114922,11 +119214,11 @@ static void pushOntoSorter( iLimit = pSelect->iOffset ? pSelect->iOffset+1 : pSelect->iLimit; pSort->labelDone = sqlite3VdbeMakeLabel(v); sqlite3ExprCodeExprList(pParse, pSort->pOrderBy, regBase, regOrigData, - SQLITE_ECEL_DUP|SQLITE_ECEL_REF); + SQLITE_ECEL_DUP | (regOrigData? SQLITE_ECEL_REF : 0)); if( bSeq ){ sqlite3VdbeAddOp2(v, OP_Sequence, pSort->iECursor, regBase+nExpr); } - if( nPrefixReg==0 ){ + if( nPrefixReg==0 && nData>0 ){ sqlite3ExprCodeMove(pParse, regData, regBase+nExpr+bSeq, nData); } sqlite3VdbeAddOp3(v, OP_MakeRecord, regBase+nOBSat, nBase-nOBSat, regRecord); @@ -114952,11 +119244,11 @@ static void pushOntoSorter( if( pParse->db->mallocFailed ) return; pOp->p2 = nKey + nData; pKI = pOp->p4.pKeyInfo; - memset(pKI->aSortOrder, 0, pKI->nField); /* Makes OP_Jump below testable */ + memset(pKI->aSortOrder, 0, pKI->nKeyField); /* Makes OP_Jump testable */ sqlite3VdbeChangeP4(v, -1, (char*)pKI, P4_KEYINFO); - testcase( pKI->nXField>2 ); + testcase( pKI->nAllField > pKI->nKeyField+2 ); pOp->p4.pKeyInfo = keyInfoFromExprList(pParse, pSort->pOrderBy, nOBSat, - pKI->nXField-1); + pKI->nAllField-pKI->nKeyField-1); addrJmp = sqlite3VdbeCurrentAddr(v); sqlite3VdbeAddOp3(v, OP_Jump, addrJmp+1, 0, addrJmp+1); VdbeCoverage(v); pSort->labelBkOut = sqlite3VdbeMakeLabel(v); @@ -114976,7 +119268,8 @@ static void pushOntoSorter( }else{ op = OP_IdxInsert; } - sqlite3VdbeAddOp2(v, op, pSort->iECursor, regRecord); + sqlite3VdbeAddOp4Int(v, op, pSort->iECursor, regRecord, + regBase+nOBSat, nBase-nOBSat); if( iLimit ){ int addr; int r1 = 0; @@ -114984,7 +119277,7 @@ static void pushOntoSorter( ** register is initialized with value of LIMIT+OFFSET.) After the sorter ** fills up, delete the least entry in the sorter after each insert. ** Thus we never hold more than the LIMIT+OFFSET rows in memory at once */ - addr = sqlite3VdbeAddOp3(v, OP_IfNotZero, iLimit, 0, 1); VdbeCoverage(v); + addr = sqlite3VdbeAddOp1(v, OP_IfNotZero, iLimit); VdbeCoverage(v); sqlite3VdbeAddOp1(v, OP_Last, pSort->iECursor); if( pSort->bOrderedInnerLoop ){ r1 = ++pParse->nMem; @@ -115044,7 +119337,8 @@ static void codeDistinct( r1 = sqlite3GetTempReg(pParse); sqlite3VdbeAddOp4Int(v, OP_Found, iTab, addrRepeat, iMem, N); VdbeCoverage(v); sqlite3VdbeAddOp3(v, OP_MakeRecord, iMem, N, r1); - sqlite3VdbeAddOp2(v, OP_IdxInsert, iTab, r1); + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iTab, r1, iMem, N); + sqlite3VdbeChangeP5(v, OPFLAG_USESEEKRESULT); sqlite3ReleaseTempReg(pParse, r1); } @@ -115052,16 +119346,15 @@ static void codeDistinct( ** This routine generates the code for the inside of the inner loop ** of a SELECT. ** -** If srcTab is negative, then the pEList expressions +** If srcTab is negative, then the p->pEList expressions ** are evaluated in order to get the data for this row. If srcTab is -** zero or more, then data is pulled from srcTab and pEList is used only -** to get number columns and the datatype for each column. +** zero or more, then data is pulled from srcTab and p->pEList is used only +** to get the number of columns and the collation sequence for each column. */ static void selectInnerLoop( Parse *pParse, /* The parser context */ Select *p, /* The complete select statement being coded */ - ExprList *pEList, /* List of values being extracted */ - int srcTab, /* Pull data from this table */ + int srcTab, /* Pull data from this table if non-negative */ SortCtx *pSort, /* If not NULL, info on how to process ORDER BY */ DistinctCtx *pDistinct, /* If not NULL, info on how to process DISTINCT */ SelectDest *pDest, /* How to dispose of the results */ @@ -115070,15 +119363,22 @@ static void selectInnerLoop( ){ Vdbe *v = pParse->pVdbe; int i; - int hasDistinct; /* True if the DISTINCT keyword is present */ - int regResult; /* Start of memory holding result set */ + int hasDistinct; /* True if the DISTINCT keyword is present */ int eDest = pDest->eDest; /* How to dispose of results */ int iParm = pDest->iSDParm; /* First argument to disposal method */ int nResultCol; /* Number of result columns */ int nPrefixReg = 0; /* Number of extra registers before regResult */ + /* Usually, regResult is the first cell in an array of memory cells + ** containing the current result row. In this case regOrig is set to the + ** same value. However, if the results are being sent to the sorter, the + ** values for any expressions that are also part of the sort-key are omitted + ** from this array. In this case regOrig is set to zero. */ + int regResult; /* Start of memory holding current results */ + int regOrig; /* Start of memory holding full result (or 0) */ + assert( v ); - assert( pEList!=0 ); + assert( p->pEList!=0 ); hasDistinct = pDistinct ? pDistinct->eTnctType : WHERE_DISTINCT_NOOP; if( pSort && pSort->pOrderBy==0 ) pSort = 0; if( pSort==0 && !hasDistinct ){ @@ -115088,7 +119388,7 @@ static void selectInnerLoop( /* Pull the requested columns. */ - nResultCol = pEList->nExpr; + nResultCol = p->pEList->nExpr; if( pDest->iSdst==0 ){ if( pSort ){ @@ -115107,11 +119407,11 @@ static void selectInnerLoop( pParse->nMem += nResultCol; } pDest->nSdst = nResultCol; - regResult = pDest->iSdst; + regOrig = regResult = pDest->iSdst; if( srcTab>=0 ){ for(i=0; ia[i].zName)); + VdbeComment((v, "%s", p->pEList->a[i].zName)); } }else if( eDest!=SRT_Exists ){ /* If the destination is an EXISTS(...) expression, the actual @@ -115123,7 +119423,26 @@ static void selectInnerLoop( }else{ ecelFlags = 0; } - sqlite3ExprCodeExprList(pParse, pEList, regResult, 0, ecelFlags); + if( pSort && hasDistinct==0 && eDest!=SRT_EphemTab && eDest!=SRT_Table ){ + /* For each expression in p->pEList that is a copy of an expression in + ** the ORDER BY clause (pSort->pOrderBy), set the associated + ** iOrderByCol value to one more than the index of the ORDER BY + ** expression within the sort-key that pushOntoSorter() will generate. + ** This allows the p->pEList field to be omitted from the sorted record, + ** saving space and CPU cycles. */ + ecelFlags |= (SQLITE_ECEL_OMITREF|SQLITE_ECEL_REF); + for(i=pSort->nOBSat; ipOrderBy->nExpr; i++){ + int j; + if( (j = pSort->pOrderBy->a[i].u.x.iOrderByCol)>0 ){ + p->pEList->a[j-1].u.x.iOrderByCol = i+1-pSort->nOBSat; + } + } + regOrig = 0; + assert( eDest==SRT_Set || eDest==SRT_Mem + || eDest==SRT_Coroutine || eDest==SRT_Output ); + } + nResultCol = sqlite3ExprCodeExprList(pParse,p->pEList,regResult, + 0,ecelFlags); } /* If the DISTINCT keyword was present on the SELECT statement @@ -115155,7 +119474,7 @@ static void selectInnerLoop( iJump = sqlite3VdbeCurrentAddr(v) + nResultCol; for(i=0; ia[i].pExpr); + CollSeq *pColl = sqlite3ExprCollSeq(pParse, p->pEList->a[i].pExpr); if( izAffSdst)==nResultCol ); sqlite3VdbeAddOp4(v, OP_MakeRecord, regResult, nResultCol, r1, pDest->zAffSdst, nResultCol); sqlite3ExprCacheAffinityChange(pParse, regResult, nResultCol); - sqlite3VdbeAddOp2(v, OP_IdxInsert, iParm, r1); + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iParm, r1, regResult, nResultCol); sqlite3ReleaseTempReg(pParse, r1); } break; @@ -115289,11 +119608,12 @@ static void selectInnerLoop( ** memory cells and break out of the scan loop. */ case SRT_Mem: { - assert( nResultCol==pDest->nSdst ); if( pSort ){ + assert( nResultCol<=pDest->nSdst ); pushOntoSorter( - pParse, pSort, p, regResult, regResult, nResultCol, nPrefixReg); + pParse, pSort, p, regResult, regOrig, nResultCol, nPrefixReg); }else{ + assert( nResultCol==pDest->nSdst ); assert( regResult==iParm ); /* The LIMIT clause will jump out of the loop for us */ } @@ -115306,7 +119626,7 @@ static void selectInnerLoop( testcase( eDest==SRT_Coroutine ); testcase( eDest==SRT_Output ); if( pSort ){ - pushOntoSorter(pParse, pSort, p, regResult, regResult, nResultCol, + pushOntoSorter(pParse, pSort, p, regResult, regOrig, nResultCol, nPrefixReg); }else if( eDest==SRT_Coroutine ){ sqlite3VdbeAddOp1(v, OP_Yield, pDest->iSDParm); @@ -115356,7 +119676,7 @@ static void selectInnerLoop( } sqlite3VdbeAddOp2(v, OP_Sequence, iParm, r2+nKey); sqlite3VdbeAddOp3(v, OP_MakeRecord, r2, nKey+2, r1); - sqlite3VdbeAddOp2(v, OP_IdxInsert, iParm, r1); + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iParm, r1, r2, nKey+2); if( addrTest ) sqlite3VdbeJumpHere(v, addrTest); sqlite3ReleaseTempReg(pParse, r1); sqlite3ReleaseTempRange(pParse, r2, nKey+2); @@ -115393,12 +119713,12 @@ static void selectInnerLoop( ** X extra columns. */ SQLITE_PRIVATE KeyInfo *sqlite3KeyInfoAlloc(sqlite3 *db, int N, int X){ - int nExtra = (N+X)*(sizeof(CollSeq*)+1); + int nExtra = (N+X)*(sizeof(CollSeq*)+1) - sizeof(CollSeq*); KeyInfo *p = sqlite3DbMallocRawNN(db, sizeof(KeyInfo) + nExtra); if( p ){ p->aSortOrder = (u8*)&p->aColl[N+X]; - p->nField = (u16)N; - p->nXField = (u16)X; + p->nKeyField = (u16)N; + p->nAllField = (u16)(N+X); p->enc = ENC(db); p->db = db; p->nRef = 1; @@ -115416,7 +119736,7 @@ SQLITE_PRIVATE void sqlite3KeyInfoUnref(KeyInfo *p){ if( p ){ assert( p->nRef>0 ); p->nRef--; - if( p->nRef==0 ) sqlite3DbFree(p->db, p); + if( p->nRef==0 ) sqlite3DbFreeNN(p->db, p); } } @@ -115472,10 +119792,7 @@ static KeyInfo *keyInfoFromExprList( if( pInfo ){ assert( sqlite3KeyInfoIsWriteable(pInfo) ); for(i=iStart, pItem=pList->a+iStart; ipExpr); - if( !pColl ) pColl = db->pDfltColl; - pInfo->aColl[i-iStart] = pColl; + pInfo->aColl[i-iStart] = sqlite3ExprNNCollSeq(pParse, pItem->pExpr); pInfo->aSortOrder[i-iStart] = pItem->sortOrder; } } @@ -115591,14 +119908,13 @@ static void generateSortTail( int iParm = pDest->iSDParm; int regRow; int regRowid; + int iCol; int nKey; int iSortTab; /* Sorter cursor to read from */ int nSortData; /* Trailing values to read from sorter */ int i; int bSeq; /* True if sorter record includes seq. no. */ -#ifdef SQLITE_ENABLE_EXPLAIN_COMMENTS struct ExprList_item *aOutEx = p->pEList->a; -#endif assert( addrBreak<0 ); if( pSort->labelBkOut ){ @@ -115636,11 +119952,18 @@ static void generateSortTail( iSortTab = iTab; bSeq = 1; } - for(i=0; izAffSdst, nColumn); sqlite3ExprCacheAffinityChange(pParse, regRow, nColumn); - sqlite3VdbeAddOp2(v, OP_IdxInsert, iParm, regRowid); + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iParm, regRowid, regRow, nColumn); break; } case SRT_Mem: { @@ -115719,23 +120042,23 @@ static void generateSortTail( ** the SQLITE_ENABLE_COLUMN_METADATA compile-time option is used. */ #ifdef SQLITE_ENABLE_COLUMN_METADATA -# define columnType(A,B,C,D,E,F) columnTypeImpl(A,B,C,D,E,F) +# define columnType(A,B,C,D,E) columnTypeImpl(A,B,C,D,E) #else /* if !defined(SQLITE_ENABLE_COLUMN_METADATA) */ -# define columnType(A,B,C,D,E,F) columnTypeImpl(A,B,F) +# define columnType(A,B,C,D,E) columnTypeImpl(A,B) #endif static const char *columnTypeImpl( NameContext *pNC, +#ifndef SQLITE_ENABLE_COLUMN_METADATA + Expr *pExpr +#else Expr *pExpr, -#ifdef SQLITE_ENABLE_COLUMN_METADATA const char **pzOrigDb, const char **pzOrigTab, - const char **pzOrigCol, + const char **pzOrigCol #endif - u8 *pEstWidth ){ char const *zType = 0; int j; - u8 estWidth = 1; #ifdef SQLITE_ENABLE_COLUMN_METADATA char const *zOrigDb = 0; char const *zOrigTab = 0; @@ -115744,8 +120067,9 @@ static const char *columnTypeImpl( assert( pExpr!=0 ); assert( pNC->pSrcList!=0 ); + assert( pExpr->op!=TK_AGG_COLUMN ); /* This routine runes before aggregates + ** are processed */ switch( pExpr->op ){ - case TK_AGG_COLUMN: case TK_COLUMN: { /* The expression is a column. Locate the table the column is being ** extracted from in NameContext.pSrcList. This table may be real @@ -115754,8 +120078,6 @@ static const char *columnTypeImpl( Table *pTab = 0; /* Table structure column is extracted from */ Select *pS = 0; /* Select the column is extracted from */ int iCol = pExpr->iColumn; /* Index of column in pTab */ - testcase( pExpr->op==TK_AGG_COLUMN ); - testcase( pExpr->op==TK_COLUMN ); while( pNC && !pTab ){ SrcList *pTabList = pNC->pSrcList; for(j=0;jnSrc && pTabList->a[j].iCursor!=pExpr->iTable;j++); @@ -115794,46 +120116,42 @@ static const char *columnTypeImpl( ** of the SELECT statement. Return the declaration type and origin ** data for the result-set column of the sub-select. */ - if( iCol>=0 && ALWAYS(iColpEList->nExpr) ){ + if( iCol>=0 && iColpEList->nExpr ){ /* If iCol is less than zero, then the expression requests the ** rowid of the sub-select or view. This expression is legal (see ** test case misc2.2.2) - it always evaluates to NULL. - ** - ** The ALWAYS() is because iCol>=pS->pEList->nExpr will have been - ** caught already by name resolution. */ NameContext sNC; Expr *p = pS->pEList->a[iCol].pExpr; sNC.pSrcList = pS->pSrc; sNC.pNext = pNC; sNC.pParse = pNC->pParse; - zType = columnType(&sNC, p,&zOrigDb,&zOrigTab,&zOrigCol, &estWidth); + zType = columnType(&sNC, p,&zOrigDb,&zOrigTab,&zOrigCol); } - }else if( pTab->pSchema ){ - /* A real table */ + }else{ + /* A real table or a CTE table */ assert( !pS ); - if( iCol<0 ) iCol = pTab->iPKey; - assert( iCol==-1 || (iCol>=0 && iColnCol) ); #ifdef SQLITE_ENABLE_COLUMN_METADATA + if( iCol<0 ) iCol = pTab->iPKey; + assert( iCol==XN_ROWID || (iCol>=0 && iColnCol) ); if( iCol<0 ){ zType = "INTEGER"; zOrigCol = "rowid"; }else{ zOrigCol = pTab->aCol[iCol].zName; zType = sqlite3ColumnType(&pTab->aCol[iCol],0); - estWidth = pTab->aCol[iCol].szEst; } zOrigTab = pTab->zName; - if( pNC->pParse ){ + if( pNC->pParse && pTab->pSchema ){ int iDb = sqlite3SchemaToIndex(pNC->pParse->db, pTab->pSchema); zOrigDb = pNC->pParse->db->aDb[iDb].zDbSName; } #else + assert( iCol==XN_ROWID || (iCol>=0 && iColnCol) ); if( iCol<0 ){ zType = "INTEGER"; }else{ zType = sqlite3ColumnType(&pTab->aCol[iCol],0); - estWidth = pTab->aCol[iCol].szEst; } #endif } @@ -115852,7 +120170,7 @@ static const char *columnTypeImpl( sNC.pSrcList = pS->pSrc; sNC.pNext = pNC; sNC.pParse = pNC->pParse; - zType = columnType(&sNC, p, &zOrigDb, &zOrigTab, &zOrigCol, &estWidth); + zType = columnType(&sNC, p, &zOrigDb, &zOrigTab, &zOrigCol); break; } #endif @@ -115866,7 +120184,6 @@ static const char *columnTypeImpl( *pzOrigCol = zOrigCol; } #endif - if( pEstWidth ) *pEstWidth = estWidth; return zType; } @@ -115885,6 +120202,7 @@ static void generateColumnTypes( NameContext sNC; sNC.pSrcList = pTabList; sNC.pParse = pParse; + sNC.pNext = 0; for(i=0; inExpr; i++){ Expr *p = pEList->a[i].pExpr; const char *zType; @@ -115892,7 +120210,7 @@ static void generateColumnTypes( const char *zOrigDb = 0; const char *zOrigTab = 0; const char *zOrigCol = 0; - zType = columnType(&sNC, p, &zOrigDb, &zOrigTab, &zOrigCol, 0); + zType = columnType(&sNC, p, &zOrigDb, &zOrigTab, &zOrigCol); /* The vdbe must make its own copy of the column-type and other ** column specific strings, in case the schema is reset before this @@ -115902,27 +120220,56 @@ static void generateColumnTypes( sqlite3VdbeSetColName(v, i, COLNAME_TABLE, zOrigTab, SQLITE_TRANSIENT); sqlite3VdbeSetColName(v, i, COLNAME_COLUMN, zOrigCol, SQLITE_TRANSIENT); #else - zType = columnType(&sNC, p, 0, 0, 0, 0); + zType = columnType(&sNC, p, 0, 0, 0); #endif sqlite3VdbeSetColName(v, i, COLNAME_DECLTYPE, zType, SQLITE_TRANSIENT); } #endif /* !defined(SQLITE_OMIT_DECLTYPE) */ } + /* -** Generate code that will tell the VDBE the names of columns -** in the result set. This information is used to provide the -** azCol[] values in the callback. +** Compute the column names for a SELECT statement. +** +** The only guarantee that SQLite makes about column names is that if the +** column has an AS clause assigning it a name, that will be the name used. +** That is the only documented guarantee. However, countless applications +** developed over the years have made baseless assumptions about column names +** and will break if those assumptions changes. Hence, use extreme caution +** when modifying this routine to avoid breaking legacy. +** +** See Also: sqlite3ColumnsFromExprList() +** +** The PRAGMA short_column_names and PRAGMA full_column_names settings are +** deprecated. The default setting is short=ON, full=OFF. 99.9% of all +** applications should operate this way. Nevertheless, we need to support the +** other modes for legacy: +** +** short=OFF, full=OFF: Column name is the text of the expression has it +** originally appears in the SELECT statement. In +** other words, the zSpan of the result expression. +** +** short=ON, full=OFF: (This is the default setting). If the result +** refers directly to a table column, then the +** result column name is just the table column +** name: COLUMN. Otherwise use zSpan. +** +** full=ON, short=ANY: If the result refers directly to a table column, +** then the result column name with the table name +** prefix, ex: TABLE.COLUMN. Otherwise use zSpan. */ static void generateColumnNames( Parse *pParse, /* Parser context */ - SrcList *pTabList, /* List of tables */ - ExprList *pEList /* Expressions defining the result set */ + Select *pSelect /* Generate column names for this SELECT statement */ ){ Vdbe *v = pParse->pVdbe; - int i, j; + int i; + Table *pTab; + SrcList *pTabList; + ExprList *pEList; sqlite3 *db = pParse->db; - int fullNames, shortNames; + int fullName; /* TABLE.COLUMN if no AS clause and is a direct table ref */ + int srcName; /* COLUMN or TABLE.COLUMN if no AS clause and is direct */ #ifndef SQLITE_OMIT_EXPLAIN /* If this is an EXPLAIN, skip this step */ @@ -115932,28 +120279,32 @@ static void generateColumnNames( #endif if( pParse->colNamesSet || db->mallocFailed ) return; + /* Column names are determined by the left-most term of a compound select */ + while( pSelect->pPrior ) pSelect = pSelect->pPrior; + SELECTTRACE(1,pParse,pSelect,("generating column names\n")); + pTabList = pSelect->pSrc; + pEList = pSelect->pEList; assert( v!=0 ); assert( pTabList!=0 ); pParse->colNamesSet = 1; - fullNames = (db->flags & SQLITE_FullColNames)!=0; - shortNames = (db->flags & SQLITE_ShortColNames)!=0; + fullName = (db->flags & SQLITE_FullColNames)!=0; + srcName = (db->flags & SQLITE_ShortColNames)!=0 || fullName; sqlite3VdbeSetNumCols(v, pEList->nExpr); for(i=0; inExpr; i++){ - Expr *p; - p = pEList->a[i].pExpr; - if( NEVER(p==0) ) continue; + Expr *p = pEList->a[i].pExpr; + + assert( p!=0 ); + assert( p->op!=TK_AGG_COLUMN ); /* Agg processing has not run yet */ + assert( p->op!=TK_COLUMN || p->pTab!=0 ); /* Covering idx not yet coded */ if( pEList->a[i].zName ){ + /* An AS clause always takes first priority */ char *zName = pEList->a[i].zName; sqlite3VdbeSetColName(v, i, COLNAME_NAME, zName, SQLITE_TRANSIENT); - }else if( p->op==TK_COLUMN || p->op==TK_AGG_COLUMN ){ - Table *pTab; + }else if( srcName && p->op==TK_COLUMN ){ char *zCol; int iCol = p->iColumn; - for(j=0; ALWAYS(jnSrc); j++){ - if( pTabList->a[j].iCursor==p->iTable ) break; - } - assert( jnSrc ); - pTab = pTabList->a[j].pTab; + pTab = p->pTab; + assert( pTab!=0 ); if( iCol<0 ) iCol = pTab->iPKey; assert( iCol==-1 || (iCol>=0 && iColnCol) ); if( iCol<0 ){ @@ -115961,10 +120312,7 @@ static void generateColumnNames( }else{ zCol = pTab->aCol[iCol].zName; } - if( !shortNames && !fullNames ){ - sqlite3VdbeSetColName(v, i, COLNAME_NAME, - sqlite3DbStrDup(db, pEList->a[i].zSpan), SQLITE_DYNAMIC); - }else if( fullNames ){ + if( fullName ){ char *zName = 0; zName = sqlite3MPrintf(db, "%s.%s", pTab->zName, zCol); sqlite3VdbeSetColName(v, i, COLNAME_NAME, zName, SQLITE_DYNAMIC); @@ -115992,6 +120340,15 @@ static void generateColumnNames( ** ** Return SQLITE_OK on success. If a memory allocation error occurs, ** store NULL in *paCol and 0 in *pnCol and return SQLITE_NOMEM. +** +** The only guarantee that SQLite makes about column names is that if the +** column has an AS clause assigning it a name, that will be the name used. +** That is the only documented guarantee. However, countless applications +** developed over the years have made baseless assumptions about column names +** and will break if those assumptions changes. Hence, use extreme caution +** when modifying this routine to avoid breaking legacy. +** +** See Also: generateColumnNames() */ SQLITE_PRIVATE int sqlite3ColumnsFromExprList( Parse *pParse, /* Parsing context */ @@ -116004,7 +120361,6 @@ SQLITE_PRIVATE int sqlite3ColumnsFromExprList( u32 cnt; /* Index added to make the name unique */ Column *aCol, *pCol; /* For looping over result columns */ int nCol; /* Number of columns in the result set */ - Expr *p; /* Expression for a single result column */ char *zName; /* Column name */ int nName; /* Size of name in zName[] */ Hash ht; /* Hash table of column names */ @@ -116014,6 +120370,7 @@ SQLITE_PRIVATE int sqlite3ColumnsFromExprList( nCol = pEList->nExpr; aCol = sqlite3DbMallocZero(db, sizeof(aCol[0])*nCol); testcase( aCol==0 ); + if( nCol>32767 ) nCol = 32767; }else{ nCol = 0; aCol = 0; @@ -116025,20 +120382,20 @@ SQLITE_PRIVATE int sqlite3ColumnsFromExprList( for(i=0, pCol=aCol; imallocFailed; i++, pCol++){ /* Get an appropriate name for the column */ - p = sqlite3ExprSkipCollate(pEList->a[i].pExpr); if( (zName = pEList->a[i].zName)!=0 ){ /* If the column contains an "AS " phrase, use as the name */ }else{ - Expr *pColExpr = p; /* The expression that is the result column name */ - Table *pTab; /* Table associated with this expression */ + Expr *pColExpr = sqlite3ExprSkipCollate(pEList->a[i].pExpr); while( pColExpr->op==TK_DOT ){ pColExpr = pColExpr->pRight; assert( pColExpr!=0 ); } - if( pColExpr->op==TK_COLUMN && ALWAYS(pColExpr->pTab!=0) ){ + assert( pColExpr->op!=TK_AGG_COLUMN ); + if( pColExpr->op==TK_COLUMN ){ /* For columns use the column name name */ int iCol = pColExpr->iColumn; - pTab = pColExpr->pTab; + Table *pTab = pColExpr->pTab; + assert( pTab!=0 ); if( iCol<0 ) iCol = pTab->iPKey; zName = iCol>=0 ? pTab->aCol[iCol].zName : "rowid"; }else if( pColExpr->op==TK_ID ){ @@ -116049,7 +120406,11 @@ SQLITE_PRIVATE int sqlite3ColumnsFromExprList( zName = pEList->a[i].zSpan; } } - zName = sqlite3MPrintf(db, "%s", zName); + if( zName ){ + zName = sqlite3DbStrDup(db, zName); + }else{ + zName = sqlite3MPrintf(db,"column%d",i+1); + } /* Make sure the column name is unique. If the name is not unique, ** append an integer to the name so that it becomes unique. @@ -116106,7 +120467,6 @@ SQLITE_PRIVATE void sqlite3SelectAddColumnTypeAndCollation( int i; Expr *p; struct ExprList_item *a; - u64 szAll = 0; assert( pSelect!=0 ); assert( (pSelect->selFlags & SF_Resolved)!=0 ); @@ -116119,10 +120479,11 @@ SQLITE_PRIVATE void sqlite3SelectAddColumnTypeAndCollation( const char *zType; int n, m; p = a[i].pExpr; - zType = columnType(&sNC, p, 0, 0, 0, &pCol->szEst); - szAll += pCol->szEst; + zType = columnType(&sNC, p, 0, 0, 0); + /* pCol->szEst = ... // Column size est for SELECT tables never used */ pCol->affinity = sqlite3ExprAffinity(p); - if( zType && (m = sqlite3Strlen30(zType))>0 ){ + if( zType ){ + m = sqlite3Strlen30(zType); n = sqlite3Strlen30(pCol->zName); pCol->zName = sqlite3DbReallocOrFree(db, pCol->zName, n+m+2); if( pCol->zName ){ @@ -116136,7 +120497,7 @@ SQLITE_PRIVATE void sqlite3SelectAddColumnTypeAndCollation( pCol->zColl = sqlite3DbStrDup(db, pColl->zName); } } - pTab->szTabRow = sqlite3LogEst(szAll*4); + pTab->szTabRow = 1; /* Any non-zero value works */ } /* @@ -116162,7 +120523,7 @@ SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect){ /* The sqlite3ResultSetOfSelect() is only used n contexts where lookaside ** is disabled */ assert( db->lookaside.bDisable ); - pTab->nRef = 1; + pTab->nTabRef = 1; pTab->zName = 0; pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); sqlite3ColumnsFromExprList(pParse, pSelect->pEList, &pTab->nCol, &pTab->aCol); @@ -116179,25 +120540,22 @@ SQLITE_PRIVATE Table *sqlite3ResultSetOfSelect(Parse *pParse, Select *pSelect){ ** Get a VDBE for the given parser context. Create a new one if necessary. ** If an error occurs, return NULL and leave a message in pParse. */ -static SQLITE_NOINLINE Vdbe *allocVdbe(Parse *pParse){ - Vdbe *v = pParse->pVdbe = sqlite3VdbeCreate(pParse); - if( v ) sqlite3VdbeAddOp2(v, OP_Init, 0, 1); +SQLITE_PRIVATE Vdbe *sqlite3GetVdbe(Parse *pParse){ + if( pParse->pVdbe ){ + return pParse->pVdbe; + } if( pParse->pToplevel==0 && OptimizationEnabled(pParse->db,SQLITE_FactorOutConst) ){ pParse->okConstFactor = 1; } - return v; -} -SQLITE_PRIVATE Vdbe *sqlite3GetVdbe(Parse *pParse){ - Vdbe *v = pParse->pVdbe; - return v ? v : allocVdbe(pParse); + return sqlite3VdbeCreate(pParse); } /* ** Compute the iLimit and iOffset fields of the SELECT based on the -** pLimit and pOffset expressions. pLimit and pOffset hold the expressions +** pLimit expressions. pLimit->pLeft and pLimit->pRight hold the expressions ** that appear in the original SQL statement after the LIMIT and OFFSET ** keywords. Or NULL if those keywords are omitted. iLimit and iOffset ** are the integer memory register numbers for counters used to compute @@ -116205,15 +120563,15 @@ SQLITE_PRIVATE Vdbe *sqlite3GetVdbe(Parse *pParse){ ** iLimit and iOffset are negative. ** ** This routine changes the values of iLimit and iOffset only if -** a limit or offset is defined by pLimit and pOffset. iLimit and -** iOffset should have been preset to appropriate default values (zero) +** a limit or offset is defined by pLimit->pLeft and pLimit->pRight. iLimit +** and iOffset should have been preset to appropriate default values (zero) ** prior to calling this routine. ** ** The iOffset register (if it exists) is initialized to the value ** of the OFFSET. The iLimit register is initialized to LIMIT. Register ** iOffset+1 is initialized to LIMIT+OFFSET. ** -** Only if pLimit!=0 or pOffset!=0 do the limit registers get +** Only if pLimit->pLeft!=0 do the limit registers get ** redefined. The UNION ALL operator uses this property to force ** the reuse of the same limit and offset registers across multiple ** SELECT statements. @@ -116223,6 +120581,8 @@ static void computeLimitRegisters(Parse *pParse, Select *p, int iBreak){ int iLimit = 0; int iOffset; int n; + Expr *pLimit = p->pLimit; + if( p->iLimit ) return; /* @@ -116232,12 +120592,13 @@ static void computeLimitRegisters(Parse *pParse, Select *p, int iBreak){ ** no rows. */ sqlite3ExprCacheClear(pParse); - assert( p->pOffset==0 || p->pLimit!=0 ); - if( p->pLimit ){ + if( pLimit ){ + assert( pLimit->op==TK_LIMIT ); + assert( pLimit->pLeft!=0 ); p->iLimit = iLimit = ++pParse->nMem; v = sqlite3GetVdbe(pParse); assert( v!=0 ); - if( sqlite3ExprIsInteger(p->pLimit, &n) ){ + if( sqlite3ExprIsInteger(pLimit->pLeft, &n) ){ sqlite3VdbeAddOp2(v, OP_Integer, n, iLimit); VdbeComment((v, "LIMIT counter")); if( n==0 ){ @@ -116247,15 +120608,15 @@ static void computeLimitRegisters(Parse *pParse, Select *p, int iBreak){ p->selFlags |= SF_FixedLimit; } }else{ - sqlite3ExprCode(pParse, p->pLimit, iLimit); + sqlite3ExprCode(pParse, pLimit->pLeft, iLimit); sqlite3VdbeAddOp1(v, OP_MustBeInt, iLimit); VdbeCoverage(v); VdbeComment((v, "LIMIT counter")); sqlite3VdbeAddOp2(v, OP_IfNot, iLimit, iBreak); VdbeCoverage(v); } - if( p->pOffset ){ + if( pLimit->pRight ){ p->iOffset = iOffset = ++pParse->nMem; pParse->nMem++; /* Allocate an extra register for limit+offset */ - sqlite3ExprCode(pParse, p->pOffset, iOffset); + sqlite3ExprCode(pParse, pLimit->pRight, iOffset); sqlite3VdbeAddOp1(v, OP_MustBeInt, iOffset); VdbeCoverage(v); VdbeComment((v, "OFFSET counter")); sqlite3VdbeAddOp3(v, OP_OffsetLimit, iLimit, iOffset+1, iOffset); @@ -116385,7 +120746,7 @@ static void generateWithRecursiveQuery( int i; /* Loop counter */ int rc; /* Result code */ ExprList *pOrderBy; /* The ORDER BY clause */ - Expr *pLimit, *pOffset; /* Saved LIMIT and OFFSET */ + Expr *pLimit; /* Saved LIMIT and OFFSET */ int regLimit, regOffset; /* Registers used by LIMIT and OFFSET */ /* Obtain authorization to do a recursive query */ @@ -116393,12 +120754,12 @@ static void generateWithRecursiveQuery( /* Process the LIMIT and OFFSET clauses, if they exist */ addrBreak = sqlite3VdbeMakeLabel(v); + p->nSelectRow = 320; /* 4 billion rows */ computeLimitRegisters(pParse, p, addrBreak); pLimit = p->pLimit; - pOffset = p->pOffset; regLimit = p->iLimit; regOffset = p->iOffset; - p->pLimit = p->pOffset = 0; + p->pLimit = 0; p->iLimit = p->iOffset = 0; pOrderBy = p->pOrderBy; @@ -116463,7 +120824,7 @@ static void generateWithRecursiveQuery( /* Output the single row in Current */ addrCont = sqlite3VdbeMakeLabel(v); codeOffset(v, regOffset, addrCont); - selectInnerLoop(pParse, p, p->pEList, iCurrent, + selectInnerLoop(pParse, p, iCurrent, 0, 0, pDest, addrCont, addrBreak); if( regLimit ){ sqlite3VdbeAddOp2(v, OP_DecrJumpZero, regLimit, addrBreak); @@ -116491,7 +120852,6 @@ static void generateWithRecursiveQuery( sqlite3ExprListDelete(pParse->db, p->pOrderBy); p->pOrderBy = pOrderBy; p->pLimit = pLimit; - p->pOffset = pOffset; return; } #endif /* SQLITE_OMIT_CTE */ @@ -116510,9 +120870,14 @@ static int multiSelectOrderBy( ** on a VALUES clause. ** ** Because the Select object originates from a VALUES clause: -** (1) It has no LIMIT or OFFSET +** (1) There is no LIMIT or OFFSET or else there is a LIMIT of exactly 1 ** (2) All terms are UNION ALL ** (3) There is no ORDER BY clause +** +** The "LIMIT of exactly 1" case of condition (1) comes about when a VALUES +** clause occurs within scalar expression (ex: "SELECT (VALUES(1),(2),(3))"). +** The sqlite3CodeSubselect will have added the LIMIT 1 clause in tht case. +** Since the limit is exactly 1, we only need to evalutes the left-most VALUES. */ static int multiSelectValues( Parse *pParse, /* Parsing context */ @@ -116520,14 +120885,13 @@ static int multiSelectValues( SelectDest *pDest /* What to do with query results */ ){ Select *pPrior; + Select *pRightmost = p; int nRow = 1; int rc = 0; assert( p->selFlags & SF_MultiValue ); do{ assert( p->selFlags & SF_Values ); assert( p->op==TK_ALL || (p->op==TK_SELECT && p->pPrior==0) ); - assert( p->pLimit==0 ); - assert( p->pOffset==0 ); assert( p->pNext==0 || p->pEList->nExpr==p->pNext->pEList->nExpr ); if( p->pPrior==0 ) break; assert( p->pPrior->pNext==p ); @@ -116539,7 +120903,7 @@ static int multiSelectValues( p->pPrior = 0; rc = sqlite3Select(pParse, p, pDest); p->pPrior = pPrior; - if( rc ) break; + if( rc || pRightmost->pLimit ) break; p->nSelectRow = nRow; p = p->pNext; } @@ -116601,15 +120965,9 @@ static int multiSelect( db = pParse->db; pPrior = p->pPrior; dest = *pDest; - if( pPrior->pOrderBy ){ - sqlite3ErrorMsg(pParse,"ORDER BY clause should come after %s not before", - selectOpName(p->op)); - rc = 1; - goto multi_select_end; - } - if( pPrior->pLimit ){ - sqlite3ErrorMsg(pParse,"LIMIT clause should come after %s not before", - selectOpName(p->op)); + if( pPrior->pOrderBy || pPrior->pLimit ){ + sqlite3ErrorMsg(pParse,"%s clause should come after %s not before", + pPrior->pOrderBy!=0 ? "ORDER BY" : "LIMIT", selectOpName(p->op)); rc = 1; goto multi_select_end; } @@ -116660,11 +121018,9 @@ static int multiSelect( pPrior->iLimit = p->iLimit; pPrior->iOffset = p->iOffset; pPrior->pLimit = p->pLimit; - pPrior->pOffset = p->pOffset; explainSetInteger(iSub1, pParse->iNextSelectId); rc = sqlite3Select(pParse, pPrior, &dest); p->pLimit = 0; - p->pOffset = 0; if( rc ){ goto multi_select_end; } @@ -116686,7 +121042,7 @@ static int multiSelect( p->pPrior = pPrior; p->nSelectRow = sqlite3LogEstAdd(p->nSelectRow, pPrior->nSelectRow); if( pPrior->pLimit - && sqlite3ExprIsInteger(pPrior->pLimit, &nLimit) + && sqlite3ExprIsInteger(pPrior->pLimit->pLeft, &nLimit) && nLimit>0 && p->nSelectRow > sqlite3LogEst((u64)nLimit) ){ p->nSelectRow = sqlite3LogEst((u64)nLimit); @@ -116701,7 +121057,7 @@ static int multiSelect( int unionTab; /* Cursor number of the temporary table holding result */ u8 op = 0; /* One of the SRT_ operations to apply to self */ int priorOp; /* The SRT_ operation to apply to prior selects */ - Expr *pLimit, *pOffset; /* Saved values of p->nLimit and p->nOffset */ + Expr *pLimit; /* Saved values of p->nLimit */ int addr; SelectDest uniondest; @@ -116713,7 +121069,6 @@ static int multiSelect( ** right. */ assert( p->pLimit==0 ); /* Not allowed on leftward elements */ - assert( p->pOffset==0 ); /* Not allowed on leftward elements */ unionTab = dest.iSDParm; }else{ /* We will need to create our own temporary table to hold the @@ -116749,8 +121104,6 @@ static int multiSelect( p->pPrior = 0; pLimit = p->pLimit; p->pLimit = 0; - pOffset = p->pOffset; - p->pOffset = 0; uniondest.eDest = op; explainSetInteger(iSub2, pParse->iNextSelectId); rc = sqlite3Select(pParse, p, &uniondest); @@ -116766,7 +121119,6 @@ static int multiSelect( } sqlite3ExprDelete(db, p->pLimit); p->pLimit = pLimit; - p->pOffset = pOffset; p->iLimit = 0; p->iOffset = 0; @@ -116777,17 +121129,12 @@ static int multiSelect( if( dest.eDest!=priorOp ){ int iCont, iBreak, iStart; assert( p->pEList ); - if( dest.eDest==SRT_Output ){ - Select *pFirst = p; - while( pFirst->pPrior ) pFirst = pFirst->pPrior; - generateColumnNames(pParse, pFirst->pSrc, pFirst->pEList); - } iBreak = sqlite3VdbeMakeLabel(v); iCont = sqlite3VdbeMakeLabel(v); computeLimitRegisters(pParse, p, iBreak); sqlite3VdbeAddOp2(v, OP_Rewind, unionTab, iBreak); VdbeCoverage(v); iStart = sqlite3VdbeCurrentAddr(v); - selectInnerLoop(pParse, p, p->pEList, unionTab, + selectInnerLoop(pParse, p, unionTab, 0, 0, &dest, iCont, iBreak); sqlite3VdbeResolveLabel(v, iCont); sqlite3VdbeAddOp2(v, OP_Next, unionTab, iStart); VdbeCoverage(v); @@ -116799,7 +121146,7 @@ static int multiSelect( default: assert( p->op==TK_INTERSECT ); { int tab1, tab2; int iCont, iBreak, iStart; - Expr *pLimit, *pOffset; + Expr *pLimit; int addr; SelectDest intersectdest; int r1; @@ -116835,8 +121182,6 @@ static int multiSelect( p->pPrior = 0; pLimit = p->pLimit; p->pLimit = 0; - pOffset = p->pOffset; - p->pOffset = 0; intersectdest.iSDParm = tab2; explainSetInteger(iSub2, pParse->iNextSelectId); rc = sqlite3Select(pParse, p, &intersectdest); @@ -116846,26 +121191,20 @@ static int multiSelect( if( p->nSelectRow>pPrior->nSelectRow ) p->nSelectRow = pPrior->nSelectRow; sqlite3ExprDelete(db, p->pLimit); p->pLimit = pLimit; - p->pOffset = pOffset; /* Generate code to take the intersection of the two temporary ** tables. */ assert( p->pEList ); - if( dest.eDest==SRT_Output ){ - Select *pFirst = p; - while( pFirst->pPrior ) pFirst = pFirst->pPrior; - generateColumnNames(pParse, pFirst->pSrc, pFirst->pEList); - } iBreak = sqlite3VdbeMakeLabel(v); iCont = sqlite3VdbeMakeLabel(v); computeLimitRegisters(pParse, p, iBreak); sqlite3VdbeAddOp2(v, OP_Rewind, tab1, iBreak); VdbeCoverage(v); r1 = sqlite3GetTempReg(pParse); - iStart = sqlite3VdbeAddOp2(v, OP_RowKey, tab1, r1); + iStart = sqlite3VdbeAddOp2(v, OP_RowData, tab1, r1); sqlite3VdbeAddOp4Int(v, OP_NotFound, tab2, iCont, r1, 0); VdbeCoverage(v); sqlite3ReleaseTempReg(pParse, r1); - selectInnerLoop(pParse, p, p->pEList, tab1, + selectInnerLoop(pParse, p, tab1, 0, 0, &dest, iCont, iBreak); sqlite3VdbeResolveLabel(v, iCont); sqlite3VdbeAddOp2(v, OP_Next, tab1, iStart); VdbeCoverage(v); @@ -117029,7 +121368,8 @@ static int generateOutputSubroutine( sqlite3VdbeAddOp4(v, OP_MakeRecord, pIn->iSdst, pIn->nSdst, r1, pDest->zAffSdst, pIn->nSdst); sqlite3ExprCacheAffinityChange(pParse, pIn->iSdst, pIn->nSdst); - sqlite3VdbeAddOp2(v, OP_IdxInsert, pDest->iSDParm, r1); + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, pDest->iSDParm, r1, + pIn->iSdst, pIn->nSdst); sqlite3ReleaseTempReg(pParse, r1); break; } @@ -117253,7 +121593,7 @@ static int multiSelectOrderBy( if( pNew==0 ) return SQLITE_NOMEM_BKPT; pNew->flags |= EP_IntValue; pNew->u.iValue = i; - pOrderBy = sqlite3ExprListAppend(pParse, pOrderBy, pNew); + p->pOrderBy = pOrderBy = sqlite3ExprListAppend(pParse, pOrderBy, pNew); if( pOrderBy ) pOrderBy->a[nOrderBy++].u.x.iOrderByCol = (u16)i; } } @@ -117329,8 +121669,6 @@ static int multiSelectOrderBy( } sqlite3ExprDelete(db, p->pLimit); p->pLimit = 0; - sqlite3ExprDelete(db, p->pOffset); - p->pOffset = 0; regAddrA = ++pParse->nMem; regAddrB = ++pParse->nMem; @@ -117463,14 +121801,6 @@ static int multiSelectOrderBy( */ sqlite3VdbeResolveLabel(v, labelEnd); - /* Set the number of output columns - */ - if( pDest->eDest==SRT_Output ){ - Select *pFirst = pPrior; - while( pFirst->pPrior ) pFirst = pFirst->pPrior; - generateColumnNames(pParse, pFirst->pSrc, pFirst->pEList); - } - /* Reassembly the compound query so that it will be freed correctly ** by the calling function */ if( p->pPrior ){ @@ -117487,9 +121817,24 @@ static int multiSelectOrderBy( #endif #if !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) + +/* An instance of the SubstContext object describes an substitution edit +** to be performed on a parse tree. +** +** All references to columns in table iTable are to be replaced by corresponding +** expressions in pEList. +*/ +typedef struct SubstContext { + Parse *pParse; /* The parsing context */ + int iTable; /* Replace references to this table */ + int iNewTable; /* New table number */ + int isLeftJoin; /* Add TK_IF_NULL_ROW opcodes on each replacement */ + ExprList *pEList; /* Replacement expressions */ +} SubstContext; + /* Forward Declarations */ -static void substExprList(sqlite3*, ExprList*, int, ExprList*); -static void substSelect(sqlite3*, Select *, int, ExprList*, int); +static void substExprList(SubstContext*, ExprList*); +static void substSelect(SubstContext*, Select*, int); /* ** Scan through the expression pExpr. Replace every reference to @@ -117500,74 +121845,97 @@ static void substSelect(sqlite3*, Select *, int, ExprList*, int); ** This routine is part of the flattening procedure. A subquery ** whose result set is defined by pEList appears as entry in the ** FROM clause of a SELECT such that the VDBE cursor assigned to that -** FORM clause entry is iTable. This routine make the necessary +** FORM clause entry is iTable. This routine makes the necessary ** changes to pExpr so that it refers directly to the source table ** of the subquery rather the result set of the subquery. */ static Expr *substExpr( - sqlite3 *db, /* Report malloc errors to this connection */ - Expr *pExpr, /* Expr in which substitution occurs */ - int iTable, /* Table to be substituted */ - ExprList *pEList /* Substitute expressions */ + SubstContext *pSubst, /* Description of the substitution */ + Expr *pExpr /* Expr in which substitution occurs */ ){ if( pExpr==0 ) return 0; - if( pExpr->op==TK_COLUMN && pExpr->iTable==iTable ){ + if( ExprHasProperty(pExpr, EP_FromJoin) + && pExpr->iRightJoinTable==pSubst->iTable + ){ + pExpr->iRightJoinTable = pSubst->iNewTable; + } + if( pExpr->op==TK_COLUMN && pExpr->iTable==pSubst->iTable ){ if( pExpr->iColumn<0 ){ pExpr->op = TK_NULL; }else{ Expr *pNew; - assert( pEList!=0 && pExpr->iColumnnExpr ); + Expr *pCopy = pSubst->pEList->a[pExpr->iColumn].pExpr; + Expr ifNullRow; + assert( pSubst->pEList!=0 && pExpr->iColumnpEList->nExpr ); assert( pExpr->pLeft==0 && pExpr->pRight==0 ); - pNew = sqlite3ExprDup(db, pEList->a[pExpr->iColumn].pExpr, 0); - sqlite3ExprDelete(db, pExpr); - pExpr = pNew; + if( sqlite3ExprIsVector(pCopy) ){ + sqlite3VectorErrorMsg(pSubst->pParse, pCopy); + }else{ + sqlite3 *db = pSubst->pParse->db; + if( pSubst->isLeftJoin && pCopy->op!=TK_COLUMN ){ + memset(&ifNullRow, 0, sizeof(ifNullRow)); + ifNullRow.op = TK_IF_NULL_ROW; + ifNullRow.pLeft = pCopy; + ifNullRow.iTable = pSubst->iNewTable; + pCopy = &ifNullRow; + } + pNew = sqlite3ExprDup(db, pCopy, 0); + if( pNew && pSubst->isLeftJoin ){ + ExprSetProperty(pNew, EP_CanBeNull); + } + if( pNew && ExprHasProperty(pExpr,EP_FromJoin) ){ + pNew->iRightJoinTable = pExpr->iRightJoinTable; + ExprSetProperty(pNew, EP_FromJoin); + } + sqlite3ExprDelete(db, pExpr); + pExpr = pNew; + } } }else{ - pExpr->pLeft = substExpr(db, pExpr->pLeft, iTable, pEList); - pExpr->pRight = substExpr(db, pExpr->pRight, iTable, pEList); + if( pExpr->op==TK_IF_NULL_ROW && pExpr->iTable==pSubst->iTable ){ + pExpr->iTable = pSubst->iNewTable; + } + pExpr->pLeft = substExpr(pSubst, pExpr->pLeft); + pExpr->pRight = substExpr(pSubst, pExpr->pRight); if( ExprHasProperty(pExpr, EP_xIsSelect) ){ - substSelect(db, pExpr->x.pSelect, iTable, pEList, 1); + substSelect(pSubst, pExpr->x.pSelect, 1); }else{ - substExprList(db, pExpr->x.pList, iTable, pEList); + substExprList(pSubst, pExpr->x.pList); } } return pExpr; } static void substExprList( - sqlite3 *db, /* Report malloc errors here */ - ExprList *pList, /* List to scan and in which to make substitutes */ - int iTable, /* Table to be substituted */ - ExprList *pEList /* Substitute values */ + SubstContext *pSubst, /* Description of the substitution */ + ExprList *pList /* List to scan and in which to make substitutes */ ){ int i; if( pList==0 ) return; for(i=0; inExpr; i++){ - pList->a[i].pExpr = substExpr(db, pList->a[i].pExpr, iTable, pEList); + pList->a[i].pExpr = substExpr(pSubst, pList->a[i].pExpr); } } static void substSelect( - sqlite3 *db, /* Report malloc errors here */ - Select *p, /* SELECT statement in which to make substitutions */ - int iTable, /* Table to be replaced */ - ExprList *pEList, /* Substitute values */ - int doPrior /* Do substitutes on p->pPrior too */ + SubstContext *pSubst, /* Description of the substitution */ + Select *p, /* SELECT statement in which to make substitutions */ + int doPrior /* Do substitutes on p->pPrior too */ ){ SrcList *pSrc; struct SrcList_item *pItem; int i; if( !p ) return; do{ - substExprList(db, p->pEList, iTable, pEList); - substExprList(db, p->pGroupBy, iTable, pEList); - substExprList(db, p->pOrderBy, iTable, pEList); - p->pHaving = substExpr(db, p->pHaving, iTable, pEList); - p->pWhere = substExpr(db, p->pWhere, iTable, pEList); + substExprList(pSubst, p->pEList); + substExprList(pSubst, p->pGroupBy); + substExprList(pSubst, p->pOrderBy); + p->pHaving = substExpr(pSubst, p->pHaving); + p->pWhere = substExpr(pSubst, p->pWhere); pSrc = p->pSrc; assert( pSrc!=0 ); for(i=pSrc->nSrc, pItem=pSrc->a; i>0; i--, pItem++){ - substSelect(db, pItem->pSelect, iTable, pEList, 1); + substSelect(pSubst, pItem->pSelect, 1); if( pItem->fg.isTabFunc ){ - substExprList(db, pItem->u1.pFuncArg, iTable, pEList); + substExprList(pSubst, pItem->u1.pFuncArg); } } }while( doPrior && (p = p->pPrior)!=0 ); @@ -117601,66 +121969,74 @@ static void substSelect( ** exist on the table t1, a complete scan of the data might be ** avoided. ** -** Flattening is only attempted if all of the following are true: +** Flattening is subject to the following constraints: ** -** (1) The subquery and the outer query do not both use aggregates. +** (**) We no longer attempt to flatten aggregate subqueries. Was: +** The subquery and the outer query cannot both be aggregates. ** -** (2) The subquery is not an aggregate or (2a) the outer query is not a join -** and (2b) the outer query does not use subqueries other than the one -** FROM-clause subquery that is a candidate for flattening. (2b is -** due to ticket [2f7170d73bf9abf80] from 2015-02-09.) +** (**) We no longer attempt to flatten aggregate subqueries. Was: +** (2) If the subquery is an aggregate then +** (2a) the outer query must not be a join and +** (2b) the outer query must not use subqueries +** other than the one FROM-clause subquery that is a candidate +** for flattening. (This is due to ticket [2f7170d73bf9abf80] +** from 2015-02-09.) ** -** (3) The subquery is not the right operand of a left outer join -** (Originally ticket #306. Strengthened by ticket #3300) +** (3) If the subquery is the right operand of a LEFT JOIN then +** (3a) the subquery may not be a join and +** (3b) the FROM clause of the subquery may not contain a virtual +** table and +** (3c) the outer query may not be an aggregate. ** -** (4) The subquery is not DISTINCT. +** (4) The subquery can not be DISTINCT. ** ** (**) At one point restrictions (4) and (5) defined a subset of DISTINCT ** sub-queries that were excluded from this optimization. Restriction ** (4) has since been expanded to exclude all DISTINCT subqueries. ** -** (6) The subquery does not use aggregates or the outer query is not -** DISTINCT. +** (**) We no longer attempt to flatten aggregate subqueries. Was: +** If the subquery is aggregate, the outer query may not be DISTINCT. ** -** (7) The subquery has a FROM clause. TODO: For subqueries without -** A FROM clause, consider adding a FROM close with the special +** (7) The subquery must have a FROM clause. TODO: For subqueries without +** A FROM clause, consider adding a FROM clause with the special ** table sqlite_once that consists of a single row containing a ** single NULL. ** -** (8) The subquery does not use LIMIT or the outer query is not a join. +** (8) If the subquery uses LIMIT then the outer query may not be a join. ** -** (9) The subquery does not use LIMIT or the outer query does not use -** aggregates. +** (9) If the subquery uses LIMIT then the outer query may not be aggregate. ** ** (**) Restriction (10) was removed from the code on 2005-02-05 but we ** accidently carried the comment forward until 2014-09-15. Original -** text: "The subquery does not use aggregates or the outer query -** does not use LIMIT." +** constraint: "If the subquery is aggregate then the outer query +** may not use LIMIT." ** -** (11) The subquery and the outer query do not both have ORDER BY clauses. +** (11) The subquery and the outer query may not both have ORDER BY clauses. ** ** (**) Not implemented. Subsumed into restriction (3). Was previously ** a separate restriction deriving from ticket #350. ** -** (13) The subquery and outer query do not both use LIMIT. +** (13) The subquery and outer query may not both use LIMIT. ** -** (14) The subquery does not use OFFSET. +** (14) The subquery may not use OFFSET. ** -** (15) The outer query is not part of a compound select or the -** subquery does not have a LIMIT clause. +** (15) If the outer query is part of a compound select, then the +** subquery may not use LIMIT. ** (See ticket #2339 and ticket [02a8e81d44]). ** -** (16) The outer query is not an aggregate or the subquery does -** not contain ORDER BY. (Ticket #2942) This used to not matter +** (16) If the outer query is aggregate, then the subquery may not +** use ORDER BY. (Ticket #2942) This used to not matter ** until we introduced the group_concat() function. ** -** (17) The sub-query is not a compound select, or it is a UNION ALL -** compound clause made up entirely of non-aggregate queries, and -** the parent query: -** -** * is not itself part of a compound select, -** * is not an aggregate or DISTINCT query, and -** * is not a join +** (17) If the subquery is a compound select, then +** (17a) all compound operators must be a UNION ALL, and +** (17b) no terms within the subquery compound may be aggregate +** or DISTINCT, and +** (17c) every term within the subquery compound must have a FROM clause +** (17d) the outer query may not be +** (17d1) aggregate, or +** (17d2) DISTINCT, or +** (17d3) a join. ** ** The parent and sub-query may contain WHERE clauses. Subject to ** rules (11), (13) and (14), they may also contain ORDER BY, @@ -117676,10 +122052,10 @@ static void substSelect( ** syntax error and return a detailed message. ** ** (18) If the sub-query is a compound select, then all terms of the -** ORDER by clause of the parent must be simple references to +** ORDER BY clause of the parent must be simple references to ** columns of the sub-query. ** -** (19) The subquery does not use LIMIT or the outer query does not +** (19) If the subquery uses LIMIT then the outer query may not ** have a WHERE clause. ** ** (20) If the sub-query is a compound select, then it must not use @@ -117688,17 +122064,19 @@ static void substSelect( ** appear as unmodified result columns in the outer query. But we ** have other optimizations in mind to deal with that case. ** -** (21) The subquery does not use LIMIT or the outer query is not +** (21) If the subquery uses LIMIT then the outer query may not be ** DISTINCT. (See ticket [752e1646fc]). ** -** (22) The subquery is not a recursive CTE. +** (22) The subquery may not be a recursive CTE. ** -** (23) The parent is not a recursive CTE, or the sub-query is not a -** compound query. This restriction is because transforming the +** (**) Subsumed into restriction (17d3). Was: If the outer query is +** a recursive CTE, then the sub-query may not be a compound query. +** This restriction is because transforming the ** parent to a compound query confuses the code that handles ** recursive queries in multiSelect(). ** -** (24) The subquery is not an aggregate that uses the built-in min() or +** (**) We no longer attempt to flatten aggregate subqueries. Was: +** The subquery may not be an aggregate that uses the built-in min() or ** or max() functions. (Without this restriction, a query like: ** "SELECT x FROM (SELECT max(y), x FROM t1)" would not necessarily ** return the value X for which Y was maximal.) @@ -117706,7 +122084,7 @@ static void substSelect( ** ** In this routine, the "p" parameter is a pointer to the outer query. ** The subquery is p->pSrc->a[iFrom]. isAgg is true if the outer query -** uses aggregates and subqueryIsAgg is true if the subquery uses aggregates. +** uses aggregates. ** ** If flattening is not attempted, this routine is a no-op and returns 0. ** If flattening is attempted this routine returns 1. @@ -117718,8 +122096,7 @@ static int flattenSubquery( Parse *pParse, /* Parsing context */ Select *p, /* The parent or outer SELECT statement */ int iFrom, /* Index in p->pSrc->a[] of the inner subquery */ - int isAgg, /* True if outer SELECT uses aggregate functions */ - int subqueryIsAgg /* True if the subquery uses aggregate functions */ + int isAgg /* True if outer SELECT uses aggregate functions */ ){ const char *zSavedAuthContext = pParse->zAuthContext; Select *pParent; /* Current UNION ALL term of the other query */ @@ -117727,8 +122104,9 @@ static int flattenSubquery( Select *pSub1; /* Pointer to the rightmost select in sub-query */ SrcList *pSrc; /* The FROM clause of the outer query */ SrcList *pSubSrc; /* The FROM clause of the subquery */ - ExprList *pList; /* The result set of the outer query */ int iParent; /* VDBE cursor number of the pSub result set temp table */ + int iNewParent = -1;/* Replacement table for iParent */ + int isLeftJoin = 0; /* True if pSub is the right side of a LEFT JOIN */ int i; /* Loop counter */ Expr *pWhere; /* The WHERE clause */ struct SrcList_item *pSubitem; /* The subquery */ @@ -117737,7 +122115,7 @@ static int flattenSubquery( /* Check to see if flattening is permitted. Return 0 if not. */ assert( p!=0 ); - assert( p->pPrior==0 ); /* Unable to flatten compound queries */ + assert( p->pPrior==0 ); if( OptimizationDisabled(db, SQLITE_QueryFlattener) ) return 0; pSrc = p->pSrc; assert( pSrc && iFrom>=0 && iFromnSrc ); @@ -117745,17 +122123,7 @@ static int flattenSubquery( iParent = pSubitem->iCursor; pSub = pSubitem->pSelect; assert( pSub!=0 ); - if( subqueryIsAgg ){ - if( isAgg ) return 0; /* Restriction (1) */ - if( pSrc->nSrc>1 ) return 0; /* Restriction (2a) */ - if( (p->pWhere && ExprHasProperty(p->pWhere,EP_Subquery)) - || (sqlite3ExprListFlags(p->pEList) & EP_Subquery)!=0 - || (sqlite3ExprListFlags(p->pOrderBy) & EP_Subquery)!=0 - ){ - return 0; /* Restriction (2b) */ - } - } - + pSubSrc = pSub->pSrc; assert( pSubSrc ); /* Prior to version 3.1.2, when LIMIT and OFFSET had to be simple constants, @@ -117764,18 +122132,15 @@ static int flattenSubquery( ** became arbitrary expressions, we were forced to add restrictions (13) ** and (14). */ if( pSub->pLimit && p->pLimit ) return 0; /* Restriction (13) */ - if( pSub->pOffset ) return 0; /* Restriction (14) */ + if( pSub->pLimit && pSub->pLimit->pRight ) return 0; /* Restriction (14) */ if( (p->selFlags & SF_Compound)!=0 && pSub->pLimit ){ return 0; /* Restriction (15) */ } if( pSubSrc->nSrc==0 ) return 0; /* Restriction (7) */ - if( pSub->selFlags & SF_Distinct ) return 0; /* Restriction (5) */ + if( pSub->selFlags & SF_Distinct ) return 0; /* Restriction (4) */ if( pSub->pLimit && (pSrc->nSrc>1 || isAgg) ){ return 0; /* Restrictions (8)(9) */ } - if( (p->selFlags & SF_Distinct)!=0 && subqueryIsAgg ){ - return 0; /* Restriction (6) */ - } if( p->pOrderBy && pSub->pOrderBy ){ return 0; /* Restriction (11) */ } @@ -117784,19 +122149,14 @@ static int flattenSubquery( if( pSub->pLimit && (p->selFlags & SF_Distinct)!=0 ){ return 0; /* Restriction (21) */ } - testcase( pSub->selFlags & SF_Recursive ); - testcase( pSub->selFlags & SF_MinMaxAgg ); - if( pSub->selFlags & (SF_Recursive|SF_MinMaxAgg) ){ - return 0; /* Restrictions (22) and (24) */ - } - if( (p->selFlags & SF_Recursive) && pSub->pPrior ){ - return 0; /* Restriction (23) */ + if( pSub->selFlags & (SF_Recursive) ){ + return 0; /* Restrictions (22) */ } - /* OBSOLETE COMMENT 1: - ** Restriction 3: If the subquery is a join, make sure the subquery is - ** not used as the right operand of an outer join. Examples of why this - ** is not allowed: + /* + ** If the subquery is the right operand of a LEFT JOIN, then the + ** subquery may not be a join itself (3a). Example of why this is not + ** allowed: ** ** t1 LEFT OUTER JOIN (t2 JOIN t3) ** @@ -117806,56 +122166,57 @@ static int flattenSubquery( ** ** which is not at all the same thing. ** - ** OBSOLETE COMMENT 2: - ** Restriction 12: If the subquery is the right operand of a left outer - ** join, make sure the subquery has no WHERE clause. - ** An examples of why this is not allowed: - ** - ** t1 LEFT OUTER JOIN (SELECT * FROM t2 WHERE t2.x>0) + ** If the subquery is the right operand of a LEFT JOIN, then the outer + ** query cannot be an aggregate. (3c) This is an artifact of the way + ** aggregates are processed - there is no mechanism to determine if + ** the LEFT JOIN table should be all-NULL. ** - ** If we flatten the above, we would get - ** - ** (t1 LEFT OUTER JOIN t2) WHERE t2.x>0 - ** - ** But the t2.x>0 test will always fail on a NULL row of t2, which - ** effectively converts the OUTER JOIN into an INNER JOIN. - ** - ** THIS OVERRIDES OBSOLETE COMMENTS 1 AND 2 ABOVE: - ** Ticket #3300 shows that flattening the right term of a LEFT JOIN - ** is fraught with danger. Best to avoid the whole thing. If the - ** subquery is the right term of a LEFT JOIN, then do not flatten. + ** See also tickets #306, #350, and #3300. */ if( (pSubitem->fg.jointype & JT_OUTER)!=0 ){ - return 0; + isLeftJoin = 1; + if( pSubSrc->nSrc>1 || isAgg || IsVirtual(pSubSrc->a[0].pTab) ){ + /* (3a) (3c) (3b) */ + return 0; + } + } +#ifdef SQLITE_EXTRA_IFNULLROW + else if( iFrom>0 && !isAgg ){ + /* Setting isLeftJoin to -1 causes OP_IfNullRow opcodes to be generated for + ** every reference to any result column from subquery in a join, even + ** though they are not necessary. This will stress-test the OP_IfNullRow + ** opcode. */ + isLeftJoin = -1; } +#endif - /* Restriction 17: If the sub-query is a compound SELECT, then it must + /* Restriction (17): If the sub-query is a compound SELECT, then it must ** use only the UNION ALL operator. And none of the simple select queries ** that make up the compound SELECT are allowed to be aggregate or distinct ** queries. */ if( pSub->pPrior ){ if( pSub->pOrderBy ){ - return 0; /* Restriction 20 */ + return 0; /* Restriction (20) */ } if( isAgg || (p->selFlags & SF_Distinct)!=0 || pSrc->nSrc!=1 ){ - return 0; + return 0; /* (17d1), (17d2), or (17d3) */ } for(pSub1=pSub; pSub1; pSub1=pSub1->pPrior){ testcase( (pSub1->selFlags & (SF_Distinct|SF_Aggregate))==SF_Distinct ); testcase( (pSub1->selFlags & (SF_Distinct|SF_Aggregate))==SF_Aggregate ); assert( pSub->pSrc!=0 ); assert( pSub->pEList->nExpr==pSub1->pEList->nExpr ); - if( (pSub1->selFlags & (SF_Distinct|SF_Aggregate))!=0 - || (pSub1->pPrior && pSub1->op!=TK_ALL) - || pSub1->pSrc->nSrc<1 + if( (pSub1->selFlags & (SF_Distinct|SF_Aggregate))!=0 /* (17b) */ + || (pSub1->pPrior && pSub1->op!=TK_ALL) /* (17a) */ + || pSub1->pSrc->nSrc<1 /* (17c) */ ){ return 0; } testcase( pSub1->pSrc->nSrc>1 ); } - /* Restriction 18. */ + /* Restriction (18). */ if( p->pOrderBy ){ int ii; for(ii=0; iipOrderBy->nExpr; ii++){ @@ -117864,6 +122225,14 @@ static int flattenSubquery( } } + /* Ex-restriction (23): + ** The only way that the recursive part of a CTE can contain a compound + ** subquery is for the subquery to be one term of a join. But if the + ** subquery is a join, then the flattening has already been stopped by + ** restriction (17d3) + */ + assert( (p->selFlags & SF_Recursive)==0 || pSub->pPrior==0 ); + /***** If we reach this point, flattening is permitted. *****/ SELECTTRACE(1,pParse,p,("flatten %s.%p from term %d\n", pSub->zSelName, pSub, iFrom)); @@ -117911,16 +122280,13 @@ static int flattenSubquery( Select *pNew; ExprList *pOrderBy = p->pOrderBy; Expr *pLimit = p->pLimit; - Expr *pOffset = p->pOffset; Select *pPrior = p->pPrior; p->pOrderBy = 0; p->pSrc = 0; p->pPrior = 0; p->pLimit = 0; - p->pOffset = 0; pNew = sqlite3SelectDup(db, p, 0); sqlite3SelectSetName(pNew, pSub->zSelName); - p->pOffset = pOffset; p->pLimit = pLimit; p->pOrderBy = pOrderBy; p->pSrc = pSrc; @@ -117964,12 +122330,12 @@ static int flattenSubquery( */ if( ALWAYS(pSubitem->pTab!=0) ){ Table *pTabToDel = pSubitem->pTab; - if( pTabToDel->nRef==1 ){ + if( pTabToDel->nTabRef==1 ){ Parse *pToplevel = sqlite3ParseToplevel(pParse); pTabToDel->pNextZombie = pToplevel->pZombieTab; pToplevel->pZombieTab = pTabToDel; }else{ - pTabToDel->nRef--; + pTabToDel->nTabRef--; } pSubitem->pTab = 0; } @@ -118035,6 +122401,7 @@ static int flattenSubquery( sqlite3IdListDelete(db, pSrc->a[i+iFrom].pUsing); assert( pSrc->a[i+iFrom].fg.isTabFunc==0 ); pSrc->a[i+iFrom] = pSubSrc->a[i]; + iNewParent = pSubSrc->a[i].iCursor; memset(&pSubSrc->a[i], 0, sizeof(pSubSrc->a[i])); } pSrc->a[iFrom].fg.jointype = jointype; @@ -118051,14 +122418,6 @@ static int flattenSubquery( ** We look at every expression in the outer query and every place we see ** "a" we substitute "x*3" and every place we see "b" we substitute "y+10". */ - pList = pParent->pEList; - for(i=0; inExpr; i++){ - if( pList->a[i].zName==0 ){ - char *zName = sqlite3DbStrDup(db, pList->a[i].zSpan); - sqlite3Dequote(zName); - pList->a[i].zName = zName; - } - } if( pSub->pOrderBy ){ /* At this point, any non-zero iOrderByCol values indicate that the ** ORDER BY column expression is identical to the iOrderByCol'th @@ -118080,19 +122439,19 @@ static int flattenSubquery( pSub->pOrderBy = 0; } pWhere = sqlite3ExprDup(db, pSub->pWhere, 0); - if( subqueryIsAgg ){ - assert( pParent->pHaving==0 ); - pParent->pHaving = pParent->pWhere; - pParent->pWhere = pWhere; - pParent->pHaving = sqlite3ExprAnd(db, - sqlite3ExprDup(db, pSub->pHaving, 0), pParent->pHaving - ); - assert( pParent->pGroupBy==0 ); - pParent->pGroupBy = sqlite3ExprListDup(db, pSub->pGroupBy, 0); - }else{ - pParent->pWhere = sqlite3ExprAnd(db, pWhere, pParent->pWhere); + if( isLeftJoin>0 ){ + setJoinExpr(pWhere, iNewParent); + } + pParent->pWhere = sqlite3ExprAnd(db, pWhere, pParent->pWhere); + if( db->mallocFailed==0 ){ + SubstContext x; + x.pParse = pParse; + x.iTable = iParent; + x.iNewTable = iNewParent; + x.isLeftJoin = isLeftJoin; + x.pEList = pSub->pEList; + substSelect(&x, pParent, 0); } - substSelect(db, pParent, iParent, pSub->pEList, 0); /* The flattened query is distinct if either the inner or the ** outer query is distinct. @@ -118146,9 +122505,13 @@ static int flattenSubquery( ** ** Do not attempt this optimization if: ** -** (1) The inner query is an aggregate. (In that case, we'd really want -** to copy the outer WHERE-clause terms onto the HAVING clause of the -** inner query. But they probably won't help there so do not bother.) +** (1) (** This restriction was removed on 2017-09-29. We used to +** disallow this optimization for aggregate subqueries, but now +** it is allowed by putting the extra terms on the HAVING clause. +** The added HAVING clause is pointless if the subquery lacks +** a GROUP BY clause. But such a HAVING clause is also harmless +** so there does not appear to be any reason to add extra logic +** to suppress it. **) ** ** (2) The inner query is the recursive part of a common table expression. ** @@ -118166,37 +122529,53 @@ static int flattenSubquery( ** terms are duplicated into the subquery. */ static int pushDownWhereTerms( - sqlite3 *db, /* The database connection (for malloc()) */ + Parse *pParse, /* Parse context (for malloc() and error reporting) */ Select *pSubq, /* The subquery whose WHERE clause is to be augmented */ Expr *pWhere, /* The WHERE clause of the outer query */ int iCursor /* Cursor number of the subquery */ ){ Expr *pNew; int nChng = 0; - Select *pX; /* For looping over compound SELECTs in pSubq */ if( pWhere==0 ) return 0; - for(pX=pSubq; pX; pX=pX->pPrior){ - if( (pX->selFlags & (SF_Aggregate|SF_Recursive))!=0 ){ - testcase( pX->selFlags & SF_Aggregate ); - testcase( pX->selFlags & SF_Recursive ); - testcase( pX!=pSubq ); - return 0; /* restrictions (1) and (2) */ + if( pSubq->selFlags & SF_Recursive ) return 0; /* restriction (2) */ + +#ifdef SQLITE_DEBUG + /* Only the first term of a compound can have a WITH clause. But make + ** sure no other terms are marked SF_Recursive in case something changes + ** in the future. + */ + { + Select *pX; + for(pX=pSubq; pX; pX=pX->pPrior){ + assert( (pX->selFlags & (SF_Recursive))==0 ); } } +#endif + if( pSubq->pLimit!=0 ){ return 0; /* restriction (3) */ } while( pWhere->op==TK_AND ){ - nChng += pushDownWhereTerms(db, pSubq, pWhere->pRight, iCursor); + nChng += pushDownWhereTerms(pParse, pSubq, pWhere->pRight, iCursor); pWhere = pWhere->pLeft; } - if( ExprHasProperty(pWhere,EP_FromJoin) ) return 0; /* restriction 5 */ + if( ExprHasProperty(pWhere,EP_FromJoin) ) return 0; /* restriction (5) */ if( sqlite3ExprIsTableConstant(pWhere, iCursor) ){ nChng++; while( pSubq ){ - pNew = sqlite3ExprDup(db, pWhere, 0); - pNew = substExpr(db, pNew, iCursor, pSubq->pEList); - pSubq->pWhere = sqlite3ExprAnd(db, pSubq->pWhere, pNew); + SubstContext x; + pNew = sqlite3ExprDup(pParse->db, pWhere, 0); + x.pParse = pParse; + x.iTable = iCursor; + x.iNewTable = iCursor; + x.isLeftJoin = 0; + x.pEList = pSubq->pEList; + pNew = substExpr(&x, pNew); + if( pSubq->selFlags & SF_Aggregate ){ + pSubq->pHaving = sqlite3ExprAnd(pParse->db, pSubq->pHaving, pNew); + }else{ + pSubq->pWhere = sqlite3ExprAnd(pParse->db, pSubq->pWhere, pNew); + } pSubq = pSubq->pPrior; } } @@ -118205,42 +122584,44 @@ static int pushDownWhereTerms( #endif /* !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) */ /* -** Based on the contents of the AggInfo structure indicated by the first -** argument, this function checks if the following are true: +** The pFunc is the only aggregate function in the query. Check to see +** if the query is a candidate for the min/max optimization. ** -** * the query contains just a single aggregate function, -** * the aggregate function is either min() or max(), and -** * the argument to the aggregate function is a column value. +** If the query is a candidate for the min/max optimization, then set +** *ppMinMax to be an ORDER BY clause to be used for the optimization +** and return either WHERE_ORDERBY_MIN or WHERE_ORDERBY_MAX depending on +** whether pFunc is a min() or max() function. ** -** If all of the above are true, then WHERE_ORDERBY_MIN or WHERE_ORDERBY_MAX -** is returned as appropriate. Also, *ppMinMax is set to point to the -** list of arguments passed to the aggregate before returning. +** If the query is not a candidate for the min/max optimization, return +** WHERE_ORDERBY_NORMAL (which must be zero). ** -** Or, if the conditions above are not met, *ppMinMax is set to 0 and -** WHERE_ORDERBY_NORMAL is returned. +** This routine must be called after aggregate functions have been +** located but before their arguments have been subjected to aggregate +** analysis. */ -static u8 minMaxQuery(AggInfo *pAggInfo, ExprList **ppMinMax){ - int eRet = WHERE_ORDERBY_NORMAL; /* Return value */ - - *ppMinMax = 0; - if( pAggInfo->nFunc==1 ){ - Expr *pExpr = pAggInfo->aFunc[0].pExpr; /* Aggregate function */ - ExprList *pEList = pExpr->x.pList; /* Arguments to agg function */ - - assert( pExpr->op==TK_AGG_FUNCTION ); - if( pEList && pEList->nExpr==1 && pEList->a[0].pExpr->op==TK_AGG_COLUMN ){ - const char *zFunc = pExpr->u.zToken; - if( sqlite3StrICmp(zFunc, "min")==0 ){ - eRet = WHERE_ORDERBY_MIN; - *ppMinMax = pEList; - }else if( sqlite3StrICmp(zFunc, "max")==0 ){ - eRet = WHERE_ORDERBY_MAX; - *ppMinMax = pEList; - } - } - } - - assert( *ppMinMax==0 || (*ppMinMax)->nExpr==1 ); +static u8 minMaxQuery(sqlite3 *db, Expr *pFunc, ExprList **ppMinMax){ + int eRet = WHERE_ORDERBY_NORMAL; /* Return value */ + ExprList *pEList = pFunc->x.pList; /* Arguments to agg function */ + const char *zFunc; /* Name of aggregate function pFunc */ + ExprList *pOrderBy; + u8 sortOrder; + + assert( *ppMinMax==0 ); + assert( pFunc->op==TK_AGG_FUNCTION ); + if( pEList==0 || pEList->nExpr!=1 ) return eRet; + zFunc = pFunc->u.zToken; + if( sqlite3StrICmp(zFunc, "min")==0 ){ + eRet = WHERE_ORDERBY_MIN; + sortOrder = SQLITE_SO_ASC; + }else if( sqlite3StrICmp(zFunc, "max")==0 ){ + eRet = WHERE_ORDERBY_MAX; + sortOrder = SQLITE_SO_DESC; + }else{ + return eRet; + } + *ppMinMax = pOrderBy = sqlite3ExprListDup(db, pEList, 0); + assert( pOrderBy!=0 || db->mallocFailed ); + if( pOrderBy ) pOrderBy->a[0].sortOrder = sortOrder; return eRet; } @@ -118371,7 +122752,6 @@ static int convertCompoundSelectToSubquery(Walker *pWalker, Select *p){ assert( pNew->pPrior!=0 ); pNew->pPrior->pNext = pNew; pNew->pLimit = 0; - pNew->pOffset = 0; return WRC_Continue; } @@ -118488,7 +122868,7 @@ static int withExpand( assert( pFrom->pTab==0 ); pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table)); if( pTab==0 ) return WRC_Abort; - pTab->nRef = 1; + pTab->nTabRef = 1; pTab->zName = sqlite3DbStrDup(db, pCte->zName); pTab->iPKey = -1; pTab->nRowLogEst = 200; assert( 200==sqlite3LogEst(1048576) ); @@ -118511,25 +122891,34 @@ static int withExpand( ){ pItem->pTab = pTab; pItem->fg.isRecursive = 1; - pTab->nRef++; + pTab->nTabRef++; pSel->selFlags |= SF_Recursive; } } } /* Only one recursive reference is permitted. */ - if( pTab->nRef>2 ){ + if( pTab->nTabRef>2 ){ sqlite3ErrorMsg( pParse, "multiple references to recursive table: %s", pCte->zName ); return SQLITE_ERROR; } - assert( pTab->nRef==1 || ((pSel->selFlags&SF_Recursive) && pTab->nRef==2 )); + assert( pTab->nTabRef==1 || + ((pSel->selFlags&SF_Recursive) && pTab->nTabRef==2 )); pCte->zCteErr = "circular reference: %s"; pSavedWith = pParse->pWith; pParse->pWith = pWith; - sqlite3WalkSelect(pWalker, bMayRecursive ? pSel->pPrior : pSel); + if( bMayRecursive ){ + Select *pPrior = pSel->pPrior; + assert( pPrior->pWith==0 ); + pPrior->pWith = pSel->pWith; + sqlite3WalkSelect(pWalker, pPrior); + pPrior->pWith = 0; + }else{ + sqlite3WalkSelect(pWalker, pSel); + } pParse->pWith = pWith; for(pLeft=pSel; pLeft->pPrior; pLeft=pLeft->pPrior); @@ -118573,10 +122962,12 @@ static int withExpand( */ static void selectPopWith(Walker *pWalker, Select *p){ Parse *pParse = pWalker->pParse; - With *pWith = findRightmost(p)->pWith; - if( pWith!=0 ){ - assert( pParse->pWith==pWith ); - pParse->pWith = pWith->pOuter; + if( OK_IF_ALWAYS_TRUE(pParse->pWith) && p->pPrior==0 ){ + With *pWith = findRightmost(p)->pWith; + if( pWith!=0 ){ + assert( pParse->pWith==pWith ); + pParse->pWith = pWith->pOuter; + } } } #else @@ -118616,18 +123007,20 @@ static int selectExpander(Walker *pWalker, Select *p){ sqlite3 *db = pParse->db; Expr *pE, *pRight, *pExpr; u16 selFlags = p->selFlags; + u32 elistFlags = 0; p->selFlags |= SF_Expanded; if( db->mallocFailed ){ return WRC_Abort; } - if( NEVER(p->pSrc==0) || (selFlags & SF_Expanded)!=0 ){ + assert( p->pSrc!=0 ); + if( (selFlags & SF_Expanded)!=0 ){ return WRC_Prune; } pTabList = p->pSrc; pEList = p->pEList; - if( pWalker->xSelectCallback2==selectPopWith ){ - sqlite3WithPush(pParse, findRightmost(p)->pWith, 0); + if( OK_IF_ALWAYS_TRUE(p->pWith) ){ + sqlite3WithPush(pParse, p->pWith, 0); } /* Make sure cursor numbers have been assigned to all entries in @@ -118657,8 +123050,12 @@ static int selectExpander(Walker *pWalker, Select *p){ if( sqlite3WalkSelect(pWalker, pSel) ) return WRC_Abort; pFrom->pTab = pTab = sqlite3DbMallocZero(db, sizeof(Table)); if( pTab==0 ) return WRC_Abort; - pTab->nRef = 1; - pTab->zName = sqlite3MPrintf(db, "sqlite_sq_%p", (void*)pTab); + pTab->nTabRef = 1; + if( pFrom->zAlias ){ + pTab->zName = sqlite3DbStrDup(db, pFrom->zAlias); + }else{ + pTab->zName = sqlite3MPrintf(db, "subquery_%p", (void*)pTab); + } while( pSel->pPrior ){ pSel = pSel->pPrior; } sqlite3ColumnsFromExprList(pParse, pSel->pEList,&pTab->nCol,&pTab->aCol); pTab->iPKey = -1; @@ -118670,13 +123067,13 @@ static int selectExpander(Walker *pWalker, Select *p){ assert( pFrom->pTab==0 ); pFrom->pTab = pTab = sqlite3LocateTableItem(pParse, 0, pFrom); if( pTab==0 ) return WRC_Abort; - if( pTab->nRef==0xffff ){ + if( pTab->nTabRef>=0xffff ){ sqlite3ErrorMsg(pParse, "too many references to \"%s\": max 65535", pTab->zName); pFrom->pTab = 0; return WRC_Abort; } - pTab->nRef++; + pTab->nTabRef++; if( !IsVirtual(pTab) && cannotBeFunction(pParse, pFrom) ){ return WRC_Abort; } @@ -118724,6 +123121,7 @@ static int selectExpander(Walker *pWalker, Select *p){ assert( pE->op!=TK_DOT || pE->pRight!=0 ); assert( pE->op!=TK_DOT || (pE->pLeft!=0 && pE->pLeft->op==TK_ID) ); if( pE->op==TK_DOT && pE->pRight->op==TK_ASTERISK ) break; + elistFlags |= pE->flags; } if( knExpr ){ /* @@ -118739,6 +123137,7 @@ static int selectExpander(Walker *pWalker, Select *p){ for(k=0; knExpr; k++){ pE = a[k].pExpr; + elistFlags |= pE->flags; pRight = pE->pRight; assert( pE->op!=TK_DOT || pRight!=0 ); if( pE->op!=TK_ASTERISK @@ -118826,10 +123225,10 @@ static int selectExpander(Walker *pWalker, Select *p){ if( longNames || pTabList->nSrc>1 ){ Expr *pLeft; pLeft = sqlite3Expr(db, TK_ID, zTabName); - pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); + pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight); if( zSchemaName ){ pLeft = sqlite3Expr(db, TK_ID, zSchemaName); - pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pExpr, 0); + pExpr = sqlite3PExpr(pParse, TK_DOT, pLeft, pExpr); } if( longNames ){ zColname = sqlite3MPrintf(db, "%s.%s", zTabName, zName); @@ -118868,12 +123267,15 @@ static int selectExpander(Walker *pWalker, Select *p){ sqlite3ExprListDelete(db, pEList); p->pEList = pNew; } -#if SQLITE_MAX_COLUMN - if( p->pEList && p->pEList->nExpr>db->aLimit[SQLITE_LIMIT_COLUMN] ){ - sqlite3ErrorMsg(pParse, "too many columns in result set"); - return WRC_Abort; + if( p->pEList ){ + if( p->pEList->nExpr>db->aLimit[SQLITE_LIMIT_COLUMN] ){ + sqlite3ErrorMsg(pParse, "too many columns in result set"); + return WRC_Abort; + } + if( (elistFlags & (EP_HasFunc|EP_Subquery))!=0 ){ + p->selFlags |= SF_ComplexResult; + } } -#endif return WRC_Continue; } @@ -118891,6 +123293,25 @@ SQLITE_PRIVATE int sqlite3ExprWalkNoop(Walker *NotUsed, Expr *NotUsed2){ return WRC_Continue; } +/* +** No-op routine for the parse-tree walker for SELECT statements. +** subquery in the parser tree. +*/ +SQLITE_PRIVATE int sqlite3SelectWalkNoop(Walker *NotUsed, Select *NotUsed2){ + UNUSED_PARAMETER2(NotUsed, NotUsed2); + return WRC_Continue; +} + +#if SQLITE_DEBUG +/* +** Always assert. This xSelectCallback2 implementation proves that the +** xSelectCallback2 is never invoked. +*/ +SQLITE_PRIVATE void sqlite3SelectWalkAssert2(Walker *NotUsed, Select *NotUsed2){ + UNUSED_PARAMETER2(NotUsed, NotUsed2); + assert( 0 ); +} +#endif /* ** This routine "expands" a SELECT statement and all of its subqueries. ** For additional information on what it means to "expand" a SELECT @@ -118906,17 +123327,15 @@ SQLITE_PRIVATE int sqlite3ExprWalkNoop(Walker *NotUsed, Expr *NotUsed2){ */ static void sqlite3SelectExpand(Parse *pParse, Select *pSelect){ Walker w; - memset(&w, 0, sizeof(w)); w.xExprCallback = sqlite3ExprWalkNoop; w.pParse = pParse; - if( pParse->hasCompound ){ + if( OK_IF_ALWAYS_TRUE(pParse->hasCompound) ){ w.xSelectCallback = convertCompoundSelectToSubquery; + w.xSelectCallback2 = 0; sqlite3WalkSelect(&w, pSelect); } w.xSelectCallback = selectExpander; - if( (pSelect->selFlags & SF_MultiValue)==0 ){ - w.xSelectCallback2 = selectPopWith; - } + w.xSelectCallback2 = selectPopWith; sqlite3WalkSelect(&w, pSelect); } @@ -118972,7 +123391,7 @@ static void selectAddSubqueryTypeInfo(Walker *pWalker, Select *p){ static void sqlite3SelectAddTypeInfo(Parse *pParse, Select *pSelect){ #ifndef SQLITE_OMIT_SUBQUERY Walker w; - memset(&w, 0, sizeof(w)); + w.xSelectCallback = sqlite3SelectWalkNoop; w.xSelectCallback2 = selectAddSubqueryTypeInfo; w.xExprCallback = sqlite3ExprWalkNoop; w.pParse = pParse; @@ -118998,15 +123417,13 @@ SQLITE_PRIVATE void sqlite3SelectPrep( Select *p, /* The SELECT statement being coded. */ NameContext *pOuterNC /* Name context for container */ ){ - sqlite3 *db; - if( NEVER(p==0) ) return; - db = pParse->db; - if( db->mallocFailed ) return; + assert( p!=0 || pParse->db->mallocFailed ); + if( pParse->db->mallocFailed ) return; if( p->selFlags & SF_HasTypeInfo ) return; sqlite3SelectExpand(pParse, p); - if( pParse->nErr || db->mallocFailed ) return; + if( pParse->nErr || pParse->db->mallocFailed ) return; sqlite3ResolveSelectNames(pParse, p, pOuterNC); - if( pParse->nErr || db->mallocFailed ) return; + if( pParse->nErr || pParse->db->mallocFailed ) return; sqlite3SelectAddTypeInfo(pParse, p); } @@ -119066,8 +123483,8 @@ static void finalizeAggFunctions(Parse *pParse, AggInfo *pAggInfo){ for(i=0, pF=pAggInfo->aFunc; inFunc; i++, pF++){ ExprList *pList = pF->pExpr->x.pList; assert( !ExprHasProperty(pF->pExpr, EP_xIsSelect) ); - sqlite3VdbeAddOp4(v, OP_AggFinal, pF->iMem, pList ? pList->nExpr : 0, 0, - (void*)pF->pFunc, P4_FUNCDEF); + sqlite3VdbeAddOp2(v, OP_AggFinal, pF->iMem, pList ? pList->nExpr : 0); + sqlite3VdbeAppendP4(v, pF->pFunc, P4_FUNCDEF); } } @@ -119118,8 +123535,8 @@ static void updateAccumulator(Parse *pParse, AggInfo *pAggInfo){ if( regHit==0 && pAggInfo->nAccumulator ) regHit = ++pParse->nMem; sqlite3VdbeAddOp4(v, OP_CollSeq, regHit, 0, 0, (char *)pColl, P4_COLLSEQ); } - sqlite3VdbeAddOp4(v, OP_AggStep0, 0, regAgg, pF->iMem, - (void*)pF->pFunc, P4_FUNCDEF); + sqlite3VdbeAddOp3(v, OP_AggStep0, 0, regAgg, pF->iMem); + sqlite3VdbeAppendP4(v, pF->pFunc, P4_FUNCDEF); sqlite3VdbeChangeP5(v, (u8)nArg); sqlite3ExprCacheAffinityChange(pParse, regAgg, nArg); sqlite3ReleaseTempRange(pParse, regAgg, nArg); @@ -119179,6 +123596,187 @@ static void explainSimpleCount( # define explainSimpleCount(a,b,c) #endif +/* +** Context object for havingToWhereExprCb(). +*/ +struct HavingToWhereCtx { + Expr **ppWhere; + ExprList *pGroupBy; +}; + +/* +** sqlite3WalkExpr() callback used by havingToWhere(). +** +** If the node passed to the callback is a TK_AND node, return +** WRC_Continue to tell sqlite3WalkExpr() to iterate through child nodes. +** +** Otherwise, return WRC_Prune. In this case, also check if the +** sub-expression matches the criteria for being moved to the WHERE +** clause. If so, add it to the WHERE clause and replace the sub-expression +** within the HAVING expression with a constant "1". +*/ +static int havingToWhereExprCb(Walker *pWalker, Expr *pExpr){ + if( pExpr->op!=TK_AND ){ + struct HavingToWhereCtx *p = pWalker->u.pHavingCtx; + if( sqlite3ExprIsConstantOrGroupBy(pWalker->pParse, pExpr, p->pGroupBy) ){ + sqlite3 *db = pWalker->pParse->db; + Expr *pNew = sqlite3ExprAlloc(db, TK_INTEGER, &sqlite3IntTokens[1], 0); + if( pNew ){ + Expr *pWhere = *(p->ppWhere); + SWAP(Expr, *pNew, *pExpr); + pNew = sqlite3ExprAnd(db, pWhere, pNew); + *(p->ppWhere) = pNew; + } + } + return WRC_Prune; + } + return WRC_Continue; +} + +/* +** Transfer eligible terms from the HAVING clause of a query, which is +** processed after grouping, to the WHERE clause, which is processed before +** grouping. For example, the query: +** +** SELECT * FROM WHERE a=? GROUP BY b HAVING b=? AND c=? +** +** can be rewritten as: +** +** SELECT * FROM WHERE a=? AND b=? GROUP BY b HAVING c=? +** +** A term of the HAVING expression is eligible for transfer if it consists +** entirely of constants and expressions that are also GROUP BY terms that +** use the "BINARY" collation sequence. +*/ +static void havingToWhere( + Parse *pParse, + ExprList *pGroupBy, + Expr *pHaving, + Expr **ppWhere +){ + struct HavingToWhereCtx sCtx; + Walker sWalker; + + sCtx.ppWhere = ppWhere; + sCtx.pGroupBy = pGroupBy; + + memset(&sWalker, 0, sizeof(sWalker)); + sWalker.pParse = pParse; + sWalker.xExprCallback = havingToWhereExprCb; + sWalker.u.pHavingCtx = &sCtx; + sqlite3WalkExpr(&sWalker, pHaving); +} + +/* +** Check to see if the pThis entry of pTabList is a self-join of a prior view. +** If it is, then return the SrcList_item for the prior view. If it is not, +** then return 0. +*/ +static struct SrcList_item *isSelfJoinView( + SrcList *pTabList, /* Search for self-joins in this FROM clause */ + struct SrcList_item *pThis /* Search for prior reference to this subquery */ +){ + struct SrcList_item *pItem; + for(pItem = pTabList->a; pItempSelect==0 ) continue; + if( pItem->fg.viaCoroutine ) continue; + if( pItem->zName==0 ) continue; + if( sqlite3_stricmp(pItem->zDatabase, pThis->zDatabase)!=0 ) continue; + if( sqlite3_stricmp(pItem->zName, pThis->zName)!=0 ) continue; + if( sqlite3ExprCompare(0, + pThis->pSelect->pWhere, pItem->pSelect->pWhere, -1) + ){ + /* The view was modified by some other optimization such as + ** pushDownWhereTerms() */ + continue; + } + return pItem; + } + return 0; +} + +#ifdef SQLITE_COUNTOFVIEW_OPTIMIZATION +/* +** Attempt to transform a query of the form +** +** SELECT count(*) FROM (SELECT x FROM t1 UNION ALL SELECT y FROM t2) +** +** Into this: +** +** SELECT (SELECT count(*) FROM t1)+(SELECT count(*) FROM t2) +** +** The transformation only works if all of the following are true: +** +** * The subquery is a UNION ALL of two or more terms +** * There is no WHERE or GROUP BY or HAVING clauses on the subqueries +** * The outer query is a simple count(*) +** +** Return TRUE if the optimization is undertaken. +*/ +static int countOfViewOptimization(Parse *pParse, Select *p){ + Select *pSub, *pPrior; + Expr *pExpr; + Expr *pCount; + sqlite3 *db; + if( (p->selFlags & SF_Aggregate)==0 ) return 0; /* This is an aggregate */ + if( p->pEList->nExpr!=1 ) return 0; /* Single result column */ + pExpr = p->pEList->a[0].pExpr; + if( pExpr->op!=TK_AGG_FUNCTION ) return 0; /* Result is an aggregate */ + if( sqlite3_stricmp(pExpr->u.zToken,"count") ) return 0; /* Is count() */ + if( pExpr->x.pList!=0 ) return 0; /* Must be count(*) */ + if( p->pSrc->nSrc!=1 ) return 0; /* One table in FROM */ + pSub = p->pSrc->a[0].pSelect; + if( pSub==0 ) return 0; /* The FROM is a subquery */ + if( pSub->pPrior==0 ) return 0; /* Must be a compound ry */ + do{ + if( pSub->op!=TK_ALL && pSub->pPrior ) return 0; /* Must be UNION ALL */ + if( pSub->pWhere ) return 0; /* No WHERE clause */ + if( pSub->selFlags & SF_Aggregate ) return 0; /* Not an aggregate */ + pSub = pSub->pPrior; /* Repeat over compound */ + }while( pSub ); + + /* If we reach this point then it is OK to perform the transformation */ + + db = pParse->db; + pCount = pExpr; + pExpr = 0; + pSub = p->pSrc->a[0].pSelect; + p->pSrc->a[0].pSelect = 0; + sqlite3SrcListDelete(db, p->pSrc); + p->pSrc = sqlite3DbMallocZero(pParse->db, sizeof(*p->pSrc)); + while( pSub ){ + Expr *pTerm; + pPrior = pSub->pPrior; + pSub->pPrior = 0; + pSub->pNext = 0; + pSub->selFlags |= SF_Aggregate; + pSub->selFlags &= ~SF_Compound; + pSub->nSelectRow = 0; + sqlite3ExprListDelete(db, pSub->pEList); + pTerm = pPrior ? sqlite3ExprDup(db, pCount, 0) : pCount; + pSub->pEList = sqlite3ExprListAppend(pParse, 0, pTerm); + pTerm = sqlite3PExpr(pParse, TK_SELECT, 0, 0); + sqlite3PExprAddSelect(pParse, pTerm, pSub); + if( pExpr==0 ){ + pExpr = pTerm; + }else{ + pExpr = sqlite3PExpr(pParse, TK_PLUS, pTerm, pExpr); + } + pSub = pPrior; + } + p->pEList->a[0].pExpr = pExpr; + p->selFlags &= ~SF_Aggregate; + +#if SELECTTRACE_ENABLED + if( sqlite3SelectTrace & 0x400 ){ + SELECTTRACE(0x400,pParse,p,("After count-of-view optimization:\n")); + sqlite3TreeViewSelect(0, p, 0); + } +#endif + return 1; +} +#endif /* SQLITE_COUNTOFVIEW_OPTIMIZATION */ + /* ** Generate code for the SELECT statement given in the p argument. ** @@ -119212,6 +123810,8 @@ SQLITE_PRIVATE int sqlite3Select( AggInfo sAggInfo; /* Information used by aggregate queries */ int iEnd; /* Address of the end of the query */ sqlite3 *db; /* The database connection */ + ExprList *pMinMaxOrderBy = 0; /* Added ORDER BY for min/max queries */ + u8 minMaxFlag; /* Flag for min/max queries */ #ifndef SQLITE_OMIT_EXPLAIN int iRestoreSelectId = pParse->iSelectId; @@ -119263,13 +123863,20 @@ SQLITE_PRIVATE int sqlite3Select( } #endif + /* Get a pointer the VDBE under construction, allocating a new VDBE if one + ** does not already exist */ + v = sqlite3GetVdbe(pParse); + if( v==0 ) goto select_end; + if( pDest->eDest==SRT_Output ){ + generateColumnNames(pParse, p); + } + /* Try to flatten subqueries in the FROM clause up into the main query */ #if !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) for(i=0; !p->pPrior && inSrc; i++){ struct SrcList_item *pItem = &pTabList->a[i]; Select *pSub = pItem->pSelect; - int isAggSub; Table *pTab = pItem->pTab; if( pSub==0 ) continue; @@ -119281,13 +123888,45 @@ SQLITE_PRIVATE int sqlite3Select( goto select_end; } - isAggSub = (pSub->selFlags & SF_Aggregate)!=0; - if( flattenSubquery(pParse, p, i, isAgg, isAggSub) ){ + /* Do not try to flatten an aggregate subquery. + ** + ** Flattening an aggregate subquery is only possible if the outer query + ** is not a join. But if the outer query is not a join, then the subquery + ** will be implemented as a co-routine and there is no advantage to + ** flattening in that case. + */ + if( (pSub->selFlags & SF_Aggregate)!=0 ) continue; + assert( pSub->pGroupBy==0 ); + + /* If the outer query contains a "complex" result set (that is, + ** if the result set of the outer query uses functions or subqueries) + ** and if the subquery contains an ORDER BY clause and if + ** it will be implemented as a co-routine, then do not flatten. This + ** restriction allows SQL constructs like this: + ** + ** SELECT expensive_function(x) + ** FROM (SELECT x FROM tab ORDER BY y LIMIT 10); + ** + ** The expensive_function() is only computed on the 10 rows that + ** are output, rather than every row of the table. + ** + ** The requirement that the outer query have a complex result set + ** means that flattening does occur on simpler SQL constraints without + ** the expensive_function() like: + ** + ** SELECT x FROM (SELECT x FROM tab ORDER BY y LIMIT 10); + */ + if( pSub->pOrderBy!=0 + && i==0 + && (p->selFlags & SF_ComplexResult)!=0 + && (pTabList->nSrc==1 + || (pTabList->a[1].fg.jointype&(JT_LEFT|JT_CROSS))!=0) + ){ + continue; + } + + if( flattenSubquery(pParse, p, i, isAgg) ){ /* This subquery can be absorbed into its parent. */ - if( isAggSub ){ - isAgg = 1; - p->selFlags |= SF_Aggregate; - } i = -1; } pTabList = p->pSrc; @@ -119298,11 +123937,6 @@ SQLITE_PRIVATE int sqlite3Select( } #endif - /* Get a pointer the VDBE under construction, allocating a new VDBE if one - ** does not already exist */ - v = sqlite3GetVdbe(pParse); - if( v==0 ) goto select_end; - #ifndef SQLITE_OMIT_COMPOUND_SELECT /* Handle compound SELECT statements using the separate multiSelect() ** procedure. @@ -119318,13 +123952,42 @@ SQLITE_PRIVATE int sqlite3Select( } #endif - /* Generate code for all sub-queries in the FROM clause + /* For each term in the FROM clause, do two things: + ** (1) Authorized unreferenced tables + ** (2) Generate code for all sub-queries */ -#if !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) for(i=0; inSrc; i++){ struct SrcList_item *pItem = &pTabList->a[i]; SelectDest dest; - Select *pSub = pItem->pSelect; + Select *pSub; +#if !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) + const char *zSavedAuthContext; +#endif + + /* Issue SQLITE_READ authorizations with a fake column name for any + ** tables that are referenced but from which no values are extracted. + ** Examples of where these kinds of null SQLITE_READ authorizations + ** would occur: + ** + ** SELECT count(*) FROM t1; -- SQLITE_READ t1."" + ** SELECT t1.* FROM t1, t2; -- SQLITE_READ t2."" + ** + ** The fake column name is an empty string. It is possible for a table to + ** have a column named by the empty string, in which case there is no way to + ** distinguish between an unreferenced table and an actual reference to the + ** "" column. The original design was for the fake column name to be a NULL, + ** which would be unambiguous. But legacy authorization callbacks might + ** assume the column name is non-NULL and segfault. The use of an empty + ** string for the fake column name seems safer. + */ + if( pItem->colUsed==0 ){ + sqlite3AuthCheck(pParse, SQLITE_READ, pItem->zName, "", pItem->zDatabase); + } + +#if !defined(SQLITE_OMIT_SUBQUERY) || !defined(SQLITE_OMIT_VIEW) + /* Generate code for all sub-queries in the FROM clause + */ + pSub = pItem->pSelect; if( pSub==0 ) continue; /* Sometimes the code for a subquery will be generated more than @@ -119335,6 +123998,10 @@ SQLITE_PRIVATE int sqlite3Select( ** to be invoked again. */ if( pItem->addrFillSub ){ if( pItem->fg.viaCoroutine==0 ){ + /* The subroutine that manifests the view might be a one-time routine, + ** or it might need to be rerun on each iteration because it + ** encodes a correlated subquery. */ + testcase( sqlite3VdbeGetOp(v, pItem->addrFillSub)->opcode==OP_Once ); sqlite3VdbeAddOp2(v, OP_Gosub, pItem->regReturn, pItem->addrFillSub); } continue; @@ -119353,7 +124020,7 @@ SQLITE_PRIVATE int sqlite3Select( ** inside the subquery. This can help the subquery to run more efficiently. */ if( (pItem->fg.jointype & JT_OUTER)==0 - && pushDownWhereTerms(db, pSub, p->pWhere, pItem->iCursor) + && pushDownWhereTerms(pParse, pSub, p->pWhere, pItem->iCursor) ){ #if SELECTTRACE_ENABLED if( sqlite3SelectTrace & 0x100 ){ @@ -119363,16 +124030,14 @@ SQLITE_PRIVATE int sqlite3Select( #endif } + zSavedAuthContext = pParse->zAuthContext; + pParse->zAuthContext = pItem->zName; + /* Generate code to implement the subquery ** - ** The subquery is implemented as a co-routine if all of these are true: - ** (1) The subquery is guaranteed to be the outer loop (so that it - ** does not need to be computed more than once) - ** (2) The ALL keyword after SELECT is omitted. (Applications are - ** allowed to say "SELECT ALL" instead of just "SELECT" to disable - ** the use of co-routines.) - ** (3) Co-routines are not disabled using sqlite3_test_control() - ** with SQLITE_TESTCTRL_OPTIMIZATIONS. + ** The subquery is implemented as a co-routine if the subquery is + ** guaranteed to be the outer loop (so that it does not need to be + ** computed more than once) ** ** TODO: Are there other reasons beside (1) to use a co-routine ** implementation? @@ -119380,13 +124045,12 @@ SQLITE_PRIVATE int sqlite3Select( if( i==0 && (pTabList->nSrc==1 || (pTabList->a[1].fg.jointype&(JT_LEFT|JT_CROSS))!=0) /* (1) */ - && (p->selFlags & SF_All)==0 /* (2) */ - && OptimizationEnabled(db, SQLITE_SubqCoroutine) /* (3) */ ){ /* Implement a co-routine that will return a single row of the result ** set on each invocation. */ int addrTop = sqlite3VdbeCurrentAddr(v)+1; + pItem->regReturn = ++pParse->nMem; sqlite3VdbeAddOp3(v, OP_InitCoroutine, pItem->regReturn, 0, addrTop); VdbeComment((v, "%s", pItem->pTab->zName)); @@ -119409,6 +124073,8 @@ SQLITE_PRIVATE int sqlite3Select( int topAddr; int onceAddr = 0; int retAddr; + struct SrcList_item *pPrior; + assert( pItem->addrFillSub==0 ); pItem->regReturn = ++pParse->nMem; topAddr = sqlite3VdbeAddOp2(v, OP_Integer, 0, pItem->regReturn); @@ -119422,9 +124088,17 @@ SQLITE_PRIVATE int sqlite3Select( }else{ VdbeNoopComment((v, "materialize \"%s\"", pItem->pTab->zName)); } - sqlite3SelectDestInit(&dest, SRT_EphemTab, pItem->iCursor); - explainSetInteger(pItem->iSelectId, (u8)pParse->iNextSelectId); - sqlite3Select(pParse, pSub, &dest); + pPrior = isSelfJoinView(pTabList, pItem); + if( pPrior ){ + sqlite3VdbeAddOp2(v, OP_OpenDup, pItem->iCursor, pPrior->iCursor); + explainSetInteger(pItem->iSelectId, pPrior->iSelectId); + assert( pPrior->pSelect!=0 ); + pSub->nSelectRow = pPrior->pSelect->nSelectRow; + }else{ + sqlite3SelectDestInit(&dest, SRT_EphemTab, pItem->iCursor); + explainSetInteger(pItem->iSelectId, (u8)pParse->iNextSelectId); + sqlite3Select(pParse, pSub, &dest); + } pItem->pTab->nRowLogEst = pSub->nSelectRow; if( onceAddr ) sqlite3VdbeJumpHere(v, onceAddr); retAddr = sqlite3VdbeAddOp1(v, OP_Return, pItem->regReturn); @@ -119434,8 +124108,9 @@ SQLITE_PRIVATE int sqlite3Select( } if( db->mallocFailed ) goto select_end; pParse->nHeight -= sqlite3SelectExprHeight(p); - } + pParse->zAuthContext = zSavedAuthContext; #endif + } /* Various elements of the SELECT copied into local variables for ** convenience */ @@ -119452,6 +124127,16 @@ SQLITE_PRIVATE int sqlite3Select( } #endif +#ifdef SQLITE_COUNTOFVIEW_OPTIMIZATION + if( OptimizationEnabled(db, SQLITE_QueryFlattener|SQLITE_CountOfView) + && countOfViewOptimization(pParse, p) + ){ + if( db->mallocFailed ) goto select_end; + pEList = p->pEList; + pTabList = p->pSrc; + } +#endif + /* If the query is DISTINCT with an ORDER BY but is not an aggregate, and ** if the select-list is the same as the ORDER BY list, then this query ** can be rewritten as a GROUP BY. In other words, this: @@ -119515,7 +124200,9 @@ SQLITE_PRIVATE int sqlite3Select( /* Set the limiter. */ iEnd = sqlite3VdbeMakeLabel(v); - p->nSelectRow = 320; /* 4 billion rows */ + if( (p->selFlags & SF_FixedLimit)==0 ){ + p->nSelectRow = 320; /* 4 billion rows */ + } computeLimitRegisters(pParse, p, iEnd); if( p->iLimit==0 && sSort.addrSortIndex>=0 ){ sqlite3VdbeChangeOpcode(v, sSort.addrSortIndex, OP_SorterOpen); @@ -119569,7 +124256,8 @@ SQLITE_PRIVATE int sqlite3Select( } /* Use the standard inner loop. */ - selectInnerLoop(pParse, p, pEList, -1, &sSort, &sDistinct, pDest, + assert( p->pEList==pEList ); + selectInnerLoop(pParse, p, -1, &sSort, &sDistinct, pDest, sqlite3WhereContinueLabel(pWInfo), sqlite3WhereBreakLabel(pWInfo)); @@ -119641,9 +124329,19 @@ SQLITE_PRIVATE int sqlite3Select( sqlite3ExprAnalyzeAggList(&sNC, pEList); sqlite3ExprAnalyzeAggList(&sNC, sSort.pOrderBy); if( pHaving ){ + if( pGroupBy ){ + assert( pWhere==p->pWhere ); + havingToWhere(pParse, pGroupBy, pHaving, &p->pWhere); + pWhere = p->pWhere; + } sqlite3ExprAnalyzeAggregates(&sNC, pHaving); } sAggInfo.nAccumulator = sAggInfo.nColumn; + if( p->pGroupBy==0 && p->pHaving==0 && sAggInfo.nFunc==1 ){ + minMaxFlag = minMaxQuery(db, sAggInfo.aFunc[0].pExpr, &pMinMaxOrderBy); + }else{ + minMaxFlag = WHERE_ORDERBY_NORMAL; + } for(i=0; inMem; if( db->mallocFailed ) goto select_end; +#if SELECTTRACE_ENABLED + if( sqlite3SelectTrace & 0x400 ){ + int ii; + SELECTTRACE(0x400,pParse,p,("After aggregate analysis:\n")); + sqlite3TreeViewSelect(0, p, 0); + for(ii=0; iipEList, -1, &sSort, + selectInnerLoop(pParse, p, -1, &sSort, &sDistinct, pDest, addrOutputRow+1, addrSetAbort); sqlite3VdbeAddOp1(v, OP_Return, regOutputRow); @@ -119881,7 +124597,6 @@ SQLITE_PRIVATE int sqlite3Select( } /* endif pGroupBy. Begin aggregate queries without GROUP BY: */ else { - ExprList *pDel = 0; #ifndef SQLITE_OMIT_BTREECOUNT Table *pTab; if( (pTab = isSimpleCount(p, &sAggInfo))!=0 ){ @@ -119943,67 +124658,31 @@ SQLITE_PRIVATE int sqlite3Select( }else #endif /* SQLITE_OMIT_BTREECOUNT */ { - /* Check if the query is of one of the following forms: - ** - ** SELECT min(x) FROM ... - ** SELECT max(x) FROM ... - ** - ** If it is, then ask the code in where.c to attempt to sort results - ** as if there was an "ORDER ON x" or "ORDER ON x DESC" clause. - ** If where.c is able to produce results sorted in this order, then - ** add vdbe code to break out of the processing loop after the - ** first iteration (since the first iteration of the loop is - ** guaranteed to operate on the row with the minimum or maximum - ** value of x, the only row required). - ** - ** A special flag must be passed to sqlite3WhereBegin() to slightly - ** modify behavior as follows: - ** - ** + If the query is a "SELECT min(x)", then the loop coded by - ** where.c should not iterate over any values with a NULL value - ** for x. - ** - ** + The optimizer code in where.c (the thing that decides which - ** index or indices to use) should place a different priority on - ** satisfying the 'ORDER BY' clause than it does in other cases. - ** Refer to code and comments in where.c for details. - */ - ExprList *pMinMax = 0; - u8 flag = WHERE_ORDERBY_NORMAL; - - assert( p->pGroupBy==0 ); - assert( flag==0 ); - if( p->pHaving==0 ){ - flag = minMaxQuery(&sAggInfo, &pMinMax); - } - assert( flag==0 || (pMinMax!=0 && pMinMax->nExpr==1) ); - - if( flag ){ - pMinMax = sqlite3ExprListDup(db, pMinMax, 0); - pDel = pMinMax; - assert( db->mallocFailed || pMinMax!=0 ); - if( !db->mallocFailed ){ - pMinMax->a[0].sortOrder = flag!=WHERE_ORDERBY_MIN ?1:0; - pMinMax->a[0].pExpr->op = TK_COLUMN; - } - } - /* This case runs if the aggregate has no GROUP BY clause. The ** processing is much simpler since there is only a single row ** of output. */ + assert( p->pGroupBy==0 ); resetAccumulator(pParse, &sAggInfo); - pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, pMinMax,0,flag,0); + + /* If this query is a candidate for the min/max optimization, then + ** minMaxFlag will have been previously set to either + ** WHERE_ORDERBY_MIN or WHERE_ORDERBY_MAX and pMinMaxOrderBy will + ** be an appropriate ORDER BY expression for the optimization. + */ + assert( minMaxFlag==WHERE_ORDERBY_NORMAL || pMinMaxOrderBy!=0 ); + assert( pMinMaxOrderBy==0 || pMinMaxOrderBy->nExpr==1 ); + + pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, pMinMaxOrderBy, + 0, minMaxFlag, 0); if( pWInfo==0 ){ - sqlite3ExprListDelete(db, pDel); goto select_end; } updateAccumulator(pParse, &sAggInfo); - assert( pMinMax==0 || pMinMax->nExpr==1 ); if( sqlite3WhereIsOrdered(pWInfo)>0 ){ sqlite3VdbeGoto(v, sqlite3WhereBreakLabel(pWInfo)); VdbeComment((v, "%s() by index", - (flag==WHERE_ORDERBY_MIN?"min":"max"))); + (minMaxFlag==WHERE_ORDERBY_MIN?"min":"max"))); } sqlite3WhereEnd(pWInfo); finalizeAggFunctions(pParse, &sAggInfo); @@ -120011,9 +124690,8 @@ SQLITE_PRIVATE int sqlite3Select( sSort.pOrderBy = 0; sqlite3ExprIfFalse(pParse, pHaving, addrEnd, SQLITE_JUMPIFNULL); - selectInnerLoop(pParse, p, p->pEList, -1, 0, 0, + selectInnerLoop(pParse, p, -1, 0, 0, pDest, addrEnd, addrEnd); - sqlite3ExprListDelete(db, pDel); } sqlite3VdbeResolveLabel(v, addrEnd); @@ -120045,13 +124723,7 @@ SQLITE_PRIVATE int sqlite3Select( */ select_end: explainSetInteger(pParse->iSelectId, iRestoreSelectId); - - /* Identify column names if results of the SELECT are to be output. - */ - if( rc==SQLITE_OK && pDest->eDest==SRT_Output ){ - generateColumnNames(pParse, pTabList, pEList); - } - + sqlite3ExprListDelete(db, pMinMaxOrderBy); sqlite3DbFree(db, sAggInfo.aCol); sqlite3DbFree(db, sAggInfo.aFunc); #if SELECTTRACE_ENABLED @@ -120082,8 +124754,6 @@ SQLITE_PRIVATE int sqlite3Select( ** if they are not used. */ /* #include "sqliteInt.h" */ -/* #include */ -/* #include */ #ifndef SQLITE_OMIT_GET_TABLE @@ -120293,6 +124963,7 @@ SQLITE_PRIVATE void sqlite3DeleteTriggerStep(sqlite3 *db, TriggerStep *pTriggerS sqlite3ExprListDelete(db, pTmp->pExprList); sqlite3SelectDelete(db, pTmp->pSelect); sqlite3IdListDelete(db, pTmp->pIdList); + sqlite3DbFree(db, pTmp->zSpan); sqlite3DbFree(db, pTmp); } @@ -120574,9 +125245,10 @@ SQLITE_PRIVATE void sqlite3FinishTrigger( if( v==0 ) goto triggerfinish_cleanup; sqlite3BeginWriteOperation(pParse, 0, iDb); z = sqlite3DbStrNDup(db, (char*)pAll->z, pAll->n); + testcase( z==0 ); sqlite3NestedParse(pParse, "INSERT INTO %Q.%s VALUES('trigger',%Q,%Q,0,'CREATE TRIGGER %q')", - db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), zName, + db->aDb[iDb].zDbSName, MASTER_NAME, zName, pTrig->table, z); sqlite3DbFree(db, z); sqlite3ChangeCookie(pParse, iDb); @@ -120606,6 +125278,17 @@ SQLITE_PRIVATE void sqlite3FinishTrigger( sqlite3DeleteTriggerStep(db, pStepList); } +/* +** Duplicate a range of text from an SQL statement, then convert all +** whitespace characters into ordinary space characters. +*/ +static char *triggerSpanDup(sqlite3 *db, const char *zStart, const char *zEnd){ + char *z = sqlite3DbSpanDup(db, zStart, zEnd); + int i; + if( z ) for(i=0; z[i]; i++) if( sqlite3Isspace(z[i]) ) z[i] = ' '; + return z; +} + /* ** Turn a SELECT statement (that the pSelect parameter points to) into ** a trigger step. Return a pointer to a TriggerStep structure. @@ -120613,7 +125296,12 @@ SQLITE_PRIVATE void sqlite3FinishTrigger( ** The parser calls this routine when it finds a SELECT statement in ** body of a TRIGGER. */ -SQLITE_PRIVATE TriggerStep *sqlite3TriggerSelectStep(sqlite3 *db, Select *pSelect){ +SQLITE_PRIVATE TriggerStep *sqlite3TriggerSelectStep( + sqlite3 *db, /* Database connection */ + Select *pSelect, /* The SELECT statement */ + const char *zStart, /* Start of SQL text */ + const char *zEnd /* End of SQL text */ +){ TriggerStep *pTriggerStep = sqlite3DbMallocZero(db, sizeof(TriggerStep)); if( pTriggerStep==0 ) { sqlite3SelectDelete(db, pSelect); @@ -120622,6 +125310,7 @@ SQLITE_PRIVATE TriggerStep *sqlite3TriggerSelectStep(sqlite3 *db, Select *pSelec pTriggerStep->op = TK_SELECT; pTriggerStep->pSelect = pSelect; pTriggerStep->orconf = OE_Default; + pTriggerStep->zSpan = triggerSpanDup(db, zStart, zEnd); return pTriggerStep; } @@ -120634,7 +125323,9 @@ SQLITE_PRIVATE TriggerStep *sqlite3TriggerSelectStep(sqlite3 *db, Select *pSelec static TriggerStep *triggerStepAllocate( sqlite3 *db, /* Database connection */ u8 op, /* Trigger opcode */ - Token *pName /* The target name */ + Token *pName, /* The target name */ + const char *zStart, /* Start of SQL text */ + const char *zEnd /* End of SQL text */ ){ TriggerStep *pTriggerStep; @@ -120645,6 +125336,7 @@ static TriggerStep *triggerStepAllocate( sqlite3Dequote(z); pTriggerStep->zTarget = z; pTriggerStep->op = op; + pTriggerStep->zSpan = triggerSpanDup(db, zStart, zEnd); } return pTriggerStep; } @@ -120661,13 +125353,15 @@ SQLITE_PRIVATE TriggerStep *sqlite3TriggerInsertStep( Token *pTableName, /* Name of the table into which we insert */ IdList *pColumn, /* List of columns in pTableName to insert into */ Select *pSelect, /* A SELECT statement that supplies values */ - u8 orconf /* The conflict algorithm (OE_Abort, OE_Replace, etc.) */ + u8 orconf, /* The conflict algorithm (OE_Abort, OE_Replace, etc.) */ + const char *zStart, /* Start of SQL text */ + const char *zEnd /* End of SQL text */ ){ TriggerStep *pTriggerStep; assert(pSelect != 0 || db->mallocFailed); - pTriggerStep = triggerStepAllocate(db, TK_INSERT, pTableName); + pTriggerStep = triggerStepAllocate(db, TK_INSERT, pTableName, zStart, zEnd); if( pTriggerStep ){ pTriggerStep->pSelect = sqlite3SelectDup(db, pSelect, EXPRDUP_REDUCE); pTriggerStep->pIdList = pColumn; @@ -120690,11 +125384,13 @@ SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep( Token *pTableName, /* Name of the table to be updated */ ExprList *pEList, /* The SET clause: list of column and new values */ Expr *pWhere, /* The WHERE clause */ - u8 orconf /* The conflict algorithm. (OE_Abort, OE_Ignore, etc) */ + u8 orconf, /* The conflict algorithm. (OE_Abort, OE_Ignore, etc) */ + const char *zStart, /* Start of SQL text */ + const char *zEnd /* End of SQL text */ ){ TriggerStep *pTriggerStep; - pTriggerStep = triggerStepAllocate(db, TK_UPDATE, pTableName); + pTriggerStep = triggerStepAllocate(db, TK_UPDATE, pTableName, zStart, zEnd); if( pTriggerStep ){ pTriggerStep->pExprList = sqlite3ExprListDup(db, pEList, EXPRDUP_REDUCE); pTriggerStep->pWhere = sqlite3ExprDup(db, pWhere, EXPRDUP_REDUCE); @@ -120713,11 +125409,13 @@ SQLITE_PRIVATE TriggerStep *sqlite3TriggerUpdateStep( SQLITE_PRIVATE TriggerStep *sqlite3TriggerDeleteStep( sqlite3 *db, /* Database connection */ Token *pTableName, /* The table from which rows are deleted */ - Expr *pWhere /* The WHERE clause */ + Expr *pWhere, /* The WHERE clause */ + const char *zStart, /* Start of SQL text */ + const char *zEnd /* End of SQL text */ ){ TriggerStep *pTriggerStep; - pTriggerStep = triggerStepAllocate(db, TK_DELETE, pTableName); + pTriggerStep = triggerStepAllocate(db, TK_DELETE, pTableName, zStart, zEnd); if( pTriggerStep ){ pTriggerStep->pWhere = sqlite3ExprDup(db, pWhere, EXPRDUP_REDUCE); pTriggerStep->orconf = OE_Default; @@ -120827,7 +125525,7 @@ SQLITE_PRIVATE void sqlite3DropTriggerPtr(Parse *pParse, Trigger *pTrigger){ if( (v = sqlite3GetVdbe(pParse))!=0 ){ sqlite3NestedParse(pParse, "DELETE FROM %Q.%s WHERE name=%Q AND type='trigger'", - db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), pTrigger->zName + db->aDb[iDb].zDbSName, MASTER_NAME, pTrigger->zName ); sqlite3ChangeCookie(pParse, iDb); sqlite3VdbeAddOp4(v, OP_DropTrigger, iDb, 0, 0, pTrigger->zName, 0); @@ -120852,7 +125550,7 @@ SQLITE_PRIVATE void sqlite3UnlinkAndDeleteTrigger(sqlite3 *db, int iDb, const ch *pp = (*pp)->pNext; } sqlite3DeleteTrigger(db, pTrigger); - db->flags |= SQLITE_InternChanges; + db->mDbFlags |= DBFLAG_SchemaChange; } } @@ -120972,13 +125670,21 @@ static int codeTriggerProgram( pParse->eOrconf = (orconf==OE_Default)?pStep->orconf:(u8)orconf; assert( pParse->okConstFactor==0 ); +#ifndef SQLITE_OMIT_TRACE + if( pStep->zSpan ){ + sqlite3VdbeAddOp4(v, OP_Trace, 0x7fffffff, 1, 0, + sqlite3MPrintf(db, "-- %s", pStep->zSpan), + P4_DYNAMIC); + } +#endif + switch( pStep->op ){ case TK_UPDATE: { sqlite3Update(pParse, targetSrcList(pParse, pStep), sqlite3ExprListDup(db, pStep->pExprList, 0), sqlite3ExprDup(db, pStep->pWhere, 0), - pParse->eOrconf + pParse->eOrconf, 0, 0 ); break; } @@ -120994,7 +125700,7 @@ static int codeTriggerProgram( case TK_DELETE: { sqlite3DeleteFrom(pParse, targetSrcList(pParse, pStep), - sqlite3ExprDup(db, pStep->pWhere, 0) + sqlite3ExprDup(db, pStep->pWhere, 0), 0, 0 ); break; } @@ -121112,9 +125818,11 @@ static TriggerPrg *codeRowTrigger( pTab->zName )); #ifndef SQLITE_OMIT_TRACE - sqlite3VdbeChangeP4(v, -1, - sqlite3MPrintf(db, "-- TRIGGER %s", pTrigger->zName), P4_DYNAMIC - ); + if( pTrigger->zName ){ + sqlite3VdbeChangeP4(v, -1, + sqlite3MPrintf(db, "-- TRIGGER %s", pTrigger->zName), P4_DYNAMIC + ); + } #endif /* If one was specified, code the WHEN clause. If it evaluates to false @@ -121142,7 +125850,7 @@ static TriggerPrg *codeRowTrigger( VdbeComment((v, "End: %s.%s", pTrigger->zName, onErrorText(orconf))); transferParseError(pParse, pSubParse); - if( db->mallocFailed==0 ){ + if( db->mallocFailed==0 && pParse->nErr==0 ){ pProgram->aOp = sqlite3VdbeTakeOpArray(v, &pProgram->nOp, &pTop->nMaxArg); } pProgram->nMem = pSubParse->nMem; @@ -121439,14 +126147,14 @@ SQLITE_PRIVATE void sqlite3ColumnDefault(Vdbe *v, Table *pTab, int i, int iReg){ sqlite3ValueFromExpr(sqlite3VdbeDb(v), pCol->pDflt, enc, pCol->affinity, &pValue); if( pValue ){ - sqlite3VdbeChangeP4(v, -1, (const char *)pValue, P4_MEM); + sqlite3VdbeAppendP4(v, pValue, P4_MEM); } + } #ifndef SQLITE_OMIT_FLOATING_POINT - if( pTab->aCol[i].affinity==SQLITE_AFF_REAL ){ - sqlite3VdbeAddOp1(v, OP_RealAffinity, iReg); - } -#endif + if( pTab->aCol[i].affinity==SQLITE_AFF_REAL ){ + sqlite3VdbeAddOp1(v, OP_RealAffinity, iReg); } +#endif } /* @@ -121461,7 +126169,9 @@ SQLITE_PRIVATE void sqlite3Update( SrcList *pTabList, /* The table in which we should change things */ ExprList *pChanges, /* Things to be changed */ Expr *pWhere, /* The WHERE clause. May be null */ - int onError /* How to handle constraint errors */ + int onError, /* How to handle constraint errors */ + ExprList *pOrderBy, /* ORDER BY clause. May be null */ + Expr *pLimit /* LIMIT clause. May be null */ ){ int i, j; /* Loop counters */ Table *pTab; /* The table to be updated */ @@ -121475,7 +126185,7 @@ SQLITE_PRIVATE void sqlite3Update( int iDataCur; /* Cursor for the canonical data btree */ int iIdxCur; /* Cursor for the first index */ sqlite3 *db; /* The database structure */ - int *aRegIdx = 0; /* One register assigned to each index to be updated */ + int *aRegIdx = 0; /* First register in array assigned to each index */ int *aXRef = 0; /* aXRef[i] is the index in pChanges->a[] of the ** an expression for the i-th column of the table. ** aXRef[i]==-1 if the i-th column is not changed. */ @@ -121487,10 +126197,11 @@ SQLITE_PRIVATE void sqlite3Update( AuthContext sContext; /* The authorization context */ NameContext sNC; /* The name-context to resolve expressions in */ int iDb; /* Database containing the table being updated */ - int okOnePass; /* True for one-pass algorithm without the FIFO */ + int eOnePass; /* ONEPASS_XXX value from where.c */ int hasFK; /* True if foreign key processing is required */ int labelBreak; /* Jump here to break out of UPDATE loop */ int labelContinue; /* Jump here to continue next step of UPDATE loop */ + int flags; /* Flags for sqlite3WhereBegin() */ #ifndef SQLITE_OMIT_TRIGGER int isView; /* True when updating a view (INSTEAD OF trigger) */ @@ -121501,6 +126212,10 @@ SQLITE_PRIVATE void sqlite3Update( int iEph = 0; /* Ephemeral table holding all primary key values */ int nKey = 0; /* Number of elements in regKey for WITHOUT ROWID */ int aiCurOnePass[2]; /* The write cursors opened by WHERE_ONEPASS */ + int addrOpen = 0; /* Address of OP_OpenEphemeral */ + int iPk = 0; /* First of nPk cells holding PRIMARY KEY value */ + i16 nPk = 0; /* Number of components of the PRIMARY KEY */ + int bReplace = 0; /* True if REPLACE conflict resolution might happen */ /* Register Allocations */ int regRowCount = 0; /* A count of rows changed */ @@ -121541,6 +126256,16 @@ SQLITE_PRIVATE void sqlite3Update( # define isView 0 #endif +#ifdef SQLITE_ENABLE_UPDATE_DELETE_LIMIT + if( !isView ){ + pWhere = sqlite3LimitWhere( + pParse, pTabList, pWhere, pOrderBy, pLimit, "UPDATE" + ); + pOrderBy = 0; + pLimit = 0; + } +#endif + if( sqlite3ViewGetColumnNames(pParse, pTab) ){ goto update_cleanup; } @@ -121650,14 +126375,21 @@ SQLITE_PRIVATE void sqlite3Update( */ for(j=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, j++){ int reg; - if( chngKey || hasFK || pIdx->pPartIdxWhere || pIdx==pPk ){ + if( chngKey || hasFK>1 || pIdx->pPartIdxWhere || pIdx==pPk ){ reg = ++pParse->nMem; + pParse->nMem += pIdx->nColumn; }else{ reg = 0; for(i=0; inKeyCol; i++){ i16 iIdxCol = pIdx->aiColumn[i]; if( iIdxCol<0 || aXRef[iIdxCol]>=0 ){ reg = ++pParse->nMem; + pParse->nMem += pIdx->nColumn; + if( (onError==OE_Replace) + || (onError==OE_Default && pIdx->onError==OE_Replace) + ){ + bReplace = 1; + } break; } } @@ -121665,6 +126397,11 @@ SQLITE_PRIVATE void sqlite3Update( if( reg==0 ) aToOpen[j+1] = 0; aRegIdx[j] = reg; } + if( bReplace ){ + /* If REPLACE conflict resolution might be invoked, open cursors on all + ** indexes in case they are needed to delete records. */ + memset(aToOpen, 1, nIdx+1); + } /* Begin generating code. */ v = sqlite3GetVdbe(pParse); @@ -121697,7 +126434,11 @@ SQLITE_PRIVATE void sqlite3Update( */ #if !defined(SQLITE_OMIT_VIEW) && !defined(SQLITE_OMIT_TRIGGER) if( isView ){ - sqlite3MaterializeView(pParse, pTab, pWhere, iDataCur); + sqlite3MaterializeView(pParse, pTab, + pWhere, pOrderBy, pLimit, iDataCur + ); + pOrderBy = 0; + pLimit = 0; } #endif @@ -121717,110 +126458,130 @@ SQLITE_PRIVATE void sqlite3Update( } #endif - /* Begin the database scan - */ + /* Initialize the count of updated rows */ + if( (db->flags & SQLITE_CountRows) && !pParse->pTriggerTab ){ + regRowCount = ++pParse->nMem; + sqlite3VdbeAddOp2(v, OP_Integer, 0, regRowCount); + } + if( HasRowid(pTab) ){ sqlite3VdbeAddOp3(v, OP_Null, 0, regRowSet, regOldRowid); - pWInfo = sqlite3WhereBegin( - pParse, pTabList, pWhere, 0, 0, - WHERE_ONEPASS_DESIRED | WHERE_SEEK_TABLE, iIdxCur - ); - if( pWInfo==0 ) goto update_cleanup; - okOnePass = sqlite3WhereOkOnePass(pWInfo, aiCurOnePass); - - /* Remember the rowid of every item to be updated. - */ - sqlite3VdbeAddOp2(v, OP_Rowid, iDataCur, regOldRowid); - if( !okOnePass ){ - sqlite3VdbeAddOp2(v, OP_RowSetAdd, regRowSet, regOldRowid); - } - - /* End the database scan loop. - */ - sqlite3WhereEnd(pWInfo); }else{ - int iPk; /* First of nPk memory cells holding PRIMARY KEY value */ - i16 nPk; /* Number of components of the PRIMARY KEY */ - int addrOpen; /* Address of the OpenEphemeral instruction */ - assert( pPk!=0 ); nPk = pPk->nKeyCol; iPk = pParse->nMem+1; pParse->nMem += nPk; regKey = ++pParse->nMem; iEph = pParse->nTab++; + sqlite3VdbeAddOp2(v, OP_Null, 0, iPk); addrOpen = sqlite3VdbeAddOp2(v, OP_OpenEphemeral, iEph, nPk); sqlite3VdbeSetP4KeyInfo(pParse, pPk); - pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, 0, 0, - WHERE_ONEPASS_DESIRED, iIdxCur); - if( pWInfo==0 ) goto update_cleanup; - okOnePass = sqlite3WhereOkOnePass(pWInfo, aiCurOnePass); + } + + /* Begin the database scan. + ** + ** Do not consider a single-pass strategy for a multi-row update if + ** there are any triggers or foreign keys to process, or rows may + ** be deleted as a result of REPLACE conflict handling. Any of these + ** things might disturb a cursor being used to scan through the table + ** or index, causing a single-pass approach to malfunction. */ + flags = WHERE_ONEPASS_DESIRED|WHERE_SEEK_UNIQ_TABLE; + if( !pParse->nested && !pTrigger && !hasFK && !chngKey && !bReplace ){ + flags |= WHERE_ONEPASS_MULTIROW; + } + pWInfo = sqlite3WhereBegin(pParse, pTabList, pWhere, 0, 0, flags, iIdxCur); + if( pWInfo==0 ) goto update_cleanup; + + /* A one-pass strategy that might update more than one row may not + ** be used if any column of the index used for the scan is being + ** updated. Otherwise, if there is an index on "b", statements like + ** the following could create an infinite loop: + ** + ** UPDATE t1 SET b=b+1 WHERE b>? + ** + ** Fall back to ONEPASS_OFF if where.c has selected a ONEPASS_MULTI + ** strategy that uses an index for which one or more columns are being + ** updated. */ + eOnePass = sqlite3WhereOkOnePass(pWInfo, aiCurOnePass); + if( eOnePass==ONEPASS_MULTI ){ + int iCur = aiCurOnePass[1]; + if( iCur>=0 && iCur!=iDataCur && aToOpen[iCur-iBaseCur] ){ + eOnePass = ONEPASS_OFF; + } + assert( iCur!=iDataCur || !HasRowid(pTab) ); + } + + if( HasRowid(pTab) ){ + /* Read the rowid of the current row of the WHERE scan. In ONEPASS_OFF + ** mode, write the rowid into the FIFO. In either of the one-pass modes, + ** leave it in register regOldRowid. */ + sqlite3VdbeAddOp2(v, OP_Rowid, iDataCur, regOldRowid); + if( eOnePass==ONEPASS_OFF ){ + sqlite3VdbeAddOp2(v, OP_RowSetAdd, regRowSet, regOldRowid); + } + }else{ + /* Read the PK of the current row into an array of registers. In + ** ONEPASS_OFF mode, serialize the array into a record and store it in + ** the ephemeral table. Or, in ONEPASS_SINGLE or MULTI mode, change + ** the OP_OpenEphemeral instruction to a Noop (the ephemeral table + ** is not required) and leave the PK fields in the array of registers. */ for(i=0; iaiColumn[i]>=0 ); - sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur, pPk->aiColumn[i], - iPk+i); + sqlite3ExprCodeGetColumnOfTable(v, pTab, iDataCur,pPk->aiColumn[i],iPk+i); } - if( okOnePass ){ + if( eOnePass ){ sqlite3VdbeChangeToNoop(v, addrOpen); nKey = nPk; regKey = iPk; }else{ sqlite3VdbeAddOp4(v, OP_MakeRecord, iPk, nPk, regKey, sqlite3IndexAffinityStr(db, pPk), nPk); - sqlite3VdbeAddOp2(v, OP_IdxInsert, iEph, regKey); + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, iEph, regKey, iPk, nPk); } - sqlite3WhereEnd(pWInfo); } - /* Initialize the count of updated rows - */ - if( (db->flags & SQLITE_CountRows) && !pParse->pTriggerTab ){ - regRowCount = ++pParse->nMem; - sqlite3VdbeAddOp2(v, OP_Integer, 0, regRowCount); + if( eOnePass!=ONEPASS_MULTI ){ + sqlite3WhereEnd(pWInfo); } labelBreak = sqlite3VdbeMakeLabel(v); if( !isView ){ - /* - ** Open every index that needs updating. Note that if any - ** index could potentially invoke a REPLACE conflict resolution - ** action, then we need to open all indices because we might need - ** to be deleting some records. - */ - if( onError==OE_Replace ){ - memset(aToOpen, 1, nIdx+1); - }else{ - for(pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext){ - if( pIdx->onError==OE_Replace ){ - memset(aToOpen, 1, nIdx+1); - break; - } - } - } - if( okOnePass ){ + int addrOnce = 0; + + /* Open every index that needs updating. */ + if( eOnePass!=ONEPASS_OFF ){ if( aiCurOnePass[0]>=0 ) aToOpen[aiCurOnePass[0]-iBaseCur] = 0; if( aiCurOnePass[1]>=0 ) aToOpen[aiCurOnePass[1]-iBaseCur] = 0; } + + if( eOnePass==ONEPASS_MULTI && (nIdx-(aiCurOnePass[1]>=0))>0 ){ + addrOnce = sqlite3VdbeAddOp0(v, OP_Once); VdbeCoverage(v); + } sqlite3OpenTableAndIndices(pParse, pTab, OP_OpenWrite, 0, iBaseCur, aToOpen, 0, 0); + if( addrOnce ) sqlite3VdbeJumpHere(v, addrOnce); } /* Top of the update loop */ - if( okOnePass ){ - if( aToOpen[iDataCur-iBaseCur] && !isView ){ + if( eOnePass!=ONEPASS_OFF ){ + if( !isView && aiCurOnePass[0]!=iDataCur && aiCurOnePass[1]!=iDataCur ){ assert( pPk ); sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, labelBreak, regKey, nKey); VdbeCoverageNeverTaken(v); } - labelContinue = labelBreak; + if( eOnePass==ONEPASS_SINGLE ){ + labelContinue = labelBreak; + }else{ + labelContinue = sqlite3VdbeMakeLabel(v); + } sqlite3VdbeAddOp2(v, OP_IsNull, pPk ? regKey : regOldRowid, labelBreak); VdbeCoverageIf(v, pPk==0); VdbeCoverageIf(v, pPk!=0); }else if( pPk ){ labelContinue = sqlite3VdbeMakeLabel(v); sqlite3VdbeAddOp2(v, OP_Rewind, iEph, labelBreak); VdbeCoverage(v); - addrTop = sqlite3VdbeAddOp2(v, OP_RowKey, iEph, regKey); + addrTop = sqlite3VdbeAddOp2(v, OP_RowData, iEph, regKey); sqlite3VdbeAddOp4Int(v, OP_NotFound, iDataCur, labelContinue, regKey, 0); VdbeCoverage(v); }else{ @@ -121938,7 +126699,6 @@ SQLITE_PRIVATE void sqlite3Update( if( !isView ){ int addr1 = 0; /* Address of jump instruction */ - int bReplace = 0; /* True if REPLACE conflict resolution might happen */ /* Do constraint checks. */ assert( regOldRowid>0 ); @@ -121974,14 +126734,18 @@ SQLITE_PRIVATE void sqlite3Update( assert( regNew==regNewRowid+1 ); #ifdef SQLITE_ENABLE_PREUPDATE_HOOK sqlite3VdbeAddOp3(v, OP_Delete, iDataCur, - OPFLAG_ISUPDATE | ((hasFK || chngKey || pPk!=0) ? 0 : OPFLAG_ISNOOP), + OPFLAG_ISUPDATE | ((hasFK>1 || chngKey) ? 0 : OPFLAG_ISNOOP), regNewRowid ); + if( eOnePass==ONEPASS_MULTI ){ + assert( hasFK==0 && chngKey==0 ); + sqlite3VdbeChangeP5(v, OPFLAG_SAVEPOSITION); + } if( !pParse->nested ){ - sqlite3VdbeChangeP4(v, -1, (char*)pTab, P4_TABLE); + sqlite3VdbeAppendP4(v, pTab, P4_TABLE); } #else - if( hasFK || chngKey || pPk!=0 ){ + if( hasFK>1 || chngKey ){ sqlite3VdbeAddOp2(v, OP_Delete, iDataCur, 0); } #endif @@ -121994,8 +126758,11 @@ SQLITE_PRIVATE void sqlite3Update( } /* Insert the new index entries and the new record. */ - sqlite3CompleteInsertion(pParse, pTab, iDataCur, iIdxCur, - regNewRowid, aRegIdx, 1, 0, 0); + sqlite3CompleteInsertion( + pParse, pTab, iDataCur, iIdxCur, regNewRowid, aRegIdx, + OPFLAG_ISUPDATE | (eOnePass==ONEPASS_MULTI ? OPFLAG_SAVEPOSITION : 0), + 0, 0 + ); /* Do any ON CASCADE, SET NULL or SET DEFAULT operations required to ** handle rows (possibly in other tables) that refer via a foreign key @@ -122017,8 +126784,11 @@ SQLITE_PRIVATE void sqlite3Update( /* Repeat the above with the next record to be updated, until ** all record selected by the WHERE clause have been updated. */ - if( okOnePass ){ + if( eOnePass==ONEPASS_SINGLE ){ /* Nothing to do at end-of-loop for a single-pass */ + }else if( eOnePass==ONEPASS_MULTI ){ + sqlite3VdbeResolveLabel(v, labelContinue); + sqlite3WhereEnd(pWInfo); }else if( pPk ){ sqlite3VdbeResolveLabel(v, labelContinue); sqlite3VdbeAddOp2(v, OP_Next, iEph, addrTop); VdbeCoverage(v); @@ -122027,15 +126797,6 @@ SQLITE_PRIVATE void sqlite3Update( } sqlite3VdbeResolveLabel(v, labelBreak); - /* Close all tables */ - for(i=0, pIdx=pTab->pIndex; pIdx; pIdx=pIdx->pNext, i++){ - assert( aRegIdx ); - if( aToOpen[i+1] ){ - sqlite3VdbeAddOp2(v, OP_Close, iIdxCur+i, 0); - } - } - if( iDataCurnCol; i++){ if( aXRef[i]>=0 ){ sqlite3ExprCode(pParse, pChanges->a[aXRef[i]].pExpr, regArg+2+i); }else{ sqlite3VdbeAddOp3(v, OP_VColumn, iCsr, i, regArg+2+i); + sqlite3VdbeChangeP5(v, 1); /* Enable sqlite3_vtab_nochange() */ } } + if( HasRowid(pTab) ){ + sqlite3VdbeAddOp2(v, OP_Rowid, iCsr, regArg); + if( pRowid ){ + sqlite3ExprCode(pParse, pRowid, regArg+1); + }else{ + sqlite3VdbeAddOp2(v, OP_Rowid, iCsr, regArg+1); + } + }else{ + Index *pPk; /* PRIMARY KEY index */ + i16 iPk; /* PRIMARY KEY column */ + pPk = sqlite3PrimaryKeyIndex(pTab); + assert( pPk!=0 ); + assert( pPk->nKeyCol==1 ); + iPk = pPk->aiColumn[0]; + sqlite3VdbeAddOp3(v, OP_VColumn, iCsr, iPk, regArg); + sqlite3VdbeAddOp2(v, OP_SCopy, regArg+2+iPk, regArg+1); + } bOnePass = sqlite3WhereOkOnePass(pWInfo, aDummy); @@ -122164,6 +126941,11 @@ static void updateVirtualTable( /* Create a record from the argument register contents and insert it into ** the ephemeral table. */ sqlite3VdbeAddOp3(v, OP_MakeRecord, regArg, nArg, regRec); +#ifdef SQLITE_DEBUG + /* Signal an assert() within OP_MakeRecord that it is allowed to + ** accept no-change records with serial_type 10 */ + sqlite3VdbeChangeP5(v, OPFLAG_NOCHNG_MAGIC); +#endif sqlite3VdbeAddOp2(v, OP_NewRowid, ephemTab, regRowid); sqlite3VdbeAddOp3(v, OP_Insert, ephemTab, regRec, regRowid); } @@ -122301,8 +127083,25 @@ static int execSqlF(sqlite3 *db, char **pzErrMsg, const char *zSql, ...){ */ SQLITE_PRIVATE void sqlite3Vacuum(Parse *pParse, Token *pNm){ Vdbe *v = sqlite3GetVdbe(pParse); - int iDb = pNm ? sqlite3TwoPartName(pParse, pNm, pNm, &pNm) : 0; - if( v && (iDb>=2 || iDb==0) ){ + int iDb = 0; + if( v==0 ) return; + if( pNm ){ +#ifndef SQLITE_BUG_COMPATIBLE_20160819 + /* Default behavior: Report an error if the argument to VACUUM is + ** not recognized */ + iDb = sqlite3TwoPartName(pParse, pNm, pNm, &pNm); + if( iDb<0 ) return; +#else + /* When SQLITE_BUG_COMPATIBLE_20160819 is defined, unrecognized arguments + ** to VACUUM are silently ignored. This is a back-out of a bug fix that + ** occurred on 2016-08-19 (https://www.sqlite.org/src/info/083f9e6270). + ** The buggy behavior is required for binary compatibility with some + ** legacy applications. */ + iDb = sqlite3FindDb(pParse->db, pNm); + if( iDb<0 ) iDb = 0; +#endif + } + if( iDb!=1 ){ sqlite3VdbeAddOp1(v, OP_Vacuum, iDb); sqlite3VdbeUsesBtree(v, iDb); } @@ -122316,7 +127115,8 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ int rc = SQLITE_OK; /* Return code from service routines */ Btree *pMain; /* The database being vacuumed */ Btree *pTemp; /* The temporary database we vacuum into */ - int saved_flags; /* Saved value of the db->flags */ + u16 saved_mDbFlags; /* Saved value of db->mDbFlags */ + u32 saved_flags; /* Saved value of db->flags */ int saved_nChange; /* Saved value of db->nChange */ int saved_nTotalChange; /* Saved value of db->nTotalChange */ u8 saved_mTrace; /* Saved trace settings */ @@ -122339,11 +127139,12 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ ** restored before returning. Then set the writable-schema flag, and ** disable CHECK and foreign key constraints. */ saved_flags = db->flags; + saved_mDbFlags = db->mDbFlags; saved_nChange = db->nChange; saved_nTotalChange = db->nTotalChange; saved_mTrace = db->mTrace; - db->flags |= (SQLITE_WriteSchema | SQLITE_IgnoreChecks - | SQLITE_PreferBuiltin | SQLITE_Vacuum); + db->flags |= SQLITE_WriteSchema | SQLITE_IgnoreChecks; + db->mDbFlags |= DBFLAG_PreferBuiltin | DBFLAG_Vacuum; db->flags &= ~(SQLITE_ForeignKeys | SQLITE_ReverseOrder | SQLITE_CountRows); db->mTrace = 0; @@ -122387,7 +127188,7 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ extern void sqlite3CodecGetKey(sqlite3*, int, void**, int*); int nKey; char *zKey; - sqlite3CodecGetKey(db, 0, (void**)&zKey, &nKey); + sqlite3CodecGetKey(db, iDb, (void**)&zKey, &nKey); if( nKey ) db->nextPagesize = 0; } #endif @@ -122454,8 +127255,8 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ "WHERE type='table'AND coalesce(rootpage,1)>0", zDbMain ); - assert( (db->flags & SQLITE_Vacuum)!=0 ); - db->flags &= ~SQLITE_Vacuum; + assert( (db->mDbFlags & DBFLAG_Vacuum)!=0 ); + db->mDbFlags &= ~DBFLAG_Vacuum; if( rc!=SQLITE_OK ) goto end_of_vacuum; /* Copy the triggers, views, and virtual tables from the main database @@ -122523,6 +127324,7 @@ SQLITE_PRIVATE int sqlite3RunVacuum(char **pzErrMsg, sqlite3 *db, int iDb){ end_of_vacuum: /* Restore the original value of db->flags */ db->init.iDb = 0; + db->mDbFlags = saved_mDbFlags; db->flags = saved_flags; db->nChange = saved_nChange; db->nTotalChange = saved_nTotalChange; @@ -122585,6 +127387,43 @@ struct VtabCtx { int bDeclared; /* True after sqlite3_declare_vtab() is called */ }; +/* +** Construct and install a Module object for a virtual table. When this +** routine is called, it is guaranteed that all appropriate locks are held +** and the module is not already part of the connection. +*/ +SQLITE_PRIVATE Module *sqlite3VtabCreateModule( + sqlite3 *db, /* Database in which module is registered */ + const char *zName, /* Name assigned to this module */ + const sqlite3_module *pModule, /* The definition of the module */ + void *pAux, /* Context pointer for xCreate/xConnect */ + void (*xDestroy)(void *) /* Module destructor function */ +){ + Module *pMod; + int nName = sqlite3Strlen30(zName); + pMod = (Module *)sqlite3Malloc(sizeof(Module) + nName + 1); + if( pMod==0 ){ + sqlite3OomFault(db); + }else{ + Module *pDel; + char *zCopy = (char *)(&pMod[1]); + memcpy(zCopy, zName, nName+1); + pMod->zName = zCopy; + pMod->pModule = pModule; + pMod->pAux = pAux; + pMod->xDestroy = xDestroy; + pMod->pEpoTab = 0; + pDel = (Module *)sqlite3HashInsert(&db->aModule,zCopy,(void*)pMod); + assert( pDel==0 || pDel==pMod ); + if( pDel ){ + sqlite3OomFault(db); + sqlite3DbFree(db, pDel); + pMod = 0; + } + } + return pMod; +} + /* ** The actual function that does the work of creating a new module. ** This function implements the sqlite3_create_module() and @@ -122598,35 +127437,15 @@ static int createModule( void (*xDestroy)(void *) /* Module destructor function */ ){ int rc = SQLITE_OK; - int nName; sqlite3_mutex_enter(db->mutex); - nName = sqlite3Strlen30(zName); if( sqlite3HashFind(&db->aModule, zName) ){ rc = SQLITE_MISUSE_BKPT; }else{ - Module *pMod; - pMod = (Module *)sqlite3DbMallocRawNN(db, sizeof(Module) + nName + 1); - if( pMod ){ - Module *pDel; - char *zCopy = (char *)(&pMod[1]); - memcpy(zCopy, zName, nName+1); - pMod->zName = zCopy; - pMod->pModule = pModule; - pMod->pAux = pAux; - pMod->xDestroy = xDestroy; - pMod->pEpoTab = 0; - pDel = (Module *)sqlite3HashInsert(&db->aModule,zCopy,(void*)pMod); - assert( pDel==0 || pDel==pMod ); - if( pDel ){ - sqlite3OomFault(db); - sqlite3DbFree(db, pDel); - } - } + (void)sqlite3VtabCreateModule(db, zName, pModule, pAux, xDestroy); } rc = sqlite3ApiExit(db, rc); if( rc!=SQLITE_OK && xDestroy ) xDestroy(pAux); - sqlite3_mutex_leave(db->mutex); return rc; } @@ -122881,8 +127700,7 @@ SQLITE_PRIVATE void sqlite3VtabBeginParse( iDb = sqlite3SchemaToIndex(db, pTable->pSchema); assert( iDb>=0 ); - pTable->tabFlags |= TF_Virtual; - pTable->nModuleArg = 0; + assert( pTable->nModuleArg==0 ); addModuleArgument(db, pTable, sqlite3NameFromToken(db, pModuleName)); addModuleArgument(db, pTable, 0); addModuleArgument(db, pTable, sqlite3DbStrDup(db, pTable->zName)); @@ -122965,7 +127783,7 @@ SQLITE_PRIVATE void sqlite3VtabFinishParse(Parse *pParse, Token *pEnd){ "UPDATE %Q.%s " "SET type='table', name=%Q, tbl_name=%Q, rootpage=0, sql=%Q " "WHERE rowid=#%d", - db->aDb[iDb].zDbSName, SCHEMA_TABLE(iDb), + db->aDb[iDb].zDbSName, MASTER_NAME, pTab->zName, pTab->zName, zStmt, @@ -123061,13 +127879,14 @@ static int vtabCallConstructor( } } - zModuleName = sqlite3MPrintf(db, "%s", pTab->zName); + zModuleName = sqlite3DbStrDup(db, pTab->zName); if( !zModuleName ){ return SQLITE_NOMEM_BKPT; } - pVTable = sqlite3DbMallocZero(db, sizeof(VTable)); + pVTable = sqlite3MallocZero(sizeof(VTable)); if( !pVTable ){ + sqlite3OomFault(db); sqlite3DbFree(db, zModuleName); return SQLITE_NOMEM_BKPT; } @@ -123170,7 +127989,7 @@ SQLITE_PRIVATE int sqlite3VtabCallConnect(Parse *pParse, Table *pTab){ int rc; assert( pTab ); - if( (pTab->tabFlags & TF_Virtual)==0 || sqlite3GetVTable(db, pTab) ){ + if( !IsVirtual(pTab) || sqlite3GetVTable(db, pTab) ){ return SQLITE_OK; } @@ -123187,6 +128006,7 @@ SQLITE_PRIVATE int sqlite3VtabCallConnect(Parse *pParse, Table *pTab){ rc = vtabCallConstructor(db, pTab, pMod, pMod->pModule->xConnect, &zErr); if( rc!=SQLITE_OK ){ sqlite3ErrorMsg(pParse, "%s", zErr); + pParse->rc = rc; } sqlite3DbFree(db, zErr); } @@ -123240,7 +128060,7 @@ SQLITE_PRIVATE int sqlite3VtabCallCreate(sqlite3 *db, int iDb, const char *zTab, const char *zMod; pTab = sqlite3FindTable(db, zTab, db->aDb[iDb].zDbSName); - assert( pTab && (pTab->tabFlags & TF_Virtual)!=0 && !pTab->pVTable ); + assert( pTab && IsVirtual(pTab) && !pTab->pVTable ); /* Locate the required virtual table module */ zMod = pTab->azModuleArg[0]; @@ -123276,10 +128096,10 @@ SQLITE_PRIVATE int sqlite3VtabCallCreate(sqlite3 *db, int iDb, const char *zTab, */ SQLITE_API int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable){ VtabCtx *pCtx; - Parse *pParse; int rc = SQLITE_OK; Table *pTab; char *zErr = 0; + Parse sParse; #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) || zCreateTable==0 ){ @@ -123294,57 +128114,57 @@ SQLITE_API int sqlite3_declare_vtab(sqlite3 *db, const char *zCreateTable){ return SQLITE_MISUSE_BKPT; } pTab = pCtx->pTab; - assert( (pTab->tabFlags & TF_Virtual)!=0 ); + assert( IsVirtual(pTab) ); - pParse = sqlite3StackAllocZero(db, sizeof(*pParse)); - if( pParse==0 ){ - rc = SQLITE_NOMEM_BKPT; - }else{ - pParse->declareVtab = 1; - pParse->db = db; - pParse->nQueryLoop = 1; - - if( SQLITE_OK==sqlite3RunParser(pParse, zCreateTable, &zErr) - && pParse->pNewTable - && !db->mallocFailed - && !pParse->pNewTable->pSelect - && (pParse->pNewTable->tabFlags & TF_Virtual)==0 - ){ - if( !pTab->aCol ){ - Table *pNew = pParse->pNewTable; - Index *pIdx; - pTab->aCol = pNew->aCol; - pTab->nCol = pNew->nCol; - pTab->tabFlags |= pNew->tabFlags & (TF_WithoutRowid|TF_NoVisibleRowid); - pNew->nCol = 0; - pNew->aCol = 0; - assert( pTab->pIndex==0 ); - if( !HasRowid(pNew) && pCtx->pVTable->pMod->pModule->xUpdate!=0 ){ - rc = SQLITE_ERROR; - } - pIdx = pNew->pIndex; - if( pIdx ){ - assert( pIdx->pNext==0 ); - pTab->pIndex = pIdx; - pNew->pIndex = 0; - pIdx->pTable = pTab; - } + memset(&sParse, 0, sizeof(sParse)); + sParse.declareVtab = 1; + sParse.db = db; + sParse.nQueryLoop = 1; + if( SQLITE_OK==sqlite3RunParser(&sParse, zCreateTable, &zErr) + && sParse.pNewTable + && !db->mallocFailed + && !sParse.pNewTable->pSelect + && !IsVirtual(sParse.pNewTable) + ){ + if( !pTab->aCol ){ + Table *pNew = sParse.pNewTable; + Index *pIdx; + pTab->aCol = pNew->aCol; + pTab->nCol = pNew->nCol; + pTab->tabFlags |= pNew->tabFlags & (TF_WithoutRowid|TF_NoVisibleRowid); + pNew->nCol = 0; + pNew->aCol = 0; + assert( pTab->pIndex==0 ); + assert( HasRowid(pNew) || sqlite3PrimaryKeyIndex(pNew)!=0 ); + if( !HasRowid(pNew) + && pCtx->pVTable->pMod->pModule->xUpdate!=0 + && sqlite3PrimaryKeyIndex(pNew)->nKeyCol!=1 + ){ + /* WITHOUT ROWID virtual tables must either be read-only (xUpdate==0) + ** or else must have a single-column PRIMARY KEY */ + rc = SQLITE_ERROR; + } + pIdx = pNew->pIndex; + if( pIdx ){ + assert( pIdx->pNext==0 ); + pTab->pIndex = pIdx; + pNew->pIndex = 0; + pIdx->pTable = pTab; } - pCtx->bDeclared = 1; - }else{ - sqlite3ErrorWithMsg(db, SQLITE_ERROR, (zErr ? "%s" : 0), zErr); - sqlite3DbFree(db, zErr); - rc = SQLITE_ERROR; - } - pParse->declareVtab = 0; - - if( pParse->pVdbe ){ - sqlite3VdbeFinalize(pParse->pVdbe); } - sqlite3DeleteTable(db, pParse->pNewTable); - sqlite3ParserReset(pParse); - sqlite3StackFree(db, pParse); + pCtx->bDeclared = 1; + }else{ + sqlite3ErrorWithMsg(db, SQLITE_ERROR, (zErr ? "%s" : 0), zErr); + sqlite3DbFree(db, zErr); + rc = SQLITE_ERROR; } + sParse.declareVtab = 0; + + if( sParse.pVdbe ){ + sqlite3VdbeFinalize(sParse.pVdbe); + } + sqlite3DeleteTable(db, sParse.pNewTable); + sqlite3ParserReset(&sParse); assert( (rc&0xff)==rc ); rc = sqlite3ApiExit(db, rc); @@ -123596,8 +128416,8 @@ SQLITE_PRIVATE FuncDef *sqlite3VtabOverloadFunction( if( NEVER(pExpr==0) ) return pDef; if( pExpr->op!=TK_COLUMN ) return pDef; pTab = pExpr->pTab; - if( NEVER(pTab==0) ) return pDef; - if( (pTab->tabFlags & TF_Virtual)==0 ) return pDef; + if( pTab==0 ) return pDef; + if( !IsVirtual(pTab) ) return pDef; pVtab = sqlite3GetVTable(db, pTab)->pVtab; assert( pVtab!=0 ); assert( pVtab->pModule!=0 ); @@ -123690,10 +128510,9 @@ SQLITE_PRIVATE int sqlite3VtabEponymousTableInit(Parse *pParse, Module *pMod){ return 0; } pMod->pEpoTab = pTab; - pTab->nRef = 1; + pTab->nTabRef = 1; pTab->pSchema = db->aDb[0].pSchema; - pTab->tabFlags |= TF_Virtual; - pTab->nModuleArg = 0; + assert( pTab->nModuleArg==0 ); pTab->iPKey = -1; addModuleArgument(db, pTab, sqlite3DbStrDup(db, pTab->zName)); addModuleArgument(db, pTab, 0); @@ -123764,7 +128583,7 @@ SQLITE_API int sqlite3_vtab_config(sqlite3 *db, int op, ...){ if( !p ){ rc = SQLITE_MISUSE_BKPT; }else{ - assert( p->pTab==0 || (p->pTab->tabFlags & TF_Virtual)!=0 ); + assert( p->pTab==0 || IsVirtual(p->pTab) ); p->pVTable->bConstraint = (u8)va_arg(ap, int); } break; @@ -123932,6 +128751,7 @@ struct WhereLoop { u16 nEq; /* Number of equality constraints */ u16 nBtm; /* Size of BTM vector */ u16 nTop; /* Size of TOP vector */ + u16 nIdxCol; /* Index column used for ORDER BY */ Index *pIndex; /* Index used, or NULL */ } btree; struct { /* Information for virtual tables */ @@ -124091,6 +128911,7 @@ struct WhereTerm { #define TERM_LIKECOND 0x200 /* Conditionally this LIKE operator term */ #define TERM_LIKE 0x400 /* The original LIKE operator */ #define TERM_IS 0x800 /* Term.pExpr is an IS operator */ +#define TERM_VARSELECT 0x1000 /* Term.pExpr contains a correlated sub-query */ /* ** An instance of the WhereScan object is used as an iterator for locating @@ -124180,6 +129001,7 @@ struct WhereAndInfo { ** no gaps. */ struct WhereMaskSet { + int bVarSelect; /* Used by sqlite3WhereExprUsage() */ int n; /* Number of assigned cursor values */ int ix[BMS]; /* Cursor assigned to each bit */ }; @@ -124203,8 +129025,13 @@ struct WhereLoopBuilder { UnpackedRecord *pRec; /* Probe for stat4 (if required) */ int nRecValid; /* Number of valid fields currently in pRec */ #endif + unsigned int bldFlags; /* SQLITE_BLDF_* flags */ }; +/* Allowed values for WhereLoopBuider.bldFlags */ +#define SQLITE_BLDF_INDEXED 0x0001 /* An index is used */ +#define SQLITE_BLDF_UNIQUE 0x0002 /* All keys of a UNIQUE index used */ + /* ** The WHERE clause processing routine has two halves. The ** first part does the start of the WHERE loop and the second @@ -124219,7 +129046,8 @@ struct WhereInfo { Parse *pParse; /* Parsing and code generating context */ SrcList *pTabList; /* List of tables in the join */ ExprList *pOrderBy; /* The ORDER BY clause or NULL */ - ExprList *pDistinctSet; /* DISTINCT over all these values */ + ExprList *pResultSet; /* Result set of the query */ + Expr *pWhere; /* The complete WHERE clause */ LogEst iLimit; /* LIMIT if wctrlFlags has WHERE_USE_LIMIT */ int aiCurOnePass[2]; /* OP_OpenWrite cursors for the ONEPASS opt */ int iContinue; /* Jump here to continue with next record */ @@ -124314,7 +129142,6 @@ SQLITE_PRIVATE void sqlite3WhereTabFuncArgs(Parse*, struct SrcList_item*, WhereC ** WO_LE == SQLITE_INDEX_CONSTRAINT_LE ** WO_GT == SQLITE_INDEX_CONSTRAINT_GT ** WO_GE == SQLITE_INDEX_CONSTRAINT_GE -** WO_MATCH == SQLITE_INDEX_CONSTRAINT_MATCH */ #define WO_IN 0x0001 #define WO_EQ 0x0002 @@ -124322,7 +129149,7 @@ SQLITE_PRIVATE void sqlite3WhereTabFuncArgs(Parse*, struct SrcList_item*, WhereC #define WO_LE (WO_EQ<<(TK_LE-TK_EQ)) #define WO_GT (WO_EQ<<(TK_GT-TK_EQ)) #define WO_GE (WO_EQ<<(TK_GE-TK_EQ)) -#define WO_MATCH 0x0040 +#define WO_AUX 0x0040 /* Op useful to virtual tables only */ #define WO_IS 0x0080 #define WO_ISNULL 0x0100 #define WO_OR 0x0200 /* Two or more OR-connected terms */ @@ -124469,7 +129296,7 @@ SQLITE_PRIVATE int sqlite3WhereExplainOneScan( ){ int ret = 0; #if !defined(SQLITE_DEBUG) && !defined(SQLITE_ENABLE_STMT_SCANSTATUS) - if( pParse->explain==2 ) + if( sqlite3ParseToplevel(pParse)->explain==2 ) #endif { struct SrcList_item *pItem = &pTabList->a[pLevel->iFrom]; @@ -124635,8 +129462,8 @@ SQLITE_PRIVATE void sqlite3WhereAddScanStatus( */ static void disableTerm(WhereLevel *pLevel, WhereTerm *pTerm){ int nLoop = 0; - while( ALWAYS(pTerm!=0) - && (pTerm->wtFlags & TERM_CODED)==0 + assert( pTerm!=0 ); + while( (pTerm->wtFlags & TERM_CODED)==0 && (pLevel->iLeftJoin==0 || ExprHasProperty(pTerm->pExpr, EP_FromJoin)) && (pLevel->notReady & pTerm->prereqAll)==0 ){ @@ -124647,6 +129474,7 @@ static void disableTerm(WhereLevel *pLevel, WhereTerm *pTerm){ } if( pTerm->iParent<0 ) break; pTerm = &pTerm->pWC->a[pTerm->iParent]; + assert( pTerm!=0 ); pTerm->nChild--; if( pTerm->nChild!=0 ) break; nLoop++; @@ -124717,6 +129545,102 @@ static void updateRangeAffinityStr( } } + +/* +** pX is an expression of the form: (vector) IN (SELECT ...) +** In other words, it is a vector IN operator with a SELECT clause on the +** LHS. But not all terms in the vector are indexable and the terms might +** not be in the correct order for indexing. +** +** This routine makes a copy of the input pX expression and then adjusts +** the vector on the LHS with corresponding changes to the SELECT so that +** the vector contains only index terms and those terms are in the correct +** order. The modified IN expression is returned. The caller is responsible +** for deleting the returned expression. +** +** Example: +** +** CREATE TABLE t1(a,b,c,d,e,f); +** CREATE INDEX t1x1 ON t1(e,c); +** SELECT * FROM t1 WHERE (a,b,c,d,e) IN (SELECT v,w,x,y,z FROM t2) +** \_______________________________________/ +** The pX expression +** +** Since only columns e and c can be used with the index, in that order, +** the modified IN expression that is returned will be: +** +** (e,c) IN (SELECT z,x FROM t2) +** +** The reduced pX is different from the original (obviously) and thus is +** only used for indexing, to improve performance. The original unaltered +** IN expression must also be run on each output row for correctness. +*/ +static Expr *removeUnindexableInClauseTerms( + Parse *pParse, /* The parsing context */ + int iEq, /* Look at loop terms starting here */ + WhereLoop *pLoop, /* The current loop */ + Expr *pX /* The IN expression to be reduced */ +){ + sqlite3 *db = pParse->db; + Expr *pNew = sqlite3ExprDup(db, pX, 0); + if( db->mallocFailed==0 ){ + ExprList *pOrigRhs = pNew->x.pSelect->pEList; /* Original unmodified RHS */ + ExprList *pOrigLhs = pNew->pLeft->x.pList; /* Original unmodified LHS */ + ExprList *pRhs = 0; /* New RHS after modifications */ + ExprList *pLhs = 0; /* New LHS after mods */ + int i; /* Loop counter */ + Select *pSelect; /* Pointer to the SELECT on the RHS */ + + for(i=iEq; inLTerm; i++){ + if( pLoop->aLTerm[i]->pExpr==pX ){ + int iField = pLoop->aLTerm[i]->iField - 1; + assert( pOrigRhs->a[iField].pExpr!=0 ); + pRhs = sqlite3ExprListAppend(pParse, pRhs, pOrigRhs->a[iField].pExpr); + pOrigRhs->a[iField].pExpr = 0; + assert( pOrigLhs->a[iField].pExpr!=0 ); + pLhs = sqlite3ExprListAppend(pParse, pLhs, pOrigLhs->a[iField].pExpr); + pOrigLhs->a[iField].pExpr = 0; + } + } + sqlite3ExprListDelete(db, pOrigRhs); + sqlite3ExprListDelete(db, pOrigLhs); + pNew->pLeft->x.pList = pLhs; + pNew->x.pSelect->pEList = pRhs; + if( pLhs && pLhs->nExpr==1 ){ + /* Take care here not to generate a TK_VECTOR containing only a + ** single value. Since the parser never creates such a vector, some + ** of the subroutines do not handle this case. */ + Expr *p = pLhs->a[0].pExpr; + pLhs->a[0].pExpr = 0; + sqlite3ExprDelete(db, pNew->pLeft); + pNew->pLeft = p; + } + pSelect = pNew->x.pSelect; + if( pSelect->pOrderBy ){ + /* If the SELECT statement has an ORDER BY clause, zero the + ** iOrderByCol variables. These are set to non-zero when an + ** ORDER BY term exactly matches one of the terms of the + ** result-set. Since the result-set of the SELECT statement may + ** have been modified or reordered, these variables are no longer + ** set correctly. Since setting them is just an optimization, + ** it's easiest just to zero them here. */ + ExprList *pOrderBy = pSelect->pOrderBy; + for(i=0; inExpr; i++){ + pOrderBy->a[i].u.x.iOrderByCol = 0; + } + } + +#if 0 + printf("For indexing, change the IN expr:\n"); + sqlite3TreeViewExpr(0, pX, 0); + printf("Into:\n"); + sqlite3TreeViewExpr(0, pNew, 0); +#endif + } + return pNew; +} + + /* ** Generate code for a single equality term of the WHERE clause. An equality ** term can be either X=expr or X IN (...). pTerm is the term to be @@ -124779,68 +129703,23 @@ static int codeEqualityTerm( } } for(i=iEq;inLTerm; i++){ - if( ALWAYS(pLoop->aLTerm[i]) && pLoop->aLTerm[i]->pExpr==pX ) nEq++; + assert( pLoop->aLTerm[i]!=0 ); + if( pLoop->aLTerm[i]->pExpr==pX ) nEq++; } if( (pX->flags & EP_xIsSelect)==0 || pX->x.pSelect->pEList->nExpr==1 ){ eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, 0); }else{ - Select *pSelect = pX->x.pSelect; sqlite3 *db = pParse->db; - u16 savedDbOptFlags = db->dbOptFlags; - ExprList *pOrigRhs = pSelect->pEList; - ExprList *pOrigLhs = pX->pLeft->x.pList; - ExprList *pRhs = 0; /* New Select.pEList for RHS */ - ExprList *pLhs = 0; /* New pX->pLeft vector */ + pX = removeUnindexableInClauseTerms(pParse, iEq, pLoop, pX); - for(i=iEq;inLTerm; i++){ - if( pLoop->aLTerm[i]->pExpr==pX ){ - int iField = pLoop->aLTerm[i]->iField - 1; - Expr *pNewRhs = sqlite3ExprDup(db, pOrigRhs->a[iField].pExpr, 0); - Expr *pNewLhs = sqlite3ExprDup(db, pOrigLhs->a[iField].pExpr, 0); - - pRhs = sqlite3ExprListAppend(pParse, pRhs, pNewRhs); - pLhs = sqlite3ExprListAppend(pParse, pLhs, pNewLhs); - } - } if( !db->mallocFailed ){ - Expr *pLeft = pX->pLeft; - - if( pSelect->pOrderBy ){ - /* If the SELECT statement has an ORDER BY clause, zero the - ** iOrderByCol variables. These are set to non-zero when an - ** ORDER BY term exactly matches one of the terms of the - ** result-set. Since the result-set of the SELECT statement may - ** have been modified or reordered, these variables are no longer - ** set correctly. Since setting them is just an optimization, - ** it's easiest just to zero them here. */ - ExprList *pOrderBy = pSelect->pOrderBy; - for(i=0; inExpr; i++){ - pOrderBy->a[i].u.x.iOrderByCol = 0; - } - } - - /* Take care here not to generate a TK_VECTOR containing only a - ** single value. Since the parser never creates such a vector, some - ** of the subroutines do not handle this case. */ - if( pLhs->nExpr==1 ){ - pX->pLeft = pLhs->a[0].pExpr; - }else{ - pLeft->x.pList = pLhs; - aiMap = (int*)sqlite3DbMallocZero(pParse->db, sizeof(int) * nEq); - testcase( aiMap==0 ); - } - pSelect->pEList = pRhs; - db->dbOptFlags |= SQLITE_QueryFlattener; + aiMap = (int*)sqlite3DbMallocZero(pParse->db, sizeof(int)*nEq); eType = sqlite3FindInIndex(pParse, pX, IN_INDEX_LOOP, 0, aiMap); - db->dbOptFlags = savedDbOptFlags; - testcase( aiMap!=0 && aiMap[0]!=0 ); - pSelect->pEList = pOrigRhs; - pLeft->x.pList = pOrigLhs; - pX->pLeft = pLeft; + pTerm->pExpr->iTable = pX->iTable; } - sqlite3ExprListDelete(pParse->db, pLhs); - sqlite3ExprListDelete(pParse->db, pRhs); + sqlite3ExprDelete(db, pX); + pX = pTerm->pExpr; } if( eType==IN_INDEX_INDEX_DESC ){ @@ -125135,7 +130014,7 @@ static int codeCursorHintIsOrFunction(Walker *pWalker, Expr *pExpr){ pWalker->eCode = 1; }else if( pExpr->op==TK_FUNCTION ){ int d1; - char d2[3]; + char d2[4]; if( 0==sqlite3IsLikeFunction(pWalker->pParse->db, pExpr, &d1, d2) ){ pWalker->eCode = 1; } @@ -125307,10 +130186,10 @@ static void codeCursorHint( ** ** Normally, this is just: ** -** OP_Seek $iCur $iRowid +** OP_DeferredSeek $iCur $iRowid ** ** However, if the scan currently being coded is a branch of an OR-loop and -** the statement currently being coded is a SELECT, then P3 of the OP_Seek +** the statement currently being coded is a SELECT, then P3 of OP_DeferredSeek ** is set to iIdxCur and P4 is set to point to an array of integers ** containing one entry for each column of the table cursor iCur is open ** on. For each table column, if the column is the i'th column of the @@ -125329,7 +130208,7 @@ static void codeDeferredSeek( assert( iIdxCur>0 ); assert( pIdx->aiColumn[pIdx->nColumn-1]==-1 ); - sqlite3VdbeAddOp3(v, OP_Seek, iIdxCur, 0, iCur); + sqlite3VdbeAddOp3(v, OP_DeferredSeek, iIdxCur, 0, iCur); if( (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE) && DbMaskAllZero(sqlite3ParseToplevel(pParse)->writeMask) ){ @@ -125358,7 +130237,7 @@ static void codeDeferredSeek( */ static void codeExprOrVector(Parse *pParse, Expr *p, int iReg, int nReg){ assert( nReg>0 ); - if( sqlite3ExprIsVector(p) ){ + if( p && sqlite3ExprIsVector(p) ){ #ifndef SQLITE_OMIT_SUBQUERY if( (p->flags & EP_xIsSelect) ){ Vdbe *v = pParse->pVdbe; @@ -125380,6 +130259,69 @@ static void codeExprOrVector(Parse *pParse, Expr *p, int iReg, int nReg){ } } +/* An instance of the IdxExprTrans object carries information about a +** mapping from an expression on table columns into a column in an index +** down through the Walker. +*/ +typedef struct IdxExprTrans { + Expr *pIdxExpr; /* The index expression */ + int iTabCur; /* The cursor of the corresponding table */ + int iIdxCur; /* The cursor for the index */ + int iIdxCol; /* The column for the index */ +} IdxExprTrans; + +/* The walker node callback used to transform matching expressions into +** a reference to an index column for an index on an expression. +** +** If pExpr matches, then transform it into a reference to the index column +** that contains the value of pExpr. +*/ +static int whereIndexExprTransNode(Walker *p, Expr *pExpr){ + IdxExprTrans *pX = p->u.pIdxTrans; + if( sqlite3ExprCompare(0, pExpr, pX->pIdxExpr, pX->iTabCur)==0 ){ + pExpr->op = TK_COLUMN; + pExpr->iTable = pX->iIdxCur; + pExpr->iColumn = pX->iIdxCol; + pExpr->pTab = 0; + return WRC_Prune; + }else{ + return WRC_Continue; + } +} + +/* +** For an indexes on expression X, locate every instance of expression X +** in pExpr and change that subexpression into a reference to the appropriate +** column of the index. +*/ +static void whereIndexExprTrans( + Index *pIdx, /* The Index */ + int iTabCur, /* Cursor of the table that is being indexed */ + int iIdxCur, /* Cursor of the index itself */ + WhereInfo *pWInfo /* Transform expressions in this WHERE clause */ +){ + int iIdxCol; /* Column number of the index */ + ExprList *aColExpr; /* Expressions that are indexed */ + Walker w; + IdxExprTrans x; + aColExpr = pIdx->aColExpr; + if( aColExpr==0 ) return; /* Not an index on expressions */ + memset(&w, 0, sizeof(w)); + w.xExprCallback = whereIndexExprTransNode; + w.u.pIdxTrans = &x; + x.iTabCur = iTabCur; + x.iIdxCur = iIdxCur; + for(iIdxCol=0; iIdxColnExpr; iIdxCol++){ + if( pIdx->aiColumn[iIdxCol]!=XN_EXPR ) continue; + assert( aColExpr->a[iIdxCol].pExpr!=0 ); + x.iIdxCol = iIdxCol; + x.pIdxExpr = aColExpr->a[iIdxCol].pExpr; + sqlite3WalkExpr(&w, pWInfo->pWhere); + sqlite3WalkExprList(&w, pWInfo->pOrderBy); + sqlite3WalkExprList(&w, pWInfo->pResultSet); + } +} + /* ** Generate code for the start of the iLevel-th loop in the WHERE clause ** implementation described by pWInfo. @@ -125403,9 +130345,12 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( Vdbe *v; /* The prepared stmt under constructions */ struct SrcList_item *pTabItem; /* FROM clause term being coded */ int addrBrk; /* Jump here to break out of the loop */ + int addrHalt; /* addrBrk for the outermost loop */ int addrCont; /* Jump here to continue with next cycle */ int iRowidReg = 0; /* Rowid is stored in this register, if not zero */ int iReleaseReg = 0; /* Temp register to free before returning */ + Index *pIdx = 0; /* Index used by loop (if any) */ + int iLoop; /* Iteration of constraint generator loop */ pParse = pWInfo->pParse; v = pParse->pVdbe; @@ -125444,6 +130389,11 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( VdbeComment((v, "init LEFT JOIN no-match flag")); } + /* Compute a safe address to jump to if we discover that the table for + ** this loop is empty and can never contribute content. */ + for(j=iLevel; j>0 && pWInfo->a[j].iLeftJoin==0; j--){} + addrHalt = pWInfo->a[j].addrBrk; + /* Special case of a FROM clause subquery implemented as a co-routine */ if( pTabItem->fg.viaCoroutine ){ int regYield = pTabItem->regReturn; @@ -125483,7 +130433,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( sqlite3VdbeAddOp2(v, OP_Integer, nConstraint, iReg+1); sqlite3VdbeAddOp4(v, OP_VFilter, iCur, addrNotFound, iReg, pLoop->u.vtab.idxStr, - pLoop->u.vtab.needFree ? P4_MPRINTF : P4_STATIC); + pLoop->u.vtab.needFree ? P4_DYNAMIC : P4_STATIC); VdbeCoverage(v); pLoop->u.vtab.needFree = 0; pLevel->p1 = iCur; @@ -125516,7 +130466,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( /* Generate code that will continue to the next row if ** the IN constraint is not satisfied */ - pCompare = sqlite3PExpr(pParse, TK_EQ, 0, 0, 0); + pCompare = sqlite3PExpr(pParse, TK_EQ, 0, 0); assert( pCompare!=0 || db->mallocFailed ); if( pCompare ){ pCompare->pLeft = pTerm->pExpr->pLeft; @@ -125628,7 +130578,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( sqlite3ExprCacheAffinityChange(pParse, r1, 1); sqlite3ReleaseTempReg(pParse, rTemp); }else{ - sqlite3VdbeAddOp2(v, bRev ? OP_Last : OP_Rewind, iCur, addrBrk); + sqlite3VdbeAddOp2(v, bRev ? OP_Last : OP_Rewind, iCur, addrHalt); VdbeCoverageIf(v, bRev==0); VdbeCoverageIf(v, bRev!=0); } @@ -125726,7 +130676,6 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( int endEq; /* True if range end uses ==, >= or <= */ int start_constraints; /* Start of range is constrained */ int nConstraint; /* Number of constraint terms */ - Index *pIdx; /* The index we will be using */ int iIdxCur; /* The VDBE cursor for the index */ int nExtraReg = 0; /* Number of extra registers needed */ int op; /* Instruction opcode */ @@ -125909,6 +130858,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( } }else if( bStopAtNull ){ sqlite3VdbeAddOp2(v, OP_Null, 0, regBase+nEq); + sqlite3ExprCacheRemove(pParse, regBase+nEq, 1); endEq = 0; nConstraint++; } @@ -125932,7 +130882,10 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( if( omitTable ){ /* pIdx is a covering index. No need to access the main table. */ }else if( HasRowid(pIdx->pTable) ){ - if( (pWInfo->wctrlFlags & WHERE_SEEK_TABLE)!=0 ){ + if( (pWInfo->wctrlFlags & WHERE_SEEK_TABLE) || ( + (pWInfo->wctrlFlags & WHERE_SEEK_UNIQ_TABLE) + && (pWInfo->eOnePass==ONEPASS_SINGLE) + )){ iRowidReg = ++pParse->nMem; sqlite3VdbeAddOp2(v, OP_IdxRowid, iIdxCur, iRowidReg); sqlite3ExprCacheStore(pParse, iCur, -1, iRowidReg); @@ -125952,6 +130905,13 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( iRowidReg, pPk->nKeyCol); VdbeCoverage(v); } + /* If pIdx is an index on one or more expressions, then look through + ** all the expressions in pWInfo and try to transform matching expressions + ** into reference to index columns. + */ + whereIndexExprTrans(pIdx, iCur, iIdxCur, pWInfo); + + /* Record the instruction used to terminate the loop. */ if( pLoop->wsFlags & WHERE_ONEROW ){ pLevel->op = OP_Noop; @@ -125967,6 +130927,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( }else{ assert( pLevel->p5==0 ); } + if( omitTable ) pIdx = 0; }else #ifndef SQLITE_OMIT_OR_OPTIMIZATION @@ -126115,7 +131076,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( pAndExpr = sqlite3ExprAnd(db, pAndExpr, pExpr); } if( pAndExpr ){ - pAndExpr = sqlite3PExpr(pParse, TK_AND|TKFLG_DONTFOLD, 0, pAndExpr, 0); + pAndExpr = sqlite3PExpr(pParse, TK_AND|TKFLG_DONTFOLD, 0, pAndExpr); } } @@ -126188,7 +131149,8 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( } if( iSet>=0 ){ sqlite3VdbeAddOp3(v, OP_MakeRecord, r, nPk, regRowid); - sqlite3VdbeAddOp3(v, OP_IdxInsert, regRowset, regRowid, 0); + sqlite3VdbeAddOp4Int(v, OP_IdxInsert, regRowset, regRowid, + r, nPk); if( iSet ) sqlite3VdbeChangeP5(v, OPFLAG_USESEEKRESULT); } @@ -126270,7 +131232,7 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( codeCursorHint(pTabItem, pWInfo, pLevel, 0); pLevel->op = aStep[bRev]; pLevel->p1 = iCur; - pLevel->p2 = 1 + sqlite3VdbeAddOp2(v, aStart[bRev], iCur, addrBrk); + pLevel->p2 = 1 + sqlite3VdbeAddOp2(v, aStart[bRev], iCur, addrHalt); VdbeCoverageIf(v, bRev==0); VdbeCoverageIf(v, bRev!=0); pLevel->p5 = SQLITE_STMTSTATUS_FULLSCAN_STEP; @@ -126283,43 +131245,75 @@ SQLITE_PRIVATE Bitmask sqlite3WhereCodeOneLoopStart( /* Insert code to test every subexpression that can be completely ** computed using the current set of tables. + ** + ** This loop may run between one and three times, depending on the + ** constraints to be generated. The value of stack variable iLoop + ** determines the constraints coded by each iteration, as follows: + ** + ** iLoop==1: Code only expressions that are entirely covered by pIdx. + ** iLoop==2: Code remaining expressions that do not contain correlated + ** sub-queries. + ** iLoop==3: Code all remaining expressions. + ** + ** An effort is made to skip unnecessary iterations of the loop. */ - for(pTerm=pWC->a, j=pWC->nTerm; j>0; j--, pTerm++){ - Expr *pE; - int skipLikeAddr = 0; - testcase( pTerm->wtFlags & TERM_VIRTUAL ); - testcase( pTerm->wtFlags & TERM_CODED ); - if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue; - if( (pTerm->prereqAll & pLevel->notReady)!=0 ){ - testcase( pWInfo->untestedTerms==0 - && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)!=0 ); - pWInfo->untestedTerms = 1; - continue; - } - pE = pTerm->pExpr; - assert( pE!=0 ); - if( pLevel->iLeftJoin && !ExprHasProperty(pE, EP_FromJoin) ){ - continue; - } - if( pTerm->wtFlags & TERM_LIKECOND ){ - /* If the TERM_LIKECOND flag is set, that means that the range search - ** is sufficient to guarantee that the LIKE operator is true, so we - ** can skip the call to the like(A,B) function. But this only works - ** for strings. So do not skip the call to the function on the pass - ** that compares BLOBs. */ + iLoop = (pIdx ? 1 : 2); + do{ + int iNext = 0; /* Next value for iLoop */ + for(pTerm=pWC->a, j=pWC->nTerm; j>0; j--, pTerm++){ + Expr *pE; + int skipLikeAddr = 0; + testcase( pTerm->wtFlags & TERM_VIRTUAL ); + testcase( pTerm->wtFlags & TERM_CODED ); + if( pTerm->wtFlags & (TERM_VIRTUAL|TERM_CODED) ) continue; + if( (pTerm->prereqAll & pLevel->notReady)!=0 ){ + testcase( pWInfo->untestedTerms==0 + && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)!=0 ); + pWInfo->untestedTerms = 1; + continue; + } + pE = pTerm->pExpr; + assert( pE!=0 ); + if( pLevel->iLeftJoin && !ExprHasProperty(pE, EP_FromJoin) ){ + continue; + } + + if( iLoop==1 && !sqlite3ExprCoveredByIndex(pE, pLevel->iTabCur, pIdx) ){ + iNext = 2; + continue; + } + if( iLoop<3 && (pTerm->wtFlags & TERM_VARSELECT) ){ + if( iNext==0 ) iNext = 3; + continue; + } + + if( pTerm->wtFlags & TERM_LIKECOND ){ + /* If the TERM_LIKECOND flag is set, that means that the range search + ** is sufficient to guarantee that the LIKE operator is true, so we + ** can skip the call to the like(A,B) function. But this only works + ** for strings. So do not skip the call to the function on the pass + ** that compares BLOBs. */ #ifdef SQLITE_LIKE_DOESNT_MATCH_BLOBS - continue; + continue; #else - u32 x = pLevel->iLikeRepCntr; - assert( x>0 ); - skipLikeAddr = sqlite3VdbeAddOp1(v, (x&1)? OP_IfNot : OP_If, (int)(x>>1)); - VdbeCoverage(v); + u32 x = pLevel->iLikeRepCntr; + assert( x>0 ); + skipLikeAddr = sqlite3VdbeAddOp1(v, (x&1)?OP_IfNot:OP_If, (int)(x>>1)); + VdbeCoverage(v); #endif + } +#ifdef WHERETRACE_ENABLED /* 0xffff */ + if( sqlite3WhereTrace ){ + VdbeNoopComment((v, "WhereTerm[%d] (%p) priority=%d", + pWC->nTerm-j, pTerm, iLoop)); + } +#endif + sqlite3ExprIfFalse(pParse, pE, addrCont, SQLITE_JUMPIFNULL); + if( skipLikeAddr ) sqlite3VdbeJumpHere(v, skipLikeAddr); + pTerm->wtFlags |= TERM_CODED; } - sqlite3ExprIfFalse(pParse, pE, addrCont, SQLITE_JUMPIFNULL); - if( skipLikeAddr ) sqlite3VdbeJumpHere(v, skipLikeAddr); - pTerm->wtFlags |= TERM_CODED; - } + iLoop = iNext; + }while( iLoop>0 ); /* Insert code to test for implied constraints based on transitivity ** of the "==" operator. @@ -126576,12 +131570,12 @@ static int isLikeOrGlob( int *pisComplete, /* True if the only wildcard is % in the last character */ int *pnoCase /* True if uppercase is equivalent to lowercase */ ){ - const char *z = 0; /* String on RHS of LIKE operator */ + const u8 *z = 0; /* String on RHS of LIKE operator */ Expr *pRight, *pLeft; /* Right and left size of LIKE operator */ ExprList *pList; /* List of operands to the LIKE operator */ int c; /* One character in z[] */ int cnt; /* Number of non-wildcard prefix characters */ - char wc[3]; /* Wildcard characters */ + char wc[4]; /* Wildcard characters */ sqlite3 *db = pParse->db; /* Database connection */ sqlite3_value *pVal = 0; int op; /* Opcode of pRight */ @@ -126595,41 +131589,75 @@ static int isLikeOrGlob( #endif pList = pExpr->x.pList; pLeft = pList->a[1].pExpr; - if( pLeft->op!=TK_COLUMN - || sqlite3ExprAffinity(pLeft)!=SQLITE_AFF_TEXT - || IsVirtual(pLeft->pTab) /* Value might be numeric */ - ){ - /* IMP: R-02065-49465 The left-hand side of the LIKE or GLOB operator must - ** be the name of an indexed column with TEXT affinity. */ - return 0; - } - assert( pLeft->iColumn!=(-1) ); /* Because IPK never has AFF_TEXT */ pRight = sqlite3ExprSkipCollate(pList->a[0].pExpr); op = pRight->op; - if( op==TK_VARIABLE ){ + if( op==TK_VARIABLE && (db->flags & SQLITE_EnableQPSG)==0 ){ Vdbe *pReprepare = pParse->pReprepare; int iCol = pRight->iColumn; pVal = sqlite3VdbeGetBoundValue(pReprepare, iCol, SQLITE_AFF_BLOB); if( pVal && sqlite3_value_type(pVal)==SQLITE_TEXT ){ - z = (char *)sqlite3_value_text(pVal); + z = sqlite3_value_text(pVal); } sqlite3VdbeSetVarmask(pParse->pVdbe, iCol); assert( pRight->op==TK_VARIABLE || pRight->op==TK_REGISTER ); }else if( op==TK_STRING ){ - z = pRight->u.zToken; + z = (u8*)pRight->u.zToken; } if( z ){ + + /* If the RHS begins with a digit or a minus sign, then the LHS must + ** be an ordinary column (not a virtual table column) with TEXT affinity. + ** Otherwise the LHS might be numeric and "lhs >= rhs" would be false + ** even though "lhs LIKE rhs" is true. But if the RHS does not start + ** with a digit or '-', then "lhs LIKE rhs" will always be false if + ** the LHS is numeric and so the optimization still works. + */ + if( sqlite3Isdigit(z[0]) || z[0]=='-' ){ + if( pLeft->op!=TK_COLUMN + || sqlite3ExprAffinity(pLeft)!=SQLITE_AFF_TEXT + || IsVirtual(pLeft->pTab) /* Value might be numeric */ + ){ + sqlite3ValueFree(pVal); + return 0; + } + } + + /* Count the number of prefix characters prior to the first wildcard */ cnt = 0; while( (c=z[cnt])!=0 && c!=wc[0] && c!=wc[1] && c!=wc[2] ){ cnt++; + if( c==wc[3] && z[cnt]!=0 ) cnt++; } + + /* The optimization is possible only if (1) the pattern does not begin + ** with a wildcard and if (2) the non-wildcard prefix does not end with + ** an (illegal 0xff) character. The second condition is necessary so + ** that we can increment the prefix key to find an upper bound for the + ** range search. + */ if( cnt!=0 && 255!=(u8)z[cnt-1] ){ Expr *pPrefix; + + /* A "complete" match if the pattern ends with "*" or "%" */ *pisComplete = c==wc[0] && z[cnt+1]==0; - pPrefix = sqlite3Expr(db, TK_STRING, z); - if( pPrefix ) pPrefix->u.zToken[cnt] = 0; + + /* Get the pattern prefix. Remove all escapes from the prefix. */ + pPrefix = sqlite3Expr(db, TK_STRING, (char*)z); + if( pPrefix ){ + int iFrom, iTo; + char *zNew = pPrefix->u.zToken; + zNew[cnt] = 0; + for(iFrom=iTo=0; iFrompVdbe; sqlite3VdbeSetVarmask(v, pRight->iColumn); @@ -126660,48 +131688,84 @@ static int isLikeOrGlob( #ifndef SQLITE_OMIT_VIRTUALTABLE /* -** Check to see if the given expression is of the form -** -** column OP expr -** -** where OP is one of MATCH, GLOB, LIKE or REGEXP and "column" is a -** column of a virtual table. -** -** If it is then return TRUE. If not, return FALSE. -*/ -static int isMatchOfColumn( +** Check to see if the pExpr expression is a form that needs to be passed +** to the xBestIndex method of virtual tables. Forms of interest include: +** +** Expression Virtual Table Operator +** ----------------------- --------------------------------- +** 1. column MATCH expr SQLITE_INDEX_CONSTRAINT_MATCH +** 2. column GLOB expr SQLITE_INDEX_CONSTRAINT_GLOB +** 3. column LIKE expr SQLITE_INDEX_CONSTRAINT_LIKE +** 4. column REGEXP expr SQLITE_INDEX_CONSTRAINT_REGEXP +** 5. column != expr SQLITE_INDEX_CONSTRAINT_NE +** 6. expr != column SQLITE_INDEX_CONSTRAINT_NE +** 7. column IS NOT expr SQLITE_INDEX_CONSTRAINT_ISNOT +** 8. expr IS NOT column SQLITE_INDEX_CONSTRAINT_ISNOT +** 9. column IS NOT NULL SQLITE_INDEX_CONSTRAINT_ISNOTNULL +** +** In every case, "column" must be a column of a virtual table. If there +** is a match, set *ppLeft to the "column" expression, set *ppRight to the +** "expr" expression (even though in forms (6) and (8) the column is on the +** right and the expression is on the left). Also set *peOp2 to the +** appropriate virtual table operator. The return value is 1 or 2 if there +** is a match. The usual return is 1, but if the RHS is also a column +** of virtual table in forms (5) or (7) then return 2. +** +** If the expression matches none of the patterns above, return 0. +*/ +static int isAuxiliaryVtabOperator( Expr *pExpr, /* Test this expression */ - unsigned char *peOp2 /* OUT: 0 for MATCH, or else an op2 value */ -){ - static const struct Op2 { - const char *zOp; - unsigned char eOp2; - } aOp[] = { - { "match", SQLITE_INDEX_CONSTRAINT_MATCH }, - { "glob", SQLITE_INDEX_CONSTRAINT_GLOB }, - { "like", SQLITE_INDEX_CONSTRAINT_LIKE }, - { "regexp", SQLITE_INDEX_CONSTRAINT_REGEXP } - }; - ExprList *pList; - Expr *pCol; /* Column reference */ - int i; + unsigned char *peOp2, /* OUT: 0 for MATCH, or else an op2 value */ + Expr **ppLeft, /* Column expression to left of MATCH/op2 */ + Expr **ppRight /* Expression to left of MATCH/op2 */ +){ + if( pExpr->op==TK_FUNCTION ){ + static const struct Op2 { + const char *zOp; + unsigned char eOp2; + } aOp[] = { + { "match", SQLITE_INDEX_CONSTRAINT_MATCH }, + { "glob", SQLITE_INDEX_CONSTRAINT_GLOB }, + { "like", SQLITE_INDEX_CONSTRAINT_LIKE }, + { "regexp", SQLITE_INDEX_CONSTRAINT_REGEXP } + }; + ExprList *pList; + Expr *pCol; /* Column reference */ + int i; - if( pExpr->op!=TK_FUNCTION ){ - return 0; - } - pList = pExpr->x.pList; - if( pList==0 || pList->nExpr!=2 ){ - return 0; - } - pCol = pList->a[1].pExpr; - if( pCol->op!=TK_COLUMN || !IsVirtual(pCol->pTab) ){ - return 0; - } - for(i=0; iu.zToken, aOp[i].zOp)==0 ){ - *peOp2 = aOp[i].eOp2; - return 1; + pList = pExpr->x.pList; + if( pList==0 || pList->nExpr!=2 ){ + return 0; + } + pCol = pList->a[1].pExpr; + if( pCol->op!=TK_COLUMN || !IsVirtual(pCol->pTab) ){ + return 0; + } + for(i=0; iu.zToken, aOp[i].zOp)==0 ){ + *peOp2 = aOp[i].eOp2; + *ppRight = pList->a[0].pExpr; + *ppLeft = pCol; + return 1; + } + } + }else if( pExpr->op==TK_NE || pExpr->op==TK_ISNOT || pExpr->op==TK_NOTNULL ){ + int res = 0; + Expr *pLeft = pExpr->pLeft; + Expr *pRight = pExpr->pRight; + if( pLeft->op==TK_COLUMN && IsVirtual(pLeft->pTab) ){ + res++; + } + if( pRight && pRight->op==TK_COLUMN && IsVirtual(pRight->pTab) ){ + res++; + SWAP(Expr*, pLeft, pRight); } + *ppLeft = pLeft; + *ppRight = pRight; + if( pExpr->op==TK_NE ) *peOp2 = SQLITE_INDEX_CONSTRAINT_NE; + if( pExpr->op==TK_ISNOT ) *peOp2 = SQLITE_INDEX_CONSTRAINT_ISNOT; + if( pExpr->op==TK_NOTNULL ) *peOp2 = SQLITE_INDEX_CONSTRAINT_ISNOTNULL; + return res; } return 0; } @@ -126780,8 +131844,8 @@ static void whereCombineDisjuncts( && (eOp & (WO_EQ|WO_GT|WO_GE))!=eOp ) return; assert( pOne->pExpr->pLeft!=0 && pOne->pExpr->pRight!=0 ); assert( pTwo->pExpr->pLeft!=0 && pTwo->pExpr->pRight!=0 ); - if( sqlite3ExprCompare(pOne->pExpr->pLeft, pTwo->pExpr->pLeft, -1) ) return; - if( sqlite3ExprCompare(pOne->pExpr->pRight, pTwo->pExpr->pRight, -1) )return; + if( sqlite3ExprCompare(0,pOne->pExpr->pLeft, pTwo->pExpr->pLeft, -1) ) return; + if( sqlite3ExprCompare(0,pOne->pExpr->pRight, pTwo->pExpr->pRight,-1) )return; /* If we reach this point, it means the two subterms can be combined */ if( (eOp & (eOp-1))!=0 ){ if( eOp & (WO_LT|WO_LE) ){ @@ -126952,7 +132016,7 @@ static void exprAnalyzeOrTerm( for(j=0, pAndTerm=pAndWC->a; jnTerm; j++, pAndTerm++){ assert( pAndTerm->pExpr ); if( allowedOp(pAndTerm->pExpr->op) - || pAndTerm->eOperator==WO_MATCH + || pAndTerm->eOperator==WO_AUX ){ b |= sqlite3WhereGetMask(&pWInfo->sMaskSet, pAndTerm->leftCursor); } @@ -127116,7 +132180,7 @@ static void exprAnalyzeOrTerm( } assert( pLeft!=0 ); pDup = sqlite3ExprDup(db, pLeft, 0); - pNew = sqlite3PExpr(pParse, TK_IN, pDup, 0, 0); + pNew = sqlite3PExpr(pParse, TK_IN, pDup, 0); if( pNew ){ int idxNew; transferJoinMarkings(pNew, pExpr); @@ -127154,7 +132218,6 @@ static void exprAnalyzeOrTerm( static int termIsEquivalence(Parse *pParse, Expr *pExpr){ char aff1, aff2; CollSeq *pColl; - const char *zColl1, *zColl2; if( !OptimizationEnabled(pParse->db, SQLITE_Transitive) ) return 0; if( pExpr->op!=TK_EQ && pExpr->op!=TK_IS ) return 0; if( ExprHasProperty(pExpr, EP_FromJoin) ) return 0; @@ -127167,11 +132230,7 @@ static int termIsEquivalence(Parse *pParse, Expr *pExpr){ } pColl = sqlite3BinaryCompareCollSeq(pParse, pExpr->pLeft, pExpr->pRight); if( pColl==0 || sqlite3StrICmp(pColl->zName, "BINARY")==0 ) return 1; - pColl = sqlite3ExprCollSeq(pParse, pExpr->pLeft); - zColl1 = pColl ? pColl->zName : 0; - pColl = sqlite3ExprCollSeq(pParse, pExpr->pRight); - zColl2 = pColl ? pColl->zName : 0; - return sqlite3_stricmp(zColl1, zColl2)==0; + return sqlite3ExprCollSeqMatch(pParse, pExpr->pLeft, pExpr->pRight); } /* @@ -127204,8 +132263,8 @@ static Bitmask exprSelectUsage(WhereMaskSet *pMaskSet, Select *pS){ ** Expression pExpr is one operand of a comparison operator that might ** be useful for indexing. This routine checks to see if pExpr appears ** in any index. Return TRUE (1) if pExpr is an indexed term and return -** FALSE (0) if not. If TRUE is returned, also set *piCur to the cursor -** number of the table that is indexed and *piColumn to the column number +** FALSE (0) if not. If TRUE is returned, also set aiCurCol[0] to the cursor +** number of the table that is indexed and aiCurCol[1] to the column number ** of the column that is indexed, or XN_EXPR (-2) if an expression is being ** indexed. ** @@ -127213,18 +132272,37 @@ static Bitmask exprSelectUsage(WhereMaskSet *pMaskSet, Select *pS){ ** true even if that particular column is not indexed, because the column ** might be added to an automatic index later. */ -static int exprMightBeIndexed( +static SQLITE_NOINLINE int exprMightBeIndexed2( SrcList *pFrom, /* The FROM clause */ - int op, /* The specific comparison operator */ Bitmask mPrereq, /* Bitmask of FROM clause terms referenced by pExpr */ - Expr *pExpr, /* An operand of a comparison operator */ - int *piCur, /* Write the referenced table cursor number here */ - int *piColumn /* Write the referenced table column number here */ + int *aiCurCol, /* Write the referenced table cursor and column here */ + Expr *pExpr /* An operand of a comparison operator */ ){ Index *pIdx; int i; int iCur; - + for(i=0; mPrereq>1; i++, mPrereq>>=1){} + iCur = pFrom->a[i].iCursor; + for(pIdx=pFrom->a[i].pTab->pIndex; pIdx; pIdx=pIdx->pNext){ + if( pIdx->aColExpr==0 ) continue; + for(i=0; inKeyCol; i++){ + if( pIdx->aiColumn[i]!=XN_EXPR ) continue; + if( sqlite3ExprCompareSkip(pExpr, pIdx->aColExpr->a[i].pExpr, iCur)==0 ){ + aiCurCol[0] = iCur; + aiCurCol[1] = XN_EXPR; + return 1; + } + } + } + return 0; +} +static int exprMightBeIndexed( + SrcList *pFrom, /* The FROM clause */ + Bitmask mPrereq, /* Bitmask of FROM clause terms referenced by pExpr */ + int *aiCurCol, /* Write the referenced table cursor & column here */ + Expr *pExpr, /* An operand of a comparison operator */ + int op /* The specific comparison operator */ +){ /* If this expression is a vector to the left or right of a ** inequality constraint (>, <, >= or <=), perform the processing ** on the first element of the vector. */ @@ -127236,26 +132314,13 @@ static int exprMightBeIndexed( } if( pExpr->op==TK_COLUMN ){ - *piCur = pExpr->iTable; - *piColumn = pExpr->iColumn; + aiCurCol[0] = pExpr->iTable; + aiCurCol[1] = pExpr->iColumn; return 1; } if( mPrereq==0 ) return 0; /* No table references */ if( (mPrereq&(mPrereq-1))!=0 ) return 0; /* Refs more than one table */ - for(i=0; mPrereq>1; i++, mPrereq>>=1){} - iCur = pFrom->a[i].iCursor; - for(pIdx=pFrom->a[i].pTab->pIndex; pIdx; pIdx=pIdx->pNext){ - if( pIdx->aColExpr==0 ) continue; - for(i=0; inKeyCol; i++){ - if( pIdx->aiColumn[i]!=XN_EXPR ) continue; - if( sqlite3ExprCompare(pExpr, pIdx->aColExpr->a[i].pExpr, iCur)==0 ){ - *piCur = iCur; - *piColumn = XN_EXPR; - return 1; - } - } - } - return 0; + return exprMightBeIndexed2(pFrom,mPrereq,aiCurCol,pExpr); } /* @@ -127294,7 +132359,8 @@ static void exprAnalyze( int op; /* Top-level operator. pExpr->op */ Parse *pParse = pWInfo->pParse; /* Parsing context */ sqlite3 *db = pParse->db; /* Database connection */ - unsigned char eOp2; /* op2 value for LIKE/REGEXP/GLOB */ + unsigned char eOp2 = 0; /* op2 value for LIKE/REGEXP/GLOB */ + int nLeft; /* Number of elements on left side vector */ if( db->mallocFailed ){ return; @@ -127318,19 +132384,25 @@ static void exprAnalyze( }else{ pTerm->prereqRight = sqlite3WhereExprUsage(pMaskSet, pExpr->pRight); } + pMaskSet->bVarSelect = 0; prereqAll = sqlite3WhereExprUsage(pMaskSet, pExpr); + if( pMaskSet->bVarSelect ) pTerm->wtFlags |= TERM_VARSELECT; if( ExprHasProperty(pExpr, EP_FromJoin) ){ Bitmask x = sqlite3WhereGetMask(pMaskSet, pExpr->iRightJoinTable); prereqAll |= x; extraRight = x-1; /* ON clause terms may not be used with an index ** on left table of a LEFT JOIN. Ticket #3015 */ + if( (prereqAll>>1)>=x ){ + sqlite3ErrorMsg(pParse, "ON clause references tables to its right"); + return; + } } pTerm->prereqAll = prereqAll; pTerm->leftCursor = -1; pTerm->iParent = -1; pTerm->eOperator = 0; if( allowedOp(op) ){ - int iCur, iColumn; + int aiCurCol[2]; Expr *pLeft = sqlite3ExprSkipCollate(pExpr->pLeft); Expr *pRight = sqlite3ExprSkipCollate(pExpr->pRight); u16 opMask = (pTerm->prereqRight & prereqLeft)==0 ? WO_ALL : WO_EQUIV; @@ -127341,14 +132413,14 @@ static void exprAnalyze( pLeft = pLeft->x.pList->a[pTerm->iField-1].pExpr; } - if( exprMightBeIndexed(pSrc, op, prereqLeft, pLeft, &iCur, &iColumn) ){ - pTerm->leftCursor = iCur; - pTerm->u.leftColumn = iColumn; + if( exprMightBeIndexed(pSrc, prereqLeft, aiCurCol, pLeft, op) ){ + pTerm->leftCursor = aiCurCol[0]; + pTerm->u.leftColumn = aiCurCol[1]; pTerm->eOperator = operatorMask(op) & opMask; } if( op==TK_IS ) pTerm->wtFlags |= TERM_IS; if( pRight - && exprMightBeIndexed(pSrc, op, pTerm->prereqRight, pRight, &iCur,&iColumn) + && exprMightBeIndexed(pSrc, pTerm->prereqRight, aiCurCol, pRight, op) ){ WhereTerm *pNew; Expr *pDup; @@ -127378,8 +132450,8 @@ static void exprAnalyze( pNew = pTerm; } exprCommute(pParse, pDup); - pNew->leftCursor = iCur; - pNew->u.leftColumn = iColumn; + pNew->leftCursor = aiCurCol[0]; + pNew->u.leftColumn = aiCurCol[1]; testcase( (prereqLeft | extraRight) != prereqLeft ); pNew->prereqRight = prereqLeft | extraRight; pNew->prereqAll = prereqAll; @@ -127414,7 +132486,7 @@ static void exprAnalyze( int idxNew; pNewExpr = sqlite3PExpr(pParse, ops[i], sqlite3ExprDup(db, pExpr->pLeft, 0), - sqlite3ExprDup(db, pList->a[i].pExpr, 0), 0); + sqlite3ExprDup(db, pList->a[i].pExpr, 0)); transferJoinMarkings(pNewExpr, pExpr); idxNew = whereClauseInsert(pWC, pNewExpr, TERM_VIRTUAL|TERM_DYNAMIC); testcase( idxNew==0 ); @@ -127499,7 +132571,7 @@ static void exprAnalyze( pNewExpr1 = sqlite3ExprDup(db, pLeft, 0); pNewExpr1 = sqlite3PExpr(pParse, TK_GE, sqlite3ExprAddCollateString(pParse,pNewExpr1,zCollSeqName), - pStr1, 0); + pStr1); transferJoinMarkings(pNewExpr1, pExpr); idxNew1 = whereClauseInsert(pWC, pNewExpr1, wtFlags); testcase( idxNew1==0 ); @@ -127507,7 +132579,7 @@ static void exprAnalyze( pNewExpr2 = sqlite3ExprDup(db, pLeft, 0); pNewExpr2 = sqlite3PExpr(pParse, TK_LT, sqlite3ExprAddCollateString(pParse,pNewExpr2,zCollSeqName), - pStr2, 0); + pStr2); transferJoinMarkings(pNewExpr2, pExpr); idxNew2 = whereClauseInsert(pWC, pNewExpr2, wtFlags); testcase( idxNew2==0 ); @@ -127521,38 +132593,46 @@ static void exprAnalyze( #endif /* SQLITE_OMIT_LIKE_OPTIMIZATION */ #ifndef SQLITE_OMIT_VIRTUALTABLE - /* Add a WO_MATCH auxiliary term to the constraint set if the - ** current expression is of the form: column MATCH expr. + /* Add a WO_AUX auxiliary term to the constraint set if the + ** current expression is of the form "column OP expr" where OP + ** is an operator that gets passed into virtual tables but which is + ** not normally optimized for ordinary tables. In other words, OP + ** is one of MATCH, LIKE, GLOB, REGEXP, !=, IS, IS NOT, or NOT NULL. ** This information is used by the xBestIndex methods of ** virtual tables. The native query optimizer does not attempt ** to do anything with MATCH functions. */ - if( pWC->op==TK_AND && isMatchOfColumn(pExpr, &eOp2) ){ - int idxNew; - Expr *pRight, *pLeft; - WhereTerm *pNewTerm; - Bitmask prereqColumn, prereqExpr; - - pRight = pExpr->x.pList->a[0].pExpr; - pLeft = pExpr->x.pList->a[1].pExpr; - prereqExpr = sqlite3WhereExprUsage(pMaskSet, pRight); - prereqColumn = sqlite3WhereExprUsage(pMaskSet, pLeft); - if( (prereqExpr & prereqColumn)==0 ){ - Expr *pNewExpr; - pNewExpr = sqlite3PExpr(pParse, TK_MATCH, - 0, sqlite3ExprDup(db, pRight, 0), 0); - idxNew = whereClauseInsert(pWC, pNewExpr, TERM_VIRTUAL|TERM_DYNAMIC); - testcase( idxNew==0 ); - pNewTerm = &pWC->a[idxNew]; - pNewTerm->prereqRight = prereqExpr; - pNewTerm->leftCursor = pLeft->iTable; - pNewTerm->u.leftColumn = pLeft->iColumn; - pNewTerm->eOperator = WO_MATCH; - pNewTerm->eMatchOp = eOp2; - markTermAsChild(pWC, idxNew, idxTerm); - pTerm = &pWC->a[idxTerm]; - pTerm->wtFlags |= TERM_COPIED; - pNewTerm->prereqAll = pTerm->prereqAll; + if( pWC->op==TK_AND ){ + Expr *pRight = 0, *pLeft = 0; + int res = isAuxiliaryVtabOperator(pExpr, &eOp2, &pLeft, &pRight); + while( res-- > 0 ){ + int idxNew; + WhereTerm *pNewTerm; + Bitmask prereqColumn, prereqExpr; + + prereqExpr = sqlite3WhereExprUsage(pMaskSet, pRight); + prereqColumn = sqlite3WhereExprUsage(pMaskSet, pLeft); + if( (prereqExpr & prereqColumn)==0 ){ + Expr *pNewExpr; + pNewExpr = sqlite3PExpr(pParse, TK_MATCH, + 0, sqlite3ExprDup(db, pRight, 0)); + if( ExprHasProperty(pExpr, EP_FromJoin) && pNewExpr ){ + ExprSetProperty(pNewExpr, EP_FromJoin); + } + idxNew = whereClauseInsert(pWC, pNewExpr, TERM_VIRTUAL|TERM_DYNAMIC); + testcase( idxNew==0 ); + pNewTerm = &pWC->a[idxNew]; + pNewTerm->prereqRight = prereqExpr; + pNewTerm->leftCursor = pLeft->iTable; + pNewTerm->u.leftColumn = pLeft->iColumn; + pNewTerm->eOperator = WO_AUX; + pNewTerm->eMatchOp = eOp2; + markTermAsChild(pWC, idxNew, idxTerm); + pTerm = &pWC->a[idxTerm]; + pTerm->wtFlags |= TERM_COPIED; + pNewTerm->prereqAll = pTerm->prereqAll; + } + SWAP(Expr*, pLeft, pRight); } } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -127566,20 +132646,19 @@ static void exprAnalyze( ** is not a sub-select. */ if( pWC->op==TK_AND && (pExpr->op==TK_EQ || pExpr->op==TK_IS) - && sqlite3ExprIsVector(pExpr->pLeft) + && (nLeft = sqlite3ExprVectorSize(pExpr->pLeft))>1 + && sqlite3ExprVectorSize(pExpr->pRight)==nLeft && ( (pExpr->pLeft->flags & EP_xIsSelect)==0 - || (pExpr->pRight->flags & EP_xIsSelect)==0 - )){ - int nLeft = sqlite3ExprVectorSize(pExpr->pLeft); + || (pExpr->pRight->flags & EP_xIsSelect)==0) + ){ int i; - assert( nLeft==sqlite3ExprVectorSize(pExpr->pRight) ); for(i=0; ipLeft, i); Expr *pRight = sqlite3ExprForVectorField(pParse, pExpr->pRight, i); - pNew = sqlite3PExpr(pParse, pExpr->op, pLeft, pRight, 0); + pNew = sqlite3PExpr(pParse, pExpr->op, pLeft, pRight); transferJoinMarkings(pNew, pExpr); idxNew = whereClauseInsert(pWC, pNew, TERM_DYNAMIC); exprAnalyze(pSrc, pWC, idxNew); @@ -127631,7 +132710,7 @@ static void exprAnalyze( pNewExpr = sqlite3PExpr(pParse, TK_GT, sqlite3ExprDup(db, pLeft, 0), - sqlite3ExprAlloc(db, TK_NULL, 0, 0), 0); + sqlite3ExprAlloc(db, TK_NULL, 0, 0)); idxNew = whereClauseInsert(pWC, pNewExpr, TERM_VIRTUAL|TERM_DYNAMIC|TERM_VNULL); @@ -127739,13 +132818,16 @@ SQLITE_PRIVATE Bitmask sqlite3WhereExprUsage(WhereMaskSet *pMaskSet, Expr *p){ Bitmask mask; if( p==0 ) return 0; if( p->op==TK_COLUMN ){ - mask = sqlite3WhereGetMask(pMaskSet, p->iTable); - return mask; + return sqlite3WhereGetMask(pMaskSet, p->iTable); } + mask = (p->op==TK_IF_NULL_ROW) ? sqlite3WhereGetMask(pMaskSet, p->iTable) : 0; assert( !ExprHasProperty(p, EP_TokenOnly) ); - mask = p->pRight ? sqlite3WhereExprUsage(pMaskSet, p->pRight) : 0; if( p->pLeft ) mask |= sqlite3WhereExprUsage(pMaskSet, p->pLeft); - if( ExprHasProperty(p, EP_xIsSelect) ){ + if( p->pRight ){ + mask |= sqlite3WhereExprUsage(pMaskSet, p->pRight); + assert( p->x.pList==0 ); + }else if( ExprHasProperty(p, EP_xIsSelect) ){ + if( ExprHasProperty(p, EP_VarSelect) ) pMaskSet->bVarSelect = 1; mask |= exprSelectUsage(pMaskSet, p->x.pSelect); }else if( p->x.pList ){ mask |= sqlite3WhereExprListUsage(pMaskSet, p->x.pList); @@ -127817,7 +132899,7 @@ SQLITE_PRIVATE void sqlite3WhereTabFuncArgs( pColRef->iColumn = k++; pColRef->pTab = pTab; pTerm = sqlite3PExpr(pParse, TK_EQ, pColRef, - sqlite3ExprDup(pParse->db, pArgs->a[j].pExpr, 0), 0); + sqlite3ExprDup(pParse->db, pArgs->a[j].pExpr, 0)); whereClauseInsert(pWC, pTerm, TERM_DYNAMIC); } } @@ -127845,6 +132927,21 @@ SQLITE_PRIVATE void sqlite3WhereTabFuncArgs( /* #include "sqliteInt.h" */ /* #include "whereInt.h" */ +/* +** Extra information appended to the end of sqlite3_index_info but not +** visible to the xBestIndex function, at least not directly. The +** sqlite3_vtab_collation() interface knows how to reach it, however. +** +** This object is not an API and can be changed from one release to the +** next. As long as allocateIndexInfo() and sqlite3_vtab_collation() +** agree on the structure, all will be well. +*/ +typedef struct HiddenIndexInfo HiddenIndexInfo; +struct HiddenIndexInfo { + WhereClause *pWC; /* The Where clause being analyzed */ + Parse *pParse; /* The parsing context */ +}; + /* Forward declaration of methods */ static int whereLoopResize(sqlite3*, WhereLoop*, int); @@ -128024,16 +133121,19 @@ static WhereTerm *whereScanNext(WhereScan *pScan){ WhereTerm *pTerm; /* The term being tested */ int k = pScan->k; /* Where to start scanning */ - while( pScan->iEquiv<=pScan->nEquiv ){ - iCur = pScan->aiCur[pScan->iEquiv-1]; + assert( pScan->iEquiv<=pScan->nEquiv ); + pWC = pScan->pWC; + while(1){ iColumn = pScan->aiColumn[pScan->iEquiv-1]; - if( iColumn==XN_EXPR && pScan->pIdxExpr==0 ) return 0; - while( (pWC = pScan->pWC)!=0 ){ + iCur = pScan->aiCur[pScan->iEquiv-1]; + assert( pWC!=0 ); + do{ for(pTerm=pWC->a+k; knTerm; k++, pTerm++){ if( pTerm->leftCursor==iCur && pTerm->u.leftColumn==iColumn && (iColumn!=XN_EXPR - || sqlite3ExprCompare(pTerm->pExpr->pLeft,pScan->pIdxExpr,iCur)==0) + || sqlite3ExprCompareSkip(pTerm->pExpr->pLeft, + pScan->pIdxExpr,iCur)==0) && (pScan->iEquiv<=1 || !ExprHasProperty(pTerm->pExpr, EP_FromJoin)) ){ if( (pTerm->eOperator & WO_EQUIV)!=0 @@ -128078,15 +133178,17 @@ static WhereTerm *whereScanNext(WhereScan *pScan){ testcase( pTerm->eOperator & WO_IS ); continue; } + pScan->pWC = pWC; pScan->k = k+1; return pTerm; } } } - pScan->pWC = pScan->pWC->pOuter; + pWC = pWC->pOuter; k = 0; - } - pScan->pWC = pScan->pOrigWC; + }while( pWC!=0 ); + if( pScan->iEquiv>=pScan->nEquiv ) break; + pWC = pScan->pOrigWC; k = 0; pScan->iEquiv++; } @@ -128120,24 +133222,25 @@ static WhereTerm *whereScanInit( u32 opMask, /* Operator(s) to scan for */ Index *pIdx /* Must be compatible with this index */ ){ - int j = 0; - - /* memset(pScan, 0, sizeof(*pScan)); */ pScan->pOrigWC = pWC; pScan->pWC = pWC; pScan->pIdxExpr = 0; + pScan->idxaff = 0; + pScan->zCollName = 0; if( pIdx ){ - j = iColumn; + int j = iColumn; iColumn = pIdx->aiColumn[j]; - if( iColumn==XN_EXPR ) pScan->pIdxExpr = pIdx->aColExpr->a[j].pExpr; - if( iColumn==pIdx->pTable->iPKey ) iColumn = XN_ROWID; - } - if( pIdx && iColumn>=0 ){ - pScan->idxaff = pIdx->pTable->aCol[iColumn].affinity; - pScan->zCollName = pIdx->azColl[j]; - }else{ - pScan->idxaff = 0; - pScan->zCollName = 0; + if( iColumn==XN_EXPR ){ + pScan->pIdxExpr = pIdx->aColExpr->a[j].pExpr; + pScan->zCollName = pIdx->azColl[j]; + }else if( iColumn==pIdx->pTable->iPKey ){ + iColumn = XN_ROWID; + }else if( iColumn>=0 ){ + pScan->idxaff = pIdx->pTable->aCol[iColumn].affinity; + pScan->zCollName = pIdx->azColl[j]; + } + }else if( iColumn==XN_EXPR ){ + return 0; } pScan->opMask = opMask; pScan->k = 0; @@ -128223,8 +133326,8 @@ static int findIndexCol( && p->iColumn==pIdx->aiColumn[iCol] && p->iTable==iBase ){ - CollSeq *pColl = sqlite3ExprCollSeq(pParse, pList->a[i].pExpr); - if( pColl && 0==sqlite3StrICmp(pColl->zName, zColl) ){ + CollSeq *pColl = sqlite3ExprNNCollSeq(pParse, pList->a[i].pExpr); + if( 0==sqlite3StrICmp(pColl->zName, zColl) ){ return i; } } @@ -128337,14 +133440,16 @@ static LogEst estLog(LogEst N){ ** value stored in its output register. */ static void translateColumnToCopy( - Vdbe *v, /* The VDBE containing code to translate */ + Parse *pParse, /* Parsing context */ int iStart, /* Translate from this opcode to the end */ int iTabCur, /* OP_Column/OP_Rowid references to this table */ int iRegister, /* The first column is in this register */ int bIncrRowid /* If non-zero, transform OP_rowid to OP_AddImm(1) */ ){ + Vdbe *v = pParse->pVdbe; VdbeOp *pOp = sqlite3VdbeGetOp(v, iStart); int iEnd = sqlite3VdbeCurrentAddr(v); + if( pParse->db->mallocFailed ) return; for(; iStartp1!=iTabCur ) continue; if( pOp->opcode==OP_Column ){ @@ -128426,6 +133531,15 @@ static int termCanDriveIndex( char aff; if( pTerm->leftCursor!=pSrc->iCursor ) return 0; if( (pTerm->eOperator & (WO_EQ|WO_IS))==0 ) return 0; + if( (pSrc->fg.jointype & JT_LEFT) + && !ExprHasProperty(pTerm->pExpr, EP_FromJoin) + && (pTerm->eOperator & WO_IS) + ){ + /* Cannot use an IS term from the WHERE clause as an index driver for + ** the RHS of a LEFT JOIN. Such a term can only be used if it is from + ** the ON clause. */ + return 0; + } if( (pTerm->prereqRight & notReady)!=0 ) return 0; if( pTerm->u.leftColumn<0 ) return 0; aff = pSrc->pTab->aCol[pTerm->u.leftColumn].affinity; @@ -128622,7 +133736,9 @@ static void constructAutomaticIndex( if( pPartial ) sqlite3VdbeResolveLabel(v, iContinue); if( pTabItem->fg.viaCoroutine ){ sqlite3VdbeChangeP2(v, addrCounter, regBase+n); - translateColumnToCopy(v, addrTop, pLevel->iTabCur, pTabItem->regResult, 1); + testcase( pParse->db->mallocFailed ); + translateColumnToCopy(pParse, addrTop, pLevel->iTabCur, + pTabItem->regResult, 1); sqlite3VdbeGoto(v, addrTop); pTabItem->fg.viaCoroutine = 0; }else{ @@ -128648,11 +133764,11 @@ static void constructAutomaticIndex( ** by passing the pointer returned by this function to sqlite3_free(). */ static sqlite3_index_info *allocateIndexInfo( - Parse *pParse, - WhereClause *pWC, + Parse *pParse, /* The parsing context */ + WhereClause *pWC, /* The WHERE clause being analyzed */ Bitmask mUnusable, /* Ignore terms with these prereqs */ - struct SrcList_item *pSrc, - ExprList *pOrderBy, + struct SrcList_item *pSrc, /* The FROM clause term that is the vtab */ + ExprList *pOrderBy, /* The ORDER BY clause */ u16 *pmNoOmit /* Mask of terms not to omit */ ){ int i, j; @@ -128660,6 +133776,7 @@ static sqlite3_index_info *allocateIndexInfo( struct sqlite3_index_constraint *pIdxCons; struct sqlite3_index_orderby *pIdxOrderBy; struct sqlite3_index_constraint_usage *pUsage; + struct HiddenIndexInfo *pHidden; WhereTerm *pTerm; int nOrderBy; sqlite3_index_info *pIdxInfo; @@ -128675,7 +133792,7 @@ static sqlite3_index_info *allocateIndexInfo( testcase( pTerm->eOperator & WO_ISNULL ); testcase( pTerm->eOperator & WO_IS ); testcase( pTerm->eOperator & WO_ALL ); - if( (pTerm->eOperator & ~(WO_ISNULL|WO_EQUIV|WO_IS))==0 ) continue; + if( (pTerm->eOperator & ~(WO_EQUIV))==0 ) continue; if( pTerm->wtFlags & TERM_VNULL ) continue; assert( pTerm->u.leftColumn>=(-1) ); nTerm++; @@ -128701,7 +133818,7 @@ static sqlite3_index_info *allocateIndexInfo( */ pIdxInfo = sqlite3DbMallocZero(pParse->db, sizeof(*pIdxInfo) + (sizeof(*pIdxCons) + sizeof(*pUsage))*nTerm - + sizeof(*pIdxOrderBy)*nOrderBy ); + + sizeof(*pIdxOrderBy)*nOrderBy + sizeof(*pHidden) ); if( pIdxInfo==0 ){ sqlite3ErrorMsg(pParse, "out of memory"); return 0; @@ -128712,7 +133829,8 @@ static sqlite3_index_info *allocateIndexInfo( ** changing them. We have to do some funky casting in order to ** initialize those fields. */ - pIdxCons = (struct sqlite3_index_constraint*)&pIdxInfo[1]; + pHidden = (struct HiddenIndexInfo*)&pIdxInfo[1]; + pIdxCons = (struct sqlite3_index_constraint*)&pHidden[1]; pIdxOrderBy = (struct sqlite3_index_orderby*)&pIdxCons[nTerm]; pUsage = (struct sqlite3_index_constraint_usage*)&pIdxOrderBy[nOrderBy]; *(int*)&pIdxInfo->nConstraint = nTerm; @@ -128722,8 +133840,10 @@ static sqlite3_index_info *allocateIndexInfo( *(struct sqlite3_index_constraint_usage**)&pIdxInfo->aConstraintUsage = pUsage; + pHidden->pWC = pWC; + pHidden->pParse = pParse; for(i=j=0, pTerm=pWC->a; inTerm; i++, pTerm++){ - u8 op; + u16 op; if( pTerm->leftCursor != pSrc->iCursor ) continue; if( pTerm->prereqRight & mUnusable ) continue; assert( IsPowerOfTwo(pTerm->eOperator & ~WO_EQUIV) ); @@ -128731,34 +133851,40 @@ static sqlite3_index_info *allocateIndexInfo( testcase( pTerm->eOperator & WO_IS ); testcase( pTerm->eOperator & WO_ISNULL ); testcase( pTerm->eOperator & WO_ALL ); - if( (pTerm->eOperator & ~(WO_ISNULL|WO_EQUIV|WO_IS))==0 ) continue; + if( (pTerm->eOperator & ~(WO_EQUIV))==0 ) continue; if( pTerm->wtFlags & TERM_VNULL ) continue; assert( pTerm->u.leftColumn>=(-1) ); pIdxCons[j].iColumn = pTerm->u.leftColumn; pIdxCons[j].iTermOffset = i; - op = (u8)pTerm->eOperator & WO_ALL; + op = pTerm->eOperator & WO_ALL; if( op==WO_IN ) op = WO_EQ; - if( op==WO_MATCH ){ - op = pTerm->eMatchOp; - } - pIdxCons[j].op = op; - /* The direct assignment in the previous line is possible only because - ** the WO_ and SQLITE_INDEX_CONSTRAINT_ codes are identical. The - ** following asserts verify this fact. */ - assert( WO_EQ==SQLITE_INDEX_CONSTRAINT_EQ ); - assert( WO_LT==SQLITE_INDEX_CONSTRAINT_LT ); - assert( WO_LE==SQLITE_INDEX_CONSTRAINT_LE ); - assert( WO_GT==SQLITE_INDEX_CONSTRAINT_GT ); - assert( WO_GE==SQLITE_INDEX_CONSTRAINT_GE ); - assert( WO_MATCH==SQLITE_INDEX_CONSTRAINT_MATCH ); - assert( pTerm->eOperator & (WO_IN|WO_EQ|WO_LT|WO_LE|WO_GT|WO_GE|WO_MATCH) ); - - if( op & (WO_LT|WO_LE|WO_GT|WO_GE) - && sqlite3ExprIsVector(pTerm->pExpr->pRight) - ){ - if( i<16 ) mNoOmit |= (1 << i); - if( op==WO_LT ) pIdxCons[j].op = WO_LE; - if( op==WO_GT ) pIdxCons[j].op = WO_GE; + if( op==WO_AUX ){ + pIdxCons[j].op = pTerm->eMatchOp; + }else if( op & (WO_ISNULL|WO_IS) ){ + if( op==WO_ISNULL ){ + pIdxCons[j].op = SQLITE_INDEX_CONSTRAINT_ISNULL; + }else{ + pIdxCons[j].op = SQLITE_INDEX_CONSTRAINT_IS; + } + }else{ + pIdxCons[j].op = (u8)op; + /* The direct assignment in the previous line is possible only because + ** the WO_ and SQLITE_INDEX_CONSTRAINT_ codes are identical. The + ** following asserts verify this fact. */ + assert( WO_EQ==SQLITE_INDEX_CONSTRAINT_EQ ); + assert( WO_LT==SQLITE_INDEX_CONSTRAINT_LT ); + assert( WO_LE==SQLITE_INDEX_CONSTRAINT_LE ); + assert( WO_GT==SQLITE_INDEX_CONSTRAINT_GT ); + assert( WO_GE==SQLITE_INDEX_CONSTRAINT_GE ); + assert( pTerm->eOperator&(WO_IN|WO_EQ|WO_LT|WO_LE|WO_GT|WO_GE|WO_AUX) ); + + if( op & (WO_LT|WO_LE|WO_GT|WO_GE) + && sqlite3ExprIsVector(pTerm->pExpr->pRight) + ){ + if( i<16 ) mNoOmit |= (1 << i); + if( op==WO_LT ) pIdxCons[j].op = WO_LE; + if( op==WO_GT ) pIdxCons[j].op = WO_GE; + } } j++; @@ -129008,7 +134134,7 @@ static int whereKeyStats( iGap = iGap/3; } aStat[0] = iLower + iGap; - aStat[1] = pIdx->aAvgEq[iCol]; + aStat[1] = pIdx->aAvgEq[nField-1]; } /* Restore the pRec->nField value before returning. */ @@ -129602,7 +134728,7 @@ static void whereLoopClearUnion(sqlite3 *db, WhereLoop *p){ p->u.vtab.idxStr = 0; }else if( (p->wsFlags & WHERE_AUTO_INDEX)!=0 && p->u.btree.pIndex!=0 ){ sqlite3DbFree(db, p->u.btree.pIndex->zColAff); - sqlite3DbFree(db, p->u.btree.pIndex); + sqlite3DbFreeNN(db, p->u.btree.pIndex); p->u.btree.pIndex = 0; } } @@ -129612,7 +134738,7 @@ static void whereLoopClearUnion(sqlite3 *db, WhereLoop *p){ ** Deallocate internal memory used by a WhereLoop object */ static void whereLoopClear(sqlite3 *db, WhereLoop *p){ - if( p->aLTerm!=p->aLTermSpace ) sqlite3DbFree(db, p->aLTerm); + if( p->aLTerm!=p->aLTermSpace ) sqlite3DbFreeNN(db, p->aLTerm); whereLoopClearUnion(db, p); whereLoopInit(p); } @@ -129627,7 +134753,7 @@ static int whereLoopResize(sqlite3 *db, WhereLoop *p, int n){ paNew = sqlite3DbMallocRawNN(db, sizeof(p->aLTerm[0])*n); if( paNew==0 ) return SQLITE_NOMEM_BKPT; memcpy(paNew, p->aLTerm, sizeof(p->aLTerm[0])*p->nLSlot); - if( p->aLTerm!=p->aLTermSpace ) sqlite3DbFree(db, p->aLTerm); + if( p->aLTerm!=p->aLTermSpace ) sqlite3DbFreeNN(db, p->aLTerm); p->aLTerm = paNew; p->nLSlot = n; return SQLITE_OK; @@ -129657,47 +134783,47 @@ static int whereLoopXfer(sqlite3 *db, WhereLoop *pTo, WhereLoop *pFrom){ */ static void whereLoopDelete(sqlite3 *db, WhereLoop *p){ whereLoopClear(db, p); - sqlite3DbFree(db, p); + sqlite3DbFreeNN(db, p); } /* ** Free a WhereInfo structure */ static void whereInfoFree(sqlite3 *db, WhereInfo *pWInfo){ - if( ALWAYS(pWInfo) ){ - int i; - for(i=0; inLevel; i++){ - WhereLevel *pLevel = &pWInfo->a[i]; - if( pLevel->pWLoop && (pLevel->pWLoop->wsFlags & WHERE_IN_ABLE) ){ - sqlite3DbFree(db, pLevel->u.in.aInLoop); - } - } - sqlite3WhereClauseClear(&pWInfo->sWC); - while( pWInfo->pLoops ){ - WhereLoop *p = pWInfo->pLoops; - pWInfo->pLoops = p->pNextLoop; - whereLoopDelete(db, p); + int i; + assert( pWInfo!=0 ); + for(i=0; inLevel; i++){ + WhereLevel *pLevel = &pWInfo->a[i]; + if( pLevel->pWLoop && (pLevel->pWLoop->wsFlags & WHERE_IN_ABLE) ){ + sqlite3DbFree(db, pLevel->u.in.aInLoop); } - sqlite3DbFree(db, pWInfo); } + sqlite3WhereClauseClear(&pWInfo->sWC); + while( pWInfo->pLoops ){ + WhereLoop *p = pWInfo->pLoops; + pWInfo->pLoops = p->pNextLoop; + whereLoopDelete(db, p); + } + sqlite3DbFreeNN(db, pWInfo); } /* ** Return TRUE if all of the following are true: ** ** (1) X has the same or lower cost that Y -** (2) X is a proper subset of Y -** (3) X skips at least as many columns as Y -** -** By "proper subset" we mean that X uses fewer WHERE clause terms -** than Y and that every WHERE clause term used by X is also used -** by Y. +** (2) X uses fewer WHERE clause terms than Y +** (3) Every WHERE clause term used by X is also used by Y +** (4) X skips at least as many columns as Y +** (5) If X is a covering index, than Y is too ** +** Conditions (2) and (3) mean that X is a "proper subset" of Y. ** If X is a proper subset of Y then Y is a better choice and ought ** to have a lower cost. This routine returns TRUE when that cost -** relationship is inverted and needs to be adjusted. The third rule +** relationship is inverted and needs to be adjusted. Constraint (4) ** was added because if X uses skip-scan less than Y it still might -** deserve a lower cost even if it is a proper subset of Y. +** deserve a lower cost even if it is a proper subset of Y. Constraint (5) +** was added because a covering index probably deserves to have a lower cost +** than a non-covering index even if it is a proper subset. */ static int whereLoopCheaperProperSubset( const WhereLoop *pX, /* First WhereLoop to compare */ @@ -129719,6 +134845,10 @@ static int whereLoopCheaperProperSubset( } if( j<0 ) return 0; /* X not a subset of Y since term X[i] not used by Y */ } + if( (pX->wsFlags&WHERE_IDX_ONLY)!=0 + && (pY->wsFlags&WHERE_IDX_ONLY)==0 ){ + return 0; /* Constraint (5) */ + } return 1; /* All conditions meet */ } @@ -129761,16 +134891,17 @@ static void whereLoopAdjustCost(const WhereLoop *p, WhereLoop *pTemplate){ /* ** Search the list of WhereLoops in *ppPrev looking for one that can be -** supplanted by pTemplate. +** replaced by pTemplate. ** -** Return NULL if the WhereLoop list contains an entry that can supplant -** pTemplate, in other words if pTemplate does not belong on the list. +** Return NULL if pTemplate does not belong on the WhereLoop list. +** In other words if pTemplate ought to be dropped from further consideration. ** -** If pX is a WhereLoop that pTemplate can supplant, then return the +** If pX is a WhereLoop that pTemplate can replace, then return the ** link that points to pX. ** -** If pTemplate cannot supplant any existing element of the list but needs -** to be added to the list, then return a pointer to the tail of the list. +** If pTemplate cannot replace any existing element of the list but needs +** to be added to the list as a new entry, then return a pointer to the +** tail of the list. */ static WhereLoop **whereLoopFindLesser( WhereLoop **ppPrev, @@ -129915,8 +135046,10 @@ static int whereLoopInsert(WhereLoopBuilder *pBuilder, WhereLoop *pTemplate){ if( p!=0 ){ sqlite3DebugPrintf("replace: "); whereLoopPrint(p, pBuilder->pWC); + sqlite3DebugPrintf(" with: "); + }else{ + sqlite3DebugPrintf(" add: "); } - sqlite3DebugPrintf(" add: "); whereLoopPrint(pTemplate, pBuilder->pWC); } #endif @@ -130207,6 +135340,11 @@ static int whereLoopAddBtreeIndex( continue; } + if( IsUniqueIndex(pProbe) && saved_nEq==pProbe->nKeyCol-1 ){ + pBuilder->bldFlags |= SQLITE_BLDF_UNIQUE; + }else{ + pBuilder->bldFlags |= SQLITE_BLDF_INDEXED; + } pNew->wsFlags = saved_wsFlags; pNew->u.btree.nEq = saved_nEq; pNew->u.btree.nBtm = saved_nBtm; @@ -130249,7 +135387,7 @@ static int whereLoopAddBtreeIndex( pNew->wsFlags |= WHERE_COLUMN_EQ; assert( saved_nEq==pNew->u.btree.nEq ); if( iCol==XN_ROWID - || (iCol>0 && nInMul==0 && saved_nEq==pProbe->nKeyCol-1) + || (iCol>=0 && nInMul==0 && saved_nEq==pProbe->nKeyCol-1) ){ if( iCol>=0 && pProbe->uniqNotNull==0 ){ pNew->wsFlags |= WHERE_UNQ_WANTED; @@ -130462,7 +135600,7 @@ static int indexMightHelpWithOrderBy( }else if( (aColExpr = pIndex->aColExpr)!=0 ){ for(jj=0; jjnKeyCol; jj++){ if( pIndex->aiColumn[jj]!=XN_EXPR ) continue; - if( sqlite3ExprCompare(pExpr,aColExpr->a[jj].pExpr,iCursor)==0 ){ + if( sqlite3ExprCompareSkip(pExpr,aColExpr->a[jj].pExpr,iCursor)==0 ){ return 1; } } @@ -130495,14 +135633,16 @@ static Bitmask columnsInIndex(Index *pIdx){ static int whereUsablePartialIndex(int iTab, WhereClause *pWC, Expr *pWhere){ int i; WhereTerm *pTerm; + Parse *pParse = pWC->pWInfo->pParse; while( pWhere->op==TK_AND ){ if( !whereUsablePartialIndex(iTab,pWC,pWhere->pLeft) ) return 0; pWhere = pWhere->pRight; } + if( pParse->db->flags & SQLITE_EnableQPSG ) pParse = 0; for(i=0, pTerm=pWC->a; inTerm; i++, pTerm++){ Expr *pExpr = pTerm->pExpr; - if( sqlite3ExprImpliesExpr(pExpr, pWhere, iTab) - && (!ExprHasProperty(pExpr, EP_FromJoin) || pExpr->iRightJoinTable==iTab) + if( (!ExprHasProperty(pExpr, EP_FromJoin) || pExpr->iRightJoinTable==iTab) + && sqlite3ExprImpliesExpr(pParse, pExpr, pWhere, iTab) ){ return 1; } @@ -130656,14 +135796,17 @@ static int whereLoopAddBtree( } #endif /* SQLITE_OMIT_AUTOMATIC_INDEX */ - /* Loop over all indices - */ - for(; rc==SQLITE_OK && pProbe; pProbe=pProbe->pNext, iSortIdx++){ + /* Loop over all indices. If there was an INDEXED BY clause, then only + ** consider index pProbe. */ + for(; rc==SQLITE_OK && pProbe; + pProbe=(pSrc->pIBIndex ? 0 : pProbe->pNext), iSortIdx++ + ){ if( pProbe->pPartIdxWhere!=0 && !whereUsablePartialIndex(pSrc->iCursor, pWC, pProbe->pPartIdxWhere) ){ testcase( pNew->iTab!=pSrc->iCursor ); /* See ticket [98d973b8f5] */ continue; /* Partial index inappropriate for this query */ } + if( pProbe->bNoQuery ) continue; rSize = pProbe->aiRowLogEst[0]; pNew->u.btree.nEq = 0; pNew->u.btree.nBtm = 0; @@ -130754,16 +135897,20 @@ static int whereLoopAddBtree( } } + pBuilder->bldFlags = 0; rc = whereLoopAddBtreeIndex(pBuilder, pSrc, pProbe, 0); + if( pBuilder->bldFlags==SQLITE_BLDF_INDEXED ){ + /* If a non-unique index is used, or if a prefix of the key for + ** unique index is used (making the index functionally non-unique) + ** then the sqlite_stat1 data becomes important for scoring the + ** plan */ + pTab->tabFlags |= TF_StatsUsed; + } #ifdef SQLITE_ENABLE_STAT3_OR_STAT4 sqlite3Stat4ProbeFree(pBuilder->pRec); pBuilder->nRecValid = 0; pBuilder->pRec = 0; #endif - - /* If there was an INDEXED BY clause, then only that one index is - ** considered. */ - if( pSrc->pIBIndex ) break; } return rc; } @@ -130918,6 +136065,27 @@ static int whereLoopAddVirtualOne( return rc; } +/* +** If this function is invoked from within an xBestIndex() callback, it +** returns a pointer to a buffer containing the name of the collation +** sequence associated with element iCons of the sqlite3_index_info.aConstraint +** array. Or, if iCons is out of range or there is no active xBestIndex +** call, return NULL. +*/ +SQLITE_API const char *sqlite3_vtab_collation(sqlite3_index_info *pIdxInfo, int iCons){ + HiddenIndexInfo *pHidden = (HiddenIndexInfo*)&pIdxInfo[1]; + const char *zRet = 0; + if( iCons>=0 && iConsnConstraint ){ + CollSeq *pC = 0; + int iTerm = pIdxInfo->aConstraint[iCons].iTermOffset; + Expr *pX = pHidden->pWC->a[iTerm].pExpr; + if( pX->pLeft ){ + pC = sqlite3BinaryCompareCollSeq(pHidden->pParse, pX->pLeft, pX->pRight); + } + zRet = (pC ? pC->zName : "BINARY"); + } + return zRet; +} /* ** Add all WhereLoop objects for a table of the join identified by @@ -131056,7 +136224,7 @@ static int whereLoopAddVirtual( } if( p->needToFreeIdxStr ) sqlite3_free(p->idxStr); - sqlite3DbFree(pParse->db, p); + sqlite3DbFreeNN(pParse->db, p); return rc; } #endif /* SQLITE_OMIT_VIRTUALTABLE */ @@ -131240,7 +136408,7 @@ static int whereLoopAddAll(WhereLoopBuilder *pBuilder){ } /* -** Examine a WherePath (with the addition of the extra WhereLoop of the 5th +** Examine a WherePath (with the addition of the extra WhereLoop of the 6th ** parameters) to see if it outputs rows in the requested ORDER BY ** (or GROUP BY) without requiring a separate sort operation. Return N: ** @@ -131335,6 +136503,8 @@ static i8 wherePathSatisfiesOrderBy( if( pLoop->wsFlags & WHERE_VIRTUALTABLE ){ if( pLoop->u.vtab.isOrdered ) obSat = obDone; break; + }else{ + pLoop->u.btree.nIdxCol = 0; } iCur = pWInfo->pTabList->a[pLoop->iTab].iCursor; @@ -131360,14 +136530,10 @@ static i8 wherePathSatisfiesOrderBy( if( j>=pLoop->nLTerm ) continue; } if( (pTerm->eOperator&(WO_EQ|WO_IS))!=0 && pOBExpr->iColumn>=0 ){ - const char *z1, *z2; - pColl = sqlite3ExprCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr); - if( !pColl ) pColl = db->pDfltColl; - z1 = pColl->zName; - pColl = sqlite3ExprCollSeq(pWInfo->pParse, pTerm->pExpr); - if( !pColl ) pColl = db->pDfltColl; - z2 = pColl->zName; - if( sqlite3StrICmp(z1, z2)!=0 ) continue; + if( sqlite3ExprCollSeqMatch(pWInfo->pParse, + pOrderBy->a[i].pExpr, pTerm->pExpr)==0 ){ + continue; + } testcase( pTerm->pExpr->op==TK_IS ); } obSat |= MASKBIT(i); @@ -131439,7 +136605,7 @@ static i8 wherePathSatisfiesOrderBy( if( pIndex ){ iColumn = pIndex->aiColumn[j]; revIdx = pIndex->aSortOrder[j]; - if( iColumn==pIndex->pTable->iPKey ) iColumn = -1; + if( iColumn==pIndex->pTable->iPKey ) iColumn = XN_ROWID; }else{ iColumn = XN_ROWID; revIdx = 0; @@ -131466,20 +136632,21 @@ static i8 wherePathSatisfiesOrderBy( testcase( wctrlFlags & WHERE_GROUPBY ); testcase( wctrlFlags & WHERE_DISTINCTBY ); if( (wctrlFlags & (WHERE_GROUPBY|WHERE_DISTINCTBY))==0 ) bOnce = 0; - if( iColumn>=(-1) ){ + if( iColumn>=XN_ROWID ){ if( pOBExpr->op!=TK_COLUMN ) continue; if( pOBExpr->iTable!=iCur ) continue; if( pOBExpr->iColumn!=iColumn ) continue; }else{ - if( sqlite3ExprCompare(pOBExpr,pIndex->aColExpr->a[j].pExpr,iCur) ){ + Expr *pIdxExpr = pIndex->aColExpr->a[j].pExpr; + if( sqlite3ExprCompareSkip(pOBExpr, pIdxExpr, iCur) ){ continue; } } - if( iColumn>=0 ){ - pColl = sqlite3ExprCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr); - if( !pColl ) pColl = db->pDfltColl; + if( iColumn!=XN_ROWID ){ + pColl = sqlite3ExprNNCollSeq(pWInfo->pParse, pOrderBy->a[i].pExpr); if( sqlite3StrICmp(pColl->zName, pIndex->azColl[j])!=0 ) continue; } + pLoop->u.btree.nIdxCol = j+1; isMatch = 1; break; } @@ -131769,6 +136936,7 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ rUnsorted, rCost)); }else{ rCost = rUnsorted; + rUnsorted -= 2; /* TUNING: Slight bias in favor of no-sort plans */ } /* Check to see if pWLoop should be added to the set of @@ -131800,8 +136968,8 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ ** this candidate as not viable. */ #ifdef WHERETRACE_ENABLED /* 0x4 */ if( sqlite3WhereTrace&0x4 ){ - sqlite3DebugPrintf("Skip %s cost=%-3d,%3d order=%c\n", - wherePathName(pFrom, iLoop, pWLoop), rCost, nOut, + sqlite3DebugPrintf("Skip %s cost=%-3d,%3d,%3d order=%c\n", + wherePathName(pFrom, iLoop, pWLoop), rCost, nOut, rUnsorted, isOrdered>=0 ? isOrdered+'0' : '?'); } #endif @@ -131819,26 +136987,36 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ pTo = &aTo[jj]; #ifdef WHERETRACE_ENABLED /* 0x4 */ if( sqlite3WhereTrace&0x4 ){ - sqlite3DebugPrintf("New %s cost=%-3d,%3d order=%c\n", - wherePathName(pFrom, iLoop, pWLoop), rCost, nOut, + sqlite3DebugPrintf("New %s cost=%-3d,%3d,%3d order=%c\n", + wherePathName(pFrom, iLoop, pWLoop), rCost, nOut, rUnsorted, isOrdered>=0 ? isOrdered+'0' : '?'); } #endif }else{ /* Control reaches here if best-so-far path pTo=aTo[jj] covers the - ** same set of loops and has the sam isOrdered setting as the + ** same set of loops and has the same isOrdered setting as the ** candidate path. Check to see if the candidate should replace - ** pTo or if the candidate should be skipped */ - if( pTo->rCostrCost==rCost && pTo->nRow<=nOut) ){ + ** pTo or if the candidate should be skipped. + ** + ** The conditional is an expanded vector comparison equivalent to: + ** (pTo->rCost,pTo->nRow,pTo->rUnsorted) <= (rCost,nOut,rUnsorted) + */ + if( pTo->rCostrCost==rCost + && (pTo->nRownRow==nOut && pTo->rUnsorted<=rUnsorted) + ) + ) + ){ #ifdef WHERETRACE_ENABLED /* 0x4 */ if( sqlite3WhereTrace&0x4 ){ sqlite3DebugPrintf( - "Skip %s cost=%-3d,%3d order=%c", - wherePathName(pFrom, iLoop, pWLoop), rCost, nOut, + "Skip %s cost=%-3d,%3d,%3d order=%c", + wherePathName(pFrom, iLoop, pWLoop), rCost, nOut, rUnsorted, isOrdered>=0 ? isOrdered+'0' : '?'); - sqlite3DebugPrintf(" vs %s cost=%-3d,%d order=%c\n", + sqlite3DebugPrintf(" vs %s cost=%-3d,%3d,%3d order=%c\n", wherePathName(pTo, iLoop+1, 0), pTo->rCost, pTo->nRow, - pTo->isOrdered>=0 ? pTo->isOrdered+'0' : '?'); + pTo->rUnsorted, pTo->isOrdered>=0 ? pTo->isOrdered+'0' : '?'); } #endif /* Discard the candidate path from further consideration */ @@ -131851,12 +137029,12 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ #ifdef WHERETRACE_ENABLED /* 0x4 */ if( sqlite3WhereTrace&0x4 ){ sqlite3DebugPrintf( - "Update %s cost=%-3d,%3d order=%c", - wherePathName(pFrom, iLoop, pWLoop), rCost, nOut, + "Update %s cost=%-3d,%3d,%3d order=%c", + wherePathName(pFrom, iLoop, pWLoop), rCost, nOut, rUnsorted, isOrdered>=0 ? isOrdered+'0' : '?'); - sqlite3DebugPrintf(" was %s cost=%-3d,%3d order=%c\n", + sqlite3DebugPrintf(" was %s cost=%-3d,%3d,%3d order=%c\n", wherePathName(pTo, iLoop+1, 0), pTo->rCost, pTo->nRow, - pTo->isOrdered>=0 ? pTo->isOrdered+'0' : '?'); + pTo->rUnsorted, pTo->isOrdered>=0 ? pTo->isOrdered+'0' : '?'); } #endif } @@ -131911,7 +137089,7 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ if( nFrom==0 ){ sqlite3ErrorMsg(pParse, "no query solution"); - sqlite3DbFree(db, pSpace); + sqlite3DbFreeNN(db, pSpace); return SQLITE_ERROR; } @@ -131934,9 +137112,9 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ && nRowEst ){ Bitmask notUsed; - int rc = wherePathSatisfiesOrderBy(pWInfo, pWInfo->pDistinctSet, pFrom, + int rc = wherePathSatisfiesOrderBy(pWInfo, pWInfo->pResultSet, pFrom, WHERE_DISTINCTBY, nLoop-1, pFrom->aLoop[nLoop-1], ¬Used); - if( rc==pWInfo->pDistinctSet->nExpr ){ + if( rc==pWInfo->pResultSet->nExpr ){ pWInfo->eDistinct = WHERE_DISTINCT_ORDERED; } } @@ -131987,7 +137165,7 @@ static int wherePathSolver(WhereInfo *pWInfo, LogEst nRowEst){ pWInfo->nRowOut = pFrom->nRow; /* Free temporary memory and return success */ - sqlite3DbFree(db, pSpace); + sqlite3DbFreeNN(db, pSpace); return SQLITE_OK; } @@ -132065,7 +137243,8 @@ static int whereShortCut(WhereLoopBuilder *pBuilder){ if( pLoop->wsFlags ){ pLoop->nOut = (LogEst)1; pWInfo->a[0].pWLoop = pLoop; - pLoop->maskSelf = sqlite3WhereGetMask(&pWInfo->sMaskSet, iCur); + assert( pWInfo->sMaskSet.n==1 && iCur==pWInfo->sMaskSet.ix[0] ); + pLoop->maskSelf = 1; /* sqlite3WhereGetMask(&pWInfo->sMaskSet, iCur); */ pWInfo->a[0].iTabCur = iCur; pWInfo->nRowOut = 1; if( pWInfo->pOrderBy ) pWInfo->nOBSat = pWInfo->pOrderBy->nExpr; @@ -132080,6 +137259,32 @@ static int whereShortCut(WhereLoopBuilder *pBuilder){ return 0; } +/* +** Helper function for exprIsDeterministic(). +*/ +static int exprNodeIsDeterministic(Walker *pWalker, Expr *pExpr){ + if( pExpr->op==TK_FUNCTION && ExprHasProperty(pExpr, EP_ConstFunc)==0 ){ + pWalker->eCode = 0; + return WRC_Abort; + } + return WRC_Continue; +} + +/* +** Return true if the expression contains no non-deterministic SQL +** functions. Do not consider non-deterministic SQL functions that are +** part of sub-select statements. +*/ +static int exprIsDeterministic(Expr *p){ + Walker w; + memset(&w, 0, sizeof(w)); + w.eCode = 1; + w.xExprCallback = exprNodeIsDeterministic; + w.xSelectCallback = sqlite3SelectWalkFail; + sqlite3WalkExpr(&w, p); + return w.eCode; +} + /* ** Generate the beginning of the loop used for WHERE clause processing. ** The return value is a pointer to an opaque structure that contains @@ -132173,7 +137378,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( SrcList *pTabList, /* FROM clause: A list of all tables to be scanned */ Expr *pWhere, /* The WHERE clause */ ExprList *pOrderBy, /* An ORDER BY (or GROUP BY) clause, or NULL */ - ExprList *pDistinctSet, /* Try not to output two rows that duplicate these */ + ExprList *pResultSet, /* Query result set. Req'd for DISTINCT */ u16 wctrlFlags, /* The WHERE_* flags defined in sqliteInt.h */ int iAuxArg /* If WHERE_OR_SUBCLAUSE is set, index cursor number ** If WHERE_USE_LIMIT, then the limit amount */ @@ -132249,7 +137454,8 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( pWInfo->pParse = pParse; pWInfo->pTabList = pTabList; pWInfo->pOrderBy = pOrderBy; - pWInfo->pDistinctSet = pDistinctSet; + pWInfo->pWhere = pWhere; + pWInfo->pResultSet = pResultSet; pWInfo->aiCurOnePass[0] = pWInfo->aiCurOnePass[1] = -1; pWInfo->nLevel = nTabList; pWInfo->iBreak = pWInfo->iContinue = sqlite3VdbeMakeLabel(v); @@ -132277,17 +137483,6 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( sqlite3WhereClauseInit(&pWInfo->sWC, pWInfo); sqlite3WhereSplit(&pWInfo->sWC, pWhere, TK_AND); - /* Special case: a WHERE clause that is constant. Evaluate the - ** expression and either jump over all of the code or fall thru. - */ - for(ii=0; iinTerm; ii++){ - if( nTabList==0 || sqlite3ExprIsConstantNotJoin(sWLB.pWC->a[ii].pExpr) ){ - sqlite3ExprIfFalse(pParse, sWLB.pWC->a[ii].pExpr, pWInfo->iBreak, - SQLITE_JUMPIFNULL); - sWLB.pWC->a[ii].wtFlags |= TERM_CODED; - } - } - /* Special case: No FROM clause */ if( nTabList==0 ){ @@ -132295,45 +137490,69 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( if( wctrlFlags & WHERE_WANT_DISTINCT ){ pWInfo->eDistinct = WHERE_DISTINCT_UNIQUE; } + }else{ + /* Assign a bit from the bitmask to every term in the FROM clause. + ** + ** The N-th term of the FROM clause is assigned a bitmask of 1<nSrc tables in + ** pTabList, not just the first nTabList tables. nTabList is normally + ** equal to pTabList->nSrc but might be shortened to 1 if the + ** WHERE_OR_SUBCLAUSE flag is set. + */ + ii = 0; + do{ + createMask(pMaskSet, pTabList->a[ii].iCursor); + sqlite3WhereTabFuncArgs(pParse, &pTabList->a[ii], &pWInfo->sWC); + }while( (++ii)nSrc ); + #ifdef SQLITE_DEBUG + { + Bitmask mx = 0; + for(ii=0; iinSrc; ii++){ + Bitmask m = sqlite3WhereGetMask(pMaskSet, pTabList->a[ii].iCursor); + assert( m>=mx ); + mx = m; + } + } + #endif } + + /* Analyze all of the subexpressions. */ + sqlite3WhereExprAnalyze(pTabList, &pWInfo->sWC); + if( db->mallocFailed ) goto whereBeginError; - /* Assign a bit from the bitmask to every term in the FROM clause. + /* Special case: WHERE terms that do not refer to any tables in the join + ** (constant expressions). Evaluate each such term, and jump over all the + ** generated code if the result is not true. ** - ** The N-th term of the FROM clause is assigned a bitmask of 1<nSrc tables in - ** pTabList, not just the first nTabList tables. nTabList is normally - ** equal to pTabList->nSrc but might be shortened to 1 if the - ** WHERE_OR_SUBCLAUSE flag is set. + ** FROM ... WHERE random()>0; -- eval random() once per row + ** FROM ... WHERE (SELECT random())>0; -- eval random() once overall */ - for(ii=0; iinSrc; ii++){ - createMask(pMaskSet, pTabList->a[ii].iCursor); - sqlite3WhereTabFuncArgs(pParse, &pTabList->a[ii], &pWInfo->sWC); - } -#ifdef SQLITE_DEBUG - for(ii=0; iinSrc; ii++){ - Bitmask m = sqlite3WhereGetMask(pMaskSet, pTabList->a[ii].iCursor); - assert( m==MASKBIT(ii) ); + for(ii=0; iinTerm; ii++){ + WhereTerm *pT = &sWLB.pWC->a[ii]; + if( pT->prereqAll==0 && (nTabList==0 || exprIsDeterministic(pT->pExpr)) ){ + sqlite3ExprIfFalse(pParse, pT->pExpr, pWInfo->iBreak, SQLITE_JUMPIFNULL); + pT->wtFlags |= TERM_CODED; + } } -#endif - - /* Analyze all of the subexpressions. */ - sqlite3WhereExprAnalyze(pTabList, &pWInfo->sWC); - if( db->mallocFailed ) goto whereBeginError; if( wctrlFlags & WHERE_WANT_DISTINCT ){ - if( isDistinctRedundant(pParse, pTabList, &pWInfo->sWC, pDistinctSet) ){ + if( isDistinctRedundant(pParse, pTabList, &pWInfo->sWC, pResultSet) ){ /* The DISTINCT marking is pointless. Ignore it. */ pWInfo->eDistinct = WHERE_DISTINCT_UNIQUE; }else if( pOrderBy==0 ){ /* Try to ORDER BY the result set to make distinct processing easier */ pWInfo->wctrlFlags |= WHERE_DISTINCTBY; - pWInfo->pOrderBy = pDistinctSet; + pWInfo->pOrderBy = pResultSet; } } @@ -132362,7 +137581,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( static const char zLabel[] = "0123456789abcdefghijklmnopqrstuvwyxz" "ABCDEFGHIJKLMNOPQRSTUVWYXZ"; for(p=pWInfo->pLoops, i=0; p; p=p->pNextLoop, i++){ - p->cId = zLabel[i%sizeof(zLabel)]; + p->cId = zLabel[i%(sizeof(zLabel)-1)]; whereLoopPrint(p, sWLB.pWC); } } @@ -132407,35 +137626,80 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( } } #endif - /* Attempt to omit tables from the join that do not effect the result */ + + /* Attempt to omit tables from the join that do not affect the result. + ** For a table to not affect the result, the following must be true: + ** + ** 1) The query must not be an aggregate. + ** 2) The table must be the RHS of a LEFT JOIN. + ** 3) Either the query must be DISTINCT, or else the ON or USING clause + ** must contain a constraint that limits the scan of the table to + ** at most a single row. + ** 4) The table must not be referenced by any part of the query apart + ** from its own USING or ON clause. + ** + ** For example, given: + ** + ** CREATE TABLE t1(ipk INTEGER PRIMARY KEY, v1); + ** CREATE TABLE t2(ipk INTEGER PRIMARY KEY, v2); + ** CREATE TABLE t3(ipk INTEGER PRIMARY KEY, v3); + ** + ** then table t2 can be omitted from the following: + ** + ** SELECT v1, v3 FROM t1 + ** LEFT JOIN t2 USING (t1.ipk=t2.ipk) + ** LEFT JOIN t3 USING (t1.ipk=t3.ipk) + ** + ** or from: + ** + ** SELECT DISTINCT v1, v3 FROM t1 + ** LEFT JOIN t2 + ** LEFT JOIN t3 USING (t1.ipk=t3.ipk) + */ + notReady = ~(Bitmask)0; if( pWInfo->nLevel>=2 - && pDistinctSet!=0 + && pResultSet!=0 /* guarantees condition (1) above */ && OptimizationEnabled(db, SQLITE_OmitNoopJoin) ){ - Bitmask tabUsed = sqlite3WhereExprListUsage(pMaskSet, pDistinctSet); + int i; + Bitmask tabUsed = sqlite3WhereExprListUsage(pMaskSet, pResultSet); if( sWLB.pOrderBy ){ tabUsed |= sqlite3WhereExprListUsage(pMaskSet, sWLB.pOrderBy); } - while( pWInfo->nLevel>=2 ){ + for(i=pWInfo->nLevel-1; i>=1; i--){ WhereTerm *pTerm, *pEnd; - pLoop = pWInfo->a[pWInfo->nLevel-1].pWLoop; - if( (pWInfo->pTabList->a[pLoop->iTab].fg.jointype & JT_LEFT)==0 ) break; + struct SrcList_item *pItem; + pLoop = pWInfo->a[i].pWLoop; + pItem = &pWInfo->pTabList->a[pLoop->iTab]; + if( (pItem->fg.jointype & JT_LEFT)==0 ) continue; if( (wctrlFlags & WHERE_WANT_DISTINCT)==0 && (pLoop->wsFlags & WHERE_ONEROW)==0 ){ - break; + continue; } - if( (tabUsed & pLoop->maskSelf)!=0 ) break; + if( (tabUsed & pLoop->maskSelf)!=0 ) continue; pEnd = sWLB.pWC->a + sWLB.pWC->nTerm; for(pTerm=sWLB.pWC->a; pTermprereqAll & pLoop->maskSelf)!=0 - && !ExprHasProperty(pTerm->pExpr, EP_FromJoin) - ){ - break; + if( (pTerm->prereqAll & pLoop->maskSelf)!=0 ){ + if( !ExprHasProperty(pTerm->pExpr, EP_FromJoin) + || pTerm->pExpr->iRightJoinTable!=pItem->iCursor + ){ + break; + } } } - if( pTerm drop loop %c not used\n", pLoop->cId)); + notReady &= ~pLoop->maskSelf; + for(pTerm=sWLB.pWC->a; pTermprereqAll & pLoop->maskSelf)!=0 ){ + pTerm->wtFlags |= TERM_CODED; + } + } + if( i!=pWInfo->nLevel-1 ){ + int nByte = (pWInfo->nLevel-1-i) * sizeof(WhereLevel); + memmove(&pWInfo->a[i], &pWInfo->a[i+1], nByte); + } pWInfo->nLevel--; nTabList--; } @@ -132445,15 +137709,32 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( /* If the caller is an UPDATE or DELETE statement that is requesting ** to use a one-pass algorithm, determine if this is appropriate. + ** + ** A one-pass approach can be used if the caller has requested one + ** and either (a) the scan visits at most one row or (b) each + ** of the following are true: + ** + ** * the caller has indicated that a one-pass approach can be used + ** with multiple rows (by setting WHERE_ONEPASS_MULTIROW), and + ** * the table is not a virtual table, and + ** * either the scan does not use the OR optimization or the caller + ** is a DELETE operation (WHERE_DUPLICATES_OK is only specified + ** for DELETE). + ** + ** The last qualification is because an UPDATE statement uses + ** WhereInfo.aiCurOnePass[1] to determine whether or not it really can + ** use a one-pass approach, and this is not set accurately for scans + ** that use the OR optimization. */ assert( (wctrlFlags & WHERE_ONEPASS_DESIRED)==0 || pWInfo->nLevel==1 ); if( (wctrlFlags & WHERE_ONEPASS_DESIRED)!=0 ){ int wsFlags = pWInfo->a[0].pWLoop->wsFlags; int bOnerow = (wsFlags & WHERE_ONEROW)!=0; - if( bOnerow - || ((wctrlFlags & WHERE_ONEPASS_MULTIROW)!=0 - && 0==(wsFlags & WHERE_VIRTUALTABLE)) - ){ + if( bOnerow || ( + 0!=(wctrlFlags & WHERE_ONEPASS_MULTIROW) + && 0==(wsFlags & WHERE_VIRTUALTABLE) + && (0==(wsFlags & WHERE_MULTI_OR) || (wctrlFlags & WHERE_DUPLICATES_OK)) + )){ pWInfo->eOnePass = bOnerow ? ONEPASS_SINGLE : ONEPASS_MULTI; if( HasRowid(pTabList->a[0].pTab) && (wsFlags & WHERE_IDX_ONLY) ){ if( wctrlFlags & WHERE_ONEPASS_MULTIROW ){ @@ -132525,7 +137806,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( Index *pIx = pLoop->u.btree.pIndex; int iIndexCur; int op = OP_OpenRead; - /* iAuxArg is always set if to a positive value if ONEPASS is possible */ + /* iAuxArg is always set to a positive value if ONEPASS is possible */ assert( iAuxArg!=0 || (pWInfo->wctrlFlags & WHERE_ONEPASS_DESIRED)==0 ); if( !HasRowid(pTab) && IsPrimaryKeyIndex(pIx) && (wctrlFlags & WHERE_OR_SUBCLAUSE)!=0 @@ -132559,6 +137840,7 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( if( (pLoop->wsFlags & WHERE_CONSTRAINT)!=0 && (pLoop->wsFlags & (WHERE_COLUMN_RANGE|WHERE_SKIPSCAN))==0 && (pWInfo->wctrlFlags&WHERE_ORDERBY_MIN)==0 + && pWInfo->eDistinct!=WHERE_DISTINCT_ORDERED ){ sqlite3VdbeChangeP5(v, OPFLAG_SEEKEQ); /* Hint to COMDB2 */ } @@ -132589,7 +137871,6 @@ SQLITE_PRIVATE WhereInfo *sqlite3WhereBegin( ** loop below generates code for a single nested loop of the VM ** program. */ - notReady = ~(Bitmask)0; for(ii=0; iia[i]; pLoop = pLevel->pWLoop; - sqlite3VdbeResolveLabel(v, pLevel->addrCont); if( pLevel->op!=OP_Noop ){ +#ifndef SQLITE_DISABLE_SKIPAHEAD_DISTINCT + int addrSeek = 0; + Index *pIdx; + int n; + if( pWInfo->eDistinct==WHERE_DISTINCT_ORDERED + && i==pWInfo->nLevel-1 /* Ticket [ef9318757b152e3] 2017-10-21 */ + && (pLoop->wsFlags & WHERE_INDEXED)!=0 + && (pIdx = pLoop->u.btree.pIndex)->hasStat1 + && (n = pLoop->u.btree.nIdxCol)>0 + && pIdx->aiRowLogEst[n]>=36 + ){ + int r1 = pParse->nMem+1; + int j, op; + for(j=0; jiIdxCur, j, r1+j); + } + pParse->nMem += n+1; + op = pLevel->op==OP_Prev ? OP_SeekLT : OP_SeekGT; + addrSeek = sqlite3VdbeAddOp4Int(v, op, pLevel->iIdxCur, 0, r1, n); + VdbeCoverageIf(v, op==OP_SeekLT); + VdbeCoverageIf(v, op==OP_SeekGT); + sqlite3VdbeAddOp2(v, OP_Goto, 1, pLevel->p2); + } +#endif /* SQLITE_DISABLE_SKIPAHEAD_DISTINCT */ + /* The common case: Advance to the next row */ + sqlite3VdbeResolveLabel(v, pLevel->addrCont); sqlite3VdbeAddOp3(v, pLevel->op, pLevel->p1, pLevel->p2, pLevel->p3); sqlite3VdbeChangeP5(v, pLevel->p5); VdbeCoverage(v); VdbeCoverageIf(v, pLevel->op==OP_Next); VdbeCoverageIf(v, pLevel->op==OP_Prev); VdbeCoverageIf(v, pLevel->op==OP_VNext); +#ifndef SQLITE_DISABLE_SKIPAHEAD_DISTINCT + if( addrSeek ) sqlite3VdbeJumpHere(v, addrSeek); +#endif + }else{ + sqlite3VdbeResolveLabel(v, pLevel->addrCont); } if( pLoop->wsFlags & WHERE_IN_ABLE && pLevel->u.in.nIn>0 ){ struct InLoop *pIn; @@ -132690,7 +138001,8 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ addr = sqlite3VdbeAddOp1(v, OP_IfPos, pLevel->iLeftJoin); VdbeCoverage(v); assert( (ws & WHERE_IDX_ONLY)==0 || (ws & WHERE_INDEXED)!=0 ); if( (ws & WHERE_IDX_ONLY)==0 ){ - sqlite3VdbeAddOp1(v, OP_NullRow, pTabList->a[i].iCursor); + assert( pLevel->iTabCur==pTabList->a[pLevel->iFrom].iCursor ); + sqlite3VdbeAddOp1(v, OP_NullRow, pLevel->iTabCur); } if( (ws & WHERE_INDEXED) || ((ws & WHERE_MULTI_OR) && pLevel->u.pCovidx) @@ -132727,33 +138039,13 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ ** the co-routine into OP_Copy of result contained in a register. ** OP_Rowid becomes OP_Null. */ - if( pTabItem->fg.viaCoroutine && !db->mallocFailed ){ - translateColumnToCopy(v, pLevel->addrBody, pLevel->iTabCur, + if( pTabItem->fg.viaCoroutine ){ + testcase( pParse->db->mallocFailed ); + translateColumnToCopy(pParse, pLevel->addrBody, pLevel->iTabCur, pTabItem->regResult, 0); continue; } - /* Close all of the cursors that were opened by sqlite3WhereBegin. - ** Except, do not close cursors that will be reused by the OR optimization - ** (WHERE_OR_SUBCLAUSE). And do not close the OP_OpenWrite cursors - ** created for the ONEPASS optimization. - */ - if( (pTab->tabFlags & TF_Ephemeral)==0 - && pTab->pSelect==0 - && (pWInfo->wctrlFlags & WHERE_OR_SUBCLAUSE)==0 - ){ - int ws = pLoop->wsFlags; - if( pWInfo->eOnePass==ONEPASS_OFF && (ws & WHERE_IDX_ONLY)==0 ){ - sqlite3VdbeAddOp1(v, OP_Close, pTabItem->iCursor); - } - if( (ws & WHERE_INDEXED)!=0 - && (ws & (WHERE_IPK|WHERE_AUTO_INDEX))==0 - && pLevel->iIdxCur!=pWInfo->aiCurOnePass[1] - ){ - sqlite3VdbeAddOp1(v, OP_Close, pLevel->iIdxCur); - } - } - /* If this scan uses an index, make VDBE code substitutions to read data ** from the index instead of from the table where possible. In some cases ** this optimization prevents the table from ever being read, which can @@ -132779,7 +138071,11 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ pOp = sqlite3VdbeGetOp(v, k); for(; kp1!=pLevel->iTabCur ) continue; - if( pOp->opcode==OP_Column ){ + if( pOp->opcode==OP_Column +#ifdef SQLITE_ENABLE_OFFSET_SQL_FUNC + || pOp->opcode==OP_Offset +#endif + ){ int x = pOp->p2; assert( pIdx->pTable==pTab ); if( !HasRowid(pTab) ){ @@ -132792,10 +138088,13 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ pOp->p2 = x; pOp->p1 = pLevel->iIdxCur; } - assert( (pLoop->wsFlags & WHERE_IDX_ONLY)==0 || x>=0 ); + assert( (pLoop->wsFlags & WHERE_IDX_ONLY)==0 || x>=0 + || pWInfo->eOnePass ); }else if( pOp->opcode==OP_Rowid ){ pOp->p1 = pLevel->iIdxCur; pOp->opcode = OP_IdxRowid; + }else if( pOp->opcode==OP_IfNullRow ){ + pOp->p1 = pLevel->iIdxCur; } } } @@ -132857,19 +138156,23 @@ SQLITE_PRIVATE void sqlite3WhereEnd(WhereInfo *pWInfo){ #define YYPARSEFREENEVERNULL 1 /* -** Alternative datatype for the argument to the malloc() routine passed -** into sqlite3ParserAlloc(). The default is size_t. +** In the amalgamation, the parse.c file generated by lemon and the +** tokenize.c file are concatenated. In that case, sqlite3RunParser() +** has access to the the size of the yyParser object and so the parser +** engine can be allocated from stack. In that case, only the +** sqlite3ParserInit() and sqlite3ParserFinalize() routines are invoked +** and the sqlite3ParserAlloc() and sqlite3ParserFree() routines can be +** omitted. */ -#define YYMALLOCARGTYPE u64 +#ifdef SQLITE_AMALGAMATION +# define sqlite3Parser_ENGINEALWAYSONSTACK 1 +#endif /* -** An instance of this structure holds information about the -** LIMIT clause of a SELECT statement. +** Alternative datatype for the argument to the malloc() routine passed +** into sqlite3ParserAlloc(). The default is size_t. */ -struct LimitVal { - Expr *pLimit; /* The LIMIT expression. NULL if there is no limit */ - Expr *pOffset; /* The OFFSET expression. NULL if there is none */ -}; +#define YYMALLOCARGTYPE u64 /* ** An instance of the following structure describes the event of a @@ -132914,20 +138217,12 @@ static void disableLookaside(Parse *pParse){ } } - /* This is a utility routine used to set the ExprSpan.zStart and - ** ExprSpan.zEnd values of pOut so that the span covers the complete - ** range of text beginning with pStart and going to the end of pEnd. - */ - static void spanSet(ExprSpan *pOut, Token *pStart, Token *pEnd){ - pOut->zStart = pStart->z; - pOut->zEnd = &pEnd->z[pEnd->n]; - } /* Construct a new Expr object from a single identifier. Use the ** new Expr to populate pOut. Set the span of pOut to be the identifier ** that created the expression. */ - static void spanExpr(ExprSpan *pOut, Parse *pParse, int op, Token t){ + static Expr *tokenExpr(Parse *pParse, int op, Token t){ Expr *p = sqlite3DbMallocRawNN(pParse->db, sizeof(Expr)+t.n+1); if( p ){ memset(p, 0, sizeof(Expr)); @@ -132945,45 +138240,9 @@ static void disableLookaside(Parse *pParse){ p->nHeight = 1; #endif } - pOut->pExpr = p; - pOut->zStart = t.z; - pOut->zEnd = &t.z[t.n]; - } - - /* This routine constructs a binary expression node out of two ExprSpan - ** objects and uses the result to populate a new ExprSpan object. - */ - static void spanBinaryExpr( - Parse *pParse, /* The parsing context. Errors accumulate here */ - int op, /* The binary operation */ - ExprSpan *pLeft, /* The left operand, and output */ - ExprSpan *pRight /* The right operand */ - ){ - pLeft->pExpr = sqlite3PExpr(pParse, op, pLeft->pExpr, pRight->pExpr, 0); - pLeft->zEnd = pRight->zEnd; - } - - /* If doNot is true, then add a TK_NOT Expr-node wrapper around the - ** outside of *ppExpr. - */ - static void exprNot(Parse *pParse, int doNot, ExprSpan *pSpan){ - if( doNot ){ - pSpan->pExpr = sqlite3PExpr(pParse, TK_NOT, pSpan->pExpr, 0, 0); - } + return p; } - /* Construct an expression node for a unary postfix operator - */ - static void spanUnaryPostfix( - Parse *pParse, /* Parsing context to record errors */ - int op, /* The operator */ - ExprSpan *pOperand, /* The operand, and output */ - Token *pPostOp /* The operand token for setting the span */ - ){ - pOperand->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); - pOperand->zEnd = &pPostOp->z[pPostOp->n]; - } - /* A routine to convert a binary TK_IS or TK_ISNOT expression into a ** unary TK_ISNULL or TK_NOTNULL expression. */ static void binaryToUnaryIfNull(Parse *pParse, Expr *pY, Expr *pA, int op){ @@ -132995,20 +138254,6 @@ static void disableLookaside(Parse *pParse){ } } - /* Construct an expression node for a unary prefix operator - */ - static void spanUnaryPrefix( - ExprSpan *pOut, /* Write the new expression node here */ - Parse *pParse, /* Parsing context to record errors */ - int op, /* The operator */ - ExprSpan *pOperand, /* The operand */ - Token *pPreOp /* The operand token for setting the span */ - ){ - pOut->zStart = pPreOp->z; - pOut->pExpr = sqlite3PExpr(pParse, op, pOperand->pExpr, 0, 0); - pOut->zEnd = pOperand->zEnd; - } - /* Add a single new term to an ExprList that is used to store a ** list of identifiers. Report an error if the ID list contains ** a COLLATE clause or an ASC or DESC keyword, except ignore the @@ -133077,38 +138322,39 @@ static void disableLookaside(Parse *pParse){ ** defined, then do no error processing. ** YYNSTATE the combined number of states. ** YYNRULE the number of rules in the grammar +** YYNTOKEN Number of terminal symbols ** YY_MAX_SHIFT Maximum value for shift actions ** YY_MIN_SHIFTREDUCE Minimum value for shift-reduce actions ** YY_MAX_SHIFTREDUCE Maximum value for shift-reduce actions -** YY_MIN_REDUCE Maximum value for reduce actions ** YY_ERROR_ACTION The yy_action[] code for syntax error ** YY_ACCEPT_ACTION The yy_action[] code for accept ** YY_NO_ACTION The yy_action[] code for no-op +** YY_MIN_REDUCE Minimum value for reduce actions +** YY_MAX_REDUCE Maximum value for reduce actions */ #ifndef INTERFACE # define INTERFACE 1 #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned char -#define YYNOCODE 252 +#define YYNOCODE 253 #define YYACTIONTYPE unsigned short int -#define YYWILDCARD 96 +#define YYWILDCARD 83 #define sqlite3ParserTOKENTYPE Token typedef union { int yyinit; sqlite3ParserTOKENTYPE yy0; - Expr* yy72; - TriggerStep* yy145; - ExprList* yy148; - SrcList* yy185; - ExprSpan yy190; - int yy194; - Select* yy243; - IdList* yy254; - With* yy285; - struct TrigEvent yy332; - struct LimitVal yy354; - struct {int value; int mask;} yy497; + int yy4; + struct TrigEvent yy90; + TriggerStep* yy203; + struct {int value; int mask;} yy215; + SrcList* yy259; + Expr* yy314; + ExprList* yy322; + const char* yy336; + IdList* yy384; + Select* yy387; + With* yy451; } YYMINORTYPE; #ifndef YYSTACKDEPTH #define YYSTACKDEPTH 100 @@ -133118,16 +138364,17 @@ typedef union { #define sqlite3ParserARG_FETCH Parse *pParse = yypParser->pParse #define sqlite3ParserARG_STORE yypParser->pParse = pParse #define YYFALLBACK 1 -#define YYNSTATE 456 -#define YYNRULE 332 -#define YY_MAX_SHIFT 455 -#define YY_MIN_SHIFTREDUCE 668 -#define YY_MAX_SHIFTREDUCE 999 -#define YY_MIN_REDUCE 1000 -#define YY_MAX_REDUCE 1331 -#define YY_ERROR_ACTION 1332 -#define YY_ACCEPT_ACTION 1333 -#define YY_NO_ACTION 1334 +#define YYNSTATE 466 +#define YYNRULE 330 +#define YYNTOKEN 143 +#define YY_MAX_SHIFT 465 +#define YY_MIN_SHIFTREDUCE 675 +#define YY_MAX_SHIFTREDUCE 1004 +#define YY_ERROR_ACTION 1005 +#define YY_ACCEPT_ACTION 1006 +#define YY_NO_ACTION 1007 +#define YY_MIN_REDUCE 1008 +#define YY_MAX_REDUCE 1337 /************* End control #defines *******************************************/ /* Define the yytestcase() macro to be a no-op if is not already defined @@ -133157,9 +138404,6 @@ typedef union { ** N between YY_MIN_SHIFTREDUCE Shift to an arbitrary state then ** and YY_MAX_SHIFTREDUCE reduce by rule N-YY_MIN_SHIFTREDUCE. ** -** N between YY_MIN_REDUCE Reduce by rule N-YY_MIN_REDUCE -** and YY_MAX_REDUCE -** ** N == YY_ERROR_ACTION A syntax error has occurred. ** ** N == YY_ACCEPT_ACTION The parser accepts its input. @@ -133167,25 +138411,22 @@ typedef union { ** N == YY_NO_ACTION No such action. Denotes unused ** slots in the yy_action[] table. ** +** N between YY_MIN_REDUCE Reduce by rule N-YY_MIN_REDUCE +** and YY_MAX_REDUCE +** ** The action table is constructed as a single large table named yy_action[]. ** Given state S and lookahead X, the action is computed as either: ** ** (A) N = yy_action[ yy_shift_ofst[S] + X ] ** (B) N = yy_default[S] ** -** The (A) formula is preferred. The B formula is used instead if: -** (1) The yy_shift_ofst[S]+X value is out of range, or -** (2) yy_lookahead[yy_shift_ofst[S]+X] is not equal to X, or -** (3) yy_shift_ofst[S] equal YY_SHIFT_USE_DFLT. -** (Implementation note: YY_SHIFT_USE_DFLT is chosen so that -** YY_SHIFT_USE_DFLT+X will be out of range for all possible lookaheads X. -** Hence only tests (1) and (2) need to be evaluated.) +** The (A) formula is preferred. The B formula is used instead if +** yy_lookahead[yy_shift_ofst[S]+X] is not equal to X. ** ** The formulas above are for computing the action when the lookahead is ** a terminal symbol. If the lookahead is a non-terminal (as occurs after ** a reduce action) then the yy_reduce_ofst[] array is used in place of -** the yy_shift_ofst[] array and YY_REDUCE_USE_DFLT is used in place of -** YY_SHIFT_USE_DFLT. +** the yy_shift_ofst[] array. ** ** The following are the tables generated in this section: ** @@ -133199,463 +138440,474 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (1567) +#define YY_ACTTAB_COUNT (1541) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 325, 832, 351, 825, 5, 203, 203, 819, 99, 100, - /* 10 */ 90, 842, 842, 854, 857, 846, 846, 97, 97, 98, - /* 20 */ 98, 98, 98, 301, 96, 96, 96, 96, 95, 95, - /* 30 */ 94, 94, 94, 93, 351, 325, 977, 977, 824, 824, - /* 40 */ 826, 947, 354, 99, 100, 90, 842, 842, 854, 857, - /* 50 */ 846, 846, 97, 97, 98, 98, 98, 98, 338, 96, - /* 60 */ 96, 96, 96, 95, 95, 94, 94, 94, 93, 351, - /* 70 */ 95, 95, 94, 94, 94, 93, 351, 791, 977, 977, - /* 80 */ 325, 94, 94, 94, 93, 351, 792, 75, 99, 100, - /* 90 */ 90, 842, 842, 854, 857, 846, 846, 97, 97, 98, - /* 100 */ 98, 98, 98, 450, 96, 96, 96, 96, 95, 95, - /* 110 */ 94, 94, 94, 93, 351, 1333, 155, 155, 2, 325, - /* 120 */ 275, 146, 132, 52, 52, 93, 351, 99, 100, 90, - /* 130 */ 842, 842, 854, 857, 846, 846, 97, 97, 98, 98, - /* 140 */ 98, 98, 101, 96, 96, 96, 96, 95, 95, 94, - /* 150 */ 94, 94, 93, 351, 958, 958, 325, 268, 428, 413, - /* 160 */ 411, 61, 752, 752, 99, 100, 90, 842, 842, 854, - /* 170 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 60, - /* 180 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, - /* 190 */ 351, 325, 270, 329, 273, 277, 959, 960, 250, 99, - /* 200 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, - /* 210 */ 98, 98, 98, 98, 301, 96, 96, 96, 96, 95, - /* 220 */ 95, 94, 94, 94, 93, 351, 325, 938, 1326, 698, - /* 230 */ 706, 1326, 242, 412, 99, 100, 90, 842, 842, 854, - /* 240 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 347, - /* 250 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, - /* 260 */ 351, 325, 938, 1327, 384, 699, 1327, 381, 379, 99, - /* 270 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, - /* 280 */ 98, 98, 98, 98, 701, 96, 96, 96, 96, 95, - /* 290 */ 95, 94, 94, 94, 93, 351, 325, 92, 89, 178, - /* 300 */ 833, 936, 373, 700, 99, 100, 90, 842, 842, 854, - /* 310 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 375, - /* 320 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, - /* 330 */ 351, 325, 1276, 947, 354, 818, 936, 739, 739, 99, - /* 340 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, - /* 350 */ 98, 98, 98, 98, 230, 96, 96, 96, 96, 95, - /* 360 */ 95, 94, 94, 94, 93, 351, 325, 969, 227, 92, - /* 370 */ 89, 178, 373, 300, 99, 100, 90, 842, 842, 854, - /* 380 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 921, - /* 390 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, - /* 400 */ 351, 325, 449, 447, 447, 447, 147, 737, 737, 99, - /* 410 */ 100, 90, 842, 842, 854, 857, 846, 846, 97, 97, - /* 420 */ 98, 98, 98, 98, 296, 96, 96, 96, 96, 95, - /* 430 */ 95, 94, 94, 94, 93, 351, 325, 419, 231, 958, - /* 440 */ 958, 158, 25, 422, 99, 100, 90, 842, 842, 854, - /* 450 */ 857, 846, 846, 97, 97, 98, 98, 98, 98, 450, - /* 460 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, - /* 470 */ 351, 443, 224, 224, 420, 958, 958, 962, 325, 52, - /* 480 */ 52, 959, 960, 176, 415, 78, 99, 100, 90, 842, - /* 490 */ 842, 854, 857, 846, 846, 97, 97, 98, 98, 98, - /* 500 */ 98, 379, 96, 96, 96, 96, 95, 95, 94, 94, - /* 510 */ 94, 93, 351, 325, 428, 418, 298, 959, 960, 962, - /* 520 */ 81, 99, 88, 90, 842, 842, 854, 857, 846, 846, - /* 530 */ 97, 97, 98, 98, 98, 98, 717, 96, 96, 96, - /* 540 */ 96, 95, 95, 94, 94, 94, 93, 351, 325, 843, - /* 550 */ 843, 855, 858, 996, 318, 343, 379, 100, 90, 842, - /* 560 */ 842, 854, 857, 846, 846, 97, 97, 98, 98, 98, - /* 570 */ 98, 450, 96, 96, 96, 96, 95, 95, 94, 94, - /* 580 */ 94, 93, 351, 325, 350, 350, 350, 260, 377, 340, - /* 590 */ 929, 52, 52, 90, 842, 842, 854, 857, 846, 846, - /* 600 */ 97, 97, 98, 98, 98, 98, 361, 96, 96, 96, - /* 610 */ 96, 95, 95, 94, 94, 94, 93, 351, 86, 445, - /* 620 */ 847, 3, 1203, 361, 360, 378, 344, 813, 958, 958, - /* 630 */ 1300, 86, 445, 729, 3, 212, 169, 287, 405, 282, - /* 640 */ 404, 199, 232, 450, 300, 760, 83, 84, 280, 245, - /* 650 */ 262, 365, 251, 85, 352, 352, 92, 89, 178, 83, - /* 660 */ 84, 242, 412, 52, 52, 448, 85, 352, 352, 246, - /* 670 */ 959, 960, 194, 455, 670, 402, 399, 398, 448, 243, - /* 680 */ 221, 114, 434, 776, 361, 450, 397, 268, 747, 224, - /* 690 */ 224, 132, 132, 198, 832, 434, 452, 451, 428, 427, - /* 700 */ 819, 415, 734, 713, 132, 52, 52, 832, 268, 452, - /* 710 */ 451, 734, 194, 819, 363, 402, 399, 398, 450, 1271, - /* 720 */ 1271, 23, 958, 958, 86, 445, 397, 3, 228, 429, - /* 730 */ 895, 824, 824, 826, 827, 19, 203, 720, 52, 52, - /* 740 */ 428, 408, 439, 249, 824, 824, 826, 827, 19, 229, - /* 750 */ 403, 153, 83, 84, 761, 177, 241, 450, 721, 85, - /* 760 */ 352, 352, 120, 157, 959, 960, 58, 977, 409, 355, - /* 770 */ 330, 448, 268, 428, 430, 320, 790, 32, 32, 86, - /* 780 */ 445, 776, 3, 341, 98, 98, 98, 98, 434, 96, - /* 790 */ 96, 96, 96, 95, 95, 94, 94, 94, 93, 351, - /* 800 */ 832, 120, 452, 451, 813, 887, 819, 83, 84, 977, - /* 810 */ 813, 132, 410, 920, 85, 352, 352, 132, 407, 789, - /* 820 */ 958, 958, 92, 89, 178, 917, 448, 262, 370, 261, - /* 830 */ 82, 914, 80, 262, 370, 261, 776, 824, 824, 826, - /* 840 */ 827, 19, 934, 434, 96, 96, 96, 96, 95, 95, - /* 850 */ 94, 94, 94, 93, 351, 832, 74, 452, 451, 958, - /* 860 */ 958, 819, 959, 960, 120, 92, 89, 178, 945, 2, - /* 870 */ 918, 965, 268, 1, 976, 76, 445, 762, 3, 708, - /* 880 */ 901, 901, 387, 958, 958, 757, 919, 371, 740, 778, - /* 890 */ 756, 257, 824, 824, 826, 827, 19, 417, 741, 450, - /* 900 */ 24, 959, 960, 83, 84, 369, 958, 958, 177, 226, - /* 910 */ 85, 352, 352, 885, 315, 314, 313, 215, 311, 10, - /* 920 */ 10, 683, 448, 349, 348, 959, 960, 909, 777, 157, - /* 930 */ 120, 958, 958, 337, 776, 416, 711, 310, 450, 434, - /* 940 */ 450, 321, 450, 791, 103, 200, 175, 450, 959, 960, - /* 950 */ 908, 832, 792, 452, 451, 9, 9, 819, 10, 10, - /* 960 */ 52, 52, 51, 51, 180, 716, 248, 10, 10, 171, - /* 970 */ 170, 167, 339, 959, 960, 247, 984, 702, 702, 450, - /* 980 */ 715, 233, 686, 982, 889, 983, 182, 914, 824, 824, - /* 990 */ 826, 827, 19, 183, 256, 423, 132, 181, 394, 10, - /* 1000 */ 10, 889, 891, 749, 958, 958, 917, 268, 985, 198, - /* 1010 */ 985, 349, 348, 425, 415, 299, 817, 832, 326, 825, - /* 1020 */ 120, 332, 133, 819, 268, 98, 98, 98, 98, 91, - /* 1030 */ 96, 96, 96, 96, 95, 95, 94, 94, 94, 93, - /* 1040 */ 351, 157, 810, 371, 382, 359, 959, 960, 358, 268, - /* 1050 */ 450, 918, 368, 324, 824, 824, 826, 450, 709, 450, - /* 1060 */ 264, 380, 889, 450, 877, 746, 253, 919, 255, 433, - /* 1070 */ 36, 36, 234, 450, 234, 120, 269, 37, 37, 12, - /* 1080 */ 12, 334, 272, 27, 27, 450, 330, 118, 450, 162, - /* 1090 */ 742, 280, 450, 38, 38, 450, 985, 356, 985, 450, - /* 1100 */ 709, 1210, 450, 132, 450, 39, 39, 450, 40, 40, - /* 1110 */ 450, 362, 41, 41, 450, 42, 42, 450, 254, 28, - /* 1120 */ 28, 450, 29, 29, 31, 31, 450, 43, 43, 450, - /* 1130 */ 44, 44, 450, 714, 45, 45, 450, 11, 11, 767, - /* 1140 */ 450, 46, 46, 450, 268, 450, 105, 105, 450, 47, - /* 1150 */ 47, 450, 48, 48, 450, 237, 33, 33, 450, 172, - /* 1160 */ 49, 49, 450, 50, 50, 34, 34, 274, 122, 122, - /* 1170 */ 450, 123, 123, 450, 124, 124, 450, 898, 56, 56, - /* 1180 */ 450, 897, 35, 35, 450, 267, 450, 817, 450, 817, - /* 1190 */ 106, 106, 450, 53, 53, 385, 107, 107, 450, 817, - /* 1200 */ 108, 108, 817, 450, 104, 104, 121, 121, 119, 119, - /* 1210 */ 450, 117, 112, 112, 450, 276, 450, 225, 111, 111, - /* 1220 */ 450, 730, 450, 109, 109, 450, 673, 674, 675, 912, - /* 1230 */ 110, 110, 317, 998, 55, 55, 57, 57, 692, 331, - /* 1240 */ 54, 54, 26, 26, 696, 30, 30, 317, 937, 197, - /* 1250 */ 196, 195, 335, 281, 336, 446, 331, 745, 689, 436, - /* 1260 */ 440, 444, 120, 72, 386, 223, 175, 345, 757, 933, - /* 1270 */ 20, 286, 319, 756, 815, 372, 374, 202, 202, 202, - /* 1280 */ 263, 395, 285, 74, 208, 21, 696, 719, 718, 884, - /* 1290 */ 120, 120, 120, 120, 120, 754, 278, 828, 77, 74, - /* 1300 */ 726, 727, 785, 783, 880, 202, 999, 208, 894, 893, - /* 1310 */ 894, 893, 694, 816, 763, 116, 774, 1290, 431, 432, - /* 1320 */ 302, 999, 390, 303, 823, 697, 691, 680, 159, 289, - /* 1330 */ 679, 884, 681, 952, 291, 218, 293, 7, 316, 828, - /* 1340 */ 173, 805, 259, 364, 252, 911, 376, 713, 295, 435, - /* 1350 */ 308, 168, 955, 993, 135, 400, 990, 284, 882, 881, - /* 1360 */ 205, 928, 926, 59, 333, 62, 144, 156, 130, 72, - /* 1370 */ 802, 366, 367, 393, 137, 185, 189, 160, 139, 383, - /* 1380 */ 67, 896, 140, 141, 142, 148, 389, 812, 775, 266, - /* 1390 */ 219, 190, 154, 391, 913, 876, 271, 406, 191, 322, - /* 1400 */ 682, 733, 192, 342, 732, 724, 731, 711, 723, 421, - /* 1410 */ 705, 71, 323, 6, 204, 771, 288, 79, 297, 346, - /* 1420 */ 772, 704, 290, 283, 703, 770, 292, 294, 967, 239, - /* 1430 */ 769, 102, 862, 438, 426, 240, 424, 442, 73, 213, - /* 1440 */ 688, 238, 22, 453, 953, 214, 217, 216, 454, 677, - /* 1450 */ 676, 671, 753, 125, 115, 235, 126, 669, 353, 166, - /* 1460 */ 127, 244, 179, 357, 306, 304, 305, 307, 113, 892, - /* 1470 */ 327, 890, 811, 328, 134, 128, 136, 138, 743, 258, - /* 1480 */ 907, 184, 143, 129, 910, 186, 63, 64, 145, 187, - /* 1490 */ 906, 65, 8, 66, 13, 188, 202, 899, 265, 149, - /* 1500 */ 987, 388, 150, 685, 161, 392, 285, 193, 279, 396, - /* 1510 */ 151, 401, 68, 14, 15, 722, 69, 236, 831, 131, - /* 1520 */ 830, 860, 70, 751, 16, 414, 755, 4, 174, 220, - /* 1530 */ 222, 784, 201, 152, 779, 77, 74, 17, 18, 875, - /* 1540 */ 861, 859, 916, 864, 915, 207, 206, 942, 163, 437, - /* 1550 */ 948, 943, 164, 209, 1002, 441, 863, 165, 210, 829, - /* 1560 */ 695, 87, 312, 211, 1292, 1291, 309, + /* 0 */ 1006, 156, 156, 2, 1302, 90, 87, 179, 90, 87, + /* 10 */ 179, 460, 1048, 460, 465, 1010, 460, 333, 1130, 335, + /* 20 */ 246, 330, 112, 303, 439, 1258, 304, 419, 1129, 1087, + /* 30 */ 72, 798, 50, 50, 50, 50, 331, 30, 30, 799, + /* 40 */ 951, 364, 371, 97, 98, 88, 983, 983, 859, 862, + /* 50 */ 851, 851, 95, 95, 96, 96, 96, 96, 120, 371, + /* 60 */ 370, 120, 348, 22, 90, 87, 179, 438, 423, 438, + /* 70 */ 440, 335, 420, 385, 90, 87, 179, 116, 73, 163, + /* 80 */ 848, 848, 860, 863, 94, 94, 94, 94, 93, 93, + /* 90 */ 92, 92, 92, 91, 361, 97, 98, 88, 983, 983, + /* 100 */ 859, 862, 851, 851, 95, 95, 96, 96, 96, 96, + /* 110 */ 718, 365, 339, 93, 93, 92, 92, 92, 91, 361, + /* 120 */ 99, 371, 453, 335, 94, 94, 94, 94, 93, 93, + /* 130 */ 92, 92, 92, 91, 361, 852, 94, 94, 94, 94, + /* 140 */ 93, 93, 92, 92, 92, 91, 361, 97, 98, 88, + /* 150 */ 983, 983, 859, 862, 851, 851, 95, 95, 96, 96, + /* 160 */ 96, 96, 92, 92, 92, 91, 361, 838, 132, 195, + /* 170 */ 58, 244, 412, 409, 408, 335, 457, 457, 457, 304, + /* 180 */ 59, 332, 831, 407, 394, 962, 830, 391, 94, 94, + /* 190 */ 94, 94, 93, 93, 92, 92, 92, 91, 361, 97, + /* 200 */ 98, 88, 983, 983, 859, 862, 851, 851, 95, 95, + /* 210 */ 96, 96, 96, 96, 426, 357, 460, 830, 830, 832, + /* 220 */ 91, 361, 962, 963, 964, 195, 459, 335, 412, 409, + /* 230 */ 408, 280, 361, 820, 132, 11, 11, 50, 50, 407, + /* 240 */ 94, 94, 94, 94, 93, 93, 92, 92, 92, 91, + /* 250 */ 361, 97, 98, 88, 983, 983, 859, 862, 851, 851, + /* 260 */ 95, 95, 96, 96, 96, 96, 460, 221, 460, 264, + /* 270 */ 375, 254, 438, 428, 1276, 1276, 383, 1074, 1053, 335, + /* 280 */ 245, 422, 299, 713, 271, 271, 1074, 50, 50, 50, + /* 290 */ 50, 962, 94, 94, 94, 94, 93, 93, 92, 92, + /* 300 */ 92, 91, 361, 97, 98, 88, 983, 983, 859, 862, + /* 310 */ 851, 851, 95, 95, 96, 96, 96, 96, 90, 87, + /* 320 */ 179, 1306, 438, 437, 438, 418, 368, 253, 962, 963, + /* 330 */ 964, 335, 360, 360, 360, 706, 359, 358, 324, 962, + /* 340 */ 1281, 951, 364, 230, 94, 94, 94, 94, 93, 93, + /* 350 */ 92, 92, 92, 91, 361, 97, 98, 88, 983, 983, + /* 360 */ 859, 862, 851, 851, 95, 95, 96, 96, 96, 96, + /* 370 */ 769, 460, 120, 226, 226, 366, 962, 963, 964, 1089, + /* 380 */ 990, 900, 990, 335, 1057, 425, 421, 839, 759, 759, + /* 390 */ 425, 427, 50, 50, 432, 381, 94, 94, 94, 94, + /* 400 */ 93, 93, 92, 92, 92, 91, 361, 97, 98, 88, + /* 410 */ 983, 983, 859, 862, 851, 851, 95, 95, 96, 96, + /* 420 */ 96, 96, 460, 259, 460, 120, 117, 354, 942, 1332, + /* 430 */ 942, 1333, 1332, 278, 1333, 335, 680, 681, 682, 825, + /* 440 */ 201, 176, 303, 50, 50, 49, 49, 404, 94, 94, + /* 450 */ 94, 94, 93, 93, 92, 92, 92, 91, 361, 97, + /* 460 */ 98, 88, 983, 983, 859, 862, 851, 851, 95, 95, + /* 470 */ 96, 96, 96, 96, 199, 460, 380, 265, 433, 380, + /* 480 */ 265, 383, 256, 158, 258, 319, 1003, 335, 155, 940, + /* 490 */ 177, 940, 273, 379, 276, 322, 34, 34, 302, 962, + /* 500 */ 94, 94, 94, 94, 93, 93, 92, 92, 92, 91, + /* 510 */ 361, 97, 98, 88, 983, 983, 859, 862, 851, 851, + /* 520 */ 95, 95, 96, 96, 96, 96, 905, 905, 397, 460, + /* 530 */ 301, 158, 101, 319, 941, 340, 962, 963, 964, 313, + /* 540 */ 283, 449, 335, 327, 146, 1266, 1004, 257, 234, 248, + /* 550 */ 35, 35, 94, 94, 94, 94, 93, 93, 92, 92, + /* 560 */ 92, 91, 361, 709, 785, 1227, 97, 98, 88, 983, + /* 570 */ 983, 859, 862, 851, 851, 95, 95, 96, 96, 96, + /* 580 */ 96, 962, 1227, 1229, 245, 422, 838, 198, 197, 196, + /* 590 */ 1079, 1079, 1077, 1077, 1004, 1334, 320, 335, 172, 171, + /* 600 */ 709, 831, 159, 271, 271, 830, 76, 94, 94, 94, + /* 610 */ 94, 93, 93, 92, 92, 92, 91, 361, 962, 963, + /* 620 */ 964, 97, 98, 88, 983, 983, 859, 862, 851, 851, + /* 630 */ 95, 95, 96, 96, 96, 96, 830, 830, 832, 1157, + /* 640 */ 1157, 199, 1157, 173, 1227, 231, 232, 1282, 2, 335, + /* 650 */ 271, 764, 271, 820, 271, 271, 763, 389, 389, 389, + /* 660 */ 132, 79, 94, 94, 94, 94, 93, 93, 92, 92, + /* 670 */ 92, 91, 361, 97, 98, 88, 983, 983, 859, 862, + /* 680 */ 851, 851, 95, 95, 96, 96, 96, 96, 460, 264, + /* 690 */ 223, 460, 1257, 783, 1223, 1157, 1086, 1082, 80, 271, + /* 700 */ 78, 335, 340, 1031, 341, 344, 345, 902, 346, 10, + /* 710 */ 10, 902, 25, 25, 94, 94, 94, 94, 93, 93, + /* 720 */ 92, 92, 92, 91, 361, 97, 86, 88, 983, 983, + /* 730 */ 859, 862, 851, 851, 95, 95, 96, 96, 96, 96, + /* 740 */ 1157, 270, 395, 117, 233, 263, 235, 70, 456, 341, + /* 750 */ 225, 176, 335, 1305, 342, 133, 736, 966, 980, 249, + /* 760 */ 1150, 396, 325, 1085, 1028, 178, 94, 94, 94, 94, + /* 770 */ 93, 93, 92, 92, 92, 91, 361, 98, 88, 983, + /* 780 */ 983, 859, 862, 851, 851, 95, 95, 96, 96, 96, + /* 790 */ 96, 783, 783, 132, 120, 966, 120, 120, 120, 798, + /* 800 */ 252, 937, 335, 353, 321, 429, 355, 799, 822, 692, + /* 810 */ 390, 203, 446, 450, 372, 716, 454, 94, 94, 94, + /* 820 */ 94, 93, 93, 92, 92, 92, 91, 361, 88, 983, + /* 830 */ 983, 859, 862, 851, 851, 95, 95, 96, 96, 96, + /* 840 */ 96, 84, 455, 1225, 3, 1209, 120, 120, 382, 387, + /* 850 */ 120, 203, 1271, 716, 384, 168, 266, 203, 458, 72, + /* 860 */ 260, 1246, 84, 455, 178, 3, 378, 94, 94, 94, + /* 870 */ 94, 93, 93, 92, 92, 92, 91, 361, 350, 458, + /* 880 */ 1245, 362, 430, 213, 228, 290, 415, 285, 414, 200, + /* 890 */ 783, 882, 444, 726, 725, 405, 283, 921, 209, 921, + /* 900 */ 281, 132, 362, 72, 838, 289, 147, 733, 734, 392, + /* 910 */ 81, 82, 922, 444, 922, 267, 288, 83, 362, 462, + /* 920 */ 461, 272, 132, 830, 23, 838, 388, 923, 1216, 923, + /* 930 */ 1056, 81, 82, 84, 455, 899, 3, 899, 83, 362, + /* 940 */ 462, 461, 761, 962, 830, 75, 1, 443, 275, 747, + /* 950 */ 458, 5, 962, 204, 830, 830, 832, 833, 18, 748, + /* 960 */ 229, 962, 277, 19, 153, 317, 317, 316, 216, 314, + /* 970 */ 279, 460, 689, 362, 1055, 830, 830, 832, 833, 18, + /* 980 */ 962, 963, 964, 962, 444, 181, 460, 251, 981, 962, + /* 990 */ 963, 964, 8, 8, 20, 250, 838, 1070, 962, 963, + /* 1000 */ 964, 417, 81, 82, 768, 204, 347, 36, 36, 83, + /* 1010 */ 362, 462, 461, 1054, 284, 830, 84, 455, 1123, 3, + /* 1020 */ 962, 963, 964, 460, 183, 962, 981, 764, 889, 1107, + /* 1030 */ 460, 184, 763, 458, 132, 182, 74, 455, 460, 3, + /* 1040 */ 981, 898, 834, 898, 8, 8, 830, 830, 832, 833, + /* 1050 */ 18, 8, 8, 458, 219, 1156, 362, 1103, 349, 8, + /* 1060 */ 8, 240, 962, 963, 964, 236, 889, 444, 792, 336, + /* 1070 */ 158, 203, 885, 435, 700, 209, 362, 114, 981, 838, + /* 1080 */ 834, 227, 334, 1114, 441, 81, 82, 444, 442, 305, + /* 1090 */ 784, 306, 83, 362, 462, 461, 369, 1162, 830, 838, + /* 1100 */ 460, 1037, 237, 1030, 237, 81, 82, 7, 96, 96, + /* 1110 */ 96, 96, 83, 362, 462, 461, 1019, 1018, 830, 1020, + /* 1120 */ 1289, 37, 37, 400, 96, 96, 96, 96, 89, 830, + /* 1130 */ 830, 832, 833, 18, 1100, 318, 962, 292, 94, 94, + /* 1140 */ 94, 94, 93, 93, 92, 92, 92, 91, 361, 830, + /* 1150 */ 830, 832, 833, 18, 94, 94, 94, 94, 93, 93, + /* 1160 */ 92, 92, 92, 91, 361, 359, 358, 226, 226, 727, + /* 1170 */ 294, 296, 460, 962, 963, 964, 460, 989, 160, 425, + /* 1180 */ 170, 1295, 262, 460, 987, 374, 988, 386, 1145, 255, + /* 1190 */ 326, 460, 373, 38, 38, 410, 174, 39, 39, 413, + /* 1200 */ 460, 287, 460, 1053, 40, 40, 298, 728, 1220, 990, + /* 1210 */ 445, 990, 26, 26, 1219, 460, 311, 460, 169, 1292, + /* 1220 */ 460, 27, 27, 29, 29, 998, 460, 206, 135, 995, + /* 1230 */ 1265, 1263, 460, 57, 60, 460, 41, 41, 42, 42, + /* 1240 */ 460, 43, 43, 460, 343, 351, 460, 9, 9, 460, + /* 1250 */ 144, 460, 130, 44, 44, 460, 103, 103, 460, 137, + /* 1260 */ 70, 45, 45, 460, 46, 46, 460, 31, 31, 1142, + /* 1270 */ 47, 47, 48, 48, 460, 376, 32, 32, 460, 122, + /* 1280 */ 122, 460, 157, 460, 123, 123, 139, 124, 124, 460, + /* 1290 */ 186, 460, 377, 460, 115, 54, 54, 460, 403, 33, + /* 1300 */ 33, 460, 104, 104, 51, 51, 460, 161, 460, 140, + /* 1310 */ 105, 105, 106, 106, 102, 102, 460, 141, 121, 121, + /* 1320 */ 460, 142, 119, 119, 190, 460, 1152, 110, 110, 109, + /* 1330 */ 109, 702, 460, 148, 393, 65, 460, 107, 107, 460, + /* 1340 */ 323, 108, 108, 399, 460, 1234, 53, 53, 1214, 269, + /* 1350 */ 154, 416, 1115, 55, 55, 220, 401, 52, 52, 191, + /* 1360 */ 24, 24, 274, 192, 193, 28, 28, 1021, 328, 702, + /* 1370 */ 1073, 352, 1072, 718, 1071, 431, 1111, 1064, 329, 1045, + /* 1380 */ 69, 205, 6, 291, 1044, 286, 1112, 1043, 1304, 1110, + /* 1390 */ 293, 300, 295, 297, 1063, 1200, 1109, 77, 241, 448, + /* 1400 */ 356, 452, 436, 100, 214, 71, 434, 1027, 1093, 21, + /* 1410 */ 463, 242, 243, 957, 215, 217, 218, 464, 309, 307, + /* 1420 */ 308, 310, 1016, 125, 1250, 1251, 1011, 1249, 126, 127, + /* 1430 */ 1248, 113, 676, 337, 238, 338, 134, 363, 167, 1041, + /* 1440 */ 1040, 56, 247, 367, 180, 897, 111, 895, 136, 1038, + /* 1450 */ 818, 128, 138, 750, 261, 911, 185, 143, 145, 61, + /* 1460 */ 62, 63, 64, 129, 914, 187, 188, 910, 118, 12, + /* 1470 */ 189, 903, 268, 992, 203, 162, 398, 150, 149, 691, + /* 1480 */ 402, 288, 194, 406, 151, 411, 66, 13, 729, 239, + /* 1490 */ 282, 14, 67, 131, 837, 836, 865, 758, 15, 4, + /* 1500 */ 68, 762, 175, 222, 224, 424, 152, 869, 791, 202, + /* 1510 */ 786, 75, 72, 880, 866, 864, 16, 17, 920, 207, + /* 1520 */ 919, 208, 447, 946, 164, 211, 947, 210, 165, 451, + /* 1530 */ 868, 166, 315, 835, 701, 85, 212, 1297, 312, 952, + /* 1540 */ 1296, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 19, 95, 53, 97, 22, 24, 24, 101, 27, 28, - /* 10 */ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - /* 20 */ 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, - /* 30 */ 49, 50, 51, 52, 53, 19, 55, 55, 132, 133, - /* 40 */ 134, 1, 2, 27, 28, 29, 30, 31, 32, 33, - /* 50 */ 34, 35, 36, 37, 38, 39, 40, 41, 187, 43, - /* 60 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - /* 70 */ 47, 48, 49, 50, 51, 52, 53, 61, 97, 97, - /* 80 */ 19, 49, 50, 51, 52, 53, 70, 26, 27, 28, - /* 90 */ 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, - /* 100 */ 39, 40, 41, 152, 43, 44, 45, 46, 47, 48, - /* 110 */ 49, 50, 51, 52, 53, 144, 145, 146, 147, 19, - /* 120 */ 16, 22, 92, 172, 173, 52, 53, 27, 28, 29, - /* 130 */ 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, - /* 140 */ 40, 41, 81, 43, 44, 45, 46, 47, 48, 49, - /* 150 */ 50, 51, 52, 53, 55, 56, 19, 152, 207, 208, - /* 160 */ 115, 24, 117, 118, 27, 28, 29, 30, 31, 32, - /* 170 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 79, - /* 180 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 190 */ 53, 19, 88, 157, 90, 23, 97, 98, 193, 27, - /* 200 */ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - /* 210 */ 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, - /* 220 */ 48, 49, 50, 51, 52, 53, 19, 22, 23, 172, - /* 230 */ 23, 26, 119, 120, 27, 28, 29, 30, 31, 32, - /* 240 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 187, - /* 250 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 260 */ 53, 19, 22, 23, 228, 23, 26, 231, 152, 27, - /* 270 */ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - /* 280 */ 38, 39, 40, 41, 172, 43, 44, 45, 46, 47, - /* 290 */ 48, 49, 50, 51, 52, 53, 19, 221, 222, 223, - /* 300 */ 23, 96, 152, 172, 27, 28, 29, 30, 31, 32, - /* 310 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, - /* 320 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 330 */ 53, 19, 0, 1, 2, 23, 96, 190, 191, 27, - /* 340 */ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - /* 350 */ 38, 39, 40, 41, 238, 43, 44, 45, 46, 47, - /* 360 */ 48, 49, 50, 51, 52, 53, 19, 185, 218, 221, - /* 370 */ 222, 223, 152, 152, 27, 28, 29, 30, 31, 32, - /* 380 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 241, - /* 390 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 400 */ 53, 19, 152, 168, 169, 170, 22, 190, 191, 27, - /* 410 */ 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, - /* 420 */ 38, 39, 40, 41, 152, 43, 44, 45, 46, 47, - /* 430 */ 48, 49, 50, 51, 52, 53, 19, 19, 218, 55, - /* 440 */ 56, 24, 22, 152, 27, 28, 29, 30, 31, 32, - /* 450 */ 33, 34, 35, 36, 37, 38, 39, 40, 41, 152, - /* 460 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 470 */ 53, 250, 194, 195, 56, 55, 56, 55, 19, 172, - /* 480 */ 173, 97, 98, 152, 206, 138, 27, 28, 29, 30, - /* 490 */ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - /* 500 */ 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, - /* 510 */ 51, 52, 53, 19, 207, 208, 152, 97, 98, 97, - /* 520 */ 138, 27, 28, 29, 30, 31, 32, 33, 34, 35, - /* 530 */ 36, 37, 38, 39, 40, 41, 181, 43, 44, 45, - /* 540 */ 46, 47, 48, 49, 50, 51, 52, 53, 19, 30, - /* 550 */ 31, 32, 33, 247, 248, 19, 152, 28, 29, 30, - /* 560 */ 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, - /* 570 */ 41, 152, 43, 44, 45, 46, 47, 48, 49, 50, - /* 580 */ 51, 52, 53, 19, 168, 169, 170, 238, 19, 53, - /* 590 */ 152, 172, 173, 29, 30, 31, 32, 33, 34, 35, - /* 600 */ 36, 37, 38, 39, 40, 41, 152, 43, 44, 45, - /* 610 */ 46, 47, 48, 49, 50, 51, 52, 53, 19, 20, - /* 620 */ 101, 22, 23, 169, 170, 56, 207, 85, 55, 56, - /* 630 */ 23, 19, 20, 26, 22, 99, 100, 101, 102, 103, - /* 640 */ 104, 105, 238, 152, 152, 210, 47, 48, 112, 152, - /* 650 */ 108, 109, 110, 54, 55, 56, 221, 222, 223, 47, - /* 660 */ 48, 119, 120, 172, 173, 66, 54, 55, 56, 152, - /* 670 */ 97, 98, 99, 148, 149, 102, 103, 104, 66, 154, - /* 680 */ 23, 156, 83, 26, 230, 152, 113, 152, 163, 194, - /* 690 */ 195, 92, 92, 30, 95, 83, 97, 98, 207, 208, - /* 700 */ 101, 206, 179, 180, 92, 172, 173, 95, 152, 97, - /* 710 */ 98, 188, 99, 101, 219, 102, 103, 104, 152, 119, - /* 720 */ 120, 196, 55, 56, 19, 20, 113, 22, 193, 163, - /* 730 */ 11, 132, 133, 134, 135, 136, 24, 65, 172, 173, - /* 740 */ 207, 208, 250, 152, 132, 133, 134, 135, 136, 193, - /* 750 */ 78, 84, 47, 48, 49, 98, 199, 152, 86, 54, - /* 760 */ 55, 56, 196, 152, 97, 98, 209, 55, 163, 244, - /* 770 */ 107, 66, 152, 207, 208, 164, 175, 172, 173, 19, - /* 780 */ 20, 124, 22, 111, 38, 39, 40, 41, 83, 43, - /* 790 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, - /* 800 */ 95, 196, 97, 98, 85, 152, 101, 47, 48, 97, - /* 810 */ 85, 92, 207, 193, 54, 55, 56, 92, 49, 175, - /* 820 */ 55, 56, 221, 222, 223, 12, 66, 108, 109, 110, - /* 830 */ 137, 163, 139, 108, 109, 110, 26, 132, 133, 134, - /* 840 */ 135, 136, 152, 83, 43, 44, 45, 46, 47, 48, - /* 850 */ 49, 50, 51, 52, 53, 95, 26, 97, 98, 55, - /* 860 */ 56, 101, 97, 98, 196, 221, 222, 223, 146, 147, - /* 870 */ 57, 171, 152, 22, 26, 19, 20, 49, 22, 179, - /* 880 */ 108, 109, 110, 55, 56, 116, 73, 219, 75, 124, - /* 890 */ 121, 152, 132, 133, 134, 135, 136, 163, 85, 152, - /* 900 */ 232, 97, 98, 47, 48, 237, 55, 56, 98, 5, - /* 910 */ 54, 55, 56, 193, 10, 11, 12, 13, 14, 172, - /* 920 */ 173, 17, 66, 47, 48, 97, 98, 152, 124, 152, - /* 930 */ 196, 55, 56, 186, 124, 152, 106, 160, 152, 83, - /* 940 */ 152, 164, 152, 61, 22, 211, 212, 152, 97, 98, - /* 950 */ 152, 95, 70, 97, 98, 172, 173, 101, 172, 173, - /* 960 */ 172, 173, 172, 173, 60, 181, 62, 172, 173, 47, - /* 970 */ 48, 123, 186, 97, 98, 71, 100, 55, 56, 152, - /* 980 */ 181, 186, 21, 107, 152, 109, 82, 163, 132, 133, - /* 990 */ 134, 135, 136, 89, 16, 207, 92, 93, 19, 172, - /* 1000 */ 173, 169, 170, 195, 55, 56, 12, 152, 132, 30, - /* 1010 */ 134, 47, 48, 186, 206, 225, 152, 95, 114, 97, - /* 1020 */ 196, 245, 246, 101, 152, 38, 39, 40, 41, 42, - /* 1030 */ 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, - /* 1040 */ 53, 152, 163, 219, 152, 141, 97, 98, 193, 152, - /* 1050 */ 152, 57, 91, 164, 132, 133, 134, 152, 55, 152, - /* 1060 */ 152, 237, 230, 152, 103, 193, 88, 73, 90, 75, - /* 1070 */ 172, 173, 183, 152, 185, 196, 152, 172, 173, 172, - /* 1080 */ 173, 217, 152, 172, 173, 152, 107, 22, 152, 24, - /* 1090 */ 193, 112, 152, 172, 173, 152, 132, 242, 134, 152, - /* 1100 */ 97, 140, 152, 92, 152, 172, 173, 152, 172, 173, - /* 1110 */ 152, 100, 172, 173, 152, 172, 173, 152, 140, 172, - /* 1120 */ 173, 152, 172, 173, 172, 173, 152, 172, 173, 152, - /* 1130 */ 172, 173, 152, 152, 172, 173, 152, 172, 173, 213, - /* 1140 */ 152, 172, 173, 152, 152, 152, 172, 173, 152, 172, - /* 1150 */ 173, 152, 172, 173, 152, 210, 172, 173, 152, 26, - /* 1160 */ 172, 173, 152, 172, 173, 172, 173, 152, 172, 173, - /* 1170 */ 152, 172, 173, 152, 172, 173, 152, 59, 172, 173, - /* 1180 */ 152, 63, 172, 173, 152, 193, 152, 152, 152, 152, - /* 1190 */ 172, 173, 152, 172, 173, 77, 172, 173, 152, 152, - /* 1200 */ 172, 173, 152, 152, 172, 173, 172, 173, 172, 173, - /* 1210 */ 152, 22, 172, 173, 152, 152, 152, 22, 172, 173, - /* 1220 */ 152, 152, 152, 172, 173, 152, 7, 8, 9, 163, - /* 1230 */ 172, 173, 22, 23, 172, 173, 172, 173, 166, 167, - /* 1240 */ 172, 173, 172, 173, 55, 172, 173, 22, 23, 108, - /* 1250 */ 109, 110, 217, 152, 217, 166, 167, 163, 163, 163, - /* 1260 */ 163, 163, 196, 130, 217, 211, 212, 217, 116, 23, - /* 1270 */ 22, 101, 26, 121, 23, 23, 23, 26, 26, 26, - /* 1280 */ 23, 23, 112, 26, 26, 37, 97, 100, 101, 55, - /* 1290 */ 196, 196, 196, 196, 196, 23, 23, 55, 26, 26, - /* 1300 */ 7, 8, 23, 152, 23, 26, 96, 26, 132, 132, - /* 1310 */ 134, 134, 23, 152, 152, 26, 152, 122, 152, 191, - /* 1320 */ 152, 96, 234, 152, 152, 152, 152, 152, 197, 210, - /* 1330 */ 152, 97, 152, 152, 210, 233, 210, 198, 150, 97, - /* 1340 */ 184, 201, 239, 214, 214, 201, 239, 180, 214, 227, - /* 1350 */ 200, 198, 155, 67, 243, 176, 69, 175, 175, 175, - /* 1360 */ 122, 159, 159, 240, 159, 240, 22, 220, 27, 130, - /* 1370 */ 201, 18, 159, 18, 189, 158, 158, 220, 192, 159, - /* 1380 */ 137, 236, 192, 192, 192, 189, 74, 189, 159, 235, - /* 1390 */ 159, 158, 22, 177, 201, 201, 159, 107, 158, 177, - /* 1400 */ 159, 174, 158, 76, 174, 182, 174, 106, 182, 125, - /* 1410 */ 174, 107, 177, 22, 159, 216, 215, 137, 159, 53, - /* 1420 */ 216, 176, 215, 174, 174, 216, 215, 215, 174, 229, - /* 1430 */ 216, 129, 224, 177, 126, 229, 127, 177, 128, 25, - /* 1440 */ 162, 226, 26, 161, 13, 153, 6, 153, 151, 151, - /* 1450 */ 151, 151, 205, 165, 178, 178, 165, 4, 3, 22, - /* 1460 */ 165, 142, 15, 94, 202, 204, 203, 201, 16, 23, - /* 1470 */ 249, 23, 120, 249, 246, 111, 131, 123, 20, 16, - /* 1480 */ 1, 125, 123, 111, 56, 64, 37, 37, 131, 122, - /* 1490 */ 1, 37, 5, 37, 22, 107, 26, 80, 140, 80, - /* 1500 */ 87, 72, 107, 20, 24, 19, 112, 105, 23, 79, - /* 1510 */ 22, 79, 22, 22, 22, 58, 22, 79, 23, 68, - /* 1520 */ 23, 23, 26, 116, 22, 26, 23, 22, 122, 23, - /* 1530 */ 23, 56, 64, 22, 124, 26, 26, 64, 64, 23, - /* 1540 */ 23, 23, 23, 11, 23, 22, 26, 23, 22, 24, - /* 1550 */ 1, 23, 22, 26, 251, 24, 23, 22, 122, 23, - /* 1560 */ 23, 22, 15, 122, 122, 122, 23, + /* 0 */ 144, 145, 146, 147, 172, 222, 223, 224, 222, 223, + /* 10 */ 224, 152, 180, 152, 148, 149, 152, 173, 176, 19, + /* 20 */ 154, 173, 156, 152, 163, 242, 152, 163, 176, 163, + /* 30 */ 26, 31, 173, 174, 173, 174, 173, 173, 174, 39, + /* 40 */ 1, 2, 152, 43, 44, 45, 46, 47, 48, 49, + /* 50 */ 50, 51, 52, 53, 54, 55, 56, 57, 197, 169, + /* 60 */ 170, 197, 188, 197, 222, 223, 224, 208, 209, 208, + /* 70 */ 209, 19, 208, 152, 222, 223, 224, 22, 26, 24, + /* 80 */ 46, 47, 48, 49, 84, 85, 86, 87, 88, 89, + /* 90 */ 90, 91, 92, 93, 94, 43, 44, 45, 46, 47, + /* 100 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + /* 110 */ 106, 245, 157, 88, 89, 90, 91, 92, 93, 94, + /* 120 */ 68, 231, 251, 19, 84, 85, 86, 87, 88, 89, + /* 130 */ 90, 91, 92, 93, 94, 101, 84, 85, 86, 87, + /* 140 */ 88, 89, 90, 91, 92, 93, 94, 43, 44, 45, + /* 150 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + /* 160 */ 56, 57, 90, 91, 92, 93, 94, 82, 79, 99, + /* 170 */ 66, 200, 102, 103, 104, 19, 168, 169, 170, 152, + /* 180 */ 24, 210, 97, 113, 229, 59, 101, 232, 84, 85, + /* 190 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 43, + /* 200 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + /* 210 */ 54, 55, 56, 57, 152, 188, 152, 132, 133, 134, + /* 220 */ 93, 94, 96, 97, 98, 99, 152, 19, 102, 103, + /* 230 */ 104, 23, 94, 72, 79, 173, 174, 173, 174, 113, + /* 240 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + /* 250 */ 94, 43, 44, 45, 46, 47, 48, 49, 50, 51, + /* 260 */ 52, 53, 54, 55, 56, 57, 152, 171, 152, 108, + /* 270 */ 109, 110, 208, 209, 119, 120, 152, 180, 181, 19, + /* 280 */ 119, 120, 152, 23, 152, 152, 189, 173, 174, 173, + /* 290 */ 174, 59, 84, 85, 86, 87, 88, 89, 90, 91, + /* 300 */ 92, 93, 94, 43, 44, 45, 46, 47, 48, 49, + /* 310 */ 50, 51, 52, 53, 54, 55, 56, 57, 222, 223, + /* 320 */ 224, 186, 208, 209, 208, 209, 194, 194, 96, 97, + /* 330 */ 98, 19, 168, 169, 170, 23, 88, 89, 163, 59, + /* 340 */ 0, 1, 2, 219, 84, 85, 86, 87, 88, 89, + /* 350 */ 90, 91, 92, 93, 94, 43, 44, 45, 46, 47, + /* 360 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + /* 370 */ 90, 152, 197, 195, 196, 243, 96, 97, 98, 196, + /* 380 */ 132, 11, 134, 19, 182, 207, 115, 23, 117, 118, + /* 390 */ 207, 163, 173, 174, 152, 220, 84, 85, 86, 87, + /* 400 */ 88, 89, 90, 91, 92, 93, 94, 43, 44, 45, + /* 410 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, + /* 420 */ 56, 57, 152, 16, 152, 197, 171, 208, 22, 23, + /* 430 */ 22, 23, 26, 16, 26, 19, 7, 8, 9, 23, + /* 440 */ 212, 213, 152, 173, 174, 173, 174, 19, 84, 85, + /* 450 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 43, + /* 460 */ 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, + /* 470 */ 54, 55, 56, 57, 46, 152, 109, 110, 208, 109, + /* 480 */ 110, 152, 75, 152, 77, 22, 23, 19, 233, 83, + /* 490 */ 152, 83, 75, 238, 77, 164, 173, 174, 226, 59, + /* 500 */ 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, + /* 510 */ 94, 43, 44, 45, 46, 47, 48, 49, 50, 51, + /* 520 */ 52, 53, 54, 55, 56, 57, 108, 109, 110, 152, + /* 530 */ 152, 152, 22, 22, 23, 107, 96, 97, 98, 160, + /* 540 */ 112, 251, 19, 164, 22, 152, 83, 140, 219, 152, + /* 550 */ 173, 174, 84, 85, 86, 87, 88, 89, 90, 91, + /* 560 */ 92, 93, 94, 59, 124, 152, 43, 44, 45, 46, + /* 570 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + /* 580 */ 57, 59, 169, 170, 119, 120, 82, 108, 109, 110, + /* 590 */ 191, 192, 191, 192, 83, 248, 249, 19, 88, 89, + /* 600 */ 96, 97, 24, 152, 152, 101, 138, 84, 85, 86, + /* 610 */ 87, 88, 89, 90, 91, 92, 93, 94, 96, 97, + /* 620 */ 98, 43, 44, 45, 46, 47, 48, 49, 50, 51, + /* 630 */ 52, 53, 54, 55, 56, 57, 132, 133, 134, 152, + /* 640 */ 152, 46, 152, 26, 231, 194, 194, 146, 147, 19, + /* 650 */ 152, 116, 152, 72, 152, 152, 121, 152, 152, 152, + /* 660 */ 79, 138, 84, 85, 86, 87, 88, 89, 90, 91, + /* 670 */ 92, 93, 94, 43, 44, 45, 46, 47, 48, 49, + /* 680 */ 50, 51, 52, 53, 54, 55, 56, 57, 152, 108, + /* 690 */ 23, 152, 194, 26, 194, 152, 194, 194, 137, 152, + /* 700 */ 139, 19, 107, 166, 167, 218, 218, 29, 218, 173, + /* 710 */ 174, 33, 173, 174, 84, 85, 86, 87, 88, 89, + /* 720 */ 90, 91, 92, 93, 94, 43, 44, 45, 46, 47, + /* 730 */ 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, + /* 740 */ 152, 194, 64, 171, 239, 239, 239, 130, 166, 167, + /* 750 */ 212, 213, 19, 23, 246, 247, 26, 59, 26, 152, + /* 760 */ 163, 218, 163, 163, 163, 98, 84, 85, 86, 87, + /* 770 */ 88, 89, 90, 91, 92, 93, 94, 44, 45, 46, + /* 780 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + /* 790 */ 57, 124, 26, 79, 197, 97, 197, 197, 197, 31, + /* 800 */ 152, 23, 19, 19, 26, 19, 218, 39, 23, 21, + /* 810 */ 238, 26, 163, 163, 100, 59, 163, 84, 85, 86, + /* 820 */ 87, 88, 89, 90, 91, 92, 93, 94, 45, 46, + /* 830 */ 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, + /* 840 */ 57, 19, 20, 152, 22, 23, 197, 197, 23, 19, + /* 850 */ 197, 26, 152, 97, 23, 123, 23, 26, 36, 26, + /* 860 */ 152, 152, 19, 20, 98, 22, 78, 84, 85, 86, + /* 870 */ 87, 88, 89, 90, 91, 92, 93, 94, 94, 36, + /* 880 */ 152, 59, 96, 99, 100, 101, 102, 103, 104, 105, + /* 890 */ 124, 103, 70, 100, 101, 23, 112, 12, 26, 12, + /* 900 */ 23, 79, 59, 26, 82, 101, 22, 7, 8, 152, + /* 910 */ 88, 89, 27, 70, 27, 152, 112, 95, 96, 97, + /* 920 */ 98, 152, 79, 101, 22, 82, 96, 42, 140, 42, + /* 930 */ 182, 88, 89, 19, 20, 132, 22, 134, 95, 96, + /* 940 */ 97, 98, 23, 59, 101, 26, 22, 62, 152, 62, + /* 950 */ 36, 22, 59, 24, 132, 133, 134, 135, 136, 72, + /* 960 */ 5, 59, 152, 22, 71, 10, 11, 12, 13, 14, + /* 970 */ 152, 152, 17, 59, 182, 132, 133, 134, 135, 136, + /* 980 */ 96, 97, 98, 59, 70, 30, 152, 32, 59, 96, + /* 990 */ 97, 98, 173, 174, 53, 40, 82, 152, 96, 97, + /* 1000 */ 98, 90, 88, 89, 90, 24, 187, 173, 174, 95, + /* 1010 */ 96, 97, 98, 152, 152, 101, 19, 20, 152, 22, + /* 1020 */ 96, 97, 98, 152, 69, 59, 97, 116, 59, 214, + /* 1030 */ 152, 76, 121, 36, 79, 80, 19, 20, 152, 22, + /* 1040 */ 59, 132, 59, 134, 173, 174, 132, 133, 134, 135, + /* 1050 */ 136, 173, 174, 36, 234, 152, 59, 152, 187, 173, + /* 1060 */ 174, 211, 96, 97, 98, 187, 97, 70, 23, 114, + /* 1070 */ 152, 26, 23, 187, 23, 26, 59, 26, 97, 82, + /* 1080 */ 97, 22, 164, 152, 152, 88, 89, 70, 192, 152, + /* 1090 */ 124, 152, 95, 96, 97, 98, 141, 152, 101, 82, + /* 1100 */ 152, 152, 184, 152, 186, 88, 89, 199, 54, 55, + /* 1110 */ 56, 57, 95, 96, 97, 98, 152, 152, 101, 152, + /* 1120 */ 152, 173, 174, 235, 54, 55, 56, 57, 58, 132, + /* 1130 */ 133, 134, 135, 136, 211, 150, 59, 211, 84, 85, + /* 1140 */ 86, 87, 88, 89, 90, 91, 92, 93, 94, 132, + /* 1150 */ 133, 134, 135, 136, 84, 85, 86, 87, 88, 89, + /* 1160 */ 90, 91, 92, 93, 94, 88, 89, 195, 196, 35, + /* 1170 */ 211, 211, 152, 96, 97, 98, 152, 100, 198, 207, + /* 1180 */ 171, 122, 240, 152, 107, 215, 109, 240, 202, 215, + /* 1190 */ 202, 152, 220, 173, 174, 177, 185, 173, 174, 65, + /* 1200 */ 152, 176, 152, 181, 173, 174, 215, 73, 176, 132, + /* 1210 */ 228, 134, 173, 174, 176, 152, 201, 152, 199, 155, + /* 1220 */ 152, 173, 174, 173, 174, 60, 152, 122, 244, 38, + /* 1230 */ 159, 159, 152, 241, 241, 152, 173, 174, 173, 174, + /* 1240 */ 152, 173, 174, 152, 159, 111, 152, 173, 174, 152, + /* 1250 */ 22, 152, 43, 173, 174, 152, 173, 174, 152, 190, + /* 1260 */ 130, 173, 174, 152, 173, 174, 152, 173, 174, 202, + /* 1270 */ 173, 174, 173, 174, 152, 18, 173, 174, 152, 173, + /* 1280 */ 174, 152, 221, 152, 173, 174, 193, 173, 174, 152, + /* 1290 */ 158, 152, 159, 152, 22, 173, 174, 152, 18, 173, + /* 1300 */ 174, 152, 173, 174, 173, 174, 152, 221, 152, 193, + /* 1310 */ 173, 174, 173, 174, 173, 174, 152, 193, 173, 174, + /* 1320 */ 152, 193, 173, 174, 158, 152, 190, 173, 174, 173, + /* 1330 */ 174, 59, 152, 190, 159, 137, 152, 173, 174, 152, + /* 1340 */ 202, 173, 174, 61, 152, 237, 173, 174, 202, 236, + /* 1350 */ 22, 107, 159, 173, 174, 159, 178, 173, 174, 158, + /* 1360 */ 173, 174, 159, 158, 158, 173, 174, 159, 178, 97, + /* 1370 */ 175, 63, 175, 106, 175, 125, 217, 183, 178, 175, + /* 1380 */ 107, 159, 22, 216, 177, 175, 217, 175, 175, 217, + /* 1390 */ 216, 159, 216, 216, 183, 225, 217, 137, 227, 178, + /* 1400 */ 94, 178, 126, 129, 25, 128, 127, 162, 206, 26, + /* 1410 */ 161, 230, 230, 13, 153, 153, 6, 151, 203, 205, + /* 1420 */ 204, 202, 151, 165, 171, 171, 151, 171, 165, 165, + /* 1430 */ 171, 179, 4, 250, 179, 250, 247, 3, 22, 171, + /* 1440 */ 171, 171, 142, 81, 15, 23, 16, 23, 131, 171, + /* 1450 */ 120, 111, 123, 20, 16, 1, 125, 123, 131, 53, + /* 1460 */ 53, 53, 53, 111, 96, 34, 122, 1, 5, 22, + /* 1470 */ 107, 67, 140, 74, 26, 24, 41, 107, 67, 20, + /* 1480 */ 19, 112, 105, 66, 22, 66, 22, 22, 28, 66, + /* 1490 */ 23, 22, 22, 37, 23, 23, 23, 116, 22, 22, + /* 1500 */ 26, 23, 122, 23, 23, 26, 22, 11, 96, 34, + /* 1510 */ 124, 26, 26, 23, 23, 23, 34, 34, 23, 26, + /* 1520 */ 23, 22, 24, 23, 22, 122, 23, 26, 22, 24, + /* 1530 */ 23, 22, 15, 23, 23, 22, 122, 122, 23, 1, + /* 1540 */ 122, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1550 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1560 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1570 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1580 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1590 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1600 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1610 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1620 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1630 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1640 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1650 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1660 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1670 */ 252, 252, 252, 252, 252, 252, 252, 252, 252, 252, + /* 1680 */ 252, 252, 252, 252, }; -#define YY_SHIFT_USE_DFLT (1567) -#define YY_SHIFT_COUNT (455) -#define YY_SHIFT_MIN (-94) -#define YY_SHIFT_MAX (1549) -static const short yy_shift_ofst[] = { - /* 0 */ 40, 599, 904, 612, 760, 760, 760, 760, 725, -19, - /* 10 */ 16, 16, 100, 760, 760, 760, 760, 760, 760, 760, - /* 20 */ 876, 876, 573, 542, 719, 600, 61, 137, 172, 207, - /* 30 */ 242, 277, 312, 347, 382, 417, 459, 459, 459, 459, - /* 40 */ 459, 459, 459, 459, 459, 459, 459, 459, 459, 459, - /* 50 */ 459, 459, 459, 494, 459, 529, 564, 564, 705, 760, - /* 60 */ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - /* 70 */ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - /* 80 */ 760, 760, 760, 760, 760, 760, 760, 760, 760, 760, - /* 90 */ 856, 760, 760, 760, 760, 760, 760, 760, 760, 760, - /* 100 */ 760, 760, 760, 760, 987, 746, 746, 746, 746, 746, - /* 110 */ 801, 23, 32, 949, 961, 979, 964, 964, 949, 73, - /* 120 */ 113, -51, 1567, 1567, 1567, 536, 536, 536, 99, 99, - /* 130 */ 813, 813, 667, 205, 240, 949, 949, 949, 949, 949, - /* 140 */ 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, - /* 150 */ 949, 949, 949, 949, 949, 332, 1011, 422, 422, 113, - /* 160 */ 30, 30, 30, 30, 30, 30, 1567, 1567, 1567, 922, - /* 170 */ -94, -94, 384, 613, 828, 420, 765, 804, 851, 949, - /* 180 */ 949, 949, 949, 949, 949, 949, 949, 949, 949, 949, - /* 190 */ 949, 949, 949, 949, 949, 672, 672, 672, 949, 949, - /* 200 */ 657, 949, 949, 949, -18, 949, 949, 994, 949, 949, - /* 210 */ 949, 949, 949, 949, 949, 949, 949, 949, 772, 1118, - /* 220 */ 712, 712, 712, 810, 45, 769, 1219, 1133, 418, 418, - /* 230 */ 569, 1133, 569, 830, 607, 663, 882, 418, 693, 882, - /* 240 */ 882, 848, 1152, 1065, 1286, 1238, 1238, 1287, 1287, 1238, - /* 250 */ 1344, 1341, 1239, 1353, 1353, 1353, 1353, 1238, 1355, 1239, - /* 260 */ 1344, 1341, 1341, 1239, 1238, 1355, 1243, 1312, 1238, 1238, - /* 270 */ 1355, 1370, 1238, 1355, 1238, 1355, 1370, 1290, 1290, 1290, - /* 280 */ 1327, 1370, 1290, 1301, 1290, 1327, 1290, 1290, 1284, 1304, - /* 290 */ 1284, 1304, 1284, 1304, 1284, 1304, 1238, 1391, 1238, 1280, - /* 300 */ 1370, 1366, 1366, 1370, 1302, 1308, 1310, 1309, 1239, 1414, - /* 310 */ 1416, 1431, 1431, 1440, 1440, 1440, 1440, 1567, 1567, 1567, - /* 320 */ 1567, 1567, 1567, 1567, 1567, 519, 978, 1210, 1225, 104, - /* 330 */ 1141, 1189, 1246, 1248, 1251, 1252, 1253, 1257, 1258, 1273, - /* 340 */ 1003, 1187, 1293, 1170, 1272, 1279, 1234, 1281, 1176, 1177, - /* 350 */ 1289, 1242, 1195, 1453, 1455, 1437, 1319, 1447, 1369, 1452, - /* 360 */ 1446, 1448, 1352, 1345, 1364, 1354, 1458, 1356, 1463, 1479, - /* 370 */ 1359, 1357, 1449, 1450, 1454, 1456, 1372, 1428, 1421, 1367, - /* 380 */ 1489, 1487, 1472, 1388, 1358, 1417, 1470, 1419, 1413, 1429, - /* 390 */ 1395, 1480, 1483, 1486, 1394, 1402, 1488, 1430, 1490, 1491, - /* 400 */ 1485, 1492, 1432, 1457, 1494, 1438, 1451, 1495, 1497, 1498, - /* 410 */ 1496, 1407, 1502, 1503, 1505, 1499, 1406, 1506, 1507, 1475, - /* 420 */ 1468, 1511, 1410, 1509, 1473, 1510, 1474, 1516, 1509, 1517, - /* 430 */ 1518, 1519, 1520, 1521, 1523, 1532, 1524, 1526, 1525, 1527, - /* 440 */ 1528, 1530, 1531, 1527, 1533, 1535, 1536, 1537, 1539, 1436, - /* 450 */ 1441, 1442, 1443, 1543, 1547, 1549, +#define YY_SHIFT_COUNT (465) +#define YY_SHIFT_MIN (0) +#define YY_SHIFT_MAX (1538) +static const unsigned short int yy_shift_ofst[] = { + /* 0 */ 39, 822, 955, 843, 997, 997, 997, 997, 0, 0, + /* 10 */ 104, 630, 997, 997, 997, 997, 997, 997, 997, 1077, + /* 20 */ 1077, 126, 161, 155, 52, 156, 208, 260, 312, 364, + /* 30 */ 416, 468, 523, 578, 630, 630, 630, 630, 630, 630, + /* 40 */ 630, 630, 630, 630, 630, 630, 630, 630, 630, 630, + /* 50 */ 630, 682, 630, 733, 783, 783, 914, 997, 997, 997, + /* 60 */ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, + /* 70 */ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, + /* 80 */ 997, 997, 997, 997, 997, 997, 997, 997, 1017, 997, + /* 90 */ 997, 997, 997, 997, 997, 997, 997, 997, 997, 997, + /* 100 */ 997, 997, 1070, 1054, 1054, 1054, 1054, 1054, 40, 25, + /* 110 */ 72, 232, 788, 428, 248, 248, 232, 581, 367, 127, + /* 120 */ 465, 138, 1541, 1541, 1541, 784, 784, 784, 522, 522, + /* 130 */ 887, 887, 893, 406, 408, 232, 232, 232, 232, 232, + /* 140 */ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + /* 150 */ 232, 232, 232, 232, 232, 370, 340, 714, 698, 698, + /* 160 */ 465, 89, 89, 89, 89, 89, 89, 1541, 1541, 1541, + /* 170 */ 504, 85, 85, 884, 70, 280, 902, 440, 966, 924, + /* 180 */ 232, 232, 232, 232, 232, 232, 232, 232, 232, 232, + /* 190 */ 232, 232, 232, 232, 232, 232, 1134, 1134, 1134, 232, + /* 200 */ 232, 667, 232, 232, 232, 929, 232, 232, 885, 232, + /* 210 */ 232, 232, 232, 232, 232, 232, 232, 232, 232, 418, + /* 220 */ 678, 981, 981, 981, 981, 766, 271, 911, 510, 429, + /* 230 */ 617, 786, 786, 830, 617, 830, 4, 730, 595, 768, + /* 240 */ 786, 561, 768, 768, 732, 535, 55, 1165, 1105, 1105, + /* 250 */ 1191, 1191, 1105, 1228, 1209, 1130, 1257, 1257, 1257, 1257, + /* 260 */ 1105, 1280, 1130, 1228, 1209, 1209, 1130, 1105, 1280, 1198, + /* 270 */ 1282, 1105, 1105, 1280, 1328, 1105, 1280, 1105, 1280, 1328, + /* 280 */ 1244, 1244, 1244, 1308, 1328, 1244, 1267, 1244, 1308, 1244, + /* 290 */ 1244, 1250, 1273, 1250, 1273, 1250, 1273, 1250, 1273, 1105, + /* 300 */ 1360, 1105, 1260, 1328, 1306, 1306, 1328, 1274, 1276, 1277, + /* 310 */ 1279, 1130, 1379, 1383, 1400, 1400, 1410, 1410, 1410, 1541, + /* 320 */ 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, 1541, + /* 330 */ 1541, 1541, 1541, 1541, 1541, 34, 407, 463, 511, 417, + /* 340 */ 479, 1272, 778, 941, 785, 825, 831, 833, 872, 877, + /* 350 */ 756, 793, 900, 804, 919, 1045, 969, 1049, 803, 909, + /* 360 */ 1051, 983, 1059, 1428, 1434, 1416, 1300, 1429, 1362, 1430, + /* 370 */ 1422, 1424, 1330, 1317, 1340, 1329, 1433, 1331, 1438, 1454, + /* 380 */ 1334, 1327, 1406, 1407, 1408, 1409, 1352, 1368, 1431, 1344, + /* 390 */ 1466, 1463, 1447, 1363, 1332, 1404, 1448, 1411, 1399, 1435, + /* 400 */ 1370, 1451, 1459, 1461, 1369, 1377, 1462, 1417, 1464, 1465, + /* 410 */ 1467, 1469, 1419, 1460, 1470, 1423, 1456, 1471, 1472, 1473, + /* 420 */ 1474, 1381, 1476, 1478, 1477, 1479, 1380, 1480, 1481, 1412, + /* 430 */ 1475, 1484, 1386, 1485, 1482, 1486, 1483, 1490, 1485, 1491, + /* 440 */ 1492, 1495, 1493, 1497, 1499, 1496, 1500, 1502, 1498, 1501, + /* 450 */ 1503, 1506, 1505, 1501, 1507, 1509, 1510, 1511, 1513, 1403, + /* 460 */ 1414, 1415, 1418, 1515, 1517, 1538, }; -#define YY_REDUCE_USE_DFLT (-130) -#define YY_REDUCE_COUNT (324) -#define YY_REDUCE_MIN (-129) -#define YY_REDUCE_MAX (1300) +#define YY_REDUCE_COUNT (334) +#define YY_REDUCE_MIN (-217) +#define YY_REDUCE_MAX (1278) static const short yy_reduce_ofst[] = { - /* 0 */ -29, 566, 525, 605, -49, 307, 491, 533, 668, 435, - /* 10 */ 601, 644, 148, 747, 786, 795, 419, 788, 827, 790, - /* 20 */ 454, 832, 889, 495, 824, 734, 76, 76, 76, 76, - /* 30 */ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, - /* 40 */ 76, 76, 76, 76, 76, 76, 76, 76, 76, 76, - /* 50 */ 76, 76, 76, 76, 76, 76, 76, 76, 783, 898, - /* 60 */ 905, 907, 911, 921, 933, 936, 940, 943, 947, 950, - /* 70 */ 952, 955, 958, 962, 965, 969, 974, 977, 980, 984, - /* 80 */ 988, 991, 993, 996, 999, 1002, 1006, 1010, 1018, 1021, - /* 90 */ 1024, 1028, 1032, 1034, 1036, 1040, 1046, 1051, 1058, 1062, - /* 100 */ 1064, 1068, 1070, 1073, 76, 76, 76, 76, 76, 76, - /* 110 */ 76, 76, 76, 855, 36, 523, 235, 416, 777, 76, - /* 120 */ 278, 76, 76, 76, 76, 700, 700, 700, 150, 220, - /* 130 */ 147, 217, 221, 306, 306, 611, 5, 535, 556, 620, - /* 140 */ 720, 872, 897, 116, 864, 349, 1035, 1037, 404, 1047, - /* 150 */ 992, -129, 1050, 492, 62, 722, 879, 1072, 1089, 808, - /* 160 */ 1066, 1094, 1095, 1096, 1097, 1098, 776, 1054, 557, 57, - /* 170 */ 112, 131, 167, 182, 250, 272, 291, 331, 364, 438, - /* 180 */ 497, 517, 591, 653, 690, 739, 775, 798, 892, 908, - /* 190 */ 924, 930, 1015, 1063, 1069, 355, 784, 799, 981, 1101, - /* 200 */ 926, 1151, 1161, 1162, 945, 1164, 1166, 1128, 1168, 1171, - /* 210 */ 1172, 250, 1173, 1174, 1175, 1178, 1180, 1181, 1088, 1102, - /* 220 */ 1119, 1124, 1126, 926, 1131, 1139, 1188, 1140, 1129, 1130, - /* 230 */ 1103, 1144, 1107, 1179, 1156, 1167, 1182, 1134, 1122, 1183, - /* 240 */ 1184, 1150, 1153, 1197, 1111, 1202, 1203, 1123, 1125, 1205, - /* 250 */ 1147, 1185, 1169, 1186, 1190, 1191, 1192, 1213, 1217, 1193, - /* 260 */ 1157, 1196, 1198, 1194, 1220, 1218, 1145, 1154, 1229, 1231, - /* 270 */ 1233, 1216, 1237, 1240, 1241, 1244, 1222, 1227, 1230, 1232, - /* 280 */ 1223, 1235, 1236, 1245, 1249, 1226, 1250, 1254, 1199, 1201, - /* 290 */ 1204, 1207, 1209, 1211, 1214, 1212, 1255, 1208, 1259, 1215, - /* 300 */ 1256, 1200, 1206, 1260, 1247, 1261, 1263, 1262, 1266, 1278, - /* 310 */ 1282, 1292, 1294, 1297, 1298, 1299, 1300, 1221, 1224, 1228, - /* 320 */ 1288, 1291, 1276, 1277, 1295, + /* 0 */ -144, -139, -134, -136, -141, 64, 114, 116, -158, -148, + /* 10 */ -217, 96, 819, 871, 878, 219, 270, 886, 272, -110, + /* 20 */ 413, 918, 972, 228, -214, -214, -214, -214, -214, -214, + /* 30 */ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, + /* 40 */ -214, -214, -214, -214, -214, -214, -214, -214, -214, -214, + /* 50 */ -214, -214, -214, -214, -214, -214, 62, 323, 377, 536, + /* 60 */ 539, 834, 948, 1020, 1024, 1031, 1039, 1048, 1050, 1063, + /* 70 */ 1065, 1068, 1074, 1080, 1083, 1088, 1091, 1094, 1097, 1099, + /* 80 */ 1103, 1106, 1111, 1114, 1122, 1126, 1129, 1131, 1137, 1139, + /* 90 */ 1141, 1145, 1149, 1154, 1156, 1164, 1168, 1173, 1180, 1184, + /* 100 */ 1187, 1192, -214, -214, -214, -214, -214, -214, -214, -214, + /* 110 */ -214, 132, -45, 97, 8, 164, 379, 175, 255, -214, + /* 120 */ 178, -214, -214, -214, -214, -168, -168, -168, 124, 329, + /* 130 */ 399, 401, -129, 347, 347, 331, 133, 451, 452, 498, + /* 140 */ 500, 502, 503, 505, 487, 506, 488, 490, 507, 543, + /* 150 */ 547, -126, 588, 290, 27, 572, 501, 597, 537, 582, + /* 160 */ 183, 599, 600, 601, 649, 650, 653, 508, 538, -29, + /* 170 */ -156, -152, -137, -79, 135, 74, 130, 242, 338, 378, + /* 180 */ 393, 397, 607, 648, 691, 700, 708, 709, 728, 757, + /* 190 */ 763, 769, 796, 810, 818, 845, 202, 748, 792, 861, + /* 200 */ 862, 815, 866, 903, 905, 850, 931, 932, 896, 937, + /* 210 */ 939, 945, 74, 949, 951, 964, 965, 967, 968, 888, + /* 220 */ 820, 923, 926, 959, 960, 815, 980, 908, 1009, 985, + /* 230 */ 986, 970, 974, 942, 988, 947, 1018, 1011, 1022, 1025, + /* 240 */ 991, 982, 1032, 1038, 1015, 1019, 1064, 984, 1071, 1072, + /* 250 */ 992, 993, 1085, 1061, 1069, 1067, 1093, 1116, 1124, 1128, + /* 260 */ 1133, 1132, 1138, 1086, 1136, 1143, 1146, 1175, 1166, 1108, + /* 270 */ 1113, 1193, 1196, 1201, 1178, 1203, 1205, 1208, 1206, 1190, + /* 280 */ 1195, 1197, 1199, 1194, 1200, 1204, 1207, 1210, 1211, 1212, + /* 290 */ 1213, 1159, 1167, 1169, 1174, 1172, 1176, 1179, 1177, 1222, + /* 300 */ 1170, 1232, 1171, 1221, 1181, 1182, 1223, 1202, 1214, 1216, + /* 310 */ 1215, 1219, 1245, 1249, 1261, 1262, 1266, 1271, 1275, 1183, + /* 320 */ 1185, 1189, 1258, 1253, 1254, 1256, 1259, 1263, 1252, 1255, + /* 330 */ 1268, 1269, 1270, 1278, 1264, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 1281, 1271, 1271, 1271, 1203, 1203, 1203, 1203, 1271, 1096, - /* 10 */ 1125, 1125, 1255, 1332, 1332, 1332, 1332, 1332, 1332, 1202, - /* 20 */ 1332, 1332, 1332, 1332, 1271, 1100, 1131, 1332, 1332, 1332, - /* 30 */ 1332, 1204, 1205, 1332, 1332, 1332, 1254, 1256, 1141, 1140, - /* 40 */ 1139, 1138, 1237, 1112, 1136, 1129, 1133, 1204, 1198, 1199, - /* 50 */ 1197, 1201, 1205, 1332, 1132, 1167, 1182, 1166, 1332, 1332, - /* 60 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 70 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 80 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 90 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 100 */ 1332, 1332, 1332, 1332, 1176, 1181, 1188, 1180, 1177, 1169, - /* 110 */ 1168, 1170, 1171, 1332, 1019, 1067, 1332, 1332, 1332, 1172, - /* 120 */ 1332, 1173, 1185, 1184, 1183, 1262, 1289, 1288, 1332, 1332, - /* 130 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 140 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 150 */ 1332, 1332, 1332, 1332, 1332, 1281, 1271, 1025, 1025, 1332, - /* 160 */ 1271, 1271, 1271, 1271, 1271, 1271, 1267, 1100, 1091, 1332, - /* 170 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 180 */ 1259, 1257, 1332, 1218, 1332, 1332, 1332, 1332, 1332, 1332, - /* 190 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 200 */ 1332, 1332, 1332, 1332, 1096, 1332, 1332, 1332, 1332, 1332, - /* 210 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1283, 1332, 1232, - /* 220 */ 1096, 1096, 1096, 1098, 1080, 1090, 1004, 1135, 1114, 1114, - /* 230 */ 1321, 1135, 1321, 1042, 1303, 1039, 1125, 1114, 1200, 1125, - /* 240 */ 1125, 1097, 1090, 1332, 1324, 1105, 1105, 1323, 1323, 1105, - /* 250 */ 1146, 1070, 1135, 1076, 1076, 1076, 1076, 1105, 1016, 1135, - /* 260 */ 1146, 1070, 1070, 1135, 1105, 1016, 1236, 1318, 1105, 1105, - /* 270 */ 1016, 1211, 1105, 1016, 1105, 1016, 1211, 1068, 1068, 1068, - /* 280 */ 1057, 1211, 1068, 1042, 1068, 1057, 1068, 1068, 1118, 1113, - /* 290 */ 1118, 1113, 1118, 1113, 1118, 1113, 1105, 1206, 1105, 1332, - /* 300 */ 1211, 1215, 1215, 1211, 1130, 1119, 1128, 1126, 1135, 1022, - /* 310 */ 1060, 1286, 1286, 1282, 1282, 1282, 1282, 1329, 1329, 1267, - /* 320 */ 1298, 1298, 1044, 1044, 1298, 1332, 1332, 1332, 1332, 1332, - /* 330 */ 1332, 1293, 1332, 1220, 1332, 1332, 1332, 1332, 1332, 1332, - /* 340 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 350 */ 1332, 1332, 1152, 1332, 1000, 1264, 1332, 1332, 1263, 1332, - /* 360 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 370 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1320, - /* 380 */ 1332, 1332, 1332, 1332, 1332, 1332, 1235, 1234, 1332, 1332, - /* 390 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 400 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, - /* 410 */ 1332, 1082, 1332, 1332, 1332, 1307, 1332, 1332, 1332, 1332, - /* 420 */ 1332, 1332, 1332, 1127, 1332, 1120, 1332, 1332, 1311, 1332, - /* 430 */ 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1332, 1273, - /* 440 */ 1332, 1332, 1332, 1272, 1332, 1332, 1332, 1332, 1332, 1154, - /* 450 */ 1332, 1153, 1157, 1332, 1010, 1332, + /* 0 */ 1286, 1276, 1276, 1276, 1209, 1209, 1209, 1209, 1133, 1133, + /* 10 */ 1260, 1036, 1005, 1005, 1005, 1005, 1005, 1005, 1208, 1005, + /* 20 */ 1005, 1005, 1005, 1108, 1139, 1005, 1005, 1005, 1005, 1210, + /* 30 */ 1211, 1005, 1005, 1005, 1259, 1261, 1149, 1148, 1147, 1146, + /* 40 */ 1242, 1120, 1144, 1137, 1141, 1210, 1204, 1205, 1203, 1207, + /* 50 */ 1211, 1005, 1140, 1174, 1188, 1173, 1005, 1005, 1005, 1005, + /* 60 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 70 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 80 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 90 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 100 */ 1005, 1005, 1182, 1187, 1194, 1186, 1183, 1176, 1175, 1177, + /* 110 */ 1178, 1005, 1026, 1075, 1005, 1005, 1005, 1276, 1036, 1179, + /* 120 */ 1005, 1180, 1191, 1190, 1189, 1267, 1294, 1293, 1005, 1005, + /* 130 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 140 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 150 */ 1005, 1005, 1005, 1005, 1005, 1036, 1286, 1276, 1032, 1032, + /* 160 */ 1005, 1276, 1276, 1276, 1276, 1276, 1276, 1272, 1108, 1099, + /* 170 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 180 */ 1005, 1264, 1262, 1005, 1224, 1005, 1005, 1005, 1005, 1005, + /* 190 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 200 */ 1005, 1005, 1005, 1005, 1005, 1104, 1005, 1005, 1005, 1005, + /* 210 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1288, 1005, + /* 220 */ 1237, 1104, 1104, 1104, 1104, 1106, 1088, 1098, 1036, 1012, + /* 230 */ 1143, 1122, 1122, 1327, 1143, 1327, 1050, 1308, 1047, 1133, + /* 240 */ 1122, 1206, 1133, 1133, 1105, 1098, 1005, 1330, 1113, 1113, + /* 250 */ 1329, 1329, 1113, 1154, 1078, 1143, 1084, 1084, 1084, 1084, + /* 260 */ 1113, 1023, 1143, 1154, 1078, 1078, 1143, 1113, 1023, 1241, + /* 270 */ 1324, 1113, 1113, 1023, 1217, 1113, 1023, 1113, 1023, 1217, + /* 280 */ 1076, 1076, 1076, 1065, 1217, 1076, 1050, 1076, 1065, 1076, + /* 290 */ 1076, 1126, 1121, 1126, 1121, 1126, 1121, 1126, 1121, 1113, + /* 300 */ 1212, 1113, 1005, 1217, 1221, 1221, 1217, 1138, 1127, 1136, + /* 310 */ 1134, 1143, 1029, 1068, 1291, 1291, 1287, 1287, 1287, 1335, + /* 320 */ 1335, 1272, 1303, 1036, 1036, 1036, 1036, 1303, 1052, 1052, + /* 330 */ 1036, 1036, 1036, 1036, 1303, 1005, 1005, 1005, 1005, 1005, + /* 340 */ 1005, 1298, 1005, 1226, 1005, 1005, 1005, 1005, 1005, 1005, + /* 350 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 360 */ 1005, 1005, 1159, 1005, 1008, 1269, 1005, 1005, 1268, 1005, + /* 370 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 380 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1326, + /* 390 */ 1005, 1005, 1005, 1005, 1005, 1005, 1240, 1239, 1005, 1005, + /* 400 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 410 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, + /* 420 */ 1005, 1090, 1005, 1005, 1005, 1312, 1005, 1005, 1005, 1005, + /* 430 */ 1005, 1005, 1005, 1135, 1005, 1128, 1005, 1005, 1317, 1005, + /* 440 */ 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1005, 1278, + /* 450 */ 1005, 1005, 1005, 1277, 1005, 1005, 1005, 1005, 1005, 1161, + /* 460 */ 1005, 1160, 1164, 1005, 1017, 1005, }; /********** End of lemon-generated parsing tables *****************************/ @@ -133677,36 +138929,52 @@ static const YYACTIONTYPE yy_default[] = { static const YYCODETYPE yyFallback[] = { 0, /* $ => nothing */ 0, /* SEMI => nothing */ - 55, /* EXPLAIN => ID */ - 55, /* QUERY => ID */ - 55, /* PLAN => ID */ - 55, /* BEGIN => ID */ + 59, /* EXPLAIN => ID */ + 59, /* QUERY => ID */ + 59, /* PLAN => ID */ + 59, /* BEGIN => ID */ 0, /* TRANSACTION => nothing */ - 55, /* DEFERRED => ID */ - 55, /* IMMEDIATE => ID */ - 55, /* EXCLUSIVE => ID */ + 59, /* DEFERRED => ID */ + 59, /* IMMEDIATE => ID */ + 59, /* EXCLUSIVE => ID */ 0, /* COMMIT => nothing */ - 55, /* END => ID */ - 55, /* ROLLBACK => ID */ - 55, /* SAVEPOINT => ID */ - 55, /* RELEASE => ID */ + 59, /* END => ID */ + 59, /* ROLLBACK => ID */ + 59, /* SAVEPOINT => ID */ + 59, /* RELEASE => ID */ 0, /* TO => nothing */ 0, /* TABLE => nothing */ 0, /* CREATE => nothing */ - 55, /* IF => ID */ + 59, /* IF => ID */ 0, /* NOT => nothing */ 0, /* EXISTS => nothing */ - 55, /* TEMP => ID */ + 59, /* TEMP => ID */ 0, /* LP => nothing */ 0, /* RP => nothing */ 0, /* AS => nothing */ - 55, /* WITHOUT => ID */ + 59, /* WITHOUT => ID */ 0, /* COMMA => nothing */ + 59, /* ABORT => ID */ + 59, /* ACTION => ID */ + 59, /* AFTER => ID */ + 59, /* ANALYZE => ID */ + 59, /* ASC => ID */ + 59, /* ATTACH => ID */ + 59, /* BEFORE => ID */ + 59, /* BY => ID */ + 59, /* CASCADE => ID */ + 59, /* CAST => ID */ + 59, /* CONFLICT => ID */ + 59, /* DATABASE => ID */ + 59, /* DESC => ID */ + 59, /* DETACH => ID */ + 59, /* EACH => ID */ + 59, /* FAIL => ID */ 0, /* OR => nothing */ 0, /* AND => nothing */ 0, /* IS => nothing */ - 55, /* MATCH => ID */ - 55, /* LIKE_KW => ID */ + 59, /* MATCH => ID */ + 59, /* LIKE_KW => ID */ 0, /* BETWEEN => nothing */ 0, /* IN => nothing */ 0, /* ISNULL => nothing */ @@ -133718,59 +138986,30 @@ static const YYCODETYPE yyFallback[] = { 0, /* LT => nothing */ 0, /* GE => nothing */ 0, /* ESCAPE => nothing */ - 0, /* BITAND => nothing */ - 0, /* BITOR => nothing */ - 0, /* LSHIFT => nothing */ - 0, /* RSHIFT => nothing */ - 0, /* PLUS => nothing */ - 0, /* MINUS => nothing */ - 0, /* STAR => nothing */ - 0, /* SLASH => nothing */ - 0, /* REM => nothing */ - 0, /* CONCAT => nothing */ - 0, /* COLLATE => nothing */ - 0, /* BITNOT => nothing */ 0, /* ID => nothing */ - 0, /* INDEXED => nothing */ - 55, /* ABORT => ID */ - 55, /* ACTION => ID */ - 55, /* AFTER => ID */ - 55, /* ANALYZE => ID */ - 55, /* ASC => ID */ - 55, /* ATTACH => ID */ - 55, /* BEFORE => ID */ - 55, /* BY => ID */ - 55, /* CASCADE => ID */ - 55, /* CAST => ID */ - 55, /* COLUMNKW => ID */ - 55, /* CONFLICT => ID */ - 55, /* DATABASE => ID */ - 55, /* DESC => ID */ - 55, /* DETACH => ID */ - 55, /* EACH => ID */ - 55, /* FAIL => ID */ - 55, /* FOR => ID */ - 55, /* IGNORE => ID */ - 55, /* INITIALLY => ID */ - 55, /* INSTEAD => ID */ - 55, /* NO => ID */ - 55, /* KEY => ID */ - 55, /* OF => ID */ - 55, /* OFFSET => ID */ - 55, /* PRAGMA => ID */ - 55, /* RAISE => ID */ - 55, /* RECURSIVE => ID */ - 55, /* REPLACE => ID */ - 55, /* RESTRICT => ID */ - 55, /* ROW => ID */ - 55, /* TRIGGER => ID */ - 55, /* VACUUM => ID */ - 55, /* VIEW => ID */ - 55, /* VIRTUAL => ID */ - 55, /* WITH => ID */ - 55, /* REINDEX => ID */ - 55, /* RENAME => ID */ - 55, /* CTIME_KW => ID */ + 59, /* COLUMNKW => ID */ + 59, /* FOR => ID */ + 59, /* IGNORE => ID */ + 59, /* INITIALLY => ID */ + 59, /* INSTEAD => ID */ + 59, /* NO => ID */ + 59, /* KEY => ID */ + 59, /* OF => ID */ + 59, /* OFFSET => ID */ + 59, /* PRAGMA => ID */ + 59, /* RAISE => ID */ + 59, /* RECURSIVE => ID */ + 59, /* REPLACE => ID */ + 59, /* RESTRICT => ID */ + 59, /* ROW => ID */ + 59, /* TRIGGER => ID */ + 59, /* VACUUM => ID */ + 59, /* VIEW => ID */ + 59, /* VIRTUAL => ID */ + 59, /* WITH => ID */ + 59, /* REINDEX => ID */ + 59, /* RENAME => ID */ + 59, /* CTIME_KW => ID */ }; #endif /* YYFALLBACK */ @@ -133816,6 +139055,7 @@ struct yyParser { yyStackEntry yystk0; /* First stack entry */ #else yyStackEntry yystack[YYSTACKDEPTH]; /* The parser's stack */ + yyStackEntry *yystackEnd; /* Last entry in the stack */ #endif }; typedef struct yyParser yyParser; @@ -133852,75 +139092,264 @@ SQLITE_PRIVATE void sqlite3ParserTrace(FILE *TraceFILE, char *zTracePrompt){ } #endif /* NDEBUG */ -#ifndef NDEBUG +#if defined(YYCOVERAGE) || !defined(NDEBUG) /* For tracing shifts, the names of all terminals and nonterminals ** are required. The following table supplies these names */ static const char *const yyTokenName[] = { - "$", "SEMI", "EXPLAIN", "QUERY", - "PLAN", "BEGIN", "TRANSACTION", "DEFERRED", - "IMMEDIATE", "EXCLUSIVE", "COMMIT", "END", - "ROLLBACK", "SAVEPOINT", "RELEASE", "TO", - "TABLE", "CREATE", "IF", "NOT", - "EXISTS", "TEMP", "LP", "RP", - "AS", "WITHOUT", "COMMA", "OR", - "AND", "IS", "MATCH", "LIKE_KW", - "BETWEEN", "IN", "ISNULL", "NOTNULL", - "NE", "EQ", "GT", "LE", - "LT", "GE", "ESCAPE", "BITAND", - "BITOR", "LSHIFT", "RSHIFT", "PLUS", - "MINUS", "STAR", "SLASH", "REM", - "CONCAT", "COLLATE", "BITNOT", "ID", - "INDEXED", "ABORT", "ACTION", "AFTER", - "ANALYZE", "ASC", "ATTACH", "BEFORE", - "BY", "CASCADE", "CAST", "COLUMNKW", - "CONFLICT", "DATABASE", "DESC", "DETACH", - "EACH", "FAIL", "FOR", "IGNORE", - "INITIALLY", "INSTEAD", "NO", "KEY", - "OF", "OFFSET", "PRAGMA", "RAISE", - "RECURSIVE", "REPLACE", "RESTRICT", "ROW", - "TRIGGER", "VACUUM", "VIEW", "VIRTUAL", - "WITH", "REINDEX", "RENAME", "CTIME_KW", - "ANY", "STRING", "JOIN_KW", "CONSTRAINT", - "DEFAULT", "NULL", "PRIMARY", "UNIQUE", - "CHECK", "REFERENCES", "AUTOINCR", "ON", - "INSERT", "DELETE", "UPDATE", "SET", - "DEFERRABLE", "FOREIGN", "DROP", "UNION", - "ALL", "EXCEPT", "INTERSECT", "SELECT", - "VALUES", "DISTINCT", "DOT", "FROM", - "JOIN", "USING", "ORDER", "GROUP", - "HAVING", "LIMIT", "WHERE", "INTO", - "FLOAT", "BLOB", "INTEGER", "VARIABLE", - "CASE", "WHEN", "THEN", "ELSE", - "INDEX", "ALTER", "ADD", "error", - "input", "cmdlist", "ecmd", "explain", - "cmdx", "cmd", "transtype", "trans_opt", - "nm", "savepoint_opt", "create_table", "create_table_args", - "createkw", "temp", "ifnotexists", "dbnm", - "columnlist", "conslist_opt", "table_options", "select", - "columnname", "carglist", "typetoken", "typename", - "signed", "plus_num", "minus_num", "ccons", - "term", "expr", "onconf", "sortorder", - "autoinc", "eidlist_opt", "refargs", "defer_subclause", - "refarg", "refact", "init_deferred_pred_opt", "conslist", - "tconscomma", "tcons", "sortlist", "eidlist", - "defer_subclause_opt", "orconf", "resolvetype", "raisetype", - "ifexists", "fullname", "selectnowith", "oneselect", - "with", "multiselect_op", "distinct", "selcollist", - "from", "where_opt", "groupby_opt", "having_opt", - "orderby_opt", "limit_opt", "values", "nexprlist", - "exprlist", "sclp", "as", "seltablist", - "stl_prefix", "joinop", "indexed_opt", "on_opt", - "using_opt", "idlist", "setlist", "insert_cmd", - "idlist_opt", "likeop", "between_op", "in_op", - "paren_exprlist", "case_operand", "case_exprlist", "case_else", - "uniqueflag", "collate", "nmnum", "trigger_decl", - "trigger_cmd_list", "trigger_time", "trigger_event", "foreach_clause", - "when_clause", "trigger_cmd", "trnm", "tridxby", - "database_kw_opt", "key_opt", "add_column_fullname", "kwcolumn_opt", - "create_vtab", "vtabarglist", "vtabarg", "vtabargtoken", - "lp", "anylist", "wqlist", + /* 0 */ "$", + /* 1 */ "SEMI", + /* 2 */ "EXPLAIN", + /* 3 */ "QUERY", + /* 4 */ "PLAN", + /* 5 */ "BEGIN", + /* 6 */ "TRANSACTION", + /* 7 */ "DEFERRED", + /* 8 */ "IMMEDIATE", + /* 9 */ "EXCLUSIVE", + /* 10 */ "COMMIT", + /* 11 */ "END", + /* 12 */ "ROLLBACK", + /* 13 */ "SAVEPOINT", + /* 14 */ "RELEASE", + /* 15 */ "TO", + /* 16 */ "TABLE", + /* 17 */ "CREATE", + /* 18 */ "IF", + /* 19 */ "NOT", + /* 20 */ "EXISTS", + /* 21 */ "TEMP", + /* 22 */ "LP", + /* 23 */ "RP", + /* 24 */ "AS", + /* 25 */ "WITHOUT", + /* 26 */ "COMMA", + /* 27 */ "ABORT", + /* 28 */ "ACTION", + /* 29 */ "AFTER", + /* 30 */ "ANALYZE", + /* 31 */ "ASC", + /* 32 */ "ATTACH", + /* 33 */ "BEFORE", + /* 34 */ "BY", + /* 35 */ "CASCADE", + /* 36 */ "CAST", + /* 37 */ "CONFLICT", + /* 38 */ "DATABASE", + /* 39 */ "DESC", + /* 40 */ "DETACH", + /* 41 */ "EACH", + /* 42 */ "FAIL", + /* 43 */ "OR", + /* 44 */ "AND", + /* 45 */ "IS", + /* 46 */ "MATCH", + /* 47 */ "LIKE_KW", + /* 48 */ "BETWEEN", + /* 49 */ "IN", + /* 50 */ "ISNULL", + /* 51 */ "NOTNULL", + /* 52 */ "NE", + /* 53 */ "EQ", + /* 54 */ "GT", + /* 55 */ "LE", + /* 56 */ "LT", + /* 57 */ "GE", + /* 58 */ "ESCAPE", + /* 59 */ "ID", + /* 60 */ "COLUMNKW", + /* 61 */ "FOR", + /* 62 */ "IGNORE", + /* 63 */ "INITIALLY", + /* 64 */ "INSTEAD", + /* 65 */ "NO", + /* 66 */ "KEY", + /* 67 */ "OF", + /* 68 */ "OFFSET", + /* 69 */ "PRAGMA", + /* 70 */ "RAISE", + /* 71 */ "RECURSIVE", + /* 72 */ "REPLACE", + /* 73 */ "RESTRICT", + /* 74 */ "ROW", + /* 75 */ "TRIGGER", + /* 76 */ "VACUUM", + /* 77 */ "VIEW", + /* 78 */ "VIRTUAL", + /* 79 */ "WITH", + /* 80 */ "REINDEX", + /* 81 */ "RENAME", + /* 82 */ "CTIME_KW", + /* 83 */ "ANY", + /* 84 */ "BITAND", + /* 85 */ "BITOR", + /* 86 */ "LSHIFT", + /* 87 */ "RSHIFT", + /* 88 */ "PLUS", + /* 89 */ "MINUS", + /* 90 */ "STAR", + /* 91 */ "SLASH", + /* 92 */ "REM", + /* 93 */ "CONCAT", + /* 94 */ "COLLATE", + /* 95 */ "BITNOT", + /* 96 */ "INDEXED", + /* 97 */ "STRING", + /* 98 */ "JOIN_KW", + /* 99 */ "CONSTRAINT", + /* 100 */ "DEFAULT", + /* 101 */ "NULL", + /* 102 */ "PRIMARY", + /* 103 */ "UNIQUE", + /* 104 */ "CHECK", + /* 105 */ "REFERENCES", + /* 106 */ "AUTOINCR", + /* 107 */ "ON", + /* 108 */ "INSERT", + /* 109 */ "DELETE", + /* 110 */ "UPDATE", + /* 111 */ "SET", + /* 112 */ "DEFERRABLE", + /* 113 */ "FOREIGN", + /* 114 */ "DROP", + /* 115 */ "UNION", + /* 116 */ "ALL", + /* 117 */ "EXCEPT", + /* 118 */ "INTERSECT", + /* 119 */ "SELECT", + /* 120 */ "VALUES", + /* 121 */ "DISTINCT", + /* 122 */ "DOT", + /* 123 */ "FROM", + /* 124 */ "JOIN", + /* 125 */ "USING", + /* 126 */ "ORDER", + /* 127 */ "GROUP", + /* 128 */ "HAVING", + /* 129 */ "LIMIT", + /* 130 */ "WHERE", + /* 131 */ "INTO", + /* 132 */ "FLOAT", + /* 133 */ "BLOB", + /* 134 */ "INTEGER", + /* 135 */ "VARIABLE", + /* 136 */ "CASE", + /* 137 */ "WHEN", + /* 138 */ "THEN", + /* 139 */ "ELSE", + /* 140 */ "INDEX", + /* 141 */ "ALTER", + /* 142 */ "ADD", + /* 143 */ "error", + /* 144 */ "input", + /* 145 */ "cmdlist", + /* 146 */ "ecmd", + /* 147 */ "explain", + /* 148 */ "cmdx", + /* 149 */ "cmd", + /* 150 */ "transtype", + /* 151 */ "trans_opt", + /* 152 */ "nm", + /* 153 */ "savepoint_opt", + /* 154 */ "create_table", + /* 155 */ "create_table_args", + /* 156 */ "createkw", + /* 157 */ "temp", + /* 158 */ "ifnotexists", + /* 159 */ "dbnm", + /* 160 */ "columnlist", + /* 161 */ "conslist_opt", + /* 162 */ "table_options", + /* 163 */ "select", + /* 164 */ "columnname", + /* 165 */ "carglist", + /* 166 */ "typetoken", + /* 167 */ "typename", + /* 168 */ "signed", + /* 169 */ "plus_num", + /* 170 */ "minus_num", + /* 171 */ "scanpt", + /* 172 */ "ccons", + /* 173 */ "term", + /* 174 */ "expr", + /* 175 */ "onconf", + /* 176 */ "sortorder", + /* 177 */ "autoinc", + /* 178 */ "eidlist_opt", + /* 179 */ "refargs", + /* 180 */ "defer_subclause", + /* 181 */ "refarg", + /* 182 */ "refact", + /* 183 */ "init_deferred_pred_opt", + /* 184 */ "conslist", + /* 185 */ "tconscomma", + /* 186 */ "tcons", + /* 187 */ "sortlist", + /* 188 */ "eidlist", + /* 189 */ "defer_subclause_opt", + /* 190 */ "orconf", + /* 191 */ "resolvetype", + /* 192 */ "raisetype", + /* 193 */ "ifexists", + /* 194 */ "fullname", + /* 195 */ "selectnowith", + /* 196 */ "oneselect", + /* 197 */ "with", + /* 198 */ "multiselect_op", + /* 199 */ "distinct", + /* 200 */ "selcollist", + /* 201 */ "from", + /* 202 */ "where_opt", + /* 203 */ "groupby_opt", + /* 204 */ "having_opt", + /* 205 */ "orderby_opt", + /* 206 */ "limit_opt", + /* 207 */ "values", + /* 208 */ "nexprlist", + /* 209 */ "exprlist", + /* 210 */ "sclp", + /* 211 */ "as", + /* 212 */ "seltablist", + /* 213 */ "stl_prefix", + /* 214 */ "joinop", + /* 215 */ "indexed_opt", + /* 216 */ "on_opt", + /* 217 */ "using_opt", + /* 218 */ "idlist", + /* 219 */ "setlist", + /* 220 */ "insert_cmd", + /* 221 */ "idlist_opt", + /* 222 */ "likeop", + /* 223 */ "between_op", + /* 224 */ "in_op", + /* 225 */ "paren_exprlist", + /* 226 */ "case_operand", + /* 227 */ "case_exprlist", + /* 228 */ "case_else", + /* 229 */ "uniqueflag", + /* 230 */ "collate", + /* 231 */ "nmnum", + /* 232 */ "trigger_decl", + /* 233 */ "trigger_cmd_list", + /* 234 */ "trigger_time", + /* 235 */ "trigger_event", + /* 236 */ "foreach_clause", + /* 237 */ "when_clause", + /* 238 */ "trigger_cmd", + /* 239 */ "trnm", + /* 240 */ "tridxby", + /* 241 */ "database_kw_opt", + /* 242 */ "key_opt", + /* 243 */ "add_column_fullname", + /* 244 */ "kwcolumn_opt", + /* 245 */ "create_vtab", + /* 246 */ "vtabarglist", + /* 247 */ "vtabarg", + /* 248 */ "vtabargtoken", + /* 249 */ "lp", + /* 250 */ "anylist", + /* 251 */ "wqlist", }; -#endif /* NDEBUG */ +#endif /* defined(YYCOVERAGE) || !defined(NDEBUG) */ #ifndef NDEBUG /* For tracing reduce actions, the names of all rules are required. @@ -133934,33 +139363,33 @@ static const char *const yyRuleName[] = { /* 5 */ "transtype ::= DEFERRED", /* 6 */ "transtype ::= IMMEDIATE", /* 7 */ "transtype ::= EXCLUSIVE", - /* 8 */ "cmd ::= COMMIT trans_opt", - /* 9 */ "cmd ::= END trans_opt", - /* 10 */ "cmd ::= ROLLBACK trans_opt", - /* 11 */ "cmd ::= SAVEPOINT nm", - /* 12 */ "cmd ::= RELEASE savepoint_opt nm", - /* 13 */ "cmd ::= ROLLBACK trans_opt TO savepoint_opt nm", - /* 14 */ "create_table ::= createkw temp TABLE ifnotexists nm dbnm", - /* 15 */ "createkw ::= CREATE", - /* 16 */ "ifnotexists ::=", - /* 17 */ "ifnotexists ::= IF NOT EXISTS", - /* 18 */ "temp ::= TEMP", - /* 19 */ "temp ::=", - /* 20 */ "create_table_args ::= LP columnlist conslist_opt RP table_options", - /* 21 */ "create_table_args ::= AS select", - /* 22 */ "table_options ::=", - /* 23 */ "table_options ::= WITHOUT nm", - /* 24 */ "columnname ::= nm typetoken", - /* 25 */ "typetoken ::=", - /* 26 */ "typetoken ::= typename LP signed RP", - /* 27 */ "typetoken ::= typename LP signed COMMA signed RP", - /* 28 */ "typename ::= typename ID|STRING", + /* 8 */ "cmd ::= COMMIT|END trans_opt", + /* 9 */ "cmd ::= ROLLBACK trans_opt", + /* 10 */ "cmd ::= SAVEPOINT nm", + /* 11 */ "cmd ::= RELEASE savepoint_opt nm", + /* 12 */ "cmd ::= ROLLBACK trans_opt TO savepoint_opt nm", + /* 13 */ "create_table ::= createkw temp TABLE ifnotexists nm dbnm", + /* 14 */ "createkw ::= CREATE", + /* 15 */ "ifnotexists ::=", + /* 16 */ "ifnotexists ::= IF NOT EXISTS", + /* 17 */ "temp ::= TEMP", + /* 18 */ "temp ::=", + /* 19 */ "create_table_args ::= LP columnlist conslist_opt RP table_options", + /* 20 */ "create_table_args ::= AS select", + /* 21 */ "table_options ::=", + /* 22 */ "table_options ::= WITHOUT nm", + /* 23 */ "columnname ::= nm typetoken", + /* 24 */ "typetoken ::=", + /* 25 */ "typetoken ::= typename LP signed RP", + /* 26 */ "typetoken ::= typename LP signed COMMA signed RP", + /* 27 */ "typename ::= typename ID|STRING", + /* 28 */ "scanpt ::=", /* 29 */ "ccons ::= CONSTRAINT nm", - /* 30 */ "ccons ::= DEFAULT term", + /* 30 */ "ccons ::= DEFAULT scanpt term scanpt", /* 31 */ "ccons ::= DEFAULT LP expr RP", - /* 32 */ "ccons ::= DEFAULT PLUS term", - /* 33 */ "ccons ::= DEFAULT MINUS term", - /* 34 */ "ccons ::= DEFAULT ID|INDEXED", + /* 32 */ "ccons ::= DEFAULT PLUS term scanpt", + /* 33 */ "ccons ::= DEFAULT MINUS term scanpt", + /* 34 */ "ccons ::= DEFAULT scanpt ID|INDEXED", /* 35 */ "ccons ::= NOT NULL onconf", /* 36 */ "ccons ::= PRIMARY KEY sortorder onconf autoinc", /* 37 */ "ccons ::= UNIQUE onconf", @@ -134018,9 +139447,9 @@ static const char *const yyRuleName[] = { /* 89 */ "distinct ::= ALL", /* 90 */ "distinct ::=", /* 91 */ "sclp ::=", - /* 92 */ "selcollist ::= sclp expr as", - /* 93 */ "selcollist ::= sclp STAR", - /* 94 */ "selcollist ::= sclp nm DOT STAR", + /* 92 */ "selcollist ::= sclp scanpt expr scanpt as", + /* 93 */ "selcollist ::= sclp scanpt STAR", + /* 94 */ "selcollist ::= sclp scanpt nm DOT STAR", /* 95 */ "as ::= AS nm", /* 96 */ "as ::=", /* 97 */ "from ::=", @@ -134077,187 +139506,185 @@ static const char *const yyRuleName[] = { /* 148 */ "idlist ::= idlist COMMA nm", /* 149 */ "idlist ::= nm", /* 150 */ "expr ::= LP expr RP", - /* 151 */ "term ::= NULL", - /* 152 */ "expr ::= ID|INDEXED", - /* 153 */ "expr ::= JOIN_KW", - /* 154 */ "expr ::= nm DOT nm", - /* 155 */ "expr ::= nm DOT nm DOT nm", - /* 156 */ "term ::= FLOAT|BLOB", - /* 157 */ "term ::= STRING", - /* 158 */ "term ::= INTEGER", - /* 159 */ "expr ::= VARIABLE", - /* 160 */ "expr ::= expr COLLATE ID|STRING", - /* 161 */ "expr ::= CAST LP expr AS typetoken RP", - /* 162 */ "expr ::= ID|INDEXED LP distinct exprlist RP", - /* 163 */ "expr ::= ID|INDEXED LP STAR RP", - /* 164 */ "term ::= CTIME_KW", - /* 165 */ "expr ::= LP nexprlist COMMA expr RP", - /* 166 */ "expr ::= expr AND expr", - /* 167 */ "expr ::= expr OR expr", - /* 168 */ "expr ::= expr LT|GT|GE|LE expr", - /* 169 */ "expr ::= expr EQ|NE expr", - /* 170 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", - /* 171 */ "expr ::= expr PLUS|MINUS expr", - /* 172 */ "expr ::= expr STAR|SLASH|REM expr", - /* 173 */ "expr ::= expr CONCAT expr", - /* 174 */ "likeop ::= LIKE_KW|MATCH", - /* 175 */ "likeop ::= NOT LIKE_KW|MATCH", - /* 176 */ "expr ::= expr likeop expr", - /* 177 */ "expr ::= expr likeop expr ESCAPE expr", - /* 178 */ "expr ::= expr ISNULL|NOTNULL", - /* 179 */ "expr ::= expr NOT NULL", - /* 180 */ "expr ::= expr IS expr", - /* 181 */ "expr ::= expr IS NOT expr", - /* 182 */ "expr ::= NOT expr", - /* 183 */ "expr ::= BITNOT expr", - /* 184 */ "expr ::= MINUS expr", - /* 185 */ "expr ::= PLUS expr", - /* 186 */ "between_op ::= BETWEEN", - /* 187 */ "between_op ::= NOT BETWEEN", - /* 188 */ "expr ::= expr between_op expr AND expr", - /* 189 */ "in_op ::= IN", - /* 190 */ "in_op ::= NOT IN", - /* 191 */ "expr ::= expr in_op LP exprlist RP", - /* 192 */ "expr ::= LP select RP", - /* 193 */ "expr ::= expr in_op LP select RP", - /* 194 */ "expr ::= expr in_op nm dbnm paren_exprlist", - /* 195 */ "expr ::= EXISTS LP select RP", - /* 196 */ "expr ::= CASE case_operand case_exprlist case_else END", - /* 197 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", - /* 198 */ "case_exprlist ::= WHEN expr THEN expr", - /* 199 */ "case_else ::= ELSE expr", - /* 200 */ "case_else ::=", - /* 201 */ "case_operand ::= expr", - /* 202 */ "case_operand ::=", - /* 203 */ "exprlist ::=", - /* 204 */ "nexprlist ::= nexprlist COMMA expr", - /* 205 */ "nexprlist ::= expr", - /* 206 */ "paren_exprlist ::=", - /* 207 */ "paren_exprlist ::= LP exprlist RP", - /* 208 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", - /* 209 */ "uniqueflag ::= UNIQUE", - /* 210 */ "uniqueflag ::=", - /* 211 */ "eidlist_opt ::=", - /* 212 */ "eidlist_opt ::= LP eidlist RP", - /* 213 */ "eidlist ::= eidlist COMMA nm collate sortorder", - /* 214 */ "eidlist ::= nm collate sortorder", - /* 215 */ "collate ::=", - /* 216 */ "collate ::= COLLATE ID|STRING", - /* 217 */ "cmd ::= DROP INDEX ifexists fullname", - /* 218 */ "cmd ::= VACUUM", - /* 219 */ "cmd ::= VACUUM nm", - /* 220 */ "cmd ::= PRAGMA nm dbnm", - /* 221 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", - /* 222 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", - /* 223 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", - /* 224 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", - /* 225 */ "plus_num ::= PLUS INTEGER|FLOAT", - /* 226 */ "minus_num ::= MINUS INTEGER|FLOAT", - /* 227 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", - /* 228 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", - /* 229 */ "trigger_time ::= BEFORE", - /* 230 */ "trigger_time ::= AFTER", - /* 231 */ "trigger_time ::= INSTEAD OF", - /* 232 */ "trigger_time ::=", - /* 233 */ "trigger_event ::= DELETE|INSERT", - /* 234 */ "trigger_event ::= UPDATE", - /* 235 */ "trigger_event ::= UPDATE OF idlist", - /* 236 */ "when_clause ::=", - /* 237 */ "when_clause ::= WHEN expr", - /* 238 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", - /* 239 */ "trigger_cmd_list ::= trigger_cmd SEMI", - /* 240 */ "trnm ::= nm DOT nm", - /* 241 */ "tridxby ::= INDEXED BY nm", - /* 242 */ "tridxby ::= NOT INDEXED", - /* 243 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt", - /* 244 */ "trigger_cmd ::= insert_cmd INTO trnm idlist_opt select", - /* 245 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt", - /* 246 */ "trigger_cmd ::= select", - /* 247 */ "expr ::= RAISE LP IGNORE RP", - /* 248 */ "expr ::= RAISE LP raisetype COMMA nm RP", - /* 249 */ "raisetype ::= ROLLBACK", - /* 250 */ "raisetype ::= ABORT", - /* 251 */ "raisetype ::= FAIL", - /* 252 */ "cmd ::= DROP TRIGGER ifexists fullname", - /* 253 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", - /* 254 */ "cmd ::= DETACH database_kw_opt expr", - /* 255 */ "key_opt ::=", - /* 256 */ "key_opt ::= KEY expr", - /* 257 */ "cmd ::= REINDEX", - /* 258 */ "cmd ::= REINDEX nm dbnm", - /* 259 */ "cmd ::= ANALYZE", - /* 260 */ "cmd ::= ANALYZE nm dbnm", - /* 261 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", - /* 262 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", - /* 263 */ "add_column_fullname ::= fullname", - /* 264 */ "cmd ::= create_vtab", - /* 265 */ "cmd ::= create_vtab LP vtabarglist RP", - /* 266 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", - /* 267 */ "vtabarg ::=", - /* 268 */ "vtabargtoken ::= ANY", - /* 269 */ "vtabargtoken ::= lp anylist RP", - /* 270 */ "lp ::= LP", - /* 271 */ "with ::=", - /* 272 */ "with ::= WITH wqlist", - /* 273 */ "with ::= WITH RECURSIVE wqlist", - /* 274 */ "wqlist ::= nm eidlist_opt AS LP select RP", - /* 275 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", - /* 276 */ "input ::= cmdlist", - /* 277 */ "cmdlist ::= cmdlist ecmd", - /* 278 */ "cmdlist ::= ecmd", - /* 279 */ "ecmd ::= SEMI", - /* 280 */ "ecmd ::= explain cmdx SEMI", - /* 281 */ "explain ::=", - /* 282 */ "trans_opt ::=", - /* 283 */ "trans_opt ::= TRANSACTION", - /* 284 */ "trans_opt ::= TRANSACTION nm", - /* 285 */ "savepoint_opt ::= SAVEPOINT", - /* 286 */ "savepoint_opt ::=", - /* 287 */ "cmd ::= create_table create_table_args", - /* 288 */ "columnlist ::= columnlist COMMA columnname carglist", - /* 289 */ "columnlist ::= columnname carglist", - /* 290 */ "nm ::= ID|INDEXED", - /* 291 */ "nm ::= STRING", - /* 292 */ "nm ::= JOIN_KW", - /* 293 */ "typetoken ::= typename", - /* 294 */ "typename ::= ID|STRING", - /* 295 */ "signed ::= plus_num", - /* 296 */ "signed ::= minus_num", - /* 297 */ "carglist ::= carglist ccons", - /* 298 */ "carglist ::=", - /* 299 */ "ccons ::= NULL onconf", - /* 300 */ "conslist_opt ::= COMMA conslist", - /* 301 */ "conslist ::= conslist tconscomma tcons", - /* 302 */ "conslist ::= tcons", - /* 303 */ "tconscomma ::=", - /* 304 */ "defer_subclause_opt ::= defer_subclause", - /* 305 */ "resolvetype ::= raisetype", - /* 306 */ "selectnowith ::= oneselect", - /* 307 */ "oneselect ::= values", - /* 308 */ "sclp ::= selcollist COMMA", - /* 309 */ "as ::= ID|STRING", - /* 310 */ "expr ::= term", - /* 311 */ "exprlist ::= nexprlist", - /* 312 */ "nmnum ::= plus_num", - /* 313 */ "nmnum ::= nm", - /* 314 */ "nmnum ::= ON", - /* 315 */ "nmnum ::= DELETE", - /* 316 */ "nmnum ::= DEFAULT", - /* 317 */ "plus_num ::= INTEGER|FLOAT", - /* 318 */ "foreach_clause ::=", - /* 319 */ "foreach_clause ::= FOR EACH ROW", - /* 320 */ "trnm ::= nm", - /* 321 */ "tridxby ::=", - /* 322 */ "database_kw_opt ::= DATABASE", - /* 323 */ "database_kw_opt ::=", - /* 324 */ "kwcolumn_opt ::=", - /* 325 */ "kwcolumn_opt ::= COLUMNKW", - /* 326 */ "vtabarglist ::= vtabarg", - /* 327 */ "vtabarglist ::= vtabarglist COMMA vtabarg", - /* 328 */ "vtabarg ::= vtabarg vtabargtoken", - /* 329 */ "anylist ::=", - /* 330 */ "anylist ::= anylist LP anylist RP", - /* 331 */ "anylist ::= anylist ANY", + /* 151 */ "expr ::= ID|INDEXED", + /* 152 */ "expr ::= JOIN_KW", + /* 153 */ "expr ::= nm DOT nm", + /* 154 */ "expr ::= nm DOT nm DOT nm", + /* 155 */ "term ::= NULL|FLOAT|BLOB", + /* 156 */ "term ::= STRING", + /* 157 */ "term ::= INTEGER", + /* 158 */ "expr ::= VARIABLE", + /* 159 */ "expr ::= expr COLLATE ID|STRING", + /* 160 */ "expr ::= CAST LP expr AS typetoken RP", + /* 161 */ "expr ::= ID|INDEXED LP distinct exprlist RP", + /* 162 */ "expr ::= ID|INDEXED LP STAR RP", + /* 163 */ "term ::= CTIME_KW", + /* 164 */ "expr ::= LP nexprlist COMMA expr RP", + /* 165 */ "expr ::= expr AND expr", + /* 166 */ "expr ::= expr OR expr", + /* 167 */ "expr ::= expr LT|GT|GE|LE expr", + /* 168 */ "expr ::= expr EQ|NE expr", + /* 169 */ "expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr", + /* 170 */ "expr ::= expr PLUS|MINUS expr", + /* 171 */ "expr ::= expr STAR|SLASH|REM expr", + /* 172 */ "expr ::= expr CONCAT expr", + /* 173 */ "likeop ::= NOT LIKE_KW|MATCH", + /* 174 */ "expr ::= expr likeop expr", + /* 175 */ "expr ::= expr likeop expr ESCAPE expr", + /* 176 */ "expr ::= expr ISNULL|NOTNULL", + /* 177 */ "expr ::= expr NOT NULL", + /* 178 */ "expr ::= expr IS expr", + /* 179 */ "expr ::= expr IS NOT expr", + /* 180 */ "expr ::= NOT expr", + /* 181 */ "expr ::= BITNOT expr", + /* 182 */ "expr ::= MINUS expr", + /* 183 */ "expr ::= PLUS expr", + /* 184 */ "between_op ::= BETWEEN", + /* 185 */ "between_op ::= NOT BETWEEN", + /* 186 */ "expr ::= expr between_op expr AND expr", + /* 187 */ "in_op ::= IN", + /* 188 */ "in_op ::= NOT IN", + /* 189 */ "expr ::= expr in_op LP exprlist RP", + /* 190 */ "expr ::= LP select RP", + /* 191 */ "expr ::= expr in_op LP select RP", + /* 192 */ "expr ::= expr in_op nm dbnm paren_exprlist", + /* 193 */ "expr ::= EXISTS LP select RP", + /* 194 */ "expr ::= CASE case_operand case_exprlist case_else END", + /* 195 */ "case_exprlist ::= case_exprlist WHEN expr THEN expr", + /* 196 */ "case_exprlist ::= WHEN expr THEN expr", + /* 197 */ "case_else ::= ELSE expr", + /* 198 */ "case_else ::=", + /* 199 */ "case_operand ::= expr", + /* 200 */ "case_operand ::=", + /* 201 */ "exprlist ::=", + /* 202 */ "nexprlist ::= nexprlist COMMA expr", + /* 203 */ "nexprlist ::= expr", + /* 204 */ "paren_exprlist ::=", + /* 205 */ "paren_exprlist ::= LP exprlist RP", + /* 206 */ "cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt", + /* 207 */ "uniqueflag ::= UNIQUE", + /* 208 */ "uniqueflag ::=", + /* 209 */ "eidlist_opt ::=", + /* 210 */ "eidlist_opt ::= LP eidlist RP", + /* 211 */ "eidlist ::= eidlist COMMA nm collate sortorder", + /* 212 */ "eidlist ::= nm collate sortorder", + /* 213 */ "collate ::=", + /* 214 */ "collate ::= COLLATE ID|STRING", + /* 215 */ "cmd ::= DROP INDEX ifexists fullname", + /* 216 */ "cmd ::= VACUUM", + /* 217 */ "cmd ::= VACUUM nm", + /* 218 */ "cmd ::= PRAGMA nm dbnm", + /* 219 */ "cmd ::= PRAGMA nm dbnm EQ nmnum", + /* 220 */ "cmd ::= PRAGMA nm dbnm LP nmnum RP", + /* 221 */ "cmd ::= PRAGMA nm dbnm EQ minus_num", + /* 222 */ "cmd ::= PRAGMA nm dbnm LP minus_num RP", + /* 223 */ "plus_num ::= PLUS INTEGER|FLOAT", + /* 224 */ "minus_num ::= MINUS INTEGER|FLOAT", + /* 225 */ "cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END", + /* 226 */ "trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause", + /* 227 */ "trigger_time ::= BEFORE|AFTER", + /* 228 */ "trigger_time ::= INSTEAD OF", + /* 229 */ "trigger_time ::=", + /* 230 */ "trigger_event ::= DELETE|INSERT", + /* 231 */ "trigger_event ::= UPDATE", + /* 232 */ "trigger_event ::= UPDATE OF idlist", + /* 233 */ "when_clause ::=", + /* 234 */ "when_clause ::= WHEN expr", + /* 235 */ "trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI", + /* 236 */ "trigger_cmd_list ::= trigger_cmd SEMI", + /* 237 */ "trnm ::= nm DOT nm", + /* 238 */ "tridxby ::= INDEXED BY nm", + /* 239 */ "tridxby ::= NOT INDEXED", + /* 240 */ "trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt", + /* 241 */ "trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt", + /* 242 */ "trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt", + /* 243 */ "trigger_cmd ::= scanpt select scanpt", + /* 244 */ "expr ::= RAISE LP IGNORE RP", + /* 245 */ "expr ::= RAISE LP raisetype COMMA nm RP", + /* 246 */ "raisetype ::= ROLLBACK", + /* 247 */ "raisetype ::= ABORT", + /* 248 */ "raisetype ::= FAIL", + /* 249 */ "cmd ::= DROP TRIGGER ifexists fullname", + /* 250 */ "cmd ::= ATTACH database_kw_opt expr AS expr key_opt", + /* 251 */ "cmd ::= DETACH database_kw_opt expr", + /* 252 */ "key_opt ::=", + /* 253 */ "key_opt ::= KEY expr", + /* 254 */ "cmd ::= REINDEX", + /* 255 */ "cmd ::= REINDEX nm dbnm", + /* 256 */ "cmd ::= ANALYZE", + /* 257 */ "cmd ::= ANALYZE nm dbnm", + /* 258 */ "cmd ::= ALTER TABLE fullname RENAME TO nm", + /* 259 */ "cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist", + /* 260 */ "add_column_fullname ::= fullname", + /* 261 */ "cmd ::= create_vtab", + /* 262 */ "cmd ::= create_vtab LP vtabarglist RP", + /* 263 */ "create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm", + /* 264 */ "vtabarg ::=", + /* 265 */ "vtabargtoken ::= ANY", + /* 266 */ "vtabargtoken ::= lp anylist RP", + /* 267 */ "lp ::= LP", + /* 268 */ "with ::=", + /* 269 */ "with ::= WITH wqlist", + /* 270 */ "with ::= WITH RECURSIVE wqlist", + /* 271 */ "wqlist ::= nm eidlist_opt AS LP select RP", + /* 272 */ "wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP", + /* 273 */ "input ::= cmdlist", + /* 274 */ "cmdlist ::= cmdlist ecmd", + /* 275 */ "cmdlist ::= ecmd", + /* 276 */ "ecmd ::= SEMI", + /* 277 */ "ecmd ::= explain cmdx SEMI", + /* 278 */ "explain ::=", + /* 279 */ "trans_opt ::=", + /* 280 */ "trans_opt ::= TRANSACTION", + /* 281 */ "trans_opt ::= TRANSACTION nm", + /* 282 */ "savepoint_opt ::= SAVEPOINT", + /* 283 */ "savepoint_opt ::=", + /* 284 */ "cmd ::= create_table create_table_args", + /* 285 */ "columnlist ::= columnlist COMMA columnname carglist", + /* 286 */ "columnlist ::= columnname carglist", + /* 287 */ "nm ::= ID|INDEXED", + /* 288 */ "nm ::= STRING", + /* 289 */ "nm ::= JOIN_KW", + /* 290 */ "typetoken ::= typename", + /* 291 */ "typename ::= ID|STRING", + /* 292 */ "signed ::= plus_num", + /* 293 */ "signed ::= minus_num", + /* 294 */ "carglist ::= carglist ccons", + /* 295 */ "carglist ::=", + /* 296 */ "ccons ::= NULL onconf", + /* 297 */ "conslist_opt ::= COMMA conslist", + /* 298 */ "conslist ::= conslist tconscomma tcons", + /* 299 */ "conslist ::= tcons", + /* 300 */ "tconscomma ::=", + /* 301 */ "defer_subclause_opt ::= defer_subclause", + /* 302 */ "resolvetype ::= raisetype", + /* 303 */ "selectnowith ::= oneselect", + /* 304 */ "oneselect ::= values", + /* 305 */ "sclp ::= selcollist COMMA", + /* 306 */ "as ::= ID|STRING", + /* 307 */ "expr ::= term", + /* 308 */ "likeop ::= LIKE_KW|MATCH", + /* 309 */ "exprlist ::= nexprlist", + /* 310 */ "nmnum ::= plus_num", + /* 311 */ "nmnum ::= nm", + /* 312 */ "nmnum ::= ON", + /* 313 */ "nmnum ::= DELETE", + /* 314 */ "nmnum ::= DEFAULT", + /* 315 */ "plus_num ::= INTEGER|FLOAT", + /* 316 */ "foreach_clause ::=", + /* 317 */ "foreach_clause ::= FOR EACH ROW", + /* 318 */ "trnm ::= nm", + /* 319 */ "tridxby ::=", + /* 320 */ "database_kw_opt ::= DATABASE", + /* 321 */ "database_kw_opt ::=", + /* 322 */ "kwcolumn_opt ::=", + /* 323 */ "kwcolumn_opt ::= COLUMNKW", + /* 324 */ "vtabarglist ::= vtabarg", + /* 325 */ "vtabarglist ::= vtabarglist COMMA vtabarg", + /* 326 */ "vtabarg ::= vtabarg vtabargtoken", + /* 327 */ "anylist ::=", + /* 328 */ "anylist ::= anylist LP anylist RP", + /* 329 */ "anylist ::= anylist ANY", }; #endif /* NDEBUG */ @@ -134304,6 +139731,34 @@ static int yyGrowStack(yyParser *p){ # define YYMALLOCARGTYPE size_t #endif +/* Initialize a new parser that has already been allocated. +*/ +SQLITE_PRIVATE void sqlite3ParserInit(void *yypParser){ + yyParser *pParser = (yyParser*)yypParser; +#ifdef YYTRACKMAXSTACKDEPTH + pParser->yyhwm = 0; +#endif +#if YYSTACKDEPTH<=0 + pParser->yytos = NULL; + pParser->yystack = NULL; + pParser->yystksz = 0; + if( yyGrowStack(pParser) ){ + pParser->yystack = &pParser->yystk0; + pParser->yystksz = 1; + } +#endif +#ifndef YYNOERRORRECOVERY + pParser->yyerrcnt = -1; +#endif + pParser->yytos = pParser->yystack; + pParser->yystack[0].stateno = 0; + pParser->yystack[0].major = 0; +#if YYSTACKDEPTH>0 + pParser->yystackEnd = &pParser->yystack[YYSTACKDEPTH-1]; +#endif +} + +#ifndef sqlite3Parser_ENGINEALWAYSONSTACK /* ** This function allocates a new parser. ** The only argument is a pointer to a function which works like @@ -134319,28 +139774,11 @@ static int yyGrowStack(yyParser *p){ SQLITE_PRIVATE void *sqlite3ParserAlloc(void *(*mallocProc)(YYMALLOCARGTYPE)){ yyParser *pParser; pParser = (yyParser*)(*mallocProc)( (YYMALLOCARGTYPE)sizeof(yyParser) ); - if( pParser ){ -#ifdef YYTRACKMAXSTACKDEPTH - pParser->yyhwm = 0; -#endif -#if YYSTACKDEPTH<=0 - pParser->yytos = NULL; - pParser->yystack = NULL; - pParser->yystksz = 0; - if( yyGrowStack(pParser) ){ - pParser->yystack = &pParser->yystk0; - pParser->yystksz = 1; - } -#endif -#ifndef YYNOERRORRECOVERY - pParser->yyerrcnt = -1; -#endif - pParser->yytos = pParser->yystack; - pParser->yystack[0].stateno = 0; - pParser->yystack[0].major = 0; - } + if( pParser ) sqlite3ParserInit(pParser); return pParser; } +#endif /* sqlite3Parser_ENGINEALWAYSONSTACK */ + /* The following function deletes the "minor type" or semantic value ** associated with a symbol. The symbol can be either a terminal @@ -134368,76 +139806,72 @@ static void yy_destructor( */ /********* Begin destructor definitions ***************************************/ case 163: /* select */ - case 194: /* selectnowith */ - case 195: /* oneselect */ - case 206: /* values */ -{ -sqlite3SelectDelete(pParse->db, (yypminor->yy243)); -} - break; - case 172: /* term */ - case 173: /* expr */ + case 195: /* selectnowith */ + case 196: /* oneselect */ + case 207: /* values */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy190).pExpr); +sqlite3SelectDelete(pParse->db, (yypminor->yy387)); } break; - case 177: /* eidlist_opt */ - case 186: /* sortlist */ - case 187: /* eidlist */ - case 199: /* selcollist */ - case 202: /* groupby_opt */ - case 204: /* orderby_opt */ - case 207: /* nexprlist */ - case 208: /* exprlist */ - case 209: /* sclp */ - case 218: /* setlist */ - case 224: /* paren_exprlist */ - case 226: /* case_exprlist */ + case 173: /* term */ + case 174: /* expr */ + case 202: /* where_opt */ + case 204: /* having_opt */ + case 216: /* on_opt */ + case 226: /* case_operand */ + case 228: /* case_else */ + case 237: /* when_clause */ + case 242: /* key_opt */ { -sqlite3ExprListDelete(pParse->db, (yypminor->yy148)); +sqlite3ExprDelete(pParse->db, (yypminor->yy314)); } break; - case 193: /* fullname */ - case 200: /* from */ - case 211: /* seltablist */ - case 212: /* stl_prefix */ + case 178: /* eidlist_opt */ + case 187: /* sortlist */ + case 188: /* eidlist */ + case 200: /* selcollist */ + case 203: /* groupby_opt */ + case 205: /* orderby_opt */ + case 208: /* nexprlist */ + case 209: /* exprlist */ + case 210: /* sclp */ + case 219: /* setlist */ + case 225: /* paren_exprlist */ + case 227: /* case_exprlist */ { -sqlite3SrcListDelete(pParse->db, (yypminor->yy185)); +sqlite3ExprListDelete(pParse->db, (yypminor->yy322)); } break; - case 196: /* with */ - case 250: /* wqlist */ + case 194: /* fullname */ + case 201: /* from */ + case 212: /* seltablist */ + case 213: /* stl_prefix */ { -sqlite3WithDelete(pParse->db, (yypminor->yy285)); +sqlite3SrcListDelete(pParse->db, (yypminor->yy259)); } break; - case 201: /* where_opt */ - case 203: /* having_opt */ - case 215: /* on_opt */ - case 225: /* case_operand */ - case 227: /* case_else */ - case 236: /* when_clause */ - case 241: /* key_opt */ + case 197: /* with */ + case 251: /* wqlist */ { -sqlite3ExprDelete(pParse->db, (yypminor->yy72)); +sqlite3WithDelete(pParse->db, (yypminor->yy451)); } break; - case 216: /* using_opt */ - case 217: /* idlist */ - case 220: /* idlist_opt */ + case 217: /* using_opt */ + case 218: /* idlist */ + case 221: /* idlist_opt */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy254)); +sqlite3IdListDelete(pParse->db, (yypminor->yy384)); } break; - case 232: /* trigger_cmd_list */ - case 237: /* trigger_cmd */ + case 233: /* trigger_cmd_list */ + case 238: /* trigger_cmd */ { -sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy145)); +sqlite3DeleteTriggerStep(pParse->db, (yypminor->yy203)); } break; - case 234: /* trigger_event */ + case 235: /* trigger_event */ { -sqlite3IdListDelete(pParse->db, (yypminor->yy332).b); +sqlite3IdListDelete(pParse->db, (yypminor->yy90).b); } break; /********* End destructor definitions *****************************************/ @@ -134466,6 +139900,18 @@ static void yy_pop_parser_stack(yyParser *pParser){ yy_destructor(pParser, yytos->major, &yytos->minor); } +/* +** Clear all secondary memory allocations from the parser +*/ +SQLITE_PRIVATE void sqlite3ParserFinalize(void *p){ + yyParser *pParser = (yyParser*)p; + while( pParser->yytos>pParser->yystack ) yy_pop_parser_stack(pParser); +#if YYSTACKDEPTH<=0 + if( pParser->yystack!=&pParser->yystk0 ) free(pParser->yystack); +#endif +} + +#ifndef sqlite3Parser_ENGINEALWAYSONSTACK /* ** Deallocate and destroy a parser. Destructors are called for ** all stack elements before shutting the parser down. @@ -134478,16 +139924,13 @@ SQLITE_PRIVATE void sqlite3ParserFree( void *p, /* The parser to be deleted */ void (*freeProc)(void*) /* Function used to reclaim memory */ ){ - yyParser *pParser = (yyParser*)p; #ifndef YYPARSEFREENEVERNULL - if( pParser==0 ) return; -#endif - while( pParser->yytos>pParser->yystack ) yy_pop_parser_stack(pParser); -#if YYSTACKDEPTH<=0 - if( pParser->yystack!=&pParser->yystk0 ) free(pParser->yystack); + if( p==0 ) return; #endif - (*freeProc)((void*)pParser); + sqlite3ParserFinalize(p); + (*freeProc)(p); } +#endif /* sqlite3Parser_ENGINEALWAYSONSTACK */ /* ** Return the peak depth of the stack for a parser. @@ -134499,6 +139942,43 @@ SQLITE_PRIVATE int sqlite3ParserStackPeak(void *p){ } #endif +/* This array of booleans keeps track of the parser statement +** coverage. The element yycoverage[X][Y] is set when the parser +** is in state X and has a lookahead token Y. In a well-tested +** systems, every element of this matrix should end up being set. +*/ +#if defined(YYCOVERAGE) +static unsigned char yycoverage[YYNSTATE][YYNTOKEN]; +#endif + +/* +** Write into out a description of every state/lookahead combination that +** +** (1) has not been used by the parser, and +** (2) is not a syntax error. +** +** Return the number of missed state/lookahead combinations. +*/ +#if defined(YYCOVERAGE) +SQLITE_PRIVATE int sqlite3ParserCoverage(FILE *out){ + int stateno, iLookAhead, i; + int nMissed = 0; + for(stateno=0; statenoyytos->stateno; - if( stateno>=YY_MIN_REDUCE ) return stateno; + if( stateno>YY_MAX_SHIFT ) return stateno; assert( stateno <= YY_SHIFT_COUNT ); +#if defined(YYCOVERAGE) + yycoverage[stateno][iLookAhead] = 1; +#endif do{ i = yy_shift_ofst[stateno]; + assert( i>=0 && i+YYNTOKEN<=sizeof(yy_lookahead)/sizeof(yy_lookahead[0]) ); assert( iLookAhead!=YYNOCODE ); + assert( iLookAhead < YYNTOKEN ); i += iLookAhead; - if( i<0 || i>=YY_ACTTAB_COUNT || yy_lookahead[i]!=iLookAhead ){ + if( yy_lookahead[i]!=iLookAhead ){ #ifdef YYFALLBACK YYCODETYPE iFallback; /* Fallback token */ if( iLookAheadyytos--; #ifndef NDEBUG if( yyTraceFILE ){ fprintf(yyTraceFILE,"%sStack Overflow!\n",yyTracePrompt); @@ -134618,20 +140101,21 @@ static void yyStackOverflow(yyParser *yypParser){ ** Print tracing information for a SHIFT action */ #ifndef NDEBUG -static void yyTraceShift(yyParser *yypParser, int yyNewState){ +static void yyTraceShift(yyParser *yypParser, int yyNewState, const char *zTag){ if( yyTraceFILE ){ if( yyNewStateyytos->major], + fprintf(yyTraceFILE,"%s%s '%s', go to state %d\n", + yyTracePrompt, zTag, yyTokenName[yypParser->yytos->major], yyNewState); }else{ - fprintf(yyTraceFILE,"%sShift '%s'\n", - yyTracePrompt,yyTokenName[yypParser->yytos->major]); + fprintf(yyTraceFILE,"%s%s '%s', pending reduce %d\n", + yyTracePrompt, zTag, yyTokenName[yypParser->yytos->major], + yyNewState - YY_MIN_REDUCE); } } } #else -# define yyTraceShift(X,Y) +# define yyTraceShift(X,Y,Z) #endif /* @@ -134652,13 +140136,15 @@ static void yy_shift( } #endif #if YYSTACKDEPTH>0 - if( yypParser->yytos>=&yypParser->yystack[YYSTACKDEPTH] ){ + if( yypParser->yytos>yypParser->yystackEnd ){ + yypParser->yytos--; yyStackOverflow(yypParser); return; } #else if( yypParser->yytos>=&yypParser->yystack[yypParser->yystksz] ){ if( yyGrowStack(yypParser) ){ + yypParser->yytos--; yyStackOverflow(yypParser); return; } @@ -134671,348 +140157,346 @@ static void yy_shift( yytos->stateno = (YYACTIONTYPE)yyNewState; yytos->major = (YYCODETYPE)yyMajor; yytos->minor.yy0 = yyMinor; - yyTraceShift(yypParser, yyNewState); + yyTraceShift(yypParser, yyNewState, "Shift"); } /* The following table contains information about every rule that ** is used during the reduce. */ static const struct { - YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ - unsigned char nrhs; /* Number of right-hand side symbols in the rule */ + YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ + signed char nrhs; /* Negative of the number of RHS symbols in the rule */ } yyRuleInfo[] = { - { 147, 1 }, - { 147, 3 }, - { 148, 1 }, - { 149, 3 }, - { 150, 0 }, - { 150, 1 }, - { 150, 1 }, - { 150, 1 }, - { 149, 2 }, - { 149, 2 }, - { 149, 2 }, - { 149, 2 }, - { 149, 3 }, - { 149, 5 }, - { 154, 6 }, - { 156, 1 }, - { 158, 0 }, - { 158, 3 }, - { 157, 1 }, - { 157, 0 }, - { 155, 5 }, - { 155, 2 }, - { 162, 0 }, - { 162, 2 }, - { 164, 2 }, - { 166, 0 }, - { 166, 4 }, - { 166, 6 }, - { 167, 2 }, - { 171, 2 }, - { 171, 2 }, - { 171, 4 }, - { 171, 3 }, - { 171, 3 }, - { 171, 2 }, - { 171, 3 }, - { 171, 5 }, - { 171, 2 }, - { 171, 4 }, - { 171, 4 }, - { 171, 1 }, - { 171, 2 }, - { 176, 0 }, - { 176, 1 }, - { 178, 0 }, - { 178, 2 }, - { 180, 2 }, - { 180, 3 }, - { 180, 3 }, - { 180, 3 }, - { 181, 2 }, - { 181, 2 }, - { 181, 1 }, - { 181, 1 }, - { 181, 2 }, - { 179, 3 }, - { 179, 2 }, - { 182, 0 }, - { 182, 2 }, - { 182, 2 }, - { 161, 0 }, - { 184, 1 }, - { 185, 2 }, - { 185, 7 }, - { 185, 5 }, - { 185, 5 }, - { 185, 10 }, - { 188, 0 }, - { 174, 0 }, - { 174, 3 }, - { 189, 0 }, - { 189, 2 }, - { 190, 1 }, - { 190, 1 }, - { 149, 4 }, - { 192, 2 }, - { 192, 0 }, - { 149, 9 }, - { 149, 4 }, - { 149, 1 }, - { 163, 2 }, - { 194, 3 }, - { 197, 1 }, - { 197, 2 }, - { 197, 1 }, - { 195, 9 }, - { 206, 4 }, - { 206, 5 }, - { 198, 1 }, - { 198, 1 }, - { 198, 0 }, - { 209, 0 }, - { 199, 3 }, - { 199, 2 }, - { 199, 4 }, - { 210, 2 }, - { 210, 0 }, - { 200, 0 }, - { 200, 2 }, - { 212, 2 }, - { 212, 0 }, - { 211, 7 }, - { 211, 9 }, - { 211, 7 }, - { 211, 7 }, - { 159, 0 }, - { 159, 2 }, - { 193, 2 }, - { 213, 1 }, - { 213, 2 }, - { 213, 3 }, - { 213, 4 }, - { 215, 2 }, - { 215, 0 }, - { 214, 0 }, - { 214, 3 }, - { 214, 2 }, - { 216, 4 }, - { 216, 0 }, - { 204, 0 }, - { 204, 3 }, - { 186, 4 }, - { 186, 2 }, - { 175, 1 }, - { 175, 1 }, - { 175, 0 }, - { 202, 0 }, - { 202, 3 }, - { 203, 0 }, - { 203, 2 }, - { 205, 0 }, - { 205, 2 }, - { 205, 4 }, - { 205, 4 }, - { 149, 6 }, - { 201, 0 }, - { 201, 2 }, - { 149, 8 }, - { 218, 5 }, - { 218, 7 }, - { 218, 3 }, - { 218, 5 }, - { 149, 6 }, - { 149, 7 }, - { 219, 2 }, - { 219, 1 }, - { 220, 0 }, - { 220, 3 }, - { 217, 3 }, - { 217, 1 }, - { 173, 3 }, - { 172, 1 }, - { 173, 1 }, - { 173, 1 }, - { 173, 3 }, - { 173, 5 }, - { 172, 1 }, - { 172, 1 }, - { 172, 1 }, - { 173, 1 }, - { 173, 3 }, - { 173, 6 }, - { 173, 5 }, - { 173, 4 }, - { 172, 1 }, - { 173, 5 }, - { 173, 3 }, - { 173, 3 }, - { 173, 3 }, - { 173, 3 }, - { 173, 3 }, - { 173, 3 }, - { 173, 3 }, - { 173, 3 }, - { 221, 1 }, - { 221, 2 }, - { 173, 3 }, - { 173, 5 }, - { 173, 2 }, - { 173, 3 }, - { 173, 3 }, - { 173, 4 }, - { 173, 2 }, - { 173, 2 }, - { 173, 2 }, - { 173, 2 }, - { 222, 1 }, - { 222, 2 }, - { 173, 5 }, - { 223, 1 }, - { 223, 2 }, - { 173, 5 }, - { 173, 3 }, - { 173, 5 }, - { 173, 5 }, - { 173, 4 }, - { 173, 5 }, - { 226, 5 }, - { 226, 4 }, - { 227, 2 }, - { 227, 0 }, - { 225, 1 }, - { 225, 0 }, - { 208, 0 }, - { 207, 3 }, - { 207, 1 }, - { 224, 0 }, - { 224, 3 }, - { 149, 12 }, - { 228, 1 }, - { 228, 0 }, - { 177, 0 }, - { 177, 3 }, - { 187, 5 }, - { 187, 3 }, - { 229, 0 }, - { 229, 2 }, - { 149, 4 }, - { 149, 1 }, - { 149, 2 }, - { 149, 3 }, - { 149, 5 }, - { 149, 6 }, - { 149, 5 }, - { 149, 6 }, - { 169, 2 }, - { 170, 2 }, - { 149, 5 }, - { 231, 11 }, - { 233, 1 }, - { 233, 1 }, - { 233, 2 }, - { 233, 0 }, - { 234, 1 }, - { 234, 1 }, - { 234, 3 }, - { 236, 0 }, - { 236, 2 }, - { 232, 3 }, - { 232, 2 }, - { 238, 3 }, - { 239, 3 }, - { 239, 2 }, - { 237, 7 }, - { 237, 5 }, - { 237, 5 }, - { 237, 1 }, - { 173, 4 }, - { 173, 6 }, - { 191, 1 }, - { 191, 1 }, - { 191, 1 }, - { 149, 4 }, - { 149, 6 }, - { 149, 3 }, - { 241, 0 }, - { 241, 2 }, - { 149, 1 }, - { 149, 3 }, - { 149, 1 }, - { 149, 3 }, - { 149, 6 }, - { 149, 7 }, - { 242, 1 }, - { 149, 1 }, - { 149, 4 }, - { 244, 8 }, - { 246, 0 }, - { 247, 1 }, - { 247, 3 }, - { 248, 1 }, - { 196, 0 }, - { 196, 2 }, - { 196, 3 }, - { 250, 6 }, - { 250, 8 }, - { 144, 1 }, - { 145, 2 }, - { 145, 1 }, - { 146, 1 }, - { 146, 3 }, - { 147, 0 }, - { 151, 0 }, - { 151, 1 }, - { 151, 2 }, - { 153, 1 }, - { 153, 0 }, - { 149, 2 }, - { 160, 4 }, - { 160, 2 }, - { 152, 1 }, - { 152, 1 }, - { 152, 1 }, - { 166, 1 }, - { 167, 1 }, - { 168, 1 }, - { 168, 1 }, - { 165, 2 }, - { 165, 0 }, - { 171, 2 }, - { 161, 2 }, - { 183, 3 }, - { 183, 1 }, - { 184, 0 }, - { 188, 1 }, - { 190, 1 }, - { 194, 1 }, - { 195, 1 }, - { 209, 2 }, - { 210, 1 }, - { 173, 1 }, - { 208, 1 }, - { 230, 1 }, - { 230, 1 }, - { 230, 1 }, - { 230, 1 }, - { 230, 1 }, - { 169, 1 }, - { 235, 0 }, - { 235, 3 }, - { 238, 1 }, - { 239, 0 }, - { 240, 1 }, - { 240, 0 }, - { 243, 0 }, - { 243, 1 }, - { 245, 1 }, - { 245, 3 }, - { 246, 2 }, - { 249, 0 }, - { 249, 4 }, - { 249, 2 }, + { 147, -1 }, /* (0) explain ::= EXPLAIN */ + { 147, -3 }, /* (1) explain ::= EXPLAIN QUERY PLAN */ + { 148, -1 }, /* (2) cmdx ::= cmd */ + { 149, -3 }, /* (3) cmd ::= BEGIN transtype trans_opt */ + { 150, 0 }, /* (4) transtype ::= */ + { 150, -1 }, /* (5) transtype ::= DEFERRED */ + { 150, -1 }, /* (6) transtype ::= IMMEDIATE */ + { 150, -1 }, /* (7) transtype ::= EXCLUSIVE */ + { 149, -2 }, /* (8) cmd ::= COMMIT|END trans_opt */ + { 149, -2 }, /* (9) cmd ::= ROLLBACK trans_opt */ + { 149, -2 }, /* (10) cmd ::= SAVEPOINT nm */ + { 149, -3 }, /* (11) cmd ::= RELEASE savepoint_opt nm */ + { 149, -5 }, /* (12) cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ + { 154, -6 }, /* (13) create_table ::= createkw temp TABLE ifnotexists nm dbnm */ + { 156, -1 }, /* (14) createkw ::= CREATE */ + { 158, 0 }, /* (15) ifnotexists ::= */ + { 158, -3 }, /* (16) ifnotexists ::= IF NOT EXISTS */ + { 157, -1 }, /* (17) temp ::= TEMP */ + { 157, 0 }, /* (18) temp ::= */ + { 155, -5 }, /* (19) create_table_args ::= LP columnlist conslist_opt RP table_options */ + { 155, -2 }, /* (20) create_table_args ::= AS select */ + { 162, 0 }, /* (21) table_options ::= */ + { 162, -2 }, /* (22) table_options ::= WITHOUT nm */ + { 164, -2 }, /* (23) columnname ::= nm typetoken */ + { 166, 0 }, /* (24) typetoken ::= */ + { 166, -4 }, /* (25) typetoken ::= typename LP signed RP */ + { 166, -6 }, /* (26) typetoken ::= typename LP signed COMMA signed RP */ + { 167, -2 }, /* (27) typename ::= typename ID|STRING */ + { 171, 0 }, /* (28) scanpt ::= */ + { 172, -2 }, /* (29) ccons ::= CONSTRAINT nm */ + { 172, -4 }, /* (30) ccons ::= DEFAULT scanpt term scanpt */ + { 172, -4 }, /* (31) ccons ::= DEFAULT LP expr RP */ + { 172, -4 }, /* (32) ccons ::= DEFAULT PLUS term scanpt */ + { 172, -4 }, /* (33) ccons ::= DEFAULT MINUS term scanpt */ + { 172, -3 }, /* (34) ccons ::= DEFAULT scanpt ID|INDEXED */ + { 172, -3 }, /* (35) ccons ::= NOT NULL onconf */ + { 172, -5 }, /* (36) ccons ::= PRIMARY KEY sortorder onconf autoinc */ + { 172, -2 }, /* (37) ccons ::= UNIQUE onconf */ + { 172, -4 }, /* (38) ccons ::= CHECK LP expr RP */ + { 172, -4 }, /* (39) ccons ::= REFERENCES nm eidlist_opt refargs */ + { 172, -1 }, /* (40) ccons ::= defer_subclause */ + { 172, -2 }, /* (41) ccons ::= COLLATE ID|STRING */ + { 177, 0 }, /* (42) autoinc ::= */ + { 177, -1 }, /* (43) autoinc ::= AUTOINCR */ + { 179, 0 }, /* (44) refargs ::= */ + { 179, -2 }, /* (45) refargs ::= refargs refarg */ + { 181, -2 }, /* (46) refarg ::= MATCH nm */ + { 181, -3 }, /* (47) refarg ::= ON INSERT refact */ + { 181, -3 }, /* (48) refarg ::= ON DELETE refact */ + { 181, -3 }, /* (49) refarg ::= ON UPDATE refact */ + { 182, -2 }, /* (50) refact ::= SET NULL */ + { 182, -2 }, /* (51) refact ::= SET DEFAULT */ + { 182, -1 }, /* (52) refact ::= CASCADE */ + { 182, -1 }, /* (53) refact ::= RESTRICT */ + { 182, -2 }, /* (54) refact ::= NO ACTION */ + { 180, -3 }, /* (55) defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ + { 180, -2 }, /* (56) defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ + { 183, 0 }, /* (57) init_deferred_pred_opt ::= */ + { 183, -2 }, /* (58) init_deferred_pred_opt ::= INITIALLY DEFERRED */ + { 183, -2 }, /* (59) init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ + { 161, 0 }, /* (60) conslist_opt ::= */ + { 185, -1 }, /* (61) tconscomma ::= COMMA */ + { 186, -2 }, /* (62) tcons ::= CONSTRAINT nm */ + { 186, -7 }, /* (63) tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ + { 186, -5 }, /* (64) tcons ::= UNIQUE LP sortlist RP onconf */ + { 186, -5 }, /* (65) tcons ::= CHECK LP expr RP onconf */ + { 186, -10 }, /* (66) tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ + { 189, 0 }, /* (67) defer_subclause_opt ::= */ + { 175, 0 }, /* (68) onconf ::= */ + { 175, -3 }, /* (69) onconf ::= ON CONFLICT resolvetype */ + { 190, 0 }, /* (70) orconf ::= */ + { 190, -2 }, /* (71) orconf ::= OR resolvetype */ + { 191, -1 }, /* (72) resolvetype ::= IGNORE */ + { 191, -1 }, /* (73) resolvetype ::= REPLACE */ + { 149, -4 }, /* (74) cmd ::= DROP TABLE ifexists fullname */ + { 193, -2 }, /* (75) ifexists ::= IF EXISTS */ + { 193, 0 }, /* (76) ifexists ::= */ + { 149, -9 }, /* (77) cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ + { 149, -4 }, /* (78) cmd ::= DROP VIEW ifexists fullname */ + { 149, -1 }, /* (79) cmd ::= select */ + { 163, -2 }, /* (80) select ::= with selectnowith */ + { 195, -3 }, /* (81) selectnowith ::= selectnowith multiselect_op oneselect */ + { 198, -1 }, /* (82) multiselect_op ::= UNION */ + { 198, -2 }, /* (83) multiselect_op ::= UNION ALL */ + { 198, -1 }, /* (84) multiselect_op ::= EXCEPT|INTERSECT */ + { 196, -9 }, /* (85) oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ + { 207, -4 }, /* (86) values ::= VALUES LP nexprlist RP */ + { 207, -5 }, /* (87) values ::= values COMMA LP exprlist RP */ + { 199, -1 }, /* (88) distinct ::= DISTINCT */ + { 199, -1 }, /* (89) distinct ::= ALL */ + { 199, 0 }, /* (90) distinct ::= */ + { 210, 0 }, /* (91) sclp ::= */ + { 200, -5 }, /* (92) selcollist ::= sclp scanpt expr scanpt as */ + { 200, -3 }, /* (93) selcollist ::= sclp scanpt STAR */ + { 200, -5 }, /* (94) selcollist ::= sclp scanpt nm DOT STAR */ + { 211, -2 }, /* (95) as ::= AS nm */ + { 211, 0 }, /* (96) as ::= */ + { 201, 0 }, /* (97) from ::= */ + { 201, -2 }, /* (98) from ::= FROM seltablist */ + { 213, -2 }, /* (99) stl_prefix ::= seltablist joinop */ + { 213, 0 }, /* (100) stl_prefix ::= */ + { 212, -7 }, /* (101) seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ + { 212, -9 }, /* (102) seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ + { 212, -7 }, /* (103) seltablist ::= stl_prefix LP select RP as on_opt using_opt */ + { 212, -7 }, /* (104) seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ + { 159, 0 }, /* (105) dbnm ::= */ + { 159, -2 }, /* (106) dbnm ::= DOT nm */ + { 194, -2 }, /* (107) fullname ::= nm dbnm */ + { 214, -1 }, /* (108) joinop ::= COMMA|JOIN */ + { 214, -2 }, /* (109) joinop ::= JOIN_KW JOIN */ + { 214, -3 }, /* (110) joinop ::= JOIN_KW nm JOIN */ + { 214, -4 }, /* (111) joinop ::= JOIN_KW nm nm JOIN */ + { 216, -2 }, /* (112) on_opt ::= ON expr */ + { 216, 0 }, /* (113) on_opt ::= */ + { 215, 0 }, /* (114) indexed_opt ::= */ + { 215, -3 }, /* (115) indexed_opt ::= INDEXED BY nm */ + { 215, -2 }, /* (116) indexed_opt ::= NOT INDEXED */ + { 217, -4 }, /* (117) using_opt ::= USING LP idlist RP */ + { 217, 0 }, /* (118) using_opt ::= */ + { 205, 0 }, /* (119) orderby_opt ::= */ + { 205, -3 }, /* (120) orderby_opt ::= ORDER BY sortlist */ + { 187, -4 }, /* (121) sortlist ::= sortlist COMMA expr sortorder */ + { 187, -2 }, /* (122) sortlist ::= expr sortorder */ + { 176, -1 }, /* (123) sortorder ::= ASC */ + { 176, -1 }, /* (124) sortorder ::= DESC */ + { 176, 0 }, /* (125) sortorder ::= */ + { 203, 0 }, /* (126) groupby_opt ::= */ + { 203, -3 }, /* (127) groupby_opt ::= GROUP BY nexprlist */ + { 204, 0 }, /* (128) having_opt ::= */ + { 204, -2 }, /* (129) having_opt ::= HAVING expr */ + { 206, 0 }, /* (130) limit_opt ::= */ + { 206, -2 }, /* (131) limit_opt ::= LIMIT expr */ + { 206, -4 }, /* (132) limit_opt ::= LIMIT expr OFFSET expr */ + { 206, -4 }, /* (133) limit_opt ::= LIMIT expr COMMA expr */ + { 149, -6 }, /* (134) cmd ::= with DELETE FROM fullname indexed_opt where_opt */ + { 202, 0 }, /* (135) where_opt ::= */ + { 202, -2 }, /* (136) where_opt ::= WHERE expr */ + { 149, -8 }, /* (137) cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ + { 219, -5 }, /* (138) setlist ::= setlist COMMA nm EQ expr */ + { 219, -7 }, /* (139) setlist ::= setlist COMMA LP idlist RP EQ expr */ + { 219, -3 }, /* (140) setlist ::= nm EQ expr */ + { 219, -5 }, /* (141) setlist ::= LP idlist RP EQ expr */ + { 149, -6 }, /* (142) cmd ::= with insert_cmd INTO fullname idlist_opt select */ + { 149, -7 }, /* (143) cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ + { 220, -2 }, /* (144) insert_cmd ::= INSERT orconf */ + { 220, -1 }, /* (145) insert_cmd ::= REPLACE */ + { 221, 0 }, /* (146) idlist_opt ::= */ + { 221, -3 }, /* (147) idlist_opt ::= LP idlist RP */ + { 218, -3 }, /* (148) idlist ::= idlist COMMA nm */ + { 218, -1 }, /* (149) idlist ::= nm */ + { 174, -3 }, /* (150) expr ::= LP expr RP */ + { 174, -1 }, /* (151) expr ::= ID|INDEXED */ + { 174, -1 }, /* (152) expr ::= JOIN_KW */ + { 174, -3 }, /* (153) expr ::= nm DOT nm */ + { 174, -5 }, /* (154) expr ::= nm DOT nm DOT nm */ + { 173, -1 }, /* (155) term ::= NULL|FLOAT|BLOB */ + { 173, -1 }, /* (156) term ::= STRING */ + { 173, -1 }, /* (157) term ::= INTEGER */ + { 174, -1 }, /* (158) expr ::= VARIABLE */ + { 174, -3 }, /* (159) expr ::= expr COLLATE ID|STRING */ + { 174, -6 }, /* (160) expr ::= CAST LP expr AS typetoken RP */ + { 174, -5 }, /* (161) expr ::= ID|INDEXED LP distinct exprlist RP */ + { 174, -4 }, /* (162) expr ::= ID|INDEXED LP STAR RP */ + { 173, -1 }, /* (163) term ::= CTIME_KW */ + { 174, -5 }, /* (164) expr ::= LP nexprlist COMMA expr RP */ + { 174, -3 }, /* (165) expr ::= expr AND expr */ + { 174, -3 }, /* (166) expr ::= expr OR expr */ + { 174, -3 }, /* (167) expr ::= expr LT|GT|GE|LE expr */ + { 174, -3 }, /* (168) expr ::= expr EQ|NE expr */ + { 174, -3 }, /* (169) expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ + { 174, -3 }, /* (170) expr ::= expr PLUS|MINUS expr */ + { 174, -3 }, /* (171) expr ::= expr STAR|SLASH|REM expr */ + { 174, -3 }, /* (172) expr ::= expr CONCAT expr */ + { 222, -2 }, /* (173) likeop ::= NOT LIKE_KW|MATCH */ + { 174, -3 }, /* (174) expr ::= expr likeop expr */ + { 174, -5 }, /* (175) expr ::= expr likeop expr ESCAPE expr */ + { 174, -2 }, /* (176) expr ::= expr ISNULL|NOTNULL */ + { 174, -3 }, /* (177) expr ::= expr NOT NULL */ + { 174, -3 }, /* (178) expr ::= expr IS expr */ + { 174, -4 }, /* (179) expr ::= expr IS NOT expr */ + { 174, -2 }, /* (180) expr ::= NOT expr */ + { 174, -2 }, /* (181) expr ::= BITNOT expr */ + { 174, -2 }, /* (182) expr ::= MINUS expr */ + { 174, -2 }, /* (183) expr ::= PLUS expr */ + { 223, -1 }, /* (184) between_op ::= BETWEEN */ + { 223, -2 }, /* (185) between_op ::= NOT BETWEEN */ + { 174, -5 }, /* (186) expr ::= expr between_op expr AND expr */ + { 224, -1 }, /* (187) in_op ::= IN */ + { 224, -2 }, /* (188) in_op ::= NOT IN */ + { 174, -5 }, /* (189) expr ::= expr in_op LP exprlist RP */ + { 174, -3 }, /* (190) expr ::= LP select RP */ + { 174, -5 }, /* (191) expr ::= expr in_op LP select RP */ + { 174, -5 }, /* (192) expr ::= expr in_op nm dbnm paren_exprlist */ + { 174, -4 }, /* (193) expr ::= EXISTS LP select RP */ + { 174, -5 }, /* (194) expr ::= CASE case_operand case_exprlist case_else END */ + { 227, -5 }, /* (195) case_exprlist ::= case_exprlist WHEN expr THEN expr */ + { 227, -4 }, /* (196) case_exprlist ::= WHEN expr THEN expr */ + { 228, -2 }, /* (197) case_else ::= ELSE expr */ + { 228, 0 }, /* (198) case_else ::= */ + { 226, -1 }, /* (199) case_operand ::= expr */ + { 226, 0 }, /* (200) case_operand ::= */ + { 209, 0 }, /* (201) exprlist ::= */ + { 208, -3 }, /* (202) nexprlist ::= nexprlist COMMA expr */ + { 208, -1 }, /* (203) nexprlist ::= expr */ + { 225, 0 }, /* (204) paren_exprlist ::= */ + { 225, -3 }, /* (205) paren_exprlist ::= LP exprlist RP */ + { 149, -12 }, /* (206) cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ + { 229, -1 }, /* (207) uniqueflag ::= UNIQUE */ + { 229, 0 }, /* (208) uniqueflag ::= */ + { 178, 0 }, /* (209) eidlist_opt ::= */ + { 178, -3 }, /* (210) eidlist_opt ::= LP eidlist RP */ + { 188, -5 }, /* (211) eidlist ::= eidlist COMMA nm collate sortorder */ + { 188, -3 }, /* (212) eidlist ::= nm collate sortorder */ + { 230, 0 }, /* (213) collate ::= */ + { 230, -2 }, /* (214) collate ::= COLLATE ID|STRING */ + { 149, -4 }, /* (215) cmd ::= DROP INDEX ifexists fullname */ + { 149, -1 }, /* (216) cmd ::= VACUUM */ + { 149, -2 }, /* (217) cmd ::= VACUUM nm */ + { 149, -3 }, /* (218) cmd ::= PRAGMA nm dbnm */ + { 149, -5 }, /* (219) cmd ::= PRAGMA nm dbnm EQ nmnum */ + { 149, -6 }, /* (220) cmd ::= PRAGMA nm dbnm LP nmnum RP */ + { 149, -5 }, /* (221) cmd ::= PRAGMA nm dbnm EQ minus_num */ + { 149, -6 }, /* (222) cmd ::= PRAGMA nm dbnm LP minus_num RP */ + { 169, -2 }, /* (223) plus_num ::= PLUS INTEGER|FLOAT */ + { 170, -2 }, /* (224) minus_num ::= MINUS INTEGER|FLOAT */ + { 149, -5 }, /* (225) cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ + { 232, -11 }, /* (226) trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ + { 234, -1 }, /* (227) trigger_time ::= BEFORE|AFTER */ + { 234, -2 }, /* (228) trigger_time ::= INSTEAD OF */ + { 234, 0 }, /* (229) trigger_time ::= */ + { 235, -1 }, /* (230) trigger_event ::= DELETE|INSERT */ + { 235, -1 }, /* (231) trigger_event ::= UPDATE */ + { 235, -3 }, /* (232) trigger_event ::= UPDATE OF idlist */ + { 237, 0 }, /* (233) when_clause ::= */ + { 237, -2 }, /* (234) when_clause ::= WHEN expr */ + { 233, -3 }, /* (235) trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ + { 233, -2 }, /* (236) trigger_cmd_list ::= trigger_cmd SEMI */ + { 239, -3 }, /* (237) trnm ::= nm DOT nm */ + { 240, -3 }, /* (238) tridxby ::= INDEXED BY nm */ + { 240, -2 }, /* (239) tridxby ::= NOT INDEXED */ + { 238, -8 }, /* (240) trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ + { 238, -7 }, /* (241) trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt */ + { 238, -6 }, /* (242) trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ + { 238, -3 }, /* (243) trigger_cmd ::= scanpt select scanpt */ + { 174, -4 }, /* (244) expr ::= RAISE LP IGNORE RP */ + { 174, -6 }, /* (245) expr ::= RAISE LP raisetype COMMA nm RP */ + { 192, -1 }, /* (246) raisetype ::= ROLLBACK */ + { 192, -1 }, /* (247) raisetype ::= ABORT */ + { 192, -1 }, /* (248) raisetype ::= FAIL */ + { 149, -4 }, /* (249) cmd ::= DROP TRIGGER ifexists fullname */ + { 149, -6 }, /* (250) cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ + { 149, -3 }, /* (251) cmd ::= DETACH database_kw_opt expr */ + { 242, 0 }, /* (252) key_opt ::= */ + { 242, -2 }, /* (253) key_opt ::= KEY expr */ + { 149, -1 }, /* (254) cmd ::= REINDEX */ + { 149, -3 }, /* (255) cmd ::= REINDEX nm dbnm */ + { 149, -1 }, /* (256) cmd ::= ANALYZE */ + { 149, -3 }, /* (257) cmd ::= ANALYZE nm dbnm */ + { 149, -6 }, /* (258) cmd ::= ALTER TABLE fullname RENAME TO nm */ + { 149, -7 }, /* (259) cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ + { 243, -1 }, /* (260) add_column_fullname ::= fullname */ + { 149, -1 }, /* (261) cmd ::= create_vtab */ + { 149, -4 }, /* (262) cmd ::= create_vtab LP vtabarglist RP */ + { 245, -8 }, /* (263) create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ + { 247, 0 }, /* (264) vtabarg ::= */ + { 248, -1 }, /* (265) vtabargtoken ::= ANY */ + { 248, -3 }, /* (266) vtabargtoken ::= lp anylist RP */ + { 249, -1 }, /* (267) lp ::= LP */ + { 197, 0 }, /* (268) with ::= */ + { 197, -2 }, /* (269) with ::= WITH wqlist */ + { 197, -3 }, /* (270) with ::= WITH RECURSIVE wqlist */ + { 251, -6 }, /* (271) wqlist ::= nm eidlist_opt AS LP select RP */ + { 251, -8 }, /* (272) wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ + { 144, -1 }, /* (273) input ::= cmdlist */ + { 145, -2 }, /* (274) cmdlist ::= cmdlist ecmd */ + { 145, -1 }, /* (275) cmdlist ::= ecmd */ + { 146, -1 }, /* (276) ecmd ::= SEMI */ + { 146, -3 }, /* (277) ecmd ::= explain cmdx SEMI */ + { 147, 0 }, /* (278) explain ::= */ + { 151, 0 }, /* (279) trans_opt ::= */ + { 151, -1 }, /* (280) trans_opt ::= TRANSACTION */ + { 151, -2 }, /* (281) trans_opt ::= TRANSACTION nm */ + { 153, -1 }, /* (282) savepoint_opt ::= SAVEPOINT */ + { 153, 0 }, /* (283) savepoint_opt ::= */ + { 149, -2 }, /* (284) cmd ::= create_table create_table_args */ + { 160, -4 }, /* (285) columnlist ::= columnlist COMMA columnname carglist */ + { 160, -2 }, /* (286) columnlist ::= columnname carglist */ + { 152, -1 }, /* (287) nm ::= ID|INDEXED */ + { 152, -1 }, /* (288) nm ::= STRING */ + { 152, -1 }, /* (289) nm ::= JOIN_KW */ + { 166, -1 }, /* (290) typetoken ::= typename */ + { 167, -1 }, /* (291) typename ::= ID|STRING */ + { 168, -1 }, /* (292) signed ::= plus_num */ + { 168, -1 }, /* (293) signed ::= minus_num */ + { 165, -2 }, /* (294) carglist ::= carglist ccons */ + { 165, 0 }, /* (295) carglist ::= */ + { 172, -2 }, /* (296) ccons ::= NULL onconf */ + { 161, -2 }, /* (297) conslist_opt ::= COMMA conslist */ + { 184, -3 }, /* (298) conslist ::= conslist tconscomma tcons */ + { 184, -1 }, /* (299) conslist ::= tcons */ + { 185, 0 }, /* (300) tconscomma ::= */ + { 189, -1 }, /* (301) defer_subclause_opt ::= defer_subclause */ + { 191, -1 }, /* (302) resolvetype ::= raisetype */ + { 195, -1 }, /* (303) selectnowith ::= oneselect */ + { 196, -1 }, /* (304) oneselect ::= values */ + { 210, -2 }, /* (305) sclp ::= selcollist COMMA */ + { 211, -1 }, /* (306) as ::= ID|STRING */ + { 174, -1 }, /* (307) expr ::= term */ + { 222, -1 }, /* (308) likeop ::= LIKE_KW|MATCH */ + { 209, -1 }, /* (309) exprlist ::= nexprlist */ + { 231, -1 }, /* (310) nmnum ::= plus_num */ + { 231, -1 }, /* (311) nmnum ::= nm */ + { 231, -1 }, /* (312) nmnum ::= ON */ + { 231, -1 }, /* (313) nmnum ::= DELETE */ + { 231, -1 }, /* (314) nmnum ::= DEFAULT */ + { 169, -1 }, /* (315) plus_num ::= INTEGER|FLOAT */ + { 236, 0 }, /* (316) foreach_clause ::= */ + { 236, -3 }, /* (317) foreach_clause ::= FOR EACH ROW */ + { 239, -1 }, /* (318) trnm ::= nm */ + { 240, 0 }, /* (319) tridxby ::= */ + { 241, -1 }, /* (320) database_kw_opt ::= DATABASE */ + { 241, 0 }, /* (321) database_kw_opt ::= */ + { 244, 0 }, /* (322) kwcolumn_opt ::= */ + { 244, -1 }, /* (323) kwcolumn_opt ::= COLUMNKW */ + { 246, -1 }, /* (324) vtabarglist ::= vtabarg */ + { 246, -3 }, /* (325) vtabarglist ::= vtabarglist COMMA vtabarg */ + { 247, -2 }, /* (326) vtabarg ::= vtabarg vtabargtoken */ + { 250, 0 }, /* (327) anylist ::= */ + { 250, -4 }, /* (328) anylist ::= anylist LP anylist RP */ + { 250, -2 }, /* (329) anylist ::= anylist ANY */ }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -135020,22 +140504,38 @@ static void yy_accept(yyParser*); /* Forward Declaration */ /* ** Perform a reduce action and the shift that must immediately ** follow the reduce. +** +** The yyLookahead and yyLookaheadToken parameters provide reduce actions +** access to the lookahead token (if any). The yyLookahead will be YYNOCODE +** if the lookahead token has already been consumed. As this procedure is +** only called from one place, optimizing compilers will in-line it, which +** means that the extra parameters have no performance impact. */ static void yy_reduce( yyParser *yypParser, /* The parser */ - unsigned int yyruleno /* Number of the rule by which to reduce */ + unsigned int yyruleno, /* Number of the rule by which to reduce */ + int yyLookahead, /* Lookahead token, or YYNOCODE if none */ + sqlite3ParserTOKENTYPE yyLookaheadToken /* Value of the lookahead token */ ){ int yygoto; /* The next state */ int yyact; /* The next action */ yyStackEntry *yymsp; /* The top of the parser's stack */ int yysize; /* Amount to pop the stack */ sqlite3ParserARG_FETCH; + (void)yyLookahead; + (void)yyLookaheadToken; yymsp = yypParser->yytos; #ifndef NDEBUG if( yyTraceFILE && yyruleno<(int)(sizeof(yyRuleName)/sizeof(yyRuleName[0])) ){ yysize = yyRuleInfo[yyruleno].nrhs; - fprintf(yyTraceFILE, "%sReduce [%s], go to state %d.\n", yyTracePrompt, - yyRuleName[yyruleno], yymsp[-yysize].stateno); + if( yysize ){ + fprintf(yyTraceFILE, "%sReduce %d [%s], go to state %d.\n", + yyTracePrompt, + yyruleno, yyRuleName[yyruleno], yymsp[yysize].stateno); + }else{ + fprintf(yyTraceFILE, "%sReduce %d [%s].\n", + yyTracePrompt, yyruleno, yyRuleName[yyruleno]); + } } #endif /* NDEBUG */ @@ -135050,7 +140550,7 @@ static void yy_reduce( } #endif #if YYSTACKDEPTH>0 - if( yypParser->yytos>=&yypParser->yystack[YYSTACKDEPTH-1] ){ + if( yypParser->yytos>=yypParser->yystackEnd ){ yyStackOverflow(yypParser); return; } @@ -135086,310 +140586,311 @@ static void yy_reduce( { sqlite3FinishCoding(pParse); } break; case 3: /* cmd ::= BEGIN transtype trans_opt */ -{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy194);} +{sqlite3BeginTransaction(pParse, yymsp[-1].minor.yy4);} break; case 4: /* transtype ::= */ -{yymsp[1].minor.yy194 = TK_DEFERRED;} +{yymsp[1].minor.yy4 = TK_DEFERRED;} break; case 5: /* transtype ::= DEFERRED */ case 6: /* transtype ::= IMMEDIATE */ yytestcase(yyruleno==6); case 7: /* transtype ::= EXCLUSIVE */ yytestcase(yyruleno==7); -{yymsp[0].minor.yy194 = yymsp[0].major; /*A-overwrites-X*/} +{yymsp[0].minor.yy4 = yymsp[0].major; /*A-overwrites-X*/} break; - case 8: /* cmd ::= COMMIT trans_opt */ - case 9: /* cmd ::= END trans_opt */ yytestcase(yyruleno==9); -{sqlite3CommitTransaction(pParse);} + case 8: /* cmd ::= COMMIT|END trans_opt */ + case 9: /* cmd ::= ROLLBACK trans_opt */ yytestcase(yyruleno==9); +{sqlite3EndTransaction(pParse,yymsp[-1].major);} break; - case 10: /* cmd ::= ROLLBACK trans_opt */ -{sqlite3RollbackTransaction(pParse);} - break; - case 11: /* cmd ::= SAVEPOINT nm */ + case 10: /* cmd ::= SAVEPOINT nm */ { sqlite3Savepoint(pParse, SAVEPOINT_BEGIN, &yymsp[0].minor.yy0); } break; - case 12: /* cmd ::= RELEASE savepoint_opt nm */ + case 11: /* cmd ::= RELEASE savepoint_opt nm */ { sqlite3Savepoint(pParse, SAVEPOINT_RELEASE, &yymsp[0].minor.yy0); } break; - case 13: /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ + case 12: /* cmd ::= ROLLBACK trans_opt TO savepoint_opt nm */ { sqlite3Savepoint(pParse, SAVEPOINT_ROLLBACK, &yymsp[0].minor.yy0); } break; - case 14: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ + case 13: /* create_table ::= createkw temp TABLE ifnotexists nm dbnm */ { - sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy194,0,0,yymsp[-2].minor.yy194); + sqlite3StartTable(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,yymsp[-4].minor.yy4,0,0,yymsp[-2].minor.yy4); } break; - case 15: /* createkw ::= CREATE */ + case 14: /* createkw ::= CREATE */ {disableLookaside(pParse);} break; - case 16: /* ifnotexists ::= */ - case 19: /* temp ::= */ yytestcase(yyruleno==19); - case 22: /* table_options ::= */ yytestcase(yyruleno==22); + case 15: /* ifnotexists ::= */ + case 18: /* temp ::= */ yytestcase(yyruleno==18); + case 21: /* table_options ::= */ yytestcase(yyruleno==21); case 42: /* autoinc ::= */ yytestcase(yyruleno==42); case 57: /* init_deferred_pred_opt ::= */ yytestcase(yyruleno==57); case 67: /* defer_subclause_opt ::= */ yytestcase(yyruleno==67); case 76: /* ifexists ::= */ yytestcase(yyruleno==76); case 90: /* distinct ::= */ yytestcase(yyruleno==90); - case 215: /* collate ::= */ yytestcase(yyruleno==215); -{yymsp[1].minor.yy194 = 0;} + case 213: /* collate ::= */ yytestcase(yyruleno==213); +{yymsp[1].minor.yy4 = 0;} break; - case 17: /* ifnotexists ::= IF NOT EXISTS */ -{yymsp[-2].minor.yy194 = 1;} + case 16: /* ifnotexists ::= IF NOT EXISTS */ +{yymsp[-2].minor.yy4 = 1;} break; - case 18: /* temp ::= TEMP */ + case 17: /* temp ::= TEMP */ case 43: /* autoinc ::= AUTOINCR */ yytestcase(yyruleno==43); -{yymsp[0].minor.yy194 = 1;} +{yymsp[0].minor.yy4 = 1;} break; - case 20: /* create_table_args ::= LP columnlist conslist_opt RP table_options */ + case 19: /* create_table_args ::= LP columnlist conslist_opt RP table_options */ { - sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy194,0); + sqlite3EndTable(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,yymsp[0].minor.yy4,0); } break; - case 21: /* create_table_args ::= AS select */ + case 20: /* create_table_args ::= AS select */ { - sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy243); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy243); + sqlite3EndTable(pParse,0,0,0,yymsp[0].minor.yy387); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); } break; - case 23: /* table_options ::= WITHOUT nm */ + case 22: /* table_options ::= WITHOUT nm */ { if( yymsp[0].minor.yy0.n==5 && sqlite3_strnicmp(yymsp[0].minor.yy0.z,"rowid",5)==0 ){ - yymsp[-1].minor.yy194 = TF_WithoutRowid | TF_NoVisibleRowid; + yymsp[-1].minor.yy4 = TF_WithoutRowid | TF_NoVisibleRowid; }else{ - yymsp[-1].minor.yy194 = 0; + yymsp[-1].minor.yy4 = 0; sqlite3ErrorMsg(pParse, "unknown table option: %.*s", yymsp[0].minor.yy0.n, yymsp[0].minor.yy0.z); } } break; - case 24: /* columnname ::= nm typetoken */ + case 23: /* columnname ::= nm typetoken */ {sqlite3AddColumn(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0);} break; - case 25: /* typetoken ::= */ + case 24: /* typetoken ::= */ case 60: /* conslist_opt ::= */ yytestcase(yyruleno==60); case 96: /* as ::= */ yytestcase(yyruleno==96); {yymsp[1].minor.yy0.n = 0; yymsp[1].minor.yy0.z = 0;} break; - case 26: /* typetoken ::= typename LP signed RP */ + case 25: /* typetoken ::= typename LP signed RP */ { yymsp[-3].minor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-3].minor.yy0.z); } break; - case 27: /* typetoken ::= typename LP signed COMMA signed RP */ + case 26: /* typetoken ::= typename LP signed COMMA signed RP */ { yymsp[-5].minor.yy0.n = (int)(&yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n] - yymsp[-5].minor.yy0.z); } break; - case 28: /* typename ::= typename ID|STRING */ + case 27: /* typename ::= typename ID|STRING */ {yymsp[-1].minor.yy0.n=yymsp[0].minor.yy0.n+(int)(yymsp[0].minor.yy0.z-yymsp[-1].minor.yy0.z);} break; + case 28: /* scanpt ::= */ +{ + assert( yyLookahead!=YYNOCODE ); + yymsp[1].minor.yy336 = yyLookaheadToken.z; +} + break; case 29: /* ccons ::= CONSTRAINT nm */ case 62: /* tcons ::= CONSTRAINT nm */ yytestcase(yyruleno==62); {pParse->constraintName = yymsp[0].minor.yy0;} break; - case 30: /* ccons ::= DEFAULT term */ - case 32: /* ccons ::= DEFAULT PLUS term */ yytestcase(yyruleno==32); -{sqlite3AddDefaultValue(pParse,&yymsp[0].minor.yy190);} + case 30: /* ccons ::= DEFAULT scanpt term scanpt */ +{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy314,yymsp[-2].minor.yy336,yymsp[0].minor.yy336);} break; case 31: /* ccons ::= DEFAULT LP expr RP */ -{sqlite3AddDefaultValue(pParse,&yymsp[-1].minor.yy190);} +{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy314,yymsp[-2].minor.yy0.z+1,yymsp[0].minor.yy0.z);} break; - case 33: /* ccons ::= DEFAULT MINUS term */ + case 32: /* ccons ::= DEFAULT PLUS term scanpt */ +{sqlite3AddDefaultValue(pParse,yymsp[-1].minor.yy314,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy336);} + break; + case 33: /* ccons ::= DEFAULT MINUS term scanpt */ { - ExprSpan v; - v.pExpr = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy190.pExpr, 0, 0); - v.zStart = yymsp[-1].minor.yy0.z; - v.zEnd = yymsp[0].minor.yy190.zEnd; - sqlite3AddDefaultValue(pParse,&v); + Expr *p = sqlite3PExpr(pParse, TK_UMINUS, yymsp[-1].minor.yy314, 0); + sqlite3AddDefaultValue(pParse,p,yymsp[-2].minor.yy0.z,yymsp[0].minor.yy336); } break; - case 34: /* ccons ::= DEFAULT ID|INDEXED */ + case 34: /* ccons ::= DEFAULT scanpt ID|INDEXED */ { - ExprSpan v; - spanExpr(&v, pParse, TK_STRING, yymsp[0].minor.yy0); - sqlite3AddDefaultValue(pParse,&v); + Expr *p = tokenExpr(pParse, TK_STRING, yymsp[0].minor.yy0); + sqlite3AddDefaultValue(pParse,p,yymsp[0].minor.yy0.z,yymsp[0].minor.yy0.z+yymsp[0].minor.yy0.n); } break; case 35: /* ccons ::= NOT NULL onconf */ -{sqlite3AddNotNull(pParse, yymsp[0].minor.yy194);} +{sqlite3AddNotNull(pParse, yymsp[0].minor.yy4);} break; case 36: /* ccons ::= PRIMARY KEY sortorder onconf autoinc */ -{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy194,yymsp[0].minor.yy194,yymsp[-2].minor.yy194);} +{sqlite3AddPrimaryKey(pParse,0,yymsp[-1].minor.yy4,yymsp[0].minor.yy4,yymsp[-2].minor.yy4);} break; case 37: /* ccons ::= UNIQUE onconf */ -{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy194,0,0,0,0, +{sqlite3CreateIndex(pParse,0,0,0,0,yymsp[0].minor.yy4,0,0,0,0, SQLITE_IDXTYPE_UNIQUE);} break; case 38: /* ccons ::= CHECK LP expr RP */ -{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy190.pExpr);} +{sqlite3AddCheckConstraint(pParse,yymsp[-1].minor.yy314);} break; case 39: /* ccons ::= REFERENCES nm eidlist_opt refargs */ -{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy148,yymsp[0].minor.yy194);} +{sqlite3CreateForeignKey(pParse,0,&yymsp[-2].minor.yy0,yymsp[-1].minor.yy322,yymsp[0].minor.yy4);} break; case 40: /* ccons ::= defer_subclause */ -{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy194);} +{sqlite3DeferForeignKey(pParse,yymsp[0].minor.yy4);} break; case 41: /* ccons ::= COLLATE ID|STRING */ {sqlite3AddCollateType(pParse, &yymsp[0].minor.yy0);} break; case 44: /* refargs ::= */ -{ yymsp[1].minor.yy194 = OE_None*0x0101; /* EV: R-19803-45884 */} +{ yymsp[1].minor.yy4 = OE_None*0x0101; /* EV: R-19803-45884 */} break; case 45: /* refargs ::= refargs refarg */ -{ yymsp[-1].minor.yy194 = (yymsp[-1].minor.yy194 & ~yymsp[0].minor.yy497.mask) | yymsp[0].minor.yy497.value; } +{ yymsp[-1].minor.yy4 = (yymsp[-1].minor.yy4 & ~yymsp[0].minor.yy215.mask) | yymsp[0].minor.yy215.value; } break; case 46: /* refarg ::= MATCH nm */ -{ yymsp[-1].minor.yy497.value = 0; yymsp[-1].minor.yy497.mask = 0x000000; } +{ yymsp[-1].minor.yy215.value = 0; yymsp[-1].minor.yy215.mask = 0x000000; } break; case 47: /* refarg ::= ON INSERT refact */ -{ yymsp[-2].minor.yy497.value = 0; yymsp[-2].minor.yy497.mask = 0x000000; } +{ yymsp[-2].minor.yy215.value = 0; yymsp[-2].minor.yy215.mask = 0x000000; } break; case 48: /* refarg ::= ON DELETE refact */ -{ yymsp[-2].minor.yy497.value = yymsp[0].minor.yy194; yymsp[-2].minor.yy497.mask = 0x0000ff; } +{ yymsp[-2].minor.yy215.value = yymsp[0].minor.yy4; yymsp[-2].minor.yy215.mask = 0x0000ff; } break; case 49: /* refarg ::= ON UPDATE refact */ -{ yymsp[-2].minor.yy497.value = yymsp[0].minor.yy194<<8; yymsp[-2].minor.yy497.mask = 0x00ff00; } +{ yymsp[-2].minor.yy215.value = yymsp[0].minor.yy4<<8; yymsp[-2].minor.yy215.mask = 0x00ff00; } break; case 50: /* refact ::= SET NULL */ -{ yymsp[-1].minor.yy194 = OE_SetNull; /* EV: R-33326-45252 */} +{ yymsp[-1].minor.yy4 = OE_SetNull; /* EV: R-33326-45252 */} break; case 51: /* refact ::= SET DEFAULT */ -{ yymsp[-1].minor.yy194 = OE_SetDflt; /* EV: R-33326-45252 */} +{ yymsp[-1].minor.yy4 = OE_SetDflt; /* EV: R-33326-45252 */} break; case 52: /* refact ::= CASCADE */ -{ yymsp[0].minor.yy194 = OE_Cascade; /* EV: R-33326-45252 */} +{ yymsp[0].minor.yy4 = OE_Cascade; /* EV: R-33326-45252 */} break; case 53: /* refact ::= RESTRICT */ -{ yymsp[0].minor.yy194 = OE_Restrict; /* EV: R-33326-45252 */} +{ yymsp[0].minor.yy4 = OE_Restrict; /* EV: R-33326-45252 */} break; case 54: /* refact ::= NO ACTION */ -{ yymsp[-1].minor.yy194 = OE_None; /* EV: R-33326-45252 */} +{ yymsp[-1].minor.yy4 = OE_None; /* EV: R-33326-45252 */} break; case 55: /* defer_subclause ::= NOT DEFERRABLE init_deferred_pred_opt */ -{yymsp[-2].minor.yy194 = 0;} +{yymsp[-2].minor.yy4 = 0;} break; case 56: /* defer_subclause ::= DEFERRABLE init_deferred_pred_opt */ case 71: /* orconf ::= OR resolvetype */ yytestcase(yyruleno==71); case 144: /* insert_cmd ::= INSERT orconf */ yytestcase(yyruleno==144); -{yymsp[-1].minor.yy194 = yymsp[0].minor.yy194;} +{yymsp[-1].minor.yy4 = yymsp[0].minor.yy4;} break; case 58: /* init_deferred_pred_opt ::= INITIALLY DEFERRED */ case 75: /* ifexists ::= IF EXISTS */ yytestcase(yyruleno==75); - case 187: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==187); - case 190: /* in_op ::= NOT IN */ yytestcase(yyruleno==190); - case 216: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==216); -{yymsp[-1].minor.yy194 = 1;} + case 185: /* between_op ::= NOT BETWEEN */ yytestcase(yyruleno==185); + case 188: /* in_op ::= NOT IN */ yytestcase(yyruleno==188); + case 214: /* collate ::= COLLATE ID|STRING */ yytestcase(yyruleno==214); +{yymsp[-1].minor.yy4 = 1;} break; case 59: /* init_deferred_pred_opt ::= INITIALLY IMMEDIATE */ -{yymsp[-1].minor.yy194 = 0;} +{yymsp[-1].minor.yy4 = 0;} break; case 61: /* tconscomma ::= COMMA */ {pParse->constraintName.n = 0;} break; case 63: /* tcons ::= PRIMARY KEY LP sortlist autoinc RP onconf */ -{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy148,yymsp[0].minor.yy194,yymsp[-2].minor.yy194,0);} +{sqlite3AddPrimaryKey(pParse,yymsp[-3].minor.yy322,yymsp[0].minor.yy4,yymsp[-2].minor.yy4,0);} break; case 64: /* tcons ::= UNIQUE LP sortlist RP onconf */ -{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy148,yymsp[0].minor.yy194,0,0,0,0, +{sqlite3CreateIndex(pParse,0,0,0,yymsp[-2].minor.yy322,yymsp[0].minor.yy4,0,0,0,0, SQLITE_IDXTYPE_UNIQUE);} break; case 65: /* tcons ::= CHECK LP expr RP onconf */ -{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy190.pExpr);} +{sqlite3AddCheckConstraint(pParse,yymsp[-2].minor.yy314);} break; case 66: /* tcons ::= FOREIGN KEY LP eidlist RP REFERENCES nm eidlist_opt refargs defer_subclause_opt */ { - sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy148, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy148, yymsp[-1].minor.yy194); - sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy194); + sqlite3CreateForeignKey(pParse, yymsp[-6].minor.yy322, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy322, yymsp[-1].minor.yy4); + sqlite3DeferForeignKey(pParse, yymsp[0].minor.yy4); } break; case 68: /* onconf ::= */ case 70: /* orconf ::= */ yytestcase(yyruleno==70); -{yymsp[1].minor.yy194 = OE_Default;} +{yymsp[1].minor.yy4 = OE_Default;} break; case 69: /* onconf ::= ON CONFLICT resolvetype */ -{yymsp[-2].minor.yy194 = yymsp[0].minor.yy194;} +{yymsp[-2].minor.yy4 = yymsp[0].minor.yy4;} break; case 72: /* resolvetype ::= IGNORE */ -{yymsp[0].minor.yy194 = OE_Ignore;} +{yymsp[0].minor.yy4 = OE_Ignore;} break; case 73: /* resolvetype ::= REPLACE */ case 145: /* insert_cmd ::= REPLACE */ yytestcase(yyruleno==145); -{yymsp[0].minor.yy194 = OE_Replace;} +{yymsp[0].minor.yy4 = OE_Replace;} break; case 74: /* cmd ::= DROP TABLE ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy185, 0, yymsp[-1].minor.yy194); + sqlite3DropTable(pParse, yymsp[0].minor.yy259, 0, yymsp[-1].minor.yy4); } break; case 77: /* cmd ::= createkw temp VIEW ifnotexists nm dbnm eidlist_opt AS select */ { - sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy148, yymsp[0].minor.yy243, yymsp[-7].minor.yy194, yymsp[-5].minor.yy194); + sqlite3CreateView(pParse, &yymsp[-8].minor.yy0, &yymsp[-4].minor.yy0, &yymsp[-3].minor.yy0, yymsp[-2].minor.yy322, yymsp[0].minor.yy387, yymsp[-7].minor.yy4, yymsp[-5].minor.yy4); } break; case 78: /* cmd ::= DROP VIEW ifexists fullname */ { - sqlite3DropTable(pParse, yymsp[0].minor.yy185, 1, yymsp[-1].minor.yy194); + sqlite3DropTable(pParse, yymsp[0].minor.yy259, 1, yymsp[-1].minor.yy4); } break; case 79: /* cmd ::= select */ { SelectDest dest = {SRT_Output, 0, 0, 0, 0, 0}; - sqlite3Select(pParse, yymsp[0].minor.yy243, &dest); - sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy243); + sqlite3Select(pParse, yymsp[0].minor.yy387, &dest); + sqlite3SelectDelete(pParse->db, yymsp[0].minor.yy387); } break; case 80: /* select ::= with selectnowith */ { - Select *p = yymsp[0].minor.yy243; + Select *p = yymsp[0].minor.yy387; if( p ){ - p->pWith = yymsp[-1].minor.yy285; + p->pWith = yymsp[-1].minor.yy451; parserDoubleLinkSelect(pParse, p); }else{ - sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy285); + sqlite3WithDelete(pParse->db, yymsp[-1].minor.yy451); } - yymsp[-1].minor.yy243 = p; /*A-overwrites-W*/ + yymsp[-1].minor.yy387 = p; /*A-overwrites-W*/ } break; case 81: /* selectnowith ::= selectnowith multiselect_op oneselect */ { - Select *pRhs = yymsp[0].minor.yy243; - Select *pLhs = yymsp[-2].minor.yy243; + Select *pRhs = yymsp[0].minor.yy387; + Select *pLhs = yymsp[-2].minor.yy387; if( pRhs && pRhs->pPrior ){ SrcList *pFrom; Token x; x.n = 0; parserDoubleLinkSelect(pParse, pRhs); pFrom = sqlite3SrcListAppendFromTerm(pParse,0,0,0,&x,pRhs,0,0); - pRhs = sqlite3SelectNew(pParse,0,pFrom,0,0,0,0,0,0,0); + pRhs = sqlite3SelectNew(pParse,0,pFrom,0,0,0,0,0,0); } if( pRhs ){ - pRhs->op = (u8)yymsp[-1].minor.yy194; + pRhs->op = (u8)yymsp[-1].minor.yy4; pRhs->pPrior = pLhs; if( ALWAYS(pLhs) ) pLhs->selFlags &= ~SF_MultiValue; pRhs->selFlags &= ~SF_MultiValue; - if( yymsp[-1].minor.yy194!=TK_ALL ) pParse->hasCompound = 1; + if( yymsp[-1].minor.yy4!=TK_ALL ) pParse->hasCompound = 1; }else{ sqlite3SelectDelete(pParse->db, pLhs); } - yymsp[-2].minor.yy243 = pRhs; + yymsp[-2].minor.yy387 = pRhs; } break; case 82: /* multiselect_op ::= UNION */ case 84: /* multiselect_op ::= EXCEPT|INTERSECT */ yytestcase(yyruleno==84); -{yymsp[0].minor.yy194 = yymsp[0].major; /*A-overwrites-OP*/} +{yymsp[0].minor.yy4 = yymsp[0].major; /*A-overwrites-OP*/} break; case 83: /* multiselect_op ::= UNION ALL */ -{yymsp[-1].minor.yy194 = TK_ALL;} +{yymsp[-1].minor.yy4 = TK_ALL;} break; case 85: /* oneselect ::= SELECT distinct selcollist from where_opt groupby_opt having_opt orderby_opt limit_opt */ { #if SELECTTRACE_ENABLED Token s = yymsp[-8].minor.yy0; /*A-overwrites-S*/ #endif - yymsp[-8].minor.yy243 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy148,yymsp[-5].minor.yy185,yymsp[-4].minor.yy72,yymsp[-3].minor.yy148,yymsp[-2].minor.yy72,yymsp[-1].minor.yy148,yymsp[-7].minor.yy194,yymsp[0].minor.yy354.pLimit,yymsp[0].minor.yy354.pOffset); + yymsp[-8].minor.yy387 = sqlite3SelectNew(pParse,yymsp[-6].minor.yy322,yymsp[-5].minor.yy259,yymsp[-4].minor.yy314,yymsp[-3].minor.yy322,yymsp[-2].minor.yy314,yymsp[-1].minor.yy322,yymsp[-7].minor.yy4,yymsp[0].minor.yy314); #if SELECTTRACE_ENABLED /* Populate the Select.zSelName[] string that is used to help with ** query planner debugging, to differentiate between multiple Select @@ -135400,17 +140901,17 @@ static void yy_reduce( ** comment to be the zSelName value. Otherwise, the label is #N where ** is an integer that is incremented with each SELECT statement seen. */ - if( yymsp[-8].minor.yy243!=0 ){ + if( yymsp[-8].minor.yy387!=0 ){ const char *z = s.z+6; int i; - sqlite3_snprintf(sizeof(yymsp[-8].minor.yy243->zSelName), yymsp[-8].minor.yy243->zSelName, "#%d", + sqlite3_snprintf(sizeof(yymsp[-8].minor.yy387->zSelName), yymsp[-8].minor.yy387->zSelName, "#%d", ++pParse->nSelect); while( z[0]==' ' ) z++; if( z[0]=='/' && z[1]=='*' ){ z += 2; while( z[0]==' ' ) z++; for(i=0; sqlite3Isalnum(z[i]); i++){} - sqlite3_snprintf(sizeof(yymsp[-8].minor.yy243->zSelName), yymsp[-8].minor.yy243->zSelName, "%.*s", i, z); + sqlite3_snprintf(sizeof(yymsp[-8].minor.yy387->zSelName), yymsp[-8].minor.yy387->zSelName, "%.*s", i, z); } } #endif /* SELECTRACE_ENABLED */ @@ -135418,119 +140919,119 @@ static void yy_reduce( break; case 86: /* values ::= VALUES LP nexprlist RP */ { - yymsp[-3].minor.yy243 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy148,0,0,0,0,0,SF_Values,0,0); + yymsp[-3].minor.yy387 = sqlite3SelectNew(pParse,yymsp[-1].minor.yy322,0,0,0,0,0,SF_Values,0); } break; case 87: /* values ::= values COMMA LP exprlist RP */ { - Select *pRight, *pLeft = yymsp[-4].minor.yy243; - pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy148,0,0,0,0,0,SF_Values|SF_MultiValue,0,0); + Select *pRight, *pLeft = yymsp[-4].minor.yy387; + pRight = sqlite3SelectNew(pParse,yymsp[-1].minor.yy322,0,0,0,0,0,SF_Values|SF_MultiValue,0); if( ALWAYS(pLeft) ) pLeft->selFlags &= ~SF_MultiValue; if( pRight ){ pRight->op = TK_ALL; pRight->pPrior = pLeft; - yymsp[-4].minor.yy243 = pRight; + yymsp[-4].minor.yy387 = pRight; }else{ - yymsp[-4].minor.yy243 = pLeft; + yymsp[-4].minor.yy387 = pLeft; } } break; case 88: /* distinct ::= DISTINCT */ -{yymsp[0].minor.yy194 = SF_Distinct;} +{yymsp[0].minor.yy4 = SF_Distinct;} break; case 89: /* distinct ::= ALL */ -{yymsp[0].minor.yy194 = SF_All;} +{yymsp[0].minor.yy4 = SF_All;} break; case 91: /* sclp ::= */ case 119: /* orderby_opt ::= */ yytestcase(yyruleno==119); case 126: /* groupby_opt ::= */ yytestcase(yyruleno==126); - case 203: /* exprlist ::= */ yytestcase(yyruleno==203); - case 206: /* paren_exprlist ::= */ yytestcase(yyruleno==206); - case 211: /* eidlist_opt ::= */ yytestcase(yyruleno==211); -{yymsp[1].minor.yy148 = 0;} + case 201: /* exprlist ::= */ yytestcase(yyruleno==201); + case 204: /* paren_exprlist ::= */ yytestcase(yyruleno==204); + case 209: /* eidlist_opt ::= */ yytestcase(yyruleno==209); +{yymsp[1].minor.yy322 = 0;} break; - case 92: /* selcollist ::= sclp expr as */ + case 92: /* selcollist ::= sclp scanpt expr scanpt as */ { - yymsp[-2].minor.yy148 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy148, yymsp[-1].minor.yy190.pExpr); - if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-2].minor.yy148, &yymsp[0].minor.yy0, 1); - sqlite3ExprListSetSpan(pParse,yymsp[-2].minor.yy148,&yymsp[-1].minor.yy190); + yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy322, yymsp[-2].minor.yy314); + if( yymsp[0].minor.yy0.n>0 ) sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy322, &yymsp[0].minor.yy0, 1); + sqlite3ExprListSetSpan(pParse,yymsp[-4].minor.yy322,yymsp[-3].minor.yy336,yymsp[-1].minor.yy336); } break; - case 93: /* selcollist ::= sclp STAR */ + case 93: /* selcollist ::= sclp scanpt STAR */ { Expr *p = sqlite3Expr(pParse->db, TK_ASTERISK, 0); - yymsp[-1].minor.yy148 = sqlite3ExprListAppend(pParse, yymsp[-1].minor.yy148, p); + yymsp[-2].minor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-2].minor.yy322, p); } break; - case 94: /* selcollist ::= sclp nm DOT STAR */ + case 94: /* selcollist ::= sclp scanpt nm DOT STAR */ { - Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0, 0); - Expr *pLeft = sqlite3PExpr(pParse, TK_ID, 0, 0, &yymsp[-2].minor.yy0); - Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight, 0); - yymsp[-3].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy148, pDot); + Expr *pRight = sqlite3PExpr(pParse, TK_ASTERISK, 0, 0); + Expr *pLeft = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); + Expr *pDot = sqlite3PExpr(pParse, TK_DOT, pLeft, pRight); + yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, pDot); } break; case 95: /* as ::= AS nm */ case 106: /* dbnm ::= DOT nm */ yytestcase(yyruleno==106); - case 225: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==225); - case 226: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==226); + case 223: /* plus_num ::= PLUS INTEGER|FLOAT */ yytestcase(yyruleno==223); + case 224: /* minus_num ::= MINUS INTEGER|FLOAT */ yytestcase(yyruleno==224); {yymsp[-1].minor.yy0 = yymsp[0].minor.yy0;} break; case 97: /* from ::= */ -{yymsp[1].minor.yy185 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy185));} +{yymsp[1].minor.yy259 = sqlite3DbMallocZero(pParse->db, sizeof(*yymsp[1].minor.yy259));} break; case 98: /* from ::= FROM seltablist */ { - yymsp[-1].minor.yy185 = yymsp[0].minor.yy185; - sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy185); + yymsp[-1].minor.yy259 = yymsp[0].minor.yy259; + sqlite3SrcListShiftJoinType(yymsp[-1].minor.yy259); } break; case 99: /* stl_prefix ::= seltablist joinop */ { - if( ALWAYS(yymsp[-1].minor.yy185 && yymsp[-1].minor.yy185->nSrc>0) ) yymsp[-1].minor.yy185->a[yymsp[-1].minor.yy185->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy194; + if( ALWAYS(yymsp[-1].minor.yy259 && yymsp[-1].minor.yy259->nSrc>0) ) yymsp[-1].minor.yy259->a[yymsp[-1].minor.yy259->nSrc-1].fg.jointype = (u8)yymsp[0].minor.yy4; } break; case 100: /* stl_prefix ::= */ -{yymsp[1].minor.yy185 = 0;} +{yymsp[1].minor.yy259 = 0;} break; case 101: /* seltablist ::= stl_prefix nm dbnm as indexed_opt on_opt using_opt */ { - yymsp[-6].minor.yy185 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy185,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy72,yymsp[0].minor.yy254); - sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy185, &yymsp[-2].minor.yy0); + yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,&yymsp[-5].minor.yy0,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); + sqlite3SrcListIndexedBy(pParse, yymsp[-6].minor.yy259, &yymsp[-2].minor.yy0); } break; case 102: /* seltablist ::= stl_prefix nm dbnm LP exprlist RP as on_opt using_opt */ { - yymsp[-8].minor.yy185 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy185,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy72,yymsp[0].minor.yy254); - sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy185, yymsp[-4].minor.yy148); + yymsp[-8].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-8].minor.yy259,&yymsp[-7].minor.yy0,&yymsp[-6].minor.yy0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); + sqlite3SrcListFuncArgs(pParse, yymsp[-8].minor.yy259, yymsp[-4].minor.yy322); } break; case 103: /* seltablist ::= stl_prefix LP select RP as on_opt using_opt */ { - yymsp[-6].minor.yy185 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy185,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy243,yymsp[-1].minor.yy72,yymsp[0].minor.yy254); + yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,yymsp[-4].minor.yy387,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); } break; case 104: /* seltablist ::= stl_prefix LP seltablist RP as on_opt using_opt */ { - if( yymsp[-6].minor.yy185==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy72==0 && yymsp[0].minor.yy254==0 ){ - yymsp[-6].minor.yy185 = yymsp[-4].minor.yy185; - }else if( yymsp[-4].minor.yy185->nSrc==1 ){ - yymsp[-6].minor.yy185 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy185,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy72,yymsp[0].minor.yy254); - if( yymsp[-6].minor.yy185 ){ - struct SrcList_item *pNew = &yymsp[-6].minor.yy185->a[yymsp[-6].minor.yy185->nSrc-1]; - struct SrcList_item *pOld = yymsp[-4].minor.yy185->a; + if( yymsp[-6].minor.yy259==0 && yymsp[-2].minor.yy0.n==0 && yymsp[-1].minor.yy314==0 && yymsp[0].minor.yy384==0 ){ + yymsp[-6].minor.yy259 = yymsp[-4].minor.yy259; + }else if( yymsp[-4].minor.yy259->nSrc==1 ){ + yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,0,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); + if( yymsp[-6].minor.yy259 ){ + struct SrcList_item *pNew = &yymsp[-6].minor.yy259->a[yymsp[-6].minor.yy259->nSrc-1]; + struct SrcList_item *pOld = yymsp[-4].minor.yy259->a; pNew->zName = pOld->zName; pNew->zDatabase = pOld->zDatabase; pNew->pSelect = pOld->pSelect; pOld->zName = pOld->zDatabase = 0; pOld->pSelect = 0; } - sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy185); + sqlite3SrcListDelete(pParse->db, yymsp[-4].minor.yy259); }else{ Select *pSubquery; - sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy185); - pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy185,0,0,0,0,SF_NestedFrom,0,0); - yymsp[-6].minor.yy185 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy185,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy72,yymsp[0].minor.yy254); + sqlite3SrcListShiftJoinType(yymsp[-4].minor.yy259); + pSubquery = sqlite3SelectNew(pParse,0,yymsp[-4].minor.yy259,0,0,0,0,SF_NestedFrom,0); + yymsp[-6].minor.yy259 = sqlite3SrcListAppendFromTerm(pParse,yymsp[-6].minor.yy259,0,0,&yymsp[-2].minor.yy0,pSubquery,yymsp[-1].minor.yy314,yymsp[0].minor.yy384); } } break; @@ -135539,32 +141040,33 @@ static void yy_reduce( {yymsp[1].minor.yy0.z=0; yymsp[1].minor.yy0.n=0;} break; case 107: /* fullname ::= nm dbnm */ -{yymsp[-1].minor.yy185 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} +{yymsp[-1].minor.yy259 = sqlite3SrcListAppend(pParse->db,0,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/} break; case 108: /* joinop ::= COMMA|JOIN */ -{ yymsp[0].minor.yy194 = JT_INNER; } +{ yymsp[0].minor.yy4 = JT_INNER; } break; case 109: /* joinop ::= JOIN_KW JOIN */ -{yymsp[-1].minor.yy194 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} +{yymsp[-1].minor.yy4 = sqlite3JoinType(pParse,&yymsp[-1].minor.yy0,0,0); /*X-overwrites-A*/} break; case 110: /* joinop ::= JOIN_KW nm JOIN */ -{yymsp[-2].minor.yy194 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} +{yymsp[-2].minor.yy4 = sqlite3JoinType(pParse,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0,0); /*X-overwrites-A*/} break; case 111: /* joinop ::= JOIN_KW nm nm JOIN */ -{yymsp[-3].minor.yy194 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} +{yymsp[-3].minor.yy4 = sqlite3JoinType(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0);/*X-overwrites-A*/} break; case 112: /* on_opt ::= ON expr */ case 129: /* having_opt ::= HAVING expr */ yytestcase(yyruleno==129); case 136: /* where_opt ::= WHERE expr */ yytestcase(yyruleno==136); - case 199: /* case_else ::= ELSE expr */ yytestcase(yyruleno==199); -{yymsp[-1].minor.yy72 = yymsp[0].minor.yy190.pExpr;} + case 197: /* case_else ::= ELSE expr */ yytestcase(yyruleno==197); +{yymsp[-1].minor.yy314 = yymsp[0].minor.yy314;} break; case 113: /* on_opt ::= */ case 128: /* having_opt ::= */ yytestcase(yyruleno==128); + case 130: /* limit_opt ::= */ yytestcase(yyruleno==130); case 135: /* where_opt ::= */ yytestcase(yyruleno==135); - case 200: /* case_else ::= */ yytestcase(yyruleno==200); - case 202: /* case_operand ::= */ yytestcase(yyruleno==202); -{yymsp[1].minor.yy72 = 0;} + case 198: /* case_else ::= */ yytestcase(yyruleno==198); + case 200: /* case_operand ::= */ yytestcase(yyruleno==200); +{yymsp[1].minor.yy314 = 0;} break; case 115: /* indexed_opt ::= INDEXED BY nm */ {yymsp[-2].minor.yy0 = yymsp[0].minor.yy0;} @@ -135573,314 +141075,294 @@ static void yy_reduce( {yymsp[-1].minor.yy0.z=0; yymsp[-1].minor.yy0.n=1;} break; case 117: /* using_opt ::= USING LP idlist RP */ -{yymsp[-3].minor.yy254 = yymsp[-1].minor.yy254;} +{yymsp[-3].minor.yy384 = yymsp[-1].minor.yy384;} break; case 118: /* using_opt ::= */ case 146: /* idlist_opt ::= */ yytestcase(yyruleno==146); -{yymsp[1].minor.yy254 = 0;} +{yymsp[1].minor.yy384 = 0;} break; case 120: /* orderby_opt ::= ORDER BY sortlist */ case 127: /* groupby_opt ::= GROUP BY nexprlist */ yytestcase(yyruleno==127); -{yymsp[-2].minor.yy148 = yymsp[0].minor.yy148;} +{yymsp[-2].minor.yy322 = yymsp[0].minor.yy322;} break; case 121: /* sortlist ::= sortlist COMMA expr sortorder */ { - yymsp[-3].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy148,yymsp[-1].minor.yy190.pExpr); - sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy148,yymsp[0].minor.yy194); + yymsp[-3].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322,yymsp[-1].minor.yy314); + sqlite3ExprListSetSortOrder(yymsp[-3].minor.yy322,yymsp[0].minor.yy4); } break; case 122: /* sortlist ::= expr sortorder */ { - yymsp[-1].minor.yy148 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy190.pExpr); /*A-overwrites-Y*/ - sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy148,yymsp[0].minor.yy194); + yymsp[-1].minor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[-1].minor.yy314); /*A-overwrites-Y*/ + sqlite3ExprListSetSortOrder(yymsp[-1].minor.yy322,yymsp[0].minor.yy4); } break; case 123: /* sortorder ::= ASC */ -{yymsp[0].minor.yy194 = SQLITE_SO_ASC;} +{yymsp[0].minor.yy4 = SQLITE_SO_ASC;} break; case 124: /* sortorder ::= DESC */ -{yymsp[0].minor.yy194 = SQLITE_SO_DESC;} +{yymsp[0].minor.yy4 = SQLITE_SO_DESC;} break; case 125: /* sortorder ::= */ -{yymsp[1].minor.yy194 = SQLITE_SO_UNDEFINED;} - break; - case 130: /* limit_opt ::= */ -{yymsp[1].minor.yy354.pLimit = 0; yymsp[1].minor.yy354.pOffset = 0;} +{yymsp[1].minor.yy4 = SQLITE_SO_UNDEFINED;} break; case 131: /* limit_opt ::= LIMIT expr */ -{yymsp[-1].minor.yy354.pLimit = yymsp[0].minor.yy190.pExpr; yymsp[-1].minor.yy354.pOffset = 0;} +{yymsp[-1].minor.yy314 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy314,0);} break; case 132: /* limit_opt ::= LIMIT expr OFFSET expr */ -{yymsp[-3].minor.yy354.pLimit = yymsp[-2].minor.yy190.pExpr; yymsp[-3].minor.yy354.pOffset = yymsp[0].minor.yy190.pExpr;} +{yymsp[-3].minor.yy314 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[-2].minor.yy314,yymsp[0].minor.yy314);} break; case 133: /* limit_opt ::= LIMIT expr COMMA expr */ -{yymsp[-3].minor.yy354.pOffset = yymsp[-2].minor.yy190.pExpr; yymsp[-3].minor.yy354.pLimit = yymsp[0].minor.yy190.pExpr;} +{yymsp[-3].minor.yy314 = sqlite3PExpr(pParse,TK_LIMIT,yymsp[0].minor.yy314,yymsp[-2].minor.yy314);} break; case 134: /* cmd ::= with DELETE FROM fullname indexed_opt where_opt */ { - sqlite3WithPush(pParse, yymsp[-5].minor.yy285, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy185, &yymsp[-1].minor.yy0); - sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy185,yymsp[0].minor.yy72); + sqlite3WithPush(pParse, yymsp[-5].minor.yy451, 1); + sqlite3SrcListIndexedBy(pParse, yymsp[-2].minor.yy259, &yymsp[-1].minor.yy0); + sqlite3DeleteFrom(pParse,yymsp[-2].minor.yy259,yymsp[0].minor.yy314,0,0); } break; case 137: /* cmd ::= with UPDATE orconf fullname indexed_opt SET setlist where_opt */ { - sqlite3WithPush(pParse, yymsp[-7].minor.yy285, 1); - sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy185, &yymsp[-3].minor.yy0); - sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy148,"set list"); - sqlite3Update(pParse,yymsp[-4].minor.yy185,yymsp[-1].minor.yy148,yymsp[0].minor.yy72,yymsp[-5].minor.yy194); + sqlite3WithPush(pParse, yymsp[-7].minor.yy451, 1); + sqlite3SrcListIndexedBy(pParse, yymsp[-4].minor.yy259, &yymsp[-3].minor.yy0); + sqlite3ExprListCheckLength(pParse,yymsp[-1].minor.yy322,"set list"); + sqlite3Update(pParse,yymsp[-4].minor.yy259,yymsp[-1].minor.yy322,yymsp[0].minor.yy314,yymsp[-5].minor.yy4,0,0); } break; case 138: /* setlist ::= setlist COMMA nm EQ expr */ { - yymsp[-4].minor.yy148 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy148, yymsp[0].minor.yy190.pExpr); - sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy148, &yymsp[-2].minor.yy0, 1); + yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse, yymsp[-4].minor.yy322, yymsp[0].minor.yy314); + sqlite3ExprListSetName(pParse, yymsp[-4].minor.yy322, &yymsp[-2].minor.yy0, 1); } break; case 139: /* setlist ::= setlist COMMA LP idlist RP EQ expr */ { - yymsp[-6].minor.yy148 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy148, yymsp[-3].minor.yy254, yymsp[0].minor.yy190.pExpr); + yymsp[-6].minor.yy322 = sqlite3ExprListAppendVector(pParse, yymsp[-6].minor.yy322, yymsp[-3].minor.yy384, yymsp[0].minor.yy314); } break; case 140: /* setlist ::= nm EQ expr */ { - yylhsminor.yy148 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy190.pExpr); - sqlite3ExprListSetName(pParse, yylhsminor.yy148, &yymsp[-2].minor.yy0, 1); + yylhsminor.yy322 = sqlite3ExprListAppend(pParse, 0, yymsp[0].minor.yy314); + sqlite3ExprListSetName(pParse, yylhsminor.yy322, &yymsp[-2].minor.yy0, 1); } - yymsp[-2].minor.yy148 = yylhsminor.yy148; + yymsp[-2].minor.yy322 = yylhsminor.yy322; break; case 141: /* setlist ::= LP idlist RP EQ expr */ { - yymsp[-4].minor.yy148 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy254, yymsp[0].minor.yy190.pExpr); + yymsp[-4].minor.yy322 = sqlite3ExprListAppendVector(pParse, 0, yymsp[-3].minor.yy384, yymsp[0].minor.yy314); } break; case 142: /* cmd ::= with insert_cmd INTO fullname idlist_opt select */ { - sqlite3WithPush(pParse, yymsp[-5].minor.yy285, 1); - sqlite3Insert(pParse, yymsp[-2].minor.yy185, yymsp[0].minor.yy243, yymsp[-1].minor.yy254, yymsp[-4].minor.yy194); + sqlite3WithPush(pParse, yymsp[-5].minor.yy451, 1); + sqlite3Insert(pParse, yymsp[-2].minor.yy259, yymsp[0].minor.yy387, yymsp[-1].minor.yy384, yymsp[-4].minor.yy4); } break; case 143: /* cmd ::= with insert_cmd INTO fullname idlist_opt DEFAULT VALUES */ { - sqlite3WithPush(pParse, yymsp[-6].minor.yy285, 1); - sqlite3Insert(pParse, yymsp[-3].minor.yy185, 0, yymsp[-2].minor.yy254, yymsp[-5].minor.yy194); + sqlite3WithPush(pParse, yymsp[-6].minor.yy451, 1); + sqlite3Insert(pParse, yymsp[-3].minor.yy259, 0, yymsp[-2].minor.yy384, yymsp[-5].minor.yy4); } break; case 147: /* idlist_opt ::= LP idlist RP */ -{yymsp[-2].minor.yy254 = yymsp[-1].minor.yy254;} +{yymsp[-2].minor.yy384 = yymsp[-1].minor.yy384;} break; case 148: /* idlist ::= idlist COMMA nm */ -{yymsp[-2].minor.yy254 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy254,&yymsp[0].minor.yy0);} +{yymsp[-2].minor.yy384 = sqlite3IdListAppend(pParse->db,yymsp[-2].minor.yy384,&yymsp[0].minor.yy0);} break; case 149: /* idlist ::= nm */ -{yymsp[0].minor.yy254 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} +{yymsp[0].minor.yy384 = sqlite3IdListAppend(pParse->db,0,&yymsp[0].minor.yy0); /*A-overwrites-Y*/} break; case 150: /* expr ::= LP expr RP */ -{spanSet(&yymsp[-2].minor.yy190,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ yymsp[-2].minor.yy190.pExpr = yymsp[-1].minor.yy190.pExpr;} +{yymsp[-2].minor.yy314 = yymsp[-1].minor.yy314;} break; - case 151: /* term ::= NULL */ - case 156: /* term ::= FLOAT|BLOB */ yytestcase(yyruleno==156); - case 157: /* term ::= STRING */ yytestcase(yyruleno==157); -{spanExpr(&yymsp[0].minor.yy190,pParse,yymsp[0].major,yymsp[0].minor.yy0);/*A-overwrites-X*/} + case 151: /* expr ::= ID|INDEXED */ + case 152: /* expr ::= JOIN_KW */ yytestcase(yyruleno==152); +{yymsp[0].minor.yy314=tokenExpr(pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} break; - case 152: /* expr ::= ID|INDEXED */ - case 153: /* expr ::= JOIN_KW */ yytestcase(yyruleno==153); -{spanExpr(&yymsp[0].minor.yy190,pParse,TK_ID,yymsp[0].minor.yy0); /*A-overwrites-X*/} - break; - case 154: /* expr ::= nm DOT nm */ + case 153: /* expr ::= nm DOT nm */ { Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); - spanSet(&yymsp[-2].minor.yy190,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ - yymsp[-2].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp2, 0); + yylhsminor.yy314 = sqlite3PExpr(pParse, TK_DOT, temp1, temp2); } + yymsp[-2].minor.yy314 = yylhsminor.yy314; break; - case 155: /* expr ::= nm DOT nm DOT nm */ + case 154: /* expr ::= nm DOT nm DOT nm */ { Expr *temp1 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-4].minor.yy0, 1); Expr *temp2 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[-2].minor.yy0, 1); Expr *temp3 = sqlite3ExprAlloc(pParse->db, TK_ID, &yymsp[0].minor.yy0, 1); - Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3, 0); - spanSet(&yymsp[-4].minor.yy190,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ - yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_DOT, temp1, temp4, 0); + Expr *temp4 = sqlite3PExpr(pParse, TK_DOT, temp2, temp3); + yylhsminor.yy314 = sqlite3PExpr(pParse, TK_DOT, temp1, temp4); } + yymsp[-4].minor.yy314 = yylhsminor.yy314; + break; + case 155: /* term ::= NULL|FLOAT|BLOB */ + case 156: /* term ::= STRING */ yytestcase(yyruleno==156); +{yymsp[0].minor.yy314=tokenExpr(pParse,yymsp[0].major,yymsp[0].minor.yy0); /*A-overwrites-X*/} break; - case 158: /* term ::= INTEGER */ + case 157: /* term ::= INTEGER */ { - yylhsminor.yy190.pExpr = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); - yylhsminor.yy190.zStart = yymsp[0].minor.yy0.z; - yylhsminor.yy190.zEnd = yymsp[0].minor.yy0.z + yymsp[0].minor.yy0.n; - if( yylhsminor.yy190.pExpr ) yylhsminor.yy190.pExpr->flags |= EP_Leaf; + yylhsminor.yy314 = sqlite3ExprAlloc(pParse->db, TK_INTEGER, &yymsp[0].minor.yy0, 1); } - yymsp[0].minor.yy190 = yylhsminor.yy190; + yymsp[0].minor.yy314 = yylhsminor.yy314; break; - case 159: /* expr ::= VARIABLE */ + case 158: /* expr ::= VARIABLE */ { if( !(yymsp[0].minor.yy0.z[0]=='#' && sqlite3Isdigit(yymsp[0].minor.yy0.z[1])) ){ u32 n = yymsp[0].minor.yy0.n; - spanExpr(&yymsp[0].minor.yy190, pParse, TK_VARIABLE, yymsp[0].minor.yy0); - sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy190.pExpr, n); + yymsp[0].minor.yy314 = tokenExpr(pParse, TK_VARIABLE, yymsp[0].minor.yy0); + sqlite3ExprAssignVarNumber(pParse, yymsp[0].minor.yy314, n); }else{ /* When doing a nested parse, one can include terms in an expression ** that look like this: #1 #2 ... These terms refer to registers ** in the virtual machine. #N is the N-th register. */ Token t = yymsp[0].minor.yy0; /*A-overwrites-X*/ assert( t.n>=2 ); - spanSet(&yymsp[0].minor.yy190, &t, &t); if( pParse->nested==0 ){ sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &t); - yymsp[0].minor.yy190.pExpr = 0; + yymsp[0].minor.yy314 = 0; }else{ - yymsp[0].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_REGISTER, 0, 0, 0); - if( yymsp[0].minor.yy190.pExpr ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy190.pExpr->iTable); + yymsp[0].minor.yy314 = sqlite3PExpr(pParse, TK_REGISTER, 0, 0); + if( yymsp[0].minor.yy314 ) sqlite3GetInt32(&t.z[1], &yymsp[0].minor.yy314->iTable); } } } break; - case 160: /* expr ::= expr COLLATE ID|STRING */ + case 159: /* expr ::= expr COLLATE ID|STRING */ { - yymsp[-2].minor.yy190.pExpr = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy190.pExpr, &yymsp[0].minor.yy0, 1); - yymsp[-2].minor.yy190.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yymsp[-2].minor.yy314 = sqlite3ExprAddCollateToken(pParse, yymsp[-2].minor.yy314, &yymsp[0].minor.yy0, 1); } break; - case 161: /* expr ::= CAST LP expr AS typetoken RP */ + case 160: /* expr ::= CAST LP expr AS typetoken RP */ { - spanSet(&yymsp[-5].minor.yy190,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ - yymsp[-5].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_CAST, yymsp[-3].minor.yy190.pExpr, 0, &yymsp[-1].minor.yy0); + yymsp[-5].minor.yy314 = sqlite3ExprAlloc(pParse->db, TK_CAST, &yymsp[-1].minor.yy0, 1); + sqlite3ExprAttachSubtrees(pParse->db, yymsp[-5].minor.yy314, yymsp[-3].minor.yy314, 0); } break; - case 162: /* expr ::= ID|INDEXED LP distinct exprlist RP */ + case 161: /* expr ::= ID|INDEXED LP distinct exprlist RP */ { - if( yymsp[-1].minor.yy148 && yymsp[-1].minor.yy148->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ + if( yymsp[-1].minor.yy322 && yymsp[-1].minor.yy322->nExpr>pParse->db->aLimit[SQLITE_LIMIT_FUNCTION_ARG] ){ sqlite3ErrorMsg(pParse, "too many arguments on function %T", &yymsp[-4].minor.yy0); } - yylhsminor.yy190.pExpr = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy148, &yymsp[-4].minor.yy0); - spanSet(&yylhsminor.yy190,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); - if( yymsp[-2].minor.yy194==SF_Distinct && yylhsminor.yy190.pExpr ){ - yylhsminor.yy190.pExpr->flags |= EP_Distinct; + yylhsminor.yy314 = sqlite3ExprFunction(pParse, yymsp[-1].minor.yy322, &yymsp[-4].minor.yy0); + if( yymsp[-2].minor.yy4==SF_Distinct && yylhsminor.yy314 ){ + yylhsminor.yy314->flags |= EP_Distinct; } } - yymsp[-4].minor.yy190 = yylhsminor.yy190; + yymsp[-4].minor.yy314 = yylhsminor.yy314; break; - case 163: /* expr ::= ID|INDEXED LP STAR RP */ + case 162: /* expr ::= ID|INDEXED LP STAR RP */ { - yylhsminor.yy190.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); - spanSet(&yylhsminor.yy190,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); + yylhsminor.yy314 = sqlite3ExprFunction(pParse, 0, &yymsp[-3].minor.yy0); } - yymsp[-3].minor.yy190 = yylhsminor.yy190; + yymsp[-3].minor.yy314 = yylhsminor.yy314; break; - case 164: /* term ::= CTIME_KW */ + case 163: /* term ::= CTIME_KW */ { - yylhsminor.yy190.pExpr = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); - spanSet(&yylhsminor.yy190, &yymsp[0].minor.yy0, &yymsp[0].minor.yy0); + yylhsminor.yy314 = sqlite3ExprFunction(pParse, 0, &yymsp[0].minor.yy0); } - yymsp[0].minor.yy190 = yylhsminor.yy190; + yymsp[0].minor.yy314 = yylhsminor.yy314; break; - case 165: /* expr ::= LP nexprlist COMMA expr RP */ + case 164: /* expr ::= LP nexprlist COMMA expr RP */ { - ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy148, yymsp[-1].minor.yy190.pExpr); - yylhsminor.yy190.pExpr = sqlite3PExpr(pParse, TK_VECTOR, 0, 0, 0); - if( yylhsminor.yy190.pExpr ){ - yylhsminor.yy190.pExpr->x.pList = pList; - spanSet(&yylhsminor.yy190, &yymsp[-4].minor.yy0, &yymsp[0].minor.yy0); + ExprList *pList = sqlite3ExprListAppend(pParse, yymsp[-3].minor.yy322, yymsp[-1].minor.yy314); + yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_VECTOR, 0, 0); + if( yymsp[-4].minor.yy314 ){ + yymsp[-4].minor.yy314->x.pList = pList; }else{ sqlite3ExprListDelete(pParse->db, pList); } } - yymsp[-4].minor.yy190 = yylhsminor.yy190; break; - case 166: /* expr ::= expr AND expr */ - case 167: /* expr ::= expr OR expr */ yytestcase(yyruleno==167); - case 168: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==168); - case 169: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==169); - case 170: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==170); - case 171: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==171); - case 172: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==172); - case 173: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==173); -{spanBinaryExpr(pParse,yymsp[-1].major,&yymsp[-2].minor.yy190,&yymsp[0].minor.yy190);} + case 165: /* expr ::= expr AND expr */ + case 166: /* expr ::= expr OR expr */ yytestcase(yyruleno==166); + case 167: /* expr ::= expr LT|GT|GE|LE expr */ yytestcase(yyruleno==167); + case 168: /* expr ::= expr EQ|NE expr */ yytestcase(yyruleno==168); + case 169: /* expr ::= expr BITAND|BITOR|LSHIFT|RSHIFT expr */ yytestcase(yyruleno==169); + case 170: /* expr ::= expr PLUS|MINUS expr */ yytestcase(yyruleno==170); + case 171: /* expr ::= expr STAR|SLASH|REM expr */ yytestcase(yyruleno==171); + case 172: /* expr ::= expr CONCAT expr */ yytestcase(yyruleno==172); +{yymsp[-2].minor.yy314=sqlite3PExpr(pParse,yymsp[-1].major,yymsp[-2].minor.yy314,yymsp[0].minor.yy314);} break; - case 174: /* likeop ::= LIKE_KW|MATCH */ -{yymsp[0].minor.yy0=yymsp[0].minor.yy0;/*A-overwrites-X*/} - break; - case 175: /* likeop ::= NOT LIKE_KW|MATCH */ + case 173: /* likeop ::= NOT LIKE_KW|MATCH */ {yymsp[-1].minor.yy0=yymsp[0].minor.yy0; yymsp[-1].minor.yy0.n|=0x80000000; /*yymsp[-1].minor.yy0-overwrite-yymsp[0].minor.yy0*/} break; - case 176: /* expr ::= expr likeop expr */ + case 174: /* expr ::= expr likeop expr */ { ExprList *pList; int bNot = yymsp[-1].minor.yy0.n & 0x80000000; yymsp[-1].minor.yy0.n &= 0x7fffffff; - pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy190.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy190.pExpr); - yymsp[-2].minor.yy190.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0); - exprNot(pParse, bNot, &yymsp[-2].minor.yy190); - yymsp[-2].minor.yy190.zEnd = yymsp[0].minor.yy190.zEnd; - if( yymsp[-2].minor.yy190.pExpr ) yymsp[-2].minor.yy190.pExpr->flags |= EP_InfixFunc; + pList = sqlite3ExprListAppend(pParse,0, yymsp[0].minor.yy314); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-2].minor.yy314); + yymsp[-2].minor.yy314 = sqlite3ExprFunction(pParse, pList, &yymsp[-1].minor.yy0); + if( bNot ) yymsp[-2].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-2].minor.yy314, 0); + if( yymsp[-2].minor.yy314 ) yymsp[-2].minor.yy314->flags |= EP_InfixFunc; } break; - case 177: /* expr ::= expr likeop expr ESCAPE expr */ + case 175: /* expr ::= expr likeop expr ESCAPE expr */ { ExprList *pList; int bNot = yymsp[-3].minor.yy0.n & 0x80000000; yymsp[-3].minor.yy0.n &= 0x7fffffff; - pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy190.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy190.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy190.pExpr); - yymsp[-4].minor.yy190.pExpr = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0); - exprNot(pParse, bNot, &yymsp[-4].minor.yy190); - yymsp[-4].minor.yy190.zEnd = yymsp[0].minor.yy190.zEnd; - if( yymsp[-4].minor.yy190.pExpr ) yymsp[-4].minor.yy190.pExpr->flags |= EP_InfixFunc; + pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy314); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[-4].minor.yy314); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy314); + yymsp[-4].minor.yy314 = sqlite3ExprFunction(pParse, pList, &yymsp[-3].minor.yy0); + if( bNot ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); + if( yymsp[-4].minor.yy314 ) yymsp[-4].minor.yy314->flags |= EP_InfixFunc; } break; - case 178: /* expr ::= expr ISNULL|NOTNULL */ -{spanUnaryPostfix(pParse,yymsp[0].major,&yymsp[-1].minor.yy190,&yymsp[0].minor.yy0);} + case 176: /* expr ::= expr ISNULL|NOTNULL */ +{yymsp[-1].minor.yy314 = sqlite3PExpr(pParse,yymsp[0].major,yymsp[-1].minor.yy314,0);} break; - case 179: /* expr ::= expr NOT NULL */ -{spanUnaryPostfix(pParse,TK_NOTNULL,&yymsp[-2].minor.yy190,&yymsp[0].minor.yy0);} + case 177: /* expr ::= expr NOT NULL */ +{yymsp[-2].minor.yy314 = sqlite3PExpr(pParse,TK_NOTNULL,yymsp[-2].minor.yy314,0);} break; - case 180: /* expr ::= expr IS expr */ + case 178: /* expr ::= expr IS expr */ { - spanBinaryExpr(pParse,TK_IS,&yymsp[-2].minor.yy190,&yymsp[0].minor.yy190); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy190.pExpr, yymsp[-2].minor.yy190.pExpr, TK_ISNULL); + yymsp[-2].minor.yy314 = sqlite3PExpr(pParse,TK_IS,yymsp[-2].minor.yy314,yymsp[0].minor.yy314); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy314, yymsp[-2].minor.yy314, TK_ISNULL); } break; - case 181: /* expr ::= expr IS NOT expr */ + case 179: /* expr ::= expr IS NOT expr */ { - spanBinaryExpr(pParse,TK_ISNOT,&yymsp[-3].minor.yy190,&yymsp[0].minor.yy190); - binaryToUnaryIfNull(pParse, yymsp[0].minor.yy190.pExpr, yymsp[-3].minor.yy190.pExpr, TK_NOTNULL); + yymsp[-3].minor.yy314 = sqlite3PExpr(pParse,TK_ISNOT,yymsp[-3].minor.yy314,yymsp[0].minor.yy314); + binaryToUnaryIfNull(pParse, yymsp[0].minor.yy314, yymsp[-3].minor.yy314, TK_NOTNULL); } break; - case 182: /* expr ::= NOT expr */ - case 183: /* expr ::= BITNOT expr */ yytestcase(yyruleno==183); -{spanUnaryPrefix(&yymsp[-1].minor.yy190,pParse,yymsp[-1].major,&yymsp[0].minor.yy190,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} + case 180: /* expr ::= NOT expr */ + case 181: /* expr ::= BITNOT expr */ yytestcase(yyruleno==181); +{yymsp[-1].minor.yy314 = sqlite3PExpr(pParse, yymsp[-1].major, yymsp[0].minor.yy314, 0);/*A-overwrites-B*/} break; - case 184: /* expr ::= MINUS expr */ -{spanUnaryPrefix(&yymsp[-1].minor.yy190,pParse,TK_UMINUS,&yymsp[0].minor.yy190,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} + case 182: /* expr ::= MINUS expr */ +{yymsp[-1].minor.yy314 = sqlite3PExpr(pParse, TK_UMINUS, yymsp[0].minor.yy314, 0);} break; - case 185: /* expr ::= PLUS expr */ -{spanUnaryPrefix(&yymsp[-1].minor.yy190,pParse,TK_UPLUS,&yymsp[0].minor.yy190,&yymsp[-1].minor.yy0);/*A-overwrites-B*/} + case 183: /* expr ::= PLUS expr */ +{yymsp[-1].minor.yy314 = sqlite3PExpr(pParse, TK_UPLUS, yymsp[0].minor.yy314, 0);} break; - case 186: /* between_op ::= BETWEEN */ - case 189: /* in_op ::= IN */ yytestcase(yyruleno==189); -{yymsp[0].minor.yy194 = 0;} + case 184: /* between_op ::= BETWEEN */ + case 187: /* in_op ::= IN */ yytestcase(yyruleno==187); +{yymsp[0].minor.yy4 = 0;} break; - case 188: /* expr ::= expr between_op expr AND expr */ + case 186: /* expr ::= expr between_op expr AND expr */ { - ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy190.pExpr); - pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy190.pExpr); - yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy190.pExpr, 0, 0); - if( yymsp[-4].minor.yy190.pExpr ){ - yymsp[-4].minor.yy190.pExpr->x.pList = pList; + ExprList *pList = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy314); + pList = sqlite3ExprListAppend(pParse,pList, yymsp[0].minor.yy314); + yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_BETWEEN, yymsp[-4].minor.yy314, 0); + if( yymsp[-4].minor.yy314 ){ + yymsp[-4].minor.yy314->x.pList = pList; }else{ sqlite3ExprListDelete(pParse->db, pList); } - exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); - yymsp[-4].minor.yy190.zEnd = yymsp[0].minor.yy190.zEnd; + if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); } break; - case 191: /* expr ::= expr in_op LP exprlist RP */ + case 189: /* expr ::= expr in_op LP exprlist RP */ { - if( yymsp[-1].minor.yy148==0 ){ + if( yymsp[-1].minor.yy322==0 ){ /* Expressions of the form ** ** expr1 IN () @@ -135889,9 +141371,9 @@ static void yy_reduce( ** simplify to constants 0 (false) and 1 (true), respectively, ** regardless of the value of expr1. */ - sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy190.pExpr); - yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_INTEGER, 0, 0, &sqlite3IntTokens[yymsp[-3].minor.yy194]); - }else if( yymsp[-1].minor.yy148->nExpr==1 ){ + sqlite3ExprDelete(pParse->db, yymsp[-4].minor.yy314); + yymsp[-4].minor.yy314 = sqlite3ExprAlloc(pParse->db, TK_INTEGER,&sqlite3IntTokens[yymsp[-3].minor.yy4],1); + }else if( yymsp[-1].minor.yy322->nExpr==1 ){ /* Expressions of the form: ** ** expr1 IN (?1) @@ -135908,204 +141390,195 @@ static void yy_reduce( ** affinity or the collating sequence to use for comparison. Otherwise, ** the semantics would be subtly different from IN or NOT IN. */ - Expr *pRHS = yymsp[-1].minor.yy148->a[0].pExpr; - yymsp[-1].minor.yy148->a[0].pExpr = 0; - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy148); + Expr *pRHS = yymsp[-1].minor.yy322->a[0].pExpr; + yymsp[-1].minor.yy322->a[0].pExpr = 0; + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy322); /* pRHS cannot be NULL because a malloc error would have been detected ** before now and control would have never reached this point */ if( ALWAYS(pRHS) ){ pRHS->flags &= ~EP_Collate; pRHS->flags |= EP_Generic; } - yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, yymsp[-3].minor.yy194 ? TK_NE : TK_EQ, yymsp[-4].minor.yy190.pExpr, pRHS, 0); + yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, yymsp[-3].minor.yy4 ? TK_NE : TK_EQ, yymsp[-4].minor.yy314, pRHS); }else{ - yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy190.pExpr, 0, 0); - if( yymsp[-4].minor.yy190.pExpr ){ - yymsp[-4].minor.yy190.pExpr->x.pList = yymsp[-1].minor.yy148; - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy190.pExpr); + yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy314, 0); + if( yymsp[-4].minor.yy314 ){ + yymsp[-4].minor.yy314->x.pList = yymsp[-1].minor.yy322; + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy314); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy148); + sqlite3ExprListDelete(pParse->db, yymsp[-1].minor.yy322); } - exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); + if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); } - yymsp[-4].minor.yy190.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; } break; - case 192: /* expr ::= LP select RP */ + case 190: /* expr ::= LP select RP */ { - spanSet(&yymsp[-2].minor.yy190,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ - yymsp[-2].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_SELECT, 0, 0, 0); - sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy190.pExpr, yymsp[-1].minor.yy243); + yymsp[-2].minor.yy314 = sqlite3PExpr(pParse, TK_SELECT, 0, 0); + sqlite3PExprAddSelect(pParse, yymsp[-2].minor.yy314, yymsp[-1].minor.yy387); } break; - case 193: /* expr ::= expr in_op LP select RP */ + case 191: /* expr ::= expr in_op LP select RP */ { - yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy190.pExpr, 0, 0); - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy190.pExpr, yymsp[-1].minor.yy243); - exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); - yymsp[-4].minor.yy190.zEnd = &yymsp[0].minor.yy0.z[yymsp[0].minor.yy0.n]; + yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy314, 0); + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy314, yymsp[-1].minor.yy387); + if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); } break; - case 194: /* expr ::= expr in_op nm dbnm paren_exprlist */ + case 192: /* expr ::= expr in_op nm dbnm paren_exprlist */ { SrcList *pSrc = sqlite3SrcListAppend(pParse->db, 0,&yymsp[-2].minor.yy0,&yymsp[-1].minor.yy0); - Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0,0); - if( yymsp[0].minor.yy148 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy148); - yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy190.pExpr, 0, 0); - sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy190.pExpr, pSelect); - exprNot(pParse, yymsp[-3].minor.yy194, &yymsp[-4].minor.yy190); - yymsp[-4].minor.yy190.zEnd = yymsp[-1].minor.yy0.z ? &yymsp[-1].minor.yy0.z[yymsp[-1].minor.yy0.n] : &yymsp[-2].minor.yy0.z[yymsp[-2].minor.yy0.n]; + Select *pSelect = sqlite3SelectNew(pParse, 0,pSrc,0,0,0,0,0,0); + if( yymsp[0].minor.yy322 ) sqlite3SrcListFuncArgs(pParse, pSelect ? pSrc : 0, yymsp[0].minor.yy322); + yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_IN, yymsp[-4].minor.yy314, 0); + sqlite3PExprAddSelect(pParse, yymsp[-4].minor.yy314, pSelect); + if( yymsp[-3].minor.yy4 ) yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_NOT, yymsp[-4].minor.yy314, 0); } break; - case 195: /* expr ::= EXISTS LP select RP */ + case 193: /* expr ::= EXISTS LP select RP */ { Expr *p; - spanSet(&yymsp[-3].minor.yy190,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-B*/ - p = yymsp[-3].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_EXISTS, 0, 0, 0); - sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy243); + p = yymsp[-3].minor.yy314 = sqlite3PExpr(pParse, TK_EXISTS, 0, 0); + sqlite3PExprAddSelect(pParse, p, yymsp[-1].minor.yy387); } break; - case 196: /* expr ::= CASE case_operand case_exprlist case_else END */ + case 194: /* expr ::= CASE case_operand case_exprlist case_else END */ { - spanSet(&yymsp[-4].minor.yy190,&yymsp[-4].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-C*/ - yymsp[-4].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy72, 0, 0); - if( yymsp[-4].minor.yy190.pExpr ){ - yymsp[-4].minor.yy190.pExpr->x.pList = yymsp[-1].minor.yy72 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy148,yymsp[-1].minor.yy72) : yymsp[-2].minor.yy148; - sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy190.pExpr); + yymsp[-4].minor.yy314 = sqlite3PExpr(pParse, TK_CASE, yymsp[-3].minor.yy314, 0); + if( yymsp[-4].minor.yy314 ){ + yymsp[-4].minor.yy314->x.pList = yymsp[-1].minor.yy314 ? sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[-1].minor.yy314) : yymsp[-2].minor.yy322; + sqlite3ExprSetHeightAndFlags(pParse, yymsp[-4].minor.yy314); }else{ - sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy148); - sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy72); + sqlite3ExprListDelete(pParse->db, yymsp[-2].minor.yy322); + sqlite3ExprDelete(pParse->db, yymsp[-1].minor.yy314); } } break; - case 197: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ + case 195: /* case_exprlist ::= case_exprlist WHEN expr THEN expr */ { - yymsp[-4].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy148, yymsp[-2].minor.yy190.pExpr); - yymsp[-4].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy148, yymsp[0].minor.yy190.pExpr); + yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, yymsp[-2].minor.yy314); + yymsp[-4].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-4].minor.yy322, yymsp[0].minor.yy314); } break; - case 198: /* case_exprlist ::= WHEN expr THEN expr */ + case 196: /* case_exprlist ::= WHEN expr THEN expr */ { - yymsp[-3].minor.yy148 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy190.pExpr); - yymsp[-3].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy148, yymsp[0].minor.yy190.pExpr); + yymsp[-3].minor.yy322 = sqlite3ExprListAppend(pParse,0, yymsp[-2].minor.yy314); + yymsp[-3].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-3].minor.yy322, yymsp[0].minor.yy314); } break; - case 201: /* case_operand ::= expr */ -{yymsp[0].minor.yy72 = yymsp[0].minor.yy190.pExpr; /*A-overwrites-X*/} + case 199: /* case_operand ::= expr */ +{yymsp[0].minor.yy314 = yymsp[0].minor.yy314; /*A-overwrites-X*/} break; - case 204: /* nexprlist ::= nexprlist COMMA expr */ -{yymsp[-2].minor.yy148 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy148,yymsp[0].minor.yy190.pExpr);} + case 202: /* nexprlist ::= nexprlist COMMA expr */ +{yymsp[-2].minor.yy322 = sqlite3ExprListAppend(pParse,yymsp[-2].minor.yy322,yymsp[0].minor.yy314);} break; - case 205: /* nexprlist ::= expr */ -{yymsp[0].minor.yy148 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy190.pExpr); /*A-overwrites-Y*/} + case 203: /* nexprlist ::= expr */ +{yymsp[0].minor.yy322 = sqlite3ExprListAppend(pParse,0,yymsp[0].minor.yy314); /*A-overwrites-Y*/} break; - case 207: /* paren_exprlist ::= LP exprlist RP */ - case 212: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==212); -{yymsp[-2].minor.yy148 = yymsp[-1].minor.yy148;} + case 205: /* paren_exprlist ::= LP exprlist RP */ + case 210: /* eidlist_opt ::= LP eidlist RP */ yytestcase(yyruleno==210); +{yymsp[-2].minor.yy322 = yymsp[-1].minor.yy322;} break; - case 208: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ + case 206: /* cmd ::= createkw uniqueflag INDEX ifnotexists nm dbnm ON nm LP sortlist RP where_opt */ { sqlite3CreateIndex(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, - sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy148, yymsp[-10].minor.yy194, - &yymsp[-11].minor.yy0, yymsp[0].minor.yy72, SQLITE_SO_ASC, yymsp[-8].minor.yy194, SQLITE_IDXTYPE_APPDEF); + sqlite3SrcListAppend(pParse->db,0,&yymsp[-4].minor.yy0,0), yymsp[-2].minor.yy322, yymsp[-10].minor.yy4, + &yymsp[-11].minor.yy0, yymsp[0].minor.yy314, SQLITE_SO_ASC, yymsp[-8].minor.yy4, SQLITE_IDXTYPE_APPDEF); } break; - case 209: /* uniqueflag ::= UNIQUE */ - case 250: /* raisetype ::= ABORT */ yytestcase(yyruleno==250); -{yymsp[0].minor.yy194 = OE_Abort;} + case 207: /* uniqueflag ::= UNIQUE */ + case 247: /* raisetype ::= ABORT */ yytestcase(yyruleno==247); +{yymsp[0].minor.yy4 = OE_Abort;} break; - case 210: /* uniqueflag ::= */ -{yymsp[1].minor.yy194 = OE_None;} + case 208: /* uniqueflag ::= */ +{yymsp[1].minor.yy4 = OE_None;} break; - case 213: /* eidlist ::= eidlist COMMA nm collate sortorder */ + case 211: /* eidlist ::= eidlist COMMA nm collate sortorder */ { - yymsp[-4].minor.yy148 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy148, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy194, yymsp[0].minor.yy194); + yymsp[-4].minor.yy322 = parserAddExprIdListTerm(pParse, yymsp[-4].minor.yy322, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy4, yymsp[0].minor.yy4); } break; - case 214: /* eidlist ::= nm collate sortorder */ + case 212: /* eidlist ::= nm collate sortorder */ { - yymsp[-2].minor.yy148 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy194, yymsp[0].minor.yy194); /*A-overwrites-Y*/ + yymsp[-2].minor.yy322 = parserAddExprIdListTerm(pParse, 0, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy4, yymsp[0].minor.yy4); /*A-overwrites-Y*/ } break; - case 217: /* cmd ::= DROP INDEX ifexists fullname */ -{sqlite3DropIndex(pParse, yymsp[0].minor.yy185, yymsp[-1].minor.yy194);} + case 215: /* cmd ::= DROP INDEX ifexists fullname */ +{sqlite3DropIndex(pParse, yymsp[0].minor.yy259, yymsp[-1].minor.yy4);} break; - case 218: /* cmd ::= VACUUM */ + case 216: /* cmd ::= VACUUM */ {sqlite3Vacuum(pParse,0);} break; - case 219: /* cmd ::= VACUUM nm */ + case 217: /* cmd ::= VACUUM nm */ {sqlite3Vacuum(pParse,&yymsp[0].minor.yy0);} break; - case 220: /* cmd ::= PRAGMA nm dbnm */ + case 218: /* cmd ::= PRAGMA nm dbnm */ {sqlite3Pragma(pParse,&yymsp[-1].minor.yy0,&yymsp[0].minor.yy0,0,0);} break; - case 221: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ + case 219: /* cmd ::= PRAGMA nm dbnm EQ nmnum */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,0);} break; - case 222: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ + case 220: /* cmd ::= PRAGMA nm dbnm LP nmnum RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,0);} break; - case 223: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ + case 221: /* cmd ::= PRAGMA nm dbnm EQ minus_num */ {sqlite3Pragma(pParse,&yymsp[-3].minor.yy0,&yymsp[-2].minor.yy0,&yymsp[0].minor.yy0,1);} break; - case 224: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ + case 222: /* cmd ::= PRAGMA nm dbnm LP minus_num RP */ {sqlite3Pragma(pParse,&yymsp[-4].minor.yy0,&yymsp[-3].minor.yy0,&yymsp[-1].minor.yy0,1);} break; - case 227: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ + case 225: /* cmd ::= createkw trigger_decl BEGIN trigger_cmd_list END */ { Token all; all.z = yymsp[-3].minor.yy0.z; all.n = (int)(yymsp[0].minor.yy0.z - yymsp[-3].minor.yy0.z) + yymsp[0].minor.yy0.n; - sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy145, &all); + sqlite3FinishTrigger(pParse, yymsp[-1].minor.yy203, &all); } break; - case 228: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ + case 226: /* trigger_decl ::= temp TRIGGER ifnotexists nm dbnm trigger_time trigger_event ON fullname foreach_clause when_clause */ { - sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy194, yymsp[-4].minor.yy332.a, yymsp[-4].minor.yy332.b, yymsp[-2].minor.yy185, yymsp[0].minor.yy72, yymsp[-10].minor.yy194, yymsp[-8].minor.yy194); + sqlite3BeginTrigger(pParse, &yymsp[-7].minor.yy0, &yymsp[-6].minor.yy0, yymsp[-5].minor.yy4, yymsp[-4].minor.yy90.a, yymsp[-4].minor.yy90.b, yymsp[-2].minor.yy259, yymsp[0].minor.yy314, yymsp[-10].minor.yy4, yymsp[-8].minor.yy4); yymsp[-10].minor.yy0 = (yymsp[-6].minor.yy0.n==0?yymsp[-7].minor.yy0:yymsp[-6].minor.yy0); /*A-overwrites-T*/ } break; - case 229: /* trigger_time ::= BEFORE */ -{ yymsp[0].minor.yy194 = TK_BEFORE; } - break; - case 230: /* trigger_time ::= AFTER */ -{ yymsp[0].minor.yy194 = TK_AFTER; } + case 227: /* trigger_time ::= BEFORE|AFTER */ +{ yymsp[0].minor.yy4 = yymsp[0].major; /*A-overwrites-X*/ } break; - case 231: /* trigger_time ::= INSTEAD OF */ -{ yymsp[-1].minor.yy194 = TK_INSTEAD;} + case 228: /* trigger_time ::= INSTEAD OF */ +{ yymsp[-1].minor.yy4 = TK_INSTEAD;} break; - case 232: /* trigger_time ::= */ -{ yymsp[1].minor.yy194 = TK_BEFORE; } + case 229: /* trigger_time ::= */ +{ yymsp[1].minor.yy4 = TK_BEFORE; } break; - case 233: /* trigger_event ::= DELETE|INSERT */ - case 234: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==234); -{yymsp[0].minor.yy332.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy332.b = 0;} + case 230: /* trigger_event ::= DELETE|INSERT */ + case 231: /* trigger_event ::= UPDATE */ yytestcase(yyruleno==231); +{yymsp[0].minor.yy90.a = yymsp[0].major; /*A-overwrites-X*/ yymsp[0].minor.yy90.b = 0;} break; - case 235: /* trigger_event ::= UPDATE OF idlist */ -{yymsp[-2].minor.yy332.a = TK_UPDATE; yymsp[-2].minor.yy332.b = yymsp[0].minor.yy254;} + case 232: /* trigger_event ::= UPDATE OF idlist */ +{yymsp[-2].minor.yy90.a = TK_UPDATE; yymsp[-2].minor.yy90.b = yymsp[0].minor.yy384;} break; - case 236: /* when_clause ::= */ - case 255: /* key_opt ::= */ yytestcase(yyruleno==255); -{ yymsp[1].minor.yy72 = 0; } + case 233: /* when_clause ::= */ + case 252: /* key_opt ::= */ yytestcase(yyruleno==252); +{ yymsp[1].minor.yy314 = 0; } break; - case 237: /* when_clause ::= WHEN expr */ - case 256: /* key_opt ::= KEY expr */ yytestcase(yyruleno==256); -{ yymsp[-1].minor.yy72 = yymsp[0].minor.yy190.pExpr; } + case 234: /* when_clause ::= WHEN expr */ + case 253: /* key_opt ::= KEY expr */ yytestcase(yyruleno==253); +{ yymsp[-1].minor.yy314 = yymsp[0].minor.yy314; } break; - case 238: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ + case 235: /* trigger_cmd_list ::= trigger_cmd_list trigger_cmd SEMI */ { - assert( yymsp[-2].minor.yy145!=0 ); - yymsp[-2].minor.yy145->pLast->pNext = yymsp[-1].minor.yy145; - yymsp[-2].minor.yy145->pLast = yymsp[-1].minor.yy145; + assert( yymsp[-2].minor.yy203!=0 ); + yymsp[-2].minor.yy203->pLast->pNext = yymsp[-1].minor.yy203; + yymsp[-2].minor.yy203->pLast = yymsp[-1].minor.yy203; } break; - case 239: /* trigger_cmd_list ::= trigger_cmd SEMI */ + case 236: /* trigger_cmd_list ::= trigger_cmd SEMI */ { - assert( yymsp[-1].minor.yy145!=0 ); - yymsp[-1].minor.yy145->pLast = yymsp[-1].minor.yy145; + assert( yymsp[-1].minor.yy203!=0 ); + yymsp[-1].minor.yy203->pLast = yymsp[-1].minor.yy203; } break; - case 240: /* trnm ::= nm DOT nm */ + case 237: /* trnm ::= nm DOT nm */ { yymsp[-2].minor.yy0 = yymsp[0].minor.yy0; sqlite3ErrorMsg(pParse, @@ -136113,216 +141586,218 @@ static void yy_reduce( "statements within triggers"); } break; - case 241: /* tridxby ::= INDEXED BY nm */ + case 238: /* tridxby ::= INDEXED BY nm */ { sqlite3ErrorMsg(pParse, "the INDEXED BY clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 242: /* tridxby ::= NOT INDEXED */ + case 239: /* tridxby ::= NOT INDEXED */ { sqlite3ErrorMsg(pParse, "the NOT INDEXED clause is not allowed on UPDATE or DELETE statements " "within triggers"); } break; - case 243: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt */ -{yymsp[-6].minor.yy145 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-4].minor.yy0, yymsp[-1].minor.yy148, yymsp[0].minor.yy72, yymsp[-5].minor.yy194);} + case 240: /* trigger_cmd ::= UPDATE orconf trnm tridxby SET setlist where_opt scanpt */ +{yylhsminor.yy203 = sqlite3TriggerUpdateStep(pParse->db, &yymsp[-5].minor.yy0, yymsp[-2].minor.yy322, yymsp[-1].minor.yy314, yymsp[-6].minor.yy4, yymsp[-7].minor.yy0.z, yymsp[0].minor.yy336);} + yymsp[-7].minor.yy203 = yylhsminor.yy203; break; - case 244: /* trigger_cmd ::= insert_cmd INTO trnm idlist_opt select */ -{yymsp[-4].minor.yy145 = sqlite3TriggerInsertStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[-1].minor.yy254, yymsp[0].minor.yy243, yymsp[-4].minor.yy194);/*A-overwrites-R*/} + case 241: /* trigger_cmd ::= scanpt insert_cmd INTO trnm idlist_opt select scanpt */ +{yylhsminor.yy203 = sqlite3TriggerInsertStep(pParse->db,&yymsp[-3].minor.yy0,yymsp[-2].minor.yy384,yymsp[-1].minor.yy387,yymsp[-5].minor.yy4,yymsp[-6].minor.yy336,yymsp[0].minor.yy336);/*yylhsminor.yy203-overwrites-yymsp[-5].minor.yy4*/} + yymsp[-6].minor.yy203 = yylhsminor.yy203; break; - case 245: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt */ -{yymsp[-4].minor.yy145 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-2].minor.yy0, yymsp[0].minor.yy72);} + case 242: /* trigger_cmd ::= DELETE FROM trnm tridxby where_opt scanpt */ +{yylhsminor.yy203 = sqlite3TriggerDeleteStep(pParse->db, &yymsp[-3].minor.yy0, yymsp[-1].minor.yy314, yymsp[-5].minor.yy0.z, yymsp[0].minor.yy336);} + yymsp[-5].minor.yy203 = yylhsminor.yy203; break; - case 246: /* trigger_cmd ::= select */ -{yymsp[0].minor.yy145 = sqlite3TriggerSelectStep(pParse->db, yymsp[0].minor.yy243); /*A-overwrites-X*/} + case 243: /* trigger_cmd ::= scanpt select scanpt */ +{yylhsminor.yy203 = sqlite3TriggerSelectStep(pParse->db, yymsp[-1].minor.yy387, yymsp[-2].minor.yy336, yymsp[0].minor.yy336); /*yylhsminor.yy203-overwrites-yymsp[-1].minor.yy387*/} + yymsp[-2].minor.yy203 = yylhsminor.yy203; break; - case 247: /* expr ::= RAISE LP IGNORE RP */ + case 244: /* expr ::= RAISE LP IGNORE RP */ { - spanSet(&yymsp[-3].minor.yy190,&yymsp[-3].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ - yymsp[-3].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, 0); - if( yymsp[-3].minor.yy190.pExpr ){ - yymsp[-3].minor.yy190.pExpr->affinity = OE_Ignore; + yymsp[-3].minor.yy314 = sqlite3PExpr(pParse, TK_RAISE, 0, 0); + if( yymsp[-3].minor.yy314 ){ + yymsp[-3].minor.yy314->affinity = OE_Ignore; } } break; - case 248: /* expr ::= RAISE LP raisetype COMMA nm RP */ + case 245: /* expr ::= RAISE LP raisetype COMMA nm RP */ { - spanSet(&yymsp[-5].minor.yy190,&yymsp[-5].minor.yy0,&yymsp[0].minor.yy0); /*A-overwrites-X*/ - yymsp[-5].minor.yy190.pExpr = sqlite3PExpr(pParse, TK_RAISE, 0, 0, &yymsp[-1].minor.yy0); - if( yymsp[-5].minor.yy190.pExpr ) { - yymsp[-5].minor.yy190.pExpr->affinity = (char)yymsp[-3].minor.yy194; + yymsp[-5].minor.yy314 = sqlite3ExprAlloc(pParse->db, TK_RAISE, &yymsp[-1].minor.yy0, 1); + if( yymsp[-5].minor.yy314 ) { + yymsp[-5].minor.yy314->affinity = (char)yymsp[-3].minor.yy4; } } break; - case 249: /* raisetype ::= ROLLBACK */ -{yymsp[0].minor.yy194 = OE_Rollback;} + case 246: /* raisetype ::= ROLLBACK */ +{yymsp[0].minor.yy4 = OE_Rollback;} break; - case 251: /* raisetype ::= FAIL */ -{yymsp[0].minor.yy194 = OE_Fail;} + case 248: /* raisetype ::= FAIL */ +{yymsp[0].minor.yy4 = OE_Fail;} break; - case 252: /* cmd ::= DROP TRIGGER ifexists fullname */ + case 249: /* cmd ::= DROP TRIGGER ifexists fullname */ { - sqlite3DropTrigger(pParse,yymsp[0].minor.yy185,yymsp[-1].minor.yy194); + sqlite3DropTrigger(pParse,yymsp[0].minor.yy259,yymsp[-1].minor.yy4); } break; - case 253: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ + case 250: /* cmd ::= ATTACH database_kw_opt expr AS expr key_opt */ { - sqlite3Attach(pParse, yymsp[-3].minor.yy190.pExpr, yymsp[-1].minor.yy190.pExpr, yymsp[0].minor.yy72); + sqlite3Attach(pParse, yymsp[-3].minor.yy314, yymsp[-1].minor.yy314, yymsp[0].minor.yy314); } break; - case 254: /* cmd ::= DETACH database_kw_opt expr */ + case 251: /* cmd ::= DETACH database_kw_opt expr */ { - sqlite3Detach(pParse, yymsp[0].minor.yy190.pExpr); + sqlite3Detach(pParse, yymsp[0].minor.yy314); } break; - case 257: /* cmd ::= REINDEX */ + case 254: /* cmd ::= REINDEX */ {sqlite3Reindex(pParse, 0, 0);} break; - case 258: /* cmd ::= REINDEX nm dbnm */ + case 255: /* cmd ::= REINDEX nm dbnm */ {sqlite3Reindex(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 259: /* cmd ::= ANALYZE */ + case 256: /* cmd ::= ANALYZE */ {sqlite3Analyze(pParse, 0, 0);} break; - case 260: /* cmd ::= ANALYZE nm dbnm */ + case 257: /* cmd ::= ANALYZE nm dbnm */ {sqlite3Analyze(pParse, &yymsp[-1].minor.yy0, &yymsp[0].minor.yy0);} break; - case 261: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ + case 258: /* cmd ::= ALTER TABLE fullname RENAME TO nm */ { - sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy185,&yymsp[0].minor.yy0); + sqlite3AlterRenameTable(pParse,yymsp[-3].minor.yy259,&yymsp[0].minor.yy0); } break; - case 262: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ + case 259: /* cmd ::= ALTER TABLE add_column_fullname ADD kwcolumn_opt columnname carglist */ { yymsp[-1].minor.yy0.n = (int)(pParse->sLastToken.z-yymsp[-1].minor.yy0.z) + pParse->sLastToken.n; sqlite3AlterFinishAddColumn(pParse, &yymsp[-1].minor.yy0); } break; - case 263: /* add_column_fullname ::= fullname */ + case 260: /* add_column_fullname ::= fullname */ { disableLookaside(pParse); - sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy185); + sqlite3AlterBeginAddColumn(pParse, yymsp[0].minor.yy259); } break; - case 264: /* cmd ::= create_vtab */ + case 261: /* cmd ::= create_vtab */ {sqlite3VtabFinishParse(pParse,0);} break; - case 265: /* cmd ::= create_vtab LP vtabarglist RP */ + case 262: /* cmd ::= create_vtab LP vtabarglist RP */ {sqlite3VtabFinishParse(pParse,&yymsp[0].minor.yy0);} break; - case 266: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ + case 263: /* create_vtab ::= createkw VIRTUAL TABLE ifnotexists nm dbnm USING nm */ { - sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy194); + sqlite3VtabBeginParse(pParse, &yymsp[-3].minor.yy0, &yymsp[-2].minor.yy0, &yymsp[0].minor.yy0, yymsp[-4].minor.yy4); } break; - case 267: /* vtabarg ::= */ + case 264: /* vtabarg ::= */ {sqlite3VtabArgInit(pParse);} break; - case 268: /* vtabargtoken ::= ANY */ - case 269: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==269); - case 270: /* lp ::= LP */ yytestcase(yyruleno==270); + case 265: /* vtabargtoken ::= ANY */ + case 266: /* vtabargtoken ::= lp anylist RP */ yytestcase(yyruleno==266); + case 267: /* lp ::= LP */ yytestcase(yyruleno==267); {sqlite3VtabArgExtend(pParse,&yymsp[0].minor.yy0);} break; - case 271: /* with ::= */ -{yymsp[1].minor.yy285 = 0;} + case 268: /* with ::= */ +{yymsp[1].minor.yy451 = 0;} break; - case 272: /* with ::= WITH wqlist */ -{ yymsp[-1].minor.yy285 = yymsp[0].minor.yy285; } + case 269: /* with ::= WITH wqlist */ +{ yymsp[-1].minor.yy451 = yymsp[0].minor.yy451; } break; - case 273: /* with ::= WITH RECURSIVE wqlist */ -{ yymsp[-2].minor.yy285 = yymsp[0].minor.yy285; } + case 270: /* with ::= WITH RECURSIVE wqlist */ +{ yymsp[-2].minor.yy451 = yymsp[0].minor.yy451; } break; - case 274: /* wqlist ::= nm eidlist_opt AS LP select RP */ + case 271: /* wqlist ::= nm eidlist_opt AS LP select RP */ { - yymsp[-5].minor.yy285 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy148, yymsp[-1].minor.yy243); /*A-overwrites-X*/ + yymsp[-5].minor.yy451 = sqlite3WithAdd(pParse, 0, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy322, yymsp[-1].minor.yy387); /*A-overwrites-X*/ } break; - case 275: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ + case 272: /* wqlist ::= wqlist COMMA nm eidlist_opt AS LP select RP */ { - yymsp[-7].minor.yy285 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy285, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy148, yymsp[-1].minor.yy243); + yymsp[-7].minor.yy451 = sqlite3WithAdd(pParse, yymsp[-7].minor.yy451, &yymsp[-5].minor.yy0, yymsp[-4].minor.yy322, yymsp[-1].minor.yy387); } break; default: - /* (276) input ::= cmdlist */ yytestcase(yyruleno==276); - /* (277) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==277); - /* (278) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=278); - /* (279) ecmd ::= SEMI */ yytestcase(yyruleno==279); - /* (280) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==280); - /* (281) explain ::= */ yytestcase(yyruleno==281); - /* (282) trans_opt ::= */ yytestcase(yyruleno==282); - /* (283) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==283); - /* (284) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==284); - /* (285) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==285); - /* (286) savepoint_opt ::= */ yytestcase(yyruleno==286); - /* (287) cmd ::= create_table create_table_args */ yytestcase(yyruleno==287); - /* (288) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==288); - /* (289) columnlist ::= columnname carglist */ yytestcase(yyruleno==289); - /* (290) nm ::= ID|INDEXED */ yytestcase(yyruleno==290); - /* (291) nm ::= STRING */ yytestcase(yyruleno==291); - /* (292) nm ::= JOIN_KW */ yytestcase(yyruleno==292); - /* (293) typetoken ::= typename */ yytestcase(yyruleno==293); - /* (294) typename ::= ID|STRING */ yytestcase(yyruleno==294); - /* (295) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=295); - /* (296) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=296); - /* (297) carglist ::= carglist ccons */ yytestcase(yyruleno==297); - /* (298) carglist ::= */ yytestcase(yyruleno==298); - /* (299) ccons ::= NULL onconf */ yytestcase(yyruleno==299); - /* (300) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==300); - /* (301) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==301); - /* (302) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=302); - /* (303) tconscomma ::= */ yytestcase(yyruleno==303); - /* (304) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=304); - /* (305) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=305); - /* (306) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=306); - /* (307) oneselect ::= values */ yytestcase(yyruleno==307); - /* (308) sclp ::= selcollist COMMA */ yytestcase(yyruleno==308); - /* (309) as ::= ID|STRING */ yytestcase(yyruleno==309); - /* (310) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=310); - /* (311) exprlist ::= nexprlist */ yytestcase(yyruleno==311); - /* (312) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=312); - /* (313) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=313); - /* (314) nmnum ::= ON */ yytestcase(yyruleno==314); - /* (315) nmnum ::= DELETE */ yytestcase(yyruleno==315); - /* (316) nmnum ::= DEFAULT */ yytestcase(yyruleno==316); - /* (317) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==317); - /* (318) foreach_clause ::= */ yytestcase(yyruleno==318); - /* (319) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==319); - /* (320) trnm ::= nm */ yytestcase(yyruleno==320); - /* (321) tridxby ::= */ yytestcase(yyruleno==321); - /* (322) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==322); - /* (323) database_kw_opt ::= */ yytestcase(yyruleno==323); - /* (324) kwcolumn_opt ::= */ yytestcase(yyruleno==324); - /* (325) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==325); - /* (326) vtabarglist ::= vtabarg */ yytestcase(yyruleno==326); - /* (327) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==327); - /* (328) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==328); - /* (329) anylist ::= */ yytestcase(yyruleno==329); - /* (330) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==330); - /* (331) anylist ::= anylist ANY */ yytestcase(yyruleno==331); + /* (273) input ::= cmdlist */ yytestcase(yyruleno==273); + /* (274) cmdlist ::= cmdlist ecmd */ yytestcase(yyruleno==274); + /* (275) cmdlist ::= ecmd (OPTIMIZED OUT) */ assert(yyruleno!=275); + /* (276) ecmd ::= SEMI */ yytestcase(yyruleno==276); + /* (277) ecmd ::= explain cmdx SEMI */ yytestcase(yyruleno==277); + /* (278) explain ::= */ yytestcase(yyruleno==278); + /* (279) trans_opt ::= */ yytestcase(yyruleno==279); + /* (280) trans_opt ::= TRANSACTION */ yytestcase(yyruleno==280); + /* (281) trans_opt ::= TRANSACTION nm */ yytestcase(yyruleno==281); + /* (282) savepoint_opt ::= SAVEPOINT */ yytestcase(yyruleno==282); + /* (283) savepoint_opt ::= */ yytestcase(yyruleno==283); + /* (284) cmd ::= create_table create_table_args */ yytestcase(yyruleno==284); + /* (285) columnlist ::= columnlist COMMA columnname carglist */ yytestcase(yyruleno==285); + /* (286) columnlist ::= columnname carglist */ yytestcase(yyruleno==286); + /* (287) nm ::= ID|INDEXED */ yytestcase(yyruleno==287); + /* (288) nm ::= STRING */ yytestcase(yyruleno==288); + /* (289) nm ::= JOIN_KW */ yytestcase(yyruleno==289); + /* (290) typetoken ::= typename */ yytestcase(yyruleno==290); + /* (291) typename ::= ID|STRING */ yytestcase(yyruleno==291); + /* (292) signed ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=292); + /* (293) signed ::= minus_num (OPTIMIZED OUT) */ assert(yyruleno!=293); + /* (294) carglist ::= carglist ccons */ yytestcase(yyruleno==294); + /* (295) carglist ::= */ yytestcase(yyruleno==295); + /* (296) ccons ::= NULL onconf */ yytestcase(yyruleno==296); + /* (297) conslist_opt ::= COMMA conslist */ yytestcase(yyruleno==297); + /* (298) conslist ::= conslist tconscomma tcons */ yytestcase(yyruleno==298); + /* (299) conslist ::= tcons (OPTIMIZED OUT) */ assert(yyruleno!=299); + /* (300) tconscomma ::= */ yytestcase(yyruleno==300); + /* (301) defer_subclause_opt ::= defer_subclause (OPTIMIZED OUT) */ assert(yyruleno!=301); + /* (302) resolvetype ::= raisetype (OPTIMIZED OUT) */ assert(yyruleno!=302); + /* (303) selectnowith ::= oneselect (OPTIMIZED OUT) */ assert(yyruleno!=303); + /* (304) oneselect ::= values */ yytestcase(yyruleno==304); + /* (305) sclp ::= selcollist COMMA */ yytestcase(yyruleno==305); + /* (306) as ::= ID|STRING */ yytestcase(yyruleno==306); + /* (307) expr ::= term (OPTIMIZED OUT) */ assert(yyruleno!=307); + /* (308) likeop ::= LIKE_KW|MATCH */ yytestcase(yyruleno==308); + /* (309) exprlist ::= nexprlist */ yytestcase(yyruleno==309); + /* (310) nmnum ::= plus_num (OPTIMIZED OUT) */ assert(yyruleno!=310); + /* (311) nmnum ::= nm (OPTIMIZED OUT) */ assert(yyruleno!=311); + /* (312) nmnum ::= ON */ yytestcase(yyruleno==312); + /* (313) nmnum ::= DELETE */ yytestcase(yyruleno==313); + /* (314) nmnum ::= DEFAULT */ yytestcase(yyruleno==314); + /* (315) plus_num ::= INTEGER|FLOAT */ yytestcase(yyruleno==315); + /* (316) foreach_clause ::= */ yytestcase(yyruleno==316); + /* (317) foreach_clause ::= FOR EACH ROW */ yytestcase(yyruleno==317); + /* (318) trnm ::= nm */ yytestcase(yyruleno==318); + /* (319) tridxby ::= */ yytestcase(yyruleno==319); + /* (320) database_kw_opt ::= DATABASE */ yytestcase(yyruleno==320); + /* (321) database_kw_opt ::= */ yytestcase(yyruleno==321); + /* (322) kwcolumn_opt ::= */ yytestcase(yyruleno==322); + /* (323) kwcolumn_opt ::= COLUMNKW */ yytestcase(yyruleno==323); + /* (324) vtabarglist ::= vtabarg */ yytestcase(yyruleno==324); + /* (325) vtabarglist ::= vtabarglist COMMA vtabarg */ yytestcase(yyruleno==325); + /* (326) vtabarg ::= vtabarg vtabargtoken */ yytestcase(yyruleno==326); + /* (327) anylist ::= */ yytestcase(yyruleno==327); + /* (328) anylist ::= anylist LP anylist RP */ yytestcase(yyruleno==328); + /* (329) anylist ::= anylist ANY */ yytestcase(yyruleno==329); break; /********** End reduce actions ************************************************/ }; assert( yyrulenoYY_MAX_SHIFT ){ - yyact += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE; - } - yymsp -= yysize-1; - yypParser->yytos = yymsp; - yymsp->stateno = (YYACTIONTYPE)yyact; - yymsp->major = (YYCODETYPE)yygoto; - yyTraceShift(yypParser, yyact); - }else{ - assert( yyact == YY_ACCEPT_ACTION ); - yypParser->yytos -= yysize; - yy_accept(yypParser); - } + yyact = yy_find_reduce_action(yymsp[yysize].stateno,(YYCODETYPE)yygoto); + + /* There are no SHIFTREDUCE actions on nonterminals because the table + ** generator has simplified them to pure REDUCE actions. */ + assert( !(yyact>YY_MAX_SHIFT && yyact<=YY_MAX_SHIFTREDUCE) ); + + /* It is not possible for a REDUCE to be followed by an error */ + assert( yyact!=YY_ERROR_ACTION ); + + yymsp += yysize+1; + yypParser->yytos = yymsp; + yymsp->stateno = (YYACTIONTYPE)yyact; + yymsp->major = (YYCODETYPE)yygoto; + yyTraceShift(yypParser, yyact, "... then shift"); } /* @@ -136360,8 +141835,11 @@ static void yy_syntax_error( /************ Begin %syntax_error code ****************************************/ UNUSED_PARAMETER(yymajor); /* Silence some compiler warnings */ - assert( TOKEN.z[0] ); /* The tokenizer always gives us a token */ - sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN); + if( TOKEN.z[0] ){ + sqlite3ErrorMsg(pParse, "near \"%T\": syntax error", &TOKEN); + }else{ + sqlite3ErrorMsg(pParse, "incomplete input"); + } /************ End %syntax_error code ******************************************/ sqlite3ParserARG_STORE; /* Suppress warning about unused %extra_argument variable */ } @@ -136433,20 +141911,31 @@ SQLITE_PRIVATE void sqlite3Parser( #ifndef NDEBUG if( yyTraceFILE ){ - fprintf(yyTraceFILE,"%sInput '%s'\n",yyTracePrompt,yyTokenName[yymajor]); + int stateno = yypParser->yytos->stateno; + if( stateno < YY_MIN_REDUCE ){ + fprintf(yyTraceFILE,"%sInput '%s' in state %d\n", + yyTracePrompt,yyTokenName[yymajor],stateno); + }else{ + fprintf(yyTraceFILE,"%sInput '%s' with pending reduce %d\n", + yyTracePrompt,yyTokenName[yymajor],stateno-YY_MIN_REDUCE); + } } #endif do{ yyact = yy_find_shift_action(yypParser,(YYCODETYPE)yymajor); - if( yyact <= YY_MAX_SHIFTREDUCE ){ + if( yyact >= YY_MIN_REDUCE ){ + yy_reduce(yypParser,yyact-YY_MIN_REDUCE,yymajor,yyminor); + }else if( yyact <= YY_MAX_SHIFTREDUCE ){ yy_shift(yypParser,yyact,yymajor,yyminor); #ifndef YYNOERRORRECOVERY yypParser->yyerrcnt--; #endif yymajor = YYNOCODE; - }else if( yyact <= YY_MAX_REDUCE ){ - yy_reduce(yypParser,yyact-YY_MIN_REDUCE); + }else if( yyact==YY_ACCEPT_ACTION ){ + yypParser->yytos--; + yy_accept(yypParser); + return; }else{ assert( yyact == YY_ERROR_ACTION ); yyminorunion.yy0 = yyminor; @@ -136650,13 +142139,13 @@ static const unsigned char aiClass[] = { /* 1x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, /* 2x */ 27, 27, 27, 27, 27, 7, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, /* 3x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, -/* 4x */ 7, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 12, 17, 20, 10, +/* 4x */ 7, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 12, 17, 20, 10, /* 5x */ 24, 27, 27, 27, 27, 27, 27, 27, 27, 27, 15, 4, 21, 18, 19, 27, -/* 6x */ 11, 16, 27, 27, 27, 27, 27, 27, 27, 27, 27, 23, 22, 1, 13, 7, +/* 6x */ 11, 16, 27, 27, 27, 27, 27, 27, 27, 27, 27, 23, 22, 1, 13, 6, /* 7x */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 8, 5, 5, 5, 8, 14, 8, /* 8x */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27, /* 9x */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27, -/* 9x */ 25, 1, 1, 1, 1, 1, 1, 0, 1, 1, 27, 27, 27, 27, 27, 27, +/* Ax */ 27, 25, 1, 1, 1, 1, 1, 0, 1, 1, 27, 27, 27, 27, 27, 27, /* Bx */ 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 9, 27, 27, 27, 27, 27, /* Cx */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27, /* Dx */ 27, 1, 1, 1, 1, 1, 1, 1, 1, 1, 27, 27, 27, 27, 27, 27, @@ -136727,134 +142216,145 @@ const unsigned char ebcdicToAscii[] = { ** on platforms with limited memory. */ /* Hash score: 182 */ +/* zKWText[] encodes 834 bytes of keyword text in 554 bytes */ +/* REINDEXEDESCAPEACHECKEYBEFOREIGNOREGEXPLAINSTEADDATABASELECT */ +/* ABLEFTHENDEFERRABLELSEXCEPTRANSACTIONATURALTERAISEXCLUSIVE */ +/* XISTSAVEPOINTERSECTRIGGEREFERENCESCONSTRAINTOFFSETEMPORARY */ +/* UNIQUERYWITHOUTERELEASEATTACHAVINGROUPDATEBEGINNERECURSIVE */ +/* BETWEENOTNULLIKECASCADELETECASECOLLATECREATECURRENT_DATEDETACH */ +/* IMMEDIATEJOINSERTMATCHPLANALYZEPRAGMABORTVALUESVIRTUALIMITWHEN */ +/* WHERENAMEAFTEREPLACEANDEFAULTAUTOINCREMENTCASTCOLUMNCOMMIT */ +/* CONFLICTCROSSCURRENT_TIMESTAMPRIMARYDEFERREDISTINCTDROPFAIL */ +/* FROMFULLGLOBYIFISNULLORDERESTRICTRIGHTROLLBACKROWUNIONUSING */ +/* VACUUMVIEWINITIALLY */ +static const char zKWText[553] = { + 'R','E','I','N','D','E','X','E','D','E','S','C','A','P','E','A','C','H', + 'E','C','K','E','Y','B','E','F','O','R','E','I','G','N','O','R','E','G', + 'E','X','P','L','A','I','N','S','T','E','A','D','D','A','T','A','B','A', + 'S','E','L','E','C','T','A','B','L','E','F','T','H','E','N','D','E','F', + 'E','R','R','A','B','L','E','L','S','E','X','C','E','P','T','R','A','N', + 'S','A','C','T','I','O','N','A','T','U','R','A','L','T','E','R','A','I', + 'S','E','X','C','L','U','S','I','V','E','X','I','S','T','S','A','V','E', + 'P','O','I','N','T','E','R','S','E','C','T','R','I','G','G','E','R','E', + 'F','E','R','E','N','C','E','S','C','O','N','S','T','R','A','I','N','T', + 'O','F','F','S','E','T','E','M','P','O','R','A','R','Y','U','N','I','Q', + 'U','E','R','Y','W','I','T','H','O','U','T','E','R','E','L','E','A','S', + 'E','A','T','T','A','C','H','A','V','I','N','G','R','O','U','P','D','A', + 'T','E','B','E','G','I','N','N','E','R','E','C','U','R','S','I','V','E', + 'B','E','T','W','E','E','N','O','T','N','U','L','L','I','K','E','C','A', + 'S','C','A','D','E','L','E','T','E','C','A','S','E','C','O','L','L','A', + 'T','E','C','R','E','A','T','E','C','U','R','R','E','N','T','_','D','A', + 'T','E','D','E','T','A','C','H','I','M','M','E','D','I','A','T','E','J', + 'O','I','N','S','E','R','T','M','A','T','C','H','P','L','A','N','A','L', + 'Y','Z','E','P','R','A','G','M','A','B','O','R','T','V','A','L','U','E', + 'S','V','I','R','T','U','A','L','I','M','I','T','W','H','E','N','W','H', + 'E','R','E','N','A','M','E','A','F','T','E','R','E','P','L','A','C','E', + 'A','N','D','E','F','A','U','L','T','A','U','T','O','I','N','C','R','E', + 'M','E','N','T','C','A','S','T','C','O','L','U','M','N','C','O','M','M', + 'I','T','C','O','N','F','L','I','C','T','C','R','O','S','S','C','U','R', + 'R','E','N','T','_','T','I','M','E','S','T','A','M','P','R','I','M','A', + 'R','Y','D','E','F','E','R','R','E','D','I','S','T','I','N','C','T','D', + 'R','O','P','F','A','I','L','F','R','O','M','F','U','L','L','G','L','O', + 'B','Y','I','F','I','S','N','U','L','L','O','R','D','E','R','E','S','T', + 'R','I','C','T','R','I','G','H','T','R','O','L','L','B','A','C','K','R', + 'O','W','U','N','I','O','N','U','S','I','N','G','V','A','C','U','U','M', + 'V','I','E','W','I','N','I','T','I','A','L','L','Y', +}; +/* aKWHash[i] is the hash value for the i-th keyword */ +static const unsigned char aKWHash[127] = { + 76, 105, 117, 74, 0, 45, 0, 0, 82, 0, 77, 0, 0, + 42, 12, 78, 15, 0, 116, 85, 54, 112, 0, 19, 0, 0, + 121, 0, 119, 115, 0, 22, 93, 0, 9, 0, 0, 70, 71, + 0, 69, 6, 0, 48, 90, 102, 0, 118, 101, 0, 0, 44, + 0, 103, 24, 0, 17, 0, 122, 53, 23, 0, 5, 110, 25, + 96, 0, 0, 124, 106, 60, 123, 57, 28, 55, 0, 91, 0, + 100, 26, 0, 99, 0, 0, 0, 95, 92, 97, 88, 109, 14, + 39, 108, 0, 81, 0, 18, 89, 111, 32, 0, 120, 80, 113, + 62, 46, 84, 0, 0, 94, 40, 59, 114, 0, 36, 0, 0, + 29, 0, 86, 63, 64, 0, 20, 61, 0, 56, +}; +/* aKWNext[] forms the hash collision chain. If aKWHash[i]==0 +** then the i-th keyword has no more hash collisions. Otherwise, +** the next keyword with the same hash is aKWHash[i]-1. */ +static const unsigned char aKWNext[124] = { + 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 2, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, + 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 33, 0, 21, 0, 0, 0, 0, 0, 50, + 0, 43, 3, 47, 0, 0, 0, 0, 30, 0, 58, 0, 38, + 0, 0, 0, 1, 66, 0, 0, 67, 0, 41, 0, 0, 0, + 0, 0, 0, 49, 65, 0, 0, 0, 0, 31, 52, 16, 34, + 10, 0, 0, 0, 0, 0, 0, 0, 11, 72, 79, 0, 8, + 0, 104, 98, 0, 107, 0, 87, 0, 75, 51, 0, 27, 37, + 73, 83, 0, 35, 68, 0, 0, +}; +/* aKWLen[i] is the length (in bytes) of the i-th keyword */ +static const unsigned char aKWLen[124] = { + 7, 7, 5, 4, 6, 4, 5, 3, 6, 7, 3, 6, 6, + 7, 7, 3, 8, 2, 6, 5, 4, 4, 3, 10, 4, 6, + 11, 6, 2, 7, 5, 5, 9, 6, 9, 9, 7, 10, 10, + 4, 6, 2, 3, 9, 4, 2, 6, 5, 7, 4, 5, 7, + 6, 6, 5, 6, 5, 5, 9, 7, 7, 3, 2, 4, 4, + 7, 3, 6, 4, 7, 6, 12, 6, 9, 4, 6, 5, 4, + 7, 6, 5, 6, 7, 5, 4, 5, 6, 5, 7, 3, 7, + 13, 2, 2, 4, 6, 6, 8, 5, 17, 12, 7, 8, 8, + 2, 4, 4, 4, 4, 4, 2, 2, 6, 5, 8, 5, 8, + 3, 5, 5, 6, 4, 9, 3, +}; +/* aKWOffset[i] is the index into zKWText[] of the start of +** the text for the i-th keyword. */ +static const unsigned short int aKWOffset[124] = { + 0, 2, 2, 8, 9, 14, 16, 20, 23, 25, 25, 29, 33, + 36, 41, 46, 48, 53, 54, 59, 62, 65, 67, 69, 78, 81, + 86, 91, 95, 96, 101, 105, 109, 117, 122, 128, 136, 142, 152, + 159, 162, 162, 165, 167, 167, 171, 176, 179, 184, 184, 188, 192, + 199, 204, 209, 212, 218, 221, 225, 234, 240, 240, 240, 243, 246, + 250, 251, 255, 261, 265, 272, 278, 290, 296, 305, 307, 313, 318, + 320, 327, 332, 337, 343, 349, 354, 358, 361, 367, 371, 378, 380, + 387, 389, 391, 400, 404, 410, 416, 424, 429, 429, 445, 452, 459, + 460, 467, 471, 475, 479, 483, 486, 488, 490, 496, 500, 508, 513, + 521, 524, 529, 534, 540, 544, 549, +}; +/* aKWCode[i] is the parser symbol code for the i-th keyword */ +static const unsigned char aKWCode[124] = { + TK_REINDEX, TK_INDEXED, TK_INDEX, TK_DESC, TK_ESCAPE, + TK_EACH, TK_CHECK, TK_KEY, TK_BEFORE, TK_FOREIGN, + TK_FOR, TK_IGNORE, TK_LIKE_KW, TK_EXPLAIN, TK_INSTEAD, + TK_ADD, TK_DATABASE, TK_AS, TK_SELECT, TK_TABLE, + TK_JOIN_KW, TK_THEN, TK_END, TK_DEFERRABLE, TK_ELSE, + TK_EXCEPT, TK_TRANSACTION,TK_ACTION, TK_ON, TK_JOIN_KW, + TK_ALTER, TK_RAISE, TK_EXCLUSIVE, TK_EXISTS, TK_SAVEPOINT, + TK_INTERSECT, TK_TRIGGER, TK_REFERENCES, TK_CONSTRAINT, TK_INTO, + TK_OFFSET, TK_OF, TK_SET, TK_TEMP, TK_TEMP, + TK_OR, TK_UNIQUE, TK_QUERY, TK_WITHOUT, TK_WITH, + TK_JOIN_KW, TK_RELEASE, TK_ATTACH, TK_HAVING, TK_GROUP, + TK_UPDATE, TK_BEGIN, TK_JOIN_KW, TK_RECURSIVE, TK_BETWEEN, + TK_NOTNULL, TK_NOT, TK_NO, TK_NULL, TK_LIKE_KW, + TK_CASCADE, TK_ASC, TK_DELETE, TK_CASE, TK_COLLATE, + TK_CREATE, TK_CTIME_KW, TK_DETACH, TK_IMMEDIATE, TK_JOIN, + TK_INSERT, TK_MATCH, TK_PLAN, TK_ANALYZE, TK_PRAGMA, + TK_ABORT, TK_VALUES, TK_VIRTUAL, TK_LIMIT, TK_WHEN, + TK_WHERE, TK_RENAME, TK_AFTER, TK_REPLACE, TK_AND, + TK_DEFAULT, TK_AUTOINCR, TK_TO, TK_IN, TK_CAST, + TK_COLUMNKW, TK_COMMIT, TK_CONFLICT, TK_JOIN_KW, TK_CTIME_KW, + TK_CTIME_KW, TK_PRIMARY, TK_DEFERRED, TK_DISTINCT, TK_IS, + TK_DROP, TK_FAIL, TK_FROM, TK_JOIN_KW, TK_LIKE_KW, + TK_BY, TK_IF, TK_ISNULL, TK_ORDER, TK_RESTRICT, + TK_JOIN_KW, TK_ROLLBACK, TK_ROW, TK_UNION, TK_USING, + TK_VACUUM, TK_VIEW, TK_INITIALLY, TK_ALL, +}; +/* Check to see if z[0..n-1] is a keyword. If it is, write the +** parser symbol code for that keyword into *pType. Always +** return the integer n (the length of the token). */ static int keywordCode(const char *z, int n, int *pType){ - /* zText[] encodes 834 bytes of keywords in 554 bytes */ - /* REINDEXEDESCAPEACHECKEYBEFOREIGNOREGEXPLAINSTEADDATABASELECT */ - /* ABLEFTHENDEFERRABLELSEXCEPTRANSACTIONATURALTERAISEXCLUSIVE */ - /* XISTSAVEPOINTERSECTRIGGEREFERENCESCONSTRAINTOFFSETEMPORARY */ - /* UNIQUERYWITHOUTERELEASEATTACHAVINGROUPDATEBEGINNERECURSIVE */ - /* BETWEENOTNULLIKECASCADELETECASECOLLATECREATECURRENT_DATEDETACH */ - /* IMMEDIATEJOINSERTMATCHPLANALYZEPRAGMABORTVALUESVIRTUALIMITWHEN */ - /* WHERENAMEAFTEREPLACEANDEFAULTAUTOINCREMENTCASTCOLUMNCOMMIT */ - /* CONFLICTCROSSCURRENT_TIMESTAMPRIMARYDEFERREDISTINCTDROPFAIL */ - /* FROMFULLGLOBYIFISNULLORDERESTRICTRIGHTROLLBACKROWUNIONUSING */ - /* VACUUMVIEWINITIALLY */ - static const char zText[553] = { - 'R','E','I','N','D','E','X','E','D','E','S','C','A','P','E','A','C','H', - 'E','C','K','E','Y','B','E','F','O','R','E','I','G','N','O','R','E','G', - 'E','X','P','L','A','I','N','S','T','E','A','D','D','A','T','A','B','A', - 'S','E','L','E','C','T','A','B','L','E','F','T','H','E','N','D','E','F', - 'E','R','R','A','B','L','E','L','S','E','X','C','E','P','T','R','A','N', - 'S','A','C','T','I','O','N','A','T','U','R','A','L','T','E','R','A','I', - 'S','E','X','C','L','U','S','I','V','E','X','I','S','T','S','A','V','E', - 'P','O','I','N','T','E','R','S','E','C','T','R','I','G','G','E','R','E', - 'F','E','R','E','N','C','E','S','C','O','N','S','T','R','A','I','N','T', - 'O','F','F','S','E','T','E','M','P','O','R','A','R','Y','U','N','I','Q', - 'U','E','R','Y','W','I','T','H','O','U','T','E','R','E','L','E','A','S', - 'E','A','T','T','A','C','H','A','V','I','N','G','R','O','U','P','D','A', - 'T','E','B','E','G','I','N','N','E','R','E','C','U','R','S','I','V','E', - 'B','E','T','W','E','E','N','O','T','N','U','L','L','I','K','E','C','A', - 'S','C','A','D','E','L','E','T','E','C','A','S','E','C','O','L','L','A', - 'T','E','C','R','E','A','T','E','C','U','R','R','E','N','T','_','D','A', - 'T','E','D','E','T','A','C','H','I','M','M','E','D','I','A','T','E','J', - 'O','I','N','S','E','R','T','M','A','T','C','H','P','L','A','N','A','L', - 'Y','Z','E','P','R','A','G','M','A','B','O','R','T','V','A','L','U','E', - 'S','V','I','R','T','U','A','L','I','M','I','T','W','H','E','N','W','H', - 'E','R','E','N','A','M','E','A','F','T','E','R','E','P','L','A','C','E', - 'A','N','D','E','F','A','U','L','T','A','U','T','O','I','N','C','R','E', - 'M','E','N','T','C','A','S','T','C','O','L','U','M','N','C','O','M','M', - 'I','T','C','O','N','F','L','I','C','T','C','R','O','S','S','C','U','R', - 'R','E','N','T','_','T','I','M','E','S','T','A','M','P','R','I','M','A', - 'R','Y','D','E','F','E','R','R','E','D','I','S','T','I','N','C','T','D', - 'R','O','P','F','A','I','L','F','R','O','M','F','U','L','L','G','L','O', - 'B','Y','I','F','I','S','N','U','L','L','O','R','D','E','R','E','S','T', - 'R','I','C','T','R','I','G','H','T','R','O','L','L','B','A','C','K','R', - 'O','W','U','N','I','O','N','U','S','I','N','G','V','A','C','U','U','M', - 'V','I','E','W','I','N','I','T','I','A','L','L','Y', - }; - static const unsigned char aHash[127] = { - 76, 105, 117, 74, 0, 45, 0, 0, 82, 0, 77, 0, 0, - 42, 12, 78, 15, 0, 116, 85, 54, 112, 0, 19, 0, 0, - 121, 0, 119, 115, 0, 22, 93, 0, 9, 0, 0, 70, 71, - 0, 69, 6, 0, 48, 90, 102, 0, 118, 101, 0, 0, 44, - 0, 103, 24, 0, 17, 0, 122, 53, 23, 0, 5, 110, 25, - 96, 0, 0, 124, 106, 60, 123, 57, 28, 55, 0, 91, 0, - 100, 26, 0, 99, 0, 0, 0, 95, 92, 97, 88, 109, 14, - 39, 108, 0, 81, 0, 18, 89, 111, 32, 0, 120, 80, 113, - 62, 46, 84, 0, 0, 94, 40, 59, 114, 0, 36, 0, 0, - 29, 0, 86, 63, 64, 0, 20, 61, 0, 56, - }; - static const unsigned char aNext[124] = { - 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2, 0, 0, 0, 0, 0, 0, 13, 0, 0, 0, 0, - 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 33, 0, 21, 0, 0, 0, 0, 0, 50, - 0, 43, 3, 47, 0, 0, 0, 0, 30, 0, 58, 0, 38, - 0, 0, 0, 1, 66, 0, 0, 67, 0, 41, 0, 0, 0, - 0, 0, 0, 49, 65, 0, 0, 0, 0, 31, 52, 16, 34, - 10, 0, 0, 0, 0, 0, 0, 0, 11, 72, 79, 0, 8, - 0, 104, 98, 0, 107, 0, 87, 0, 75, 51, 0, 27, 37, - 73, 83, 0, 35, 68, 0, 0, - }; - static const unsigned char aLen[124] = { - 7, 7, 5, 4, 6, 4, 5, 3, 6, 7, 3, 6, 6, - 7, 7, 3, 8, 2, 6, 5, 4, 4, 3, 10, 4, 6, - 11, 6, 2, 7, 5, 5, 9, 6, 9, 9, 7, 10, 10, - 4, 6, 2, 3, 9, 4, 2, 6, 5, 7, 4, 5, 7, - 6, 6, 5, 6, 5, 5, 9, 7, 7, 3, 2, 4, 4, - 7, 3, 6, 4, 7, 6, 12, 6, 9, 4, 6, 5, 4, - 7, 6, 5, 6, 7, 5, 4, 5, 6, 5, 7, 3, 7, - 13, 2, 2, 4, 6, 6, 8, 5, 17, 12, 7, 8, 8, - 2, 4, 4, 4, 4, 4, 2, 2, 6, 5, 8, 5, 8, - 3, 5, 5, 6, 4, 9, 3, - }; - static const unsigned short int aOffset[124] = { - 0, 2, 2, 8, 9, 14, 16, 20, 23, 25, 25, 29, 33, - 36, 41, 46, 48, 53, 54, 59, 62, 65, 67, 69, 78, 81, - 86, 91, 95, 96, 101, 105, 109, 117, 122, 128, 136, 142, 152, - 159, 162, 162, 165, 167, 167, 171, 176, 179, 184, 184, 188, 192, - 199, 204, 209, 212, 218, 221, 225, 234, 240, 240, 240, 243, 246, - 250, 251, 255, 261, 265, 272, 278, 290, 296, 305, 307, 313, 318, - 320, 327, 332, 337, 343, 349, 354, 358, 361, 367, 371, 378, 380, - 387, 389, 391, 400, 404, 410, 416, 424, 429, 429, 445, 452, 459, - 460, 467, 471, 475, 479, 483, 486, 488, 490, 496, 500, 508, 513, - 521, 524, 529, 534, 540, 544, 549, - }; - static const unsigned char aCode[124] = { - TK_REINDEX, TK_INDEXED, TK_INDEX, TK_DESC, TK_ESCAPE, - TK_EACH, TK_CHECK, TK_KEY, TK_BEFORE, TK_FOREIGN, - TK_FOR, TK_IGNORE, TK_LIKE_KW, TK_EXPLAIN, TK_INSTEAD, - TK_ADD, TK_DATABASE, TK_AS, TK_SELECT, TK_TABLE, - TK_JOIN_KW, TK_THEN, TK_END, TK_DEFERRABLE, TK_ELSE, - TK_EXCEPT, TK_TRANSACTION,TK_ACTION, TK_ON, TK_JOIN_KW, - TK_ALTER, TK_RAISE, TK_EXCLUSIVE, TK_EXISTS, TK_SAVEPOINT, - TK_INTERSECT, TK_TRIGGER, TK_REFERENCES, TK_CONSTRAINT, TK_INTO, - TK_OFFSET, TK_OF, TK_SET, TK_TEMP, TK_TEMP, - TK_OR, TK_UNIQUE, TK_QUERY, TK_WITHOUT, TK_WITH, - TK_JOIN_KW, TK_RELEASE, TK_ATTACH, TK_HAVING, TK_GROUP, - TK_UPDATE, TK_BEGIN, TK_JOIN_KW, TK_RECURSIVE, TK_BETWEEN, - TK_NOTNULL, TK_NOT, TK_NO, TK_NULL, TK_LIKE_KW, - TK_CASCADE, TK_ASC, TK_DELETE, TK_CASE, TK_COLLATE, - TK_CREATE, TK_CTIME_KW, TK_DETACH, TK_IMMEDIATE, TK_JOIN, - TK_INSERT, TK_MATCH, TK_PLAN, TK_ANALYZE, TK_PRAGMA, - TK_ABORT, TK_VALUES, TK_VIRTUAL, TK_LIMIT, TK_WHEN, - TK_WHERE, TK_RENAME, TK_AFTER, TK_REPLACE, TK_AND, - TK_DEFAULT, TK_AUTOINCR, TK_TO, TK_IN, TK_CAST, - TK_COLUMNKW, TK_COMMIT, TK_CONFLICT, TK_JOIN_KW, TK_CTIME_KW, - TK_CTIME_KW, TK_PRIMARY, TK_DEFERRED, TK_DISTINCT, TK_IS, - TK_DROP, TK_FAIL, TK_FROM, TK_JOIN_KW, TK_LIKE_KW, - TK_BY, TK_IF, TK_ISNULL, TK_ORDER, TK_RESTRICT, - TK_JOIN_KW, TK_ROLLBACK, TK_ROW, TK_UNION, TK_USING, - TK_VACUUM, TK_VIEW, TK_INITIALLY, TK_ALL, - }; int i, j; const char *zKW; if( n>=2 ){ i = ((charMap(z[0])*4) ^ (charMap(z[n-1])*3) ^ n) % 127; - for(i=((int)aHash[i])-1; i>=0; i=((int)aNext[i])-1){ - if( aLen[i]!=n ) continue; + for(i=((int)aKWHash[i])-1; i>=0; i=((int)aKWNext[i])-1){ + if( aKWLen[i]!=n ) continue; j = 0; - zKW = &zText[aOffset[i]]; + zKW = &zKWText[aKWOffset[i]]; #ifdef SQLITE_ASCII while( jdb; /* The database connection */ int mxSqlLen; /* Max length of an SQL string */ +#ifdef sqlite3Parser_ENGINEALWAYSONSTACK + yyParser sEngine; /* Space to hold the Lemon-generated Parser object */ +#endif assert( zSql!=0 ); mxSqlLen = db->aLimit[SQLITE_LIMIT_SQL_LENGTH]; @@ -137347,26 +142850,27 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr } pParse->rc = SQLITE_OK; pParse->zTail = zSql; - i = 0; assert( pzErrMsg!=0 ); /* sqlite3ParserTrace(stdout, "parser: "); */ +#ifdef sqlite3Parser_ENGINEALWAYSONSTACK + pEngine = &sEngine; + sqlite3ParserInit(pEngine); +#else pEngine = sqlite3ParserAlloc(sqlite3Malloc); if( pEngine==0 ){ sqlite3OomFault(db); return SQLITE_NOMEM_BKPT; } +#endif assert( pParse->pNewTable==0 ); assert( pParse->pNewTrigger==0 ); assert( pParse->nVar==0 ); - assert( pParse->nzVar==0 ); - assert( pParse->azVar==0 ); + assert( pParse->pVList==0 ); while( 1 ){ - assert( i>=0 ); - if( zSql[i]!=0 ){ - pParse->sLastToken.z = &zSql[i]; - pParse->sLastToken.n = sqlite3GetToken((u8*)&zSql[i],&tokenType); - i += pParse->sLastToken.n; - if( i>mxSqlLen ){ + if( zSql[0]!=0 ){ + n = sqlite3GetToken((u8*)zSql, &tokenType); + mxSqlLen -= n; + if( mxSqlLen<0 ){ pParse->rc = SQLITE_TOOBIG; break; } @@ -137380,6 +142884,7 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr }else{ tokenType = TK_SEMI; } + n = 0; } if( tokenType>=TK_SPACE ){ assert( tokenType==TK_SPACE || tokenType==TK_ILLEGAL ); @@ -137388,18 +142893,21 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr break; } if( tokenType==TK_ILLEGAL ){ - sqlite3ErrorMsg(pParse, "unrecognized token: \"%T\"", - &pParse->sLastToken); + sqlite3ErrorMsg(pParse, "unrecognized token: \"%.*s\"", n, zSql); break; } + zSql += n; }else{ + pParse->sLastToken.z = zSql; + pParse->sLastToken.n = n; sqlite3Parser(pEngine, tokenType, pParse->sLastToken, pParse); lastTokenParsed = tokenType; + zSql += n; if( pParse->rc!=SQLITE_OK || db->mallocFailed ) break; } } assert( nErr==0 ); - pParse->zTail = &zSql[i]; + pParse->zTail = zSql; #ifdef YYTRACKMAXSTACKDEPTH sqlite3_mutex_enter(sqlite3MallocMutex()); sqlite3StatusHighwater(SQLITE_STATUS_PARSER_STACK, @@ -137407,7 +142915,11 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr ); sqlite3_mutex_leave(sqlite3MallocMutex()); #endif /* YYDEBUG */ +#ifdef sqlite3Parser_ENGINEALWAYSONSTACK + sqlite3ParserFinalize(pEngine); +#else sqlite3ParserFree(pEngine, sqlite3_free); +#endif if( db->mallocFailed ){ pParse->rc = SQLITE_NOMEM_BKPT; } @@ -137446,12 +142958,11 @@ SQLITE_PRIVATE int sqlite3RunParser(Parse *pParse, const char *zSql, char **pzEr if( pParse->pWithToFree ) sqlite3WithDelete(db, pParse->pWithToFree); sqlite3DeleteTrigger(db, pParse->pNewTrigger); - for(i=pParse->nzVar-1; i>=0; i--) sqlite3DbFree(db, pParse->azVar[i]); - sqlite3DbFree(db, pParse->azVar); + sqlite3DbFree(db, pParse->pVList); while( pParse->pAinc ){ AutoincInfo *p = pParse->pAinc; pParse->pAinc = p->pNext; - sqlite3DbFree(db, p); + sqlite3DbFreeNN(db, p); } while( pParse->pZombieTab ){ Table *p = pParse->pZombieTab; @@ -137828,6 +143339,10 @@ SQLITE_PRIVATE int sqlite3Fts3Init(sqlite3 *db); */ /* #include "sqlite3.h" */ +#ifdef SQLITE_OMIT_VIRTUALTABLE +# undef SQLITE_ENABLE_RTREE +#endif + #if 0 extern "C" { #endif /* __cplusplus */ @@ -137841,7 +143356,7 @@ SQLITE_PRIVATE int sqlite3RtreeInit(sqlite3 *db); /************** End of rtree.h ***********************************************/ /************** Continuing where we left off in main.c ***********************/ #endif -#ifdef SQLITE_ENABLE_ICU +#if defined(SQLITE_ENABLE_ICU) || defined(SQLITE_ENABLE_ICU_COLLATIONS) /************** Include sqliteicu.h in the middle of main.c ******************/ /************** Begin file sqliteicu.h ***************************************/ /* @@ -137878,6 +143393,9 @@ SQLITE_PRIVATE int sqlite3IcuInit(sqlite3 *db); #ifdef SQLITE_ENABLE_JSON1 SQLITE_PRIVATE int sqlite3Json1Init(sqlite3*); #endif +#ifdef SQLITE_ENABLE_STMTVTAB +SQLITE_PRIVATE int sqlite3StmtVtabInit(sqlite3*); +#endif #ifdef SQLITE_ENABLE_FTS5 SQLITE_PRIVATE int sqlite3Fts5Init(sqlite3*); #endif @@ -137894,11 +143412,13 @@ SQLITE_API const char sqlite3_version[] = SQLITE_VERSION; */ SQLITE_API const char *sqlite3_libversion(void){ return sqlite3_version; } -/* IMPLEMENTATION-OF: R-63124-39300 The sqlite3_sourceid() function returns a +/* IMPLEMENTATION-OF: R-25063-23286 The sqlite3_sourceid() function returns a ** pointer to a string constant whose value is the same as the -** SQLITE_SOURCE_ID C preprocessor macro. +** 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. */ -SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } +/* SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } */ /* IMPLEMENTATION-OF: R-35210-63508 The sqlite3_libversion_number() function ** returns an integer equal to SQLITE_VERSION_NUMBER. @@ -138283,14 +143803,8 @@ SQLITE_API int sqlite3_config(int op, ...){ sqlite3GlobalConfig.bMemstat = va_arg(ap, int); break; } - case SQLITE_CONFIG_SCRATCH: { - /* EVIDENCE-OF: R-08404-60887 There are three arguments to - ** SQLITE_CONFIG_SCRATCH: A pointer an 8-byte aligned memory buffer from - ** which the scratch allocations will be drawn, the size of each scratch - ** allocation (sz), and the maximum number of scratch allocations (N). */ - sqlite3GlobalConfig.pScratch = va_arg(ap, void*); - sqlite3GlobalConfig.szScratch = va_arg(ap, int); - sqlite3GlobalConfig.nScratch = va_arg(ap, int); + case SQLITE_CONFIG_SMALL_MALLOC: { + sqlite3GlobalConfig.bSmallMalloc = va_arg(ap, int); break; } case SQLITE_CONFIG_PAGECACHE: { @@ -138511,7 +144025,8 @@ SQLITE_API int sqlite3_config(int op, ...){ static int setupLookaside(sqlite3 *db, void *pBuf, int sz, int cnt){ #ifndef SQLITE_OMIT_LOOKASIDE void *pStart; - if( db->lookaside.nOut ){ + + if( sqlite3LookasideUsed(db,0)>0 ){ return SQLITE_BUSY; } /* Free any existing lookaside buffer for this handle before @@ -138539,16 +144054,18 @@ static int setupLookaside(sqlite3 *db, void *pBuf, int sz, int cnt){ pStart = pBuf; } db->lookaside.pStart = pStart; + db->lookaside.pInit = 0; db->lookaside.pFree = 0; db->lookaside.sz = (u16)sz; if( pStart ){ int i; LookasideSlot *p; assert( sz > (int)sizeof(LookasideSlot*) ); + db->lookaside.nSlot = cnt; p = (LookasideSlot*)pStart; for(i=cnt-1; i>=0; i--){ - p->pNext = db->lookaside.pFree; - db->lookaside.pFree = p; + p->pNext = db->lookaside.pInit; + db->lookaside.pInit = p; p = (LookasideSlot*)&((u8*)p)[sz]; } db->lookaside.pEnd = p; @@ -138559,6 +144076,7 @@ static int setupLookaside(sqlite3 *db, void *pBuf, int sz, int cnt){ db->lookaside.pEnd = db; db->lookaside.bDisable = 1; db->lookaside.bMalloced = 0; + db->lookaside.nSlot = 0; } #endif /* SQLITE_OMIT_LOOKASIDE */ return SQLITE_OK; @@ -138640,6 +144158,8 @@ SQLITE_API int sqlite3_db_config(sqlite3 *db, int op, ...){ va_start(ap, op); switch( op ){ case SQLITE_DBCONFIG_MAINDBNAME: { + /* IMP: R-06824-28531 */ + /* IMP: R-36257-52125 */ db->aDb[0].zDbSName = va_arg(ap,char*); rc = SQLITE_OK; break; @@ -138660,6 +144180,9 @@ SQLITE_API int sqlite3_db_config(sqlite3 *db, int op, ...){ { SQLITE_DBCONFIG_ENABLE_TRIGGER, SQLITE_EnableTrigger }, { SQLITE_DBCONFIG_ENABLE_FTS3_TOKENIZER, SQLITE_Fts3Tokenizer }, { SQLITE_DBCONFIG_ENABLE_LOAD_EXTENSION, SQLITE_LoadExtension }, + { SQLITE_DBCONFIG_NO_CKPT_ON_CLOSE, SQLITE_NoCkptOnClose }, + { SQLITE_DBCONFIG_ENABLE_QPSG, SQLITE_EnableQPSG }, + { SQLITE_DBCONFIG_TRIGGER_EQP, SQLITE_TriggerEQP }, }; unsigned int i; rc = SQLITE_ERROR; /* IMP: R-42790-23372 */ @@ -138667,7 +144190,7 @@ SQLITE_API int sqlite3_db_config(sqlite3 *db, int op, ...){ if( aFlagOp[i].op==op ){ int onoff = va_arg(ap, int); int *pRes = va_arg(ap, int*); - int oldFlags = db->flags; + u32 oldFlags = db->flags; if( onoff>0 ){ db->flags |= aFlagOp[i].mask; }else if( onoff==0 ){ @@ -138716,6 +144239,7 @@ static int binCollFunc( /* EVIDENCE-OF: R-65033-28449 The built-in BINARY collation compares ** strings byte by byte using the memcmp() function from the standard C ** library. */ + assert( pKey1 && pKey2 ); rc = memcmp(pKey1, pKey2, n); if( rc==0 ){ if( padFlag @@ -138770,6 +144294,21 @@ SQLITE_API sqlite_int64 sqlite3_last_insert_rowid(sqlite3 *db){ return db->lastRowid; } +/* +** Set the value returned by the sqlite3_last_insert_rowid() API function. +*/ +SQLITE_API void sqlite3_set_last_insert_rowid(sqlite3 *db, sqlite3_int64 iRowid){ +#ifdef SQLITE_ENABLE_API_ARMOR + if( !sqlite3SafetyCheckOk(db) ){ + (void)SQLITE_MISUSE_BKPT; + return; + } +#endif + sqlite3_mutex_enter(db->mutex); + db->lastRowid = iRowid; + sqlite3_mutex_leave(db->mutex); +} + /* ** Return the number of changes in the most recent call to sqlite3_exec(). */ @@ -139058,7 +144597,7 @@ SQLITE_PRIVATE void sqlite3LeaveMutexAndCloseZombie(sqlite3 *db){ sqlite3_mutex_leave(db->mutex); db->magic = SQLITE_MAGIC_CLOSED; sqlite3_mutex_free(db->mutex); - assert( db->lookaside.nOut==0 ); /* Fails on a lookaside memory leak */ + assert( sqlite3LookasideUsed(db,0)==0 ); if( db->lookaside.bMalloced ){ sqlite3_free(db->lookaside.pStart); } @@ -139086,7 +144625,7 @@ SQLITE_PRIVATE void sqlite3RollbackAll(sqlite3 *db, int tripCode){ ** the database rollback and schema reset, which can cause false ** corruption reports in some cases. */ sqlite3BtreeEnterAll(db); - schemaChange = (db->flags & SQLITE_InternChanges)!=0 && db->init.busy==0; + schemaChange = (db->mDbFlags & DBFLAG_SchemaChange)!=0 && db->init.busy==0; for(i=0; inDb; i++){ Btree *p = db->aDb[i].pBt; @@ -139100,7 +144639,7 @@ SQLITE_PRIVATE void sqlite3RollbackAll(sqlite3 *db, int tripCode){ sqlite3VtabRollback(db); sqlite3EndBenignMalloc(); - if( (db->flags&SQLITE_InternChanges)!=0 && db->init.busy==0 ){ + if( (db->mDbFlags&DBFLAG_SchemaChange)!=0 && db->init.busy==0 ){ sqlite3ExpirePreparedStatements(db); sqlite3ResetAllSchemasOfConnection(db); } @@ -139141,9 +144680,10 @@ SQLITE_PRIVATE const char *sqlite3ErrName(int rc){ case SQLITE_NOMEM: zName = "SQLITE_NOMEM"; break; case SQLITE_READONLY: zName = "SQLITE_READONLY"; break; case SQLITE_READONLY_RECOVERY: zName = "SQLITE_READONLY_RECOVERY"; break; - case SQLITE_READONLY_CANTLOCK: zName = "SQLITE_READONLY_CANTLOCK"; break; + case SQLITE_READONLY_CANTINIT: zName = "SQLITE_READONLY_CANTINIT"; break; case SQLITE_READONLY_ROLLBACK: zName = "SQLITE_READONLY_ROLLBACK"; break; case SQLITE_READONLY_DBMOVED: zName = "SQLITE_READONLY_DBMOVED"; break; + case SQLITE_READONLY_DIRECTORY: zName = "SQLITE_READONLY_DIRECTORY";break; case SQLITE_INTERRUPT: zName = "SQLITE_INTERRUPT"; break; case SQLITE_IOERR: zName = "SQLITE_IOERR"; break; case SQLITE_IOERR_READ: zName = "SQLITE_IOERR_READ"; break; @@ -139233,10 +144773,10 @@ SQLITE_PRIVATE const char *sqlite3ErrName(int rc){ SQLITE_PRIVATE const char *sqlite3ErrStr(int rc){ static const char* const aMsg[] = { /* SQLITE_OK */ "not an error", - /* SQLITE_ERROR */ "SQL logic error or missing database", + /* SQLITE_ERROR */ "SQL logic error", /* SQLITE_INTERNAL */ 0, /* SQLITE_PERM */ "access permission denied", - /* SQLITE_ABORT */ "callback requested query abort", + /* SQLITE_ABORT */ "query aborted", /* SQLITE_BUSY */ "database is locked", /* SQLITE_LOCKED */ "database table is locked", /* SQLITE_NOMEM */ "out of memory", @@ -139248,17 +144788,21 @@ SQLITE_PRIVATE const char *sqlite3ErrStr(int rc){ /* SQLITE_FULL */ "database or disk is full", /* SQLITE_CANTOPEN */ "unable to open database file", /* SQLITE_PROTOCOL */ "locking protocol", - /* SQLITE_EMPTY */ "table contains no data", + /* SQLITE_EMPTY */ 0, /* SQLITE_SCHEMA */ "database schema has changed", /* SQLITE_TOOBIG */ "string or blob too big", /* SQLITE_CONSTRAINT */ "constraint failed", /* SQLITE_MISMATCH */ "datatype mismatch", - /* SQLITE_MISUSE */ "library routine called out of sequence", + /* SQLITE_MISUSE */ "bad parameter or other API misuse", +#ifdef SQLITE_DISABLE_LFS /* SQLITE_NOLFS */ "large file support is disabled", +#else + /* SQLITE_NOLFS */ 0, +#endif /* SQLITE_AUTH */ "authorization denied", - /* SQLITE_FORMAT */ "auxiliary database format error", - /* SQLITE_RANGE */ "bind or column index out of range", - /* SQLITE_NOTADB */ "file is encrypted or is not a database", + /* SQLITE_FORMAT */ 0, + /* SQLITE_RANGE */ "column index out of range", + /* SQLITE_NOTADB */ "file is not a database", }; const char *zErr = "unknown error"; switch( rc ){ @@ -139417,7 +144961,7 @@ SQLITE_API int sqlite3_busy_timeout(sqlite3 *db, int ms){ */ SQLITE_API void sqlite3_interrupt(sqlite3 *db){ #ifdef SQLITE_ENABLE_API_ARMOR - if( !sqlite3SafetyCheckOk(db) ){ + if( !sqlite3SafetyCheckOk(db) && (db==0 || db->magic!=SQLITE_MAGIC_ZOMBIE) ){ (void)SQLITE_MISUSE_BKPT; return; } @@ -139956,6 +145500,13 @@ SQLITE_API int sqlite3_wal_checkpoint_v2( sqlite3Error(db, rc); } rc = sqlite3ApiExit(db, rc); + + /* If there are no active statements, clear the interrupt flag at this + ** point. */ + if( db->nVdbeActive==0 ){ + db->u1.isInterrupted = 0; + } + sqlite3_mutex_leave(db->mutex); return rc; #endif @@ -139991,7 +145542,8 @@ SQLITE_API int sqlite3_wal_checkpoint(sqlite3 *db, const char *zDb){ ** checkpointed. If an error is encountered it is returned immediately - ** no attempt is made to checkpoint any remaining databases. ** -** Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL or RESTART. +** Parameter eMode is one of SQLITE_CHECKPOINT_PASSIVE, FULL, RESTART +** or TRUNCATE. */ SQLITE_PRIVATE int sqlite3Checkpoint(sqlite3 *db, int iDb, int eMode, int *pnLog, int *pnCkpt){ int rc = SQLITE_OK; /* Return code */ @@ -140091,12 +145643,9 @@ SQLITE_API const void *sqlite3_errmsg16(sqlite3 *db){ 'o', 'u', 't', ' ', 'o', 'f', ' ', 'm', 'e', 'm', 'o', 'r', 'y', 0 }; static const u16 misuse[] = { - 'l', 'i', 'b', 'r', 'a', 'r', 'y', ' ', - 'r', 'o', 'u', 't', 'i', 'n', 'e', ' ', - 'c', 'a', 'l', 'l', 'e', 'd', ' ', - 'o', 'u', 't', ' ', - 'o', 'f', ' ', - 's', 'e', 'q', 'u', 'e', 'n', 'c', 'e', 0 + 'b', 'a', 'd', ' ', 'p', 'a', 'r', 'a', 'm', 'e', 't', 'e', 'r', ' ', + 'o', 'r', ' ', 'o', 't', 'h', 'e', 'r', ' ', 'A', 'P', 'I', ' ', + 'm', 'i', 's', 'u', 's', 'e', 0 }; const void *z; @@ -140458,6 +146007,7 @@ SQLITE_PRIVATE int sqlite3ParseUri( assert( octet>=0 && octet<256 ); if( octet==0 ){ +#ifndef SQLITE_ENABLE_URI_00_ERROR /* This branch is taken when "%00" appears within the URI. In this ** case we ignore all text in the remainder of the path, name or ** value currently being parsed. So ignore the current character @@ -140470,6 +146020,12 @@ SQLITE_PRIVATE int sqlite3ParseUri( iIn++; } continue; +#else + /* If ENABLE_URI_00_ERROR is defined, "%00" in a URI is an error. */ + *pzErrMsg = sqlite3_mprintf("unexpected %%00 in uri"); + rc = SQLITE_ERROR; + goto parse_uri_out; +#endif } c = octet; }else if( eState==1 && (c=='&' || c=='=') ){ @@ -140574,7 +146130,9 @@ SQLITE_PRIVATE int sqlite3ParseUri( }else{ zFile = sqlite3_malloc64(nUri+2); if( !zFile ) return SQLITE_NOMEM_BKPT; - memcpy(zFile, zUri, nUri); + if( nUri ){ + memcpy(zFile, zUri, nUri); + } zFile[nUri] = '\0'; zFile[nUri+1] = '\0'; flags &= ~SQLITE_OPEN_URI; @@ -140622,26 +146180,6 @@ static int openDatabase( if( rc ) return rc; #endif - /* Only allow sensible combinations of bits in the flags argument. - ** Throw an error if any non-sense combination is used. If we - ** do not block illegal combinations here, it could trigger - ** assert() statements in deeper layers. Sensible combinations - ** are: - ** - ** 1: SQLITE_OPEN_READONLY - ** 2: SQLITE_OPEN_READWRITE - ** 6: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE - */ - assert( SQLITE_OPEN_READONLY == 0x01 ); - assert( SQLITE_OPEN_READWRITE == 0x02 ); - assert( SQLITE_OPEN_CREATE == 0x04 ); - testcase( (1<<(flags&7))==0x02 ); /* READONLY */ - testcase( (1<<(flags&7))==0x04 ); /* READWRITE */ - testcase( (1<<(flags&7))==0x40 ); /* READWRITE | CREATE */ - if( ((1<<(flags&7)) & 0x46)==0 ){ - return SQLITE_MISUSE_BKPT; /* IMP: R-65497-44594 */ - } - if( sqlite3GlobalConfig.bCoreMutex==0 ){ isThreadsafe = 0; }else if( flags & SQLITE_OPEN_NOMUTEX ){ @@ -140651,6 +146189,7 @@ static int openDatabase( }else{ isThreadsafe = sqlite3GlobalConfig.bFullMutex; } + if( flags & SQLITE_OPEN_PRIVATECACHE ){ flags &= ~SQLITE_OPEN_SHAREDCACHE; }else if( sqlite3GlobalConfig.sharedCacheEnabled ){ @@ -140683,13 +146222,20 @@ static int openDatabase( /* Allocate the sqlite data structure */ db = sqlite3MallocZero( sizeof(sqlite3) ); if( db==0 ) goto opendb_out; - if( isThreadsafe ){ + if( isThreadsafe +#ifdef SQLITE_ENABLE_MULTITHREADED_CHECKS + || sqlite3GlobalConfig.bCoreMutex +#endif + ){ db->mutex = sqlite3MutexAlloc(SQLITE_MUTEX_RECURSIVE); if( db->mutex==0 ){ sqlite3_free(db); db = 0; goto opendb_out; } + if( isThreadsafe==0 ){ + sqlite3MutexWarnOnContention(db->mutex); + } } sqlite3_mutex_enter(db->mutex); db->errMask = 0xff; @@ -140732,6 +146278,9 @@ static int openDatabase( #endif #if defined(SQLITE_ENABLE_FTS3_TOKENIZER) | SQLITE_Fts3Tokenizer +#endif +#if defined(SQLITE_ENABLE_QPSG) + | SQLITE_EnableQPSG #endif ; sqlite3HashInit(&db->aCollSeq); @@ -140760,9 +146309,30 @@ static int openDatabase( db->pDfltColl = sqlite3FindCollSeq(db, SQLITE_UTF8, sqlite3StrBINARY, 0); assert( db->pDfltColl!=0 ); - /* Parse the filename/URI argument. */ + /* Parse the filename/URI argument + ** + ** Only allow sensible combinations of bits in the flags argument. + ** Throw an error if any non-sense combination is used. If we + ** do not block illegal combinations here, it could trigger + ** assert() statements in deeper layers. Sensible combinations + ** are: + ** + ** 1: SQLITE_OPEN_READONLY + ** 2: SQLITE_OPEN_READWRITE + ** 6: SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE + */ db->openFlags = flags; - rc = sqlite3ParseUri(zVfs, zFilename, &flags, &db->pVfs, &zOpen, &zErrMsg); + assert( SQLITE_OPEN_READONLY == 0x01 ); + assert( SQLITE_OPEN_READWRITE == 0x02 ); + assert( SQLITE_OPEN_CREATE == 0x04 ); + testcase( (1<<(flags&7))==0x02 ); /* READONLY */ + testcase( (1<<(flags&7))==0x04 ); /* READWRITE */ + testcase( (1<<(flags&7))==0x40 ); /* READWRITE | CREATE */ + if( ((1<<(flags&7)) & 0x46)==0 ){ + rc = SQLITE_MISUSE_BKPT; /* IMP: R-65497-44594 */ + }else{ + rc = sqlite3ParseUri(zVfs, zFilename, &flags, &db->pVfs, &zOpen, &zErrMsg); + } if( rc!=SQLITE_OK ){ if( rc==SQLITE_NOMEM ) sqlite3OomFault(db); sqlite3ErrorWithMsg(db, rc, zErrMsg ? "%s" : 0, zErrMsg); @@ -140847,7 +146417,7 @@ static int openDatabase( } #endif -#ifdef SQLITE_ENABLE_ICU +#if defined(SQLITE_ENABLE_ICU) || defined(SQLITE_ENABLE_ICU_COLLATIONS) if( !db->mallocFailed && rc==SQLITE_OK ){ rc = sqlite3IcuInit(db); } @@ -140859,6 +146429,12 @@ static int openDatabase( } #endif +#ifdef SQLITE_ENABLE_DBPAGE_VTAB + if( !db->mallocFailed && rc==SQLITE_OK){ + rc = sqlite3DbpageRegister(db); + } +#endif + #ifdef SQLITE_ENABLE_DBSTAT_VTAB if( !db->mallocFailed && rc==SQLITE_OK){ rc = sqlite3DbstatRegister(db); @@ -140871,6 +146447,12 @@ static int openDatabase( } #endif +#ifdef SQLITE_ENABLE_STMTVTAB + if( !db->mallocFailed && rc==SQLITE_OK){ + rc = sqlite3StmtVtabInit(db); + } +#endif + /* -DSQLITE_DEFAULT_LOCKING_MODE=1 makes EXCLUSIVE the default locking ** mode. -DSQLITE_DEFAULT_LOCKING_MODE=0 make NORMAL the default locking ** mode. Doing nothing at all also makes NORMAL the default. @@ -140913,16 +146495,18 @@ static int openDatabase( #endif #if defined(SQLITE_HAS_CODEC) if( rc==SQLITE_OK ){ - const char *zHexKey = sqlite3_uri_parameter(zOpen, "hexkey"); - if( zHexKey && zHexKey[0] ){ + const char *zKey; + if( (zKey = sqlite3_uri_parameter(zOpen, "hexkey"))!=0 && zKey[0] ){ u8 iByte; int i; - char zKey[40]; - for(i=0, iByte=0; i0 then allocate a scratch buffer into pNew. - */ - case SQLITE_TESTCTRL_SCRATCHMALLOC: { - void *pFree, **ppNew; - int sz; - sz = va_arg(ap, int); - ppNew = va_arg(ap, void**); - pFree = va_arg(ap, void*); - if( sz ) *ppNew = sqlite3ScratchMalloc(sz); - sqlite3ScratchFree(pFree); - break; - } - /* sqlite3_test_control(SQLITE_TESTCTRL_LOCALTIME_FAULT, int onoff); ** ** If parameter onoff is non-zero, configure the wrappers so that all @@ -141703,9 +147277,25 @@ SQLITE_API int sqlite3_test_control(int op, ...){ sqlite3_mutex_leave(db->mutex); break; } + +#if defined(YYCOVERAGE) + /* sqlite3_test_control(SQLITE_TESTCTRL_PARSER_COVERAGE, FILE *out) + ** + ** This test control (only available when SQLite is compiled with + ** -DYYCOVERAGE) writes a report onto "out" that shows all + ** state/lookahead combinations in the parser state machine + ** which are never exercised. If any state is missed, make the + ** return code SQLITE_ERROR. + */ + case SQLITE_TESTCTRL_PARSER_COVERAGE: { + FILE *out = va_arg(ap, FILE*); + if( sqlite3ParserCoverage(out) ) rc = SQLITE_ERROR; + break; + } +#endif /* defined(YYCOVERAGE) */ } va_end(ap); -#endif /* SQLITE_OMIT_BUILTIN_TEST */ +#endif /* SQLITE_UNTESTABLE */ return rc; } @@ -141751,7 +147341,7 @@ SQLITE_API sqlite3_int64 sqlite3_uri_int64( ){ const char *z = sqlite3_uri_parameter(zFilename, zParam); sqlite3_int64 v; - if( z && sqlite3DecOrHexToI64(z, &v)==SQLITE_OK ){ + if( z && sqlite3DecOrHexToI64(z, &v)==0 ){ bDflt = v; } return bDflt; @@ -141761,15 +147351,8 @@ SQLITE_API sqlite3_int64 sqlite3_uri_int64( ** Return the Btree pointer identified by zDbName. Return NULL if not found. */ SQLITE_PRIVATE Btree *sqlite3DbNameToBtree(sqlite3 *db, const char *zDbName){ - int i; - for(i=0; inDb; i++){ - if( db->aDb[i].pBt - && (zDbName==0 || sqlite3StrICmp(zDbName, db->aDb[i].zDbSName)==0) - ){ - return db->aDb[i].pBt; - } - } - return 0; + int iDb = zDbName ? sqlite3FindDbName(db, zDbName) : 0; + return iDb<0 ? 0 : db->aDb[iDb].pBt; } /* @@ -141816,7 +147399,6 @@ SQLITE_API int sqlite3_snapshot_get( ){ int rc = SQLITE_ERROR; #ifndef SQLITE_OMIT_WAL - int iDb; #ifdef SQLITE_ENABLE_API_ARMOR if( !sqlite3SafetyCheckOk(db) ){ @@ -141825,13 +147407,15 @@ SQLITE_API int sqlite3_snapshot_get( #endif sqlite3_mutex_enter(db->mutex); - iDb = sqlite3FindDbName(db, zDb); - if( iDb==0 || iDb>1 ){ - Btree *pBt = db->aDb[iDb].pBt; - if( 0==sqlite3BtreeIsInTrans(pBt) ){ - rc = sqlite3BtreeBeginTrans(pBt, 0); - if( rc==SQLITE_OK ){ - rc = sqlite3PagerSnapshotGet(sqlite3BtreePager(pBt), ppSnapshot); + if( db->autoCommit==0 ){ + int iDb = sqlite3FindDbName(db, zDb); + if( iDb==0 || iDb>1 ){ + Btree *pBt = db->aDb[iDb].pBt; + if( 0==sqlite3BtreeIsInTrans(pBt) ){ + rc = sqlite3BtreeBeginTrans(pBt, 0); + if( rc==SQLITE_OK ){ + rc = sqlite3PagerSnapshotGet(sqlite3BtreePager(pBt), ppSnapshot); + } } } } @@ -141878,6 +147462,38 @@ SQLITE_API int sqlite3_snapshot_open( return rc; } +/* +** Recover as many snapshots as possible from the wal file associated with +** schema zDb of database db. +*/ +SQLITE_API int sqlite3_snapshot_recover(sqlite3 *db, const char *zDb){ + int rc = SQLITE_ERROR; + int iDb; +#ifndef SQLITE_OMIT_WAL + +#ifdef SQLITE_ENABLE_API_ARMOR + if( !sqlite3SafetyCheckOk(db) ){ + return SQLITE_MISUSE_BKPT; + } +#endif + + sqlite3_mutex_enter(db->mutex); + iDb = sqlite3FindDbName(db, zDb); + if( iDb==0 || iDb>1 ){ + Btree *pBt = db->aDb[iDb].pBt; + if( 0==sqlite3BtreeIsInReadTrans(pBt) ){ + rc = sqlite3BtreeBeginTrans(pBt, 0); + if( rc==SQLITE_OK ){ + rc = sqlite3PagerSnapshotRecover(sqlite3BtreePager(pBt)); + sqlite3BtreeCommit(pBt); + } + } + } + sqlite3_mutex_leave(db->mutex); +#endif /* SQLITE_OMIT_WAL */ + return rc; +} + /* ** Free a snapshot handle obtained from sqlite3_snapshot_get(). */ @@ -141886,6 +147502,58 @@ SQLITE_API void sqlite3_snapshot_free(sqlite3_snapshot *pSnapshot){ } #endif /* SQLITE_ENABLE_SNAPSHOT */ +#ifndef SQLITE_OMIT_COMPILEOPTION_DIAGS +/* +** Given the name of a compile-time option, return true if that option +** was used and false if not. +** +** The name can optionally begin with "SQLITE_" but the "SQLITE_" prefix +** is not required for a match. +*/ +SQLITE_API int sqlite3_compileoption_used(const char *zOptName){ + int i, n; + int nOpt; + const char **azCompileOpt; + +#if SQLITE_ENABLE_API_ARMOR + if( zOptName==0 ){ + (void)SQLITE_MISUSE_BKPT; + return 0; + } +#endif + + azCompileOpt = sqlite3CompileOptions(&nOpt); + + if( sqlite3StrNICmp(zOptName, "SQLITE_", 7)==0 ) zOptName += 7; + n = sqlite3Strlen30(zOptName); + + /* Since nOpt is normally in single digits, a linear search is + ** adequate. No need for a binary search. */ + for(i=0; i=0 && N=0 ); return 5; } @@ -143619,6 +149292,7 @@ static int fts3DisconnectMethod(sqlite3_vtab *pVtab){ assert( p->pSegments==0 ); /* Free any prepared statements held */ + sqlite3_finalize(p->pSeekStmt); for(i=0; iaStmt); i++){ sqlite3_finalize(p->aStmt[i]); } @@ -144344,65 +150018,66 @@ static int fts3InitVtab( break; } } - if( iOpt==SizeofArray(aFts4Opt) ){ - sqlite3Fts3ErrMsg(pzErr, "unrecognized parameter: %s", z); - rc = SQLITE_ERROR; - }else{ - switch( iOpt ){ - case 0: /* MATCHINFO */ - if( strlen(zVal)!=4 || sqlite3_strnicmp(zVal, "fts3", 4) ){ - sqlite3Fts3ErrMsg(pzErr, "unrecognized matchinfo: %s", zVal); - rc = SQLITE_ERROR; - } - bNoDocsize = 1; - break; + switch( iOpt ){ + case 0: /* MATCHINFO */ + if( strlen(zVal)!=4 || sqlite3_strnicmp(zVal, "fts3", 4) ){ + sqlite3Fts3ErrMsg(pzErr, "unrecognized matchinfo: %s", zVal); + rc = SQLITE_ERROR; + } + bNoDocsize = 1; + break; - case 1: /* PREFIX */ - sqlite3_free(zPrefix); - zPrefix = zVal; - zVal = 0; - break; + case 1: /* PREFIX */ + sqlite3_free(zPrefix); + zPrefix = zVal; + zVal = 0; + break; - case 2: /* COMPRESS */ - sqlite3_free(zCompress); - zCompress = zVal; - zVal = 0; - break; + case 2: /* COMPRESS */ + sqlite3_free(zCompress); + zCompress = zVal; + zVal = 0; + break; - case 3: /* UNCOMPRESS */ - sqlite3_free(zUncompress); - zUncompress = zVal; - zVal = 0; - break; + case 3: /* UNCOMPRESS */ + sqlite3_free(zUncompress); + zUncompress = zVal; + zVal = 0; + break; - case 4: /* ORDER */ - if( (strlen(zVal)!=3 || sqlite3_strnicmp(zVal, "asc", 3)) - && (strlen(zVal)!=4 || sqlite3_strnicmp(zVal, "desc", 4)) - ){ - sqlite3Fts3ErrMsg(pzErr, "unrecognized order: %s", zVal); - rc = SQLITE_ERROR; - } - bDescIdx = (zVal[0]=='d' || zVal[0]=='D'); - break; + case 4: /* ORDER */ + if( (strlen(zVal)!=3 || sqlite3_strnicmp(zVal, "asc", 3)) + && (strlen(zVal)!=4 || sqlite3_strnicmp(zVal, "desc", 4)) + ){ + sqlite3Fts3ErrMsg(pzErr, "unrecognized order: %s", zVal); + rc = SQLITE_ERROR; + } + bDescIdx = (zVal[0]=='d' || zVal[0]=='D'); + break; - case 5: /* CONTENT */ - sqlite3_free(zContent); - zContent = zVal; - zVal = 0; - break; + case 5: /* CONTENT */ + sqlite3_free(zContent); + zContent = zVal; + zVal = 0; + break; - case 6: /* LANGUAGEID */ - assert( iOpt==6 ); - sqlite3_free(zLanguageid); - zLanguageid = zVal; - zVal = 0; - break; + case 6: /* LANGUAGEID */ + assert( iOpt==6 ); + sqlite3_free(zLanguageid); + zLanguageid = zVal; + zVal = 0; + break; - case 7: /* NOTINDEXED */ - azNotindexed[nNotindexed++] = zVal; - zVal = 0; - break; - } + case 7: /* NOTINDEXED */ + azNotindexed[nNotindexed++] = zVal; + zVal = 0; + break; + + default: + assert( iOpt==SizeofArray(aFts4Opt) ); + sqlite3Fts3ErrMsg(pzErr, "unrecognized parameter: %s", z); + rc = SQLITE_ERROR; + break; } sqlite3_free(zVal); } @@ -144490,9 +150165,9 @@ static int fts3InitVtab( p->pTokenizer = pTokenizer; p->nMaxPendingData = FTS3_MAX_PENDING_DATA; p->bHasDocsize = (isFts4 && bNoDocsize==0); - p->bHasStat = isFts4; - p->bFts4 = isFts4; - p->bDescIdx = bDescIdx; + p->bHasStat = (u8)isFts4; + p->bFts4 = (u8)isFts4; + p->bDescIdx = (u8)bDescIdx; p->nAutoincrmerge = 0xff; /* 0xff means setting unknown */ p->zContentTbl = zContent; p->zLanguageid = zLanguageid; @@ -144523,7 +150198,9 @@ static int fts3InitVtab( char *z; int n = 0; z = (char *)sqlite3Fts3NextToken(aCol[iCol], &n); - memcpy(zCsr, z, n); + if( n>0 ){ + memcpy(zCsr, z, n); + } zCsr[n] = '\0'; sqlite3Fts3Dequote(zCsr); p->azColumn[iCol] = zCsr; @@ -144807,6 +150484,39 @@ static int fts3OpenMethod(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCsr){ return SQLITE_OK; } +/* +** Finalize the statement handle at pCsr->pStmt. +** +** Or, if that statement handle is one created by fts3CursorSeekStmt(), +** and the Fts3Table.pSeekStmt slot is currently NULL, save the statement +** pointer there instead of finalizing it. +*/ +static void fts3CursorFinalizeStmt(Fts3Cursor *pCsr){ + if( pCsr->bSeekStmt ){ + Fts3Table *p = (Fts3Table *)pCsr->base.pVtab; + if( p->pSeekStmt==0 ){ + p->pSeekStmt = pCsr->pStmt; + sqlite3_reset(pCsr->pStmt); + pCsr->pStmt = 0; + } + pCsr->bSeekStmt = 0; + } + sqlite3_finalize(pCsr->pStmt); +} + +/* +** Free all resources currently held by the cursor passed as the only +** argument. +*/ +static void fts3ClearCursor(Fts3Cursor *pCsr){ + fts3CursorFinalizeStmt(pCsr); + sqlite3Fts3FreeDeferredTokens(pCsr); + sqlite3_free(pCsr->aDoclist); + sqlite3Fts3MIBufferFree(pCsr->pMIBuffer); + sqlite3Fts3ExprFree(pCsr->pExpr); + memset(&(&pCsr->base)[1], 0, sizeof(Fts3Cursor)-sizeof(sqlite3_vtab_cursor)); +} + /* ** Close the cursor. For additional information see the documentation ** on the xClose method of the virtual table interface. @@ -144814,11 +150524,7 @@ static int fts3OpenMethod(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCsr){ static int fts3CloseMethod(sqlite3_vtab_cursor *pCursor){ Fts3Cursor *pCsr = (Fts3Cursor *)pCursor; assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 ); - sqlite3_finalize(pCsr->pStmt); - sqlite3Fts3ExprFree(pCsr->pExpr); - sqlite3Fts3FreeDeferredTokens(pCsr); - sqlite3_free(pCsr->aDoclist); - sqlite3Fts3MIBufferFree(pCsr->pMIBuffer); + fts3ClearCursor(pCsr); assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 ); sqlite3_free(pCsr); return SQLITE_OK; @@ -144832,20 +150538,23 @@ static int fts3CloseMethod(sqlite3_vtab_cursor *pCursor){ ** ** (or the equivalent for a content=xxx table) and set pCsr->pStmt to ** it. If an error occurs, return an SQLite error code. -** -** Otherwise, set *ppStmt to point to pCsr->pStmt and return SQLITE_OK. */ -static int fts3CursorSeekStmt(Fts3Cursor *pCsr, sqlite3_stmt **ppStmt){ +static int fts3CursorSeekStmt(Fts3Cursor *pCsr){ int rc = SQLITE_OK; if( pCsr->pStmt==0 ){ Fts3Table *p = (Fts3Table *)pCsr->base.pVtab; char *zSql; - zSql = sqlite3_mprintf("SELECT %s WHERE rowid = ?", p->zReadExprlist); - if( !zSql ) return SQLITE_NOMEM; - rc = sqlite3_prepare_v2(p->db, zSql, -1, &pCsr->pStmt, 0); - sqlite3_free(zSql); + if( p->pSeekStmt ){ + pCsr->pStmt = p->pSeekStmt; + p->pSeekStmt = 0; + }else{ + zSql = sqlite3_mprintf("SELECT %s WHERE rowid = ?", p->zReadExprlist); + if( !zSql ) return SQLITE_NOMEM; + rc = sqlite3_prepare_v3(p->db, zSql,-1,SQLITE_PREPARE_PERSISTENT,&pCsr->pStmt,0); + sqlite3_free(zSql); + } + if( rc==SQLITE_OK ) pCsr->bSeekStmt = 1; } - *ppStmt = pCsr->pStmt; return rc; } @@ -144857,9 +150566,7 @@ static int fts3CursorSeekStmt(Fts3Cursor *pCsr, sqlite3_stmt **ppStmt){ static int fts3CursorSeek(sqlite3_context *pContext, Fts3Cursor *pCsr){ int rc = SQLITE_OK; if( pCsr->isRequireSeek ){ - sqlite3_stmt *pStmt = 0; - - rc = fts3CursorSeekStmt(pCsr, &pStmt); + rc = fts3CursorSeekStmt(pCsr); if( rc==SQLITE_OK ){ sqlite3_bind_int64(pCsr->pStmt, 1, pCsr->iPrevId); pCsr->isRequireSeek = 0; @@ -144948,7 +150655,8 @@ static int fts3ScanInteriorNode( isFirstTerm = 0; zCsr += fts3GetVarint32(zCsr, &nSuffix); - if( nPrefix<0 || nSuffix<0 || &zCsr[nSuffix]>zEnd ){ + assert( nPrefix>=0 && nSuffix>=0 ); + if( &zCsr[nSuffix]>zEnd ){ rc = FTS_CORRUPT_VTAB; goto finish_scan; } @@ -145758,7 +151466,7 @@ SQLITE_PRIVATE int sqlite3Fts3FirstFilter( fts3ColumnlistCopy(0, &p); } - while( ppStmt); - sqlite3_free(pCsr->aDoclist); - sqlite3Fts3MIBufferFree(pCsr->pMIBuffer); - sqlite3Fts3ExprFree(pCsr->pExpr); - memset(&pCursor[1], 0, sizeof(Fts3Cursor)-sizeof(sqlite3_vtab_cursor)); + fts3ClearCursor(pCsr); /* Set the lower and upper bounds on docids to return */ pCsr->iMinDocid = fts3DocidRange(pDocidGe, SMALLEST_INT64); @@ -146379,13 +152083,13 @@ static int fts3FilterMethod( ); } if( zSql ){ - rc = sqlite3_prepare_v2(p->db, zSql, -1, &pCsr->pStmt, 0); + rc = sqlite3_prepare_v3(p->db,zSql,-1,SQLITE_PREPARE_PERSISTENT,&pCsr->pStmt,0); sqlite3_free(zSql); }else{ rc = SQLITE_NOMEM; } }else if( eSearch==FTS3_DOCID_SEARCH ){ - rc = fts3CursorSeekStmt(pCsr, &pCsr->pStmt); + rc = fts3CursorSeekStmt(pCsr); if( rc==SQLITE_OK ){ rc = sqlite3_bind_value(pCsr->pStmt, 1, pCons); } @@ -146400,7 +152104,12 @@ static int fts3FilterMethod( ** routine to find out if it has reached the end of a result set. */ static int fts3EofMethod(sqlite3_vtab_cursor *pCursor){ - return ((Fts3Cursor *)pCursor)->isEof; + Fts3Cursor *pCsr = (Fts3Cursor*)pCursor; + if( pCsr->isEof ){ + fts3ClearCursor(pCsr); + pCsr->isEof = 1; + } + return pCsr->isEof; } /* @@ -146438,33 +152147,37 @@ static int fts3ColumnMethod( /* The column value supplied by SQLite must be in range. */ assert( iCol>=0 && iCol<=p->nColumn+2 ); - if( iCol==p->nColumn+1 ){ - /* This call is a request for the "docid" column. Since "docid" is an - ** alias for "rowid", use the xRowid() method to obtain the value. - */ - sqlite3_result_int64(pCtx, pCsr->iPrevId); - }else if( iCol==p->nColumn ){ - /* The extra column whose name is the same as the table. - ** Return a blob which is a pointer to the cursor. */ - sqlite3_result_blob(pCtx, &pCsr, sizeof(pCsr), SQLITE_TRANSIENT); - }else if( iCol==p->nColumn+2 && pCsr->pExpr ){ - sqlite3_result_int64(pCtx, pCsr->iLangid); - }else{ - /* The requested column is either a user column (one that contains - ** indexed data), or the language-id column. */ - rc = fts3CursorSeek(0, pCsr); + switch( iCol-p->nColumn ){ + case 0: + /* The special 'table-name' column */ + sqlite3_result_pointer(pCtx, pCsr, "fts3cursor", 0); + break; - if( rc==SQLITE_OK ){ - if( iCol==p->nColumn+2 ){ - int iLangid = 0; - if( p->zLanguageid ){ - iLangid = sqlite3_column_int(pCsr->pStmt, p->nColumn+1); - } - sqlite3_result_int(pCtx, iLangid); - }else if( sqlite3_data_count(pCsr->pStmt)>(iCol+1) ){ + case 1: + /* The docid column */ + sqlite3_result_int64(pCtx, pCsr->iPrevId); + break; + + case 2: + if( pCsr->pExpr ){ + sqlite3_result_int64(pCtx, pCsr->iLangid); + break; + }else if( p->zLanguageid==0 ){ + sqlite3_result_int(pCtx, 0); + break; + }else{ + iCol = p->nColumn; + /* fall-through */ + } + + default: + /* A user column. Or, if this is a full-table scan, possibly the + ** language-id column. Seek the cursor. */ + rc = fts3CursorSeek(0, pCsr); + if( rc==SQLITE_OK && sqlite3_data_count(pCsr->pStmt)-1>iCol ){ sqlite3_result_value(pCtx, sqlite3_column_value(pCsr->pStmt, iCol+1)); } - } + break; } assert( ((Fts3Table *)pCsr->base.pVtab)->pSegments==0 ); @@ -146513,8 +152226,10 @@ static int fts3SyncMethod(sqlite3_vtab *pVtab){ const u32 nMinMerge = 64; /* Minimum amount of incr-merge work to do */ Fts3Table *p = (Fts3Table*)pVtab; - int rc = sqlite3Fts3PendingTermsFlush(p); + int rc; + i64 iLastRowid = sqlite3_last_insert_rowid(p->db); + rc = sqlite3Fts3PendingTermsFlush(p); if( rc==SQLITE_OK && p->nLeafAdd>(nMinMerge/16) && p->nAutoincrmerge && p->nAutoincrmerge!=0xff @@ -146529,6 +152244,7 @@ static int fts3SyncMethod(sqlite3_vtab *pVtab){ if( A>(int)nMinMerge ) rc = sqlite3Fts3Incrmerge(p, A, p->nAutoincrmerge); } sqlite3Fts3SegmentsClose(p); + sqlite3_set_last_insert_rowid(p->db, iLastRowid); return rc; } @@ -146541,17 +152257,11 @@ static int fts3SyncMethod(sqlite3_vtab *pVtab){ static int fts3SetHasStat(Fts3Table *p){ int rc = SQLITE_OK; if( p->bHasStat==2 ){ - const char *zFmt ="SELECT 1 FROM %Q.sqlite_master WHERE tbl_name='%q_stat'"; - char *zSql = sqlite3_mprintf(zFmt, p->zDb, p->zName); - if( zSql ){ - sqlite3_stmt *pStmt = 0; - rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, 0); - if( rc==SQLITE_OK ){ - int bHasStat = (sqlite3_step(pStmt)==SQLITE_ROW); - rc = sqlite3_finalize(pStmt); - if( rc==SQLITE_OK ) p->bHasStat = bHasStat; - } - sqlite3_free(zSql); + char *zTbl = sqlite3_mprintf("%s_stat", p->zName); + if( zTbl ){ + int res = sqlite3_table_column_metadata(p->db, p->zDb, zTbl, 0,0,0,0,0,0); + sqlite3_free(zTbl); + p->bHasStat = (res==SQLITE_OK); }else{ rc = SQLITE_NOMEM; } @@ -146658,18 +152368,17 @@ static int fts3FunctionArg( sqlite3_value *pVal, /* argv[0] passed to function */ Fts3Cursor **ppCsr /* OUT: Store cursor handle here */ ){ - Fts3Cursor *pRet; - if( sqlite3_value_type(pVal)!=SQLITE_BLOB - || sqlite3_value_bytes(pVal)!=sizeof(Fts3Cursor *) - ){ + int rc; + *ppCsr = (Fts3Cursor*)sqlite3_value_pointer(pVal, "fts3cursor"); + if( (*ppCsr)!=0 ){ + rc = SQLITE_OK; + }else{ char *zErr = sqlite3_mprintf("illegal first argument to %s", zFunc); sqlite3_result_error(pContext, zErr, -1); sqlite3_free(zErr); - return SQLITE_ERROR; + rc = SQLITE_ERROR; } - memcpy(&pRet, sqlite3_value_blob(pVal), sizeof(Fts3Cursor *)); - *ppCsr = pRet; - return SQLITE_OK; + return rc; } /* @@ -147056,7 +152765,7 @@ SQLITE_PRIVATE int sqlite3Fts3Init(sqlite3 *db){ #endif /* Create the virtual table wrapper around the hash-table and overload - ** the two scalar functions. If this is successful, register the + ** the four scalar functions. If this is successful, register the ** module with sqlite. */ if( SQLITE_OK==rc @@ -147639,7 +153348,7 @@ static int fts3EvalIncrPhraseNext( ** one incremental token. In which case the bIncr flag is set. */ assert( p->bIncr==1 ); - if( p->nToken==1 && p->bIncr ){ + if( p->nToken==1 ){ rc = sqlite3Fts3MsrIncrNext(pTab, p->aToken[0].pSegcsr, &pDL->iDocid, &pDL->pList, &pDL->nList ); @@ -147872,6 +153581,7 @@ static void fts3EvalTokenCosts( ** the number of overflow pages consumed by a record B bytes in size. */ static int fts3EvalAverageDocsize(Fts3Cursor *pCsr, int *pnPage){ + int rc = SQLITE_OK; if( pCsr->nRowAvg==0 ){ /* The average document size, which is required to calculate the cost ** of each doclist, has not yet been determined. Read the required @@ -147884,7 +153594,6 @@ static int fts3EvalAverageDocsize(Fts3Cursor *pCsr, int *pnPage){ ** data stored in all rows of each column of the table, from left ** to right. */ - int rc; Fts3Table *p = (Fts3Table*)pCsr->base.pVtab; sqlite3_stmt *pStmt; sqlite3_int64 nDoc = 0; @@ -147911,11 +153620,10 @@ static int fts3EvalAverageDocsize(Fts3Cursor *pCsr, int *pnPage){ pCsr->nRowAvg = (int)(((nByte / nDoc) + p->nPgsz) / p->nPgsz); assert( pCsr->nRowAvg>0 ); rc = sqlite3_reset(pStmt); - if( rc!=SQLITE_OK ) return rc; } *pnPage = pCsr->nRowAvg; - return SQLITE_OK; + return rc; } /* @@ -148265,7 +153973,8 @@ static void fts3EvalNextRow( pExpr->iDocid = pLeft->iDocid; pExpr->bEof = (pLeft->bEof || pRight->bEof); if( pExpr->eType==FTSQUERY_NEAR && pExpr->bEof ){ - if( pRight->pPhrase && pRight->pPhrase->doclist.aAll ){ + assert( pRight->eType==FTSQUERY_PHRASE ); + if( pRight->pPhrase->doclist.aAll ){ Fts3Doclist *pDl = &pRight->pPhrase->doclist; while( *pRc==SQLITE_OK && pRight->bEof==0 ){ memset(pDl->pList, 0, pDl->nList); @@ -148294,7 +154003,7 @@ static void fts3EvalNextRow( if( pRight->bEof || (pLeft->bEof==0 && iCmp<0) ){ fts3EvalNextRow(pCsr, pLeft, pRc); - }else if( pLeft->bEof || (pRight->bEof==0 && iCmp>0) ){ + }else if( pLeft->bEof || iCmp>0 ){ fts3EvalNextRow(pCsr, pRight, pRc); }else{ fts3EvalNextRow(pCsr, pLeft, pRc); @@ -148386,7 +154095,6 @@ static int fts3EvalNearTest(Fts3Expr *pExpr, int *pRc){ */ if( *pRc==SQLITE_OK && pExpr->eType==FTSQUERY_NEAR - && pExpr->bEof==0 && (pExpr->pParent==0 || pExpr->pParent->eType!=FTSQUERY_NEAR) ){ Fts3Expr *p; @@ -148395,42 +154103,39 @@ static int fts3EvalNearTest(Fts3Expr *pExpr, int *pRc){ /* Allocate temporary working space. */ for(p=pExpr; p->pLeft; p=p->pLeft){ + assert( p->pRight->pPhrase->doclist.nList>0 ); nTmp += p->pRight->pPhrase->doclist.nList; } nTmp += p->pPhrase->doclist.nList; - if( nTmp==0 ){ + aTmp = sqlite3_malloc(nTmp*2); + if( !aTmp ){ + *pRc = SQLITE_NOMEM; res = 0; }else{ - aTmp = sqlite3_malloc(nTmp*2); - if( !aTmp ){ - *pRc = SQLITE_NOMEM; - res = 0; - }else{ - char *aPoslist = p->pPhrase->doclist.pList; - int nToken = p->pPhrase->nToken; - - for(p=p->pParent;res && p && p->eType==FTSQUERY_NEAR; p=p->pParent){ - Fts3Phrase *pPhrase = p->pRight->pPhrase; - int nNear = p->nNear; - res = fts3EvalNearTrim(nNear, aTmp, &aPoslist, &nToken, pPhrase); - } - - aPoslist = pExpr->pRight->pPhrase->doclist.pList; - nToken = pExpr->pRight->pPhrase->nToken; - for(p=pExpr->pLeft; p && res; p=p->pLeft){ - int nNear; - Fts3Phrase *pPhrase; - assert( p->pParent && p->pParent->pLeft==p ); - nNear = p->pParent->nNear; - pPhrase = ( - p->eType==FTSQUERY_NEAR ? p->pRight->pPhrase : p->pPhrase - ); - res = fts3EvalNearTrim(nNear, aTmp, &aPoslist, &nToken, pPhrase); - } + char *aPoslist = p->pPhrase->doclist.pList; + int nToken = p->pPhrase->nToken; + + for(p=p->pParent;res && p && p->eType==FTSQUERY_NEAR; p=p->pParent){ + Fts3Phrase *pPhrase = p->pRight->pPhrase; + int nNear = p->nNear; + res = fts3EvalNearTrim(nNear, aTmp, &aPoslist, &nToken, pPhrase); } - sqlite3_free(aTmp); + aPoslist = pExpr->pRight->pPhrase->doclist.pList; + nToken = pExpr->pRight->pPhrase->nToken; + for(p=pExpr->pLeft; p && res; p=p->pLeft){ + int nNear; + Fts3Phrase *pPhrase; + assert( p->pParent && p->pParent->pLeft==p ); + nNear = p->pParent->nNear; + pPhrase = ( + p->eType==FTSQUERY_NEAR ? p->pRight->pPhrase : p->pPhrase + ); + res = fts3EvalNearTrim(nNear, aTmp, &aPoslist, &nToken, pPhrase); + } } + + sqlite3_free(aTmp); } return res; @@ -153590,7 +159295,8 @@ static int fts3SqlStmt( if( !zSql ){ rc = SQLITE_NOMEM; }else{ - rc = sqlite3_prepare_v2(p->db, zSql, -1, &pStmt, NULL); + rc = sqlite3_prepare_v3(p->db, zSql, -1, SQLITE_PREPARE_PERSISTENT, + &pStmt, NULL); sqlite3_free(zSql); assert( rc==SQLITE_OK || pStmt==0 ); p->aStmt[eStmt] = pStmt; @@ -158139,11 +163845,14 @@ SQLITE_PRIVATE int sqlite3Fts3Incrmerge(Fts3Table *p, int nMerge, int nMin){ ** Convert the text beginning at *pz into an integer and return ** its value. Advance *pz to point to the first character past ** the integer. +** +** This function used for parameters to merge= and incrmerge= +** commands. */ static int fts3Getint(const char **pz){ const char *z = *pz; int i = 0; - while( (*z)>='0' && (*z)<='9' ) i = 10*i + *(z++) - '0'; + while( (*z)>='0' && (*z)<='9' && i<214748363 ) i = 10*i + *(z++) - '0'; *pz = z; return i; } @@ -160709,16 +166418,16 @@ static int unicodeAddExceptions( ){ const unsigned char *z = (const unsigned char *)zIn; const unsigned char *zTerm = &z[nIn]; - int iCode; + unsigned int iCode; int nEntry = 0; assert( bAlnum==0 || bAlnum==1 ); while( zi; j--) aNew[j] = aNew[j-1]; - aNew[i] = iCode; + aNew[i] = (int)iCode; nNew++; } } @@ -160891,7 +166600,7 @@ static int unicodeNext( ){ unicode_cursor *pCsr = (unicode_cursor *)pC; unicode_tokenizer *p = ((unicode_tokenizer *)pCsr->base.pTokenizer); - int iCode = 0; + unsigned int iCode = 0; char *zOut; const unsigned char *z = &pCsr->aInput[pCsr->iOff]; const unsigned char *zStart = z; @@ -160903,7 +166612,7 @@ static int unicodeNext( ** the input. */ while( z=zTerm ) return SQLITE_DONE; @@ -160923,7 +166632,7 @@ static int unicodeNext( /* Write the folded case of the last character read to the output */ zEnd = z; - iOut = sqlite3FtsUnicodeFold(iCode, p->bRemoveDiacritic); + iOut = sqlite3FtsUnicodeFold((int)iCode, p->bRemoveDiacritic); if( iOut ){ WRITE_UTF8(zOut, iOut); } @@ -160931,8 +166640,8 @@ static int unicodeNext( /* If the cursor is not at EOF, read the next character */ if( z>=zTerm ) break; READ_UTF8(z, zTerm, iCode); - }while( unicodeIsAlnum(p, iCode) - || sqlite3FtsUnicodeIsdiacritic(iCode) + }while( unicodeIsAlnum(p, (int)iCode) + || sqlite3FtsUnicodeIsdiacritic((int)iCode) ); /* Set the output variables and return. */ @@ -161096,9 +166805,9 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeIsalnum(int c){ 0xFFFFFFFF, 0xFC00FFFF, 0xF8000001, 0xF8000001, }; - if( c<128 ){ - return ( (aAscii[c >> 5] & (1 << (c & 0x001F)))==0 ); - }else if( c<(1<<22) ){ + if( (unsigned int)c<128 ){ + return ( (aAscii[c >> 5] & ((unsigned int)1 << (c & 0x001F)))==0 ); + }else if( (unsigned int)c<(1<<22) ){ unsigned int key = (((unsigned int)c)<<10) | 0x000003FF; int iRes = 0; int iHi = sizeof(aEntry)/sizeof(aEntry[0]) - 1; @@ -161291,16 +167000,17 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){ int ret = c; - assert( c>=0 ); assert( sizeof(unsigned short)==2 && sizeof(unsigned char)==1 ); if( c<128 ){ if( c>='A' && c<='Z' ) ret = c + ('a' - 'A'); }else if( c<65536 ){ + const struct TableEntry *p; int iHi = sizeof(aEntry)/sizeof(aEntry[0]) - 1; int iLo = 0; int iRes = -1; + assert( c>aEntry[0].iCode ); while( iHi>=iLo ){ int iTest = (iHi + iLo) / 2; int cmp = (c - aEntry[iTest].iCode); @@ -161311,14 +167021,12 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){ iHi = iTest-1; } } - assert( iRes<0 || c>=aEntry[iRes].iCode ); - if( iRes>=0 ){ - const struct TableEntry *p = &aEntry[iRes]; - if( c<(p->iCode + p->nRange) && 0==(0x01 & p->flags & (p->iCode ^ c)) ){ - ret = (c + (aiOff[p->flags>>1])) & 0x0000FFFF; - assert( ret>0 ); - } + assert( iRes>=0 && c>=aEntry[iRes].iCode ); + p = &aEntry[iRes]; + if( c<(p->iCode + p->nRange) && 0==(0x01 & p->flags & (p->iCode ^ c)) ){ + ret = (c + (aiOff[p->flags>>1])) & 0x0000FFFF; + assert( ret>0 ); } if( bRemoveDiacritic ) ret = remove_diacritic(ret); @@ -161389,7 +167097,8 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){ ** child page. */ -#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_RTREE) +#if !defined(SQLITE_CORE) \ + || (defined(SQLITE_ENABLE_RTREE) && !defined(SQLITE_OMIT_VIRTUALTABLE)) #ifndef SQLITE_CORE /* #include "sqlite3ext.h" */ @@ -161405,6 +167114,7 @@ SQLITE_PRIVATE int sqlite3FtsUnicodeFold(int c, int bRemoveDiacritic){ #ifndef SQLITE_AMALGAMATION #include "sqlite3rtree.h" typedef sqlite3_int64 i64; +typedef sqlite3_uint64 u64; typedef unsigned char u8; typedef unsigned short u16; typedef unsigned int u32; @@ -161453,13 +167163,16 @@ struct Rtree { sqlite3 *db; /* Host database connection */ int iNodeSize; /* Size in bytes of each node in the node table */ u8 nDim; /* Number of dimensions */ + u8 nDim2; /* Twice the number of dimensions */ u8 eCoordType; /* RTREE_COORD_REAL32 or RTREE_COORD_INT32 */ u8 nBytesPerCell; /* Bytes consumed per cell */ + u8 inWrTrans; /* True if inside write transaction */ int iDepth; /* Current depth of the r-tree structure */ char *zDb; /* Name of database containing r-tree table */ char *zName; /* Name of r-tree table */ - int nBusy; /* Current number of users of this structure */ + u32 nBusy; /* Current number of users of this structure */ i64 nRowEst; /* Estimated number of rows in this table */ + u32 nCursor; /* Number of open cursors */ /* List of nodes removed during a CondenseTree operation. List is ** linked together via the pointer normally used for hash chains - @@ -161469,8 +167182,10 @@ struct Rtree { RtreeNode *pDeleted; int iReinsertHeight; /* Height of sub-trees Reinsert() has run on */ + /* Blob I/O on xxx_node */ + sqlite3_blob *pNodeBlob; + /* Statements to read/write/delete a record from xxx_node */ - sqlite3_stmt *pReadNode; sqlite3_stmt *pWriteNode; sqlite3_stmt *pDeleteNode; @@ -161540,7 +167255,7 @@ struct RtreeSearchPoint { ** The smallest possible node-size is (512-64)==448 bytes. And the largest ** supported cell size is 48 bytes (8 byte rowid + ten 4 byte coordinates). ** Therefore all non-root nodes must contain at least 3 entries. Since -** 2^40 is greater than 2^64, an r-tree structure always has a depth of +** 3^40 is greater than 2^64, an r-tree structure always has a depth of ** 40 or less. */ #define RTREE_MAX_DEPTH 40 @@ -161670,14 +167385,6 @@ struct RtreeGeomCallback { void *pContext; }; - -/* -** Value for the first field of every RtreeMatchArg object. The MATCH -** operator tests that the first field of a blob operand matches this -** value to avoid operating on invalid blobs (which could cause a segfault). -*/ -#define RTREE_GEOMETRY_MAGIC 0x891245AB - /* ** An instance of this structure (in the form of a BLOB) is returned by ** the SQL functions that sqlite3_rtree_geometry_callback() and @@ -161685,7 +167392,7 @@ struct RtreeGeomCallback { ** operand to the MATCH operator of an R-Tree. */ struct RtreeMatchArg { - u32 magic; /* Always RTREE_GEOMETRY_MAGIC */ + u32 iSize; /* Size of this object */ RtreeGeomCallback cb; /* Info about the callback functions */ int nParam; /* Number of parameters to the SQL function */ sqlite3_value **apSqlParam; /* Original SQL parameter values */ @@ -161699,6 +167406,58 @@ struct RtreeMatchArg { # define MIN(x,y) ((x) > (y) ? (y) : (x)) #endif +/* What version of GCC is being used. 0 means GCC is not being used . +** Note that the GCC_VERSION macro will also be set correctly when using +** clang, since clang works hard to be gcc compatible. So the gcc +** optimizations will also work when compiling with clang. +*/ +#ifndef GCC_VERSION +#if defined(__GNUC__) && !defined(SQLITE_DISABLE_INTRINSIC) +# define GCC_VERSION (__GNUC__*1000000+__GNUC_MINOR__*1000+__GNUC_PATCHLEVEL__) +#else +# define GCC_VERSION 0 +#endif +#endif + +/* The testcase() macro should already be defined in the amalgamation. If +** it is not, make it a no-op. +*/ +#ifndef SQLITE_AMALGAMATION +# define testcase(X) +#endif + +/* +** Macros to determine whether the machine is big or little endian, +** and whether or not that determination is run-time or compile-time. +** +** For best performance, an attempt is made to guess at the byte-order +** using C-preprocessor macros. If that is unsuccessful, or if +** -DSQLITE_RUNTIME_BYTEORDER=1 is set, then byte-order is determined +** at run-time. +*/ +#ifndef SQLITE_BYTEORDER +#if defined(i386) || defined(__i386__) || defined(_M_IX86) || \ + defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) || \ + defined(_M_AMD64) || defined(_M_ARM) || defined(__x86) || \ + defined(__arm__) +# define SQLITE_BYTEORDER 1234 +#elif defined(sparc) || defined(__ppc__) +# define SQLITE_BYTEORDER 4321 +#else +# define SQLITE_BYTEORDER 0 /* 0 means "unknown at compile-time" */ +#endif +#endif + + +/* What version of MSVC is being used. 0 means MSVC is not being used */ +#ifndef MSVC_VERSION +#if defined(_MSC_VER) && !defined(SQLITE_DISABLE_INTRINSIC) +# define MSVC_VERSION _MSC_VER +#else +# define MSVC_VERSION 0 +#endif +#endif + /* ** Functions to deserialize a 16 bit integer, 32 bit real number and ** 64 bit integer. The deserialized value is returned. @@ -161707,24 +167466,47 @@ static int readInt16(u8 *p){ return (p[0]<<8) + p[1]; } static void readCoord(u8 *p, RtreeCoord *pCoord){ + assert( ((((char*)p) - (char*)0)&3)==0 ); /* p is always 4-byte aligned */ +#if SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 + pCoord->u = _byteswap_ulong(*(u32*)p); +#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 + pCoord->u = __builtin_bswap32(*(u32*)p); +#elif SQLITE_BYTEORDER==4321 + pCoord->u = *(u32*)p; +#else pCoord->u = ( (((u32)p[0]) << 24) + (((u32)p[1]) << 16) + (((u32)p[2]) << 8) + (((u32)p[3]) << 0) ); +#endif } static i64 readInt64(u8 *p){ - return ( - (((i64)p[0]) << 56) + - (((i64)p[1]) << 48) + - (((i64)p[2]) << 40) + - (((i64)p[3]) << 32) + - (((i64)p[4]) << 24) + - (((i64)p[5]) << 16) + - (((i64)p[6]) << 8) + - (((i64)p[7]) << 0) +#if SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 + u64 x; + memcpy(&x, p, 8); + return (i64)_byteswap_uint64(x); +#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 + u64 x; + memcpy(&x, p, 8); + return (i64)__builtin_bswap64(x); +#elif SQLITE_BYTEORDER==4321 + i64 x; + memcpy(&x, p, 8); + return x; +#else + return (i64)( + (((u64)p[0]) << 56) + + (((u64)p[1]) << 48) + + (((u64)p[2]) << 40) + + (((u64)p[3]) << 32) + + (((u64)p[4]) << 24) + + (((u64)p[5]) << 16) + + (((u64)p[6]) << 8) + + (((u64)p[7]) << 0) ); +#endif } /* @@ -161732,23 +167514,43 @@ static i64 readInt64(u8 *p){ ** 64 bit integer. The value returned is the number of bytes written ** to the argument buffer (always 2, 4 and 8 respectively). */ -static int writeInt16(u8 *p, int i){ +static void writeInt16(u8 *p, int i){ p[0] = (i>> 8)&0xFF; p[1] = (i>> 0)&0xFF; - return 2; } static int writeCoord(u8 *p, RtreeCoord *pCoord){ u32 i; + assert( ((((char*)p) - (char*)0)&3)==0 ); /* p is always 4-byte aligned */ assert( sizeof(RtreeCoord)==4 ); assert( sizeof(u32)==4 ); +#if SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 + i = __builtin_bswap32(pCoord->u); + memcpy(p, &i, 4); +#elif SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 + i = _byteswap_ulong(pCoord->u); + memcpy(p, &i, 4); +#elif SQLITE_BYTEORDER==4321 + i = pCoord->u; + memcpy(p, &i, 4); +#else i = pCoord->u; p[0] = (i>>24)&0xFF; p[1] = (i>>16)&0xFF; p[2] = (i>> 8)&0xFF; p[3] = (i>> 0)&0xFF; +#endif return 4; } static int writeInt64(u8 *p, i64 i){ +#if SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 + i = (i64)__builtin_bswap64((u64)i); + memcpy(p, &i, 8); +#elif SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 + i = (i64)_byteswap_uint64((u64)i); + memcpy(p, &i, 8); +#elif SQLITE_BYTEORDER==4321 + memcpy(p, &i, 8); +#else p[0] = (i>>56)&0xFF; p[1] = (i>>48)&0xFF; p[2] = (i>>40)&0xFF; @@ -161757,6 +167559,7 @@ static int writeInt64(u8 *p, i64 i){ p[5] = (i>>16)&0xFF; p[6] = (i>> 8)&0xFF; p[7] = (i>> 0)&0xFF; +#endif return 8; } @@ -161839,6 +167642,17 @@ static RtreeNode *nodeNew(Rtree *pRtree, RtreeNode *pParent){ return pNode; } +/* +** Clear the Rtree.pNodeBlob object +*/ +static void nodeBlobReset(Rtree *pRtree){ + if( pRtree->pNodeBlob && pRtree->inWrTrans==0 && pRtree->nCursor==0 ){ + sqlite3_blob *pBlob = pRtree->pNodeBlob; + pRtree->pNodeBlob = 0; + sqlite3_blob_close(pBlob); + } +} + /* ** Obtain a reference to an r-tree node. */ @@ -161848,9 +167662,8 @@ static int nodeAcquire( RtreeNode *pParent, /* Either the parent node or NULL */ RtreeNode **ppNode /* OUT: Acquired node */ ){ - int rc; - int rc2 = SQLITE_OK; - RtreeNode *pNode; + int rc = SQLITE_OK; + RtreeNode *pNode = 0; /* Check if the requested node is already in the hash table. If so, ** increase its reference count and return it. @@ -161866,28 +167679,45 @@ static int nodeAcquire( return SQLITE_OK; } - sqlite3_bind_int64(pRtree->pReadNode, 1, iNode); - rc = sqlite3_step(pRtree->pReadNode); - if( rc==SQLITE_ROW ){ - const u8 *zBlob = sqlite3_column_blob(pRtree->pReadNode, 0); - if( pRtree->iNodeSize==sqlite3_column_bytes(pRtree->pReadNode, 0) ){ - pNode = (RtreeNode *)sqlite3_malloc(sizeof(RtreeNode)+pRtree->iNodeSize); - if( !pNode ){ - rc2 = SQLITE_NOMEM; - }else{ - pNode->pParent = pParent; - pNode->zData = (u8 *)&pNode[1]; - pNode->nRef = 1; - pNode->iNode = iNode; - pNode->isDirty = 0; - pNode->pNext = 0; - memcpy(pNode->zData, zBlob, pRtree->iNodeSize); - nodeReference(pParent); - } + if( pRtree->pNodeBlob ){ + sqlite3_blob *pBlob = pRtree->pNodeBlob; + pRtree->pNodeBlob = 0; + rc = sqlite3_blob_reopen(pBlob, iNode); + pRtree->pNodeBlob = pBlob; + if( rc ){ + nodeBlobReset(pRtree); + if( rc==SQLITE_NOMEM ) return SQLITE_NOMEM; + } + } + if( pRtree->pNodeBlob==0 ){ + char *zTab = sqlite3_mprintf("%s_node", pRtree->zName); + if( zTab==0 ) return SQLITE_NOMEM; + rc = sqlite3_blob_open(pRtree->db, pRtree->zDb, zTab, "data", iNode, 0, + &pRtree->pNodeBlob); + sqlite3_free(zTab); + } + if( rc ){ + nodeBlobReset(pRtree); + *ppNode = 0; + /* If unable to open an sqlite3_blob on the desired row, that can only + ** be because the shadow tables hold erroneous data. */ + if( rc==SQLITE_ERROR ) rc = SQLITE_CORRUPT_VTAB; + }else if( pRtree->iNodeSize==sqlite3_blob_bytes(pRtree->pNodeBlob) ){ + pNode = (RtreeNode *)sqlite3_malloc(sizeof(RtreeNode)+pRtree->iNodeSize); + if( !pNode ){ + rc = SQLITE_NOMEM; + }else{ + pNode->pParent = pParent; + pNode->zData = (u8 *)&pNode[1]; + pNode->nRef = 1; + pNode->iNode = iNode; + pNode->isDirty = 0; + pNode->pNext = 0; + rc = sqlite3_blob_read(pRtree->pNodeBlob, pNode->zData, + pRtree->iNodeSize, 0); + nodeReference(pParent); } } - rc = sqlite3_reset(pRtree->pReadNode); - if( rc==SQLITE_OK ) rc = rc2; /* If the root node was just loaded, set pRtree->iDepth to the height ** of the r-tree structure. A height of zero means all data is stored on @@ -161939,7 +167769,7 @@ static void nodeOverwriteCell( int ii; u8 *p = &pNode->zData[4 + pRtree->nBytesPerCell*iCell]; p += writeInt64(p, pCell->iRowid); - for(ii=0; ii<(pRtree->nDim*2); ii++){ + for(ii=0; iinDim2; ii++){ p += writeCoord(p, &pCell->aCoord[ii]); } pNode->isDirty = 1; @@ -162073,13 +167903,16 @@ static void nodeGetCell( ){ u8 *pData; RtreeCoord *pCoord; - int ii; + int ii = 0; pCell->iRowid = nodeGetRowid(pRtree, pNode, iCell); pData = pNode->zData + (12 + pRtree->nBytesPerCell*iCell); pCoord = pCell->aCoord; - for(ii=0; iinDim*2; ii++){ - readCoord(&pData[ii*4], &pCoord[ii]); - } + do{ + readCoord(pData, &pCoord[ii]); + readCoord(pData+4, &pCoord[ii+1]); + pData += 8; + ii += 2; + }while( iinDim2 ); } @@ -162130,7 +167963,9 @@ static void rtreeReference(Rtree *pRtree){ static void rtreeRelease(Rtree *pRtree){ pRtree->nBusy--; if( pRtree->nBusy==0 ){ - sqlite3_finalize(pRtree->pReadNode); + pRtree->inWrTrans = 0; + pRtree->nCursor = 0; + nodeBlobReset(pRtree); sqlite3_finalize(pRtree->pWriteNode); sqlite3_finalize(pRtree->pDeleteNode); sqlite3_finalize(pRtree->pReadRowid); @@ -162168,6 +168003,7 @@ static int rtreeDestroy(sqlite3_vtab *pVtab){ if( !zCreate ){ rc = SQLITE_NOMEM; }else{ + nodeBlobReset(pRtree); rc = sqlite3_exec(pRtree->db, zCreate, 0, 0, 0); sqlite3_free(zCreate); } @@ -162183,6 +168019,7 @@ static int rtreeDestroy(sqlite3_vtab *pVtab){ */ static int rtreeOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){ int rc = SQLITE_NOMEM; + Rtree *pRtree = (Rtree *)pVTab; RtreeCursor *pCsr; pCsr = (RtreeCursor *)sqlite3_malloc(sizeof(RtreeCursor)); @@ -162190,6 +168027,7 @@ static int rtreeOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){ memset(pCsr, 0, sizeof(RtreeCursor)); pCsr->base.pVtab = pVTab; rc = SQLITE_OK; + pRtree->nCursor++; } *ppCursor = (sqlite3_vtab_cursor *)pCsr; @@ -162222,10 +168060,13 @@ static int rtreeClose(sqlite3_vtab_cursor *cur){ Rtree *pRtree = (Rtree *)(cur->pVtab); int ii; RtreeCursor *pCsr = (RtreeCursor *)cur; + assert( pRtree->nCursor>0 ); freeCursorConstraints(pCsr); sqlite3_free(pCsr->aPoint); for(ii=0; iiaNode[ii]); sqlite3_free(pCsr); + pRtree->nCursor--; + nodeBlobReset(pRtree); return SQLITE_OK; } @@ -162248,15 +168089,22 @@ static int rtreeEof(sqlite3_vtab_cursor *cur){ ** false. a[] is the four bytes of the on-disk record to be decoded. ** Store the results in "r". ** -** There are three versions of this macro, one each for little-endian and -** big-endian processors and a third generic implementation. The endian- -** specific implementations are much faster and are preferred if the -** processor endianness is known at compile-time. The SQLITE_BYTEORDER -** macro is part of sqliteInt.h and hence the endian-specific -** implementation will only be used if this module is compiled as part -** of the amalgamation. +** There are five versions of this macro. The last one is generic. The +** other four are various architectures-specific optimizations. */ -#if defined(SQLITE_BYTEORDER) && SQLITE_BYTEORDER==1234 +#if SQLITE_BYTEORDER==1234 && MSVC_VERSION>=1300 +#define RTREE_DECODE_COORD(eInt, a, r) { \ + RtreeCoord c; /* Coordinate decoded */ \ + c.u = _byteswap_ulong(*(u32*)a); \ + r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ +} +#elif SQLITE_BYTEORDER==1234 && GCC_VERSION>=4003000 +#define RTREE_DECODE_COORD(eInt, a, r) { \ + RtreeCoord c; /* Coordinate decoded */ \ + c.u = __builtin_bswap32(*(u32*)a); \ + r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ +} +#elif SQLITE_BYTEORDER==1234 #define RTREE_DECODE_COORD(eInt, a, r) { \ RtreeCoord c; /* Coordinate decoded */ \ memcpy(&c.u,a,4); \ @@ -162264,7 +168112,7 @@ static int rtreeEof(sqlite3_vtab_cursor *cur){ ((c.u&0xff)<<24)|((c.u&0xff00)<<8); \ r = eInt ? (sqlite3_rtree_dbl)c.i : (sqlite3_rtree_dbl)c.f; \ } -#elif defined(SQLITE_BYTEORDER) && SQLITE_BYTEORDER==4321 +#elif SQLITE_BYTEORDER==4321 #define RTREE_DECODE_COORD(eInt, a, r) { \ RtreeCoord c; /* Coordinate decoded */ \ memcpy(&c.u,a,4); \ @@ -162291,10 +168139,10 @@ static int rtreeCallbackConstraint( sqlite3_rtree_dbl *prScore, /* OUT: score for the cell */ int *peWithin /* OUT: visibility of the cell */ ){ - int i; /* Loop counter */ sqlite3_rtree_query_info *pInfo = pConstraint->pInfo; /* Callback info */ int nCoord = pInfo->nCoord; /* No. of coordinates */ int rc; /* Callback return code */ + RtreeCoord c; /* Translator union */ sqlite3_rtree_dbl aCoord[RTREE_MAX_DIMENSIONS*2]; /* Decoded coordinates */ assert( pConstraint->op==RTREE_MATCH || pConstraint->op==RTREE_QUERY ); @@ -162304,13 +168152,41 @@ static int rtreeCallbackConstraint( pInfo->iRowid = readInt64(pCellData); } pCellData += 8; - for(i=0; iop==RTREE_MATCH ){ + int eWithin = 0; rc = pConstraint->u.xGeom((sqlite3_rtree_geometry*)pInfo, - nCoord, aCoord, &i); - if( i==0 ) *peWithin = NOT_WITHIN; + nCoord, aCoord, &eWithin); + if( eWithin==0 ) *peWithin = NOT_WITHIN; *prScore = RTREE_ZERO; }else{ pInfo->aCoord = aCoord; @@ -162346,6 +168222,7 @@ static void rtreeNonleafConstraint( assert(p->op==RTREE_LE || p->op==RTREE_LT || p->op==RTREE_GE || p->op==RTREE_GT || p->op==RTREE_EQ ); + assert( ((((char*)pCellData) - (char*)0)&3)==0 ); /* 4-byte aligned */ switch( p->op ){ case RTREE_LE: case RTREE_LT: @@ -162386,6 +168263,7 @@ static void rtreeLeafConstraint( assert(p->op==RTREE_LE || p->op==RTREE_LT || p->op==RTREE_GE || p->op==RTREE_GT || p->op==RTREE_EQ ); pCellData += 8 + p->iCoord*4; + assert( ((((char*)pCellData) - (char*)0)&3)==0 ); /* 4-byte aligned */ RTREE_DECODE_COORD(eInt, pCellData, xN); switch( p->op ){ case RTREE_LE: if( xN <= p->u.rValue ) return; break; @@ -162454,7 +168332,7 @@ static int rtreeSearchPointCompare( } /* -** Interchange to search points in a cursor. +** Interchange two search points in a cursor. */ static void rtreeSearchPointSwap(RtreeCursor *p, int i, int j){ RtreeSearchPoint t = p->aPoint[i]; @@ -162702,7 +168580,7 @@ static int rtreeStepToLeaf(RtreeCursor *pCur){ if( rScoreeWithin = eWithin; + p->eWithin = (u8)eWithin; p->id = x.id; p->iCell = x.iCell; RTREE_QUEUE_TRACE(pCur, "PUSH-S:"); @@ -162761,7 +168639,6 @@ static int rtreeColumn(sqlite3_vtab_cursor *cur, sqlite3_context *ctx, int i){ if( i==0 ){ sqlite3_result_int64(ctx, nodeGetRowid(pRtree, pNode, p->iCell)); }else{ - if( rc ) return rc; nodeGetCoord(pRtree, pNode, p->iCell, i-1, &c); #ifndef SQLITE_RTREE_INT_ONLY if( pRtree->eCoordType==RTREE_COORD_REAL32 ){ @@ -162810,33 +168687,17 @@ static int findLeafNode( ** operator. */ static int deserializeGeometry(sqlite3_value *pValue, RtreeConstraint *pCons){ - RtreeMatchArg *pBlob; /* BLOB returned by geometry function */ + RtreeMatchArg *pBlob, *pSrc; /* BLOB returned by geometry function */ sqlite3_rtree_query_info *pInfo; /* Callback information */ - int nBlob; /* Size of the geometry function blob */ - int nExpected; /* Expected size of the BLOB */ - - /* Check that value is actually a blob. */ - if( sqlite3_value_type(pValue)!=SQLITE_BLOB ) return SQLITE_ERROR; - /* Check that the blob is roughly the right size. */ - nBlob = sqlite3_value_bytes(pValue); - if( nBlob<(int)sizeof(RtreeMatchArg) ){ - return SQLITE_ERROR; - } - - pInfo = (sqlite3_rtree_query_info*)sqlite3_malloc( sizeof(*pInfo)+nBlob ); + pSrc = sqlite3_value_pointer(pValue, "RtreeMatchArg"); + if( pSrc==0 ) return SQLITE_ERROR; + pInfo = (sqlite3_rtree_query_info*) + sqlite3_malloc64( sizeof(*pInfo)+pSrc->iSize ); if( !pInfo ) return SQLITE_NOMEM; memset(pInfo, 0, sizeof(*pInfo)); pBlob = (RtreeMatchArg*)&pInfo[1]; - - memcpy(pBlob, sqlite3_value_blob(pValue), nBlob); - nExpected = (int)(sizeof(RtreeMatchArg) + - pBlob->nParam*sizeof(sqlite3_value*) + - (pBlob->nParam-1)*sizeof(RtreeDValue)); - if( pBlob->magic!=RTREE_GEOMETRY_MAGIC || nBlob!=nExpected ){ - sqlite3_free(pInfo); - return SQLITE_ERROR; - } + memcpy(pBlob, pSrc, pSrc->iSize); pInfo->pContext = pBlob->cb.pContext; pInfo->nParam = pBlob->nParam; pInfo->aParam = pBlob->aParam; @@ -162890,7 +168751,7 @@ static int rtreeFilter( p->id = iNode; p->eWithin = PARTLY_WITHIN; rc = nodeRowidIndex(pRtree, pLeaf, iRowid, &iCell); - p->iCell = iCell; + p->iCell = (u8)iCell; RTREE_QUEUE_TRACE(pCsr, "PUSH-F1:"); }else{ pCsr->atEOF = 1; @@ -162923,7 +168784,7 @@ static int rtreeFilter( if( rc!=SQLITE_OK ){ break; } - p->pInfo->nCoord = pRtree->nDim*2; + p->pInfo->nCoord = pRtree->nDim2; p->pInfo->anQueue = pCsr->anQueue; p->pInfo->mxLevel = pRtree->iDepth + 1; }else{ @@ -162938,7 +168799,7 @@ static int rtreeFilter( } if( rc==SQLITE_OK ){ RtreeSearchPoint *pNew; - pNew = rtreeSearchPointNew(pCsr, RTREE_ZERO, pRtree->iDepth+1); + pNew = rtreeSearchPointNew(pCsr, RTREE_ZERO, (u8)(pRtree->iDepth+1)); if( pNew==0 ) return SQLITE_NOMEM; pNew->id = 1; pNew->iCell = 0; @@ -162956,19 +168817,6 @@ static int rtreeFilter( return rc; } -/* -** Set the pIdxInfo->estimatedRows variable to nRow. Unless this -** extension is currently being used by a version of SQLite too old to -** support estimatedRows. In that case this function is a no-op. -*/ -static void setEstimatedRows(sqlite3_index_info *pIdxInfo, i64 nRow){ -#if SQLITE_VERSION_NUMBER>=3008002 - if( sqlite3_libversion_number()>=3008002 ){ - pIdxInfo->estimatedRows = nRow; - } -#endif -} - /* ** Rtree virtual table module xBestIndex method. There are three ** table scan strategies to choose from (in order from most to @@ -163048,7 +168896,7 @@ static int rtreeBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdxInfo){ ** a single row. */ pIdxInfo->estimatedCost = 30.0; - setEstimatedRows(pIdxInfo, 1); + pIdxInfo->estimatedRows = 1; return SQLITE_OK; } @@ -163066,7 +168914,7 @@ static int rtreeBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdxInfo){ break; } zIdxStr[iIdx++] = op; - zIdxStr[iIdx++] = p->iColumn - 1 + '0'; + zIdxStr[iIdx++] = (char)(p->iColumn - 1 + '0'); pIdxInfo->aConstraintUsage[ii].argvIndex = (iIdx/2); pIdxInfo->aConstraintUsage[ii].omit = 1; } @@ -163080,7 +168928,7 @@ static int rtreeBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdxInfo){ nRow = pRtree->nRowEst >> (iIdx/2); pIdxInfo->estimatedCost = (double)6.0 * (double)nRow; - setEstimatedRows(pIdxInfo, nRow); + pIdxInfo->estimatedRows = nRow; return rc; } @@ -163090,9 +168938,26 @@ static int rtreeBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdxInfo){ */ static RtreeDValue cellArea(Rtree *pRtree, RtreeCell *p){ RtreeDValue area = (RtreeDValue)1; - int ii; - for(ii=0; ii<(pRtree->nDim*2); ii+=2){ - area = (area * (DCOORD(p->aCoord[ii+1]) - DCOORD(p->aCoord[ii]))); + assert( pRtree->nDim>=1 && pRtree->nDim<=5 ); +#ifndef SQLITE_RTREE_INT_ONLY + if( pRtree->eCoordType==RTREE_COORD_REAL32 ){ + switch( pRtree->nDim ){ + case 5: area = p->aCoord[9].f - p->aCoord[8].f; + case 4: area *= p->aCoord[7].f - p->aCoord[6].f; + case 3: area *= p->aCoord[5].f - p->aCoord[4].f; + case 2: area *= p->aCoord[3].f - p->aCoord[2].f; + default: area *= p->aCoord[1].f - p->aCoord[0].f; + } + }else +#endif + { + switch( pRtree->nDim ){ + case 5: area = p->aCoord[9].i - p->aCoord[8].i; + case 4: area *= p->aCoord[7].i - p->aCoord[6].i; + case 3: area *= p->aCoord[5].i - p->aCoord[4].i; + case 2: area *= p->aCoord[3].i - p->aCoord[2].i; + default: area *= p->aCoord[1].i - p->aCoord[0].i; + } } return area; } @@ -163102,11 +168967,12 @@ static RtreeDValue cellArea(Rtree *pRtree, RtreeCell *p){ ** of the objects size in each dimension. */ static RtreeDValue cellMargin(Rtree *pRtree, RtreeCell *p){ - RtreeDValue margin = (RtreeDValue)0; - int ii; - for(ii=0; ii<(pRtree->nDim*2); ii+=2){ + RtreeDValue margin = 0; + int ii = pRtree->nDim2 - 2; + do{ margin += (DCOORD(p->aCoord[ii+1]) - DCOORD(p->aCoord[ii])); - } + ii -= 2; + }while( ii>=0 ); return margin; } @@ -163114,17 +168980,19 @@ static RtreeDValue cellMargin(Rtree *pRtree, RtreeCell *p){ ** Store the union of cells p1 and p2 in p1. */ static void cellUnion(Rtree *pRtree, RtreeCell *p1, RtreeCell *p2){ - int ii; + int ii = 0; if( pRtree->eCoordType==RTREE_COORD_REAL32 ){ - for(ii=0; ii<(pRtree->nDim*2); ii+=2){ + do{ p1->aCoord[ii].f = MIN(p1->aCoord[ii].f, p2->aCoord[ii].f); p1->aCoord[ii+1].f = MAX(p1->aCoord[ii+1].f, p2->aCoord[ii+1].f); - } + ii += 2; + }while( iinDim2 ); }else{ - for(ii=0; ii<(pRtree->nDim*2); ii+=2){ + do{ p1->aCoord[ii].i = MIN(p1->aCoord[ii].i, p2->aCoord[ii].i); p1->aCoord[ii+1].i = MAX(p1->aCoord[ii+1].i, p2->aCoord[ii+1].i); - } + ii += 2; + }while( iinDim2 ); } } @@ -163135,7 +169003,7 @@ static void cellUnion(Rtree *pRtree, RtreeCell *p1, RtreeCell *p2){ static int cellContains(Rtree *pRtree, RtreeCell *p1, RtreeCell *p2){ int ii; int isInt = (pRtree->eCoordType==RTREE_COORD_INT32); - for(ii=0; ii<(pRtree->nDim*2); ii+=2){ + for(ii=0; iinDim2; ii+=2){ RtreeCoord *a1 = &p1->aCoord[ii]; RtreeCoord *a2 = &p2->aCoord[ii]; if( (!isInt && (a2[0].fa1[1].f)) @@ -163170,7 +169038,7 @@ static RtreeDValue cellOverlap( for(ii=0; iinDim*2); jj+=2){ + for(jj=0; jjnDim2; jj+=2){ RtreeDValue x1, x2; x1 = MAX(DCOORD(p->aCoord[jj]), DCOORD(aCell[ii].aCoord[jj])); x2 = MIN(DCOORD(p->aCoord[jj+1]), DCOORD(aCell[ii].aCoord[jj+1])); @@ -163199,7 +169067,7 @@ static int ChooseLeaf( ){ int rc; int ii; - RtreeNode *pNode; + RtreeNode *pNode = 0; rc = nodeAcquire(pRtree, 1, 0, &pNode); for(ii=0; rc==SQLITE_OK && ii<(pRtree->iDepth-iHeight); ii++){ @@ -164031,7 +169899,7 @@ static int rtreeDeleteRowid(Rtree *pRtree, sqlite3_int64 iDelete){ int rc; /* Return code */ RtreeNode *pLeaf = 0; /* Leaf node containing record iDelete */ int iCell; /* Index of iDelete cell in pLeaf */ - RtreeNode *pRoot; /* Root node of rtree structure */ + RtreeNode *pRoot = 0; /* Root node of rtree structure */ /* Obtain a reference to the root node to initialize Rtree.iDepth */ @@ -164074,7 +169942,7 @@ static int rtreeDeleteRowid(Rtree *pRtree, sqlite3_int64 iDelete){ */ if( rc==SQLITE_OK && pRtree->iDepth>0 && NCELL(pRoot)==1 ){ int rc2; - RtreeNode *pChild; + RtreeNode *pChild = 0; i64 iChild = nodeGetRowid(pRtree, pRoot, 0); rc = nodeAcquire(pRtree, iChild, pRoot, &pChild); if( rc==SQLITE_OK ){ @@ -164226,7 +170094,7 @@ static int rtreeUpdate( ** This problem was discovered after years of use, so we silently ignore ** these kinds of misdeclared tables to avoid breaking any legacy. */ - assert( nData<=(pRtree->nDim*2 + 3) ); + assert( nData<=(pRtree->nDim2 + 3) ); #ifndef SQLITE_RTREE_INT_ONLY if( pRtree->eCoordType==RTREE_COORD_REAL32 ){ @@ -164316,6 +170184,27 @@ static int rtreeUpdate( return rc; } +/* +** Called when a transaction starts. +*/ +static int rtreeBeginTransaction(sqlite3_vtab *pVtab){ + Rtree *pRtree = (Rtree *)pVtab; + assert( pRtree->inWrTrans==0 ); + pRtree->inWrTrans++; + return SQLITE_OK; +} + +/* +** Called when a transaction completes (either by COMMIT or ROLLBACK). +** The sqlite3_blob object should be released at this point. +*/ +static int rtreeEndTransaction(sqlite3_vtab *pVtab){ + Rtree *pRtree = (Rtree *)pVtab; + pRtree->inWrTrans = 0; + nodeBlobReset(pRtree); + return SQLITE_OK; +} + /* ** The xRename method for rtree module virtual tables. */ @@ -164331,12 +170220,37 @@ static int rtreeRename(sqlite3_vtab *pVtab, const char *zNewName){ , pRtree->zDb, pRtree->zName, zNewName ); if( zSql ){ + nodeBlobReset(pRtree); rc = sqlite3_exec(pRtree->db, zSql, 0, 0, 0); sqlite3_free(zSql); } return rc; } +/* +** The xSavepoint method. +** +** This module does not need to do anything to support savepoints. However, +** it uses this hook to close any open blob handle. This is done because a +** DROP TABLE command - which fortunately always opens a savepoint - cannot +** succeed if there are any open blob handles. i.e. if the blob handle were +** not closed here, the following would fail: +** +** BEGIN; +** INSERT INTO rtree... +** DROP TABLE ; -- Would fail with SQLITE_LOCKED +** COMMIT; +*/ +static int rtreeSavepoint(sqlite3_vtab *pVtab, int iSavepoint){ + Rtree *pRtree = (Rtree *)pVtab; + int iwt = pRtree->inWrTrans; + UNUSED_PARAMETER(iSavepoint); + pRtree->inWrTrans = 0; + nodeBlobReset(pRtree); + pRtree->inWrTrans = iwt; + return SQLITE_OK; +} + /* ** This function populates the pRtree->nRowEst variable with an estimate ** of the number of rows in the virtual table. If possible, this is based @@ -164382,7 +170296,7 @@ static int rtreeQueryStat1(sqlite3 *db, Rtree *pRtree){ } static sqlite3_module rtreeModule = { - 0, /* iVersion */ + 2, /* iVersion */ rtreeCreate, /* xCreate - create a table */ rtreeConnect, /* xConnect - connect to an existing table */ rtreeBestIndex, /* xBestIndex - Determine search strategy */ @@ -164396,15 +170310,15 @@ static sqlite3_module rtreeModule = { rtreeColumn, /* xColumn - read data */ rtreeRowid, /* xRowid - read data */ rtreeUpdate, /* xUpdate - write data */ - 0, /* xBegin - begin transaction */ - 0, /* xSync - sync transaction */ - 0, /* xCommit - commit transaction */ - 0, /* xRollback - rollback transaction */ + rtreeBeginTransaction, /* xBegin - begin transaction */ + rtreeEndTransaction, /* xSync - sync transaction */ + rtreeEndTransaction, /* xCommit - commit transaction */ + rtreeEndTransaction, /* xRollback - rollback transaction */ 0, /* xFindFunction - function overloading */ rtreeRename, /* xRename - rename the table */ - 0, /* xSavepoint */ + rtreeSavepoint, /* xSavepoint */ 0, /* xRelease */ - 0 /* xRollbackTo */ + 0, /* xRollbackTo */ }; static int rtreeSqlInit( @@ -164416,10 +170330,9 @@ static int rtreeSqlInit( ){ int rc = SQLITE_OK; - #define N_STATEMENT 9 + #define N_STATEMENT 8 static const char *azSql[N_STATEMENT] = { - /* Read and write the xxx_node table */ - "SELECT data FROM '%q'.'%q_node' WHERE nodeno = :1", + /* Write the xxx_node table */ "INSERT OR REPLACE INTO '%q'.'%q_node' VALUES(:1, :2)", "DELETE FROM '%q'.'%q_node' WHERE nodeno = :1", @@ -164457,21 +170370,21 @@ static int rtreeSqlInit( } } - appStmt[0] = &pRtree->pReadNode; - appStmt[1] = &pRtree->pWriteNode; - appStmt[2] = &pRtree->pDeleteNode; - appStmt[3] = &pRtree->pReadRowid; - appStmt[4] = &pRtree->pWriteRowid; - appStmt[5] = &pRtree->pDeleteRowid; - appStmt[6] = &pRtree->pReadParent; - appStmt[7] = &pRtree->pWriteParent; - appStmt[8] = &pRtree->pDeleteParent; + appStmt[0] = &pRtree->pWriteNode; + appStmt[1] = &pRtree->pDeleteNode; + appStmt[2] = &pRtree->pReadRowid; + appStmt[3] = &pRtree->pWriteRowid; + appStmt[4] = &pRtree->pDeleteRowid; + appStmt[5] = &pRtree->pReadParent; + appStmt[6] = &pRtree->pWriteParent; + appStmt[7] = &pRtree->pDeleteParent; rc = rtreeQueryStat1(db, pRtree); for(i=0; iiNodeSize); if( rc!=SQLITE_OK ){ *pzErr = sqlite3_mprintf("%s", sqlite3_errmsg(db)); + }else if( pRtree->iNodeSize<(512-64) ){ + rc = SQLITE_CORRUPT_VTAB; + *pzErr = sqlite3_mprintf("undersize RTree blobs in \"%q_node\"", + pRtree->zName); } } @@ -164603,9 +170520,10 @@ static int rtreeInit( pRtree->base.pModule = &rtreeModule; pRtree->zDb = (char *)&pRtree[1]; pRtree->zName = &pRtree->zDb[nDb+1]; - pRtree->nDim = (argc-4)/2; - pRtree->nBytesPerCell = 8 + pRtree->nDim*4*2; - pRtree->eCoordType = eCoordType; + pRtree->nDim = (u8)((argc-4)/2); + pRtree->nDim2 = pRtree->nDim*2; + pRtree->nBytesPerCell = 8 + pRtree->nDim2*4; + pRtree->eCoordType = (u8)eCoordType; memcpy(pRtree->zDb, argv[1], nDb); memcpy(pRtree->zName, argv[2], nName); @@ -164678,7 +170596,8 @@ static void rtreenode(sqlite3_context *ctx, int nArg, sqlite3_value **apArg){ UNUSED_PARAMETER(nArg); memset(&node, 0, sizeof(RtreeNode)); memset(&tree, 0, sizeof(Rtree)); - tree.nDim = sqlite3_value_int(apArg[0]); + tree.nDim = (u8)sqlite3_value_int(apArg[0]); + tree.nDim2 = tree.nDim*2; tree.nBytesPerCell = 8 + 8 * tree.nDim; node.zData = (u8 *)sqlite3_value_blob(apArg[1]); @@ -164691,7 +170610,7 @@ static void rtreenode(sqlite3_context *ctx, int nArg, sqlite3_value **apArg){ nodeGetCell(&tree, &node, ii, &cell); sqlite3_snprintf(512-nCell,&zCell[nCell],"%lld", cell.iRowid); nCell = (int)strlen(zCell); - for(jj=0; jjrc==SQLITE_OK ) pCheck->rc = rc; +} + +/* +** The second and subsequent arguments to this function are a format string +** and printf style arguments. This function formats the string and attempts +** to compile it as an SQL statement. +** +** If successful, a pointer to the new SQL statement is returned. Otherwise, +** NULL is returned and an error code left in RtreeCheck.rc. +*/ +static sqlite3_stmt *rtreeCheckPrepare( + RtreeCheck *pCheck, /* RtreeCheck object */ + const char *zFmt, ... /* Format string and trailing args */ +){ + va_list ap; + char *z; + sqlite3_stmt *pRet = 0; + + va_start(ap, zFmt); + z = sqlite3_vmprintf(zFmt, ap); + + if( pCheck->rc==SQLITE_OK ){ + if( z==0 ){ + pCheck->rc = SQLITE_NOMEM; + }else{ + pCheck->rc = sqlite3_prepare_v2(pCheck->db, z, -1, &pRet, 0); + } + } + + sqlite3_free(z); + va_end(ap); + return pRet; +} + +/* +** The second and subsequent arguments to this function are a printf() +** style format string and arguments. This function formats the string and +** appends it to the report being accumuated in pCheck. +*/ +static void rtreeCheckAppendMsg(RtreeCheck *pCheck, const char *zFmt, ...){ + va_list ap; + va_start(ap, zFmt); + if( pCheck->rc==SQLITE_OK && pCheck->nErrrc = SQLITE_NOMEM; + }else{ + pCheck->zReport = sqlite3_mprintf("%z%s%z", + pCheck->zReport, (pCheck->zReport ? "\n" : ""), z + ); + if( pCheck->zReport==0 ){ + pCheck->rc = SQLITE_NOMEM; + } + } + pCheck->nErr++; + } + va_end(ap); +} + +/* +** This function is a no-op if there is already an error code stored +** in the RtreeCheck object indicated by the first argument. NULL is +** returned in this case. +** +** Otherwise, the contents of rtree table node iNode are loaded from +** the database and copied into a buffer obtained from sqlite3_malloc(). +** If no error occurs, a pointer to the buffer is returned and (*pnNode) +** is set to the size of the buffer in bytes. +** +** Or, if an error does occur, NULL is returned and an error code left +** in the RtreeCheck object. The final value of *pnNode is undefined in +** this case. +*/ +static u8 *rtreeCheckGetNode(RtreeCheck *pCheck, i64 iNode, int *pnNode){ + u8 *pRet = 0; /* Return value */ + + assert( pCheck->rc==SQLITE_OK ); + if( pCheck->pGetNode==0 ){ + pCheck->pGetNode = rtreeCheckPrepare(pCheck, + "SELECT data FROM %Q.'%q_node' WHERE nodeno=?", + pCheck->zDb, pCheck->zTab + ); + } + + if( pCheck->rc==SQLITE_OK ){ + sqlite3_bind_int64(pCheck->pGetNode, 1, iNode); + if( sqlite3_step(pCheck->pGetNode)==SQLITE_ROW ){ + int nNode = sqlite3_column_bytes(pCheck->pGetNode, 0); + const u8 *pNode = (const u8*)sqlite3_column_blob(pCheck->pGetNode, 0); + pRet = sqlite3_malloc(nNode); + if( pRet==0 ){ + pCheck->rc = SQLITE_NOMEM; + }else{ + memcpy(pRet, pNode, nNode); + *pnNode = nNode; + } + } + rtreeCheckReset(pCheck, pCheck->pGetNode); + if( pCheck->rc==SQLITE_OK && pRet==0 ){ + rtreeCheckAppendMsg(pCheck, "Node %lld missing from database", iNode); + } + } + + return pRet; +} + +/* +** This function is used to check that the %_parent (if bLeaf==0) or %_rowid +** (if bLeaf==1) table contains a specified entry. The schemas of the +** two tables are: +** +** CREATE TABLE %_parent(nodeno INTEGER PRIMARY KEY, parentnode INTEGER) +** CREATE TABLE %_rowid(rowid INTEGER PRIMARY KEY, nodeno INTEGER) +** +** In both cases, this function checks that there exists an entry with +** IPK value iKey and the second column set to iVal. +** +*/ +static void rtreeCheckMapping( + RtreeCheck *pCheck, /* RtreeCheck object */ + int bLeaf, /* True for a leaf cell, false for interior */ + i64 iKey, /* Key for mapping */ + i64 iVal /* Expected value for mapping */ +){ + int rc; + sqlite3_stmt *pStmt; + const char *azSql[2] = { + "SELECT parentnode FROM %Q.'%q_parent' WHERE nodeno=?", + "SELECT nodeno FROM %Q.'%q_rowid' WHERE rowid=?" + }; + + assert( bLeaf==0 || bLeaf==1 ); + if( pCheck->aCheckMapping[bLeaf]==0 ){ + pCheck->aCheckMapping[bLeaf] = rtreeCheckPrepare(pCheck, + azSql[bLeaf], pCheck->zDb, pCheck->zTab + ); + } + if( pCheck->rc!=SQLITE_OK ) return; + + pStmt = pCheck->aCheckMapping[bLeaf]; + sqlite3_bind_int64(pStmt, 1, iKey); + rc = sqlite3_step(pStmt); + if( rc==SQLITE_DONE ){ + rtreeCheckAppendMsg(pCheck, "Mapping (%lld -> %lld) missing from %s table", + iKey, iVal, (bLeaf ? "%_rowid" : "%_parent") + ); + }else if( rc==SQLITE_ROW ){ + i64 ii = sqlite3_column_int64(pStmt, 0); + if( ii!=iVal ){ + rtreeCheckAppendMsg(pCheck, + "Found (%lld -> %lld) in %s table, expected (%lld -> %lld)", + iKey, ii, (bLeaf ? "%_rowid" : "%_parent"), iKey, iVal + ); + } + } + rtreeCheckReset(pCheck, pStmt); +} + +/* +** Argument pCell points to an array of coordinates stored on an rtree page. +** This function checks that the coordinates are internally consistent (no +** x1>x2 conditions) and adds an error message to the RtreeCheck object +** if they are not. +** +** Additionally, if pParent is not NULL, then it is assumed to point to +** the array of coordinates on the parent page that bound the page +** containing pCell. In this case it is also verified that the two +** sets of coordinates are mutually consistent and an error message added +** to the RtreeCheck object if they are not. +*/ +static void rtreeCheckCellCoord( + RtreeCheck *pCheck, + i64 iNode, /* Node id to use in error messages */ + int iCell, /* Cell number to use in error messages */ + u8 *pCell, /* Pointer to cell coordinates */ + u8 *pParent /* Pointer to parent coordinates */ +){ + RtreeCoord c1, c2; + RtreeCoord p1, p2; + int i; + + for(i=0; inDim; i++){ + readCoord(&pCell[4*2*i], &c1); + readCoord(&pCell[4*(2*i + 1)], &c2); + + /* printf("%e, %e\n", c1.u.f, c2.u.f); */ + if( pCheck->bInt ? c1.i>c2.i : c1.f>c2.f ){ + rtreeCheckAppendMsg(pCheck, + "Dimension %d of cell %d on node %lld is corrupt", i, iCell, iNode + ); + } + + if( pParent ){ + readCoord(&pParent[4*2*i], &p1); + readCoord(&pParent[4*(2*i + 1)], &p2); + + if( (pCheck->bInt ? c1.ibInt ? c2.i>p2.i : c2.f>p2.f) + ){ + rtreeCheckAppendMsg(pCheck, + "Dimension %d of cell %d on node %lld is corrupt relative to parent" + , i, iCell, iNode + ); + } + } + } +} + +/* +** Run rtreecheck() checks on node iNode, which is at depth iDepth within +** the r-tree structure. Argument aParent points to the array of coordinates +** that bound node iNode on the parent node. +** +** If any problems are discovered, an error message is appended to the +** report accumulated in the RtreeCheck object. +*/ +static void rtreeCheckNode( + RtreeCheck *pCheck, + int iDepth, /* Depth of iNode (0==leaf) */ + u8 *aParent, /* Buffer containing parent coords */ + i64 iNode /* Node to check */ +){ + u8 *aNode = 0; + int nNode = 0; + + assert( iNode==1 || aParent!=0 ); + assert( pCheck->nDim>0 ); + + aNode = rtreeCheckGetNode(pCheck, iNode, &nNode); + if( aNode ){ + if( nNode<4 ){ + rtreeCheckAppendMsg(pCheck, + "Node %lld is too small (%d bytes)", iNode, nNode + ); + }else{ + int nCell; /* Number of cells on page */ + int i; /* Used to iterate through cells */ + if( aParent==0 ){ + iDepth = readInt16(aNode); + if( iDepth>RTREE_MAX_DEPTH ){ + rtreeCheckAppendMsg(pCheck, "Rtree depth out of range (%d)", iDepth); + sqlite3_free(aNode); + return; + } + } + nCell = readInt16(&aNode[2]); + if( (4 + nCell*(8 + pCheck->nDim*2*4))>nNode ){ + rtreeCheckAppendMsg(pCheck, + "Node %lld is too small for cell count of %d (%d bytes)", + iNode, nCell, nNode + ); + }else{ + for(i=0; inDim*2*4)]; + i64 iVal = readInt64(pCell); + rtreeCheckCellCoord(pCheck, iNode, i, &pCell[8], aParent); + + if( iDepth>0 ){ + rtreeCheckMapping(pCheck, 0, iVal, iNode); + rtreeCheckNode(pCheck, iDepth-1, &pCell[8], iVal); + pCheck->nNonLeaf++; + }else{ + rtreeCheckMapping(pCheck, 1, iVal, iNode); + pCheck->nLeaf++; + } + } + } + } + sqlite3_free(aNode); + } +} + +/* +** The second argument to this function must be either "_rowid" or +** "_parent". This function checks that the number of entries in the +** %_rowid or %_parent table is exactly nExpect. If not, it adds +** an error message to the report in the RtreeCheck object indicated +** by the first argument. +*/ +static void rtreeCheckCount(RtreeCheck *pCheck, const char *zTbl, i64 nExpect){ + if( pCheck->rc==SQLITE_OK ){ + sqlite3_stmt *pCount; + pCount = rtreeCheckPrepare(pCheck, "SELECT count(*) FROM %Q.'%q%s'", + pCheck->zDb, pCheck->zTab, zTbl + ); + if( pCount ){ + if( sqlite3_step(pCount)==SQLITE_ROW ){ + i64 nActual = sqlite3_column_int64(pCount, 0); + if( nActual!=nExpect ){ + rtreeCheckAppendMsg(pCheck, "Wrong number of entries in %%%s table" + " - expected %lld, actual %lld" , zTbl, nExpect, nActual + ); + } + } + pCheck->rc = sqlite3_finalize(pCount); + } + } +} + +/* +** This function does the bulk of the work for the rtree integrity-check. +** It is called by rtreecheck(), which is the SQL function implementation. +*/ +static int rtreeCheckTable( + sqlite3 *db, /* Database handle to access db through */ + const char *zDb, /* Name of db ("main", "temp" etc.) */ + const char *zTab, /* Name of rtree table to check */ + char **pzReport /* OUT: sqlite3_malloc'd report text */ +){ + RtreeCheck check; /* Common context for various routines */ + sqlite3_stmt *pStmt = 0; /* Used to find column count of rtree table */ + int bEnd = 0; /* True if transaction should be closed */ + + /* Initialize the context object */ + memset(&check, 0, sizeof(check)); + check.db = db; + check.zDb = zDb; + check.zTab = zTab; + + /* If there is not already an open transaction, open one now. This is + ** to ensure that the queries run as part of this integrity-check operate + ** on a consistent snapshot. */ + if( sqlite3_get_autocommit(db) ){ + check.rc = sqlite3_exec(db, "BEGIN", 0, 0, 0); + bEnd = 1; + } + + /* Find number of dimensions in the rtree table. */ + pStmt = rtreeCheckPrepare(&check, "SELECT * FROM %Q.%Q", zDb, zTab); + if( pStmt ){ + int rc; + check.nDim = (sqlite3_column_count(pStmt) - 1) / 2; + if( check.nDim<1 ){ + rtreeCheckAppendMsg(&check, "Schema corrupt or not an rtree"); + }else if( SQLITE_ROW==sqlite3_step(pStmt) ){ + check.bInt = (sqlite3_column_type(pStmt, 1)==SQLITE_INTEGER); + } + rc = sqlite3_finalize(pStmt); + if( rc!=SQLITE_CORRUPT ) check.rc = rc; + } + + /* Do the actual integrity-check */ + if( check.nDim>=1 ){ + if( check.rc==SQLITE_OK ){ + rtreeCheckNode(&check, 0, 0, 1); + } + rtreeCheckCount(&check, "_rowid", check.nLeaf); + rtreeCheckCount(&check, "_parent", check.nNonLeaf); + } + + /* Finalize SQL statements used by the integrity-check */ + sqlite3_finalize(check.pGetNode); + sqlite3_finalize(check.aCheckMapping[0]); + sqlite3_finalize(check.aCheckMapping[1]); + + /* If one was opened, close the transaction */ + if( bEnd ){ + int rc = sqlite3_exec(db, "END", 0, 0, 0); + if( check.rc==SQLITE_OK ) check.rc = rc; + } + *pzReport = check.zReport; + return check.rc; +} + +/* +** Usage: +** +** rtreecheck(); +** rtreecheck(, ); +** +** Invoking this SQL function runs an integrity-check on the named rtree +** table. The integrity-check verifies the following: +** +** 1. For each cell in the r-tree structure (%_node table), that: +** +** a) for each dimension, (coord1 <= coord2). +** +** b) unless the cell is on the root node, that the cell is bounded +** by the parent cell on the parent node. +** +** c) for leaf nodes, that there is an entry in the %_rowid +** table corresponding to the cell's rowid value that +** points to the correct node. +** +** d) for cells on non-leaf nodes, that there is an entry in the +** %_parent table mapping from the cell's child node to the +** node that it resides on. +** +** 2. That there are the same number of entries in the %_rowid table +** as there are leaf cells in the r-tree structure, and that there +** is a leaf cell that corresponds to each entry in the %_rowid table. +** +** 3. That there are the same number of entries in the %_parent table +** as there are non-leaf cells in the r-tree structure, and that +** there is a non-leaf cell that corresponds to each entry in the +** %_parent table. +*/ +static void rtreecheck( + sqlite3_context *ctx, + int nArg, + sqlite3_value **apArg +){ + if( nArg!=1 && nArg!=2 ){ + sqlite3_result_error(ctx, + "wrong number of arguments to function rtreecheck()", -1 + ); + }else{ + int rc; + char *zReport = 0; + const char *zDb = (const char*)sqlite3_value_text(apArg[0]); + const char *zTab; + if( nArg==1 ){ + zTab = zDb; + zDb = "main"; + }else{ + zTab = (const char*)sqlite3_value_text(apArg[1]); + } + rc = rtreeCheckTable(sqlite3_context_db_handle(ctx), zDb, zTab, &zReport); + if( rc==SQLITE_OK ){ + sqlite3_result_text(ctx, zReport ? zReport : "ok", -1, SQLITE_TRANSIENT); + }else{ + sqlite3_result_error_code(ctx, rc); + } + sqlite3_free(zReport); + } +} + + /* ** Register the r-tree module with database handle db. This creates the ** virtual table module "rtree" and the debugging/analysis scalar @@ -164748,6 +171124,9 @@ SQLITE_PRIVATE int sqlite3RtreeInit(sqlite3 *db){ if( rc==SQLITE_OK ){ rc = sqlite3_create_function(db, "rtreedepth", 1, utf8, 0,rtreedepth, 0, 0); } + if( rc==SQLITE_OK ){ + rc = sqlite3_create_function(db, "rtreecheck", -1, utf8, 0,rtreecheck, 0,0); + } if( rc==SQLITE_OK ){ #ifdef SQLITE_RTREE_INT_ONLY void *c = (void *)RTREE_COORD_INT32; @@ -164816,7 +171195,7 @@ static void geomCallback(sqlite3_context *ctx, int nArg, sqlite3_value **aArg){ sqlite3_result_error_nomem(ctx); }else{ int i; - pBlob->magic = RTREE_GEOMETRY_MAGIC; + pBlob->iSize = nBlob; pBlob->cb = pGeomCtx[0]; pBlob->apSqlParam = (sqlite3_value**)&pBlob->aParam[nArg]; pBlob->nParam = nArg; @@ -164833,7 +171212,7 @@ static void geomCallback(sqlite3_context *ctx, int nArg, sqlite3_value **aArg){ sqlite3_result_error_nomem(ctx); rtreeMatchArgFree(pBlob); }else{ - sqlite3_result_blob(ctx, pBlob, nBlob, rtreeMatchArgFree); + sqlite3_result_pointer(ctx, pBlob, "RtreeMatchArg", rtreeMatchArgFree); } } } @@ -164934,7 +171313,9 @@ SQLITE_API int sqlite3_rtree_init( ** provide case-independent matching. */ -#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) +#if !defined(SQLITE_CORE) \ + || defined(SQLITE_ENABLE_ICU) \ + || defined(SQLITE_ENABLE_ICU_COLLATIONS) /* Include ICU headers */ #include @@ -164951,6 +171332,26 @@ SQLITE_API int sqlite3_rtree_init( /* #include "sqlite3.h" */ #endif +/* +** This function is called when an ICU function called from within +** the implementation of an SQL scalar function returns an error. +** +** The scalar function context passed as the first argument is +** loaded with an error message based on the following two args. +*/ +static void icuFunctionError( + sqlite3_context *pCtx, /* SQLite scalar function context */ + const char *zName, /* Name of ICU function that failed */ + UErrorCode e /* Error code returned by ICU function */ +){ + char zBuf[128]; + sqlite3_snprintf(128, zBuf, "ICU error: %s(): %s", zName, u_errorName(e)); + zBuf[127] = '\0'; + sqlite3_result_error(pCtx, zBuf, -1); +} + +#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) + /* ** Maximum length (in bytes) of the pattern in a LIKE or GLOB ** operator. @@ -165008,15 +171409,15 @@ static int icuLikeCompare( const uint8_t *zString, /* The UTF-8 string to compare against */ const UChar32 uEsc /* The escape character */ ){ - static const int MATCH_ONE = (UChar32)'_'; - static const int MATCH_ALL = (UChar32)'%'; + static const uint32_t MATCH_ONE = (uint32_t)'_'; + static const uint32_t MATCH_ALL = (uint32_t)'%'; int prevEscape = 0; /* True if the previous character was uEsc */ while( 1 ){ /* Read (and consume) the next character from the input pattern. */ - UChar32 uPattern; + uint32_t uPattern; SQLITE_ICU_READ_UTF8(zPattern, uPattern); if( uPattern==0 ) break; @@ -165058,16 +171459,16 @@ static int icuLikeCompare( if( *zString==0 ) return 0; SQLITE_ICU_SKIP_UTF8(zString); - }else if( !prevEscape && uPattern==uEsc){ + }else if( !prevEscape && uPattern==(uint32_t)uEsc){ /* Case 3. */ prevEscape = 1; }else{ /* Case 4. */ - UChar32 uString; + uint32_t uString; SQLITE_ICU_READ_UTF8(zString, uString); - uString = u_foldCase(uString, U_FOLD_CASE_DEFAULT); - uPattern = u_foldCase(uPattern, U_FOLD_CASE_DEFAULT); + uString = (uint32_t)u_foldCase((UChar32)uString, U_FOLD_CASE_DEFAULT); + uPattern = (uint32_t)u_foldCase((UChar32)uPattern, U_FOLD_CASE_DEFAULT); if( uString!=uPattern ){ return 0; } @@ -165130,24 +171531,6 @@ static void icuLikeFunc( } } -/* -** This function is called when an ICU function called from within -** the implementation of an SQL scalar function returns an error. -** -** The scalar function context passed as the first argument is -** loaded with an error message based on the following two args. -*/ -static void icuFunctionError( - sqlite3_context *pCtx, /* SQLite scalar function context */ - const char *zName, /* Name of ICU function that failed */ - UErrorCode e /* Error code returned by ICU function */ -){ - char zBuf[128]; - sqlite3_snprintf(128, zBuf, "ICU error: %s(): %s", zName, u_errorName(e)); - zBuf[127] = '\0'; - sqlite3_result_error(pCtx, zBuf, -1); -} - /* ** Function to delete compiled regexp objects. Registered as ** a destructor function with sqlite3_set_auxdata(). @@ -165313,6 +171696,8 @@ static void icuCaseFunc16(sqlite3_context *p, int nArg, sqlite3_value **apArg){ assert( 0 ); /* Unreachable */ } +#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) */ + /* ** Collation sequence destructor function. The pCtx argument points to ** a UCollator structure previously allocated using ucol_open(). @@ -165399,38 +171784,37 @@ static void icuLoadCollation( ** Register the ICU extension functions with database db. */ SQLITE_PRIVATE int sqlite3IcuInit(sqlite3 *db){ - struct IcuScalar { + static const struct IcuScalar { const char *zName; /* Function name */ - int nArg; /* Number of arguments */ - int enc; /* Optimal text encoding */ - void *pContext; /* sqlite3_user_data() context */ + unsigned char nArg; /* Number of arguments */ + unsigned short enc; /* Optimal text encoding */ + unsigned char iContext; /* sqlite3_user_data() context */ void (*xFunc)(sqlite3_context*,int,sqlite3_value**); } scalars[] = { - {"regexp", 2, SQLITE_ANY|SQLITE_DETERMINISTIC, 0, icuRegexpFunc}, - - {"lower", 1, SQLITE_UTF16|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, - {"lower", 2, SQLITE_UTF16|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, - {"upper", 1, SQLITE_UTF16|SQLITE_DETERMINISTIC, (void*)1, icuCaseFunc16}, - {"upper", 2, SQLITE_UTF16|SQLITE_DETERMINISTIC, (void*)1, icuCaseFunc16}, - - {"lower", 1, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, - {"lower", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, - {"upper", 1, SQLITE_UTF8|SQLITE_DETERMINISTIC, (void*)1, icuCaseFunc16}, - {"upper", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, (void*)1, icuCaseFunc16}, - - {"like", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuLikeFunc}, - {"like", 3, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuLikeFunc}, - - {"icu_load_collation", 2, SQLITE_UTF8, (void*)db, icuLoadCollation}, + {"icu_load_collation", 2, SQLITE_UTF8, 1, icuLoadCollation}, +#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) + {"regexp", 2, SQLITE_ANY|SQLITE_DETERMINISTIC, 0, icuRegexpFunc}, + {"lower", 1, SQLITE_UTF16|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, + {"lower", 2, SQLITE_UTF16|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, + {"upper", 1, SQLITE_UTF16|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, + {"upper", 2, SQLITE_UTF16|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, + {"lower", 1, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, + {"lower", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuCaseFunc16}, + {"upper", 1, SQLITE_UTF8|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, + {"upper", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 1, icuCaseFunc16}, + {"like", 2, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuLikeFunc}, + {"like", 3, SQLITE_UTF8|SQLITE_DETERMINISTIC, 0, icuLikeFunc}, +#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_ICU) */ }; - int rc = SQLITE_OK; int i; - + for(i=0; rc==SQLITE_OK && i<(int)(sizeof(scalars)/sizeof(scalars[0])); i++){ - struct IcuScalar *p = &scalars[i]; + const struct IcuScalar *p = &scalars[i]; rc = sqlite3_create_function( - db, p->zName, p->nArg, p->enc, p->pContext, p->xFunc, 0, 0 + db, p->zName, p->nArg, p->enc, + p->iContext ? (void*)db : (void*)0, + p->xFunc, 0, 0 ); } @@ -166165,6 +172549,28 @@ SQLITE_API sqlite3rbu *sqlite3rbu_vacuum( const char *zState ); +/* +** Configure a limit for the amount of temp space that may be used by +** the RBU handle passed as the first argument. The new limit is specified +** in bytes by the second parameter. If it is positive, the limit is updated. +** If the second parameter to this function is passed zero, then the limit +** is removed entirely. If the second parameter is negative, the limit is +** not modified (this is useful for querying the current limit). +** +** In all cases the returned value is the current limit in bytes (zero +** indicates unlimited). +** +** If the temp space limit is exceeded during operation, an SQLITE_FULL +** error is returned. +*/ +SQLITE_API sqlite3_int64 sqlite3rbu_temp_size_limit(sqlite3rbu*, sqlite3_int64); + +/* +** Return the current amount of temp file space, in bytes, currently used by +** the RBU handle passed as the only argument. +*/ +SQLITE_API sqlite3_int64 sqlite3rbu_temp_size(sqlite3rbu*); + /* ** Internally, each RBU connection uses a separate SQLite database ** connection to access the target and rbu update databases. This @@ -166233,10 +172639,10 @@ SQLITE_API int sqlite3rbu_savestate(sqlite3rbu *pRbu); ** ** If an error has already occurred as part of an sqlite3rbu_step() ** or sqlite3rbu_open() call, or if one occurs within this function, an -** SQLite error code is returned. Additionally, *pzErrmsg may be set to -** point to a buffer containing a utf-8 formatted English language error -** message. It is the responsibility of the caller to eventually free any -** such buffer using sqlite3_free(). +** SQLite error code is returned. Additionally, if pzErrmsg is not NULL, +** *pzErrmsg may be set to point to a buffer containing a utf-8 formatted +** English language error message. It is the responsibility of the caller to +** eventually free any such buffer using sqlite3_free(). ** ** Otherwise, if no error occurs, this function returns SQLITE_OK if the ** update has been partially applied, or SQLITE_DONE if it has been @@ -166291,7 +172697,7 @@ SQLITE_API sqlite3_int64 sqlite3rbu_progress(sqlite3rbu *pRbu); ** table exists but is not correctly populated, the value of the *pnOne ** output variable during stage 1 is undefined. */ -SQLITE_API void sqlite3rbu_bp_progress(sqlite3rbu *pRbu, int *pnOne, int *pnTwo); +SQLITE_API void sqlite3rbu_bp_progress(sqlite3rbu *pRbu, int *pnOne, int*pnTwo); /* ** Obtain an indication as to the current stage of an RBU update or vacuum. @@ -166401,6 +172807,13 @@ SQLITE_API void sqlite3rbu_destroy_vfs(const char *zName); /* Maximum number of prepared UPDATE statements held by this module */ #define SQLITE_RBU_UPDATE_CACHESIZE 16 +/* Delta checksums disabled by default. Compile with -DRBU_ENABLE_DELTA_CKSUM +** to enable checksum verification. +*/ +#ifndef RBU_ENABLE_DELTA_CKSUM +# define RBU_ENABLE_DELTA_CKSUM 0 +#endif + /* ** Swap two objects of type TYPE. */ @@ -166661,6 +173074,7 @@ struct sqlite3rbu { RbuObjIter objiter; /* Iterator for skipping through tbl/idx */ const char *zVfsName; /* Name of automatically created rbu vfs */ rbu_file *pTargetFd; /* File handle open on target db */ + int nPagePerSector; /* Pages per sector for pTargetFd */ i64 iOalSz; i64 nPhaseOneStep; @@ -166675,6 +173089,8 @@ struct sqlite3rbu { int pgsz; u8 *aBuf; i64 iWalCksum; + i64 szTemp; /* Current size of all temp files in use */ + i64 szTempLimit; /* Total size limit for temp files */ /* Used in RBU vacuum mode only */ int nRbu; /* Number of RBU VFS in the stack */ @@ -166683,23 +173099,33 @@ struct sqlite3rbu { /* ** An rbu VFS is implemented using an instance of this structure. +** +** Variable pRbu is only non-NULL for automatically created RBU VFS objects. +** It is NULL for RBU VFS objects created explicitly using +** sqlite3rbu_create_vfs(). It is used to track the total amount of temp +** space used by the RBU handle. */ struct rbu_vfs { sqlite3_vfs base; /* rbu VFS shim methods */ sqlite3_vfs *pRealVfs; /* Underlying VFS */ sqlite3_mutex *mutex; /* Mutex to protect pMain */ + sqlite3rbu *pRbu; /* Owner RBU object */ rbu_file *pMain; /* Linked list of main db files */ }; /* ** Each file opened by an rbu VFS is represented by an instance of ** the following structure. +** +** If this is a temporary file (pRbu!=0 && flags&DELETE_ON_CLOSE), variable +** "sz" is set to the current size of the database file. */ struct rbu_file { sqlite3_file base; /* sqlite3_file methods */ sqlite3_file *pReal; /* Underlying file handle */ rbu_vfs *pRbuVfs; /* Pointer to the rbu_vfs object */ sqlite3rbu *pRbu; /* Pointer to rbu object (rbu target only) */ + i64 sz; /* Size of file in bytes (temp only) */ int openFlags; /* Flags this file was opened with */ u32 iCookie; /* Cookie value for main db files */ @@ -166762,6 +173188,7 @@ static unsigned int rbuDeltaGetInt(const char **pz, int *pLen){ return v; } +#if RBU_ENABLE_DELTA_CKSUM /* ** Compute a 32-bit checksum on the N-byte buffer. Return the result. */ @@ -166796,6 +173223,7 @@ static unsigned int rbuDeltaChecksum(const char *zIn, size_t N){ } return sum3; } +#endif /* ** Apply a delta. @@ -166826,7 +173254,7 @@ static int rbuDeltaApply( ){ unsigned int limit; unsigned int total = 0; -#ifndef FOSSIL_OMIT_DELTA_CKSUM_TEST +#if RBU_ENABLE_DELTA_CKSUM char *zOrigOut = zOut; #endif @@ -166881,7 +173309,7 @@ static int rbuDeltaApply( case ';': { zDelta++; lenDelta--; zOut[0] = 0; -#ifndef FOSSIL_OMIT_DELTA_CKSUM_TEST +#if RBU_ENABLE_DELTA_CKSUM if( cnt!=rbuDeltaChecksum(zOrigOut, total) ){ /* ERROR: bad checksum */ return -1; @@ -168638,7 +175066,7 @@ static RbuState *rbuLoadState(sqlite3rbu *p){ ** Open the database handle and attach the RBU database as "rbu". If an ** error occurs, leave an error code and message in the RBU handle. */ -static void rbuOpenDatabase(sqlite3rbu *p){ +static void rbuOpenDatabase(sqlite3rbu *p, int *pbRetry){ assert( p->rc || (p->dbMain==0 && p->dbRbu==0) ); assert( p->rc || rbuIsVacuum(p) || p->zTarget!=0 ); @@ -168713,7 +175141,7 @@ static void rbuOpenDatabase(sqlite3rbu *p){ }else{ RbuState *pState = rbuLoadState(p); if( pState ){ - bOpen = (pState->eStage>RBU_STAGE_MOVE); + bOpen = (pState->eStage>=RBU_STAGE_MOVE); rbuFreeState(pState); } } @@ -168725,6 +175153,15 @@ static void rbuOpenDatabase(sqlite3rbu *p){ if( !rbuIsVacuum(p) ){ p->dbMain = rbuOpenDbhandle(p, p->zTarget, 1); }else if( p->pRbuFd->pWalFd ){ + if( pbRetry ){ + p->pRbuFd->bNolock = 0; + sqlite3_close(p->dbRbu); + sqlite3_close(p->dbMain); + p->dbMain = 0; + p->dbRbu = 0; + *pbRetry = 1; + return; + } p->rc = SQLITE_ERROR; p->zErrmsg = sqlite3_mprintf("cannot vacuum wal mode database"); }else{ @@ -168905,16 +175342,35 @@ static void rbuSetupCheckpoint(sqlite3rbu *p, RbuState *pState){ if( rc2!=SQLITE_INTERNAL ) p->rc = rc2; } - if( p->rc==SQLITE_OK ){ + if( p->rc==SQLITE_OK && p->nFrame>0 ){ p->eStage = RBU_STAGE_CKPT; p->nStep = (pState ? pState->nRow : 0); p->aBuf = rbuMalloc(p, p->pgsz); p->iWalCksum = rbuShmChecksum(p); } - if( p->rc==SQLITE_OK && pState && pState->iWalCksum!=p->iWalCksum ){ - p->rc = SQLITE_DONE; - p->eStage = RBU_STAGE_DONE; + if( p->rc==SQLITE_OK ){ + if( p->nFrame==0 || (pState && pState->iWalCksum!=p->iWalCksum) ){ + p->rc = SQLITE_DONE; + p->eStage = RBU_STAGE_DONE; + }else{ + int nSectorSize; + sqlite3_file *pDb = p->pTargetFd->pReal; + sqlite3_file *pWal = p->pTargetFd->pWalFd->pReal; + assert( p->nPagePerSector==0 ); + nSectorSize = pDb->pMethods->xSectorSize(pDb); + if( nSectorSize>p->pgsz ){ + p->nPagePerSector = nSectorSize / p->pgsz; + }else{ + p->nPagePerSector = 1; + } + + /* Call xSync() on the wal file. This causes SQLite to sync the + ** directory in which the target database and the wal file reside, in + ** case it has not been synced since the rename() call in + ** rbuMoveOalFile(). */ + p->rc = pWal->pMethods->xSync(pWal, SQLITE_SYNC_NORMAL); + } } } @@ -169087,7 +175543,7 @@ static void rbuMoveOalFile(sqlite3rbu *p){ #endif if( p->rc==SQLITE_OK ){ - rbuOpenDatabase(p); + rbuOpenDatabase(p, 0); rbuSetupCheckpoint(p, 0); } } @@ -169569,9 +176025,26 @@ SQLITE_API int sqlite3rbu_step(sqlite3rbu *p){ p->rc = SQLITE_DONE; } }else{ - RbuFrame *pFrame = &p->aFrame[p->nStep]; - rbuCheckpointFrame(p, pFrame); - p->nStep++; + /* At one point the following block copied a single frame from the + ** wal file to the database file. So that one call to sqlite3rbu_step() + ** checkpointed a single frame. + ** + ** However, if the sector-size is larger than the page-size, and the + ** application calls sqlite3rbu_savestate() or close() immediately + ** after this step, then rbu_step() again, then a power failure occurs, + ** then the database page written here may be damaged. Work around + ** this by checkpointing frames until the next page in the aFrame[] + ** lies on a different disk sector to the current one. */ + u32 iSector; + do{ + RbuFrame *pFrame = &p->aFrame[p->nStep]; + iSector = (pFrame->iDbPage-1) / p->nPagePerSector; + rbuCheckpointFrame(p, pFrame); + p->nStep++; + }while( p->nStepnFrame + && iSector==((p->aFrame[p->nStep].iDbPage-1) / p->nPagePerSector) + && p->rc==SQLITE_OK + ); } p->nProgress++; } @@ -169668,6 +176141,7 @@ static void rbuCreateVfs(sqlite3rbu *p){ sqlite3_vfs *pVfs = sqlite3_vfs_find(zRnd); assert( pVfs ); p->zVfsName = pVfs->zName; + ((rbu_vfs*)pVfs)->pRbu = p; } } @@ -169798,6 +176272,7 @@ static sqlite3rbu *openRbuHandle( /* Open the target, RBU and state databases */ if( p->rc==SQLITE_OK ){ char *pCsr = (char*)&p[1]; + int bRetry = 0; if( zTarget ){ p->zTarget = pCsr; memcpy(p->zTarget, zTarget, nTarget+1); @@ -169809,7 +176284,18 @@ static sqlite3rbu *openRbuHandle( if( zState ){ p->zState = rbuMPrintf(p, "%s", zState); } - rbuOpenDatabase(p); + + /* If the first attempt to open the database file fails and the bRetry + ** flag it set, this means that the db was not opened because it seemed + ** to be a wal-mode db. But, this may have happened due to an earlier + ** RBU vacuum operation leaving an old wal file in the directory. + ** If this is the case, it will have been checkpointed and deleted + ** when the handle was closed and a second attempt to open the + ** database may succeed. */ + rbuOpenDatabase(p, &bRetry); + if( bRetry ){ + rbuOpenDatabase(p, 0); + } } if( p->rc==SQLITE_OK ){ @@ -170000,6 +176486,12 @@ SQLITE_API int sqlite3rbu_close(sqlite3rbu *p, char **pzErrmsg){ p->rc = sqlite3_exec(p->dbMain, "COMMIT", 0, 0, &p->zErrmsg); } + /* Sync the db file if currently doing an incremental checkpoint */ + if( p->rc==SQLITE_OK && p->eStage==RBU_STAGE_CKPT ){ + sqlite3_file *pDb = p->pTargetFd->pReal; + p->rc = pDb->pMethods->xSync(pDb, SQLITE_SYNC_NORMAL); + } + rbuSaveState(p, p->eStage); if( p->rc==SQLITE_OK && p->eStage==RBU_STAGE_OAL ){ @@ -170022,13 +176514,18 @@ SQLITE_API int sqlite3rbu_close(sqlite3rbu *p, char **pzErrmsg){ /* Close the open database handle and VFS object. */ sqlite3_close(p->dbRbu); sqlite3_close(p->dbMain); + assert( p->szTemp==0 ); rbuDeleteVfs(p); sqlite3_free(p->aBuf); sqlite3_free(p->aFrame); rbuEditErrmsg(p); rc = p->rc; - *pzErrmsg = p->zErrmsg; + if( pzErrmsg ){ + *pzErrmsg = p->zErrmsg; + }else{ + sqlite3_free(p->zErrmsg); + } sqlite3_free(p->zState); sqlite3_free(p); }else{ @@ -170124,6 +176621,12 @@ SQLITE_API int sqlite3rbu_savestate(sqlite3rbu *p){ if( rc==SQLITE_OK ) rc = sqlite3_exec(p->dbMain, "COMMIT", 0, 0, 0); } + /* Sync the db file */ + if( rc==SQLITE_OK && p->eStage==RBU_STAGE_CKPT ){ + sqlite3_file *pDb = p->pTargetFd->pReal; + rc = pDb->pMethods->xSync(pDb, SQLITE_SYNC_NORMAL); + } + p->rc = rc; rbuSaveState(p, p->eStage); rc = p->rc; @@ -170199,6 +176702,7 @@ SQLITE_API int sqlite3rbu_savestate(sqlite3rbu *p){ */ static void rbuUnlockShm(rbu_file *p){ + assert( p->openFlags & SQLITE_OPEN_MAIN_DB ); if( p->pRbu ){ int (*xShmLock)(sqlite3_file*,int,int,int) = p->pReal->pMethods->xShmLock; int i; @@ -170211,6 +176715,18 @@ static void rbuUnlockShm(rbu_file *p){ } } +/* +*/ +static int rbuUpdateTempSize(rbu_file *pFd, sqlite3_int64 nNew){ + sqlite3rbu *pRbu = pFd->pRbu; + i64 nDiff = nNew - pFd->sz; + pRbu->szTemp += nDiff; + pFd->sz = nNew; + assert( pRbu->szTemp>=0 ); + if( pRbu->szTempLimit && pRbu->szTemp>pRbu->szTempLimit ) return SQLITE_FULL; + return SQLITE_OK; +} + /* ** Close an rbu file. */ @@ -170236,6 +176752,9 @@ static int rbuVfsClose(sqlite3_file *pFile){ rbuUnlockShm(p); p->pReal->pMethods->xShmUnmap(p->pReal, 0); } + else if( (p->openFlags & SQLITE_OPEN_DELETEONCLOSE) && p->pRbu ){ + rbuUpdateTempSize(p, 0); + } /* Close the underlying file handle */ rc = p->pReal->pMethods->xClose(p->pReal); @@ -170353,11 +176872,19 @@ static int rbuVfsWrite( assert( p->openFlags & SQLITE_OPEN_MAIN_DB ); rc = rbuCaptureDbWrite(p->pRbu, iOfst); }else{ - if( pRbu && pRbu->eStage==RBU_STAGE_OAL - && (p->openFlags & SQLITE_OPEN_WAL) - && iOfst>=pRbu->iOalSz - ){ - pRbu->iOalSz = iAmt + iOfst; + if( pRbu ){ + if( pRbu->eStage==RBU_STAGE_OAL + && (p->openFlags & SQLITE_OPEN_WAL) + && iOfst>=pRbu->iOalSz + ){ + pRbu->iOalSz = iAmt + iOfst; + }else if( p->openFlags & SQLITE_OPEN_DELETEONCLOSE ){ + i64 szNew = iAmt+iOfst; + if( szNew>p->sz ){ + rc = rbuUpdateTempSize(p, szNew); + if( rc!=SQLITE_OK ) return rc; + } + } } rc = p->pReal->pMethods->xWrite(p->pReal, zBuf, iAmt, iOfst); if( rc==SQLITE_OK && iOfst==0 && (p->openFlags & SQLITE_OPEN_MAIN_DB) ){ @@ -170376,6 +176903,10 @@ static int rbuVfsWrite( */ static int rbuVfsTruncate(sqlite3_file *pFile, sqlite_int64 size){ rbu_file *p = (rbu_file*)pFile; + if( (p->openFlags & SQLITE_OPEN_DELETEONCLOSE) && p->pRbu ){ + int rc = rbuUpdateTempSize(p, size); + if( rc!=SQLITE_OK ) return rc; + } return p->pReal->pMethods->xTruncate(p->pReal, size); } @@ -170765,6 +177296,8 @@ static int rbuVfsOpen( pDb->pWalFd = pFd; } } + }else{ + pFd->pRbu = pRbuVfs->pRbu; } if( oflags & SQLITE_OPEN_MAIN_DB @@ -170841,7 +177374,9 @@ static int rbuVfsAccess( if( *pResOut ){ rc = SQLITE_CANTOPEN; }else{ - *pResOut = 1; + sqlite3_int64 sz = 0; + rc = rbuVfsFileSize(&pDb->base, &sz); + *pResOut = (sz>0); } } } @@ -171030,6 +177565,20 @@ SQLITE_API int sqlite3rbu_create_vfs(const char *zName, const char *zParent){ return rc; } +/* +** Configure the aggregate temp file size limit for this RBU handle. +*/ +SQLITE_API sqlite3_int64 sqlite3rbu_temp_size_limit(sqlite3rbu *pRbu, sqlite3_int64 n){ + if( n>=0 ){ + pRbu->szTempLimit = n; + } + return pRbu->szTempLimit; +} + +SQLITE_API sqlite3_int64 sqlite3rbu_temp_size(sqlite3rbu *pRbu){ + return pRbu->szTemp; +} + /**************************************************************************/ @@ -171733,6 +178282,9 @@ SQLITE_PRIVATE int sqlite3DbstatRegister(sqlite3 *db){ 0, /* xRollback */ 0, /* xFindMethod */ 0, /* xRename */ + 0, /* xSavepoint */ + 0, /* xRelease */ + 0, /* xRollbackTo */ }; return sqlite3_create_module(db, "dbstat", &dbstat_module, 0); } @@ -171741,6 +178293,420 @@ SQLITE_PRIVATE int sqlite3DbstatRegister(sqlite3 *db){ return SQLITE_OK; } #endif /* SQLITE_ENABLE_DBSTAT_VTAB */ /************** End of dbstat.c **********************************************/ +/************** Begin file dbpage.c ******************************************/ +/* +** 2017-10-11 +** +** 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 file contains an implementation of the "sqlite_dbpage" virtual table. +** +** The sqlite_dbpage virtual table is used to read or write whole raw +** pages of the database file. The pager interface is used so that +** uncommitted changes and changes recorded in the WAL file are correctly +** retrieved. +** +** Usage example: +** +** SELECT data FROM sqlite_dbpage('aux1') WHERE pgno=123; +** +** This is an eponymous virtual table so it does not need to be created before +** use. The optional argument to the sqlite_dbpage() table name is the +** schema for the database file that is to be read. The default schema is +** "main". +** +** The data field of sqlite_dbpage table can be updated. The new +** value must be a BLOB which is the correct page size, otherwise the +** update fails. Rows may not be deleted or inserted. +*/ + +/* #include "sqliteInt.h" ** Requires access to internal data structures ** */ +#if (defined(SQLITE_ENABLE_DBPAGE_VTAB) || defined(SQLITE_TEST)) \ + && !defined(SQLITE_OMIT_VIRTUALTABLE) + +typedef struct DbpageTable DbpageTable; +typedef struct DbpageCursor DbpageCursor; + +struct DbpageCursor { + sqlite3_vtab_cursor base; /* Base class. Must be first */ + int pgno; /* Current page number */ + int mxPgno; /* Last page to visit on this scan */ + Pager *pPager; /* Pager being read/written */ + DbPage *pPage1; /* Page 1 of the database */ + int iDb; /* Index of database to analyze */ + int szPage; /* Size of each page in bytes */ +}; + +struct DbpageTable { + sqlite3_vtab base; /* Base class. Must be first */ + sqlite3 *db; /* The database */ +}; + +/* Columns */ +#define DBPAGE_COLUMN_PGNO 0 +#define DBPAGE_COLUMN_DATA 1 +#define DBPAGE_COLUMN_SCHEMA 2 + + + +/* +** Connect to or create a dbpagevfs virtual table. +*/ +static int dbpageConnect( + sqlite3 *db, + void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVtab, + char **pzErr +){ + DbpageTable *pTab = 0; + int rc = SQLITE_OK; + + rc = sqlite3_declare_vtab(db, + "CREATE TABLE x(pgno INTEGER PRIMARY KEY, data BLOB, schema HIDDEN)"); + if( rc==SQLITE_OK ){ + pTab = (DbpageTable *)sqlite3_malloc64(sizeof(DbpageTable)); + if( pTab==0 ) rc = SQLITE_NOMEM_BKPT; + } + + assert( rc==SQLITE_OK || pTab==0 ); + if( rc==SQLITE_OK ){ + memset(pTab, 0, sizeof(DbpageTable)); + pTab->db = db; + } + + *ppVtab = (sqlite3_vtab*)pTab; + return rc; +} + +/* +** Disconnect from or destroy a dbpagevfs virtual table. +*/ +static int dbpageDisconnect(sqlite3_vtab *pVtab){ + sqlite3_free(pVtab); + return SQLITE_OK; +} + +/* +** idxNum: +** +** 0 schema=main, full table scan +** 1 schema=main, pgno=?1 +** 2 schema=?1, full table scan +** 3 schema=?1, pgno=?2 +*/ +static int dbpageBestIndex(sqlite3_vtab *tab, sqlite3_index_info *pIdxInfo){ + int i; + int iPlan = 0; + + /* If there is a schema= constraint, it must be honored. Report a + ** ridiculously large estimated cost if the schema= constraint is + ** unavailable + */ + for(i=0; inConstraint; i++){ + struct sqlite3_index_constraint *p = &pIdxInfo->aConstraint[i]; + if( p->iColumn!=DBPAGE_COLUMN_SCHEMA ) continue; + if( p->op!=SQLITE_INDEX_CONSTRAINT_EQ ) continue; + if( !p->usable ){ + /* No solution. Use the default SQLITE_BIG_DBL cost */ + pIdxInfo->estimatedRows = 0x7fffffff; + return SQLITE_OK; + } + iPlan = 2; + pIdxInfo->aConstraintUsage[i].argvIndex = 1; + pIdxInfo->aConstraintUsage[i].omit = 1; + break; + } + + /* If we reach this point, it means that either there is no schema= + ** constraint (in which case we use the "main" schema) or else the + ** schema constraint was accepted. Lower the estimated cost accordingly + */ + pIdxInfo->estimatedCost = 1.0e6; + + /* Check for constraints against pgno */ + for(i=0; inConstraint; i++){ + struct sqlite3_index_constraint *p = &pIdxInfo->aConstraint[i]; + if( p->usable && p->iColumn<=0 && p->op==SQLITE_INDEX_CONSTRAINT_EQ ){ + pIdxInfo->estimatedRows = 1; + pIdxInfo->idxFlags = SQLITE_INDEX_SCAN_UNIQUE; + pIdxInfo->estimatedCost = 1.0; + pIdxInfo->aConstraintUsage[i].argvIndex = iPlan ? 2 : 1; + pIdxInfo->aConstraintUsage[i].omit = 1; + iPlan |= 1; + break; + } + } + pIdxInfo->idxNum = iPlan; + + if( pIdxInfo->nOrderBy>=1 + && pIdxInfo->aOrderBy[0].iColumn<=0 + && pIdxInfo->aOrderBy[0].desc==0 + ){ + pIdxInfo->orderByConsumed = 1; + } + return SQLITE_OK; +} + +/* +** Open a new dbpagevfs cursor. +*/ +static int dbpageOpen(sqlite3_vtab *pVTab, sqlite3_vtab_cursor **ppCursor){ + DbpageCursor *pCsr; + + pCsr = (DbpageCursor *)sqlite3_malloc64(sizeof(DbpageCursor)); + if( pCsr==0 ){ + return SQLITE_NOMEM_BKPT; + }else{ + memset(pCsr, 0, sizeof(DbpageCursor)); + pCsr->base.pVtab = pVTab; + pCsr->pgno = -1; + } + + *ppCursor = (sqlite3_vtab_cursor *)pCsr; + return SQLITE_OK; +} + +/* +** Close a dbpagevfs cursor. +*/ +static int dbpageClose(sqlite3_vtab_cursor *pCursor){ + DbpageCursor *pCsr = (DbpageCursor *)pCursor; + if( pCsr->pPage1 ) sqlite3PagerUnrefPageOne(pCsr->pPage1); + sqlite3_free(pCsr); + return SQLITE_OK; +} + +/* +** Move a dbpagevfs cursor to the next entry in the file. +*/ +static int dbpageNext(sqlite3_vtab_cursor *pCursor){ + int rc = SQLITE_OK; + DbpageCursor *pCsr = (DbpageCursor *)pCursor; + pCsr->pgno++; + return rc; +} + +static int dbpageEof(sqlite3_vtab_cursor *pCursor){ + DbpageCursor *pCsr = (DbpageCursor *)pCursor; + return pCsr->pgno > pCsr->mxPgno; +} + +/* +** idxNum: +** +** 0 schema=main, full table scan +** 1 schema=main, pgno=?1 +** 2 schema=?1, full table scan +** 3 schema=?1, pgno=?2 +** +** idxStr is not used +*/ +static int dbpageFilter( + sqlite3_vtab_cursor *pCursor, + int idxNum, const char *idxStr, + int argc, sqlite3_value **argv +){ + DbpageCursor *pCsr = (DbpageCursor *)pCursor; + DbpageTable *pTab = (DbpageTable *)pCursor->pVtab; + int rc; + sqlite3 *db = pTab->db; + Btree *pBt; + + /* Default setting is no rows of result */ + pCsr->pgno = 1; + pCsr->mxPgno = 0; + + if( idxNum & 2 ){ + const char *zSchema; + assert( argc>=1 ); + zSchema = (const char*)sqlite3_value_text(argv[0]); + pCsr->iDb = sqlite3FindDbName(db, zSchema); + if( pCsr->iDb<0 ) return SQLITE_OK; + }else{ + pCsr->iDb = 0; + } + pBt = db->aDb[pCsr->iDb].pBt; + if( pBt==0 ) return SQLITE_OK; + pCsr->pPager = sqlite3BtreePager(pBt); + pCsr->szPage = sqlite3BtreeGetPageSize(pBt); + pCsr->mxPgno = sqlite3BtreeLastPage(pBt); + if( idxNum & 1 ){ + assert( argc>(idxNum>>1) ); + pCsr->pgno = sqlite3_value_int(argv[idxNum>>1]); + if( pCsr->pgno<1 || pCsr->pgno>pCsr->mxPgno ){ + pCsr->pgno = 1; + pCsr->mxPgno = 0; + }else{ + pCsr->mxPgno = pCsr->pgno; + } + }else{ + assert( pCsr->pgno==1 ); + } + if( pCsr->pPage1 ) sqlite3PagerUnrefPageOne(pCsr->pPage1); + rc = sqlite3PagerGet(pCsr->pPager, 1, &pCsr->pPage1, 0); + return rc; +} + +static int dbpageColumn( + sqlite3_vtab_cursor *pCursor, + sqlite3_context *ctx, + int i +){ + DbpageCursor *pCsr = (DbpageCursor *)pCursor; + int rc = SQLITE_OK; + switch( i ){ + case 0: { /* pgno */ + sqlite3_result_int(ctx, pCsr->pgno); + break; + } + case 1: { /* data */ + DbPage *pDbPage = 0; + rc = sqlite3PagerGet(pCsr->pPager, pCsr->pgno, (DbPage**)&pDbPage, 0); + if( rc==SQLITE_OK ){ + sqlite3_result_blob(ctx, sqlite3PagerGetData(pDbPage), pCsr->szPage, + SQLITE_TRANSIENT); + } + sqlite3PagerUnref(pDbPage); + break; + } + default: { /* schema */ + sqlite3 *db = sqlite3_context_db_handle(ctx); + sqlite3_result_text(ctx, db->aDb[pCsr->iDb].zDbSName, -1, SQLITE_STATIC); + break; + } + } + return SQLITE_OK; +} + +static int dbpageRowid(sqlite3_vtab_cursor *pCursor, sqlite_int64 *pRowid){ + DbpageCursor *pCsr = (DbpageCursor *)pCursor; + *pRowid = pCsr->pgno; + return SQLITE_OK; +} + +static int dbpageUpdate( + sqlite3_vtab *pVtab, + int argc, + sqlite3_value **argv, + sqlite_int64 *pRowid +){ + DbpageTable *pTab = (DbpageTable *)pVtab; + Pgno pgno; + DbPage *pDbPage = 0; + int rc = SQLITE_OK; + char *zErr = 0; + const char *zSchema; + int iDb; + Btree *pBt; + Pager *pPager; + int szPage; + + if( argc==1 ){ + zErr = "cannot delete"; + goto update_fail; + } + pgno = sqlite3_value_int(argv[0]); + if( (Pgno)sqlite3_value_int(argv[1])!=pgno ){ + zErr = "cannot insert"; + goto update_fail; + } + zSchema = (const char*)sqlite3_value_text(argv[4]); + iDb = zSchema ? sqlite3FindDbName(pTab->db, zSchema) : -1; + if( iDb<0 ){ + zErr = "no such schema"; + goto update_fail; + } + pBt = pTab->db->aDb[iDb].pBt; + if( pgno<1 || pBt==0 || pgno>(int)sqlite3BtreeLastPage(pBt) ){ + zErr = "bad page number"; + goto update_fail; + } + szPage = sqlite3BtreeGetPageSize(pBt); + if( sqlite3_value_type(argv[3])!=SQLITE_BLOB + || sqlite3_value_bytes(argv[3])!=szPage + ){ + zErr = "bad page value"; + goto update_fail; + } + pPager = sqlite3BtreePager(pBt); + rc = sqlite3PagerGet(pPager, pgno, (DbPage**)&pDbPage, 0); + if( rc==SQLITE_OK ){ + rc = sqlite3PagerWrite(pDbPage); + if( rc==SQLITE_OK ){ + memcpy(sqlite3PagerGetData(pDbPage), + sqlite3_value_blob(argv[3]), + szPage); + } + } + sqlite3PagerUnref(pDbPage); + return rc; + +update_fail: + sqlite3_free(pVtab->zErrMsg); + pVtab->zErrMsg = sqlite3_mprintf("%s", zErr); + return SQLITE_ERROR; +} + +/* Since we do not know in advance which database files will be +** written by the sqlite_dbpage virtual table, start a write transaction +** on them all. +*/ +static int dbpageBegin(sqlite3_vtab *pVtab){ + DbpageTable *pTab = (DbpageTable *)pVtab; + sqlite3 *db = pTab->db; + int i; + for(i=0; inDb; i++){ + Btree *pBt = db->aDb[i].pBt; + if( pBt ) sqlite3BtreeBeginTrans(pBt, 1); + } + return SQLITE_OK; +} + + +/* +** Invoke this routine to register the "dbpage" virtual table module +*/ +SQLITE_PRIVATE int sqlite3DbpageRegister(sqlite3 *db){ + static sqlite3_module dbpage_module = { + 0, /* iVersion */ + dbpageConnect, /* xCreate */ + dbpageConnect, /* xConnect */ + dbpageBestIndex, /* xBestIndex */ + dbpageDisconnect, /* xDisconnect */ + dbpageDisconnect, /* xDestroy */ + dbpageOpen, /* xOpen - open a cursor */ + dbpageClose, /* xClose - close a cursor */ + dbpageFilter, /* xFilter - configure scan constraints */ + dbpageNext, /* xNext - advance a cursor */ + dbpageEof, /* xEof - check for end of scan */ + dbpageColumn, /* xColumn - read data */ + dbpageRowid, /* xRowid - read data */ + dbpageUpdate, /* xUpdate */ + dbpageBegin, /* xBegin */ + 0, /* xSync */ + 0, /* xCommit */ + 0, /* xRollback */ + 0, /* xFindMethod */ + 0, /* xRename */ + 0, /* xSavepoint */ + 0, /* xRelease */ + 0, /* xRollbackTo */ + }; + return sqlite3_create_module(db, "sqlite_dbpage", &dbpage_module, 0); +} +#elif defined(SQLITE_ENABLE_DBPAGE_VTAB) +SQLITE_PRIVATE int sqlite3DbpageRegister(sqlite3 *db){ return SQLITE_OK; } +#endif /* SQLITE_ENABLE_DBSTAT_VTAB */ + +/************** End of dbpage.c **********************************************/ /************** Begin file sqlite3session.c **********************************/ #if defined(SQLITE_ENABLE_SESSION) && defined(SQLITE_ENABLE_PREUPDATE_HOOK) @@ -171790,6 +178756,7 @@ struct sqlite3_session { int rc; /* Non-zero if an error has occurred */ void *pFilterCtx; /* First argument to pass to xTableFilter */ int (*xTableFilter)(void *pCtx, const char *zTab); + sqlite3_value *pZeroBlob; /* Value containing X'' */ sqlite3_session *pNext; /* Next session object on same db. */ SessionTable *pTable; /* List of attached tables */ SessionHook hook; /* APIs to grab new and old data with */ @@ -171857,6 +178824,7 @@ struct SessionTable { SessionTable *pNext; char *zName; /* Local name of table */ int nCol; /* Number of columns in table zName */ + int bStat1; /* True if this is sqlite_stat1 */ const char **azCol; /* Column names */ u8 *abPK; /* Array of primary key flags */ int nEntry; /* Total number of entries in hash table */ @@ -172118,9 +179086,7 @@ static int sessionSerializeValue( if( aBuf ){ sessionVarintPut(&aBuf[1], n); - memcpy(&aBuf[nVarint + 1], eType==SQLITE_TEXT ? - sqlite3_value_text(pValue) : sqlite3_value_blob(pValue), n - ); + if( n ) memcpy(&aBuf[nVarint + 1], z, n); } nByte = 1 + nVarint + n; @@ -172242,6 +179208,7 @@ static int sessionPreupdateHash( h = sessionHashAppendBlob(h, n, z); }else{ assert( eType==SQLITE_NULL ); + assert( pTab->bStat1==0 || i!=1 ); *pbNullPK = 1; } } @@ -172584,7 +179551,6 @@ static int sessionPreupdateEqual( } if( memcmp(a, z, n) ) return 0; a += n; - break; } } } @@ -172640,9 +179606,7 @@ static int sessionGrowHash(int bPatchset, SessionTable *pTab){ /* ** This function queries the database for the names of the columns of table -** zThis, in schema zDb. It is expected that the table has nCol columns. If -** not, SQLITE_SCHEMA is returned and none of the output variables are -** populated. +** zThis, in schema zDb. ** ** Otherwise, if they are not NULL, variable *pnCol is set to the number ** of columns in the database table and variable *pzTab is set to point to a @@ -172663,9 +179627,7 @@ static int sessionGrowHash(int bPatchset, SessionTable *pTab){ ** *pabPK = {1, 0, 0, 1} ** ** All returned buffers are part of the same single allocation, which must -** be freed using sqlite3_free() by the caller. If pazCol was not NULL, then -** pointer *pazCol should be freed to release all memory. Otherwise, pointer -** *pabPK. It is illegal for both pazCol and pabPK to be NULL. +** be freed using sqlite3_free() by the caller */ static int sessionTableInfo( sqlite3 *db, /* Database connection */ @@ -172690,7 +179652,23 @@ static int sessionTableInfo( assert( pazCol && pabPK ); nThis = sqlite3Strlen30(zThis); - zPragma = sqlite3_mprintf("PRAGMA '%q'.table_info('%q')", zDb, zThis); + if( nThis==12 && 0==sqlite3_stricmp("sqlite_stat1", zThis) ){ + rc = sqlite3_table_column_metadata(db, zDb, zThis, 0, 0, 0, 0, 0, 0); + if( rc==SQLITE_OK ){ + /* For sqlite_stat1, pretend that (tbl,idx) is the PRIMARY KEY. */ + zPragma = sqlite3_mprintf( + "SELECT 0, 'tbl', '', 0, '', 1 UNION ALL " + "SELECT 1, 'idx', '', 0, '', 2 UNION ALL " + "SELECT 2, 'stat', '', 0, '', 0" + ); + }else if( rc==SQLITE_ERROR ){ + zPragma = sqlite3_mprintf(""); + }else{ + return rc; + } + }else{ + zPragma = sqlite3_mprintf("PRAGMA '%q'.table_info('%q')", zDb, zThis); + } if( !zPragma ) return SQLITE_NOMEM; rc = sqlite3_prepare_v2(db, zPragma, -1, &pStmt, 0); @@ -172782,11 +179760,55 @@ static int sessionInitTable(sqlite3_session *pSession, SessionTable *pTab){ break; } } + if( 0==sqlite3_stricmp("sqlite_stat1", pTab->zName) ){ + pTab->bStat1 = 1; + } } } return (pSession->rc || pTab->abPK==0); } +/* +** Versions of the four methods in object SessionHook for use with the +** sqlite_stat1 table. The purpose of this is to substitute a zero-length +** blob each time a NULL value is read from the "idx" column of the +** sqlite_stat1 table. +*/ +typedef struct SessionStat1Ctx SessionStat1Ctx; +struct SessionStat1Ctx { + SessionHook hook; + sqlite3_session *pSession; +}; +static int sessionStat1Old(void *pCtx, int iCol, sqlite3_value **ppVal){ + SessionStat1Ctx *p = (SessionStat1Ctx*)pCtx; + sqlite3_value *pVal = 0; + int rc = p->hook.xOld(p->hook.pCtx, iCol, &pVal); + if( rc==SQLITE_OK && iCol==1 && sqlite3_value_type(pVal)==SQLITE_NULL ){ + pVal = p->pSession->pZeroBlob; + } + *ppVal = pVal; + return rc; +} +static int sessionStat1New(void *pCtx, int iCol, sqlite3_value **ppVal){ + SessionStat1Ctx *p = (SessionStat1Ctx*)pCtx; + sqlite3_value *pVal = 0; + int rc = p->hook.xNew(p->hook.pCtx, iCol, &pVal); + if( rc==SQLITE_OK && iCol==1 && sqlite3_value_type(pVal)==SQLITE_NULL ){ + pVal = p->pSession->pZeroBlob; + } + *ppVal = pVal; + return rc; +} +static int sessionStat1Count(void *pCtx){ + SessionStat1Ctx *p = (SessionStat1Ctx*)pCtx; + return p->hook.xCount(p->hook.pCtx); +} +static int sessionStat1Depth(void *pCtx){ + SessionStat1Ctx *p = (SessionStat1Ctx*)pCtx; + return p->hook.xDepth(p->hook.pCtx); +} + + /* ** This function is only called from with a pre-update-hook reporting a ** change on table pTab (attached to session pSession). The type of change @@ -172803,6 +179825,7 @@ static void sessionPreupdateOneChange( int iHash; int bNull = 0; int rc = SQLITE_OK; + SessionStat1Ctx stat1; if( pSession->rc ) return; @@ -172822,6 +179845,25 @@ static void sessionPreupdateOneChange( return; } + if( pTab->bStat1 ){ + stat1.hook = pSession->hook; + stat1.pSession = pSession; + pSession->hook.pCtx = (void*)&stat1; + pSession->hook.xNew = sessionStat1New; + pSession->hook.xOld = sessionStat1Old; + pSession->hook.xCount = sessionStat1Count; + pSession->hook.xDepth = sessionStat1Depth; + if( pSession->pZeroBlob==0 ){ + sqlite3_value *p = sqlite3ValueNew(0); + if( p==0 ){ + rc = SQLITE_NOMEM; + goto error_out; + } + sqlite3ValueSetStr(p, 0, "", 0, SQLITE_STATIC); + pSession->pZeroBlob = p; + } + } + /* Calculate the hash-key for this change. If the primary key of the row ** includes a NULL value, exit early. Such changes are ignored by the ** session module. */ @@ -172911,6 +179953,9 @@ static void sessionPreupdateOneChange( /* If an error has occurred, mark the session object as failed. */ error_out: + if( pTab->bStat1 ){ + pSession->hook = stat1.hook; + } if( rc!=SQLITE_OK ){ pSession->rc = rc; } @@ -173247,7 +180292,6 @@ SQLITE_API int sqlite3session_diff( if( abPK[i] ) bHasPk = 1; } } - } sqlite3_free((char*)azCol); if( bMismatch ){ @@ -173373,6 +180417,7 @@ SQLITE_API void sqlite3session_delete(sqlite3_session *pSession){ } } sqlite3_mutex_leave(sqlite3_db_mutex(db)); + sqlite3ValueFree(pSession->pZeroBlob); /* Delete all attached table objects. And the contents of their ** associated hash-tables. */ @@ -173536,7 +180581,7 @@ static void sessionAppendBlob( int nBlob, int *pRc ){ - if( 0==sessionBufferGrow(p, nBlob, pRc) ){ + if( nBlob>0 && 0==sessionBufferGrow(p, nBlob, pRc) ){ memcpy(&p->aBuf[p->nBuf], aBlob, nBlob); p->nBuf += nBlob; } @@ -173722,13 +180767,13 @@ static int sessionAppendUpdate( } default: { - int nByte; - int nHdr = 1 + sessionVarintGet(&pCsr[1], &nByte); + int n; + int nHdr = 1 + sessionVarintGet(&pCsr[1], &n); assert( eType==SQLITE_TEXT || eType==SQLITE_BLOB ); - nAdvance = nHdr + nByte; + nAdvance = nHdr + n; if( eType==sqlite3_column_type(pStmt, i) - && nByte==sqlite3_column_bytes(pStmt, i) - && 0==memcmp(&pCsr[nHdr], sqlite3_column_blob(pStmt, i), nByte) + && n==sqlite3_column_bytes(pStmt, i) + && (n==0 || 0==memcmp(&pCsr[nHdr], sqlite3_column_blob(pStmt, i), n)) ){ break; } @@ -173840,28 +180885,41 @@ static int sessionSelectStmt( sqlite3_stmt **ppStmt /* OUT: Prepared SELECT statement */ ){ int rc = SQLITE_OK; - int i; - const char *zSep = ""; - SessionBuffer buf = {0, 0, 0}; + char *zSql = 0; + int nSql = -1; - sessionAppendStr(&buf, "SELECT * FROM ", &rc); - sessionAppendIdent(&buf, zDb, &rc); - sessionAppendStr(&buf, ".", &rc); - sessionAppendIdent(&buf, zTab, &rc); - sessionAppendStr(&buf, " WHERE ", &rc); - for(i=0; iin.iCurrent = p->in.iNext; op = p->in.aData[p->in.iNext++]; - if( op=='T' || op=='P' ){ + while( op=='T' || op=='P' ){ p->bPatchset = (op=='P'); if( sessionChangesetReadTblhdr(p) ) return p->rc; if( (p->rc = sessionInputBuffer(&p->in, 2)) ) return p->rc; p->in.iCurrent = p->in.iNext; + if( p->in.iNext>=p->in.nData ) return SQLITE_DONE; op = p->in.aData[p->in.iNext++]; } @@ -174774,7 +181833,7 @@ SQLITE_API int sqlite3changeset_conflict( if( !pIter->pConflict ){ return SQLITE_MISUSE; } - if( iVal<0 || iVal>=sqlite3_column_count(pIter->pConflict) ){ + if( iVal<0 || iVal>=pIter->nCol ){ return SQLITE_RANGE; } *ppValue = sqlite3_column_value(pIter->pConflict, iVal); @@ -175029,7 +182088,7 @@ struct SessionApplyCtx { int nCol; /* Size of azCol[] and abPK[] arrays */ const char **azCol; /* Array of column names */ u8 *abPK; /* Boolean array - true if column is in PK */ - + int bStat1; /* True if table is sqlite_stat1 */ int bDeferConstraints; /* True to defer constraints */ SessionBuffer constraints; /* Deferred constraints are stored here */ }; @@ -175199,6 +182258,7 @@ static int sessionUpdateRow( return rc; } + /* ** Formulate and prepare an SQL statement to query table zTab by primary ** key. Assuming the following table structure: @@ -175241,7 +182301,13 @@ static int sessionInsertRow( sessionAppendStr(&buf, "INSERT INTO main.", &rc); sessionAppendIdent(&buf, zTab, &rc); - sessionAppendStr(&buf, " VALUES(?", &rc); + sessionAppendStr(&buf, "(", &rc); + for(i=0; inCol; i++){ + if( i!=0 ) sessionAppendStr(&buf, ", ", &rc); + sessionAppendIdent(&buf, p->azCol[i], &rc); + } + + sessionAppendStr(&buf, ") VALUES(?", &rc); for(i=1; inCol; i++){ sessionAppendStr(&buf, ", ?", &rc); } @@ -175254,6 +182320,47 @@ static int sessionInsertRow( return rc; } +static int sessionPrepare(sqlite3 *db, sqlite3_stmt **pp, const char *zSql){ + return sqlite3_prepare_v2(db, zSql, -1, pp, 0); +} + +/* +** Prepare statements for applying changes to the sqlite_stat1 table. +** These are similar to those created by sessionSelectRow(), +** sessionInsertRow(), sessionUpdateRow() and sessionDeleteRow() for +** other tables. +*/ +static int sessionStat1Sql(sqlite3 *db, SessionApplyCtx *p){ + int rc = sessionSelectRow(db, "sqlite_stat1", p); + if( rc==SQLITE_OK ){ + rc = sessionPrepare(db, &p->pInsert, + "INSERT INTO main.sqlite_stat1 VALUES(?1, " + "CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END, " + "?3)" + ); + } + if( rc==SQLITE_OK ){ + rc = sessionPrepare(db, &p->pUpdate, + "UPDATE main.sqlite_stat1 SET " + "tbl = CASE WHEN ?2 THEN ?3 ELSE tbl END, " + "idx = CASE WHEN ?5 THEN ?6 ELSE idx END, " + "stat = CASE WHEN ?8 THEN ?9 ELSE stat END " + "WHERE tbl=?1 AND idx IS " + "CASE WHEN length(?4)=0 AND typeof(?4)='blob' THEN NULL ELSE ?4 END " + "AND (?10 OR ?8=0 OR stat IS ?7)" + ); + } + if( rc==SQLITE_OK ){ + rc = sessionPrepare(db, &p->pDelete, + "DELETE FROM main.sqlite_stat1 WHERE tbl=?1 AND idx IS " + "CASE WHEN length(?2)=0 AND typeof(?2)='blob' THEN NULL ELSE ?2 END " + "AND (?4 OR stat IS ?3)" + ); + } + assert( rc==SQLITE_OK ); + return rc; +} + /* ** A wrapper around sqlite3_bind_value() that detects an extra problem. ** See comments in the body of this function for details. @@ -175584,11 +182691,25 @@ static int sessionApplyOneOp( }else{ assert( op==SQLITE_INSERT ); - rc = sessionBindRow(pIter, sqlite3changeset_new, nCol, 0, p->pInsert); - if( rc!=SQLITE_OK ) return rc; + if( p->bStat1 ){ + /* Check if there is a conflicting row. For sqlite_stat1, this needs + ** to be done using a SELECT, as there is no PRIMARY KEY in the + ** database schema to throw an exception if a duplicate is inserted. */ + rc = sessionSeekToRow(p->db, pIter, p->abPK, p->pSelect); + if( rc==SQLITE_ROW ){ + rc = SQLITE_CONSTRAINT; + sqlite3_reset(p->pSelect); + } + } + + if( rc==SQLITE_OK ){ + rc = sessionBindRow(pIter, sqlite3changeset_new, nCol, 0, p->pInsert); + if( rc!=SQLITE_OK ) return rc; + + sqlite3_step(p->pInsert); + rc = sqlite3_reset(p->pInsert); + } - sqlite3_step(p->pInsert); - rc = sqlite3_reset(p->pInsert); if( (rc&0xff)==SQLITE_CONSTRAINT ){ rc = sessionConflictHandler( SQLITE_CHANGESET_CONFLICT, p, pIter, xConflict, pCtx, pbReplace @@ -175787,11 +182908,17 @@ static int sessionChangesetApply( nTab = (int)strlen(zTab); sApply.azCol = (const char **)zTab; }else{ + int nMinCol = 0; + int i; + sqlite3changeset_pk(pIter, &abPK, 0); rc = sessionTableInfo( db, "main", zNew, &sApply.nCol, &zTab, &sApply.azCol, &sApply.abPK ); if( rc!=SQLITE_OK ) break; + for(i=0; iaUp = 0; } +/* +** Free a JsonParse object that was obtained from sqlite3_malloc(). +*/ +static void jsonParseFree(JsonParse *pParse){ + jsonParseReset(pParse); + sqlite3_free(pParse); +} + /* ** Convert the JsonNode pNode into a pure JSON string and ** append to pOut. Subsubstructure is also included. Return @@ -176798,6 +183958,13 @@ static void jsonRenderNode( JsonString *pOut, /* Write JSON here */ sqlite3_value **aReplace /* Replacement values */ ){ + if( pNode->jnFlags & (JNODE_REPLACE|JNODE_PATCH) ){ + if( pNode->jnFlags & JNODE_REPLACE ){ + jsonAppendValue(pOut, aReplace[pNode->u.iReplace]); + return; + } + pNode = pNode->u.pPatch; + } switch( pNode->eType ){ default: { assert( pNode->eType==JSON_NULL ); @@ -176829,12 +183996,7 @@ static void jsonRenderNode( jsonAppendChar(pOut, '['); for(;;){ while( j<=pNode->n ){ - if( pNode[j].jnFlags & (JNODE_REMOVE|JNODE_REPLACE) ){ - if( pNode[j].jnFlags & JNODE_REPLACE ){ - jsonAppendSeparator(pOut); - jsonAppendValue(pOut, aReplace[pNode[j].iVal]); - } - }else{ + if( (pNode[j].jnFlags & JNODE_REMOVE)==0 ){ jsonAppendSeparator(pOut); jsonRenderNode(&pNode[j], pOut, aReplace); } @@ -176856,11 +184018,7 @@ static void jsonRenderNode( jsonAppendSeparator(pOut); jsonRenderNode(&pNode[j], pOut, aReplace); jsonAppendChar(pOut, ':'); - if( pNode[j+1].jnFlags & JNODE_REPLACE ){ - jsonAppendValue(pOut, aReplace[pNode[j+1].iVal]); - }else{ - jsonRenderNode(&pNode[j+1], pOut, aReplace); - } + jsonRenderNode(&pNode[j+1], pOut, aReplace); } j += 1 + jsonNodeSize(&pNode[j+1]); } @@ -176983,12 +184141,13 @@ static void jsonReturn( c = z[++i]; if( c=='u' ){ u32 v = 0, k; - for(k=0; k<4 && i='0' && c<='9' ) v = v*16 + c - '0'; - else if( c>='A' && c<='F' ) v = v*16 + c - 'A' + 10; - else if( c>='a' && c<='f' ) v = v*16 + c - 'a' + 10; - else break; + assert( safe_isxdigit(c) ); + if( c<='9' ) v = v*16 + c - '0'; + else if( c<='F' ) v = v*16 + c - 'A' + 10; + else v = v*16 + c - 'a' + 10; } if( v==0 ) break; if( v<=0x7f ){ @@ -177086,7 +184245,6 @@ static int jsonParseAddNode( p = &pParse->aNode[pParse->nNode]; p->eType = (u8)eType; p->jnFlags = 0; - p->iVal = 0; p->n = n; p->u.zJContent = zContent; return pParse->nNode++; @@ -177115,15 +184273,18 @@ static int jsonParseValue(JsonParse *pParse, u32 i){ int iThis; int x; JsonNode *pNode; - while( safe_isspace(pParse->zJson[i]) ){ i++; } - if( (c = pParse->zJson[i])=='{' ){ + const char *z = pParse->zJson; + while( safe_isspace(z[i]) ){ i++; } + if( (c = z[i])=='{' ){ /* Parse object */ iThis = jsonParseAddNode(pParse, JSON_OBJECT, 0, 0); if( iThis<0 ) return -1; for(j=i+1;;j++){ - while( safe_isspace(pParse->zJson[j]) ){ j++; } + while( safe_isspace(z[j]) ){ j++; } + if( ++pParse->iDepth > JSON_MAX_DEPTH ) return -1; x = jsonParseValue(pParse, j); if( x<0 ){ + pParse->iDepth--; if( x==(-2) && pParse->nNode==(u32)iThis+1 ) return j+1; return -1; } @@ -177132,14 +184293,15 @@ static int jsonParseValue(JsonParse *pParse, u32 i){ if( pNode->eType!=JSON_STRING ) return -1; pNode->jnFlags |= JNODE_LABEL; j = x; - while( safe_isspace(pParse->zJson[j]) ){ j++; } - if( pParse->zJson[j]!=':' ) return -1; + while( safe_isspace(z[j]) ){ j++; } + if( z[j]!=':' ) return -1; j++; x = jsonParseValue(pParse, j); + pParse->iDepth--; if( x<0 ) return -1; j = x; - while( safe_isspace(pParse->zJson[j]) ){ j++; } - c = pParse->zJson[j]; + while( safe_isspace(z[j]) ){ j++; } + c = z[j]; if( c==',' ) continue; if( c!='}' ) return -1; break; @@ -177151,15 +184313,17 @@ static int jsonParseValue(JsonParse *pParse, u32 i){ iThis = jsonParseAddNode(pParse, JSON_ARRAY, 0, 0); if( iThis<0 ) return -1; for(j=i+1;;j++){ - while( safe_isspace(pParse->zJson[j]) ){ j++; } + while( safe_isspace(z[j]) ){ j++; } + if( ++pParse->iDepth > JSON_MAX_DEPTH ) return -1; x = jsonParseValue(pParse, j); + pParse->iDepth--; if( x<0 ){ if( x==(-3) && pParse->nNode==(u32)iThis+1 ) return j+1; return -1; } j = x; - while( safe_isspace(pParse->zJson[j]) ){ j++; } - c = pParse->zJson[j]; + while( safe_isspace(z[j]) ){ j++; } + c = z[j]; if( c==',' ) continue; if( c!=']' ) return -1; break; @@ -177171,13 +184335,16 @@ static int jsonParseValue(JsonParse *pParse, u32 i){ u8 jnFlags = 0; j = i+1; for(;;){ - c = pParse->zJson[j]; - if( c==0 ) return -1; + c = z[j]; + if( (c & ~0x1f)==0 ){ + /* Control characters are not allowed in strings */ + return -1; + } if( c=='\\' ){ - c = pParse->zJson[++j]; + c = z[++j]; if( c=='"' || c=='\\' || c=='/' || c=='b' || c=='f' || c=='n' || c=='r' || c=='t' - || (c=='u' && jsonIs4Hex(pParse->zJson+j+1)) ){ + || (c=='u' && jsonIs4Hex(z+j+1)) ){ jnFlags = JNODE_ESCAPE; }else{ return -1; @@ -177187,55 +184354,60 @@ static int jsonParseValue(JsonParse *pParse, u32 i){ } j++; } - jsonParseAddNode(pParse, JSON_STRING, j+1-i, &pParse->zJson[i]); + jsonParseAddNode(pParse, JSON_STRING, j+1-i, &z[i]); if( !pParse->oom ) pParse->aNode[pParse->nNode-1].jnFlags = jnFlags; return j+1; }else if( c=='n' - && strncmp(pParse->zJson+i,"null",4)==0 - && !safe_isalnum(pParse->zJson[i+4]) ){ + && strncmp(z+i,"null",4)==0 + && !safe_isalnum(z[i+4]) ){ jsonParseAddNode(pParse, JSON_NULL, 0, 0); return i+4; }else if( c=='t' - && strncmp(pParse->zJson+i,"true",4)==0 - && !safe_isalnum(pParse->zJson[i+4]) ){ + && strncmp(z+i,"true",4)==0 + && !safe_isalnum(z[i+4]) ){ jsonParseAddNode(pParse, JSON_TRUE, 0, 0); return i+4; }else if( c=='f' - && strncmp(pParse->zJson+i,"false",5)==0 - && !safe_isalnum(pParse->zJson[i+5]) ){ + && strncmp(z+i,"false",5)==0 + && !safe_isalnum(z[i+5]) ){ jsonParseAddNode(pParse, JSON_FALSE, 0, 0); return i+5; }else if( c=='-' || (c>='0' && c<='9') ){ /* Parse number */ u8 seenDP = 0; u8 seenE = 0; + assert( '-' < '0' ); + if( c<='0' ){ + j = c=='-' ? i+1 : i; + if( z[j]=='0' && z[j+1]>='0' && z[j+1]<='9' ) return -1; + } j = i+1; for(;; j++){ - c = pParse->zJson[j]; + c = z[j]; if( c>='0' && c<='9' ) continue; if( c=='.' ){ - if( pParse->zJson[j-1]=='-' ) return -1; + if( z[j-1]=='-' ) return -1; if( seenDP ) return -1; seenDP = 1; continue; } if( c=='e' || c=='E' ){ - if( pParse->zJson[j-1]<'0' ) return -1; + if( z[j-1]<'0' ) return -1; if( seenE ) return -1; seenDP = seenE = 1; - c = pParse->zJson[j+1]; + c = z[j+1]; if( c=='+' || c=='-' ){ j++; - c = pParse->zJson[j+1]; + c = z[j+1]; } if( c<'0' || c>'9' ) return -1; continue; } break; } - if( pParse->zJson[j-1]<'0' ) return -1; + if( z[j-1]<'0' ) return -1; jsonParseAddNode(pParse, seenDP ? JSON_REAL : JSON_INT, - j - i, &pParse->zJson[i]); + j - i, &z[i]); return j; }else if( c=='}' ){ return -2; /* End of {...} */ @@ -177267,6 +184439,7 @@ static int jsonParse( i = jsonParseValue(pParse, 0); if( pParse->oom ) i = -1; if( i>0 ){ + assert( pParse->iDepth==0 ); while( safe_isspace(zJson[i]) ) i++; if( zJson[i] ) i = -1; } @@ -177326,6 +184499,49 @@ static int jsonParseFindParents(JsonParse *pParse){ return SQLITE_OK; } +/* +** Magic number used for the JSON parse cache in sqlite3_get_auxdata() +*/ +#define JSON_CACHE_ID (-429938) + +/* +** Obtain a complete parse of the JSON found in the first argument +** of the argv array. Use the sqlite3_get_auxdata() cache for this +** parse if it is available. If the cache is not available or if it +** is no longer valid, parse the JSON again and return the new parse, +** and also register the new parse so that it will be available for +** future sqlite3_get_auxdata() calls. +*/ +static JsonParse *jsonParseCached( + sqlite3_context *pCtx, + sqlite3_value **argv +){ + const char *zJson = (const char*)sqlite3_value_text(argv[0]); + int nJson = sqlite3_value_bytes(argv[0]); + JsonParse *p; + if( zJson==0 ) return 0; + p = (JsonParse*)sqlite3_get_auxdata(pCtx, JSON_CACHE_ID); + if( p && p->nJson==nJson && memcmp(p->zJson,zJson,nJson)==0 ){ + p->nErr = 0; + return p; /* The cached entry matches, so return it */ + } + p = sqlite3_malloc( sizeof(*p) + nJson + 1 ); + if( p==0 ){ + sqlite3_result_error_nomem(pCtx); + return 0; + } + memset(p, 0, sizeof(*p)); + p->zJson = (char*)&p[1]; + memcpy((char*)p->zJson, zJson, nJson+1); + if( jsonParse(p, pCtx, p->zJson) ){ + sqlite3_free(p); + return 0; + } + p->nJson = nJson; + sqlite3_set_auxdata(pCtx, JSON_CACHE_ID, p, (void(*)(void*))jsonParseFree); + return (JsonParse*)sqlite3_get_auxdata(pCtx, JSON_CACHE_ID); +} + /* ** Compare the OBJECT label at pNode against zKey,nKey. Return true on ** a match. @@ -177552,6 +184768,25 @@ static void jsonWrongNumArgs( sqlite3_free(zMsg); } +/* +** Mark all NULL entries in the Object passed in as JNODE_REMOVE. +*/ +static void jsonRemoveAllNulls(JsonNode *pNode){ + int i, n; + assert( pNode->eType==JSON_OBJECT ); + n = pNode->n; + for(i=2; i<=n; i += jsonNodeSize(&pNode[i])+1){ + switch( pNode[i].eType ){ + case JSON_NULL: + pNode[i].jnFlags |= JNODE_REMOVE; + break; + case JSON_OBJECT: + jsonRemoveAllNulls(&pNode[i]); + break; + } + } +} + /**************************************************************************** ** SQL functions used for testing and debugging @@ -177672,29 +184907,30 @@ static void jsonArrayLengthFunc( int argc, sqlite3_value **argv ){ - JsonParse x; /* The parse */ + JsonParse *p; /* The parse */ sqlite3_int64 n = 0; u32 i; JsonNode *pNode; - if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; - assert( x.nNode ); + p = jsonParseCached(ctx, argv); + if( p==0 ) return; + assert( p->nNode ); if( argc==2 ){ const char *zPath = (const char*)sqlite3_value_text(argv[1]); - pNode = jsonLookup(&x, zPath, 0, ctx); + pNode = jsonLookup(p, zPath, 0, ctx); }else{ - pNode = x.aNode; + pNode = p->aNode; } if( pNode==0 ){ - x.nErr = 1; - }else if( pNode->eType==JSON_ARRAY ){ + return; + } + if( pNode->eType==JSON_ARRAY ){ assert( (pNode->jnFlags & JNODE_APPEND)==0 ); for(i=1; i<=pNode->n; n++){ i += jsonNodeSize(&pNode[i]); } } - if( x.nErr==0 ) sqlite3_result_int64(ctx, n); - jsonParseReset(&x); + sqlite3_result_int64(ctx, n); } /* @@ -177710,20 +184946,21 @@ static void jsonExtractFunc( int argc, sqlite3_value **argv ){ - JsonParse x; /* The parse */ + JsonParse *p; /* The parse */ JsonNode *pNode; const char *zPath; JsonString jx; int i; if( argc<2 ) return; - if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + p = jsonParseCached(ctx, argv); + if( p==0 ) return; jsonInit(&jx, ctx); jsonAppendChar(&jx, '['); for(i=1; inErr ) break; if( argc>2 ){ jsonAppendSeparator(&jx); if( pNode ){ @@ -177741,9 +184978,107 @@ static void jsonExtractFunc( sqlite3_result_subtype(ctx, JSON_SUBTYPE); } jsonReset(&jx); +} + +/* This is the RFC 7396 MergePatch algorithm. +*/ +static JsonNode *jsonMergePatch( + JsonParse *pParse, /* The JSON parser that contains the TARGET */ + u32 iTarget, /* Node of the TARGET in pParse */ + JsonNode *pPatch /* The PATCH */ +){ + u32 i, j; + u32 iRoot; + JsonNode *pTarget; + if( pPatch->eType!=JSON_OBJECT ){ + return pPatch; + } + assert( iTarget>=0 && iTargetnNode ); + pTarget = &pParse->aNode[iTarget]; + assert( (pPatch->jnFlags & JNODE_APPEND)==0 ); + if( pTarget->eType!=JSON_OBJECT ){ + jsonRemoveAllNulls(pPatch); + return pPatch; + } + iRoot = iTarget; + for(i=1; in; i += jsonNodeSize(&pPatch[i+1])+1){ + u32 nKey; + const char *zKey; + assert( pPatch[i].eType==JSON_STRING ); + assert( pPatch[i].jnFlags & JNODE_LABEL ); + nKey = pPatch[i].n; + zKey = pPatch[i].u.zJContent; + assert( (pPatch[i].jnFlags & JNODE_RAW)==0 ); + for(j=1; jn; j += jsonNodeSize(&pTarget[j+1])+1 ){ + assert( pTarget[j].eType==JSON_STRING ); + assert( pTarget[j].jnFlags & JNODE_LABEL ); + assert( (pPatch[i].jnFlags & JNODE_RAW)==0 ); + if( pTarget[j].n==nKey && strncmp(pTarget[j].u.zJContent,zKey,nKey)==0 ){ + if( pTarget[j+1].jnFlags & (JNODE_REMOVE|JNODE_PATCH) ) break; + if( pPatch[i+1].eType==JSON_NULL ){ + pTarget[j+1].jnFlags |= JNODE_REMOVE; + }else{ + JsonNode *pNew = jsonMergePatch(pParse, iTarget+j+1, &pPatch[i+1]); + if( pNew==0 ) return 0; + pTarget = &pParse->aNode[iTarget]; + if( pNew!=&pTarget[j+1] ){ + pTarget[j+1].u.pPatch = pNew; + pTarget[j+1].jnFlags |= JNODE_PATCH; + } + } + break; + } + } + if( j>=pTarget->n && pPatch[i+1].eType!=JSON_NULL ){ + int iStart, iPatch; + iStart = jsonParseAddNode(pParse, JSON_OBJECT, 2, 0); + jsonParseAddNode(pParse, JSON_STRING, nKey, zKey); + iPatch = jsonParseAddNode(pParse, JSON_TRUE, 0, 0); + if( pParse->oom ) return 0; + jsonRemoveAllNulls(pPatch); + pTarget = &pParse->aNode[iTarget]; + pParse->aNode[iRoot].jnFlags |= JNODE_APPEND; + pParse->aNode[iRoot].u.iAppend = iStart - iRoot; + iRoot = iStart; + pParse->aNode[iPatch].jnFlags |= JNODE_PATCH; + pParse->aNode[iPatch].u.pPatch = &pPatch[i+1]; + } + } + return pTarget; +} + +/* +** Implementation of the json_mergepatch(JSON1,JSON2) function. Return a JSON +** object that is the result of running the RFC 7396 MergePatch() algorithm +** on the two arguments. +*/ +static void jsonPatchFunc( + sqlite3_context *ctx, + int argc, + sqlite3_value **argv +){ + JsonParse x; /* The JSON that is being patched */ + JsonParse y; /* The patch */ + JsonNode *pResult; /* The result of the merge */ + + UNUSED_PARAM(argc); + if( jsonParse(&x, ctx, (const char*)sqlite3_value_text(argv[0])) ) return; + if( jsonParse(&y, ctx, (const char*)sqlite3_value_text(argv[1])) ){ + jsonParseReset(&x); + return; + } + pResult = jsonMergePatch(&x, 0, y.aNode); + assert( pResult!=0 || x.oom ); + if( pResult ){ + jsonReturnJson(pResult, ctx, 0); + }else{ + sqlite3_result_error_nomem(ctx); + } jsonParseReset(&x); + jsonParseReset(&y); } + /* ** Implementation of the json_object(NAME,VALUE,...) function. Return a JSON ** object that contains all name/value given in arguments. Or if any name @@ -177847,11 +185182,11 @@ static void jsonReplaceFunc( if( x.nErr ) goto replace_err; if( pNode ){ pNode->jnFlags |= (u8)JNODE_REPLACE; - pNode->iVal = (u8)(i+1); + pNode->u.iReplace = i + 1; } } if( x.aNode[0].jnFlags & JNODE_REPLACE ){ - sqlite3_result_value(ctx, argv[x.aNode[0].iVal]); + sqlite3_result_value(ctx, argv[x.aNode[0].u.iReplace]); }else{ jsonReturnJson(x.aNode, ctx, argv); } @@ -177901,11 +185236,11 @@ static void jsonSetFunc( goto jsonSetDone; }else if( pNode && (bApnd || bIsSet) ){ pNode->jnFlags |= (u8)JNODE_REPLACE; - pNode->iVal = (u8)(i+1); + pNode->u.iReplace = i + 1; } } if( x.aNode[0].jnFlags & JNODE_REPLACE ){ - sqlite3_result_value(ctx, argv[x.aNode[0].iVal]); + sqlite3_result_value(ctx, argv[x.aNode[0].u.iReplace]); }else{ jsonReturnJson(x.aNode, ctx, argv); } @@ -178548,6 +185883,7 @@ SQLITE_PRIVATE int sqlite3Json1Init(sqlite3 *db){ { "json_extract", -1, 0, jsonExtractFunc }, { "json_insert", -1, 0, jsonSetFunc }, { "json_object", -1, 0, jsonObjectFunc }, + { "json_patch", 2, 0, jsonPatchFunc }, { "json_quote", 1, 0, jsonQuoteFunc }, { "json_remove", -1, 0, jsonRemoveFunc }, { "json_replace", -1, 0, jsonReplaceFunc }, @@ -179241,7 +186577,9 @@ typedef short i16; typedef sqlite3_int64 i64; typedef sqlite3_uint64 u64; -#define ArraySize(x) ((int)(sizeof(x) / sizeof(x[0]))) +#ifndef ArraySize +# define ArraySize(x) ((int)(sizeof(x) / sizeof(x[0]))) +#endif #define testcase(x) #define ALWAYS(x) 1 @@ -179655,9 +186993,9 @@ static int sqlite3Fts5IndexBeginWrite( /* ** Flush any data stored in the in-memory hash tables to the database. -** If the bCommit flag is true, also close any open blob handles. +** Also close any open blob handles. */ -static int sqlite3Fts5IndexSync(Fts5Index *p, int bCommit); +static int sqlite3Fts5IndexSync(Fts5Index *p); /* ** Discard any data stored in the in-memory hash tables. Do not write it @@ -179827,7 +187165,7 @@ static int sqlite3Fts5StorageDocsize(Fts5Storage *p, i64 iRowid, int *aCol); static int sqlite3Fts5StorageSize(Fts5Storage *p, int iCol, i64 *pnAvg); static int sqlite3Fts5StorageRowCount(Fts5Storage *p, i64 *pnRow); -static int sqlite3Fts5StorageSync(Fts5Storage *p, int bCommit); +static int sqlite3Fts5StorageSync(Fts5Storage *p); static int sqlite3Fts5StorageRollback(Fts5Storage *p); static int sqlite3Fts5StorageConfigValue( @@ -179863,6 +187201,7 @@ struct Fts5Token { /* Parse a MATCH expression. */ static int sqlite3Fts5ExprNew( Fts5Config *pConfig, + int iCol, /* Column on LHS of MATCH operator */ const char *zExpr, Fts5Expr **ppNew, char **pzErr @@ -179930,6 +187269,8 @@ static Fts5ExprPhrase *sqlite3Fts5ParseTerm( int bPrefix ); +static void sqlite3Fts5ParseSetCaret(Fts5ExprPhrase*); + static Fts5ExprNearset *sqlite3Fts5ParseNearset( Fts5Parse*, Fts5ExprNearset*, @@ -179947,7 +187288,7 @@ static void sqlite3Fts5ParseNearsetFree(Fts5ExprNearset*); static void sqlite3Fts5ParseNodeFree(Fts5ExprNode*); static void sqlite3Fts5ParseSetDistance(Fts5Parse*, Fts5ExprNearset*, Fts5Token*); -static void sqlite3Fts5ParseSetColset(Fts5Parse*, Fts5ExprNearset*, Fts5Colset*); +static void sqlite3Fts5ParseSetColset(Fts5Parse*, Fts5ExprNode*, Fts5Colset*); static Fts5Colset *sqlite3Fts5ParseColsetInvert(Fts5Parse*, Fts5Colset*); static void sqlite3Fts5ParseFinished(Fts5Parse *pParse, Fts5ExprNode *p); static void sqlite3Fts5ParseNear(Fts5Parse *pParse, Fts5Token*); @@ -180004,15 +187345,16 @@ static int sqlite3Fts5UnicodeFold(int c, int bRemoveDiacritic); #define FTS5_NOT 3 #define FTS5_TERM 4 #define FTS5_COLON 5 -#define FTS5_LP 6 -#define FTS5_RP 7 -#define FTS5_MINUS 8 -#define FTS5_LCP 9 -#define FTS5_RCP 10 -#define FTS5_STRING 11 -#define FTS5_COMMA 12 -#define FTS5_PLUS 13 -#define FTS5_STAR 14 +#define FTS5_MINUS 6 +#define FTS5_LCP 7 +#define FTS5_RCP 8 +#define FTS5_STRING 9 +#define FTS5_LP 10 +#define FTS5_RP 11 +#define FTS5_CARET 12 +#define FTS5_COMMA 13 +#define FTS5_PLUS 14 +#define FTS5_STAR 15 /* ** 2000-05-29 @@ -180113,30 +187455,32 @@ static int sqlite3Fts5UnicodeFold(int c, int bRemoveDiacritic); ** defined, then do no error processing. ** fts5YYNSTATE the combined number of states. ** fts5YYNRULE the number of rules in the grammar +** fts5YYNFTS5TOKEN Number of terminal symbols ** fts5YY_MAX_SHIFT Maximum value for shift actions ** fts5YY_MIN_SHIFTREDUCE Minimum value for shift-reduce actions ** fts5YY_MAX_SHIFTREDUCE Maximum value for shift-reduce actions -** fts5YY_MIN_REDUCE Maximum value for reduce actions ** fts5YY_ERROR_ACTION The fts5yy_action[] code for syntax error ** fts5YY_ACCEPT_ACTION The fts5yy_action[] code for accept ** fts5YY_NO_ACTION The fts5yy_action[] code for no-op +** fts5YY_MIN_REDUCE Minimum value for reduce actions +** fts5YY_MAX_REDUCE Maximum value for reduce actions */ #ifndef INTERFACE # define INTERFACE 1 #endif /************* Begin control #defines *****************************************/ #define fts5YYCODETYPE unsigned char -#define fts5YYNOCODE 28 +#define fts5YYNOCODE 29 #define fts5YYACTIONTYPE unsigned char #define sqlite3Fts5ParserFTS5TOKENTYPE Fts5Token typedef union { int fts5yyinit; sqlite3Fts5ParserFTS5TOKENTYPE fts5yy0; int fts5yy4; - Fts5Colset* fts5yy11; - Fts5ExprNode* fts5yy24; - Fts5ExprNearset* fts5yy46; - Fts5ExprPhrase* fts5yy53; + Fts5ExprPhrase* fts5yy11; + Fts5ExprNearset* fts5yy14; + Fts5Colset* fts5yy43; + Fts5ExprNode* fts5yy54; } fts5YYMINORTYPE; #ifndef fts5YYSTACKDEPTH #define fts5YYSTACKDEPTH 100 @@ -180145,16 +187489,17 @@ typedef union { #define sqlite3Fts5ParserARG_PDECL ,Fts5Parse *pParse #define sqlite3Fts5ParserARG_FETCH Fts5Parse *pParse = fts5yypParser->pParse #define sqlite3Fts5ParserARG_STORE fts5yypParser->pParse = pParse -#define fts5YYNSTATE 29 -#define fts5YYNRULE 26 -#define fts5YY_MAX_SHIFT 28 -#define fts5YY_MIN_SHIFTREDUCE 45 -#define fts5YY_MAX_SHIFTREDUCE 70 -#define fts5YY_MIN_REDUCE 71 -#define fts5YY_MAX_REDUCE 96 -#define fts5YY_ERROR_ACTION 97 -#define fts5YY_ACCEPT_ACTION 98 -#define fts5YY_NO_ACTION 99 +#define fts5YYNSTATE 35 +#define fts5YYNRULE 28 +#define fts5YYNFTS5TOKEN 16 +#define fts5YY_MAX_SHIFT 34 +#define fts5YY_MIN_SHIFTREDUCE 52 +#define fts5YY_MAX_SHIFTREDUCE 79 +#define fts5YY_ERROR_ACTION 80 +#define fts5YY_ACCEPT_ACTION 81 +#define fts5YY_NO_ACTION 82 +#define fts5YY_MIN_REDUCE 83 +#define fts5YY_MAX_REDUCE 110 /************* End control #defines *******************************************/ /* Define the fts5yytestcase() macro to be a no-op if is not already defined @@ -180184,9 +187529,6 @@ typedef union { ** N between fts5YY_MIN_SHIFTREDUCE Shift to an arbitrary state then ** and fts5YY_MAX_SHIFTREDUCE reduce by rule N-fts5YY_MIN_SHIFTREDUCE. ** -** N between fts5YY_MIN_REDUCE Reduce by rule N-fts5YY_MIN_REDUCE -** and fts5YY_MAX_REDUCE -** ** N == fts5YY_ERROR_ACTION A syntax error has occurred. ** ** N == fts5YY_ACCEPT_ACTION The parser accepts its input. @@ -180194,25 +187536,22 @@ typedef union { ** N == fts5YY_NO_ACTION No such action. Denotes unused ** slots in the fts5yy_action[] table. ** +** N between fts5YY_MIN_REDUCE Reduce by rule N-fts5YY_MIN_REDUCE +** and fts5YY_MAX_REDUCE +** ** The action table is constructed as a single large table named fts5yy_action[]. ** Given state S and lookahead X, the action is computed as either: ** ** (A) N = fts5yy_action[ fts5yy_shift_ofst[S] + X ] ** (B) N = fts5yy_default[S] ** -** The (A) formula is preferred. The B formula is used instead if: -** (1) The fts5yy_shift_ofst[S]+X value is out of range, or -** (2) fts5yy_lookahead[fts5yy_shift_ofst[S]+X] is not equal to X, or -** (3) fts5yy_shift_ofst[S] equal fts5YY_SHIFT_USE_DFLT. -** (Implementation note: fts5YY_SHIFT_USE_DFLT is chosen so that -** fts5YY_SHIFT_USE_DFLT+X will be out of range for all possible lookaheads X. -** Hence only tests (1) and (2) need to be evaluated.) +** The (A) formula is preferred. The B formula is used instead if +** fts5yy_lookahead[fts5yy_shift_ofst[S]+X] is not equal to X. ** ** The formulas above are for computing the action when the lookahead is ** a terminal symbol. If the lookahead is a non-terminal (as occurs after ** a reduce action) then the fts5yy_reduce_ofst[] array is used in place of -** the fts5yy_shift_ofst[] array and fts5YY_REDUCE_USE_DFLT is used in place of -** fts5YY_SHIFT_USE_DFLT. +** the fts5yy_shift_ofst[] array. ** ** The following are the tables generated in this section: ** @@ -180226,50 +187565,56 @@ typedef union { ** fts5yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define fts5YY_ACTTAB_COUNT (85) +#define fts5YY_ACTTAB_COUNT (105) static const fts5YYACTIONTYPE fts5yy_action[] = { - /* 0 */ 98, 16, 51, 5, 53, 27, 83, 7, 26, 15, - /* 10 */ 51, 5, 53, 27, 13, 69, 26, 48, 51, 5, - /* 20 */ 53, 27, 19, 11, 26, 9, 20, 51, 5, 53, - /* 30 */ 27, 13, 22, 26, 28, 51, 5, 53, 27, 68, - /* 40 */ 1, 26, 19, 11, 17, 9, 52, 10, 53, 27, - /* 50 */ 23, 24, 26, 54, 3, 4, 2, 26, 6, 21, - /* 60 */ 49, 71, 3, 4, 2, 7, 56, 59, 55, 59, - /* 70 */ 4, 2, 12, 69, 58, 60, 18, 67, 62, 69, - /* 80 */ 25, 66, 8, 14, 2, + /* 0 */ 81, 20, 96, 6, 28, 99, 98, 26, 26, 18, + /* 10 */ 96, 6, 28, 17, 98, 56, 26, 19, 96, 6, + /* 20 */ 28, 14, 98, 108, 26, 92, 96, 6, 28, 25, + /* 30 */ 98, 78, 26, 21, 96, 6, 28, 107, 98, 58, + /* 40 */ 26, 29, 96, 6, 28, 32, 98, 22, 26, 24, + /* 50 */ 16, 23, 11, 1, 14, 13, 24, 16, 31, 11, + /* 60 */ 3, 97, 13, 27, 8, 98, 82, 26, 7, 4, + /* 70 */ 5, 3, 4, 5, 3, 83, 4, 5, 3, 63, + /* 80 */ 33, 34, 62, 12, 2, 86, 13, 10, 12, 71, + /* 90 */ 10, 13, 78, 5, 3, 78, 9, 30, 75, 82, + /* 100 */ 54, 57, 53, 57, 15, }; static const fts5YYCODETYPE fts5yy_lookahead[] = { - /* 0 */ 16, 17, 18, 19, 20, 21, 5, 6, 24, 17, - /* 10 */ 18, 19, 20, 21, 11, 14, 24, 17, 18, 19, - /* 20 */ 20, 21, 8, 9, 24, 11, 17, 18, 19, 20, - /* 30 */ 21, 11, 12, 24, 17, 18, 19, 20, 21, 26, - /* 40 */ 6, 24, 8, 9, 22, 11, 18, 11, 20, 21, - /* 50 */ 24, 25, 24, 20, 1, 2, 3, 24, 23, 24, - /* 60 */ 7, 0, 1, 2, 3, 6, 10, 11, 10, 11, - /* 70 */ 2, 3, 9, 14, 11, 11, 22, 26, 7, 14, - /* 80 */ 13, 11, 5, 11, 3, + /* 0 */ 17, 18, 19, 20, 21, 23, 23, 25, 25, 18, + /* 10 */ 19, 20, 21, 7, 23, 9, 25, 18, 19, 20, + /* 20 */ 21, 9, 23, 27, 25, 18, 19, 20, 21, 25, + /* 30 */ 23, 15, 25, 18, 19, 20, 21, 27, 23, 9, + /* 40 */ 25, 18, 19, 20, 21, 14, 23, 22, 25, 6, + /* 50 */ 7, 22, 9, 10, 9, 12, 6, 7, 13, 9, + /* 60 */ 3, 19, 12, 21, 5, 23, 28, 25, 5, 1, + /* 70 */ 2, 3, 1, 2, 3, 0, 1, 2, 3, 11, + /* 80 */ 25, 26, 11, 9, 10, 5, 12, 10, 9, 11, + /* 90 */ 10, 12, 15, 2, 3, 15, 24, 25, 9, 28, + /* 100 */ 8, 9, 8, 9, 9, 28, 28, 28, 28, 28, + /* 110 */ 28, 28, 28, 28, 28, 28, 28, 28, 28, 28, + /* 120 */ 28, }; -#define fts5YY_SHIFT_USE_DFLT (85) -#define fts5YY_SHIFT_COUNT (28) +#define fts5YY_SHIFT_COUNT (34) #define fts5YY_SHIFT_MIN (0) -#define fts5YY_SHIFT_MAX (81) +#define fts5YY_SHIFT_MAX (95) static const unsigned char fts5yy_shift_ofst[] = { - /* 0 */ 34, 34, 34, 34, 34, 14, 20, 3, 36, 1, - /* 10 */ 59, 64, 64, 65, 65, 53, 61, 56, 58, 63, - /* 20 */ 68, 67, 70, 67, 71, 72, 67, 77, 81, + /* 0 */ 43, 43, 43, 43, 43, 43, 50, 74, 79, 45, + /* 10 */ 12, 80, 77, 12, 16, 16, 30, 30, 68, 71, + /* 20 */ 75, 91, 92, 94, 6, 31, 31, 59, 63, 57, + /* 30 */ 31, 89, 95, 31, 78, }; -#define fts5YY_REDUCE_USE_DFLT (-17) -#define fts5YY_REDUCE_COUNT (14) -#define fts5YY_REDUCE_MIN (-16) -#define fts5YY_REDUCE_MAX (54) +#define fts5YY_REDUCE_COUNT (17) +#define fts5YY_REDUCE_MIN (-18) +#define fts5YY_REDUCE_MAX (72) static const signed char fts5yy_reduce_ofst[] = { - /* 0 */ -16, -8, 0, 9, 17, 28, 26, 35, 33, 13, - /* 10 */ 13, 22, 54, 13, 51, + /* 0 */ -17, -9, -1, 7, 15, 23, 42, -18, -18, 55, + /* 10 */ 72, -4, -4, 4, -4, 10, 25, 29, }; static const fts5YYACTIONTYPE fts5yy_default[] = { - /* 0 */ 97, 97, 97, 97, 97, 76, 91, 97, 97, 96, - /* 10 */ 96, 97, 97, 96, 96, 97, 97, 97, 97, 97, - /* 20 */ 73, 89, 97, 90, 97, 97, 87, 97, 72, + /* 0 */ 80, 80, 80, 80, 80, 80, 95, 80, 80, 105, + /* 10 */ 80, 110, 110, 80, 110, 110, 80, 80, 80, 80, + /* 20 */ 80, 91, 80, 80, 80, 101, 100, 80, 80, 90, + /* 30 */ 103, 80, 80, 104, 80, }; /********** End of lemon-generated parsing tables *****************************/ @@ -180334,6 +187679,7 @@ struct fts5yyParser { fts5yyStackEntry fts5yystk0; /* First stack entry */ #else fts5yyStackEntry fts5yystack[fts5YYSTACKDEPTH]; /* The parser's stack */ + fts5yyStackEntry *fts5yystackEnd; /* Last entry in the stack */ #endif }; typedef struct fts5yyParser fts5yyParser; @@ -180370,50 +187716,73 @@ static void sqlite3Fts5ParserTrace(FILE *TraceFILE, char *zTracePrompt){ } #endif /* NDEBUG */ -#ifndef NDEBUG +#if defined(fts5YYCOVERAGE) || !defined(NDEBUG) /* For tracing shifts, the names of all terminals and nonterminals ** are required. The following table supplies these names */ static const char *const fts5yyTokenName[] = { - "$", "OR", "AND", "NOT", - "TERM", "COLON", "LP", "RP", - "MINUS", "LCP", "RCP", "STRING", - "COMMA", "PLUS", "STAR", "error", - "input", "expr", "cnearset", "exprlist", - "nearset", "colset", "colsetlist", "nearphrases", - "phrase", "neardist_opt", "star_opt", + /* 0 */ "$", + /* 1 */ "OR", + /* 2 */ "AND", + /* 3 */ "NOT", + /* 4 */ "TERM", + /* 5 */ "COLON", + /* 6 */ "MINUS", + /* 7 */ "LCP", + /* 8 */ "RCP", + /* 9 */ "STRING", + /* 10 */ "LP", + /* 11 */ "RP", + /* 12 */ "CARET", + /* 13 */ "COMMA", + /* 14 */ "PLUS", + /* 15 */ "STAR", + /* 16 */ "error", + /* 17 */ "input", + /* 18 */ "expr", + /* 19 */ "cnearset", + /* 20 */ "exprlist", + /* 21 */ "colset", + /* 22 */ "colsetlist", + /* 23 */ "nearset", + /* 24 */ "nearphrases", + /* 25 */ "phrase", + /* 26 */ "neardist_opt", + /* 27 */ "star_opt", }; -#endif /* NDEBUG */ +#endif /* defined(fts5YYCOVERAGE) || !defined(NDEBUG) */ #ifndef NDEBUG /* For tracing reduce actions, the names of all rules are required. */ static const char *const fts5yyRuleName[] = { /* 0 */ "input ::= expr", - /* 1 */ "expr ::= expr AND expr", - /* 2 */ "expr ::= expr OR expr", - /* 3 */ "expr ::= expr NOT expr", - /* 4 */ "expr ::= LP expr RP", - /* 5 */ "expr ::= exprlist", - /* 6 */ "exprlist ::= cnearset", - /* 7 */ "exprlist ::= exprlist cnearset", - /* 8 */ "cnearset ::= nearset", - /* 9 */ "cnearset ::= colset COLON nearset", - /* 10 */ "colset ::= MINUS LCP colsetlist RCP", - /* 11 */ "colset ::= LCP colsetlist RCP", - /* 12 */ "colset ::= STRING", - /* 13 */ "colset ::= MINUS STRING", - /* 14 */ "colsetlist ::= colsetlist STRING", - /* 15 */ "colsetlist ::= STRING", - /* 16 */ "nearset ::= phrase", - /* 17 */ "nearset ::= STRING LP nearphrases neardist_opt RP", - /* 18 */ "nearphrases ::= phrase", - /* 19 */ "nearphrases ::= nearphrases phrase", - /* 20 */ "neardist_opt ::=", - /* 21 */ "neardist_opt ::= COMMA STRING", - /* 22 */ "phrase ::= phrase PLUS STRING star_opt", - /* 23 */ "phrase ::= STRING star_opt", - /* 24 */ "star_opt ::= STAR", - /* 25 */ "star_opt ::=", + /* 1 */ "colset ::= MINUS LCP colsetlist RCP", + /* 2 */ "colset ::= LCP colsetlist RCP", + /* 3 */ "colset ::= STRING", + /* 4 */ "colset ::= MINUS STRING", + /* 5 */ "colsetlist ::= colsetlist STRING", + /* 6 */ "colsetlist ::= STRING", + /* 7 */ "expr ::= expr AND expr", + /* 8 */ "expr ::= expr OR expr", + /* 9 */ "expr ::= expr NOT expr", + /* 10 */ "expr ::= colset COLON LP expr RP", + /* 11 */ "expr ::= LP expr RP", + /* 12 */ "expr ::= exprlist", + /* 13 */ "exprlist ::= cnearset", + /* 14 */ "exprlist ::= exprlist cnearset", + /* 15 */ "cnearset ::= nearset", + /* 16 */ "cnearset ::= colset COLON nearset", + /* 17 */ "nearset ::= phrase", + /* 18 */ "nearset ::= CARET phrase", + /* 19 */ "nearset ::= STRING LP nearphrases neardist_opt RP", + /* 20 */ "nearphrases ::= phrase", + /* 21 */ "nearphrases ::= nearphrases phrase", + /* 22 */ "neardist_opt ::=", + /* 23 */ "neardist_opt ::= COMMA STRING", + /* 24 */ "phrase ::= phrase PLUS STRING star_opt", + /* 25 */ "phrase ::= STRING star_opt", + /* 26 */ "star_opt ::= STAR", + /* 27 */ "star_opt ::=", }; #endif /* NDEBUG */ @@ -180460,6 +187829,34 @@ static int fts5yyGrowStack(fts5yyParser *p){ # define fts5YYMALLOCARGTYPE size_t #endif +/* Initialize a new parser that has already been allocated. +*/ +static void sqlite3Fts5ParserInit(void *fts5yypParser){ + fts5yyParser *pParser = (fts5yyParser*)fts5yypParser; +#ifdef fts5YYTRACKMAXSTACKDEPTH + pParser->fts5yyhwm = 0; +#endif +#if fts5YYSTACKDEPTH<=0 + pParser->fts5yytos = NULL; + pParser->fts5yystack = NULL; + pParser->fts5yystksz = 0; + if( fts5yyGrowStack(pParser) ){ + pParser->fts5yystack = &pParser->fts5yystk0; + pParser->fts5yystksz = 1; + } +#endif +#ifndef fts5YYNOERRORRECOVERY + pParser->fts5yyerrcnt = -1; +#endif + pParser->fts5yytos = pParser->fts5yystack; + pParser->fts5yystack[0].stateno = 0; + pParser->fts5yystack[0].major = 0; +#if fts5YYSTACKDEPTH>0 + pParser->fts5yystackEnd = &pParser->fts5yystack[fts5YYSTACKDEPTH-1]; +#endif +} + +#ifndef sqlite3Fts5Parser_ENGINEALWAYSONSTACK /* ** This function allocates a new parser. ** The only argument is a pointer to a function which works like @@ -180475,28 +187872,11 @@ static int fts5yyGrowStack(fts5yyParser *p){ static void *sqlite3Fts5ParserAlloc(void *(*mallocProc)(fts5YYMALLOCARGTYPE)){ fts5yyParser *pParser; pParser = (fts5yyParser*)(*mallocProc)( (fts5YYMALLOCARGTYPE)sizeof(fts5yyParser) ); - if( pParser ){ -#ifdef fts5YYTRACKMAXSTACKDEPTH - pParser->fts5yyhwm = 0; -#endif -#if fts5YYSTACKDEPTH<=0 - pParser->fts5yytos = NULL; - pParser->fts5yystack = NULL; - pParser->fts5yystksz = 0; - if( fts5yyGrowStack(pParser) ){ - pParser->fts5yystack = &pParser->fts5yystk0; - pParser->fts5yystksz = 1; - } -#endif -#ifndef fts5YYNOERRORRECOVERY - pParser->fts5yyerrcnt = -1; -#endif - pParser->fts5yytos = pParser->fts5yystack; - pParser->fts5yystack[0].stateno = 0; - pParser->fts5yystack[0].major = 0; - } + if( pParser ) sqlite3Fts5ParserInit(pParser); return pParser; } +#endif /* sqlite3Fts5Parser_ENGINEALWAYSONSTACK */ + /* The following function deletes the "minor type" or semantic value ** associated with a symbol. The symbol can be either a terminal @@ -180523,33 +187903,33 @@ static void fts5yy_destructor( ** inside the C code. */ /********* Begin destructor definitions ***************************************/ - case 16: /* input */ + case 17: /* input */ { (void)pParse; } break; - case 17: /* expr */ - case 18: /* cnearset */ - case 19: /* exprlist */ + case 18: /* expr */ + case 19: /* cnearset */ + case 20: /* exprlist */ { - sqlite3Fts5ParseNodeFree((fts5yypminor->fts5yy24)); + sqlite3Fts5ParseNodeFree((fts5yypminor->fts5yy54)); } break; - case 20: /* nearset */ - case 23: /* nearphrases */ + case 21: /* colset */ + case 22: /* colsetlist */ { - sqlite3Fts5ParseNearsetFree((fts5yypminor->fts5yy46)); + sqlite3_free((fts5yypminor->fts5yy43)); } break; - case 21: /* colset */ - case 22: /* colsetlist */ + case 23: /* nearset */ + case 24: /* nearphrases */ { - sqlite3_free((fts5yypminor->fts5yy11)); + sqlite3Fts5ParseNearsetFree((fts5yypminor->fts5yy14)); } break; - case 24: /* phrase */ + case 25: /* phrase */ { - sqlite3Fts5ParsePhraseFree((fts5yypminor->fts5yy53)); + sqlite3Fts5ParsePhraseFree((fts5yypminor->fts5yy11)); } break; /********* End destructor definitions *****************************************/ @@ -180578,6 +187958,18 @@ static void fts5yy_pop_parser_stack(fts5yyParser *pParser){ fts5yy_destructor(pParser, fts5yytos->major, &fts5yytos->minor); } +/* +** Clear all secondary memory allocations from the parser +*/ +static void sqlite3Fts5ParserFinalize(void *p){ + fts5yyParser *pParser = (fts5yyParser*)p; + while( pParser->fts5yytos>pParser->fts5yystack ) fts5yy_pop_parser_stack(pParser); +#if fts5YYSTACKDEPTH<=0 + if( pParser->fts5yystack!=&pParser->fts5yystk0 ) free(pParser->fts5yystack); +#endif +} + +#ifndef sqlite3Fts5Parser_ENGINEALWAYSONSTACK /* ** Deallocate and destroy a parser. Destructors are called for ** all stack elements before shutting the parser down. @@ -180590,16 +187982,13 @@ static void sqlite3Fts5ParserFree( void *p, /* The parser to be deleted */ void (*freeProc)(void*) /* Function used to reclaim memory */ ){ - fts5yyParser *pParser = (fts5yyParser*)p; #ifndef fts5YYPARSEFREENEVERNULL - if( pParser==0 ) return; -#endif - while( pParser->fts5yytos>pParser->fts5yystack ) fts5yy_pop_parser_stack(pParser); -#if fts5YYSTACKDEPTH<=0 - if( pParser->fts5yystack!=&pParser->fts5yystk0 ) free(pParser->fts5yystack); + if( p==0 ) return; #endif - (*freeProc)((void*)pParser); + sqlite3Fts5ParserFinalize(p); + (*freeProc)(p); } +#endif /* sqlite3Fts5Parser_ENGINEALWAYSONSTACK */ /* ** Return the peak depth of the stack for a parser. @@ -180611,6 +188000,43 @@ static int sqlite3Fts5ParserStackPeak(void *p){ } #endif +/* This array of booleans keeps track of the parser statement +** coverage. The element fts5yycoverage[X][Y] is set when the parser +** is in state X and has a lookahead token Y. In a well-tested +** systems, every element of this matrix should end up being set. +*/ +#if defined(fts5YYCOVERAGE) +static unsigned char fts5yycoverage[fts5YYNSTATE][fts5YYNFTS5TOKEN]; +#endif + +/* +** Write into out a description of every state/lookahead combination that +** +** (1) has not been used by the parser, and +** (2) is not a syntax error. +** +** Return the number of missed state/lookahead combinations. +*/ +#if defined(fts5YYCOVERAGE) +static int sqlite3Fts5ParserCoverage(FILE *out){ + int stateno, iLookAhead, i; + int nMissed = 0; + for(stateno=0; statenofts5yytos->stateno; - if( stateno>=fts5YY_MIN_REDUCE ) return stateno; + if( stateno>fts5YY_MAX_SHIFT ) return stateno; assert( stateno <= fts5YY_SHIFT_COUNT ); +#if defined(fts5YYCOVERAGE) + fts5yycoverage[stateno][iLookAhead] = 1; +#endif do{ i = fts5yy_shift_ofst[stateno]; + assert( i>=0 && i+fts5YYNFTS5TOKEN<=sizeof(fts5yy_lookahead)/sizeof(fts5yy_lookahead[0]) ); assert( iLookAhead!=fts5YYNOCODE ); + assert( iLookAhead < fts5YYNFTS5TOKEN ); i += iLookAhead; - if( i<0 || i>=fts5YY_ACTTAB_COUNT || fts5yy_lookahead[i]!=iLookAhead ){ + if( fts5yy_lookahead[i]!=iLookAhead ){ #ifdef fts5YYFALLBACK fts5YYCODETYPE iFallback; /* Fallback token */ if( iLookAheadfts5yytos--; #ifndef NDEBUG if( fts5yyTraceFILE ){ fprintf(fts5yyTraceFILE,"%sStack Overflow!\n",fts5yyTracePrompt); @@ -180730,20 +188159,21 @@ static void fts5yyStackOverflow(fts5yyParser *fts5yypParser){ ** Print tracing information for a SHIFT action */ #ifndef NDEBUG -static void fts5yyTraceShift(fts5yyParser *fts5yypParser, int fts5yyNewState){ +static void fts5yyTraceShift(fts5yyParser *fts5yypParser, int fts5yyNewState, const char *zTag){ if( fts5yyTraceFILE ){ if( fts5yyNewStatefts5yytos->major], + fprintf(fts5yyTraceFILE,"%s%s '%s', go to state %d\n", + fts5yyTracePrompt, zTag, fts5yyTokenName[fts5yypParser->fts5yytos->major], fts5yyNewState); }else{ - fprintf(fts5yyTraceFILE,"%sShift '%s'\n", - fts5yyTracePrompt,fts5yyTokenName[fts5yypParser->fts5yytos->major]); + fprintf(fts5yyTraceFILE,"%s%s '%s', pending reduce %d\n", + fts5yyTracePrompt, zTag, fts5yyTokenName[fts5yypParser->fts5yytos->major], + fts5yyNewState - fts5YY_MIN_REDUCE); } } } #else -# define fts5yyTraceShift(X,Y) +# define fts5yyTraceShift(X,Y,Z) #endif /* @@ -180764,13 +188194,15 @@ static void fts5yy_shift( } #endif #if fts5YYSTACKDEPTH>0 - if( fts5yypParser->fts5yytos>=&fts5yypParser->fts5yystack[fts5YYSTACKDEPTH] ){ + if( fts5yypParser->fts5yytos>fts5yypParser->fts5yystackEnd ){ + fts5yypParser->fts5yytos--; fts5yyStackOverflow(fts5yypParser); return; } #else if( fts5yypParser->fts5yytos>=&fts5yypParser->fts5yystack[fts5yypParser->fts5yystksz] ){ if( fts5yyGrowStack(fts5yypParser) ){ + fts5yypParser->fts5yytos--; fts5yyStackOverflow(fts5yypParser); return; } @@ -180783,42 +188215,44 @@ static void fts5yy_shift( fts5yytos->stateno = (fts5YYACTIONTYPE)fts5yyNewState; fts5yytos->major = (fts5YYCODETYPE)fts5yyMajor; fts5yytos->minor.fts5yy0 = fts5yyMinor; - fts5yyTraceShift(fts5yypParser, fts5yyNewState); + fts5yyTraceShift(fts5yypParser, fts5yyNewState, "Shift"); } /* The following table contains information about every rule that ** is used during the reduce. */ static const struct { - fts5YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ - unsigned char nrhs; /* Number of right-hand side symbols in the rule */ + fts5YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ + signed char nrhs; /* Negative of the number of RHS symbols in the rule */ } fts5yyRuleInfo[] = { - { 16, 1 }, - { 17, 3 }, - { 17, 3 }, - { 17, 3 }, - { 17, 3 }, - { 17, 1 }, - { 19, 1 }, - { 19, 2 }, - { 18, 1 }, - { 18, 3 }, - { 21, 4 }, - { 21, 3 }, - { 21, 1 }, - { 21, 2 }, - { 22, 2 }, - { 22, 1 }, - { 20, 1 }, - { 20, 5 }, - { 23, 1 }, - { 23, 2 }, - { 25, 0 }, - { 25, 2 }, - { 24, 4 }, - { 24, 2 }, - { 26, 1 }, - { 26, 0 }, + { 17, -1 }, /* (0) input ::= expr */ + { 21, -4 }, /* (1) colset ::= MINUS LCP colsetlist RCP */ + { 21, -3 }, /* (2) colset ::= LCP colsetlist RCP */ + { 21, -1 }, /* (3) colset ::= STRING */ + { 21, -2 }, /* (4) colset ::= MINUS STRING */ + { 22, -2 }, /* (5) colsetlist ::= colsetlist STRING */ + { 22, -1 }, /* (6) colsetlist ::= STRING */ + { 18, -3 }, /* (7) expr ::= expr AND expr */ + { 18, -3 }, /* (8) expr ::= expr OR expr */ + { 18, -3 }, /* (9) expr ::= expr NOT expr */ + { 18, -5 }, /* (10) expr ::= colset COLON LP expr RP */ + { 18, -3 }, /* (11) expr ::= LP expr RP */ + { 18, -1 }, /* (12) expr ::= exprlist */ + { 20, -1 }, /* (13) exprlist ::= cnearset */ + { 20, -2 }, /* (14) exprlist ::= exprlist cnearset */ + { 19, -1 }, /* (15) cnearset ::= nearset */ + { 19, -3 }, /* (16) cnearset ::= colset COLON nearset */ + { 23, -1 }, /* (17) nearset ::= phrase */ + { 23, -2 }, /* (18) nearset ::= CARET phrase */ + { 23, -5 }, /* (19) nearset ::= STRING LP nearphrases neardist_opt RP */ + { 24, -1 }, /* (20) nearphrases ::= phrase */ + { 24, -2 }, /* (21) nearphrases ::= nearphrases phrase */ + { 26, 0 }, /* (22) neardist_opt ::= */ + { 26, -2 }, /* (23) neardist_opt ::= COMMA STRING */ + { 25, -4 }, /* (24) phrase ::= phrase PLUS STRING star_opt */ + { 25, -2 }, /* (25) phrase ::= STRING star_opt */ + { 27, -1 }, /* (26) star_opt ::= STAR */ + { 27, 0 }, /* (27) star_opt ::= */ }; static void fts5yy_accept(fts5yyParser*); /* Forward Declaration */ @@ -180826,22 +188260,38 @@ static void fts5yy_accept(fts5yyParser*); /* Forward Declaration */ /* ** Perform a reduce action and the shift that must immediately ** follow the reduce. +** +** The fts5yyLookahead and fts5yyLookaheadToken parameters provide reduce actions +** access to the lookahead token (if any). The fts5yyLookahead will be fts5YYNOCODE +** if the lookahead token has already been consumed. As this procedure is +** only called from one place, optimizing compilers will in-line it, which +** means that the extra parameters have no performance impact. */ static void fts5yy_reduce( fts5yyParser *fts5yypParser, /* The parser */ - unsigned int fts5yyruleno /* Number of the rule by which to reduce */ + unsigned int fts5yyruleno, /* Number of the rule by which to reduce */ + int fts5yyLookahead, /* Lookahead token, or fts5YYNOCODE if none */ + sqlite3Fts5ParserFTS5TOKENTYPE fts5yyLookaheadToken /* Value of the lookahead token */ ){ int fts5yygoto; /* The next state */ int fts5yyact; /* The next action */ fts5yyStackEntry *fts5yymsp; /* The top of the parser's stack */ int fts5yysize; /* Amount to pop the stack */ sqlite3Fts5ParserARG_FETCH; + (void)fts5yyLookahead; + (void)fts5yyLookaheadToken; fts5yymsp = fts5yypParser->fts5yytos; #ifndef NDEBUG if( fts5yyTraceFILE && fts5yyruleno<(int)(sizeof(fts5yyRuleName)/sizeof(fts5yyRuleName[0])) ){ fts5yysize = fts5yyRuleInfo[fts5yyruleno].nrhs; - fprintf(fts5yyTraceFILE, "%sReduce [%s], go to state %d.\n", fts5yyTracePrompt, - fts5yyRuleName[fts5yyruleno], fts5yymsp[-fts5yysize].stateno); + if( fts5yysize ){ + fprintf(fts5yyTraceFILE, "%sReduce %d [%s], go to state %d.\n", + fts5yyTracePrompt, + fts5yyruleno, fts5yyRuleName[fts5yyruleno], fts5yymsp[fts5yysize].stateno); + }else{ + fprintf(fts5yyTraceFILE, "%sReduce %d [%s].\n", + fts5yyTracePrompt, fts5yyruleno, fts5yyRuleName[fts5yyruleno]); + } } #endif /* NDEBUG */ @@ -180856,7 +188306,7 @@ static void fts5yy_reduce( } #endif #if fts5YYSTACKDEPTH>0 - if( fts5yypParser->fts5yytos>=&fts5yypParser->fts5yystack[fts5YYSTACKDEPTH-1] ){ + if( fts5yypParser->fts5yytos>=fts5yypParser->fts5yystackEnd ){ fts5yyStackOverflow(fts5yypParser); return; } @@ -180883,130 +188333,143 @@ static void fts5yy_reduce( /********** Begin reduce actions **********************************************/ fts5YYMINORTYPE fts5yylhsminor; case 0: /* input ::= expr */ -{ sqlite3Fts5ParseFinished(pParse, fts5yymsp[0].minor.fts5yy24); } +{ sqlite3Fts5ParseFinished(pParse, fts5yymsp[0].minor.fts5yy54); } break; - case 1: /* expr ::= expr AND expr */ -{ - fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseNode(pParse, FTS5_AND, fts5yymsp[-2].minor.fts5yy24, fts5yymsp[0].minor.fts5yy24, 0); + case 1: /* colset ::= MINUS LCP colsetlist RCP */ +{ + fts5yymsp[-3].minor.fts5yy43 = sqlite3Fts5ParseColsetInvert(pParse, fts5yymsp[-1].minor.fts5yy43); } - fts5yymsp[-2].minor.fts5yy24 = fts5yylhsminor.fts5yy24; break; - case 2: /* expr ::= expr OR expr */ + case 2: /* colset ::= LCP colsetlist RCP */ +{ fts5yymsp[-2].minor.fts5yy43 = fts5yymsp[-1].minor.fts5yy43; } + break; + case 3: /* colset ::= STRING */ { - fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseNode(pParse, FTS5_OR, fts5yymsp[-2].minor.fts5yy24, fts5yymsp[0].minor.fts5yy24, 0); + fts5yylhsminor.fts5yy43 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); } - fts5yymsp[-2].minor.fts5yy24 = fts5yylhsminor.fts5yy24; + fts5yymsp[0].minor.fts5yy43 = fts5yylhsminor.fts5yy43; break; - case 3: /* expr ::= expr NOT expr */ + case 4: /* colset ::= MINUS STRING */ { - fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseNode(pParse, FTS5_NOT, fts5yymsp[-2].minor.fts5yy24, fts5yymsp[0].minor.fts5yy24, 0); + fts5yymsp[-1].minor.fts5yy43 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); + fts5yymsp[-1].minor.fts5yy43 = sqlite3Fts5ParseColsetInvert(pParse, fts5yymsp[-1].minor.fts5yy43); } - fts5yymsp[-2].minor.fts5yy24 = fts5yylhsminor.fts5yy24; break; - case 4: /* expr ::= LP expr RP */ -{fts5yymsp[-2].minor.fts5yy24 = fts5yymsp[-1].minor.fts5yy24;} + case 5: /* colsetlist ::= colsetlist STRING */ +{ + fts5yylhsminor.fts5yy43 = sqlite3Fts5ParseColset(pParse, fts5yymsp[-1].minor.fts5yy43, &fts5yymsp[0].minor.fts5yy0); } + fts5yymsp[-1].minor.fts5yy43 = fts5yylhsminor.fts5yy43; break; - case 5: /* expr ::= exprlist */ - case 6: /* exprlist ::= cnearset */ fts5yytestcase(fts5yyruleno==6); -{fts5yylhsminor.fts5yy24 = fts5yymsp[0].minor.fts5yy24;} - fts5yymsp[0].minor.fts5yy24 = fts5yylhsminor.fts5yy24; + case 6: /* colsetlist ::= STRING */ +{ + fts5yylhsminor.fts5yy43 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); +} + fts5yymsp[0].minor.fts5yy43 = fts5yylhsminor.fts5yy43; break; - case 7: /* exprlist ::= exprlist cnearset */ + case 7: /* expr ::= expr AND expr */ { - fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseImplicitAnd(pParse, fts5yymsp[-1].minor.fts5yy24, fts5yymsp[0].minor.fts5yy24); + fts5yylhsminor.fts5yy54 = sqlite3Fts5ParseNode(pParse, FTS5_AND, fts5yymsp[-2].minor.fts5yy54, fts5yymsp[0].minor.fts5yy54, 0); } - fts5yymsp[-1].minor.fts5yy24 = fts5yylhsminor.fts5yy24; + fts5yymsp[-2].minor.fts5yy54 = fts5yylhsminor.fts5yy54; break; - case 8: /* cnearset ::= nearset */ -{ - fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy46); + case 8: /* expr ::= expr OR expr */ +{ + fts5yylhsminor.fts5yy54 = sqlite3Fts5ParseNode(pParse, FTS5_OR, fts5yymsp[-2].minor.fts5yy54, fts5yymsp[0].minor.fts5yy54, 0); } - fts5yymsp[0].minor.fts5yy24 = fts5yylhsminor.fts5yy24; + fts5yymsp[-2].minor.fts5yy54 = fts5yylhsminor.fts5yy54; break; - case 9: /* cnearset ::= colset COLON nearset */ -{ - sqlite3Fts5ParseSetColset(pParse, fts5yymsp[0].minor.fts5yy46, fts5yymsp[-2].minor.fts5yy11); - fts5yylhsminor.fts5yy24 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy46); + case 9: /* expr ::= expr NOT expr */ +{ + fts5yylhsminor.fts5yy54 = sqlite3Fts5ParseNode(pParse, FTS5_NOT, fts5yymsp[-2].minor.fts5yy54, fts5yymsp[0].minor.fts5yy54, 0); } - fts5yymsp[-2].minor.fts5yy24 = fts5yylhsminor.fts5yy24; + fts5yymsp[-2].minor.fts5yy54 = fts5yylhsminor.fts5yy54; break; - case 10: /* colset ::= MINUS LCP colsetlist RCP */ -{ - fts5yymsp[-3].minor.fts5yy11 = sqlite3Fts5ParseColsetInvert(pParse, fts5yymsp[-1].minor.fts5yy11); + case 10: /* expr ::= colset COLON LP expr RP */ +{ + sqlite3Fts5ParseSetColset(pParse, fts5yymsp[-1].minor.fts5yy54, fts5yymsp[-4].minor.fts5yy43); + fts5yylhsminor.fts5yy54 = fts5yymsp[-1].minor.fts5yy54; } + fts5yymsp[-4].minor.fts5yy54 = fts5yylhsminor.fts5yy54; break; - case 11: /* colset ::= LCP colsetlist RCP */ -{ fts5yymsp[-2].minor.fts5yy11 = fts5yymsp[-1].minor.fts5yy11; } + case 11: /* expr ::= LP expr RP */ +{fts5yymsp[-2].minor.fts5yy54 = fts5yymsp[-1].minor.fts5yy54;} break; - case 12: /* colset ::= STRING */ -{ - fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); -} - fts5yymsp[0].minor.fts5yy11 = fts5yylhsminor.fts5yy11; + case 12: /* expr ::= exprlist */ + case 13: /* exprlist ::= cnearset */ fts5yytestcase(fts5yyruleno==13); +{fts5yylhsminor.fts5yy54 = fts5yymsp[0].minor.fts5yy54;} + fts5yymsp[0].minor.fts5yy54 = fts5yylhsminor.fts5yy54; break; - case 13: /* colset ::= MINUS STRING */ + case 14: /* exprlist ::= exprlist cnearset */ { - fts5yymsp[-1].minor.fts5yy11 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); - fts5yymsp[-1].minor.fts5yy11 = sqlite3Fts5ParseColsetInvert(pParse, fts5yymsp[-1].minor.fts5yy11); + fts5yylhsminor.fts5yy54 = sqlite3Fts5ParseImplicitAnd(pParse, fts5yymsp[-1].minor.fts5yy54, fts5yymsp[0].minor.fts5yy54); } + fts5yymsp[-1].minor.fts5yy54 = fts5yylhsminor.fts5yy54; break; - case 14: /* colsetlist ::= colsetlist STRING */ + case 15: /* cnearset ::= nearset */ { - fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseColset(pParse, fts5yymsp[-1].minor.fts5yy11, &fts5yymsp[0].minor.fts5yy0); } - fts5yymsp[-1].minor.fts5yy11 = fts5yylhsminor.fts5yy11; + fts5yylhsminor.fts5yy54 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy14); +} + fts5yymsp[0].minor.fts5yy54 = fts5yylhsminor.fts5yy54; break; - case 15: /* colsetlist ::= STRING */ + case 16: /* cnearset ::= colset COLON nearset */ { - fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseColset(pParse, 0, &fts5yymsp[0].minor.fts5yy0); + fts5yylhsminor.fts5yy54 = sqlite3Fts5ParseNode(pParse, FTS5_STRING, 0, 0, fts5yymsp[0].minor.fts5yy14); + sqlite3Fts5ParseSetColset(pParse, fts5yylhsminor.fts5yy54, fts5yymsp[-2].minor.fts5yy43); } - fts5yymsp[0].minor.fts5yy11 = fts5yylhsminor.fts5yy11; + fts5yymsp[-2].minor.fts5yy54 = fts5yylhsminor.fts5yy54; break; - case 16: /* nearset ::= phrase */ -{ fts5yylhsminor.fts5yy46 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy53); } - fts5yymsp[0].minor.fts5yy46 = fts5yylhsminor.fts5yy46; + case 17: /* nearset ::= phrase */ +{ fts5yylhsminor.fts5yy14 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy11); } + fts5yymsp[0].minor.fts5yy14 = fts5yylhsminor.fts5yy14; break; - case 17: /* nearset ::= STRING LP nearphrases neardist_opt RP */ + case 18: /* nearset ::= CARET phrase */ +{ + sqlite3Fts5ParseSetCaret(fts5yymsp[0].minor.fts5yy11); + fts5yymsp[-1].minor.fts5yy14 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy11); +} + break; + case 19: /* nearset ::= STRING LP nearphrases neardist_opt RP */ { sqlite3Fts5ParseNear(pParse, &fts5yymsp[-4].minor.fts5yy0); - sqlite3Fts5ParseSetDistance(pParse, fts5yymsp[-2].minor.fts5yy46, &fts5yymsp[-1].minor.fts5yy0); - fts5yylhsminor.fts5yy46 = fts5yymsp[-2].minor.fts5yy46; + sqlite3Fts5ParseSetDistance(pParse, fts5yymsp[-2].minor.fts5yy14, &fts5yymsp[-1].minor.fts5yy0); + fts5yylhsminor.fts5yy14 = fts5yymsp[-2].minor.fts5yy14; } - fts5yymsp[-4].minor.fts5yy46 = fts5yylhsminor.fts5yy46; + fts5yymsp[-4].minor.fts5yy14 = fts5yylhsminor.fts5yy14; break; - case 18: /* nearphrases ::= phrase */ + case 20: /* nearphrases ::= phrase */ { - fts5yylhsminor.fts5yy46 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy53); + fts5yylhsminor.fts5yy14 = sqlite3Fts5ParseNearset(pParse, 0, fts5yymsp[0].minor.fts5yy11); } - fts5yymsp[0].minor.fts5yy46 = fts5yylhsminor.fts5yy46; + fts5yymsp[0].minor.fts5yy14 = fts5yylhsminor.fts5yy14; break; - case 19: /* nearphrases ::= nearphrases phrase */ + case 21: /* nearphrases ::= nearphrases phrase */ { - fts5yylhsminor.fts5yy46 = sqlite3Fts5ParseNearset(pParse, fts5yymsp[-1].minor.fts5yy46, fts5yymsp[0].minor.fts5yy53); + fts5yylhsminor.fts5yy14 = sqlite3Fts5ParseNearset(pParse, fts5yymsp[-1].minor.fts5yy14, fts5yymsp[0].minor.fts5yy11); } - fts5yymsp[-1].minor.fts5yy46 = fts5yylhsminor.fts5yy46; + fts5yymsp[-1].minor.fts5yy14 = fts5yylhsminor.fts5yy14; break; - case 20: /* neardist_opt ::= */ + case 22: /* neardist_opt ::= */ { fts5yymsp[1].minor.fts5yy0.p = 0; fts5yymsp[1].minor.fts5yy0.n = 0; } break; - case 21: /* neardist_opt ::= COMMA STRING */ + case 23: /* neardist_opt ::= COMMA STRING */ { fts5yymsp[-1].minor.fts5yy0 = fts5yymsp[0].minor.fts5yy0; } break; - case 22: /* phrase ::= phrase PLUS STRING star_opt */ + case 24: /* phrase ::= phrase PLUS STRING star_opt */ { - fts5yylhsminor.fts5yy53 = sqlite3Fts5ParseTerm(pParse, fts5yymsp[-3].minor.fts5yy53, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy4); + fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseTerm(pParse, fts5yymsp[-3].minor.fts5yy11, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy4); } - fts5yymsp[-3].minor.fts5yy53 = fts5yylhsminor.fts5yy53; + fts5yymsp[-3].minor.fts5yy11 = fts5yylhsminor.fts5yy11; break; - case 23: /* phrase ::= STRING star_opt */ + case 25: /* phrase ::= STRING star_opt */ { - fts5yylhsminor.fts5yy53 = sqlite3Fts5ParseTerm(pParse, 0, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy4); + fts5yylhsminor.fts5yy11 = sqlite3Fts5ParseTerm(pParse, 0, &fts5yymsp[-1].minor.fts5yy0, fts5yymsp[0].minor.fts5yy4); } - fts5yymsp[-1].minor.fts5yy53 = fts5yylhsminor.fts5yy53; + fts5yymsp[-1].minor.fts5yy11 = fts5yylhsminor.fts5yy11; break; - case 24: /* star_opt ::= STAR */ + case 26: /* star_opt ::= STAR */ { fts5yymsp[0].minor.fts5yy4 = 1; } break; - case 25: /* star_opt ::= */ + case 27: /* star_opt ::= */ { fts5yymsp[1].minor.fts5yy4 = 0; } break; default: @@ -181016,21 +188479,20 @@ static void fts5yy_reduce( assert( fts5yyrulenofts5YY_MAX_SHIFT ){ - fts5yyact += fts5YY_MIN_REDUCE - fts5YY_MIN_SHIFTREDUCE; - } - fts5yymsp -= fts5yysize-1; - fts5yypParser->fts5yytos = fts5yymsp; - fts5yymsp->stateno = (fts5YYACTIONTYPE)fts5yyact; - fts5yymsp->major = (fts5YYCODETYPE)fts5yygoto; - fts5yyTraceShift(fts5yypParser, fts5yyact); - }else{ - assert( fts5yyact == fts5YY_ACCEPT_ACTION ); - fts5yypParser->fts5yytos -= fts5yysize; - fts5yy_accept(fts5yypParser); - } + fts5yyact = fts5yy_find_reduce_action(fts5yymsp[fts5yysize].stateno,(fts5YYCODETYPE)fts5yygoto); + + /* There are no SHIFTREDUCE actions on nonterminals because the table + ** generator has simplified them to pure REDUCE actions. */ + assert( !(fts5yyact>fts5YY_MAX_SHIFT && fts5yyact<=fts5YY_MAX_SHIFTREDUCE) ); + + /* It is not possible for a REDUCE to be followed by an error */ + assert( fts5yyact!=fts5YY_ERROR_ACTION ); + + fts5yymsp += fts5yysize+1; + fts5yypParser->fts5yytos = fts5yymsp; + fts5yymsp->stateno = (fts5YYACTIONTYPE)fts5yyact; + fts5yymsp->major = (fts5YYCODETYPE)fts5yygoto; + fts5yyTraceShift(fts5yypParser, fts5yyact, "... then shift"); } /* @@ -181142,20 +188604,31 @@ static void sqlite3Fts5Parser( #ifndef NDEBUG if( fts5yyTraceFILE ){ - fprintf(fts5yyTraceFILE,"%sInput '%s'\n",fts5yyTracePrompt,fts5yyTokenName[fts5yymajor]); + int stateno = fts5yypParser->fts5yytos->stateno; + if( stateno < fts5YY_MIN_REDUCE ){ + fprintf(fts5yyTraceFILE,"%sInput '%s' in state %d\n", + fts5yyTracePrompt,fts5yyTokenName[fts5yymajor],stateno); + }else{ + fprintf(fts5yyTraceFILE,"%sInput '%s' with pending reduce %d\n", + fts5yyTracePrompt,fts5yyTokenName[fts5yymajor],stateno-fts5YY_MIN_REDUCE); + } } #endif do{ fts5yyact = fts5yy_find_shift_action(fts5yypParser,(fts5YYCODETYPE)fts5yymajor); - if( fts5yyact <= fts5YY_MAX_SHIFTREDUCE ){ + if( fts5yyact >= fts5YY_MIN_REDUCE ){ + fts5yy_reduce(fts5yypParser,fts5yyact-fts5YY_MIN_REDUCE,fts5yymajor,fts5yyminor); + }else if( fts5yyact <= fts5YY_MAX_SHIFTREDUCE ){ fts5yy_shift(fts5yypParser,fts5yyact,fts5yymajor,fts5yyminor); #ifndef fts5YYNOERRORRECOVERY fts5yypParser->fts5yyerrcnt--; #endif fts5yymajor = fts5YYNOCODE; - }else if( fts5yyact <= fts5YY_MAX_REDUCE ){ - fts5yy_reduce(fts5yypParser,fts5yyact-fts5YY_MIN_REDUCE); + }else if( fts5yyact==fts5YY_ACCEPT_ACTION ){ + fts5yypParser->fts5yytos--; + fts5yy_accept(fts5yypParser); + return; }else{ assert( fts5yyact == fts5YY_ERROR_ACTION ); fts5yyminorunion.fts5yy0 = fts5yyminor; @@ -181634,6 +189107,16 @@ static int fts5SnippetScore( return rc; } +/* +** Return the value in pVal interpreted as utf-8 text. Except, if pVal +** contains a NULL value, return a pointer to a static string zero +** bytes in length instead of a NULL pointer. +*/ +static const char *fts5ValueToText(sqlite3_value *pVal){ + const char *zRet = (const char*)sqlite3_value_text(pVal); + return zRet ? zRet : ""; +} + /* ** Implementation of snippet() function. */ @@ -181669,9 +189152,9 @@ static void fts5SnippetFunction( nCol = pApi->xColumnCount(pFts); memset(&ctx, 0, sizeof(HighlightContext)); iCol = sqlite3_value_int(apVal[0]); - ctx.zOpen = (const char*)sqlite3_value_text(apVal[1]); - ctx.zClose = (const char*)sqlite3_value_text(apVal[2]); - zEllips = (const char*)sqlite3_value_text(apVal[3]); + ctx.zOpen = fts5ValueToText(apVal[1]); + ctx.zClose = fts5ValueToText(apVal[2]); + zEllips = fts5ValueToText(apVal[3]); nToken = sqlite3_value_int(apVal[4]); iBestCol = (iCol>=0 ? iCol : 0); @@ -182048,9 +189531,11 @@ static void sqlite3Fts5BufferAppendBlob( const u8 *pData ){ assert_nc( *pRc || nData>=0 ); - if( fts5BufferGrow(pRc, pBuf, nData) ) return; - memcpy(&pBuf->p[pBuf->n], pData, nData); - pBuf->n += nData; + if( nData ){ + if( fts5BufferGrow(pRc, pBuf, nData) ) return; + memcpy(&pBuf->p[pBuf->n], pData, nData); + pBuf->n += nData; + } } /* @@ -182227,8 +189712,8 @@ static void *sqlite3Fts5MallocZero(int *pRc, int nByte){ void *pRet = 0; if( *pRc==SQLITE_OK ){ pRet = sqlite3_malloc(nByte); - if( pRet==0 && nByte>0 ){ - *pRc = SQLITE_NOMEM; + if( pRet==0 ){ + if( nByte>0 ) *pRc = SQLITE_NOMEM; }else{ memset(pRet, 0, nByte); } @@ -183423,7 +190908,8 @@ struct Fts5ExprNode { ** or term prefix. */ struct Fts5ExprTerm { - int bPrefix; /* True for a prefix term */ + u8 bPrefix; /* True for a prefix term */ + u8 bFirst; /* True if token must be first in column */ char *zTerm; /* nul-terminated term */ Fts5IndexIter *pIter; /* Iterator for this term */ Fts5ExprTerm *pSynonym; /* Pointer to first in list of synonyms */ @@ -183504,6 +190990,7 @@ static int fts5ExprGetToken( case '+': tok = FTS5_PLUS; break; case '*': tok = FTS5_STAR; break; case '-': tok = FTS5_MINUS; break; + case '^': tok = FTS5_CARET; break; case '\0': tok = FTS5_EOF; break; case '"': { @@ -183549,6 +191036,7 @@ static void fts5ParseFree(void *p){ sqlite3_free(p); } static int sqlite3Fts5ExprNew( Fts5Config *pConfig, /* FTS5 Configuration */ + int iCol, const char *zExpr, /* Expression text */ Fts5Expr **ppNew, char **pzErr @@ -183573,6 +191061,18 @@ static int sqlite3Fts5ExprNew( }while( sParse.rc==SQLITE_OK && t!=FTS5_EOF ); sqlite3Fts5ParserFree(pEngine, fts5ParseFree); + /* If the LHS of the MATCH expression was a user column, apply the + ** implicit column-filter. */ + if( iColnCol && sParse.pExpr && sParse.rc==SQLITE_OK ){ + int n = sizeof(Fts5Colset); + Fts5Colset *pColset = (Fts5Colset*)sqlite3Fts5MallocZero(&sParse.rc, n); + if( pColset ){ + pColset->nCol = 1; + pColset->aiCol[0] = iCol; + sqlite3Fts5ParseSetColset(&sParse, sParse.pExpr, pColset); + } + } + assert( sParse.rc!=SQLITE_OK || sParse.zErr==0 ); if( sParse.rc==SQLITE_OK ){ *ppNew = pNew = sqlite3_malloc(sizeof(Fts5Expr)); @@ -183750,6 +191250,7 @@ static int fts5ExprPhraseIsMatch( Fts5PoslistReader *aIter = aStatic; int i; int rc = SQLITE_OK; + int bFirst = pPhrase->aTerm[0].bFirst; fts5BufferZero(&pPhrase->poslist); @@ -183804,8 +191305,10 @@ static int fts5ExprPhraseIsMatch( }while( bMatch==0 ); /* Append position iPos to the output */ - rc = sqlite3Fts5PoslistWriterAppend(&pPhrase->poslist, &writer, iPos); - if( rc!=SQLITE_OK ) goto ismatch_out; + if( bFirst==0 || FTS5_POS2OFFSET(iPos)==0 ){ + rc = sqlite3Fts5PoslistWriterAppend(&pPhrase->poslist, &writer, iPos); + if( rc!=SQLITE_OK ) goto ismatch_out; + } for(i=0; inTerm; i++){ if( sqlite3Fts5PoslistReaderNext(&aIter[i]) ) goto ismatch_out; @@ -184059,7 +191562,9 @@ static int fts5ExprNearTest( ** phrase is not a match, break out of the loop early. */ for(i=0; rc==SQLITE_OK && inPhrase; i++){ Fts5ExprPhrase *pPhrase = pNear->apPhrase[i]; - if( pPhrase->nTerm>1 || pPhrase->aTerm[0].pSynonym || pNear->pColset ){ + if( pPhrase->nTerm>1 || pPhrase->aTerm[0].pSynonym + || pNear->pColset || pPhrase->aTerm[0].bFirst + ){ int bMatch = 0; rc = fts5ExprPhraseIsMatch(pNode, pPhrase, &bMatch); if( bMatch==0 ) break; @@ -184082,48 +191587,61 @@ static int fts5ExprNearTest( ** Initialize all term iterators in the pNear object. If any term is found ** to match no documents at all, return immediately without initializing any ** further iterators. +** +** If an error occurs, return an SQLite error code. Otherwise, return +** SQLITE_OK. It is not considered an error if some term matches zero +** documents. */ static int fts5ExprNearInitAll( Fts5Expr *pExpr, Fts5ExprNode *pNode ){ Fts5ExprNearset *pNear = pNode->pNear; - int i, j; - int rc = SQLITE_OK; - int bEof = 1; + int i; assert( pNode->bNomatch==0 ); - for(i=0; rc==SQLITE_OK && inPhrase; i++){ + for(i=0; inPhrase; i++){ Fts5ExprPhrase *pPhrase = pNear->apPhrase[i]; - for(j=0; jnTerm; j++){ - Fts5ExprTerm *pTerm = &pPhrase->aTerm[j]; - Fts5ExprTerm *p; + if( pPhrase->nTerm==0 ){ + pNode->bEof = 1; + return SQLITE_OK; + }else{ + int j; + for(j=0; jnTerm; j++){ + Fts5ExprTerm *pTerm = &pPhrase->aTerm[j]; + Fts5ExprTerm *p; + int bHit = 0; + + for(p=pTerm; p; p=p->pSynonym){ + int rc; + if( p->pIter ){ + sqlite3Fts5IterClose(p->pIter); + p->pIter = 0; + } + rc = sqlite3Fts5IndexQuery( + pExpr->pIndex, p->zTerm, (int)strlen(p->zTerm), + (pTerm->bPrefix ? FTS5INDEX_QUERY_PREFIX : 0) | + (pExpr->bDesc ? FTS5INDEX_QUERY_DESC : 0), + pNear->pColset, + &p->pIter + ); + assert( (rc==SQLITE_OK)==(p->pIter!=0) ); + if( rc!=SQLITE_OK ) return rc; + if( 0==sqlite3Fts5IterEof(p->pIter) ){ + bHit = 1; + } + } - for(p=pTerm; p && rc==SQLITE_OK; p=p->pSynonym){ - if( p->pIter ){ - sqlite3Fts5IterClose(p->pIter); - p->pIter = 0; - } - rc = sqlite3Fts5IndexQuery( - pExpr->pIndex, p->zTerm, (int)strlen(p->zTerm), - (pTerm->bPrefix ? FTS5INDEX_QUERY_PREFIX : 0) | - (pExpr->bDesc ? FTS5INDEX_QUERY_DESC : 0), - pNear->pColset, - &p->pIter - ); - assert( rc==SQLITE_OK || p->pIter==0 ); - if( p->pIter && 0==sqlite3Fts5IterEof(p->pIter) ){ - bEof = 0; + if( bHit==0 ){ + pNode->bEof = 1; + return SQLITE_OK; } } - - if( bEof ) break; } - if( bEof ) break; } - pNode->bEof = bEof; - return rc; + pNode->bEof = 0; + return SQLITE_OK; } /* @@ -184227,6 +191745,7 @@ static int fts5ExprNodeTest_STRING( assert( pNear->nPhrase>1 || pNear->apPhrase[0]->nTerm>1 || pNear->apPhrase[0]->aTerm[0].pSynonym + || pNear->apPhrase[0]->aTerm[0].bFirst ); /* Initialize iLast, the "lastest" rowid any iterator points to. If the @@ -184433,7 +191952,10 @@ static int fts5ExprNodeNext_OR( || (bFromValid && fts5RowidCmp(pExpr, p1->iRowid, iFrom)<0) ){ int rc = fts5ExprNodeNext(pExpr, p1, bFromValid, iFrom); - if( rc!=SQLITE_OK ) return rc; + if( rc!=SQLITE_OK ){ + pNode->bNomatch = 0; + return rc; + } } } } @@ -184464,7 +191986,10 @@ static int fts5ExprNodeTest_AND( if( cmp>0 ){ /* Advance pChild until it points to iLast or laster */ rc = fts5ExprNodeNext(pExpr, pChild, 1, iLast); - if( rc!=SQLITE_OK ) return rc; + if( rc!=SQLITE_OK ){ + pAnd->bNomatch = 0; + return rc; + } } /* If the child node is now at EOF, so is the parent AND node. Otherwise, @@ -184503,6 +192028,8 @@ static int fts5ExprNodeNext_AND( int rc = fts5ExprNodeNext(pExpr, pNode->apChild[0], bFromValid, iFrom); if( rc==SQLITE_OK ){ rc = fts5ExprNodeTest_AND(pExpr, pNode); + }else{ + pNode->bNomatch = 0; } return rc; } @@ -184545,6 +192072,9 @@ static int fts5ExprNodeNext_NOT( if( rc==SQLITE_OK ){ rc = fts5ExprNodeTest_NOT(pExpr, pNode); } + if( rc!=SQLITE_OK ){ + pNode->bNomatch = 0; + } return rc; } @@ -184667,7 +192197,10 @@ static int sqlite3Fts5ExprFirst(Fts5Expr *p, Fts5Index *pIdx, i64 iFirst, int bD /* If not at EOF but the current rowid occurs earlier than iFirst in ** the iteration order, move to document iFirst or later. */ - if( pRoot->bEof==0 && fts5RowidCmp(p, pRoot->iRowid, iFirst)<0 ){ + if( rc==SQLITE_OK + && 0==pRoot->bEof + && fts5RowidCmp(p, pRoot->iRowid, iFirst)<0 + ){ rc = fts5ExprNodeNext(p, pRoot, 1, iFirst); } @@ -184737,6 +192270,16 @@ static void fts5ExprPhraseFree(Fts5ExprPhrase *pPhrase){ } } +/* +** Set the "bFirst" flag on the first token of the phrase passed as the +** only argument. +*/ +static void sqlite3Fts5ParseSetCaret(Fts5ExprPhrase *pPhrase){ + if( pPhrase && pPhrase->nTerm ){ + pPhrase->aTerm[0].bFirst = 1; + } +} + /* ** If argument pNear is NULL, then a new Fts5ExprNearset object is allocated ** and populated with pPhrase. Or, if pNear is not NULL, phrase pPhrase is @@ -184921,7 +192464,7 @@ static Fts5ExprPhrase *sqlite3Fts5ParseTerm( rc = fts5ParseStringFromToken(pToken, &z); if( rc==SQLITE_OK ){ - int flags = FTS5_TOKENIZE_QUERY | (bPrefix ? FTS5_TOKENIZE_QUERY : 0); + int flags = FTS5_TOKENIZE_QUERY | (bPrefix ? FTS5_TOKENIZE_PREFIX : 0); int n; sqlite3Fts5Dequote(z); n = (int)strlen(z); @@ -185015,6 +192558,7 @@ static int sqlite3Fts5ExprClonePhrase( } if( rc==SQLITE_OK ){ sCtx.pPhrase->aTerm[i].bPrefix = pOrig->aTerm[i].bPrefix; + sCtx.pPhrase->aTerm[i].bFirst = pOrig->aTerm[i].bFirst; } } }else{ @@ -185033,7 +192577,10 @@ static int sqlite3Fts5ExprClonePhrase( pNew->pRoot->pNear->nPhrase = 1; sCtx.pPhrase->pNode = pNew->pRoot; - if( pOrig->nTerm==1 && pOrig->aTerm[0].pSynonym==0 ){ + if( pOrig->nTerm==1 + && pOrig->aTerm[0].pSynonym==0 + && pOrig->aTerm[0].bFirst==0 + ){ pNew->pRoot->eType = FTS5_TERM; pNew->pRoot->xNext = fts5ExprNodeNext_TERM; }else{ @@ -185195,25 +192742,110 @@ static Fts5Colset *sqlite3Fts5ParseColset( return pRet; } +/* +** If argument pOrig is NULL, or if (*pRc) is set to anything other than +** SQLITE_OK when this function is called, NULL is returned. +** +** Otherwise, a copy of (*pOrig) is made into memory obtained from +** sqlite3Fts5MallocZero() and a pointer to it returned. If the allocation +** fails, (*pRc) is set to SQLITE_NOMEM and NULL is returned. +*/ +static Fts5Colset *fts5CloneColset(int *pRc, Fts5Colset *pOrig){ + Fts5Colset *pRet; + if( pOrig ){ + int nByte = sizeof(Fts5Colset) + (pOrig->nCol-1) * sizeof(int); + pRet = (Fts5Colset*)sqlite3Fts5MallocZero(pRc, nByte); + if( pRet ){ + memcpy(pRet, pOrig, nByte); + } + }else{ + pRet = 0; + } + return pRet; +} + +/* +** Remove from colset pColset any columns that are not also in colset pMerge. +*/ +static void fts5MergeColset(Fts5Colset *pColset, Fts5Colset *pMerge){ + int iIn = 0; /* Next input in pColset */ + int iMerge = 0; /* Next input in pMerge */ + int iOut = 0; /* Next output slot in pColset */ + + while( iInnCol && iMergenCol ){ + int iDiff = pColset->aiCol[iIn] - pMerge->aiCol[iMerge]; + if( iDiff==0 ){ + pColset->aiCol[iOut++] = pMerge->aiCol[iMerge]; + iMerge++; + iIn++; + }else if( iDiff>0 ){ + iMerge++; + }else{ + iIn++; + } + } + pColset->nCol = iOut; +} + +/* +** Recursively apply colset pColset to expression node pNode and all of +** its decendents. If (*ppFree) is not NULL, it contains a spare copy +** of pColset. This function may use the spare copy and set (*ppFree) to +** zero, or it may create copies of pColset using fts5CloneColset(). +*/ +static void fts5ParseSetColset( + Fts5Parse *pParse, + Fts5ExprNode *pNode, + Fts5Colset *pColset, + Fts5Colset **ppFree +){ + if( pParse->rc==SQLITE_OK ){ + assert( pNode->eType==FTS5_TERM || pNode->eType==FTS5_STRING + || pNode->eType==FTS5_AND || pNode->eType==FTS5_OR + || pNode->eType==FTS5_NOT || pNode->eType==FTS5_EOF + ); + if( pNode->eType==FTS5_STRING || pNode->eType==FTS5_TERM ){ + Fts5ExprNearset *pNear = pNode->pNear; + if( pNear->pColset ){ + fts5MergeColset(pNear->pColset, pColset); + if( pNear->pColset->nCol==0 ){ + pNode->eType = FTS5_EOF; + pNode->xNext = 0; + } + }else if( *ppFree ){ + pNear->pColset = pColset; + *ppFree = 0; + }else{ + pNear->pColset = fts5CloneColset(&pParse->rc, pColset); + } + }else{ + int i; + assert( pNode->eType!=FTS5_EOF || pNode->nChild==0 ); + for(i=0; inChild; i++){ + fts5ParseSetColset(pParse, pNode->apChild[i], pColset, ppFree); + } + } + } +} + +/* +** Apply colset pColset to expression node pExpr and all of its descendents. +*/ static void sqlite3Fts5ParseSetColset( Fts5Parse *pParse, - Fts5ExprNearset *pNear, + Fts5ExprNode *pExpr, Fts5Colset *pColset ){ + Fts5Colset *pFree = pColset; if( pParse->pConfig->eDetail==FTS5_DETAIL_NONE ){ pParse->rc = SQLITE_ERROR; pParse->zErr = sqlite3_mprintf( "fts5: column queries are not supported (detail=none)" ); - sqlite3_free(pColset); - return; - } - - if( pNear ){ - pNear->pColset = pColset; }else{ - sqlite3_free(pColset); + fts5ParseSetColset(pParse, pExpr, pColset, &pFree); } + sqlite3_free(pFree); } static void fts5ExprAssignXNext(Fts5ExprNode *pNode){ @@ -185222,6 +192854,7 @@ static void fts5ExprAssignXNext(Fts5ExprNode *pNode){ Fts5ExprNearset *pNear = pNode->pNear; if( pNear->nPhrase==1 && pNear->apPhrase[0]->nTerm==1 && pNear->apPhrase[0]->aTerm[0].pSynonym==0 + && pNear->apPhrase[0]->aTerm[0].bFirst==0 ){ pNode->eType = FTS5_TERM; pNode->xNext = fts5ExprNodeNext_TERM; @@ -185308,20 +192941,23 @@ static Fts5ExprNode *sqlite3Fts5ParseNode( } } - if( pParse->pConfig->eDetail!=FTS5_DETAIL_FULL - && (pNear->nPhrase!=1 || pNear->apPhrase[0]->nTerm>1) - ){ - assert( pParse->rc==SQLITE_OK ); - pParse->rc = SQLITE_ERROR; - assert( pParse->zErr==0 ); - pParse->zErr = sqlite3_mprintf( - "fts5: %s queries are not supported (detail!=full)", - pNear->nPhrase==1 ? "phrase": "NEAR" - ); - sqlite3_free(pRet); - pRet = 0; + if( pParse->pConfig->eDetail!=FTS5_DETAIL_FULL ){ + Fts5ExprPhrase *pPhrase = pNear->apPhrase[0]; + if( pNear->nPhrase!=1 + || pPhrase->nTerm>1 + || (pPhrase->nTerm>0 && pPhrase->aTerm[0].bFirst) + ){ + assert( pParse->rc==SQLITE_OK ); + pParse->rc = SQLITE_ERROR; + assert( pParse->zErr==0 ); + pParse->zErr = sqlite3_mprintf( + "fts5: %s queries are not supported (detail!=full)", + pNear->nPhrase==1 ? "phrase": "NEAR" + ); + sqlite3_free(pRet); + pRet = 0; + } } - }else{ fts5ExprAddChildren(pRet, pLeft); fts5ExprAddChildren(pRet, pRight); @@ -185667,7 +193303,7 @@ static void fts5ExprFunction( rc = sqlite3Fts5ConfigParse(pGlobal, db, nConfig, azConfig, &pConfig, &zErr); if( rc==SQLITE_OK ){ - rc = sqlite3Fts5ExprNew(pConfig, zExpr, &pExpr, &zErr); + rc = sqlite3Fts5ExprNew(pConfig, pConfig->nCol, zExpr, &pExpr, &zErr); } if( rc==SQLITE_OK ){ char *zText; @@ -186064,9 +193700,10 @@ struct Fts5Hash { /* ** Each entry in the hash table is represented by an object of the -** following type. Each object, its key (zKey[]) and its current data -** are stored in a single memory allocation. The position list data -** immediately follows the key data in memory. +** following type. Each object, its key (a nul-terminated string) and +** its current data are stored in a single memory allocation. The +** key immediately follows the object in memory. The position list +** data immediately follows the key data in memory. ** ** The data that follows the key is in a similar, but not identical format ** to the doclist data stored in the database. It is: @@ -186090,20 +193727,20 @@ struct Fts5HashEntry { int nAlloc; /* Total size of allocation */ int iSzPoslist; /* Offset of space for 4-byte poslist size */ int nData; /* Total bytes of data (incl. structure) */ - int nKey; /* Length of zKey[] in bytes */ + int nKey; /* Length of key in bytes */ u8 bDel; /* Set delete-flag @ iSzPoslist */ u8 bContent; /* Set content-flag (detail=none mode) */ i16 iCol; /* Column of last value written */ int iPos; /* Position of last value written */ i64 iRowid; /* Rowid of last value written */ - char zKey[8]; /* Nul-terminated entry key */ }; /* -** Size of Fts5HashEntry without the zKey[] array. +** Eqivalent to: +** +** char *fts5EntryKey(Fts5HashEntry *pEntry){ return zKey; } */ -#define FTS5_HASHENTRYSIZE (sizeof(Fts5HashEntry)-8) - +#define fts5EntryKey(p) ( ((char *)(&(p)[1])) ) /* @@ -186198,10 +193835,11 @@ static int fts5HashResize(Fts5Hash *pHash){ for(i=0; inSlot; i++){ while( apOld[i] ){ - int iHash; + unsigned int iHash; Fts5HashEntry *p = apOld[i]; apOld[i] = p->pHashNext; - iHash = fts5HashKey(nNew, (u8*)p->zKey, (int)strlen(p->zKey)); + iHash = fts5HashKey(nNew, (u8*)fts5EntryKey(p), + (int)strlen(fts5EntryKey(p))); p->pHashNext = apNew[iHash]; apNew[iHash] = p; } @@ -186272,9 +193910,10 @@ static int sqlite3Fts5HashWrite( /* Attempt to locate an existing hash entry */ iHash = fts5HashKey2(pHash->nSlot, (u8)bByte, (const u8*)pToken, nToken); for(p=pHash->aSlot[iHash]; p; p=p->pHashNext){ - if( p->zKey[0]==bByte + char *zKey = fts5EntryKey(p); + if( zKey[0]==bByte && p->nKey==nToken - && memcmp(&p->zKey[1], pToken, nToken)==0 + && memcmp(&zKey[1], pToken, nToken)==0 ){ break; } @@ -186283,7 +193922,8 @@ static int sqlite3Fts5HashWrite( /* If an existing hash entry cannot be found, create a new one. */ if( p==0 ){ /* Figure out how much space to allocate */ - int nByte = FTS5_HASHENTRYSIZE + (nToken+1) + 1 + 64; + char *zKey; + int nByte = sizeof(Fts5HashEntry) + (nToken+1) + 1 + 64; if( nByte<128 ) nByte = 128; /* Grow the Fts5Hash.aSlot[] array if necessary. */ @@ -186296,14 +193936,15 @@ static int sqlite3Fts5HashWrite( /* Allocate new Fts5HashEntry and add it to the hash table. */ p = (Fts5HashEntry*)sqlite3_malloc(nByte); if( !p ) return SQLITE_NOMEM; - memset(p, 0, FTS5_HASHENTRYSIZE); + memset(p, 0, sizeof(Fts5HashEntry)); p->nAlloc = nByte; - p->zKey[0] = bByte; - memcpy(&p->zKey[1], pToken, nToken); - assert( iHash==fts5HashKey(pHash->nSlot, (u8*)p->zKey, nToken+1) ); + zKey = fts5EntryKey(p); + zKey[0] = bByte; + memcpy(&zKey[1], pToken, nToken); + assert( iHash==fts5HashKey(pHash->nSlot, (u8*)zKey, nToken+1) ); p->nKey = nToken; - p->zKey[nToken+1] = '\0'; - p->nData = nToken+1 + 1 + FTS5_HASHENTRYSIZE; + zKey[nToken+1] = '\0'; + p->nData = nToken+1 + 1 + sizeof(Fts5HashEntry); p->pHashNext = pHash->aSlot[iHash]; pHash->aSlot[iHash] = p; pHash->nEntry++; @@ -186421,9 +194062,11 @@ static Fts5HashEntry *fts5HashEntryMerge( p1 = 0; }else{ int i = 0; - while( p1->zKey[i]==p2->zKey[i] ) i++; + char *zKey1 = fts5EntryKey(p1); + char *zKey2 = fts5EntryKey(p2); + while( zKey1[i]==zKey2[i] ) i++; - if( ((u8)p1->zKey[i])>((u8)p2->zKey[i]) ){ + if( ((u8)zKey1[i])>((u8)zKey2[i]) ){ /* p2 is smaller */ *ppOut = p2; ppOut = &p2->pScanNext; @@ -186466,7 +194109,7 @@ static int fts5HashEntrySort( for(iSlot=0; iSlotnSlot; iSlot++){ Fts5HashEntry *pIter; for(pIter=pHash->aSlot[iSlot]; pIter; pIter=pIter->pHashNext){ - if( pTerm==0 || 0==memcmp(pIter->zKey, pTerm, nTerm) ){ + if( pTerm==0 || 0==memcmp(fts5EntryKey(pIter), pTerm, nTerm) ){ Fts5HashEntry *pEntry = pIter; pEntry->pScanNext = 0; for(i=0; ap[i]; i++){ @@ -186499,16 +194142,18 @@ static int sqlite3Fts5HashQuery( int *pnDoclist /* OUT: Size of doclist in bytes */ ){ unsigned int iHash = fts5HashKey(pHash->nSlot, (const u8*)pTerm, nTerm); + char *zKey = 0; Fts5HashEntry *p; for(p=pHash->aSlot[iHash]; p; p=p->pHashNext){ - if( memcmp(p->zKey, pTerm, nTerm)==0 && p->zKey[nTerm]==0 ) break; + zKey = fts5EntryKey(p); + if( memcmp(zKey, pTerm, nTerm)==0 && zKey[nTerm]==0 ) break; } if( p ){ fts5HashAddPoslistSize(pHash, p); - *ppDoclist = (const u8*)&p->zKey[nTerm+1]; - *pnDoclist = p->nData - (FTS5_HASHENTRYSIZE + nTerm + 1); + *ppDoclist = (const u8*)&zKey[nTerm+1]; + *pnDoclist = p->nData - (sizeof(Fts5HashEntry) + nTerm + 1); }else{ *ppDoclist = 0; *pnDoclist = 0; @@ -186541,11 +194186,12 @@ static void sqlite3Fts5HashScanEntry( ){ Fts5HashEntry *p; if( (p = pHash->pScan) ){ - int nTerm = (int)strlen(p->zKey); + char *zKey = fts5EntryKey(p); + int nTerm = (int)strlen(zKey); fts5HashAddPoslistSize(pHash, p); - *pzTerm = p->zKey; - *ppDoclist = (const u8*)&p->zKey[nTerm+1]; - *pnDoclist = p->nData - (FTS5_HASHENTRYSIZE + nTerm + 1); + *pzTerm = zKey; + *ppDoclist = (const u8*)&zKey[nTerm+1]; + *pnDoclist = p->nData - (sizeof(Fts5HashEntry) + nTerm + 1); }else{ *pzTerm = 0; *ppDoclist = 0; @@ -187184,7 +194830,6 @@ static void fts5CloseReader(Fts5Index *p){ } } - /* ** Retrieve a record from the %_data table. ** @@ -187285,7 +194930,8 @@ static int fts5IndexPrepareStmt( ){ if( p->rc==SQLITE_OK ){ if( zSql ){ - p->rc = sqlite3_prepare_v2(p->pConfig->db, zSql, -1, ppStmt, 0); + p->rc = sqlite3_prepare_v3(p->pConfig->db, zSql, -1, + SQLITE_PREPARE_PERSISTENT, ppStmt, 0); }else{ p->rc = SQLITE_NOMEM; } @@ -187334,7 +194980,8 @@ static void fts5DataDelete(Fts5Index *p, i64 iFirst, i64 iLast){ if( zSql==0 ){ rc = SQLITE_NOMEM; }else{ - rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &p->pDeleter, 0); + rc = sqlite3_prepare_v3(pConfig->db, zSql, -1, + SQLITE_PREPARE_PERSISTENT, &p->pDeleter, 0); sqlite3_free(zSql); } if( rc!=SQLITE_OK ){ @@ -188595,7 +196242,7 @@ static void fts5SegIterNext( else if( pLeaf->nn>pLeaf->szLeaf ){ pIter->iPgidxOff = pLeaf->szLeaf + fts5GetVarint32( &pLeaf->p[pLeaf->szLeaf], iOff - ); + ); pIter->iLeafOffset = iOff; pIter->iEndofDoclist = iOff; bNewTerm = 1; @@ -188629,6 +196276,7 @@ static void fts5SegIterNext( */ int nSz; assert( p->rc==SQLITE_OK ); + assert( pIter->iLeafOffset<=pIter->pLeaf->nn ); fts5FastGetVarint32(pIter->pLeaf->p, pIter->iLeafOffset, nSz); pIter->bDel = (nSz & 0x0001); pIter->nPos = nSz>>1; @@ -189434,7 +197082,8 @@ static void fts5MultiIterNext2( ){ assert( pIter->bSkipEmpty ); if( p->rc==SQLITE_OK ){ - do { + *pbNewTerm = 0; + do{ int iFirst = pIter->aFirst[1].iFirst; Fts5SegIter *pSeg = &pIter->aSeg[iFirst]; int bNewTerm = 0; @@ -189447,8 +197096,6 @@ static void fts5MultiIterNext2( fts5MultiIterAdvanced(p, pIter, iFirst, 1); fts5MultiIterSetEof(pIter); *pbNewTerm = 1; - }else{ - *pbNewTerm = 0; } fts5AssertMultiIterSetup(p, pIter); @@ -189623,7 +197270,7 @@ static void fts5ChunkIterate( break; }else{ pgno++; - pData = fts5DataRead(p, FTS5_SEGMENT_ROWID(pSeg->pSeg->iSegid, pgno)); + pData = fts5LeafRead(p, FTS5_SEGMENT_ROWID(pSeg->pSeg->iSegid, pgno)); if( pData==0 ) break; pChunk = &pData->p[4]; nChunk = MIN(nRem, pData->szLeaf - 4); @@ -189714,23 +197361,23 @@ static int fts5IndexExtractCol( return p - (*pa); } -static int fts5IndexExtractColset ( +static void fts5IndexExtractColset( + int *pRc, Fts5Colset *pColset, /* Colset to filter on */ const u8 *pPos, int nPos, /* Position list */ Fts5Buffer *pBuf /* Output buffer */ ){ - int rc = SQLITE_OK; - int i; - - fts5BufferZero(pBuf); - for(i=0; inCol; i++){ - const u8 *pSub = pPos; - int nSub = fts5IndexExtractCol(&pSub, nPos, pColset->aiCol[i]); - if( nSub ){ - fts5BufferAppendBlob(&rc, pBuf, nSub, pSub); + if( *pRc==SQLITE_OK ){ + int i; + fts5BufferZero(pBuf); + for(i=0; inCol; i++){ + const u8 *pSub = pPos; + int nSub = fts5IndexExtractCol(&pSub, nPos, pColset->aiCol[i]); + if( nSub ){ + fts5BufferAppendBlob(pRc, pBuf, nSub, pSub); + } } } - return rc; } /* @@ -189854,8 +197501,9 @@ static void fts5IterSetOutputs_Full(Fts5Iter *pIter, Fts5SegIter *pSeg){ pIter->base.nData = fts5IndexExtractCol(&a, pSeg->nPos,pColset->aiCol[0]); pIter->base.pData = a; }else{ + int *pRc = &pIter->pIndex->rc; fts5BufferZero(&pIter->poslist); - fts5IndexExtractColset(pColset, a, pSeg->nPos, &pIter->poslist); + fts5IndexExtractColset(pRc, pColset, a, pSeg->nPos, &pIter->poslist); pIter->base.pData = pIter->poslist.p; pIter->base.nData = pIter->poslist.n; } @@ -190400,9 +198048,6 @@ static void fts5WriteFlushLeaf(Fts5Index *p, Fts5SegWriter *pWriter){ Fts5PageWriter *pPage = &pWriter->writer; i64 iRowid; -static int nCall = 0; -nCall++; - assert( (pPage->pgidx.n==0)==(pWriter->bFirstTermInPage) ); /* Set the szLeaf header field. */ @@ -190751,6 +198396,7 @@ static void fts5IndexMergeLevel( int bOldest; /* True if the output segment is the oldest */ int eDetail = p->pConfig->eDetail; const int flags = FTS5INDEX_QUERY_NOOUTPUT; + int bTermWritten = 0; /* True if current term already output */ assert( iLvlnLevel ); assert( pLvl->nMerge<=pLvl->nSeg ); @@ -190804,18 +198450,22 @@ static void fts5IndexMergeLevel( int nTerm; const u8 *pTerm; - /* Check for key annihilation. */ - if( pSegIter->nPos==0 && (bOldest || pSegIter->bDel==0) ) continue; - pTerm = fts5MultiIterTerm(pIter, &nTerm); if( nTerm!=term.n || memcmp(pTerm, term.p, nTerm) ){ if( pnRem && writer.nLeafWritten>nRem ){ break; } + fts5BufferSet(&p->rc, &term, nTerm, pTerm); + bTermWritten =0; + } + /* Check for key annihilation. */ + if( pSegIter->nPos==0 && (bOldest || pSegIter->bDel==0) ) continue; + + if( p->rc==SQLITE_OK && bTermWritten==0 ){ /* This is a new term. Append a term to the output segment. */ fts5WriteAppendTerm(p, &writer, nTerm, pTerm); - fts5BufferSet(&p->rc, &term, nTerm, pTerm); + bTermWritten = 1; } /* Append the rowid to the output */ @@ -191461,7 +199111,13 @@ static void fts5MergePrefixLists( Fts5Buffer out = {0, 0, 0}; Fts5Buffer tmp = {0, 0, 0}; - if( sqlite3Fts5BufferSize(&p->rc, &out, p1->n + p2->n) ) return; + /* The maximum size of the output is equal to the sum of the two + ** input sizes + 1 varint (9 bytes). The extra varint is because if the + ** first rowid in one input is a large negative number, and the first in + ** the other a non-negative number, the delta for the non-negative + ** number will be larger on disk than the literal integer value + ** was. */ + if( sqlite3Fts5BufferSize(&p->rc, &out, p1->n + p2->n + 9) ) return; fts5DoclistIterInit(p1, &i1); fts5DoclistIterInit(p2, &i2); @@ -191555,6 +199211,7 @@ static void fts5MergePrefixLists( fts5MergeAppendDocid(&out, iLastRowid, i2.iRowid); fts5BufferSafeAppendBlob(&out, i2.aPoslist, i2.aEof - i2.aPoslist); } + assert( out.n<=(p1->n+p2->n+9) ); fts5BufferSet(&p->rc, p1, out.n, out.p); fts5BufferFree(&tmp); @@ -191647,7 +199304,7 @@ static void fts5SetupPrefixIter( if( pData ){ pData->p = (u8*)&pData[1]; pData->nn = pData->szLeaf = doclist.n; - memcpy(pData->p, doclist.p, doclist.n); + if( doclist.n ) memcpy(pData->p, doclist.p, doclist.n); fts5MultiIterNew2(p, pData, bDesc, ppIter); } fts5BufferFree(&doclist); @@ -191686,10 +199343,10 @@ static int sqlite3Fts5IndexBeginWrite(Fts5Index *p, int bDelete, i64 iRowid){ /* ** Commit data to disk. */ -static int sqlite3Fts5IndexSync(Fts5Index *p, int bCommit){ +static int sqlite3Fts5IndexSync(Fts5Index *p){ assert( p->rc==SQLITE_OK ); fts5IndexFlush(p); - if( bCommit ) fts5CloseReader(p); + fts5CloseReader(p); return fts5IndexReturn(p); } @@ -191886,7 +199543,7 @@ static int sqlite3Fts5IndexQuery( if( sqlite3Fts5BufferSize(&p->rc, &buf, nToken+1)==0 ){ int iIdx = 0; /* Index to search */ - memcpy(&buf.p[1], pToken, nToken); + if( nToken ) memcpy(&buf.p[1], pToken, nToken); /* Figure out which index to search and set iIdx accordingly. If this ** is a prefix query for which there is no prefix index, set iIdx to @@ -191935,7 +199592,7 @@ static int sqlite3Fts5IndexQuery( } if( p->rc ){ - sqlite3Fts5IterClose(&pRet->base); + sqlite3Fts5IterClose((Fts5IndexIter*)pRet); pRet = 0; fts5CloseReader(p); } @@ -192385,7 +200042,7 @@ static void fts5IndexIntegrityCheckSegment( ** ignore this b-tree entry. Otherwise, load it into memory. */ if( iIdxLeafpgnoFirst ) continue; iRow = FTS5_SEGMENT_ROWID(pSeg->iSegid, iIdxLeaf); - pLeaf = fts5DataRead(p, iRow); + pLeaf = fts5LeafRead(p, iRow); if( pLeaf==0 ) break; /* Check that the leaf contains at least one term, and that it is equal @@ -193553,6 +201210,7 @@ static void fts5SetUniqueFlag(sqlite3_index_info *pIdxInfo){ static int fts5BestIndexMethod(sqlite3_vtab *pVTab, sqlite3_index_info *pInfo){ Fts5Table *pTab = (Fts5Table*)pVTab; Fts5Config *pConfig = pTab->pConfig; + const int nCol = pConfig->nCol; int idxFlags = 0; /* Parameter passed through to xFilter() */ int bHasMatch; int iNext; @@ -193578,24 +201236,34 @@ static int fts5BestIndexMethod(sqlite3_vtab *pVTab, sqlite3_index_info *pInfo){ int aColMap[3]; aColMap[0] = -1; - aColMap[1] = pConfig->nCol; - aColMap[2] = pConfig->nCol+1; + aColMap[1] = nCol; + aColMap[2] = nCol+1; /* Set idxFlags flags for all WHERE clause terms that will be used. */ for(i=0; inConstraint; i++){ struct sqlite3_index_constraint *p = &pInfo->aConstraint[i]; - int j; - for(j=0; jiColumn==aColMap[pC->iCol] && p->op & pC->op ){ - if( p->usable ){ + int iCol = p->iColumn; + + if( (p->op==SQLITE_INDEX_CONSTRAINT_MATCH && iCol>=0 && iCol<=nCol) + || (p->op==SQLITE_INDEX_CONSTRAINT_EQ && iCol==nCol) + ){ + /* A MATCH operator or equivalent */ + if( p->usable ){ + idxFlags = (idxFlags & 0xFFFF) | FTS5_BI_MATCH | (iCol << 16); + aConstraint[0].iConsIndex = i; + }else{ + /* As there exists an unusable MATCH constraint this is an + ** unusable plan. Set a prohibitively high cost. */ + pInfo->estimatedCost = 1e50; + return SQLITE_OK; + } + }else{ + int j; + for(j=1; jiCol] && p->op & pC->op && p->usable ){ pC->iConsIndex = i; idxFlags |= pC->fts5op; - }else if( j==0 ){ - /* As there exists an unusable MATCH constraint this is an - ** unusable plan. Set a prohibitively high cost. */ - pInfo->estimatedCost = 1e50; - return SQLITE_OK; } } } @@ -193919,7 +201587,8 @@ static int fts5PrepareStatement( if( zSql==0 ){ rc = SQLITE_NOMEM; }else{ - rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &pRet, 0); + rc = sqlite3_prepare_v3(pConfig->db, zSql, -1, + SQLITE_PREPARE_PERSISTENT, &pRet, 0); if( rc!=SQLITE_OK ){ *pConfig->pzErrmsg = sqlite3_mprintf("%s", sqlite3_errmsg(pConfig->db)); } @@ -194055,7 +201724,8 @@ static int fts5FindRankFunction(Fts5Cursor *pCsr){ char *zSql = sqlite3Fts5Mprintf(&rc, "SELECT %s", zRankArgs); if( zSql ){ sqlite3_stmt *pStmt = 0; - rc = sqlite3_prepare_v2(pConfig->db, zSql, -1, &pStmt, 0); + rc = sqlite3_prepare_v3(pConfig->db, zSql, -1, + SQLITE_PREPARE_PERSISTENT, &pStmt, 0); sqlite3_free(zSql); assert( rc==SQLITE_OK || pCsr->pRankArgStmt==0 ); if( rc==SQLITE_OK ){ @@ -194170,6 +201840,7 @@ static int fts5FilterMethod( sqlite3_value *pRowidEq = 0; /* rowid = ? expression (or NULL) */ sqlite3_value *pRowidLe = 0; /* rowid <= ? expression (or NULL) */ sqlite3_value *pRowidGe = 0; /* rowid >= ? expression (or NULL) */ + int iCol; /* Column on LHS of MATCH operator */ char **pzErrmsg = pConfig->pzErrmsg; UNUSED_PARAM(zUnused); @@ -194200,6 +201871,8 @@ static int fts5FilterMethod( if( BitFlagTest(idxNum, FTS5_BI_ROWID_EQ) ) pRowidEq = apVal[iVal++]; if( BitFlagTest(idxNum, FTS5_BI_ROWID_LE) ) pRowidLe = apVal[iVal++]; if( BitFlagTest(idxNum, FTS5_BI_ROWID_GE) ) pRowidGe = apVal[iVal++]; + iCol = (idxNum>>16); + assert( iCol>=0 && iCol<=pConfig->nCol ); assert( iVal==nVal ); bOrderByRank = ((idxNum & FTS5_BI_ORDER_RANK) ? 1 : 0); pCsr->bDesc = bDesc = ((idxNum & FTS5_BI_ORDER_DESC) ? 1 : 0); @@ -194246,7 +201919,7 @@ static int fts5FilterMethod( rc = fts5SpecialMatch(pTab, pCsr, &zExpr[1]); }else{ char **pzErr = &pTab->base.zErrMsg; - rc = sqlite3Fts5ExprNew(pConfig, zExpr, &pCsr->pExpr, pzErr); + rc = sqlite3Fts5ExprNew(pConfig, iCol, zExpr, &pCsr->pExpr, pzErr); if( rc==SQLITE_OK ){ if( bOrderByRank ){ pCsr->ePlan = FTS5_PLAN_SORTED_MATCH; @@ -194626,7 +202299,7 @@ static int fts5SyncMethod(sqlite3_vtab *pVtab){ fts5CheckTransactionState(pTab, FTS5_SYNC, 0); pTab->pConfig->pzErrmsg = &pTab->base.zErrMsg; fts5TripCursors(pTab); - rc = sqlite3Fts5StorageSync(pTab->pStorage, 1); + rc = sqlite3Fts5StorageSync(pTab->pStorage); pTab->pConfig->pzErrmsg = 0; return rc; } @@ -195437,7 +203110,7 @@ static int fts5SavepointMethod(sqlite3_vtab *pVtab, int iSavepoint){ UNUSED_PARAM(iSavepoint); /* Call below is a no-op for NDEBUG builds */ fts5CheckTransactionState(pTab, FTS5_SAVEPOINT, iSavepoint); fts5TripCursors(pTab); - return sqlite3Fts5StorageSync(pTab->pStorage, 0); + return sqlite3Fts5StorageSync(pTab->pStorage); } /* @@ -195450,7 +203123,7 @@ static int fts5ReleaseMethod(sqlite3_vtab *pVtab, int iSavepoint){ UNUSED_PARAM(iSavepoint); /* Call below is a no-op for NDEBUG builds */ fts5CheckTransactionState(pTab, FTS5_RELEASE, iSavepoint); fts5TripCursors(pTab); - return sqlite3Fts5StorageSync(pTab->pStorage, 0); + return sqlite3Fts5StorageSync(pTab->pStorage); } /* @@ -195640,15 +203313,14 @@ static void fts5ModuleDestroy(void *pCtx){ static void fts5Fts5Func( sqlite3_context *pCtx, /* Function call context */ int nArg, /* Number of args */ - sqlite3_value **apUnused /* Function arguments */ + sqlite3_value **apArg /* Function arguments */ ){ Fts5Global *pGlobal = (Fts5Global*)sqlite3_user_data(pCtx); - char buf[8]; - UNUSED_PARAM2(nArg, apUnused); - assert( nArg==0 ); - assert( sizeof(buf)>=sizeof(pGlobal) ); - memcpy(buf, (void*)&pGlobal, sizeof(pGlobal)); - sqlite3_result_blob(pCtx, buf, sizeof(pGlobal), SQLITE_TRANSIENT); + fts5_api **ppApi; + UNUSED_PARAM(nArg); + assert( nArg==1 ); + ppApi = (fts5_api**)sqlite3_value_pointer(apArg[0], "fts5_api_ptr"); + if( ppApi ) *ppApi = &pGlobal->api; } /* @@ -195661,7 +203333,7 @@ static void fts5SourceIdFunc( ){ assert( nArg==0 ); UNUSED_PARAM2(nArg, apUnused); - sqlite3_result_text(pCtx, "fts5: 2016-11-28 19:13:37 bbd85d235f7037c6a033a9690534391ffeacecc8", -1, SQLITE_TRANSIENT); + sqlite3_result_text(pCtx, "fts5: 2018-01-22 18:45:57 0c55d179733b46d8d0ba4d88e01a25e10677046ee3da1d5b1581e86726f2171d", -1, SQLITE_TRANSIENT); } static int fts5Init(sqlite3 *db){ @@ -195713,7 +203385,7 @@ static int fts5Init(sqlite3 *db){ if( rc==SQLITE_OK ) rc = sqlite3Fts5VocabInit(pGlobal, db); if( rc==SQLITE_OK ){ rc = sqlite3_create_function( - db, "fts5", 0, SQLITE_UTF8, p, fts5Fts5Func, 0, 0 + db, "fts5", 1, SQLITE_UTF8, p, fts5Fts5Func, 0, 0 ); } if( rc==SQLITE_OK ){ @@ -195915,7 +203587,8 @@ static int fts5StorageGetStmt( if( zSql==0 ){ rc = SQLITE_NOMEM; }else{ - rc = sqlite3_prepare_v2(pC->db, zSql, -1, &p->aStmt[eStmt], 0); + rc = sqlite3_prepare_v3(pC->db, zSql, -1, + SQLITE_PREPARE_PERSISTENT, &p->aStmt[eStmt], 0); sqlite3_free(zSql); if( rc!=SQLITE_OK && pzErrMsg ){ *pzErrMsg = sqlite3_mprintf("%s", sqlite3_errmsg(pC->db)); @@ -195997,7 +203670,7 @@ static void fts5StorageRenameOne( static int sqlite3Fts5StorageRename(Fts5Storage *pStorage, const char *zName){ Fts5Config *pConfig = pStorage->pConfig; - int rc = sqlite3Fts5StorageSync(pStorage, 1); + int rc = sqlite3Fts5StorageSync(pStorage); fts5StorageRenameOne(pConfig, &rc, "data", zName); fts5StorageRenameOne(pConfig, &rc, "idx", zName); @@ -196324,11 +203997,6 @@ static int sqlite3Fts5StorageDelete(Fts5Storage *p, i64 iDel, sqlite3_value **ap } } - /* Write the averages record */ - if( rc==SQLITE_OK ){ - rc = fts5StorageSaveTotals(p); - } - return rc; } @@ -196532,11 +204200,6 @@ static int sqlite3Fts5StorageIndexInsert( } sqlite3_free(buf.p); - /* Write the averages record */ - if( rc==SQLITE_OK ){ - rc = fts5StorageSaveTotals(p); - } - return rc; } @@ -196870,13 +204533,18 @@ static int sqlite3Fts5StorageRowCount(Fts5Storage *p, i64 *pnRow){ /* ** Flush any data currently held in-memory to disk. */ -static int sqlite3Fts5StorageSync(Fts5Storage *p, int bCommit){ - if( bCommit && p->bTotalsValid ){ - int rc = fts5StorageSaveTotals(p); +static int sqlite3Fts5StorageSync(Fts5Storage *p){ + int rc = SQLITE_OK; + i64 iLastRowid = sqlite3_last_insert_rowid(p->pConfig->db); + if( p->bTotalsValid ){ + rc = fts5StorageSaveTotals(p); p->bTotalsValid = 0; - if( rc!=SQLITE_OK ) return rc; } - return sqlite3Fts5IndexSync(p->pIndex, bCommit); + if( rc==SQLITE_OK ){ + rc = sqlite3Fts5IndexSync(p->pIndex); + } + sqlite3_set_last_insert_rowid(p->pConfig->db, iLastRowid); + return rc; } static int sqlite3Fts5StorageRollback(Fts5Storage *p){ @@ -198893,6 +206561,11 @@ static int sqlite3Fts5GetVarintLen(u32 iVal){ ** the number of fts5 rows that contain at least one instance of term ** $term. Field $cnt is set to the total number of instances of term ** $term in the database. +** +** instance: +** CREATE TABLE vocab(term, doc, col, offset, PRIMARY KEY()); +** +** One row for each term instance in the database. */ @@ -198908,7 +206581,7 @@ struct Fts5VocabTable { char *zFts5Db; /* Db containing fts5 table */ sqlite3 *db; /* Database handle */ Fts5Global *pGlobal; /* FTS5 global object for this database */ - int eType; /* FTS5_VOCAB_COL or ROW */ + int eType; /* FTS5_VOCAB_COL, ROW or INSTANCE */ }; struct Fts5VocabCursor { @@ -198928,16 +206601,22 @@ struct Fts5VocabCursor { i64 *aCnt; i64 *aDoc; - /* Output values used by 'row' and 'col' tables */ + /* Output values used by all tables. */ i64 rowid; /* This table's current rowid value */ Fts5Buffer term; /* Current value of 'term' column */ + + /* Output values Used by 'instance' tables only */ + i64 iInstPos; + int iInstOff; }; -#define FTS5_VOCAB_COL 0 -#define FTS5_VOCAB_ROW 1 +#define FTS5_VOCAB_COL 0 +#define FTS5_VOCAB_ROW 1 +#define FTS5_VOCAB_INSTANCE 2 #define FTS5_VOCAB_COL_SCHEMA "term, col, doc, cnt" #define FTS5_VOCAB_ROW_SCHEMA "term, doc, cnt" +#define FTS5_VOCAB_INST_SCHEMA "term, doc, col, offset" /* ** Bits for the mask used as the idxNum value by xBestIndex/xFilter. @@ -198965,6 +206644,9 @@ static int fts5VocabTableType(const char *zType, char **pzErr, int *peType){ if( sqlite3_stricmp(zCopy, "row")==0 ){ *peType = FTS5_VOCAB_ROW; }else + if( sqlite3_stricmp(zCopy, "instance")==0 ){ + *peType = FTS5_VOCAB_INSTANCE; + }else { *pzErr = sqlite3_mprintf("fts5vocab: unknown table type: %Q", zCopy); rc = SQLITE_ERROR; @@ -199025,7 +206707,8 @@ static int fts5VocabInitVtab( ){ const char *azSchema[] = { "CREATE TABlE vocab(" FTS5_VOCAB_COL_SCHEMA ")", - "CREATE TABlE vocab(" FTS5_VOCAB_ROW_SCHEMA ")" + "CREATE TABlE vocab(" FTS5_VOCAB_ROW_SCHEMA ")", + "CREATE TABlE vocab(" FTS5_VOCAB_INST_SCHEMA ")" }; Fts5VocabTable *pRet = 0; @@ -199099,6 +206782,15 @@ static int fts5VocabCreateMethod( /* ** Implementation of the xBestIndex method. +** +** Only constraints of the form: +** +** term <= ? +** term == ? +** term >= ? +** +** are interpreted. Less-than and less-than-or-equal are treated +** identically, as are greater-than and greater-than-or-equal. */ static int fts5VocabBestIndexMethod( sqlite3_vtab *pUnused, @@ -199242,6 +206934,54 @@ static int fts5VocabCloseMethod(sqlite3_vtab_cursor *pCursor){ return SQLITE_OK; } +static int fts5VocabInstanceNewTerm(Fts5VocabCursor *pCsr){ + int rc = SQLITE_OK; + + if( sqlite3Fts5IterEof(pCsr->pIter) ){ + pCsr->bEof = 1; + }else{ + const char *zTerm; + int nTerm; + zTerm = sqlite3Fts5IterTerm(pCsr->pIter, &nTerm); + if( pCsr->nLeTerm>=0 ){ + int nCmp = MIN(nTerm, pCsr->nLeTerm); + int bCmp = memcmp(pCsr->zLeTerm, zTerm, nCmp); + if( bCmp<0 || (bCmp==0 && pCsr->nLeTermbEof = 1; + } + } + + sqlite3Fts5BufferSet(&rc, &pCsr->term, nTerm, (const u8*)zTerm); + } + return rc; +} + +static int fts5VocabInstanceNext(Fts5VocabCursor *pCsr){ + int eDetail = pCsr->pConfig->eDetail; + int rc = SQLITE_OK; + Fts5IndexIter *pIter = pCsr->pIter; + i64 *pp = &pCsr->iInstPos; + int *po = &pCsr->iInstOff; + + while( eDetail==FTS5_DETAIL_NONE + || sqlite3Fts5PoslistNext64(pIter->pData, pIter->nData, po, pp) + ){ + pCsr->iInstPos = 0; + pCsr->iInstOff = 0; + + rc = sqlite3Fts5IterNextScan(pCsr->pIter); + if( rc==SQLITE_OK ){ + rc = fts5VocabInstanceNewTerm(pCsr); + if( eDetail==FTS5_DETAIL_NONE ) break; + } + if( rc ){ + pCsr->bEof = 1; + break; + } + } + + return rc; +} /* ** Advance the cursor to the next row in the table. @@ -199254,13 +206994,17 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ pCsr->rowid++; + if( pTab->eType==FTS5_VOCAB_INSTANCE ){ + return fts5VocabInstanceNext(pCsr); + } + if( pTab->eType==FTS5_VOCAB_COL ){ for(pCsr->iCol++; pCsr->iColiCol++){ if( pCsr->aDoc[pCsr->iCol] ) break; } } - if( pTab->eType==FTS5_VOCAB_ROW || pCsr->iCol>=nCol ){ + if( pTab->eType!=FTS5_VOCAB_COL || pCsr->iCol>=nCol ){ if( sqlite3Fts5IterEof(pCsr->pIter) ){ pCsr->bEof = 1; }else{ @@ -199284,22 +207028,26 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ assert( pTab->eType==FTS5_VOCAB_COL || pTab->eType==FTS5_VOCAB_ROW ); while( rc==SQLITE_OK ){ + int eDetail = pCsr->pConfig->eDetail; const u8 *pPos; int nPos; /* Position list */ i64 iPos = 0; /* 64-bit position read from poslist */ int iOff = 0; /* Current offset within position list */ pPos = pCsr->pIter->pData; nPos = pCsr->pIter->nData; - switch( pCsr->pConfig->eDetail ){ - case FTS5_DETAIL_FULL: - pPos = pCsr->pIter->pData; - nPos = pCsr->pIter->nData; - if( pTab->eType==FTS5_VOCAB_ROW ){ + + switch( pTab->eType ){ + case FTS5_VOCAB_ROW: + if( eDetail==FTS5_DETAIL_FULL ){ while( 0==sqlite3Fts5PoslistNext64(pPos, nPos, &iOff, &iPos) ){ pCsr->aCnt[0]++; } - pCsr->aDoc[0]++; - }else{ + } + pCsr->aDoc[0]++; + break; + + case FTS5_VOCAB_COL: + if( eDetail==FTS5_DETAIL_FULL ){ int iCol = -1; while( 0==sqlite3Fts5PoslistNext64(pPos, nPos, &iOff, &iPos) ){ int ii = FTS5_POS2COLUMN(iPos); @@ -199313,13 +207061,7 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ iCol = ii; } } - } - break; - - case FTS5_DETAIL_COLUMNS: - if( pTab->eType==FTS5_VOCAB_ROW ){ - pCsr->aDoc[0]++; - }else{ + }else if( eDetail==FTS5_DETAIL_COLUMNS ){ while( 0==sqlite3Fts5PoslistNext64(pPos, nPos, &iOff,&iPos) ){ assert_nc( iPos>=0 && iPos=nCol ){ @@ -199328,18 +207070,21 @@ static int fts5VocabNextMethod(sqlite3_vtab_cursor *pCursor){ } pCsr->aDoc[iPos]++; } + }else{ + assert( eDetail==FTS5_DETAIL_NONE ); + pCsr->aDoc[0]++; } break; - default: - assert( pCsr->pConfig->eDetail==FTS5_DETAIL_NONE ); - pCsr->aDoc[0]++; + default: + assert( pTab->eType==FTS5_VOCAB_INSTANCE ); break; } if( rc==SQLITE_OK ){ rc = sqlite3Fts5IterNextScan(pCsr->pIter); } + if( pTab->eType==FTS5_VOCAB_INSTANCE ) break; if( rc==SQLITE_OK ){ zTerm = sqlite3Fts5IterTerm(pCsr->pIter, &nTerm); @@ -199369,7 +207114,9 @@ static int fts5VocabFilterMethod( int nUnused, /* Number of elements in apVal */ sqlite3_value **apVal /* Arguments for the indexing scheme */ ){ + Fts5VocabTable *pTab = (Fts5VocabTable*)pCursor->pVtab; Fts5VocabCursor *pCsr = (Fts5VocabCursor*)pCursor; + int eType = pTab->eType; int rc = SQLITE_OK; int iVal = 0; @@ -199409,11 +207156,16 @@ static int fts5VocabFilterMethod( } } - if( rc==SQLITE_OK ){ rc = sqlite3Fts5IndexQuery(pCsr->pIndex, zTerm, nTerm, f, 0, &pCsr->pIter); } - if( rc==SQLITE_OK ){ + if( rc==SQLITE_OK && eType==FTS5_VOCAB_INSTANCE ){ + rc = fts5VocabInstanceNewTerm(pCsr); + } + if( rc==SQLITE_OK + && !pCsr->bEof + && (eType!=FTS5_VOCAB_INSTANCE || pCsr->pConfig->eDetail!=FTS5_DETAIL_NONE) + ){ rc = fts5VocabNextMethod(pCursor); } @@ -199455,13 +207207,41 @@ static int fts5VocabColumnMethod( }else{ iVal = pCsr->aCnt[pCsr->iCol]; } - }else{ + }else if( eType==FTS5_VOCAB_ROW ){ assert( iCol==1 || iCol==2 ); if( iCol==1 ){ iVal = pCsr->aDoc[0]; }else{ iVal = pCsr->aCnt[0]; } + }else{ + assert( eType==FTS5_VOCAB_INSTANCE ); + switch( iCol ){ + case 1: + sqlite3_result_int64(pCtx, pCsr->pIter->iRowid); + break; + case 2: { + int ii = -1; + if( eDetail==FTS5_DETAIL_FULL ){ + ii = FTS5_POS2COLUMN(pCsr->iInstPos); + }else if( eDetail==FTS5_DETAIL_COLUMNS ){ + ii = (int)pCsr->iInstPos; + } + if( ii>=0 && iipConfig->nCol ){ + const char *z = pCsr->pConfig->azCol[ii]; + sqlite3_result_text(pCtx, z, -1, SQLITE_STATIC); + } + break; + } + default: { + assert( iCol==3 ); + if( eDetail==FTS5_DETAIL_FULL ){ + int ii = FTS5_POS2OFFSET(pCsr->iInstPos); + sqlite3_result_int(pCtx, ii); + } + break; + } + } } if( iVal>0 ) sqlite3_result_int64(pCtx, iVal); @@ -199520,3 +207300,311 @@ static int sqlite3Fts5VocabInit(Fts5Global *pGlobal, sqlite3 *db){ #endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_FTS5) */ /************** End of fts5.c ************************************************/ +/************** Begin file stmt.c ********************************************/ +/* +** 2017-05-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. +** +************************************************************************* +** +** This file demonstrates an eponymous virtual table that returns information +** about all prepared statements for the database connection. +** +** Usage example: +** +** .load ./stmt +** .mode line +** .header on +** SELECT * FROM stmt; +*/ +#if !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) +#if !defined(SQLITEINT_H) +/* #include "sqlite3ext.h" */ +#endif +SQLITE_EXTENSION_INIT1 +/* #include */ +/* #include */ + +#ifndef SQLITE_OMIT_VIRTUALTABLE + +/* stmt_vtab is a subclass of sqlite3_vtab which will +** serve as the underlying representation of a stmt virtual table +*/ +typedef struct stmt_vtab stmt_vtab; +struct stmt_vtab { + sqlite3_vtab base; /* Base class - must be first */ + sqlite3 *db; /* Database connection for this stmt vtab */ +}; + +/* stmt_cursor is a subclass of sqlite3_vtab_cursor which will +** serve as the underlying representation of a cursor that scans +** over rows of the result +*/ +typedef struct stmt_cursor stmt_cursor; +struct stmt_cursor { + sqlite3_vtab_cursor base; /* Base class - must be first */ + sqlite3 *db; /* Database connection for this cursor */ + sqlite3_stmt *pStmt; /* Statement cursor is currently pointing at */ + sqlite3_int64 iRowid; /* The rowid */ +}; + +/* +** The stmtConnect() method is invoked to create a new +** stmt_vtab that describes the stmt virtual table. +** +** Think of this routine as the constructor for stmt_vtab objects. +** +** All this routine needs to do is: +** +** (1) Allocate the stmt_vtab object and initialize all fields. +** +** (2) Tell SQLite (via the sqlite3_declare_vtab() interface) what the +** result set of queries against stmt will look like. +*/ +static int stmtConnect( + sqlite3 *db, + void *pAux, + int argc, const char *const*argv, + sqlite3_vtab **ppVtab, + char **pzErr +){ + stmt_vtab *pNew; + int rc; + +/* Column numbers */ +#define STMT_COLUMN_SQL 0 /* SQL for the statement */ +#define STMT_COLUMN_NCOL 1 /* Number of result columns */ +#define STMT_COLUMN_RO 2 /* True if read-only */ +#define STMT_COLUMN_BUSY 3 /* True if currently busy */ +#define STMT_COLUMN_NSCAN 4 /* SQLITE_STMTSTATUS_FULLSCAN_STEP */ +#define STMT_COLUMN_NSORT 5 /* SQLITE_STMTSTATUS_SORT */ +#define STMT_COLUMN_NAIDX 6 /* SQLITE_STMTSTATUS_AUTOINDEX */ +#define STMT_COLUMN_NSTEP 7 /* SQLITE_STMTSTATUS_VM_STEP */ +#define STMT_COLUMN_REPREP 8 /* SQLITE_STMTSTATUS_REPREPARE */ +#define STMT_COLUMN_RUN 9 /* SQLITE_STMTSTATUS_RUN */ +#define STMT_COLUMN_MEM 10 /* SQLITE_STMTSTATUS_MEMUSED */ + + + rc = sqlite3_declare_vtab(db, + "CREATE TABLE x(sql,ncol,ro,busy,nscan,nsort,naidx,nstep," + "reprep,run,mem)"); + if( rc==SQLITE_OK ){ + pNew = sqlite3_malloc( sizeof(*pNew) ); + *ppVtab = (sqlite3_vtab*)pNew; + if( pNew==0 ) return SQLITE_NOMEM; + memset(pNew, 0, sizeof(*pNew)); + pNew->db = db; + } + return rc; +} + +/* +** This method is the destructor for stmt_cursor objects. +*/ +static int stmtDisconnect(sqlite3_vtab *pVtab){ + sqlite3_free(pVtab); + return SQLITE_OK; +} + +/* +** Constructor for a new stmt_cursor object. +*/ +static int stmtOpen(sqlite3_vtab *p, sqlite3_vtab_cursor **ppCursor){ + stmt_cursor *pCur; + pCur = sqlite3_malloc( sizeof(*pCur) ); + if( pCur==0 ) return SQLITE_NOMEM; + memset(pCur, 0, sizeof(*pCur)); + pCur->db = ((stmt_vtab*)p)->db; + *ppCursor = &pCur->base; + return SQLITE_OK; +} + +/* +** Destructor for a stmt_cursor. +*/ +static int stmtClose(sqlite3_vtab_cursor *cur){ + sqlite3_free(cur); + return SQLITE_OK; +} + + +/* +** Advance a stmt_cursor to its next row of output. +*/ +static int stmtNext(sqlite3_vtab_cursor *cur){ + stmt_cursor *pCur = (stmt_cursor*)cur; + pCur->iRowid++; + pCur->pStmt = sqlite3_next_stmt(pCur->db, pCur->pStmt); + return SQLITE_OK; +} + +/* +** Return values of columns for the row at which the stmt_cursor +** is currently pointing. +*/ +static int stmtColumn( + sqlite3_vtab_cursor *cur, /* The cursor */ + sqlite3_context *ctx, /* First argument to sqlite3_result_...() */ + int i /* Which column to return */ +){ + stmt_cursor *pCur = (stmt_cursor*)cur; + switch( i ){ + case STMT_COLUMN_SQL: { + sqlite3_result_text(ctx, sqlite3_sql(pCur->pStmt), -1, SQLITE_TRANSIENT); + break; + } + case STMT_COLUMN_NCOL: { + sqlite3_result_int(ctx, sqlite3_column_count(pCur->pStmt)); + break; + } + case STMT_COLUMN_RO: { + sqlite3_result_int(ctx, sqlite3_stmt_readonly(pCur->pStmt)); + break; + } + case STMT_COLUMN_BUSY: { + sqlite3_result_int(ctx, sqlite3_stmt_busy(pCur->pStmt)); + break; + } + case STMT_COLUMN_MEM: { + i = SQLITE_STMTSTATUS_MEMUSED + + STMT_COLUMN_NSCAN - SQLITE_STMTSTATUS_FULLSCAN_STEP; + /* Fall thru */ + } + case STMT_COLUMN_NSCAN: + case STMT_COLUMN_NSORT: + case STMT_COLUMN_NAIDX: + case STMT_COLUMN_NSTEP: + case STMT_COLUMN_REPREP: + case STMT_COLUMN_RUN: { + sqlite3_result_int(ctx, sqlite3_stmt_status(pCur->pStmt, + i-STMT_COLUMN_NSCAN+SQLITE_STMTSTATUS_FULLSCAN_STEP, 0)); + break; + } + } + return SQLITE_OK; +} + +/* +** Return the rowid for the current row. In this implementation, the +** rowid is the same as the output value. +*/ +static int stmtRowid(sqlite3_vtab_cursor *cur, sqlite_int64 *pRowid){ + stmt_cursor *pCur = (stmt_cursor*)cur; + *pRowid = pCur->iRowid; + return SQLITE_OK; +} + +/* +** Return TRUE if the cursor has been moved off of the last +** row of output. +*/ +static int stmtEof(sqlite3_vtab_cursor *cur){ + stmt_cursor *pCur = (stmt_cursor*)cur; + return pCur->pStmt==0; +} + +/* +** This method is called to "rewind" the stmt_cursor object back +** to the first row of output. This method is always called at least +** once prior to any call to stmtColumn() or stmtRowid() or +** stmtEof(). +*/ +static int stmtFilter( + sqlite3_vtab_cursor *pVtabCursor, + int idxNum, const char *idxStr, + int argc, sqlite3_value **argv +){ + stmt_cursor *pCur = (stmt_cursor *)pVtabCursor; + pCur->pStmt = 0; + pCur->iRowid = 0; + return stmtNext(pVtabCursor); +} + +/* +** SQLite will invoke this method one or more times while planning a query +** that uses the stmt virtual table. This routine needs to create +** a query plan for each invocation and compute an estimated cost for that +** plan. +*/ +static int stmtBestIndex( + sqlite3_vtab *tab, + sqlite3_index_info *pIdxInfo +){ + pIdxInfo->estimatedCost = (double)500; + pIdxInfo->estimatedRows = 500; + return SQLITE_OK; +} + +/* +** This following structure defines all the methods for the +** stmt virtual table. +*/ +static sqlite3_module stmtModule = { + 0, /* iVersion */ + 0, /* xCreate */ + stmtConnect, /* xConnect */ + stmtBestIndex, /* xBestIndex */ + stmtDisconnect, /* xDisconnect */ + 0, /* xDestroy */ + stmtOpen, /* xOpen - open a cursor */ + stmtClose, /* xClose - close a cursor */ + stmtFilter, /* xFilter - configure scan constraints */ + stmtNext, /* xNext - advance a cursor */ + stmtEof, /* xEof - check for end of scan */ + stmtColumn, /* xColumn - read data */ + stmtRowid, /* xRowid - read data */ + 0, /* xUpdate */ + 0, /* xBegin */ + 0, /* xSync */ + 0, /* xCommit */ + 0, /* xRollback */ + 0, /* xFindMethod */ + 0, /* xRename */ + 0, /* xSavepoint */ + 0, /* xRelease */ + 0, /* xRollbackTo */ +}; + +#endif /* SQLITE_OMIT_VIRTUALTABLE */ + +SQLITE_PRIVATE int sqlite3StmtVtabInit(sqlite3 *db){ + int rc = SQLITE_OK; +#ifndef SQLITE_OMIT_VIRTUALTABLE + rc = sqlite3_create_module(db, "sqlite_stmt", &stmtModule, 0); +#endif + return rc; +} + +#ifndef SQLITE_CORE +#ifdef _WIN32 +__declspec(dllexport) +#endif +SQLITE_API int sqlite3_stmt_init( + sqlite3 *db, + char **pzErrMsg, + const sqlite3_api_routines *pApi +){ + int rc = SQLITE_OK; + SQLITE_EXTENSION_INIT2(pApi); +#ifndef SQLITE_OMIT_VIRTUALTABLE + rc = sqlite3StmtVtabInit(db); +#endif + return rc; +} +#endif /* SQLITE_CORE */ +#endif /* !defined(SQLITE_CORE) || defined(SQLITE_ENABLE_STMTVTAB) */ + +/************** End of stmt.c ************************************************/ +#if __LINE__!=207604 +#undef SQLITE_SOURCE_ID +#define SQLITE_SOURCE_ID "2018-01-22 18:45:57 0c55d179733b46d8d0ba4d88e01a25e10677046ee3da1d5b1581e86726f2alt2" +#endif +/* Return the source-id for this library */ +SQLITE_API const char *sqlite3_sourceid(void){ return SQLITE_SOURCE_ID; } +/************************** End of sqlite3.c ******************************/ diff --git a/sqlite3.h b/sqlite3.h index 8222b79..d8138b7 100644 --- a/sqlite3.h +++ b/sqlite3.h @@ -1,5 +1,5 @@ /* -** 2001 September 15 +** 2001-09-15 ** ** The author disclaims copyright to this source code. In place of ** a legal notice, here is a blessing: @@ -114,20 +114,22 @@ extern "C" { ** 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 an SHA1 -** hash of the entire source tree. +** 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.15.2" -#define SQLITE_VERSION_NUMBER 3015002 -#define SQLITE_SOURCE_ID "2016-11-28 19:13:37 bbd85d235f7037c6a033a9690534391ffeacecc8" +#define SQLITE_VERSION "3.22.0" +#define SQLITE_VERSION_NUMBER 3022000 +#define SQLITE_SOURCE_ID "2018-01-22 18:45:57 0c55d179733b46d8d0ba4d88e01a25e10677046ee3da1d5b1581e86726f2171d" /* ** CAPI3REF: Run-Time Library Version Numbers -** KEYWORDS: sqlite3_version, sqlite3_sourceid +** 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 @@ -139,7 +141,7 @@ extern "C" { ** **
       ** assert( sqlite3_libversion_number()==SQLITE_VERSION_NUMBER );
      -** assert( strcmp(sqlite3_sourceid(),SQLITE_SOURCE_ID)==0 );
      +** assert( strncmp(sqlite3_sourceid(),SQLITE_SOURCE_ID,80)==0 );
       ** assert( strcmp(sqlite3_libversion(),SQLITE_VERSION)==0 );
       ** 
      )^ ** @@ -149,9 +151,11 @@ extern "C" { ** 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 +** [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. +** [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()]. */ @@ -259,7 +263,11 @@ typedef struct sqlite3 sqlite3; */ #ifdef SQLITE_INT64_TYPE typedef SQLITE_INT64_TYPE sqlite_int64; - typedef unsigned SQLITE_INT64_TYPE sqlite_uint64; +# 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; @@ -413,7 +421,7 @@ SQLITE_API int sqlite3_exec( */ #define SQLITE_OK 0 /* Successful result */ /* beginning-of-error-codes */ -#define SQLITE_ERROR 1 /* SQL error or missing database */ +#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 */ @@ -428,7 +436,7 @@ SQLITE_API int sqlite3_exec( #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 /* Database is empty */ +#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 */ @@ -436,7 +444,7 @@ SQLITE_API int sqlite3_exec( #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 /* Auxiliary database format error */ +#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() */ @@ -462,6 +470,8 @@ SQLITE_API int sqlite3_exec( ** 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)) @@ -490,6 +500,9 @@ SQLITE_API int sqlite3_exec( #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)) @@ -502,6 +515,8 @@ SQLITE_API int sqlite3_exec( #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)) @@ -572,10 +587,15 @@ SQLITE_API int sqlite3_exec( ** 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 indicate that a file cannot be deleted when open. The +** 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 @@ -591,6 +611,7 @@ SQLITE_API int sqlite3_exec( #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 @@ -722,6 +743,10 @@ struct sqlite3_file { **
    • [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 @@ -850,7 +875,7 @@ struct sqlite3_io_methods { ** 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 i the new retry count and the second +** 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 @@ -1005,6 +1030,40 @@ struct sqlite3_io_methods { ** 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]. ** */ #define SQLITE_FCNTL_LOCKSTATE 1 @@ -1035,6 +1094,10 @@ struct sqlite3_io_methods { #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 /* deprecated names */ #define SQLITE_GET_LOCKPROXYFILE SQLITE_FCNTL_GET_LOCKPROXYFILE @@ -1072,12 +1135,18 @@ typedef struct sqlite3_api_routines sqlite3_api_routines; ** in the name of the object stands for "virtual file system". See ** the [VFS | VFS documentation] for further information. ** -** The value of the iVersion field is initially 1 but may be larger in -** future versions of SQLite. Additional fields may be appended to this -** object when the iVersion value is increased. Note that the structure -** of the sqlite3_vfs object changes in the transaction between -** SQLite version 3.5.9 and 3.6.0 and yet the iVersion field was not -** modified. +** 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 @@ -1605,6 +1674,16 @@ struct sqlite3_mem_methods { ** 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 @@ -1622,25 +1701,7 @@ struct sqlite3_mem_methods { **
    ** ** [[SQLITE_CONFIG_SCRATCH]]
    SQLITE_CONFIG_SCRATCH
    -**
    ^The SQLITE_CONFIG_SCRATCH option specifies a static memory buffer -** that SQLite can use for scratch memory. ^(There are three arguments -** to SQLITE_CONFIG_SCRATCH: A pointer an 8-byte -** aligned memory buffer from which the scratch allocations will be -** drawn, the size of each scratch allocation (sz), -** and the maximum number of scratch allocations (N).)^ -** The first argument must be a pointer to an 8-byte aligned buffer -** of at least sz*N bytes of memory. -** ^SQLite will not use more than one scratch buffers per thread. -** ^SQLite will never request a scratch buffer that is more than 6 -** times the database page size. -** ^If SQLite needs needs additional -** scratch memory beyond what is provided by this configuration option, then -** [sqlite3_malloc()] will be used to obtain the memory needed.

    -** ^When the application provides any amount of scratch memory using -** SQLITE_CONFIG_SCRATCH, SQLite avoids unnecessary large -** [sqlite3_malloc|heap allocations]. -** This can help [Robson proof|prevent memory allocation failures] due to heap -** fragmentation in low-memory embedded systems. +**

    The SQLITE_CONFIG_SCRATCH option is no longer used. **
    ** ** [[SQLITE_CONFIG_PAGECACHE]]
    SQLITE_CONFIG_PAGECACHE
    @@ -1676,8 +1737,7 @@ struct sqlite3_mem_methods { ** [[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_SCRATCH] and -** [SQLITE_CONFIG_PAGECACHE]. +** 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. @@ -1870,7 +1930,7 @@ struct sqlite3_mem_methods { #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 /* void*, int sz, int N */ +#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 */ @@ -1891,6 +1951,7 @@ struct sqlite3_mem_methods { #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 @@ -1987,6 +2048,37 @@ struct sqlite3_mem_methods { ** 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 - non-zero to disable checkpoints-on-close, or zero (the +** default) to enable them. 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. +**
    +**
    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 - +** non-zero to enable output for trigger programs, or zero to disable it. +** 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* */ @@ -1995,7 +2087,10 @@ struct sqlite3_mem_methods { #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 @@ -2019,20 +2114,30 @@ SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff); ** 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 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. -** -** ^(If an [INSERT] occurs within a trigger or within a [virtual table] -** method, then this routine will return the [rowid] of the inserted -** row as long as the trigger or virtual table method is running. -** But once the trigger or virtual table method ends, the value returned -** by this routine reverts to what it was before the trigger or virtual -** table method began.)^ +** ^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 @@ -2059,6 +2164,16 @@ SQLITE_API int sqlite3_extended_result_codes(sqlite3*, int onoff); */ 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 @@ -2170,9 +2285,6 @@ SQLITE_API int sqlite3_total_changes(sqlite3*); ** ^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. -** -** If the database connection closes while [sqlite3_interrupt()] -** is running then bad things will likely happen. */ SQLITE_API void sqlite3_interrupt(sqlite3*); @@ -2635,12 +2747,14 @@ 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_prepare16()] and [sqlite3_prepare16_v2()]. ^At various +** [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 @@ -2662,8 +2776,10 @@ SQLITE_API void sqlite3_randomness(int N, void *P); ** 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 zero-terminated strings that contain additional -** details about the action to be authorized. +** 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 @@ -2672,6 +2788,10 @@ SQLITE_API void sqlite3_randomness(int N, void *P); ** 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. @@ -2831,8 +2951,8 @@ SQLITE_API SQLITE_DEPRECATED void *sqlite3_profile(sqlite3*, ** KEYWORDS: SQLITE_TRACE ** ** These constants identify classes of events that can be monitored -** using the [sqlite3_trace_v2()] tracing logic. The third argument -** to [sqlite3_trace_v2()] is an OR-ed combination of one or more of +** 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. ** @@ -3041,10 +3161,10 @@ SQLITE_API void sqlite3_progress_handler(sqlite3*, int, int(*)(void*), void*); ** ^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 fourth argument to sqlite3_open_v2(), or if it has +** 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. -** As of SQLite version 3.7.7, URI filename interpretation is turned off +** 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. @@ -3383,9 +3503,9 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** ** [[SQLITE_LIMIT_VDBE_OP]] ^(
    SQLITE_LIMIT_VDBE_OP
    **
    The maximum number of instructions in a virtual machine program -** used to implement an SQL statement. This limit is not currently -** enforced, though that might be added in some future release of -** SQLite.
    )^ +** 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.
    )^ @@ -3423,23 +3543,59 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); #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 query, it must first be compiled into a byte-code -** program using one of these routines. +** 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() and sqlite3_prepare_v2() -** interfaces use UTF-8, and sqlite3_prepare16() and sqlite3_prepare16_v2() -** use UTF-16. +** 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 @@ -3466,10 +3622,11 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** ^On success, the sqlite3_prepare() family of routines return [SQLITE_OK]; ** otherwise an [error code] is returned. ** -** The sqlite3_prepare_v2() and sqlite3_prepare16_v2() interfaces are -** recommended for all new programs. The two older interfaces are retained -** for backwards compatibility, but their use is discouraged. -** ^In the "v2" interfaces, the prepared statement +** 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: @@ -3502,6 +3659,12 @@ SQLITE_API int sqlite3_limit(sqlite3*, int id, int newVal); ** or [GLOB] operator or if the parameter is compared to an indexed column ** and the [SQLITE_ENABLE_STAT3] compile-time option is enabled. **
  • +** +**

    ^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( @@ -3518,6 +3681,14 @@ SQLITE_API int sqlite3_prepare_v2( 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 */ @@ -3532,6 +3703,14 @@ SQLITE_API int sqlite3_prepare16_v2( 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 @@ -3539,7 +3718,8 @@ SQLITE_API int sqlite3_prepare16_v2( ** ** ^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 either [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()]. +** 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. @@ -3596,6 +3776,10 @@ SQLITE_API char *sqlite3_expanded_sql(sqlite3_stmt *pStmt); ** 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); @@ -3654,12 +3838,13 @@ SQLITE_API int sqlite3_stmt_busy(sqlite3_stmt*); ** 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 with -** [sqlite3_result_value()] and [sqlite3_bind_value()]. +** 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 Mem sqlite3_value; +typedef struct sqlite3_value sqlite3_value; /* ** CAPI3REF: SQL Function Context Object @@ -3761,6 +3946,15 @@ typedef struct sqlite3_context sqlite3_context; ** [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()], @@ -3794,6 +3988,7 @@ SQLITE_API int sqlite3_bind_text16(sqlite3_stmt*, int, const void*, int, 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); @@ -3837,8 +4032,8 @@ SQLITE_API int sqlite3_bind_parameter_count(sqlite3_stmt*); ** ^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()] or -** [sqlite3_prepare16_v2()]. +** 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 @@ -3855,7 +4050,8 @@ SQLITE_API const char *sqlite3_bind_parameter_name(sqlite3_stmt*, int); ** 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()]. +** 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 @@ -3878,8 +4074,12 @@ SQLITE_API int sqlite3_clear_bindings(sqlite3_stmt*); ** METHOD: sqlite3_stmt ** ** ^Return the number of columns in the result set returned by the -** [prepared statement]. ^This routine returns 0 if pStmt is an SQL -** statement that does not return data (for example an [UPDATE]). +** [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()] */ @@ -4005,16 +4205,18 @@ 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 either -** [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()] or one of the legacy +** 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 "v2" interface -** [sqlite3_prepare_v2()] and [sqlite3_prepare16_v2()] or the older legacy -** interface [sqlite3_prepare()] and [sqlite3_prepare16()]. The use of the -** new "v2" interface is recommended for new applications but the legacy +** 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], @@ -4075,10 +4277,11 @@ SQLITE_API const void *sqlite3_column_decltype16(sqlite3_stmt*,int); ** 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 either [sqlite3_prepare_v2()] or [sqlite3_prepare16_v2()] instead +** 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 "v2" interface is recommended. +** by sqlite3_step(). The use of the "vX" interfaces is recommended. */ SQLITE_API int sqlite3_step(sqlite3_stmt*); @@ -4140,6 +4343,28 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); ** 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*] @@ -4161,16 +4386,29 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); ** 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 value -** returned by sqlite3_column_type() is only meaningful if no type -** conversions have occurred as described below. After a type conversion, -** the value returned by sqlite3_column_type() is undefined. Future +** [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 @@ -4207,9 +4445,13 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); ** [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. ** -** These routines attempt to convert the value where appropriate. ^For -** example, if the internal representation is FLOAT and a text result +** 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: @@ -4281,7 +4523,7 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); ** ^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 +** and BLOBs is freed automatically. Do not pass the pointers returned ** from [sqlite3_column_blob()], [sqlite3_column_text()], etc. into ** [sqlite3_free()]. ** @@ -4292,15 +4534,15 @@ SQLITE_API int sqlite3_data_count(sqlite3_stmt *pStmt); ** [SQLITE_NOMEM].)^ */ SQLITE_API const void *sqlite3_column_blob(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 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 int sqlite3_column_type(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 @@ -4534,21 +4776,43 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** CAPI3REF: Obtaining SQL Values ** METHOD: sqlite3_value ** -** The C-language implementation of SQL functions and aggregates uses -** this set of interface routines to access the parameter values on -** the function or aggregate. -** -** The xFunc (for scalar functions) or xStep (for aggregates) parameters -** to [sqlite3_create_function()] and [sqlite3_create_function16()] -** define callbacks that implement the SQL functions and aggregates. -** The 3rd parameter to these callbacks is an array of pointers to -** [protected sqlite3_value] objects. There is one [sqlite3_value] object for -** each parameter to the SQL function. These routines are used to -** extract values from the [sqlite3_value] objects. +** 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] -** object results in undefined behavior. +** is not threadsafe. ** ** ^These routines work just like the corresponding [column access functions] ** except that these routines take a single [protected sqlite3_value] object @@ -4559,6 +4823,24 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** 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 @@ -4567,6 +4849,19 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** 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 @@ -4577,17 +4872,19 @@ SQLITE_API SQLITE_DEPRECATED int sqlite3_memory_alarm(void(*)(void*,sqlite3_int6 ** the SQL function that supplied the [sqlite3_value*] parameters. */ SQLITE_API const void *sqlite3_value_blob(sqlite3_value*); -SQLITE_API int sqlite3_value_bytes(sqlite3_value*); -SQLITE_API int sqlite3_value_bytes16(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 @@ -4598,10 +4895,6 @@ SQLITE_API int sqlite3_value_numeric_type(sqlite3_value*); ** 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 makes no use of subtype itself. It merely passes the subtype -** from the result of one [application-defined SQL function] into the -** input of another. */ SQLITE_API unsigned int sqlite3_value_subtype(sqlite3_value*); @@ -4709,10 +5002,11 @@ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*); ** the compiled regular expression can be reused on multiple ** invocations of the same function. ** -** ^The sqlite3_get_auxdata() interface returns a pointer to the metadata -** associated by the sqlite3_set_auxdata() function with the Nth argument -** value to the application-defined function. ^If there is no metadata -** associated with the function argument, this sqlite3_get_auxdata() interface +** ^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 @@ -4743,6 +5037,10 @@ SQLITE_API sqlite3 *sqlite3_context_db_handle(sqlite3_context*); ** 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. */ @@ -4866,7 +5164,7 @@ typedef void (*sqlite3_destructor_type)(void*); ** 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 +** 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 @@ -4879,6 +5177,17 @@ typedef void (*sqlite3_destructor_type)(void*); ** [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. @@ -4902,6 +5211,7 @@ SQLITE_API void sqlite3_result_text16(sqlite3_context*, const void*, int, 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); @@ -5388,7 +5698,7 @@ SQLITE_API void *sqlite3_rollback_hook(sqlite3*, void(*)(void *), void*); ** ^The update hook is not invoked when [WITHOUT ROWID] tables are modified. ** ** ^In the current implementation, the update hook -** is not invoked when duplication rows are deleted because of an +** 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 @@ -5561,7 +5871,9 @@ SQLITE_API SQLITE_DEPRECATED void sqlite3_soft_heap_limit(int N); ** ^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. +** 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 @@ -5971,15 +6283,20 @@ struct sqlite3_index_info { ** 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_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 @@ -6170,6 +6487,12 @@ typedef struct sqlite3_blob sqlite3_blob; ** [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 @@ -6193,6 +6516,10 @@ typedef struct sqlite3_blob sqlite3_blob; ** ** 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*, @@ -6208,11 +6535,11 @@ SQLITE_API int sqlite3_blob_open( ** 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 +** ^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 can be +** 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()] - @@ -6660,9 +6987,9 @@ SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*); ** 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 +** ^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 +** 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. ** @@ -6674,7 +7001,7 @@ SQLITE_API sqlite3_mutex *sqlite3_db_mutex(sqlite3*); ** an incorrect zDbName and an SQLITE_ERROR return from the underlying ** xFileControl method. ** -** See also: [SQLITE_FCNTL_LOCKSTATE] +** See also: [file control opcodes] */ SQLITE_API int sqlite3_file_control(sqlite3*, const char *zDbName, int op, void*); @@ -6721,7 +7048,7 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_RESERVE 14 #define SQLITE_TESTCTRL_OPTIMIZATIONS 15 #define SQLITE_TESTCTRL_ISKEYWORD 16 -#define SQLITE_TESTCTRL_SCRATCHMALLOC 17 +#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 @@ -6731,7 +7058,8 @@ SQLITE_API int sqlite3_test_control(int op, ...); #define SQLITE_TESTCTRL_ISINIT 23 #define SQLITE_TESTCTRL_SORTER_MMAP 24 #define SQLITE_TESTCTRL_IMPOSTER 25 -#define SQLITE_TESTCTRL_LAST 25 +#define SQLITE_TESTCTRL_PARSER_COVERAGE 26 +#define SQLITE_TESTCTRL_LAST 26 /* Largest TESTCTRL */ /* ** CAPI3REF: SQLite Runtime Status @@ -6780,8 +7108,7 @@ SQLITE_API int sqlite3_status64( **
    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. Scratch memory -** controlled by [SQLITE_CONFIG_SCRATCH] and auxiliary page-cache +** 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].
    )^ @@ -6819,29 +7146,14 @@ SQLITE_API int sqlite3_status64( ** *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
    -**
    This parameter returns the number of allocations used out of the -** [scratch memory allocator] configured using -** [SQLITE_CONFIG_SCRATCH]. The value returned is in allocations, not -** in bytes. Since a single thread may only have one scratch allocation -** outstanding at time, this parameter also reports the number of threads -** using scratch memory at the same time.
    )^ +** [[SQLITE_STATUS_SCRATCH_USED]]
    SQLITE_STATUS_SCRATCH_USED
    +**
    No longer used.
    ** ** [[SQLITE_STATUS_SCRATCH_OVERFLOW]] ^(
    SQLITE_STATUS_SCRATCH_OVERFLOW
    -**
    This parameter returns the number of bytes of scratch memory -** allocation which could not be satisfied by the [SQLITE_CONFIG_SCRATCH] -** buffer and where forced to overflow to [sqlite3_malloc()]. The values -** returned include overflows because the requested allocation was too -** larger (that is, because the requested allocation was larger than the -** "sz" parameter to [SQLITE_CONFIG_SCRATCH]) and because no scratch buffer -** slots were available. -**
    )^ -** -** [[SQLITE_STATUS_SCRATCH_SIZE]] ^(
    SQLITE_STATUS_SCRATCH_SIZE
    -**
    This parameter records the largest memory allocation request -** handed to [scratch 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.
    )^ +**
    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. @@ -6854,12 +7166,12 @@ SQLITE_API int sqlite3_status64( #define SQLITE_STATUS_MEMORY_USED 0 #define SQLITE_STATUS_PAGECACHE_USED 1 #define SQLITE_STATUS_PAGECACHE_OVERFLOW 2 -#define SQLITE_STATUS_SCRATCH_USED 3 -#define SQLITE_STATUS_SCRATCH_OVERFLOW 4 +#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 +#define SQLITE_STATUS_SCRATCH_SIZE 8 /* NOT USED */ #define SQLITE_STATUS_MALLOC_COUNT 9 /* @@ -7064,6 +7376,24 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); ** 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. **
    ** */ @@ -7071,6 +7401,9 @@ SQLITE_API int sqlite3_stmt_status(sqlite3_stmt*, int op,int resetFlg); #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 @@ -7980,6 +8313,40 @@ SQLITE_API int sqlite3_vtab_config(sqlite3*, int op, ...); */ 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} @@ -8141,7 +8508,7 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*); ** ** ^The [sqlite3_preupdate_hook()] interface registers a callback function ** that is invoked prior to each [INSERT], [UPDATE], and [DELETE] operation -** on a [rowid table]. +** 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. @@ -8150,9 +8517,9 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*); ** ^The third parameter to [sqlite3_preupdate_hook()] is passed through as ** the first parameter to callbacks. ** -** ^The preupdate hook only fires for changes to [rowid tables]; the preupdate -** hook is not invoked for changes to [virtual tables] or [WITHOUT ROWID] -** tables. +** ^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. @@ -8166,12 +8533,16 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*); ** databases.)^ ** ^The fifth parameter to the preupdate callback is the name of the ** table that is being modified. -** ^The sixth parameter to the preupdate callback is the initial [rowid] of the -** row being changes for SQLITE_UPDATE and SQLITE_DELETE changes and is -** undefined for SQLITE_INSERT changes. -** ^The seventh parameter to the preupdate callback is the final [rowid] of -** the row being changed for SQLITE_UPDATE and SQLITE_INSERT changes and is -** undefined for SQLITE_DELETE changes. +** +** 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 @@ -8211,7 +8582,8 @@ SQLITE_API int sqlite3_db_cacheflush(sqlite3*); ** ** See also: [sqlite3_update_hook()] */ -SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_preupdate_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() */ @@ -8224,10 +8596,11 @@ SQLITE_API SQLITE_EXPERIMENTAL void *sqlite3_preupdate_hook( ), void* ); -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_old(sqlite3 *, int, sqlite3_value **); -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_count(sqlite3 *); -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_depth(sqlite3 *); -SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_preupdate_new(sqlite3 *, int, sqlite3_value **); +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 @@ -8243,7 +8616,7 @@ SQLITE_API int sqlite3_system_errno(sqlite3*); /* ** CAPI3REF: Database Snapshot -** KEYWORDS: {snapshot} +** KEYWORDS: {snapshot} {sqlite3_snapshot} ** EXPERIMENTAL ** ** An instance of the snapshot object records the state of a [WAL mode] @@ -8267,7 +8640,9 @@ SQLITE_API int sqlite3_system_errno(sqlite3*); ** to an historical snapshot (if possible). The destructor for ** sqlite3_snapshot objects is [sqlite3_snapshot_free()]. */ -typedef struct sqlite3_snapshot sqlite3_snapshot; +typedef struct sqlite3_snapshot { + unsigned char hidden[48]; +} sqlite3_snapshot; /* ** CAPI3REF: Record A Database Snapshot @@ -8278,9 +8653,32 @@ typedef struct sqlite3_snapshot sqlite3_snapshot; ** 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 schema S of [database connection] D is not a [WAL mode] database -** that is in a read transaction, then [sqlite3_snapshot_get(D,S,P)] -** leaves the *P value unchanged and returns an appropriate [error code]. +** 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()] @@ -8373,6 +8771,28 @@ SQLITE_API SQLITE_EXPERIMENTAL int sqlite3_snapshot_cmp( 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); + /* ** Undo the hack that converts floating point types to integer for ** builds on processors without floating point support. @@ -8558,7 +8978,7 @@ typedef struct sqlite3_changeset_iter sqlite3_changeset_iter; ** attached database. It is not an error if database zDb is not attached ** to the database when the session object is created. */ -int sqlite3session_create( +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 */ @@ -8576,7 +8996,7 @@ int sqlite3session_create( ** are attached is closed. Refer to the documentation for ** [sqlite3session_create()] for details. */ -void sqlite3session_delete(sqlite3_session *pSession); +SQLITE_API void sqlite3session_delete(sqlite3_session *pSession); /* @@ -8596,7 +9016,7 @@ void sqlite3session_delete(sqlite3_session *pSession); ** The return value indicates the final state of the session object: 0 if ** the session is disabled, or 1 if it is enabled. */ -int sqlite3session_enable(sqlite3_session *pSession, int bEnable); +SQLITE_API int sqlite3session_enable(sqlite3_session *pSession, int bEnable); /* ** CAPI3REF: Set Or Clear the Indirect Change Flag @@ -8625,7 +9045,7 @@ int sqlite3session_enable(sqlite3_session *pSession, int bEnable); ** The return value indicates the final state of the indirect flag: 0 if ** it is clear, or 1 if it is set. */ -int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect); +SQLITE_API int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect); /* ** CAPI3REF: Attach A Table To A Session Object @@ -8654,8 +9074,37 @@ int sqlite3session_indirect(sqlite3_session *pSession, int bIndirect); ** ** 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. -*/ -int sqlite3session_attach( +** +**

    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 */ ); @@ -8669,7 +9118,7 @@ int sqlite3session_attach( ** If xFilter returns 0, changes is not tracked. Note that once a table is ** attached, xFilter will not be called again. */ -void sqlite3session_table_filter( +SQLITE_API void sqlite3session_table_filter( sqlite3_session *pSession, /* Session object */ int(*xFilter)( void *pCtx, /* Copy of third arg to _filter_table() */ @@ -8782,7 +9231,7 @@ void sqlite3session_table_filter( ** 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. */ -int sqlite3session_changeset( +SQLITE_API int sqlite3session_changeset( sqlite3_session *pSession, /* Session object */ int *pnChangeset, /* OUT: Size of buffer at *ppChangeset */ void **ppChangeset /* OUT: Buffer containing changeset */ @@ -8826,7 +9275,8 @@ int sqlite3session_changeset( ** 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 in each, an UPDATE record is added to the session. +** 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 @@ -8843,7 +9293,7 @@ int sqlite3session_changeset( ** message. It is the responsibility of the caller to free this buffer using ** sqlite3_free(). */ -int sqlite3session_diff( +SQLITE_API int sqlite3session_diff( sqlite3_session *pSession, const char *zFromDb, const char *zTbl, @@ -8879,10 +9329,10 @@ int sqlite3session_diff( ** a single table are grouped together, tables appear in the order in which ** they were attached to the session object). */ -int sqlite3session_patchset( +SQLITE_API int sqlite3session_patchset( sqlite3_session *pSession, /* Session object */ - int *pnPatchset, /* OUT: Size of buffer at *ppChangeset */ - void **ppPatchset /* OUT: Buffer containing changeset */ + int *pnPatchset, /* OUT: Size of buffer at *ppPatchset */ + void **ppPatchset /* OUT: Buffer containing patchset */ ); /* @@ -8900,7 +9350,7 @@ int sqlite3session_patchset( ** guaranteed that a call to sqlite3session_changeset() will return a ** changeset containing zero changes. */ -int sqlite3session_isempty(sqlite3_session *pSession); +SQLITE_API int sqlite3session_isempty(sqlite3_session *pSession); /* ** CAPI3REF: Create An Iterator To Traverse A Changeset @@ -8935,7 +9385,7 @@ int sqlite3session_isempty(sqlite3_session *pSession); ** the applies to table X, then one for table Y, and then later on visit ** another change for table X. */ -int sqlite3changeset_start( +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 */ @@ -8964,7 +9414,7 @@ int sqlite3changeset_start( ** codes include SQLITE_CORRUPT (if the changeset buffer is corrupt) or ** SQLITE_NOMEM. */ -int sqlite3changeset_next(sqlite3_changeset_iter *pIter); +SQLITE_API int sqlite3changeset_next(sqlite3_changeset_iter *pIter); /* ** CAPI3REF: Obtain The Current Operation From A Changeset Iterator @@ -8992,7 +9442,7 @@ int sqlite3changeset_next(sqlite3_changeset_iter *pIter); ** SQLite error code is returned. The values of the output variables may not ** be trusted in this case. */ -int sqlite3changeset_op( +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 */ @@ -9025,7 +9475,7 @@ int sqlite3changeset_op( ** SQLITE_OK is returned and the output variables populated as described ** above. */ -int sqlite3changeset_pk( +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 */ @@ -9055,7 +9505,7 @@ int sqlite3changeset_pk( ** If some other error occurs (e.g. an OOM condition), an SQLite error code ** is returned and *ppValue is set to NULL. */ -int sqlite3changeset_old( +SQLITE_API int sqlite3changeset_old( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int iVal, /* Column number */ sqlite3_value **ppValue /* OUT: Old value (or NULL pointer) */ @@ -9088,7 +9538,7 @@ int sqlite3changeset_old( ** If some other error occurs (e.g. an OOM condition), an SQLite error code ** is returned and *ppValue is set to NULL. */ -int sqlite3changeset_new( +SQLITE_API int sqlite3changeset_new( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int iVal, /* Column number */ sqlite3_value **ppValue /* OUT: New value (or NULL pointer) */ @@ -9115,7 +9565,7 @@ int sqlite3changeset_new( ** If some other error occurs (e.g. an OOM condition), an SQLite error code ** is returned and *ppValue is set to NULL. */ -int sqlite3changeset_conflict( +SQLITE_API int sqlite3changeset_conflict( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int iVal, /* Column number */ sqlite3_value **ppValue /* OUT: Value from conflicting row */ @@ -9131,7 +9581,7 @@ int sqlite3changeset_conflict( ** ** In all other cases this function returns SQLITE_MISUSE. */ -int sqlite3changeset_fk_conflicts( +SQLITE_API int sqlite3changeset_fk_conflicts( sqlite3_changeset_iter *pIter, /* Changeset iterator */ int *pnOut /* OUT: Number of FK violations */ ); @@ -9164,7 +9614,7 @@ int sqlite3changeset_fk_conflicts( ** // An error has occurred ** } */ -int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter); +SQLITE_API int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter); /* ** CAPI3REF: Invert A Changeset @@ -9194,7 +9644,7 @@ int sqlite3changeset_finalize(sqlite3_changeset_iter *pIter); ** WARNING/TODO: This function currently assumes that the input is a valid ** changeset. If it is not, the results are undefined. */ -int sqlite3changeset_invert( +SQLITE_API int sqlite3changeset_invert( int nIn, const void *pIn, /* Input changeset */ int *pnOut, void **ppOut /* OUT: Inverse of input */ ); @@ -9223,7 +9673,7 @@ int sqlite3changeset_invert( ** ** Refer to the sqlite3_changegroup documentation below for details. */ -int sqlite3changeset_concat( +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 */ @@ -9273,7 +9723,7 @@ typedef struct sqlite3_changegroup sqlite3_changegroup; ** sqlite3changegroup_output() functions, also available are the streaming ** versions sqlite3changegroup_add_strm() and sqlite3changegroup_output_strm(). */ -int sqlite3changegroup_new(sqlite3_changegroup **pp); +SQLITE_API int sqlite3changegroup_new(sqlite3_changegroup **pp); /* ** CAPI3REF: Add A Changeset To A Changegroup @@ -9350,7 +9800,7 @@ int sqlite3changegroup_new(sqlite3_changegroup **pp); ** ** If no error occurs, SQLITE_OK is returned. */ -int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData); +SQLITE_API int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData); /* ** CAPI3REF: Obtain A Composite Changeset From A Changegroup @@ -9376,7 +9826,7 @@ int sqlite3changegroup_add(sqlite3_changegroup*, int nData, void *pData); ** responsibility of the caller to eventually free the buffer using a ** call to sqlite3_free(). */ -int sqlite3changegroup_output( +SQLITE_API int sqlite3changegroup_output( sqlite3_changegroup*, int *pnData, /* OUT: Size of output buffer in bytes */ void **ppData /* OUT: Pointer to output buffer */ @@ -9385,7 +9835,7 @@ int sqlite3changegroup_output( /* ** CAPI3REF: Delete A Changegroup Object */ -void sqlite3changegroup_delete(sqlite3_changegroup*); +SQLITE_API void sqlite3changegroup_delete(sqlite3_changegroup*); /* ** CAPI3REF: Apply A Changeset To A Database @@ -9411,7 +9861,7 @@ void sqlite3changegroup_delete(sqlite3_changegroup*); **
      **
    • The table has the same name as the name recorded in the ** changeset, and -**
    • The table has the same number of columns as recorded in the +**
    • 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. @@ -9456,7 +9906,11 @@ void sqlite3changegroup_delete(sqlite3_changegroup*); ** 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. +** 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] @@ -9471,7 +9925,9 @@ void sqlite3changegroup_delete(sqlite3_changegroup*); ** **
      INSERT Changes
      ** For each INSERT change, an attempt is made to insert the new row into -** the database. +** 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 @@ -9489,13 +9945,13 @@ void sqlite3changegroup_delete(sqlite3_changegroup*); ** For each UPDATE change, this 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 updated within the target database. +** 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 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 +** 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. @@ -9523,7 +9979,7 @@ void sqlite3changegroup_delete(sqlite3_changegroup*); ** rolled back, restoring the target database to its original state, and an ** SQLite error code returned. */ -int sqlite3changeset_apply( +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 */ @@ -9643,12 +10099,12 @@ int sqlite3changeset_apply( ** ** ** -**
      Streaming functionNon-streaming equivalent
      sqlite3changeset_apply_str[sqlite3changeset_apply] -**
      sqlite3changeset_concat_str[sqlite3changeset_concat] -**
      sqlite3changeset_invert_str[sqlite3changeset_invert] -**
      sqlite3changeset_start_str[sqlite3changeset_start] -**
      sqlite3session_changeset_str[sqlite3session_changeset] -**
      sqlite3session_patchset_str[sqlite3session_patchset] +**
      sqlite3changeset_apply_strm[sqlite3changeset_apply] +**
      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 @@ -9724,7 +10180,7 @@ int sqlite3changeset_apply( ** 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. */ -int sqlite3changeset_apply_strm( +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 */ @@ -9739,7 +10195,7 @@ int sqlite3changeset_apply_strm( ), void *pCtx /* First argument passed to xConflict */ ); -int sqlite3changeset_concat_strm( +SQLITE_API int sqlite3changeset_concat_strm( int (*xInputA)(void *pIn, void *pData, int *pnData), void *pInA, int (*xInputB)(void *pIn, void *pData, int *pnData), @@ -9747,32 +10203,32 @@ int sqlite3changeset_concat_strm( int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut ); -int sqlite3changeset_invert_strm( +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 ); -int sqlite3changeset_start_strm( +SQLITE_API int sqlite3changeset_start_strm( sqlite3_changeset_iter **pp, int (*xInput)(void *pIn, void *pData, int *pnData), void *pIn ); -int sqlite3session_changeset_strm( +SQLITE_API int sqlite3session_changeset_strm( sqlite3_session *pSession, int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut ); -int sqlite3session_patchset_strm( +SQLITE_API int sqlite3session_patchset_strm( sqlite3_session *pSession, int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut ); -int sqlite3changegroup_add_strm(sqlite3_changegroup*, +SQLITE_API int sqlite3changegroup_add_strm(sqlite3_changegroup*, int (*xInput)(void *pIn, void *pData, int *pnData), void *pIn ); -int sqlite3changegroup_output_strm(sqlite3_changegroup*, +SQLITE_API int sqlite3changegroup_output_strm(sqlite3_changegroup*, int (*xOutput)(void *pOut, const void *pData, int nData), void *pOut );
  • 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%0AQUz#_Zh|Yjf5Q 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