From c953f57e55810fa0e3201a67a4622fe4ac39c278 Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Tue, 17 Dec 2024 23:16:20 +0000 Subject: [PATCH] update ncruces/go-sqlite3 to v0.21.2 (#3626) --- go.mod | 2 +- go.sum | 4 +- .../github.com/ncruces/go-sqlite3/README.md | 2 +- .../ncruces/go-sqlite3/embed/sqlite3.wasm | Bin 1391469 -> 1390983 bytes .../go-sqlite3/internal/dotlk/dotlk.go | 29 +++++++ .../go-sqlite3/internal/dotlk/dotlk_other.go | 13 +++ .../go-sqlite3/internal/dotlk/dotlk_unix.go | 50 +++++++++++ .../util/sql3util/parse/sql3parse_table.wasm | Bin 17389 -> 17400 bytes .../ncruces/go-sqlite3/vfs/README.md | 5 -- .../ncruces/go-sqlite3/vfs/os_bsd.go | 37 +++++++- .../ncruces/go-sqlite3/vfs/os_dotlk.go | 15 ++-- .../ncruces/go-sqlite3/vfs/shm_bsd.go | 79 ++++++++++++++---- .../ncruces/go-sqlite3/vfs/shm_dotlk.go | 10 +-- vendor/modules.txt | 3 +- 14 files changed, 203 insertions(+), 46 deletions(-) create mode 100644 vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go create mode 100644 vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go create mode 100644 vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go diff --git a/go.mod b/go.mod index 8766becda..78bf1c892 100644 --- a/go.mod +++ b/go.mod @@ -62,7 +62,7 @@ require ( github.com/miekg/dns v1.1.62 github.com/minio/minio-go/v7 v7.0.81 github.com/mitchellh/mapstructure v1.5.0 - github.com/ncruces/go-sqlite3 v0.21.1 + github.com/ncruces/go-sqlite3 v0.21.2 github.com/oklog/ulid v1.3.1 github.com/prometheus/client_golang v1.20.5 github.com/spf13/cobra v1.8.1 diff --git a/go.sum b/go.sum index f3812e8ac..693cfa1e6 100644 --- a/go.sum +++ b/go.sum @@ -434,8 +434,8 @@ github.com/moul/http2curl v1.0.0 h1:dRMWoAtb+ePxMlLkrCbAqh4TlPHXvoGUSQ323/9Zahs= github.com/moul/http2curl v1.0.0/go.mod h1:8UbvGypXm98wA/IqH45anm5Y2Z6ep6O31QGOAZ3H0fQ= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/ncruces/go-sqlite3 v0.21.1 h1:cbzIOY3jQrXZWVsBfH9TCFj/iqqMIcJ7PLye4AAEwoQ= -github.com/ncruces/go-sqlite3 v0.21.1/go.mod h1:zxMOaSG5kFYVFK4xQa0pdwIszqxqJ0W0BxBgwdrNjuA= +github.com/ncruces/go-sqlite3 v0.21.2 h1:X7Ao4BwtS9h308lFtZA/stkvrzEHvAdp8g4Gko7Ehjs= +github.com/ncruces/go-sqlite3 v0.21.2/go.mod h1:zxMOaSG5kFYVFK4xQa0pdwIszqxqJ0W0BxBgwdrNjuA= github.com/ncruces/go-strftime v0.1.9 h1:bY0MQC28UADQmHmaF5dgpLmImcShSi2kHU9XLdhx/f4= github.com/ncruces/go-strftime v0.1.9/go.mod h1:Fwc5htZGVVkseilnfgOVb9mKy6w1naJmn9CehxcKcls= github.com/ncruces/julianday v1.0.0 h1:fH0OKwa7NWvniGQtxdJRxAgkBMolni2BjDHaWTxqt7M= diff --git a/vendor/github.com/ncruces/go-sqlite3/README.md b/vendor/github.com/ncruces/go-sqlite3/README.md index d3d5e518f..b370e9638 100644 --- a/vendor/github.com/ncruces/go-sqlite3/README.md +++ b/vendor/github.com/ncruces/go-sqlite3/README.md @@ -74,7 +74,7 @@ This project aims for [high test coverage](https://github.com/ncruces/go-sqlite3 It also benefits greatly from [SQLite's](https://sqlite.org/testing.html) and [wazero's](https://tetrate.io/blog/introducing-wazero-from-tetrate/#:~:text=Rock%2Dsolid%20test%20approach) thorough testing. -Every commit is [tested](https://github.com/ncruces/go-sqlite3/wiki/Test-matrix) on +Every commit is [tested](https://github.com/ncruces/go-sqlite3/wiki/Support-matrix) on Linux (amd64/arm64/386/riscv64/ppc64le/s390x), macOS (amd64/arm64), Windows (amd64), FreeBSD (amd64), OpenBSD (amd64), NetBSD (amd64), DragonFly BSD (amd64), illumos (amd64), and Solaris (amd64). diff --git a/vendor/github.com/ncruces/go-sqlite3/embed/sqlite3.wasm b/vendor/github.com/ncruces/go-sqlite3/embed/sqlite3.wasm index 05a6065f4059f7f65d8359ff9aace9d10576a1b0..c312aa62af42d44e507f7f995257fab10f2f8f7c 100644 GIT binary patch delta 21881 zcmcJ%36xaTwKsmJI;ZYXUAL-w9`C)~Km*-P15Gn3Tx3>pNTPYfASN*()orwqXyO-X zR1i?(fILq0`HUoS!~ud@fg}pfb3_Sh9FRES5a&3d;rs1#s+(5H|Gl;T>sw;q=?weq zdGE7N{o|u=uK3`a8>TiGTefVP)-Ws7Z`<_CDVue#MKeMp&|@PX>YKhXwR^XIiP+kx z&(PZhZ_?{+Gf2dGK1$44F``K?jA$|@)#%q2x+fdoNn`>&G>s|7l)#Afu80R*?3`wd z?X)aw3Bym_ahWc$4hfX=rZ13olMLrcE>+&5FTi8EvIz zV1yP;L{njWKxc}DXBo|+ZMl&htJV}GXVQ4F7MjJTMqm;&krkNn)lXUSJ~0F9v8JbV z&k$4U-7@j^Sw=ZC2`W=KXB$In&FR(@3}O&qx`dXVumTJxPIxO(CSK?<`43GjnwAon zG;5H+XS>ww_4Ei=Yf4Ztp; zHQ==5FQYd571Xl85Z-x4C~iL2C>iuWqs;}c8OslVHcg@JsO3hk)QmAR=zFzD#N1z) z(!n$0yQ_>q9JI=47p<#|60vi+F}O}q+0$I`r4wIrujRjFq%no!^#0^Qw4Qg2_Ezl+Brlkl#R(b=SxJaY7SY~L& z8hFy^r3WR%@sk>4rkdL6s@*lkc7_|{w%BTWe=9?^x>oe6;n3{b{$`K#H#1eU>-G@Q{ z<%TcLTxHZ}q`nFCqPEeXCT?71j1=Gd+^G;Bt}+_M=4D2CtCD)%n(`%~2T}U<6&OV7 zC>mkjc^CoOjfqRnGpdRTs<7caW0R}56@IYRIC`{xU!m}zvHsio6tOQd1F<|Z$BBJ{ zx%G*_?le5l#8Og5kdWG@*?8HAOej8AwsvAKcA%K_88wBl(QIlhZPTN$f)p88D<4&L z8tp+vVcwDEDBUl9st7XlDKn?=-$$9djx|22D=fL*G%WF#r?UyM{3bK{5h*<_$OcXR zZZmWOx7lclJWLumDInI1wRoi-WNV^SJ}e8|ARBv&a{G zDDayND=zJh()oN?A2bB4D_*)(4^pD$X7e-ME0o`29{kdx}XQ}&`mHqVl@%( zGy)(|hrF-UsRh719l&9IRC2F z2`VXuiTL3)iB2Pl^{zkH>NG6eY8E>LpVsp?fIs{ z%WJGkNB^z(;!3MRpHe9MwRMs$R$OOwh^^OIb$UX)aGe#1+SPu$XuIAj!Ha{gw+CKi6AhU43I=)2-H#x^4^WcI%6A{cHuZepdi;Rz{ z2Ck;2OI*Cga&^0K#TIMc@ANCh$MX|gJQobsoDZRFLQnkp_(WZ`OD+>hZY!*oyA>R% z&4uaGLq~jceBx&oyezkH+JeNzmhK6DVqzu~z!4`V&NG-tJm!gAKT0el?pv7nB|hz3 zn7DqQ@p(d=wU9+~f<&vfQMYtT6t^?7xTU=Mvxx z42DITRMn7uMyqD2Mr2N9BQmC{ zQPG%UpoD5e##FW;Q>xl1ODZ0^j5RneP+&@PS@_^G_6<-)%)Ev*;nIB#n_uU~6{LyG z_{<(~M122WtPld|hEPI*D_*;X?a4aep+IjoI@HCAY_a=VHp>U66ZbgqtecINFjp9V z9s7|n37#nUz+cJ&+<}<5BdZ~YXpcyelo8_rsnN)vgBM-^-HeNP?grLmdx0+_2S?cJ z*-5%14!)5s7H_U+M;GtMI)Q2R67y=%^lqndSdfYzfnv-8YK=5C!JzfSKzGpdj(Gh> z7WvsYnI|rQotmnRHMF%ivV(M|@E{&!w ztLXB2V$ue-9bZc}vNH_NymZ@)%GzFKt-$pRkOdxzJA<8U?~Zcfj*V;>MELcMY}}C! zMk72pvEPF>WLZ8&$mLAXJV^{Z->>)Ji7?wl>-4dj^FYW}%_D?6@m5WaAce&dJ-=r^ z8U_oNkDMSqORC{Co?x_DkjDJ^xE8@46gb+z)Cpq~>vV0%NR*ff0Bmu{CUz56^WG-b zqGv_@t*pXyf}9w4EBhHxv+-88Qnwt8Cl0!u{i?*-A9s-h795nR5TD)7E_Ptf{NE6& zZLy}n#(`Xq7TEBFBj@;{z_#Jdoqu2pZ53&jgCy;nSsUYM^>t53)lRS8G4pR&Pi{Cfq|lG%(&%G z><3s;!=Krc6CDzKJO2;G>d4~9wOBeWD)X3<0~g)vjj#_x3alrZ8zWzzq9BL0MeSsGt! z)sDqV=yoCIEQJb9Kvj$Bcd|(%TzHva#$;gm`z$$$A3-D_=8BKp_O%Esez%vN?-mm|Y|3VL9aC|iN(x+TI4 zR+J#9`T!_SAt%IIq0sS10_91yAXhG;1w%`dqh5|CY-xi<7j)R zVT~mnL*#=B#8Qeh^xdEogh38Q3o1H|rQjna?P9@QEEtw0J<$wlCv|~j4lcD}1~@ij zyC>FxQ=<7+J;;a~?qb7AGtedlxq?ub2ivDu~vZtS?5?Wy$QB>Y@x62M@A zpNRpj#q{+acBq~aOYdPp#*P08e5$cY<7LFgd)OePZSWdHTX?bi9+qp%Kwv^k%1#FD zA}=sDXA+@9Ca^iu0gzU7~lYF04rD&2$O*u z1h)0WntRzisIPbKWj+2^sU=Ri4-mWJPxrCL6p;lIgpnXk;w`*_{QCE^YR4z6!I_WB zM92N?@G1wGfluBI2FK+TI4@96SeGM?e~gWV^piEP@J5;{aATJa!z z@IPp2Fpq=-MfK5zN0rEO2eXJGD0z#drw z$x}dKfHo4DEx1GKRw9^~4s??U95^JDumho>A(I~24`P5HKgx!*%8~aE^*;=76kNv(ap)!iR2OVFS@E9AV&yp4f+J@9npa+nwHr?khKWh{qce6puZg$b$oF5*VrSan@o(hxr#XHz*T_Kh8#%I$-sB z{14wMY(U0g3WXhO9%r-DX=zR z(qiTgP&h5l*ujQpb3r*22AH7FXUU1e4t9Dknj*(i6vK3oE{Y)q`vD{qW8#$;p#{V+ zO=2h!uEbE@Dk-#rbe|NWEu=6_QYafJDU=PA6w2wqM|fqC7>ZMFMZ)g$hx9?>##>T8kxDDf72c;ezKEsygY3ue5suH^-eabIwyVo81e!OSOG#K z=?KbA3)3Rl#mY<$RBV5Nji>>H2*H(BGULaUnlA$t&~n=jR%-17#A}bS3C~wP#Tqed zjX3@odqlEE^-PPsPq9|`a6_MFLqzZMjEQ5OhFfWiKR(UsY#T#$8r|@+Yrkt(*T_!x z)Q2f<0XsJvvzm?4$c7ZyqWl@wkhJ3$*YTNnI_McJ*cQL|+t&uEFAj2l{~%Kc-WnoV zH-ftZbYZHC`1Bb>j<%@(@}TeRHL7V)3u%Paa4Z#M|LZ~T`WqWo2QiT=tqmwxKyD66 z3MkYkVRoRr>}T2GVE<#EMX>IO3!i1<#V;T6xDadIQX8%c1k=BbON5Jk&m!aK72@Zh zb`wyz=)P_j8=M9$$)S=-DAH9IKF^LZA#Ja`$VQQvO_D+aI-Bu?pbY)sU;CSp4vNX{ zj@`|!E~lB`J?PLan*Rr0UHta`Zr1eu;x|m7zQun-IvZMzdiS?RYDnFaWsz|Aw^z?J zdS9D?eJL#T#LxfEzNvtK7v0~?qA9L@>F-ScH{ZmkFR?`k>$+cNqru=;z0BHi+5R#c z12+#G+XRUms2iHV-1VgS6GB}4sd3R zU9YeqRjP*$)KQElmmnW((eNrOpCg-M|Bp-^wV~vwfn}-=eRD*JZ1JJkA}xVXEy#LE zMdyg#S6QvCEM|9*6o1`;ME?=5v9h(#vlJ3V(s!4kl_Ub;QV!t={WW&>#590I6BT@= z0Z!io!9X*R(^=$&zOD$>2o!P0YY3TbF?J8aeXsDnJ?vN=$o5}gBcq~Hxmzg-FP_rX z1TQqUVcY6d&>&K8u(k%WQi5jG`5c(enY1ZGCKp2bY8M>&`s3io58Sk=jOs2CuvFu&e13G;4E?eg3 zWL_&U;WSVdIVaA0kDZN=srT9Na^y#OF*p}YMRGP)Klgq1BVhmb_t|l{YsZU%_FLn=b97o8aq- zjUTcqgnoagVS(X%k#(Q_kZlG0SNxMr%t#MW#_}GzV=F-H`6ruKk|l=_e*%9s&@PVr zh;<+^TmBJikRc5zXc=`NTZ?gF_uA>%znl@MDsk~A+8luVW9d6TVuxTu4-T{*ln@Z4 zbDBS9KdhEfo(#KBLD~Tep`-&@QCDn4tS4UFoMhsGkD34FmbBypv~;H0u(pIZSJZyO z23Ka`X8Hb=1eG55k{-tHuOIkg-Y2XnB}0lz|CcOGqr>^1u$J#g!8DaapF=f4RGE(& zvBO9UlnVgEz^9LjS|FBDTP{vu=T5S7fW$rJdno-;8PrOID~vcI`zc~rTXcTPjzlsH zwF(r=c;ezu+4W$*37@ea=j>K(L|6{?1sjlxAcyky&kz(N5xAF)o8|@8@#j*k!)h=Y zHebLj?OkoUc33nBVkn;j^*p%m*;mg)iqB%nURDjYLQ*QO+{+q95WmWl2sw*Ldm~8x8dl8{}BKJ9qNj;G>KJRmOgzv_?wE!t6C`E|_vH5d$F;+b1 z3pTIHjXxze#Lz_qMI@~jXz}MSST%-w`U|$GZ@44>#acRmjCQ17iN8saCngls z1(A#>m{d`qcNmDDi2njV8{<3vY9;Svt&{-Bz}i=lHIyX9DPW5K%<~!mH7ckJR1$3< zqe(>c=diw%1WPMJ3df!jYe=yoF$tAW?*A8AFDaNZQ`nE1c#tAbl2$yUv5Tik5=u6s#HgH4K#%BD?8e*TU zxXR!aqq6=5a?)&&AtFJ?#A_}`Bn#2O7xDuzijN&2@F(uDDx=4N@P&Y5-ysnnvlQYt0r^j+su{f4Z0KKi91(#6Q#)_41J)f`Y6c$;`|4Ne zdBQ7)?Yzw5ZOAeJ$z(pX{`eA!oOXPE(c)#LSWvrcfix;K3HjQH6B2v~wA#o7Z^h;K z1h21kKsw~*DUJYjWFnZlN(_q25`5@HS~xI|!6e4zf?#cmp|TyPNyEc!Uu_f{U~^bW zlP$hT@F^{_2Ykl<9?(fB+zXO@@@GTL`+EGC@exVt0rS8_!x+1wlPNKxP?EqJI8p=| zKz@SePD^!TE^PMj6NT_PPq0&<+k zPaTboyySt9g*nO2!YNc{W58g-NbwQl0l+D+-vmdfgS?u`+*yaP;;$(_=<5jHK`cQ5HbDqoG_WJ+QZ1&G@cQ9j z!xKtUiW01h&VD3``F~DUi{F;;%5*MvXOcz#$2fto zd|pv&$3q4*BXcQQv%DVl-l;-4DTof-LY?jz))RfxiIu@QNHi6z%rp_#q8c&qBH0 zV^f;4y%s`fteXO#0B-M`Qa&1kEh*)P+gW%Q3xNHs*ip)lZI-c9Jq1#M4%?g#2^eg0 z=i$n=YOuf#ScGi_M2*A(0qJ15!3%>x_q0jAp^R4^McXIk zG!A@AASjE+cCu&wp|GsLBk0(Wk19|l69r#rruKzv!f;c7TY<8isCxf9ygkB%YyCqxf4L4eos1eWKocBo`PdXx0TRk9 zZ?51&I|ys!V5F$J;$nou0rmziple;Hv68MBVi{dANNuOF27D~aEBVNJJfqgkPz4Zp zm=u{9CqwCxNoaFoC0~)l>kcGrfW(d{gKat&Y0i=Fuu4%;1t%&?X3KxwatZxnZWW*C zdbF<$VWW6%hu(}#N;)*-6@MlgL$+=im&Br!6(?c*L zTqr$sK}7g^9aLCigAWi{z@?2`@klj4t^xb?ssf4Xn`VG@a*}n>S4PufW(^-SinbJe z4C4hZ9C_NicPT(Y_*+b;)1EXD8_#evT#)?A8h$Du&DL@XU}x6yX1LE}R}htfdKkb$ zNt{dNC2&O%!4r98cu5x&2S{R3VGi1X{{j!yd3XXgWMYu8B4Gu)%PM#ZHIhLNO^n4z z@mTqr{No}bZxvBNgDHNymS=Q#Z5=-Z`y42RT8tHl!|M1iE3qo@eizN`qbKmA)+gSp zFtH zSx?B#d5VEC$k+dY39&1SL1dKdgB!4VVt0JN{9Tb>`@9=;( z)?_K=(jI^Gn}mNotCpy<{0k{wwZ-{p09AZTz^ie2DB$;(=imU$q0x3cK}XU;>%`|Z#vpOwlY6;1>F>-Ob;;rjAX?uDJjey{5FrSLen)48dm{`0wgx?0u zaMuuiBrdsTzRq>2Y!>zv(5Ym<&s`tCDIqD_8|ogwINOz&MT;5 zVVum8;Jqt;K9nDY0UsX9e?wa)l2ED_xsE(8>Y#03#@$gtLc09yHTh zwVaX|#W2M2n4_JL1HDJRTov-UQVs_Md@vO}?mZVu5fZ)6LRiG(TDYNXsJY8vI236KN!Yu zNgMaX$?cp95Bp~2;`EXHpI>_M+fjTyH1QFm`3PKkM@yF3KAM-pEdh$4AA+pZ4Y>a$(yK#$clXF*+RkMtv{BRjiW@NDzF0v z5xb28BU%sxg!ja_89b~+kVVNTEQ0~D7VWd!;=5ycMcPI_KqjfJ_-ur^;+(NO>P6a_!?WNJQ&_+JSCvM2ol zkN|v?aF+lb1SXK&Pcw+7aeOG$!`yNFh@rBSvX+of`){znWC3wrMv@h$*`N$%?$Z_b zjpL2IP}8V$0CtKd7kMYZ8=2DN0+pzc%S$)Sgux~M3eFiNdgSQ|9Oj^UaG(hqQH#>D zekWe~47Nqcqyy#jTIE@=fnKa7fcB-YjA{tJM@_s4TNx-KaLG={eGOGaAa9kOfL7@% zB0yW%377PTY@qCfYydk!x?R}`sfnnDAhRxAAr2dgN}eMT1I{M)2Dl5MT_~)E_9N^o zSS6_dTC1i5&76inW_P>99g9Cf&68AcARg^f%$vZ&-oB1fy~6vG#!oH^60m?X*4-MdrgKTb?$X9opbUa7;N~E3j(1?*{GkT3)(AofYkQN?? zaGeSP5k1K2=>*R2;JJgMRivjjBcqAO_LPodQeY5SItD(&t4SErjdxrjPkYg+i<>9$ zp>&pz=&!|F-lpw@NcSH-)obx9?7&*Nl(tAues{*Fs?QaD+JHV|$lijx)3z`UotdQmnD& zhMln%_&7viJL3yaePW-Z>#gEDpV_N%dHXYaz1~{5e6Ky(OtgYTu6XY=yS(t>zwB3y zwl>5{!HpMLIWgCyDb#4zGbaqWG>@_Cv5?aSB#({PoVtDmf1FZ$;82;@2pz z2ZJQm*~vj-&<)Ov8fYD4AN+T~`anSO>?pmAxEOh}Q;OvkX~M-(H#;b@y1~hgWAR6X z8A|#gB4LPMfHr6+d58>mZF((Y4{a9QQH*6prIf^gUK09xr?Nr9HLzw7a8d40rL0Xc z;ZfEAgGELLDM+zky;GGYPuC^yh4w!pCRVO@BAto#>z#U>!t01T(I3mf>ax;!Es;q} zITN(~Veo!^c+5nyL_9hk)8E=SU~AM3qIK*qqVt{@q^Nb{Y*%1ym1o%~lZ)IYSqd@h zMkg)4&yyK*G;lk`PmWCy^ps^CO-4#wSb}t&A=YJ*BgC&Svzd5ovCV*=prk7_#6P@b zt$6QL8x=!h+)d6;8o}mNN})sn4@M$D@`BFAd-3_Q_Sh4j-{%a`Ezxwp(>WI6(3~>C zM8%Fb>0L2Zl@d=&zCPesmY9FDQ`uz|Nl6x{pOhe4Go5Ax-w`Q+!C52+L`r!E6MQCX z4dCm8KXBBkRkPwW3aF8wA}(fxv@cgLj|TOrDtRoKQ7T@Rs41$#z@C}HDlx4mV;V*3 ztjdOh;#SDT0-h}8_2399bdd~v(JfA`Vy1yi4*8=0$X`Z6aBWqRek#C5crMlrHY$7) zXP;6cMQ#u!8=Piw+diJ{g)i7l#x=yg51}$n&m;_xrH9iV_QNb;!;xCc$OBgK z)DT08kvY5kDC|J`H_5OM)R+eGhf^bwO^k*v67M;>6m>@vVN9VTC)rAUqMKobqoW!X*d9qV%tM`WcwC_TR49p3>51Dum%^d{z8meHa z(zX5fPGxU4C;`tBr^2+tuUDT*Qm_M$zb?wU!_q!jWeIT+R`{zB`2BkTU)ehTa!t1M z?7@F>1Gv95`vnaNMd;^*l5vD(P@Sc*R0o)niI;!xM5D=*qg*QN0eP@wA0i9HmKx@3 ztP769w&n?su@T~;U%R}MDl$lq8x*n=K@iy`;vs;YcA;f(mym^3lB|G*;%-A+{5&rc z^W7weD!6Ntb8xTRNu|nlseZJ$TkUzUn@`^!@C(C1O20i3Tsk5URT zobG|%7qM!=z%=cIW%Ui54IORDgwFAHg9hzX!4?-w|mj{;wrfphXF> zb-UBBfCG9^91d5RA(sfi=d5UB~&C1U|okj*jUbQdX-ccj##RD=egprfc*P_Tdr z{r90%;lP=M5DW=-11fIv6Ha|bfg;^k$a{B`6hC>wsUFJ7-;<{ekcVnkcgWkc;BG(< zG!Pq~aHb@9oSvYG@B**G(&%O8NvHHM5EgC{(wBW({2#5Rx=6LfPv4p$8@ROe{m@7^ z{AU0mWz~vlgOH9n%I!KaZav&Js@AWD;iH;=#D-X0v4$C=R6>IXo19Yiz6Mpv#d~Yr zA!6%dJ1I_akz6o#IAeSu+9cms3lXjWFCr+>mx+e&<6QOL9ZuCzi~=o`+x3Zsyj5a> z4l*Wz=Ei4;1*1SqHc(<)WCf&g$Th(*E!gdVFwlzO%HH zCm?QA?OWOfoqBRHR^wn47%JibycXMUb<4#gPoRLj<3Evw*|^ggJ;NbMF^j$d9$+<1 zB^#z<_ZX5!Qi2c%F>|S^y9A+&5(@0%oU$196cQm^9Qu^gj>|8ea;ka}10n8KG%qEZ z_x(qk7&sb9DQal4TI9$O`b)l{u>X;BS-fr;5|gOGhL|91dx`jn60uZ!AMly9vmAGj z$;G2hiIx_O0IW6RJrZ+G0c@&Y_bDCSOi(LQ$-w3~#S3&?kBN~_JKq+s)N{XAlE$0* zD4k^ddr=ir^Oj3l680SsNf9Fs(ISs_h@_*nF!I3|6zQWgv0DNztS8=l#%Z1eXwVJ09;jJ!g4PJg zOgJV~er3nouoKZpd}pfPG{LL8=@rZ!z9+>Ie{+VmP%R6!Ayz|n6hROb#Bk|jN|$1P zL5wSY_cv!;FIGc*C+!3J(9b|5u-PPoW^z60JBq>(z{~ng)CZ5az(UlE=o@lGzr&I1YSHkXif}1^ z4=Ka`jN~ogt1JE^W(gPwm@xau1Xj z#mkiDql$_r6XM;!CreYi2}f}H$+tAcg0*f{9nw-XibFXO)DKf?3?8s@r%(&@oHG)M z`Nlk$YkNXmvIajBwe&fMLnG_{DzRaWTbD!+AIpcTe$J__EuKLpSx6CS@CRqqrC)-4 z!*kAHh^zlR5d_jCPtJlru=Opu9v~njmFLiuznUbA0&LSI1xxFaU4m&u6i9jmXO(2Q zt@KEuFUC+dmWpMix6V1C4C4hx7?t=@XC?qN1L(h=z@J zxPX+N0<~Qn5?o0VV)+9W%EywoeF-iYF?9eBZ6U--5@Ok)FTsTd%Ev;3 zVuC9v58(ADxc*k97ZY3yt}1cGm|f0rJtVZ6Mj{TjM3-zOR_}7=w-@WMq%i>_ zHiP+;g#p+IQv2=h-B=5lRu^ae%B>Rzz3BJ|gXg~J3~Hd@9Z*XD2FsQrp-H_Zmo0|R zH%=ALosZooKt#Jw<90i5tk&NwG%j|JG4vL3#%b=|;^5QWv4zu4cQ3JOM2%73Yc4^p z109kL;m9^Y!-G~~MIriy`!G?ti(W7L3!cACGI;6Iie-Y-L|SS>6Ztn2}HI9 zvW1`ffsdGv%Ei6Q-O+kQ;nU^ropX(ime{hxoq~ke-W~2*1GqJIx>q2*e9B~`;y3)& zJ(M9z1iutAPq|wh{e!|IyWQFPbds~B6fF~g^gAMEP&IX5!!h`4tqiM(sc`GhD>guI zOAX|Az3)4IWa%Zh2099{4o;&h*`rz^{P+Phq#2(vDtVJ3ca9lXIV6m6REL)skdR+#aBV(Tv~HwopGuwg?@ z{QB2WGdO3eCO&@2eYBSp+wh5cIW(uW4MRg0LTlGd)U%L#GagPcOC~6#tfv{2Lkma` z0oH^RGB%^NcsPDxjz(EZC1UsqrNEk~Bb_Fv3G`)SO)vpsv=_KMCZE!Y%=kf=ATb-r zlBUxVvtDsWW~KWBUk4`)A@&5ZIR6#*Wc*y#-dEfq9{FJ8V*v4%XnWPI5}zL9q>acB zZ~qgl{nJ<7%2M!sWsm^}pf|E0l#H;%x>wx_k2JN}qt0uHdtP-X3?VZ_?le}3-vmN6 zMf|UQCT)HZ-cXW2jEe)yV$f^ug28A*rqz(65a7~VL6#QbM}oGuags4G3+rEVD|O^q z?%CsxloQ~Lg%(ey!hTdk5HFy%q$^5e0J5hB+~-Ifb+BJ0#=PzxQ;Yl)vor8HDT|RklZnIOm|)xjV*58Y0QrdJj&L(iu`r zDLUVD8-`<<+oFVwK(S#QSTaEamQ!2C1{M&?AP~AkEPc~0ZMJA%8Q3uK9-so7#kPbB z^$w;4t^f3X@kg16kTRF(ik2U_&QgQcpVSbXa( z_Yf@XvbWr)k1F~~aB`HImHv)Wv(m{^Y8IdO`$~9FYF0K-Y8LO5&u)ve-Zkcq3N-Q~ zp+((REhQ}m9quHPNuCL~pfuuAbd%)C5dI5O-*(OU`l`Z=!@Oq<4{{TZ#7|S`EumEy zeuQ^sO5AXqx215>cfHGXSW!!ojU=p)Io=z~YUFP+DL;dL(n6<{_e8x7p$-$@KhcXy zD9xbw4p?L>ESAtQOCwOBx6Kq|OS*FDW>F`hh>_Hy56KAe}UzGM{@WJ-A># zoWA@#eW$qcTmGm^Pnn)B?E02}oLiWGg8xBkxUAEv4P~)wrT=@%WNnf^-XJ$d;EMPA z>PF!gC;PL<=x>Spe&?@(W{6yA< zrp%#M!5f;%={RkT9d=Sf&_PHCkPn!T3Z26;x16ZIQh4>E%m^bnCBUIEAX~JLPuGg^ zt1}bD&sS&ap}l{-IulwNs?-YGR%aH!qrY3|JUjanJwZK|h|kW>){1-2$^KXtWcr^o zH%g2(n}ftu?P&U$I1LKDaQL$9xElw9ndp!;L>?@Q zNxDq;?QwYz1`DOLN8aQ91lyT9`hn?1p6SLOs3sghf9( saq;m#Jn@9ZKV5Xnci8E12h{{!A z0nXnfgXE7hjmePXnXtMT)jOKS@y!nPORbBi5&fh z#rB-pt|LzvQbkT;4_9(gCVA3YR`K|m-KFAZ7t+N|Hd@Q#eDdmd)zCmDL*E^Cw3C7x zsY)iwRje#c^w~SwEy@LeimR{Q(Qa*b3z;B@oX`rQd~()xrt55*-a+-L9qq;Q?QfU$ zgcIzkjZS1&vN91?99@AZb*K6Z5U4ZHIH1hfDD0p=&aVfUXiCI3HwJoO}d z+wx{;7W_tTC2Mfp@=-Wek*$AsnqARXpJLbb{?GUm!rCYQd;Dcm{Ox0II#mlR-ETX&phNBX^0_MrajD!Weq;beP4S4#OX6J&zOPtLy0DL!M@Gn-)u-FAvS z`QOo^^P|?5hksmXp|3m1p4^-NA9=%LZBL(4TieKHypb2)$Q#~B*H*|xmSN_4BNGS@ z;w|izk*BP+0&BxoJT?-YJdoLW^aW3Tyh<5Xri+z!xwzH^!AU!;A2B`5^DTSWX^%^` z?s2#2U>12ERz6_k<)|jN?h`Om!%dn3F zRcI=lcEic`IQ`Bl*zJ0>nO=3WUDWeWv&S_UJr-FtEhbuZ=rntJX^UY})pgZr=)xOM zvYQ7|9b-8Qw@@)qdQ2;#4UJZm@mf!}r;83%dhgTiwwfZWe&KZcy1<%NjnA<^KGS-v z`lUPVD-O(#*b8-coNd-~;_RYDcJkYM9T=;)JjzAhYˠ(&A9&)TU&bYQk%M>(VL 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 diff --git a/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go b/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go new file mode 100644 index 000000000..3c8d782d7 --- /dev/null +++ b/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk.go @@ -0,0 +1,29 @@ +package dotlk + +import ( + "errors" + "io/fs" + "os" +) + +// LockShm creates a directory on disk to prevent SQLite +// from using this path for a shared memory file. +func LockShm(name string) error { + err := os.Mkdir(name, 0777) + if errors.Is(err, fs.ErrExist) { + s, err := os.Lstat(name) + if err == nil && s.IsDir() { + return nil + } + } + return err +} + +// Unlock removes the lock or shared memory file. +func Unlock(name string) error { + err := os.Remove(name) + if errors.Is(err, fs.ErrNotExist) { + return nil + } + return err +} diff --git a/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go b/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go new file mode 100644 index 000000000..5399a5f8a --- /dev/null +++ b/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_other.go @@ -0,0 +1,13 @@ +//go:build !unix + +package dotlk + +import "os" + +// TryLock returns nil if it acquired the lock, +// fs.ErrExist if another process has the lock. +func TryLock(name string) error { + f, err := os.OpenFile(name, os.O_RDWR|os.O_CREATE|os.O_EXCL, 0666) + f.Close() + return err +} diff --git a/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go b/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go new file mode 100644 index 000000000..177ab30bb --- /dev/null +++ b/vendor/github.com/ncruces/go-sqlite3/internal/dotlk/dotlk_unix.go @@ -0,0 +1,50 @@ +//go:build unix + +package dotlk + +import ( + "errors" + "io/fs" + "os" + "strconv" + + "golang.org/x/sys/unix" +) + +// TryLock returns nil if it acquired the lock, +// fs.ErrExist if another process has the lock. +func TryLock(name string) error { + for retry := true; retry; retry = false { + f, err := os.OpenFile(name, os.O_RDWR|os.O_CREATE|os.O_EXCL, 0666) + if err == nil { + f.WriteString(strconv.Itoa(os.Getpid())) + f.Close() + return nil + } + if !errors.Is(err, fs.ErrExist) { + return err + } + if !removeStale(name) { + break + } + } + return fs.ErrExist +} + +func removeStale(name string) bool { + buf, err := os.ReadFile(name) + if err != nil { + return errors.Is(err, fs.ErrNotExist) + } + + pid, err := strconv.Atoi(string(buf)) + if err != nil { + return false + } + if unix.Kill(pid, 0) == nil { + return false + } + + err = os.Remove(name) + return err == nil || errors.Is(err, fs.ErrNotExist) +} diff --git a/vendor/github.com/ncruces/go-sqlite3/util/sql3util/parse/sql3parse_table.wasm b/vendor/github.com/ncruces/go-sqlite3/util/sql3util/parse/sql3parse_table.wasm index 28eab8d29048f51dc07636525ad4520999532429..4d3357ea1b096f2fdc682e9739cf4312b7326971 100644 GIT binary patch delta 903 zcmZWnO=}ZT6n$TlNoO)<`T+)0;m#l>C|QWjG)yz0O2if39Y&7os18+F54)yAC4Q=Us9q^au26&dEwLn#*4~g<1 zo*^fTTno4XqQ%9U!(O1srxFC^FlUt~N+6oaVo92Hek)OiTyh)Autd@j?!!3}RiEEH zv#*eQ#dP>!`tM}1qS6}bIHqaAQ(cW0ESvx=ZnqX&6aI_;`Mp4*MdSyuuT*Y1QM97s!JQW>wEf+8Ij-`gqq%RBif%MgbUZ0+_a#nvW`#7?YX+7|g#zoaT~8*lP6ax|T1Of@ zlSRnls3_m!N&fPLuz|FBoBZ&-Jtwirg_EvJujr>8eBY)=bq{`5vxWeQ1E3Ah!y!qA zydqy6IU=lr{dM)go!^ty(MEp1KU%-n-x%%W{fFh^<>kAx7pix59t@hB{mrfXQFCj1 F^asYLm)rmV delta 902 zcmZWoO=}ZT6n$TrNi#EMtVM&VaA%MblrF?(8mF6FBua$TU!b8#6efaZ9H9#_f**C! zg)$p)CHMoh^ndsZ6x_HH_bv+cyaZ9&#mt-c-nr+Vd+wdzJM!0#eDgpa>^=N;S$-@x z*Vd*L5^TnCt))cl@%AJ#s;j!>v7Yoymn!^B^~qp0c|Q-N{T%c6R|a^N#UN0=^gvM^ z#|vb#$gzN%2(-9ZbJ!0Q)u;kOImub&i4xc?WU(a8I=_`DLk>ADWmw|U5YEFz5_ON? zJ-1oNxn{b&JO4IWtf(@8jw75FJm=NOVBrK{dAq&bp2ffZKfWJGl!*IrEIG7lkFX)~ zQ~QFhkyn0gr)ySStXNF~K?)wB(AcF)A6qQr$hZ3aXhzD1asWc7ypbd)aomWi$R)|S zK0AGzoLRx?Qmo9B9A3&QHa3h^4>dU)W?rOqmvm&xFUk3fh6T!j#VjKDToWcrSjbR%0`t#UZN@(VOujJY3-Ka_8_5}sKz{-h8Fmo0H!Ub;X&}z^~Tia zx>b+D(JpfTHq4zjO#bT<`g7bgi_+wyt+tWJgK#%*Ey?gi>|(wcJZg%G!^2NlZ&R&2 z-C6Zq601U_0tT0xo#v(4UZz5l%PPaXDGY)gQIf1MXT3a7XOR(6DisP*?>o)TY_C&+ z8ZqOMMjS>Iw^)4TSv<*un$6;CIAjs_djDr