From 2e6ee186228a3e7a9b03e5b625b6501c894f71bc Mon Sep 17 00:00:00 2001 From: "a.tolstoy" <a.tolstoy@picodata.io> Date: Tue, 14 Mar 2023 16:41:15 +0300 Subject: [PATCH] docs: update sql queries section --- docs/ebnf/cast.svg | Bin 3414 -> 16437 bytes docs/ebnf/column.svg | Bin 3951 -> 19017 bytes docs/ebnf/expression.svg | Bin 9905 -> 49386 bytes docs/ebnf/groupby.svg | Bin 3413 -> 17889 bytes docs/ebnf/insert.svg | Bin 4495 -> 22086 bytes docs/ebnf/queries.ebnf | 19 +++--------- docs/ebnf/query.svg | Bin 4499 -> 19813 bytes docs/ebnf/reference.svg | Bin 4735 -> 20838 bytes docs/ebnf/select.svg | Bin 9018 -> 59696 bytes docs/ebnf/type.svg | Bin 7381 -> 38828 bytes docs/ebnf/value.svg | Bin 5683 -> 26331 bytes docs/ebnf/values.svg | Bin 3614 -> 11597 bytes docs/sql_queries.md | 65 +++++++++++++++++++++------------------ 13 files changed, 39 insertions(+), 45 deletions(-) diff --git a/docs/ebnf/cast.svg b/docs/ebnf/cast.svg index 01c8726373740b303f8028177bdee43bb064d913..fb4b0d4810dacf10af5e21dd7b6dec4d725c087c 100644 GIT binary patch literal 16437 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 literal 3414 zcmdT`O^=%}5WVlO7<n(Pv<VoK57=bes!G&TFT4E#lsEyE00MWDbk+afu?>zPo873D zS~Uk^?3u^B@$-yl@Alga9(h%#MLs8V=n~+0T&&W3GbdjjmV+sIcXu_bA2)!Oc|9kI z5M}5%yWMWMW5c4_IG*de4q6b{r7MxliSIK42~RhPm=iW3cUJ%~Tk&<RM)IW=hm3<b zlzdJE-wP+MYi$Sb^JvTKGKx98^s!qB3d1bTxg2zUPwO<xLdc7p-$E^_;u{a)n#n-j zc4DA{4T0YN)JR{8Y&Gb^JsI!ia^WtdcM_F+Q1N`lE6h>|ah2BPVzuFQAKGi7MUv(( zK+|Ot*m>wCM#+n>I$Qx7wmp6geeEbyJQTdzrg@YZ_osD{i@`eDrr9BcPdt0%B8{WZ z{5$`6sBYjs%IiUmG}k)W#<4e0Fm?I^lT7_`|BA8Nn(HQ=D)l`$^Qv%nN=G5c?Rg2= zB8vOo<@#R{&5LRqWfxMd_=fLGlQAiVf48TNjxXQSOQ}{o7B>*5Rh;n~D2wc{De|+r zZx4c2g!Fw*`mGG@n(%6oP+-r<s|90Awrs1wWnl7TTH9w%bGLS>H_fMEKkV*&TLYHM z(PFf?Foc<-%CIiaj;YVHHo;|)<^oH80CWNrD8q+GiK89*R?=nyXv^?%G?OWVJ@x@g z;DCRoON_==lkf;sXhhu>y>;^fV(AG1sQunF9E7rrOy}|J**J@8<kA)fd#U?nwIh9N z#UM}&klNkH5BCo<M_TG!w9!&`(qrje#FDxrJD@W(5$i9|q;zC>zOhM0`U(*4u}OY= z?jk^gAaK;GiBr9WNyXQ5a*dU$;<dbL^wvcxGQ0>_>*k_hGCM-$bo3M8UB%jJtx7yf zv!jca96lSJ^jx6XW$QpU@{=&O4r~i41v=KyQVYkZ?PNJoR~g>8A3vLR;y<T<{F1fl zXOw|hmXVbeYql?GYw5xR;7yLKKiu1F|5zIGCTJ*V(KMn^D<^VbnE9?8{BAl=<-n*u zzehRrTz+2;46BrkM#@3PYp13!1UA*S$3l2niD1)-Nf65Oj1c}#iC}>)bCT~{n`{}0 zq)nr|O4|{y=47jTMB>5L1s4+P!ge%nM`p@9oeIpN8L;VzqklSe#A4EXz}g1WZ(lyc h_BH|ESB*~oA-glJuC?_>vfKIir){yJK5p)=egPeHb}s+` diff --git a/docs/ebnf/column.svg b/docs/ebnf/column.svg index 9eca4a00303f349c0292344adc943403fd478c68..29d5faf1579eef00ecc27e09481cc159925fdb98 100644 GIT binary patch literal 19017 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 J?)X~J{{W4i0=57E literal 3951 zcmdT`+iv4F5Pi>A43xJbvP4qyEw;Bs5u;Ci+4cjpHf;&3+e)f04f^jLUQH=ZV(fOY zXb@NwIdgc<;fUno!>P#Oz?(L!%B4p}p$EL&RNJiFFTFqiSo>4&!|HC)9`=BdWxMp! zuB+!ka6BGIM>eXOeL%x73^2ljW47(mrN`ol2Px0?X@{6m?5*wqV6o-9R<^`T+nsX` z-MQvVuj8jK*tD&RgP+T!;BB33IJ`C6qX30bo|RlQdVkNmEYIgqRwaLgwri@-d=B?a zFbz$IFWJt4JpQAQK2`bFAHqG`?DhI7d=lAdQggrI<(4;S(;PNU*49tkJ#UB5)IfJ> zR=xpE)|%Ms(3+#r#kW1J09x%ppO&u@g~g+eH$_$^xlMoGRb}Vzk|N8`bNG$t2i|3y z<ahoT|MlEFz{jL){T5~Jl-V|M(2y`~_BWbLqWbhsuw0sZZKt$;0B2t%?ok%f9K`ax zh3p8$b?<BaUkNR%rbzM|r8a!ePqlSS6vK~OQ(ecmuj#E)8@}ltV3ReQoIgNa<>!4> zzFPO@Lr@hVa<7%XDMNQpcz2VKU{}h^fUz}On_b{GF!5zN%V)pl{@x|ulpd{q)L(hC z2dvleQ~Y!zg+(B@VYNL6c7I+NgX=0QJKXbUKqf$dF#Ms!3sk}|O2kY6V;TNj!V-0I z%ul$re!g~oklAb&$WhN!j(nS^4c{%j`!4yE^TAM;b-6e><d8j7#OlCl=}m|SXK@bM zBPphr6Nyo+0Bv8Gl<`cZu-8&xlP4{D;VixbBUkZCgk+<jW9F?S-$fvzwdsj^8X6=* z0)6T<>QRRV1(MJ#!X=Sdi%^$<U~Y##ni0%+j8W!{Mn{}pEyL`f?ofYjSG0{5ib<>% zKu8|Bat&J=;tfG?v~JVsEh=dkyL1qtr`m{|x<TJdBqdm0$N(#S^^+^|n+qN{^oF<M zN@jJa4?<VHGybCVweu6KIqk*_?{tm_>f?1wKT`EM!6mt#^7W-3E9lw8TU|)IUIoMY zpQ_3s1fQA>yQwq?N_L7^lt$R=xu7{=jxkQ}fA9rNm2yI7-s+c+uH<hnk0j5M)@tol zh8lWN6qIQ;j;rx|WkH$xMum-LDF#VjUl=sf;KCot+O^13MV)l1nL}L6t!OOY?b0jM ziIY+&q7XtzNeG2*jG^!e8;f3wy@c4NPh!#jg25r+k4RFHUqbLzhj?IqG!~-=f)l8S zgD=_=7#kR`!bP;2!J=veDiI{Hm<}jHK_k<J9DPQW0y;IlQp+U58R<-R3Mq7An?56= zZ6_5xR3uXCNnznsN<ry5;^2$61jYu&W3u|!Ggwq5g-#`clrpn!BcYz}$Vd2Q84@K% z@b=001z8n2BuipNR{AcnjPLmJ!go2tfGlAbve@iVL@Kdm9Wmk46jGm=6Lom4VUfJo dus9Ys8}Yc@ZC;CI@)pGKp<?l(b=a@&{skh3^T+@I diff --git a/docs/ebnf/expression.svg b/docs/ebnf/expression.svg index 09c65d7edd7d70406a336be038b361037a8f6bab..505941e052294c976794f466930c1dd01edc9a46 100644 GIT binary patch literal 49386 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 BWKaMA literal 9905 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 R-y^^eDGOg!SkDG8{sCUwe&+xH diff --git a/docs/ebnf/groupby.svg b/docs/ebnf/groupby.svg index 003a0a15a8d2b7f5930ba2fde4b2b19258f31039..39bf2a18cb362e981bff692b1ba7879930231fb3 100644 GIT binary patch literal 17889 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 C_W1Vz literal 3413 zcmdT`ZEu?}5dPj@adN+wfFZ9mNheK-_Gw?X{Qw3Ipn{>`=4I9X`_48v2}{~YSvM_; zz;Jhu@18r~F@4zP8LU}Vrv;x8+H(jn9u`r`;~Dw(b!m;s!~AAiuVX+>Ue8D(MCsf1 zX0z#Syk1eow(B^KjT!_tX(SSa8BGWzER7R^55ozW-vGcgVyjxM<U=iX83VB^*^CIb z6?RzHS`R+(AZK+MgbZHW?OuXHFH1R-i=*GmD$Oz<c){5{)S@aLnGd&~^weozSjt-; z=>1QP^u5R;s|)vHte4A$vyj$FP%^7xJYp5n<U?4cb-9RQR(GM@7Fr}Je+8N@8^_K= zH$KX^SacLCKoe~zz9xKaC@Jm<R^=%VGGqR-D!8y#L7rwiA3m{c%|sdopV>3}xU25q zOTcTZ#xPf!Y-8A2D406^fh5y@xqU-frRKJwQ&Hc6Gmi>)qYB9fnV#2>4+6!!AIJJ% z1<H#m53&nGtys*qrD04K!@tXEQ^%L*^wLl(7K%Fv(<;o^9h613iwl0X?%RW)D?-|y zD*d($4|~F!O+ta4D6baGTYAg33tR>!Pv$}T%xOOEUFu24(?s7p&V1Vgmdn9nu(;5L zsjb?uZqK&q&(oIRvPikWo<9LP0t(c_i%W^E4Z2!VX9TG0;bpHD=*i)4v9&&)njdsB znb=B7+R9N+ep0d3jNFC=4+GJWiBx1bIvSZ7D>6T@osj`0u$vLj%%mYswss_WZW99X zK5Z@fIJ3|K?V2gpv4AiOYUJV|`3EQ}izhUcFB%ycnQM2awp4Fe5A^+dmV){mM^bW* zq5jAO+#g;>QGamG<Z6zF1LO$ZeHVsS&pZ_PopZX9jPx8+lYME7E-a=oX1=MWj>*+b zQ3pS(TA$yAE<Ah;zj8u$ny<b19AVVk7s~iT#;CVHvK^c2DI0iXZrnb_Ss93=-9~;0 zn#i$HL^G1>4wtx)yAC*zPzUm%S*ZmIa*JxQTvO-ZbziQZ(8>Y4NNcV6<bb7L$Q#;w zO1gIYt;X7tYXyu8)Ys}#Tkl{{8w4#^9`=W=ugVoq0ij%Ku9c6<UED(LjaU5tp}j|H zOX;RrSoAOLJvLjq9tP{VkXYW?;WgAlZiGV&#~j}F6YRG^*XR!QNW`1g#c{fh=QqCq DMuLRz diff --git a/docs/ebnf/insert.svg b/docs/ebnf/insert.svg index 3d54609ad53689fca613d7a1a8905922a5c8be41..50adb138d42ee299bed02950b686b263038ea3fb 100644 GIT binary patch literal 22086 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 literal 4495 zcmdT{+iv4F5PjdTAe5IDh%Ax1#BywJi-nCYut<R>+jp%^+rmn+BdNYL=)ZS{H&e2m zH8yCA28KkDGlw&04lfzL-xoRA@~Y0(<;bBu-yyu5t>;;}966t#rf%PPKYll?w@U(+ zWj%6MO|uzz-fp++?SkIAT6)a)eGe=gvdiYpYUIQrb;ycm%T)uIEON&02qD8cU(}+7 zA9ZucIcW|XK5`nqZ@gJuOFQyYnHId>q%%%lo9!M!NiWYzj*Zse%OcD30V&rdzbAE5 zt-taCxd|{*Uw617+5w^We@Ub->wNBZ;a-gQbUN`T=)Foe+^u*y=M~U2AhRl~H<S62 z*Ij6)p_^4!z5-3BDzMAYDn`tU&s(_?qO$Ger_z^>NO7;>RgslxZrooM>#}hdX_4iJ z0r`dJTi#@|^nw4uKOCxC@|c#jTSJ-)Nw#t9Gz3hY{Rt$~aI^o0u_(=rqEk@cfis^1 zcPE52AXuK)kgY_a?(JOvSBaMEsz~!IQ?2-t?>B}q6vKa4Q>EkUYkF;}6`wV?WR_L4 zoZphoIzKGe<wf1=g&-AyzUQQ`WoYjS-`pew*co|guwWWY^)7H77_LmKd}cMb_b%}z z^HJIN+LhOPz;qf-qREvZ3_Y<8%k9}S`}0r}yjf>u1ABf#VoE59?%)wejwc<uR`d?d z5;Ow`V}_KG{m2R6P&ka7@XnkQl)`bN&xwFJqyjVOQ~27EC61*igox}8b?6|NWoE%z zy|X;6As@Xt*beQvMOC`iB8x<10qKoDK0Ho-dm<kno_-yA=pboH<w-f%!%_0}+<8fp zB=N+knO}SjRux~2oSP>7lJm|`lQlV>lw!ynqM9KZpKu!iofZd@QqbAZ_(U=jAXA^) z9Ur3dx8$x$gE%%rwgr+z<0DHVWSbu^l|1P{SQK=H!Qxi%mvj+P!xBVvNf-cTDZt{y z>g`tA8oE*!OqBqI@q?Z2o8<ta;BecRU690a_(T=~RV6+yxqf@aoysDhU@WQBvgr7H zzbpbKv5_Maw#`*n8ae?Gh+5?=yha(AgjGUFr=^r5mSyx$2}38%s58E`lhyhUgOe&< zr~feMW_fmF{CD&p;=T?<V{L!5(|oi3A19wCAD&D-<yNWoLp64y{0RQ(=o~h2drvu4 ze#F#1blea-KHsnWD3I95j*Qu+NX!1sRQ>+*r_Yne^Hiy^i&Q0Wgs6oP_gjnXGF5$0 z?s=cLQ$_v68Oxy0akWXCm7WCuXERB|NiZKdg}jWc7%6<>lNI$z0XGEQG>wSqE@t{z zeA?GHqb?Pexp)>X1>0vgfhRm%m?4K23&}IQ;0u2EDyZ+1FeKVbI6uRHv1q%YkMM(s znHf-3CZa2fNdY*3DzZC9?J}7a3>GX931ZV_ci1+wVp!7hxgD#^VupclX{ar>F17_Q zG{7E)<xkCEP-WCC6bK?P5iDa+i4f)qRJgGrS&job_4}A0#@aV6pc~r;A7(A2Aw+?b z!B5UfX<tMQG%1TM7DD36ib!*K$_Wgp1W1Ixh&dMXqah23ixj(ozLs{cy>S4SV)zB( e=8G>_<#NrOT%@%vpu#OVhL^O3i}-dqe)l&`qkpUb diff --git a/docs/ebnf/queries.ebnf b/docs/ebnf/queries.ebnf index c4482d13..3f549ad4 100644 --- a/docs/ebnf/queries.ebnf +++ b/docs/ebnf/queries.ebnf @@ -1,20 +1,9 @@ -Query ::= SELECT | SELECT 'UNION ALL' SELECT | SELECT ('EXCEPT' | 'EXCEPT DISTINCT') SELECT | VALUES | INSERT -SELECT ::= 'SELECT' (column (',' column)*) 'FROM' (table | SELECT) ('AS' alias)? ( ('INNER')? 'JOIN' (table | SELECT) ('AS' alias)? 'ON' expression )? ( 'GROUP BY' groupby )? ( 'WHERE' expression )? +Query ::= SELECT | SELECT 'UNION ALL' SELECT | SELECT ('EXCEPT' | 'EXCEPT DISTINCT') SELECT | INSERT +SELECT ::= 'SELECT' (column (',' column)*) 'FROM' (table (',' table)* | SELECT) ('AS' alias)? ( ('INNER')? 'JOIN' (table | SELECT) ('AS' alias)? 'ON' expression )? ( 'WHERE' expression )? ( 'GROUP BY' groupby )? COLUMN ::= '*' | table '.' '*' | expression | expression 'AS' alias EXPRESSION ::= expression 'OR' expression | expression 'AND' expression - | expression '*' expression - | expression '/' expression - | expression '+' expression - | expression '-' expression - | expression '=' expression - | expression '>' expression - | expression '>=' expression - | expression '<' expression - | expression '<=' expression - | expression ('<>' | '!=') expression - | expression 'IS NULL' - | expression 'IS NOT NULL' + | expression ('* | / | + | -| = | > | >= | < | <= | <> | <= | <> | != | IS NULL | IS NOT NULL') expression | expression 'BETWEEN' expression 'AND' expression | reference | SELECT @@ -45,5 +34,5 @@ TYPE ::= 'ANY' | 'TEXT' | 'UNSIGNED' | 'VARCHAR' ('(' length ')')? -INSERT ::= 'INSERT INTO' table ('(' reference (',' reference)* ')')? (SELECT | VALUES) +INSERT ::= 'INSERT' 'INTO' table ('(' reference (',' reference)* ')')? (SELECT | VALUES) VALUES ::= 'VALUES' '(' (value (',' value)*) ')' (',' '(' (value (',' value)*) ')')* diff --git a/docs/ebnf/query.svg b/docs/ebnf/query.svg index 12f7dbc1446264bec662e6c18d1e799f0727702f..d161ea0d552c6de82bdfadf0f271eef4770dbd61 100644 GIT binary patch literal 19813 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 literal 4499 zcmdT{+iu%N5PkPoEa+EL<nkhlvZOR{CDef77O@@lm6cW!5ng1H)g?y%y)%2`1(Ge; z4T1)NINY6?J?G5sEIs<PPZP3bMH%PW*q}YzAS|2bi#S`2ji<+%IWRs=E=J{cMZhyF z$Huy<HbcwW?RLGL+sliU<=D1ufrmkM@uFIf4KH*JvS#sWU5yRL^Nq;`A!M{*%aU98 zQdWnAk?OEvW20jG%9@v@@FTxuQOe3qG-u?s)vhrq=_PT-&}jX8S;k2+Bw3!ZYf@H4 z{*4XErHe>yHDGeILqf0r5t;tVlZDw$_oAa`v#CAB=ykMVX2G%rD?p|pnHO=nnJ!kW z?51{9>S`TlucW3k3G8%gi4l3RMT;vTl5K~dq%Q(d;$FpyG|r+#hrcZItTLBT8YhP# z`Hdx8R>kw^p8d^k4#gFDh_ccwf#y<(tphs-PgBO<L1gM}_HQ`z(p*Y8x%8cM`jzM1 z@r^VjSf1B1H;6*r+g$%wM6<j|qvTAg1zWNGMk|J!;pf#<?&I@odM?$1&8sUikBfQ2 zuE-`&4y!ynx$o6M5IX{6k8ORm4VyjT%_hN<9ob$gnLBf5stcT#3{PgGeEKxEdl!Eb zd?fo`yYi|B%x3=7pPmU}WbrmE+Owtm^GFH2$>Xeoo*xn#5K5>EKMpl45zzHQpMZd` z3qQ46ByNu39$M?SWA_IQ!_eZhhT1v&ZMZJja%@~aOz);QkDa+Ht`fL9<ea`%us&oz zHhgN3!`Og(NZv{Petjjmj-&v(k5q&g@(74K9zo_wRDu?b;y1GJDjxCRSVU$}WFp{> zEOeKuN8+hq&>#@VeGMdRLnj6BqqeF-9q4O`fESW?n*)*+BvT@Tm%5}uk;bUxp;~Bj zs=aoTwf08JbO7)Hg6|rWr~BLA@5$%8yC&@#wV)e-MiOD*v?_HrT@bFpp-$Eq{Lys7 zz?e+`yqW&-_!?L0)Z3DJ?_^71J2jX|x|psp`lI<$5B9VmOn$w6c)Y#8X)*sPN8k0u zd2{O%^ycAreR=BY%5-AhfBfCP$c<;=^!fj=R9`>eJxw2U^+gAjT~f}S>XH-@${o}n zv`(LB^~d^Tzaeis=KWI1%3=4I2+YlMWXV?fVX1EKAEsYUTqttxlvECFToB%QQaN_r z-1_a94@>1Zp)nDdk4d$Os<m1J|FY5B11h>08>zUm*A7V?o7iMcZIbr;%Bsisq!SEC zYP$9S=V2~&2HG@T2kmD_U=#SkM8fmgCZ-s`2gK6>&Tc6zDm=C(+B`8B;4j?KTdbh7 ziVTPYCOOzpgXIvtJ|v<8M<JwrZJLgaw$6p=h39hzAq^dl(D9VV)<l~p1_S&dSo}}L z3OcJmNCTdMBLq`o<p=}R0O!$jiz*5bumqn0>|kvFo3-IOP>VxS6Ux=8u<22cK<z|5 z@kN%_^nA26F94f*E+6Ws<#`@gi^5a7Ktb`v!~nFOm0COtUqmMsf_cCfCIvdasnC@R z<~mqYbkK?kAW|`WQHtpawR*Q&g5hh6a|P<fU4Y@Z1d0RNnXdZi>VEoq1Nbx!h!^sY aWPH@$zo&cyAHS46cnDwk7~ifY7ykn2_I2|B diff --git a/docs/ebnf/reference.svg b/docs/ebnf/reference.svg index 2a46137c457866d1ed6929bf22accbcf3ba79ddf..b9e1d3f5bcb288051aea2c7ff56fe09b5cd3768e 100644 GIT binary patch literal 20838 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 X<6luz1k|22O@C`1d<D-9-je+f{P@S* literal 4735 zcmdT{+iv4F5Pi>A43yW%5-G`+9Xnf~h|#CMbo&8Xo3@43#gSBB8uZ^g!;4JGc4B0= z2pR+yMa~?}nK>Lv(=UfSgPo}Av@B*08~6^0Vo@&BVm)*I{5p4I=gZUGwBD@&EsJ{Q zY?@{}@x1+hKiCI@vRZrG_k9m79N4GJW;1glK6YRu()Ff6Ocpp#cK|S5id8K~bW=CS zOh9woikZ`hL*p&#TG_!bMUsnpn=Ayp^|VI<g+Z1Uf(D(x*HxNj6DZ0;JVM=6<##cG z`+y?#&4eqXodA3MM<IPHv!&aIdu_ev^Jo8=yf?{KxRofDqQW#yU{R&@_IbG$bsw4= z=w_1^Z$PuT4(vL#j*)nYWrr((X4~VZ=_^M{@t_e^o)$^gy1%Z<qH$MAo@U1h{3f!U zXwpUUyZB4|daNGckEE#G8fmUnvRlXAK*H4N-<V_;ZV&Gm%hKHIbjsBC;M!Y>yO%<m z0F~!0WQ!=)z037~MYJfZJjrgPT8XtdY}<^H7(TD2TF1B7^j4~sSTql?NUKFA9$;H$ z$8}j;)xFsWN)hCHN%}^Hc29V>Nl35@@-kq-JeZp<a2puyOsjnDZtnIjd8hbj_JeNa zO%IsQqvz=P#t^2SY{RNOdu@N7ngnmlv}myBkAaPV0SoYlGsja7eJipV0on%mb23ZR z$uT)#YyE!d{9xnp*psV{QI5QuY$~yuIrmNSEfc+^CT%i0Ipk7%s8Ds_Fmp!Cf#b{x zBI`&xok#)K3^46e<1)k}i(G<hF0jaw8gpS4--3}<ykH@tQP2^dgEHQ!N7g#&iMpCF zbmSv+(T6D?b|Qxg`7z(r!1!VKCU?jRiHt_}#0kr?GAA_V!<yA3O#if(x{tOgx7HTl z@yK~{Y_6Xm1ja_PtX4iF-pQxZvaJNhP&O)qrUpHqk4u4Zg-yA6R|_mw!m)zCO$;pV z6#sM8z>q7Y^Gps#x;#=jv34sDJ2kqZd5$~E5-vUicds>JL?7Cd|CQ+Z5IYBkK)ZbK zQ&pd2X;QZoRA<!fPc5CbzaY@ftZgC@zSmpK&qW^us!G^6b=rC^AJ=>kDrh_ro@Bsw zcD!EyGoh1@sozZvkO)|{$4Z2eJ#hlFtgMt+vp?Pe4dr3<vs>T?#1O0PWo5Ki+6!uk zm6$PwrV2fuACSXXVN-72l|!g|gBAR3EigRm4WB57Q1^y2Ic$?=V=_q}p0;3@GbdMX zR2vRC_rZq^^C6c59>kEld>GR#uH`&zhc1t4{DQ_l;14+|%NHM9H9;5jAH}q~WAp%t zwR34KfpLKL%ABm#6IxV_fN|iW3@qZE5XS_>;?P9MhV9VhK8;%}f>)L=y$IPjlo9gK zSnOOHOJE$JJvyuZTs@&hRS~k0M352kVJAX#%X>l7)X54H>xQ9XhY!;{L!1q`=G-ld z<}4FIRbj(+h@5HMMn_L#v79>N%q`Aj(Q@W+&bfnXI7@`9oV!8yI0uTe8<<zj{%d~3 g<mW)d@pV4{x}4tiuh}yB@etuf+2V)CZvAxkFY%7KX8-^I diff --git a/docs/ebnf/select.svg b/docs/ebnf/select.svg index f6375d47a5958216fac75bdad59aec90b6aa3e9a..ecbaafdf14165e4d29e7200127fa64724f5187fa 100644 GIT binary patch literal 59696 zcmeI5Ym*yCcBa4kS5$B!9Ck!Eh^j&rP?Tt|J*HOP7|ra?jK{J5)*?Z&WBNjMw@677 z```C@-;-HYKm%wrMN&-}x->GYvhsTJ+)w70|NO)GS@Cvxb$xny@$^wSnLa9(7tb$W zoL;<o`shFY{MGT|QE`29a`EEi?DAsy^wGuTqksOVzx(p~?W?~lisIeri<{R^AI+=o zk+QFsr>|b$JbhHxbLU6(mVR*h;^`wkExWdL{+fo~@c)w+m(MRw&Z+-;dA59hGoes? zaPimc=O=HLPexT$ldAZKZ>J}V*`jS`<xx>htLnI{j;G~6`Xh#PasA{pefsp#>zkW5 zPaZ#h_wL;!Kb%}%y?U$`uiu<JUtT}X&qv?qzV+Yd2b1f|@2{ROUsA<#a<RO5{BM8$ zx5xSA@pSUy=EbO*AI_+|uS0!!SG)DH>$=B&JCxp3u9{A#kMn%Q(8%p9`A;mym$^qz zG|U%oPnYksL`9)B=pV5X3pZaBZ%$q<pI@F`UOj#Eo0tA4z4-R>>c#RZziR!@%BxG} z@bu=#0H4%IUbpMlm+w^b_3M)tm+ziFs?wKv!k_46U%?dkTdTm`dcA!9*X7l>mnT<r z{#KC}%j>`9?!74WZ>mI%zq-<ZU!I&@FW0O7>GJYiou1FTa@IBLub=+_B)83E+E&wm zXC^O?>$!&8c9U|!6s~{y?(~Ae9;e+=cGayerxJO?l+!Zzxo;sAp%dG_rVI70`Anak zpZsuoe)`jrvEQos`S({>%Zr=ivy&f}toBLSO{+)6V?)i0<;&{<PLwMb)5Rmb6HMLw zc(#n!MRD`v8#e6C@`szp&#$l390Yv193Qsn!~fB5wc_u;`~LFgi_w-$+aZH_y#K<D zOxQb1HN5iA-(H@cojoZoz(-$zo31YZx_nanrd9>h{2=E3Nl||B|DvXEFV9{auUGfC z{_C&4dNzHguU~^~j+q@G9u)Ybcz$(y{pQ&V0C>IXDp!5;`t)K))#X>IW814vebl&? zFIL7{6lt_;<4ePj548l7o8{H{>BY%e|M}luUb4n7PtH%zetc4Vy*zunyg7Y-^84lY z%isQZbyWQ6<l_4Hnqj_-$?iW~OSqbAK#AF$z4_se!d{x+r0L9%vQ}ecUGF<nj3<Sb zXIIUmfwJzaWBsfKdU1JmesZ?wP_LG+mOs21&E79L)C9--uj#%+y@KE$70*wvo}Vp` ziZ_>MKfb!W*b4V~BLqa~+fAUK!ElTd?nDx<Yy)`Z%IdG`uQC?cuQKh-(em}Xc@=j# z7vo8zpRBHY#sOb_)jVsS?b(Gd9~%oBt3MVZck0c_&Ffe~k;T*;L@d)7e*?YLnDbO8 zESa(i(ew2;MR(MeMS0ZBi?_w1_$d>SZH;7Nb-zZ+xmxM&Xhn<1IA*DP_i5t1fQy{X zi`PXnEuI(6q?sK}i*kB2o6K7MmQ%)8R=k@Y>1}bWH+p;=Z@;F7;<rWJ=<&QO>hfql zQ$Z4KSNx@5hV=2VzxKy`sjBs}W!}<=GI#O(?Bx1d^fvJPrg6S}X?WkZUgt&K9nG4b zHO{)zIBSn{UR2%DywW&Hv~!KK*=L-V9g5=Q>huIA<lE)h(?@@L_Pb}l{c{?WKvP?X z^~~Jq?$L|VB~oHaGSDoOtT83rNeBb%U%p&Um($Gi48U9z^b25_PwLt1s97+P$JJyy zuZr&q`2MnLS<cC90eqB`Mb~GhlX=quQ9LcXqv@ocE>wP2k*+#Qr}Uy~fe|WNR0W){ zzM0h3kS=FDu1bB?QgTuXPA4UR={l9}hUe2ck7u)m9=D6W$dv9)Su#~l1*EG+9dYrw z9=i4Pq3fP6)K0}tpUhNZRuvV+W=DvN4He8QHPY58$=IhckcGAieQPK=>pW=EF3RJM zcBvsIqgkkqy7k=EQ}w8+D}9~&q^a#Z8ak+XuQjFhq?|8~R9odw%X;QqO>0ay!>4FV zO|RAGIV%-2ODE?ok1FOc($fju)xP)Yy4#d(rmjyN>obgmjZ3zSb!;o;SmWaV6tmf+ z6~3CVZnK(6n;o^(T+FITH*b}m&t}Rk8fT^ncv3qov8qyiTFdxRj^*KRTPs~@sD>H- zY7O<K1o(L69`UJb0G?D1NYo-I%}VKSs$lA3v)1!$@a0|OTvfYdOaJ&_%EYS<El-~V zEHn?y7h6G~ps8kxBgvovo@z2*xDjQ_Nz3}_8QX_ZGLMvPou)3*U3FAVSh}AQA_!?h zJCLT!L|%|XZtcmYoix>A3fwdZY%DkUng+D&;M^K`d>iZkx|p%@={;-2`~0Aq1a6$n zrZZ4kD@1ubpEUCsA0KxUMCHvLtG9OS8){*vOs8da)B>u^`%p0(e5lyq$s|BWH4U2^ zYPL3XUd-zWV%)S`{1P)T-_fxJ<c^L3dF+a^Nw^Y7h;1kM0e0CQ+SajU`OAuFZwqrc zEy#-f4w!)n1nBXla$uyKtHD0rpX_bHRLz#DK~YWvcPh?2*Q{$!O9K#qNgonQVgs}D z0ZA%zC6GDxi7|djbAj<01^YpGn;#*0YOjD7a)6EAd2`XE-lZJ43LLHu8-FJ(q77^e zqmLJ!o(k@ROyK9a#uyp)5yOEk5#^;_a15|(45hT{r_UXr;3TM0_*BS_;ju^gc;g1^ zcC2CtE}Ji=EW&7mE%J<X;HnJRtP~rY9kcMtdB*gfC#*PMY-+p7oBPYhugs^O1e0q0 z*pt^+%a>@S(D8hKevwc^ytz5OIYSAt@<!al2~;dAA6Br1UIt^;D`g6l2&gsoVR{n> zP-cFSIe%N2xEzzreB2s>8a0_2;G#(U%t+ekQQk^#UcRjP_lu1zUG7ch>bCYK@ms4L z*UFp)q79y_$~^R5y%g(Z?ZD6GwAQ9Aj}Fuhi*wXM7(l?W?@YAe60{?_PT(&tOdAIt zj2!{71PskUDb0p~oU!HD#NrQPTdTMTB{>K|&Ox0@aW4W^u`!cQlu-1#&+q|LJ=8_U zC_-DT3|@%dn84AQ7U~$aP-7<y0*(M?JQCPDwbU>&H8{>pYlhPI-D9FMb4Fq{=&v%2 zT=jzsz@oGxv=g%tX`>~&*HCw)88y>sJ|}pF8H^BxK^N2+8Tzbl)eK|Utz%+bVHU8$ zP}1$n2J4q?4n_xIz$dGt43|lO<D*(err9%ttaM%;o|#=`MO9dgZl5$G;c+f%<5ynC zqR?s5X%VRcZY*V}SFEj<JsJyM(<@4uQI4u&&7lOjqdbEh`>BBAHy_9JL3O-rnt9qy zu%%Ju3|vqwTAKkec(ZsP>Cu{rXHLtw&?*EK5Uz(PO@+WC?P_D5)RbW{cVfs;v1-vA zR||83W(#=?&$)RaYYaX+7V?{-Y+H6j#`+n_n>-4oud_vCAVE2ON8J*V8w7i1av&f< z@l7t^=3~O)?giqt)^Y}y80p{^Jl~?=%nU+^|E{LBv((ucJUAPW&pNVj>NBmUL@r4x z@VD$nY6e<KYx_-RbU?*ZlKm|Lt9{NdeQ9A8sTc-h%p0yu!ffXxoEPPME-oR@f*4n% zDs30`qQ}AF8KRW|c6lT5jf{jx&BTy~wQ=`E@mV7n2!CRT(59<FmVyp#x`YK<9(m%Z z)<PICqb5iLgKW=X%{^_*B2vDljUIqNHQ^E~=m;H6nZ)YQNC-!X4Z>s>+d~NpUmI#~ zz35SWa8^-$O0%(O1o>3BQ9?(bfl-Xw%~!Q-1-%pAYlAwF1{A1%eMobQL|b-9d)ERk zI*ANIbpgm)Lc|>{VInZX&1TU&O=MUC5Vepn-ANr}&h;!245eY>Si$wqf{obnX#tXu zJY{GMHgTe2w#g+u1Jb{8ZLE&qmRFVr6M!LmYNiD7{3L-=ENIRdVQFe35n#XGt(|i? zkc-UVJwDl>k4&6dR{E@PLdn3hkrT3BrfkZin(aM%KOG)~SzlU3XD|W+tpJpcPinfq z6lJ}Sc54t$2hI;P8w~AkJ(jhucWUu4RvwifccA4y1Kps;J4(aU$b*~gEtI=Q{z)}> zWg|ca87v_2l1wZCdP}h}L#rbc%kG3Ou?yH`8H+%KP1;2<!2F<B(~w{jg$adm1Ir2@ z0#(kdEK~!@bHFm1q|j|t>*CKw7|MM4{kBB~g|%{f_MXaZZ47<7YiGQ_e!KpV`t7Qz zL&5z~$NIiH?yvs%hi`80kBsad(Eg}UQwoO1qCQkpfG}AA)Y7HZ#z10>WB<S?d|g18 zq~gh>Apjo8U*{4B$j9)MdBhbl!Wg}h(AS{U$~}?xt~2qo76&v9RfTDTB~FaakfL#I zM&3cnv<prBo8TgXD-cBt7KQOzLj>E*2U4%oz#JB(wx-4USN>SI6Hl1ap%)HSJsea2 z9A&w_p)RR+NV-80WC*Nf)bu>7)~)ZQxQZ~(@J79`3!g^slg>5~bLN0&YL}lN=1E7p zkQyx-<OeJ^%1I96p~PwPPRa<ikwHPF+$^btrG6W<R^;f@DmTLP&Mh1%Ax;q)T5vJ9 zT?G6J%OwuTx-O~;zQgD-iJIbGJwIw+oW5B;X_eJ2>D}S)kge4%tFZZ)M~U4X^V=hE z8bpo_;52V1i-j4r8OmXa7KTv32z4N98`D4&h`*#Qg(+?Jeky1PvqJw&-9e{FS@n%d z3}eo)f@ZMwG&GH=`ypCqm8Ej2dKSGl;HgSI4DNm?PfgOpN6#deGBW~6CLfJ4f+@sH zgvv{0R?<chwuIq!lwsFM&gDxitMMMm**c3TS~4@%8s>c=dl7pg3=67>uVP6@nW#fO zv_c~)W>{*BzN#DixF1wS4^wUvNyL)712HU6N4C-~prwDC@ylzLu>=gy=sf%Oh}8!C zy_JrRBcmcv{t<?f`h*(hh|V*<RBxN3$QkAlkJ4jFn7jbt8NdBkudo||UzQazm%B-g zd2{mZS@uO+(PEBYs7{oavpbZSv&>iCUx|rpTQYiU<AxHGnYmMmIr}I|%o@{Hm|wQ_ zW}^~wJY{1Y<}C9{4?>4ogLpbQFj&v=R#?$kK6bJ+5hA0K=#0$uBY~OS%@#AhR@$T@ zNQfy*7;0sxgF09(AmTtlP&pN#JjiM28N1gaptc;uh!wX=L0BV@ZIso9l-^Bs<QGcN zHh*Pm<|hk^k;~XT?1qUxF&qlYa>386Q%3#Q$AQrkwMrC8<Baky8952FCJ7MCln65d zCLXvA?@lr6?A|n?!Mu|Ptuw}6(-YYN%Z&6hO*dFQHfu6#3|MoE_w9_SQ+t8KLV;`Z zWenGPRazGQMWq~wSQ?5%$KolpPPz+(Xf&=V;{s7$>KMk82)Ffjt2uxM=#fZ@%pnV_ zG@ew4C7U&Ef?E)5Ko+bW31@+9V1})5eQHEZQ=0m43rHD5mKs3e!(S=SQ^t^B0%QF} z)+1Pl0a$1y1P^>^TN%H=vDg5sBqD1yg(?jFI%Z(?Md}IGX~-}ZF-i%4M`shToBY_5 zAb2h@Gyz$_sJSb_Rg5h-r<|5jNZTv(MW&vzrqP2SrHSK+Oas7qQ$k-UK<D_BM`oe; z8(Ks3kvZ+2@E+bqgVIhjp=Pb5UzeKMU=zKhLN)B|X(tUb-tl4WXRD~<*k<<oP<{G< z+Ns<w0Y(L^o1Vu9Y44^&;yQR^T{44G1_oB2r!8(qLCepZ)UBvZ5YsoGs*Vn8iDO>% zjkRssqkTJd(0dO>m`SBn7dow&eN7>ScqDd}w5L$ME@>wuznAQhAxNMSDXM^!xv|P9 zV?f=wz1wM)thX5|>IF2Ne@31IuwHapP%F=ufP6R#EvZ{#2MQMhnec1Cx@;JX1m4Iy zJf-dCz;Lw<H3MO=NGS^PFoc&#n}Ze#=v!h&vmiyYLfKi4g7pjb5{{5nH0LK*7jMik z8zfDjv>4uRYF8Q9I&2PfN@i;2GE7J|L)ZWv<_6nMY<i&I0ybfm;Qg?9@L5=n>;V#) zVEB!dk^x**GZ>nqX=j*E!JL>*V;?eG7H#mT*o2e6!H*56j)f{sBI+<vnC(Y1)$?d0 zl;2JVKZ;G&WAB;b;5J=QJp$+)5))L?(<d@##{@IG3`X<fWotrqlF5n@Tl4GL>vJI- zd5!=H6A_~Xb|slWvhw`^EToDBF32Q(lOBQ&00c{)A~gmI8X^f^F->Qmf#0EwI3hwD zU}xFqfl=7tVlem!>Jtl+F|g*5CosY^CW~28K@0k|@)9bjNR-=*$&j%KK$U385}LEe zm6`jPG*f*>60|}7OIm*QOVFqv8LG?(^*P2QMkYT_W%x0w@&|Mgzam$)1%yT}DaoZ^ zhsJr9l`!{Ht<@0NhpKUIvShGZue6`Wxt`abkH)#l0?O`@e^QOJB!Gvcac;V-DA^^c zt~lkch^i}ZlC0WpbeYx5FzYmfOt$wnOWp)EGC597uM6}eSym-^r>xp!<?>!)VA>0J zI^5K=`pBLfTYIxnR$ZC1v9Q`??6X%dKZL_g4&u1EA_#~;M#A8nJUh8r{=;$gkIDCW zGj*)x$0sj~DR|!6KJd4QzNsX9YNGm3EU8R_1%L#I-!t{M{X|;SK>yI2Q6^+KG2JGM zq92wZA!JTkvuY)kxJ*h(TpcswA?_f;=s9dtrW;bAW==DnLydx9Qj4W%vDYvu*40Lp zVst12E5-n<XbwqRdQy5MK@6Rk(vp5?O35e!XG>c4S-;eCl@1~n9vtD>7cMtSdy-6~ z#T`;MZ15p5D<dgL#4?n0W~^gUOha+5i&iLt;YzcOw#&ShwZdW;L}YEWk4*NB&I`zx ztilZLQ0zBVSrrk&tvGn3w4R$!v%>6ztQiv+dcM$;Tj@ua85T|3Y|n%yUNS_GloR_; zku36t8IIoYj73+!EmI{iGhSHiU?{<Qg?N)x3rQxTt9)w72VN~|FzY=H9yU1A<ew?` z5&9~%I-`Ws6}uvJF5^U&=2@iS#HbYRhsm(`9U1r$!4VH7+w%;j3;4)MDuJ(qzel>* z$h9={JCzZ0?F0OYkGhW9LXRVk&OBd(bPIZ<my*64YzC=7DDd+Gm|I&W8~8lQ80FM% zY3QiX*$-02Cf>PO?3Sls&F2fW0#dS<(>Z=M(zW&tv{*O#2Be;mV}x9ukpef*$YQrB zKuF7?#ke3<@GmtZcS#d<hjV%<D^@vW3BY?sl+u*3xvXJH9?+;0fH#FO2;L+L;yBx< z?OLcUT}yMWEyW*Pe4GxglXL4H(CJ~gKueJ3QxF$WAVE4ZYz?6+AXonSY&9#B<N}@3 zGD=wB6{y9+1-?ho&Rz(`fV4MM6}kX$oZiF+6K?7=wxDZx#(9z+c*X8!?0p)MM%a~S zouz)sQ=SiYR1&pARFaE$2udI=4}r)K>XWk`f1?u;Yw4tElT?FSfNc;OHj};?3pnir z+_!;^b+NNf0`?5sxIqKl%vrn#`WYn~c1sTi1dtiC9b!wHIo-YaDVtRrbVdZJvHupB z_1`1hO%R|@cX<Q=*zXzf)@D9&H~+q$<kEn*QCWQCvF;V!x4~WJU;cE<A0VBK(X)bE z;{86M^zu#7l<Xb2AF0Y%_@+c74)wG%CA+vnOKMev)n(+_{|5MZS^SQe%DEYazO?LV zwr(CtpC!zXJ`0`z1cdhhxWHS-7Es7OnOX+ea<pT5gIhD-<v!3<AdI@k^3qM!q0mtU z@=bV9YEL0y<H68@3S*d0J;dt$s$=ya5ejnT$0};m8Reu0i-*c3ExFX+$_1IrwiHV+ zhhV*)Q5@~debfslXQwCm+>jOR!uUl}F3e|};&BJ%LVt|S{SDy_4ss@kM1N=H0?9j- z3*eqCM<+`4A)<L2T-Z#ow)SSDa$!7WW8K0$vj{yw+11Gpp<9q!?>1u#_}a!RIO2mP zRg$}?kJ;9PB^4GR%z&YJIapGqHh4Ie)TS9klTE@ATp~w7v~vkZ;uFzL{G|w<4-mi8 zDA%;R6$|H7-yobyj84_dg+*?Ql16e1@x%-z(xO7`Z*^ivoI=yyrEO?%20@o30q}sr zEVCa_n6%7n)v*rxfWpK=httUeLSgM)s=B5_UscK(q_YY=a0^~gAv8*T9(o;q<`M}~ zF3i#13N~}tgIqIUzZO{}`izvuvTjIoZM`&UbpL%iOcT;!TkS1%uat27m5i)p09W|^ z$QdInAbxFE9EmJEMK2cuOJ9X`U^X3u;i7jbqIC8s>I<uz4v6H5Td`w6)U7zl^f+9B zqSNzyR15XlCgKm}Bj5+rr#MFjV4oiqW`5LF8((zZ2_;m(1CUjK5^|J?q|OVGJ}_(} ziu6X`o}4Yb1Esx}+MdsnBA=ul;VNv&PX7MZ%8zm~Duj*0?t<ta?XJfBhawZXPz_0^ z$){Qt$c|Vxttk3+x@_n4u>VBbPE9TlrkmskiJyffOJ<UfEp=+FE*Sn1+A+M+bn+t$ zk_v`rrQm>EHfw}ORPyKonEWmbAjz{L)skHLv*?NyNi9g#?3M6$($UhD@bi!h2{{Jj zlA+8^B5&%;ikBxFTm_R|CK+?WVv`I(q0~(Sh(4wa>twr-mez(h)}pajUDh7k;FN7O zWD>uOrkV%?t+YM;!a6mi*`AmhHtSg1LCd>`j&+_*$oJE+Vh*bSR03AsGaT{j0w1AW zDpqNd<47{AVR0h1DFE=4)oPGmM{y8?xIE7$=MSM{#W|$H&Fg24Rgsn3)yaF0b%T!e z-+%x6XMen<W?f|AefI=>QZ*|+A|*tnDzVy{eXc6as&E?ngE`n5M%Cc&zCBt3i`=wp zWi(WUeLXsINUGX1K&O<i8{E5_iG)uif_)x30SQ9QOJVFQlmU0g+yCnIAcF#kz=iD{ zS}cH7jz9jC{TW3d55blBu!?DmC9(s#=ed_`@$-(4O4H`^qnP?(+6SaG%ofgC+h<F5 zR3=N)l_28~2A2p>&@Gq}6CnFch;xD(+2H|d8EyhlM3J<VOLQ3eDAJ!?E$$r#H|&dt z7YEni0~Y|5Dck__0})tc-QfL5TRA8Ed@js{Df@lxhyL^fApDKv`j7@hj^|*s@;!S1 zquoH>{?{M={r9)2TV`4w40Yq26JqvoFd^ukJ!j9A2+5OIGPZFxsE!zGQyMnV4haxH z`8{h#2P2x!r5NYzXeI<3#v2hX7)Bnzl)?q70aEf7<JU0=;-X21AYw_17$r$GJVX>C z86t<=l}N)~^Vb3qeW3^fo%wP-wu@Qv6LZ=^AMfL^#*p)p1Q3~IOmdH`JfP#rYt17? zrs8v0dktG0cb`#^4CCZP9$4y4grpu6SR=kKlR2c@if~fAWgJ|32!E9;I&;BH+nYa< z@)HpV*(+Ybs)!u0){^@W1zD0&#Oq2X>JUx&+2OBEJ*X<y7m_oXI-E+dYlDZ=X2QqH z{;~V;id@dIo!Q_NeSnKyN_9Y5aGZN`ibEGRaf*7oiBqhzUOAJhpBppV-C-(RWZCEb zroxIn9i)$4+1m=`PPB1G2U6Q*abqtt+`f*;6@fHCo3?gmqp@&X)GSWn_poSwY-1rx z7Ddg9ZV258og)TW+pp;PL)fgTSRxVph^Fx)%4nU6iH)8>%e0q2XxMC(8O&{_Ud|d# zVY6H>a<KNwz42fwIhabsJw~`ODp;|P!PP!EQwfK_W|Fqa+DicH0#{ha&1N1%p63rI za5ga`INOeW+JEJdvsfv1F55R;)PStz$l1JXJ?q#T(bv_Cqu5za$=TTe{`f=%MeJ;e zn(q)i`xyq$HlssfGgF?t&^PhsD{*Zretau$#0<w(W8opTBG!yJ<*d4RKkmFDYUkcz zg54kyd_Ye=apx7Mq3!6-M(%uN)<(X3-Sl2U#D`$dvo!Etae~#H>+vx7Ru%f|L!96t zPS7fpL!6)#N<TABkozd_;?A)7IZm*uh6_=CZlGX=HwN<eUV(zstk&5qAc_;g=;lDd ziu<G@P_S>{{(*vApt*ZW>M0g-2MYdDQ&JAf+08t4O<+w#3RX4T*dbCd&f1j){DDOZ zmV<hB%TiVt@f|6+0orn?U;_7WB11!SuTa5qzyWJa+6J2#F_cNQcRyR7f~Ufd<>SQ) zGVu3yWa+qKHkg#%mahGR1?!F@U+u~A07kpP)^|Hxu;Xstea8O@{aAE-5^;C92-;nN znT%k+i1o8O%kF?dU=BSIelXel1%1f}ix?#Gxu+8=5{M&XIi)s53|1Hr-PgnQelm~Q zqcY56I7{kY93Cl19QE>lpX>b?>>*?j?lo@Rz~>S(>4&=CuR*#E1};;xO}d70nA?h~ zVf-R#8p_>g=XU*_xA)gH%yc%m-8;8N=?z3UM0lTp)Rp(Lu<dIHoN+u-(5<cA*{Eq4 zPuf_~(BGoFm$mXkC>nMJ4dOIz|8!0>IoOd7cBBXnIE37M7IviBVvtfc2}<7-cz30! z!R+1IyBzOhkeDrY>lxriTaMj!++c2C-@w7dfcD+k5ji;P?ovN+%2$dUJm4{LjR$+U zd<f-(%wI>m9HO5eu04F#-KD#m;qMZmgP5RvZ<IZi4zYtkxx8QT0W#%2#10-}2kn#= zx`WRvc5v1WdfzOjZa<%mBmdt^>DnM&hL>se{#Um7(~lEi(e+nne+Z>(gYX(otPfzc z8<ehpxD{T3Zu8+OU7H5w6sYCk+^=JY(NFqt_y_6SPycr4pt;cj%_>nEpUMM&Ml9^z znz!W-Z?2Zt*Qb{k3HDdiZ@1ni9UPuSyS#mfq)4^hUkBG<tO+d1>3-Q4pX6P>_#HlS z*{|gTdiyk8Mq^vMvrz|kYv#s^IK1ud(bbQwh-*s)-GgBcetoje`*4QO=~9eYvs)Q+ zUbJP0IY*J=IqD)z?-;C!*yBiE%yRf@5czH4Mu%ef$~>L8i_K35M?~OMWL!wG8oH5B zCx$8pfrva+suR08g4kv@0;aGfoMBneu?fcC4!>5VLgquHTWk*L*0~bkF3nF{QH!n# z=_5!mU2tTF4*2j<rL3Ya2u#<lDC4f+s1&#GM0u1IJ_AJGMw-!ZRJLeL-0h>2I&`;_ z^cp_a+4r4Lhus#Op<+3FYwWtQlprzRrf%D4%%=04+&~~lx>%Ddy^xzY4Upq!6f~I* zCbjdBPBvD1=~#FsIb~P?obA*%9j@&IGU%Jkn52E2eY)evN3=vbZYvYT6l<=UqvF*} zu9?25YF-jatu<1EsrB>)MSN>mRJM8j?mY3Ut(oWAM~Sn7;S%JHr}?n!yn34sL`g@d zq?}LLS0UeC<Umg{K3papZ=zeIY|c}uIDsZkCJ8l+@74+z{g_%GmJ=t$DvVr}>B~rW z#9xj4sADBVUFcI~@Z^!wQ74-i_!OxF>;O+bGA(De%+p<}hqmshx?(L3sQEL!uV{AX z(NyiMRq!sDwj}aG_mUs<OHwKw&Zat?O{Ke{tz|S>h{L{gA%dg+_3Cpun+jW1FBxt! zm%*VmoRV-r1LBKB>RH<1EV_f5nfW*zQ3o%^mj9fOsN-;~JJA4Vg*C0Y0Z9gmaoq1T z+&(Tcoyoh)s6D^SsLfgV9H<gZ31)nb;uCudH!O};Vh@6z?^aNHh<a#rSE*QY71sS- zebWA97G4(c%q(Nvni`@G=@7^yKN47!GSn;klBLRMOd=+qrW-X!Imu|g(`hahVRY0| ztpzS$!%c5=bBrYni#Ozb>6RLy*2v%i=V)%<WaDSOaAnCsf>sunkd}PED*QQ*bOG^- z92WPrCOJ&iu82-a#-d#dWm(|zHO9<wrQ0*3KFMJm53^Z@nBOTw;3ZLVMx11beBOd% zXSJXbe`!oYAJXe^?kVm2${k!neWfrm6{X{bGhL$)X^u^ai*e$Fk|g+Yj$Fl%s9v+G zYtr~h2Xv*webNayI>U!|X+!G>9OX>%iAN!=tIqk+g~0seb1TC+H60h^^Dez00VqhU zEJn*0Tg0|4(|9lQPo2#K_w%{0+U}^f7dqa2?|Z(MKmADNpE@gTKZN<GYUhkr=W9KH z(QYvR{O8xt{`f3uVWrf*S^jWSc6HVv@1BBB>UPgedIQyEPy`>~$cZV^tLc*BI5kQt zD;?jcBUOA-7W>qiH~1(F4@T3%bWXbpcIoemYCh-IYfk6lU{?fBj--q;eyC1o)>2x# z57f0#Eu>vY$4d@7Nz)gqyV-Dh$hs3gfnkeo!j<etc^rQ!RvIN-1k@2H!EhKmN5bAN zFdSQ?Zu(#XxB?xUsPfbRisQk?t_=qttapt=4}9$xCq?$16WRTF2SujA`JhO3Z9V#a zG;2d}|Lv~TI=BgMqC9JdGa?_r8Ic3vKD;v`iDc-R%njgFE;v|x0H;q0=lyA@*~Ma0 zB)~1Z*<SWY&dJ?rkE{oS+ulUGzoR&l?X3pD%`pM9dxiDy8xv6DL=tp$Yj^H%j|6W& zAbTXXH}E+a?_iI#S;U$yPMn7$j@vfFIH?2pq0G8kQx~Hsse8|0%b|sqb9@+k2y8IW zI=2!+UW%DcN6BMk(s!8h%xH(uA=cVLkRDSso(A`yGOes{s%oILV+&q&mwZ{zkveRT ztU3BvEQ>@xu+l@cM^<;qSoNGSh=)pJ5l%hWBVk)Gr2!?sv^}yKguBhU*P6?J!XBv= zeE9ar#C>Fe`$O3ytGjg6HJ7J^J@SB>KUaHXb(aRR<_y{}MAYTM9tq7o7$QL8_LDi> zmGi5yN7i?7Xu1*ofCd!IcCbetuFU$CUYRu;T`RDeHRi<6WRJ}HM+rCk+|JoEse9NX zM~C8X=?31DVUN^NS_gZijF}J89yz*$VB1RS@JQJs$I>!h!XM5a*+X8qYd#oz<XXRW z8R+}F6PU!uucX=haz{8CcXEaHZg1754@GLGS+O~Pe|w}q{Ydsm6xlJZ-Nv~6&H!tq zQM5hs0gQHoJ@SA4@elv;zl(qUzqd@1XwCPTg->Xb<VxrgV<6f=iHK+cdqW*sJuHoc z4&b$i%Q+f~IO~vv+&XIf2vGEOmL^gL#|dd0b$YdxmkKN3!x{_`n#n$glC8Fz2mbdZ zREP=`YB1;0o|J(y%{i5f!>s-7oagq!z`J2#R<3hdG^QX>`F6*5QavW)C$4AVgN}zj zgCLqfW6?=jbf)6WGwDtv(03+BmR@(7a&e&yj~SwzT>Le9TKih$489h+A5|JujzFV& z3eX4Yi>9J5UJZ5n&g#VQAfY363!x~U7|zHEWv>3=nLn6ku{cKkgNk;rI8L|QX}ORa zy?Z-v2^PsT|6p@G*c{Q!3)*m@+6Yj)tm_Tuz*d}ED}Vx2aSuD(P$je(yWQ9)Z+tKY z`ySi}^7v(LsN!1T9p+;^{4mXpal_l90im0J1BsP^y%o|_!{-@8DhLS-CT}mnfh<SP zaQc@{N%2$JwZdqkABkK35e{>X%JA$1r_mU-+JD6!Ad#21S>Wfek)^W?Z7&N87PwHp ziLzfoj6?wVmG_JgIuH2{SGUzn)Y3P)5$<={+MAiq#$3Uo@^AT$mTh9gQB71r=k2lF zzNy=HVLR<WH4iIYI;LApA(A2@B(;x713XM!WWqCN)oo_gJ%MF<D_W?d^uv2keF+ko z9DX2ZY;pTiCQ8gz+*%FgHq8L1?d9{CZ+jawEel5s-I$QX)e%(45�a4G_x349FWX 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 C3CoQD literal 9018 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 diff --git a/docs/ebnf/type.svg b/docs/ebnf/type.svg index d8c3574e538dae6cb9c002b018eedccc2f08430d..586dd11e6c0dcb89ddbd7a7eb0bcfcab2ea24b24 100644 GIT binary patch literal 38828 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 literal 7381 zcmdT|TW_N{6n^iou;|OKR1%CKK$>K>7t*QJNu^#^yN_(*Bxnf90F%pB```E2=3<zX z$wm`KI~p~{93P+WoX?-Jdmpxo0Ig{h`^&Je;FhK!8jhC}Kb-ZI*O#GcD<1}Dy?8xC zU>U}JWu7FfZo9qNY+4)AT1K<Bu4!5uEEKfyC&|385XVx`ocgnQ(pOA)7@Q%5dJ{U0 zd5b;7$u6KM*{x__N$56dkK<U_q2EGpLF1J-rl@YVOXd`{0zagzQTq2b^@E^`!evM= zQJh4}&$Nrq35!(AI#eEQ7val)gr~oj!9=aPd&@@;hpy(b(Q|J_)rf`@8bO-6XdL<R z%AL$;Ty?Eyu9LYR*0{#QG_dzwr!g{IbW*~KP>QyKFNH4#vJ|%x8ZG?L3-aM_(`A^b zQ*Yr1yDs`jgEdY3u{WY$>CG;>K+j$nt1-Zwie%>lD-G@@_Wy<?V`H`bjxjIId74h1 z`ii^!k^9|nB6SffPn~B8DAc`-^?wC4Tt*8oI1p+?XLP&DGsej9^J<#%`0$z@3N@nR z<N}TTXdKWBv|0wc*)n{W_t`=aj9_E;Q9q-htO?&03GQqUy)tKHNQRjT9OjIzOsRbN zYA$ORe-e07^sRE`GYuFHP1ke}458QNGA!h|o$GTiOYmyxhY4uDgRq4#!UX>4SZRv^ zRV!v=A+ROzr!ZqFLtEGgu!455Ipo`fVHdju(G?Vd5!N#A*)YRVBtC%yEI+3^4!Dwx zvaJW4O1<O2ivdd}4Dze;%)BC1YmUI-2mspPYV>EX%?w2<vS3q;2JC-nWae=o4O5P< z@Fn3nG0Kjq46Yv^A8KGaP|-9ryK_`6?NV_IU(Lb9nj>(!SECxJn3x4t;Hs4TgLzBH zo|@Vvj!JH&6jZq=z4~v=#U@b(x9-jTr>nZUVhf0#7Q;HOu-LNpfCXn#?576HK0I$9 zU#}nBn!@V3BuK_lh1Ee2Bv@(U3`6cbF;?9GO}Zbw)B)`jqGZEoz7)}+4Awytz6A=- zq)y4L)ceC2tlJ<<0Mxy6pK8DoTu763oB|UN1_?p79Gcu{hz{B`di``=kJT)s$vTd~ z1ax5!)+QNDERd$>o2!Sb+PXTDG94$w>~OjVYm+i;U{I##m#6#DT@8l~qfjRExVjo3 z3*TY|XHw^h7p&0%WqNV{sFNncE~LphuBry;f&?mEt>8@RJTX#J18I64J>TDr+}oPE znxxRCBR`u=5C#cYiWZznou@_%-{phfubyr`?q9I%1Au+*o1KEi`a$0k*eaEh``AZg z@YVoa48-C%Y~b-Pa#=lbBi7x*mC@&Y_hQ&_oHl=(2g;wi^N3FS%6UM;Su(G@OZ+5& zE3x!leqELwF!<+6C9R$EZZ1w|aHQ-NgT&FxgteG`*Hs3gbcdFXw&_8PIg(FAvIRR7 z>5R@SB9<T#ww$H5S3V&T4fs$2a2PL$R${?V<^})4$YB2}BVKvQJWD6LP0R}nnVj^M zg*Yb9b+phmq@g+1(892@7Vpwc=u-*dy<oK<IB%-NWbH37OhfR84HuSQG^C0S_5<U= zD>T-+ky)%&*5;0(0rtY2S&JERuc-%}d*C7RS$Ru@Xz(e(fSIm&kUU<PgTH|XX#Akb z?M^vA7_z65rY6@blXn`N+^Qhgn?!CHW#lGjPg7~nSBD@REP>`~ZdDef;B-UCtxDR( zqHSvO3fuK2*$xCt6)_c=CJE<MkZVmMFBA@_Cg%Wm*owy@I7UNk@i;jnbr8bJULY(% z+e>?auIYR)V8SUZ)+!fK_5cmA2N@Ut(-|sz0k*jZz5@U!N+Cj2ol4ZuRahAWsU}#= oRgzurRxgi<&2Nv1W3u~W_EX#-zh`UlyJiAE!WOQx*R#Rdzi2D*NB{r; diff --git a/docs/ebnf/value.svg b/docs/ebnf/value.svg index 350d16cbd6786bb01bc3c7eb837508557875a02d..ef8330259285bed9c700f8583fcbcebd600142f9 100644 GIT binary patch literal 26331 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 EKjYawJOBUy literal 5683 zcmdT|TXUl}6n@XI(2&<)5Le^aPPe-_o0-%*lgsp(+OlC5gBPeT&Gf(bNJ1c}$-3*> zon|t&kj^<e-*+xZ9^UO%G1`zUkJ4nM;GV7^lFZV1lq^Te>&ry#D|h3oVZK=+kWBKC z5*EdJplRFfwzoBVX|~i1UDq{`P|!A-7a^GG+X@Ovv<!=pVwt8gzCs8M=VXzy5q-#u zeN0fXUz3qikX@n8@|??|pORoj@^vsH=)K);sZrF6qlC~w<L_+|#qj_oX+myMUS#Q4 zGC<cR^;8!VD)V-L@a>=6(r;-zSKH>^D(%U{*L|uT25X{bB$<;8Xd0kd7UgSyz9f0u zv>{9vVU)aM8c#~cx=oipQe0%-z=}|bwuP^R&lM@fy@F(`C<)?9{cVvZg}Mk<QM@0Z z&m`WEBANwL@;mvs&u-9jkmPC(Fc+NcO0hLyX7cC{AQ@Zh-FJjpXs$~-8TBo5)g!aJ zWr;LEG(7KFmViRsn^^x>K$A3E1@VzkGqNPRb;TG>hW{?6WgZ_N(_^7#WLDguS(MFU za)Z`sykDkCXWolK;2A-652e0HL%An>w@EN#2hvLzGbiRmbb;fH(aMy<S5<Sfcd;jq zr$patMqc!Q$;9?;|40{x8f(M6J!@5e9twijX_OSu^F4%Jgb_C3!@!Eh71~l%#zi1& z!bdGeDMP!FVq*pEM~Yd!CTypEOPGd&G7!SLurAarPm%Ho3}E@WeB*#ANl3hUz^F7k zi-R1nh{hl<HFstaX-hK%9zy`o#xGB={!pWmoD1P?3DR;alnx-196A=IWy=nhFu|4t zNU|!;wjGz2{uxZiR>qSLkI(Pn^dP2n2z~@-zY*TrmgM%Cabn$5#?#lw$9Lk1O*qk% z&KW<Lwr~!TK-I>i$#WyM;V5<|!wmSTZm@%6&(}j|JM4L$##Srm+0!7*$YP{iKTKcz zd;h7mSVTn(=Q^=i9r{{Tf?X)6k_gvolnHM!&=-e72l@bQAK0x+tEGd=)R)?G*-WS% zxvFIesj#u<D&x{=nI$dYMSe0{uhZv;`>FrwFkRJZ7hi@^H_v`E3p@ETpj!!!TRJE6 zWmwP&h1X{x?9-RmpCA3hbd_tJWI0lzz_muIt!}cQ=Lxdhrq1bP!KG--eLfFW{>O)3 zK0J1CRW5dsW#T$Z+#@r~guYpk)zmqeEYpCV{E0h#7Pg*Wo*t(6hsi3}I=QmzBypO! zI}^)<&MUZT>734$3tgT2d={#nzWjQaC%Vu{l2<2(-K?Z;lA!$xl3F?^lVo9N?cnes zhSot5iVf)Xzd{SIjrmAf@pElxpp~H`9fep&E87txHf6$;iVZdiLMyCSLls+e{0+2p z1RqqJOMcUl$|vX-=$j5*-58dT*r;^O48s8Axj2>PJ5*Ln3z%789y&(DLv9GxspN+F z$lQf3*xv8}gMVr7gX~;rZyp3n5sQq&&|PS6*J^N%A!Ss2p}qT6MqX@7w<-rda4rbf zt>9KpTnx9<+?yBBg~DuCaM=J_#>y~}YI+U|Ra0D^|9&;M*%iJIH+cAmulj!8CF{U- Q9%SK*%fgQZo8|cGFa5=yw*UYD diff --git a/docs/ebnf/values.svg b/docs/ebnf/values.svg index 485b133e23a13a494b696c097d79630f84f827b6..113f70f2373446dd3e49fcc92ef8ee4131081715 100644 GIT binary patch literal 11597 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 literal 3614 zcmdT`TaT+Y5PsiZF=Ag@X$jas60*sjR#l=tRDC&@cS@Xq4z~rLT)H~{y<;1L;Uv3J zrJlB{EEqHMG2hH*kC*RGc?JhoH)&a{EHZH|U`1SR(_+7}K7QEPbL-vH-Lg6C0WFJW zWhI<f3&%MgkCUS}DeJvMUDtKc!h&PE<;lwOW-|*CmhKadm^84S?f_u9WxGa>#6!c+ z83TT<*vjJU#GSZllpXw3L^*4!C}!~5*B%8ZOtQ3KVleo7*`-;wfTAqeBQ(4&KeGkg zdm>U-PuMcr1(3(D3h9qB+uCEem(F{$S-WfDokSJ0YgTMojcHmyT&GR7-tJj5hNc>t zCu#8tG}*L)U59RC6uj7Wz!jinJL1>USB@gZ6VB>9EuyS*f7z7<w|7yVX6FU`%CZCF zX&n8|zOY};^#i<*ipFk`=1wKMa~usMOq2eJNhW@Edc#<j=Dtm*O#KM1dz83GDWnC6 z^1Oy@5XHI=x&E(+7G<4B*^N|dwr8iR%a{<uzgN>%$G6w?R;o3N`2)mh9cSzTsxmw8 z%i^l;^+HgJ5WbhBuVrZN32$x^66}J!G?=&XHhLGh4NR;|qkP?J9`0T8N%3jfPllD( zd%$KBtb_H9AuJua4Xf?h>GtQPPH<JG1;;%<1mXrj@QVL<4J}9cj19?5S_*pt;@Vk? z#K8%B1F_(Yh<Ize#f<jN!ozWmR>aj`(0(+u3|S$<d@#{t8CJRlA*wMOXHkQk^af$R z8h%<<W^64vgpz|`_w?!K-#)J2FCAg5a-t(9zBi^yr?*fgJ~4y3#udQ~R{s=N5~zYn zvOkzSBXuHJoUmnnzH}}iVHi5{Z5OC~S|l~wt*rY)lzm~NS3Knzo(R;d?y#U!N-^Uj z^#uMPrAn8$o|e529!69Swc<uT(AL;k)~)&kj;R9ELI{Bpg)NgKV>T1yL_<O7=zVl* z^-71)U(>!j>(YcFAsIg~Cwj2&APCKQipRPKldev<=l)IId+vWo_Z~5H|KlZ|dVM3? zz5v~^_xeuu?eZSb?y<f@G4<-EWK_&5;)z}t;z(@DZM(AacB4-y<Sw|75Et?p)g#)? z(doByfv@N6Pz*C^p4$Y+&vuAcyx54C;fVV1j5mD3pSa~SAAG-alD^M4-x&<Ogo|{u z(XR~@G24-h(?d{%K~PDf580-2{AzsD`8Yo6PGLTOBf#FR4^TK>j*v_-&(ssJiS6mu kIBve)RCQl(hP@j5uex^~_^NrJ+O;R|(j3nPhyBytUo3Wt@Bjb+ diff --git a/docs/sql_queries.md b/docs/sql_queries.md index 1d47d867..8b26c5a6 100644 --- a/docs/sql_queries.md +++ b/docs/sql_queries.md @@ -6,7 +6,9 @@ ## Ð—Ð°Ð¿Ñ€Ð¾Ñ SELECT -Cхема возможных запроÑов SELECT показана ниже +Ð—Ð°Ð¿Ñ€Ð¾Ñ `SELECT` иÑпользуетÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð»ÑƒÑ‡ÐµÐ½Ð¸Ñ Ð¸Ñнформации из одной или неÑкольких таблиц баз данных. Он возвращает 0 или более Ñтрок из таблицы/таблиц ÑоглаÑно поиÑковому запроÑу. + +Cхема возможных запроÑов `SELECT` показана ниже.  @@ -40,12 +42,12 @@ SELECT * ИÑпользуетÑÑ Ð²: -* EXPRESSION -* INSERT -* QUERY -* SELECT +* expression +* insert +* query +* select -### **COLUMN** +### **column**  @@ -53,9 +55,9 @@ SELECT * ИÑпользуетÑÑ Ð²: -* Select +* select -### **EXPRESSION** +### **expression**  @@ -63,12 +65,12 @@ SELECT * ИÑпользуетÑÑ Ð²: -* Cast -* Column -* Expression -* Select +* cast +* column +* expression +* select -### **GROUP BY** +### **group by**  @@ -76,9 +78,9 @@ SELECT * ИÑпользуетÑÑ Ð²: -* Select +* select -### **REFERENCE** +### **reference**  @@ -86,11 +88,11 @@ SELECT * ИÑпользуетÑÑ Ð²: -* Expression -* GroupBy -* Insert +* expression +* groupby +* insert -### **VALUE** +### **value**  @@ -98,10 +100,10 @@ SELECT * ИÑпользуетÑÑ Ð²: -* Expression -* Values +* expression +* values -### **CAST** +### **cast**  @@ -109,9 +111,9 @@ SELECT * ИÑпользуетÑÑ Ð²: -* GroupBy +* groupby -### **TYPE** +### **type**  @@ -119,11 +121,14 @@ SELECT * ИÑпользуетÑÑ Ð²: -* Cast +* cast ## Ð—Ð°Ð¿Ñ€Ð¾Ñ INSERT +Ð—Ð°Ð¿Ñ€Ð¾Ñ `INSERT` иÑпользуетÑÑ Ð´Ð»Ñ Ð¿Ð¾Ð¼ÐµÑ‰ÐµÐ½Ð¸Ñ (запиÑи) данных в одну или неÑколько таблиц. + +Схема возможных запроÑов `INSERT` показана ниже. -**INSERT** +**insert**  @@ -134,10 +139,10 @@ INSERT INTO "t" VALUES(1, 2, 3, 4) ИÑпользуетÑÑ Ð²: -* Query +* query -### **VALUES** +### **values**  @@ -145,7 +150,7 @@ INSERT INTO "t" VALUES(1, 2, 3, 4) ИÑпользуетÑÑ Ð²: -* Insert -* Query +* insert +* query Читать далее: [Перечень поддерживаемых типов данных](../sql_datatypes) -- GitLab