UNPKG

@openobserve/node-sql-parser

Version:
1 lines 2.63 MB
!function(r,t){for(var e in t)r[e]=t[e]}(exports,function(r){var t={};function e(n){if(t[n])return t[n].exports;var s=t[n]={i:n,l:!1,exports:{}};return r[n].call(s.exports,s,s.exports,e),s.l=!0,s.exports}return e.m=r,e.c=t,e.d=function(r,t,n){e.o(r,t)||Object.defineProperty(r,t,{enumerable:!0,get:n})},e.r=function(r){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(r,"__esModule",{value:!0})},e.t=function(r,t){if(1&t&&(r=e(r)),8&t)return r;if(4&t&&"object"==typeof r&&r&&r.__esModule)return r;var n=Object.create(null);if(e.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:r}),2&t&&"string"!=typeof r)for(var s in r)e.d(n,s,function(t){return r[t]}.bind(null,s));return n},e.n=function(r){var t=r&&r.__esModule?function(){return r.default}:function(){return r};return e.d(t,"a",t),t},e.o=function(r,t){return Object.prototype.hasOwnProperty.call(r,t)},e.p="",e(e.s=16)}([function(r,t){r.exports=require("big-integer")},function(r,t,e){"use strict";var n=e(0);function s(r,t,e,n){this.message=r,this.expected=t,this.found=e,this.location=n,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,s)}!function(r,t){function e(){this.constructor=r}e.prototype=t.prototype,r.prototype=new e}(s,Error),s.buildMessage=function(r,t){var e={literal:function(r){return'"'+s(r.text)+'"'},class:function(r){var t,e="";for(t=0;t<r.parts.length;t++)e+=r.parts[t]instanceof Array?u(r.parts[t][0])+"-"+u(r.parts[t][1]):u(r.parts[t]);return"["+(r.inverted?"^":"")+e+"]"},any:function(r){return"any character"},end:function(r){return"end of input"},other:function(r){return r.description}};function n(r){return r.charCodeAt(0).toString(16).toUpperCase()}function s(r){return r.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}function u(r){return r.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,(function(r){return"\\x0"+n(r)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(r){return"\\x"+n(r)}))}return"Expected "+function(r){var t,n,s,u=new Array(r.length);for(t=0;t<r.length;t++)u[t]=(s=r[t],e[s.type](s));if(u.sort(),u.length>0){for(t=1,n=1;t<u.length;t++)u[t-1]!==u[t]&&(u[n]=u[t],n++);u.length=n}switch(u.length){case 1:return u[0];case 2:return u[0]+" or "+u[1];default:return u.slice(0,-1).join(", ")+", or "+u[u.length-1]}}(r)+" but "+function(r){return r?'"'+s(r)+'"':"end of input"}(t)+" found."},r.exports={SyntaxError:s,parse:function(r,t){t=void 0!==t?t:{};var e,u={},o={start:zs},a=zs,i=function(r,t){return Ji(r,t,1)},l=Ws("IF",!0),c=function(r,t){return Ji(r,t)},f=Ws("AUTO_INCREMENT",!0),b=Ws("UNIQUE",!0),v=Ws("KEY",!0),L=Ws("PRIMARY",!0),C=Ws("COLUMN_FORMAT",!0),p=Ws("FIXED",!0),d=Ws("DYNAMIC",!0),w=Ws("DEFAULT",!0),y=Ws("STORAGE",!0),E=Ws("DISK",!0),h=Ws("MEMORY",!0),A=Ws("ALGORITHM",!0),m=Ws("INSTANT",!0),T=Ws("INPLACE",!0),R=Ws("COPY",!0),I=Ws("LOCK",!0),N=Ws("NONE",!0),_=Ws("SHARED",!0),S=Ws("EXCLUSIVE",!0),g=Ws("PRIMARY KEY",!0),O=Ws("FOREIGN KEY",!0),x=Ws("MATCH FULL",!0),U=Ws("MATCH PARTIAL",!0),k=Ws("MATCH SIMPLE",!0),M=Ws("RESTRICT",!0),D=Ws("CASCADE",!0),$=Ws("SET NULL",!0),G=Ws("NO ACTION",!0),P=Ws("SET DEFAULT",!0),F=Ws("CHARACTER",!0),j=Ws("SET",!0),H=Ws("CHARSET",!0),Y=Ws("COLLATE",!0),B=Ws("AVG_ROW_LENGTH",!0),W=Ws("KEY_BLOCK_SIZE",!0),X=Ws("MAX_ROWS",!0),V=Ws("MIN_ROWS",!0),q=Ws("STATS_SAMPLE_PAGES",!0),K=Ws("CONNECTION",!0),Z=Ws("COMPRESSION",!0),z=Ws("'",!1),Q=Ws("ZLIB",!0),J=Ws("LZ4",!0),rr=Ws("ENGINE",!0),tr=Ws("READ",!0),er=Ws("LOCAL",!0),nr=Ws("LOW_PRIORITY",!0),sr=Ws("WRITE",!0),ur=function(r,t){return Ji(r,t)},or=Ws("(",!1),ar=Ws(")",!1),ir=Ws(".",!1),lr=Ws("UNNEST",!0),cr=Ws("BTREE",!0),fr=Ws("HASH",!0),br=Ws("WITH",!0),vr=Ws("PARSER",!0),Lr=Ws("VISIBLE",!0),Cr=Ws("INVISIBLE",!0),pr=function(r,t){return t.unshift(r),t.forEach(r=>{const{table:t,as:e}=r;ol[t]=t,e&&(ol[e]=t),function(r){const t=el(r);r.clear(),t.forEach(t=>r.add(t))}(ul)}),t},dr=Ws("FOLLOWING",!0),wr=Ws("PRECEDING",!0),yr=Ws("CURRENT",!0),Er=Ws("ROW",!0),hr=Ws("UNBOUNDED",!0),Ar=Ws("=",!1),mr=function(r,t){return rl(r,t)},Tr=Ws("!",!1),Rr=function(r){return r[0]+" "+r[2]},Ir=Ws(">=",!1),Nr=Ws(">",!1),_r=Ws("<=",!1),Sr=Ws("<>",!1),gr=Ws("<",!1),Or=Ws("==",!1),xr=Ws("!=",!1),Ur=function(r,t){return{op:r,right:t}},kr=Ws("+",!1),Mr=Ws("-",!1),Dr=Ws("*",!1),$r=Ws("/",!1),Gr=Ws("%",!1),Pr=Ws("~",!1),Fr=function(r){return!0===qi[r.toUpperCase()]},jr=Ws('"',!1),Hr=/^[^"]/,Yr=Xs(['"'],!0,!1),Br=/^[^']/,Wr=Xs(["'"],!0,!1),Xr=Ws("`",!1),Vr=/^[^`]/,qr=Xs(["`"],!0,!1),Kr=function(r,t){return r+t.join("")},Zr=/^[A-Za-z_]/,zr=Xs([["A","Z"],["a","z"],"_"],!1,!1),Qr=/^[A-Za-z0-9_]/,Jr=Xs([["A","Z"],["a","z"],["0","9"],"_"],!1,!1),rt=/^[A-Za-z0-9_:]/,tt=Xs([["A","Z"],["a","z"],["0","9"],"_",":"],!1,!1),et=Ws(":",!1),nt=Ws("OVER",!0),st=Ws("AT TIME ZONE",!0),ut=Ws("CENTURY",!0),ot=Ws("DAY",!0),at=Ws("DATE",!0),it=Ws("DECADE",!0),lt=Ws("DOW",!0),ct=Ws("DOY",!0),ft=Ws("EPOCH",!0),bt=Ws("HOUR",!0),vt=Ws("ISODOW",!0),Lt=Ws("ISOYEAR",!0),Ct=Ws("MICROSECONDS",!0),pt=Ws("MILLENNIUM",!0),dt=Ws("MILLISECONDS",!0),wt=Ws("MINUTE",!0),yt=Ws("MONTH",!0),Et=Ws("QUARTER",!0),ht=Ws("SECOND",!0),At=Ws("TIMEZONE",!0),mt=Ws("TIMEZONE_HOUR",!0),Tt=Ws("TIMEZONE_MINUTE",!0),Rt=Ws("WEEK",!0),It=Ws("YEAR",!0),Nt=function(r,t){return{type:r.toLowerCase(),value:t[1].join("")}},_t=/^[^"\\\0-\x1F\x7F]/,St=Xs(['"',"\\",["\0",""],""],!0,!1),gt=/^[^'\\]/,Ot=Xs(["'","\\"],!0,!1),xt=Ws("\\'",!1),Ut=Ws('\\"',!1),kt=Ws("\\\\",!1),Mt=Ws("\\/",!1),Dt=Ws("\\b",!1),$t=Ws("\\f",!1),Gt=Ws("\\n",!1),Pt=Ws("\\r",!1),Ft=Ws("\\t",!1),jt=Ws("\\u",!1),Ht=Ws("\\",!1),Yt=Ws("''",!1),Bt=Ws('""',!1),Wt=Ws("``",!1),Xt=/^[\n\r]/,Vt=Xs(["\n","\r"],!1,!1),qt=/^[0-9]/,Kt=Xs([["0","9"]],!1,!1),Zt=/^[0-9a-fA-F]/,zt=Xs([["0","9"],["a","f"],["A","F"]],!1,!1),Qt=/^[eE]/,Jt=Xs(["e","E"],!1,!1),re=/^[+\-]/,te=Xs(["+","-"],!1,!1),ee=Ws("NULL",!0),ne=Ws("NOT NULL",!0),se=Ws("TRUE",!0),ue=Ws("TO",!0),oe=Ws("FALSE",!0),ae=(Ws("SHOW",!0),Ws("DROP",!0)),ie=Ws("USE",!0),le=Ws("ALTER",!0),ce=Ws("SELECT",!0),fe=Ws("UPDATE",!0),be=Ws("CREATE",!0),ve=Ws("TEMPORARY",!0),Le=Ws("DELETE",!0),Ce=Ws("INSERT",!0),pe=Ws("RECURSIVE",!1),de=Ws("REPLACE",!0),we=Ws("RENAME",!0),ye=Ws("IGNORE",!0),Ee=(Ws("EXPLAIN",!0),Ws("PARTITION",!0)),he=Ws("INTO",!0),Ae=Ws("OVERWRITE",!0),me=Ws("FROM",!0),Te=Ws("UNLOCK",!0),Re=Ws("AS",!0),Ie=Ws("TABLE",!0),Ne=Ws("TABLES",!0),_e=Ws("DATABASE",!0),Se=Ws("SCHEMA",!0),ge=Ws("ON",!0),Oe=Ws("LEFT",!0),xe=Ws("RIGHT",!0),Ue=Ws("FULL",!0),ke=Ws("CROSS",!0),Me=Ws("INNER",!0),De=Ws("JOIN",!0),$e=Ws("OUTER",!0),Ge=Ws("UNION",!0),Pe=Ws("VALUES",!0),Fe=Ws("USING",!0),je=Ws("WHERE",!0),He=Ws("GROUP",!0),Ye=Ws("BY",!0),Be=Ws("ORDER",!0),We=Ws("HAVING",!0),Xe=Ws("LIMIT",!0),Ve=Ws("OFFSET",!0),qe=Ws("ASC",!0),Ke=Ws("DESC",!0),Ze=Ws("ALL",!0),ze=Ws("DISTINCT",!0),Qe=Ws("BETWEEN",!0),Je=Ws("IN",!0),rn=Ws("IS",!0),tn=Ws("LIKE",!0),en=Ws("RLIKE",!0),nn=Ws("EXISTS",!0),sn=Ws("NOT",!0),un=Ws("AND",!0),on=Ws("OR",!0),an=Ws("COUNT",!0),ln=Ws("MAX",!0),cn=Ws("MIN",!0),fn=Ws("SUM",!0),bn=Ws("AVG",!0),vn=Ws("EXTRACT",!0),Ln=Ws("CALL",!0),Cn=Ws("CASE",!0),pn=Ws("WHEN",!0),dn=Ws("THEN",!0),wn=Ws("ELSE",!0),yn=Ws("END",!0),En=Ws("CAST",!0),hn=Ws("ARRAY",!0),An=Ws("CHAR",!0),mn=Ws("VARCHAR",!0),Tn=Ws("NUMERIC",!0),Rn=Ws("DECIMAL",!0),In=Ws("SIGNED",!0),Nn=Ws("STRING",!0),_n=Ws("UNSIGNED",!0),Sn=Ws("INT",!0),gn=Ws("ZEROFILL",!0),On=Ws("INTEGER",!0),xn=Ws("JSON",!0),Un=Ws("SMALLINT",!0),kn=Ws("TINYINT",!0),Mn=Ws("TINYTEXT",!0),Dn=Ws("TEXT",!0),$n=Ws("MEDIUMTEXT",!0),Gn=Ws("LONGTEXT",!0),Pn=Ws("BIGINT",!0),Fn=Ws("FLOAT",!0),jn=Ws("DOUBLE",!0),Hn=Ws("DATETIME",!0),Yn=Ws("ROWS",!0),Bn=Ws("TIME",!0),Wn=Ws("TIMESTAMP",!0),Xn=Ws("TRUNCATE",!0),Vn=Ws("USER",!0),qn=Ws("CURRENT_DATE",!0),Kn=(Ws("ADDDATE",!0),Ws("INTERVAL",!0)),Zn=Ws("CURRENT_TIME",!0),zn=Ws("CURRENT_TIMESTAMP",!0),Qn=Ws("CURRENT_USER",!0),Jn=Ws("SESSION_USER",!0),rs=Ws("SYSTEM_USER",!0),ts=Ws("GLOBAL",!0),es=Ws("SESSION",!0),ns=Ws("PERSIST",!0),ss=Ws("PERSIST_ONLY",!0),us=Ws("@",!1),os=Ws("@@",!1),as=Ws("$",!1),is=Ws("return",!0),ls=Ws(":=",!1),cs=Ws("DUAL",!0),fs=Ws("ADD",!0),bs=Ws("COLUMN",!0),vs=Ws("INDEX",!0),Ls=Ws("FULLTEXT",!0),Cs=Ws("SPATIAL",!0),ps=Ws("COMMENT",!0),ds=Ws("CONSTRAINT",!0),ws=Ws("REFERENCES",!0),ys=Ws("SQL_CALC_FOUND_ROWS",!0),Es=Ws("SQL_CACHE",!0),hs=Ws("SQL_NO_CACHE",!0),As=Ws("SQL_SMALL_RESULT",!0),ms=Ws("SQL_BIG_RESULT",!0),Ts=Ws("SQL_BUFFER_RESULT",!0),Rs=Ws(",",!1),Is=Ws("[",!1),Ns=Ws("]",!1),_s=Ws(";",!1),Ss=Ws("||",!1),gs=Ws("&&",!1),Os=Ws("/*",!1),xs=Ws("*/",!1),Us=Ws("--",!1),ks=Ws("#",!1),Ms={type:"any"},Ds=/^[ \t\n\r]/,$s=Xs([" ","\t","\n","\r"],!1,!1),Gs=function(r){return{dataType:r}},Ps=0,Fs=0,js=[{line:1,column:1}],Hs=0,Ys=[],Bs=0;if("startRule"in t){if(!(t.startRule in o))throw new Error("Can't start parsing from rule \""+t.startRule+'".');a=o[t.startRule]}function Ws(r,t){return{type:"literal",text:r,ignoreCase:t}}function Xs(r,t,e){return{type:"class",parts:r,inverted:t,ignoreCase:e}}function Vs(t){var e,n=js[t];if(n)return n;for(e=t-1;!js[e];)e--;for(n={line:(n=js[e]).line,column:n.column};e<t;)10===r.charCodeAt(e)?(n.line++,n.column=1):n.column++,e++;return js[t]=n,n}function qs(r,t){var e=Vs(r),n=Vs(t);return{start:{offset:r,line:e.line,column:e.column},end:{offset:t,line:n.line,column:n.column}}}function Ks(r){Ps<Hs||(Ps>Hs&&(Hs=Ps,Ys=[]),Ys.push(r))}function Zs(r,t,e){return new s(s.buildMessage(r,t),r,t,e)}function zs(){var r,t;return r=Ps,Ii()!==u&&(t=function(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=Js())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=Ti())!==u&&(a=Ii())!==u&&(i=Js())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=Ti())!==u&&(a=Ii())!==u&&(i=Js())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);e!==u?(Fs=r,t=function(r,t){const e=r&&r.ast||r,n=t&&t.length&&t[0].length>=4?[e]:e;for(let r=0;r<t.length;r++)t[r][3]&&0!==t[r][3].length&&n.push(t[r][3]&&t[r][3].ast||t[r][3]);return{tableList:Array.from(sl),columnList:el(ul),ast:n}}(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())!==u?(Fs=r,r=t):(Ps=r,r=u),r}function Qs(){var t;return(t=function(){var r,t,e,n,s,o;r=Ps,(t=oa())!==u&&Ii()!==u&&(e=wa())!==u&&Ii()!==u&&(n=Mu())!==u?(Fs=r,a=t,l=e,(c=n)&&c.forEach(r=>sl.add(`${a}::${r.db}::${r.table}`)),t={tableList:Array.from(sl),columnList:el(ul),ast:{type:a.toLowerCase(),keyword:l.toLowerCase(),name:c}},r=t):(Ps=r,r=u);var a,l,c;r===u&&(r=Ps,(t=oa())!==u&&Ii()!==u&&(e=Li())!==u&&Ii()!==u&&(n=To())!==u&&Ii()!==u&&ha()!==u&&Ii()!==u&&(s=Pu())!==u&&Ii()!==u?((o=function(){var r,t,e,n,s,o;r=Ps,(t=au())===u&&(t=iu());if(t!==u){for(e=[],n=Ps,(s=Ii())!==u?((o=au())===u&&(o=iu()),o!==u?n=s=[s,o]:(Ps=n,n=u)):(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u?((o=au())===u&&(o=iu()),o!==u?n=s=[s,o]:(Ps=n,n=u)):(Ps=n,n=u);e!==u?(Fs=r,t=i(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())===u&&(o=null),o!==u&&Ii()!==u?(Fs=r,t=function(r,t,e,n,s){return{tableList:Array.from(sl),columnList:el(ul),ast:{type:r.toLowerCase(),keyword:t.toLowerCase(),name:e,table:n,options:s}}}(t,e,n,s,o),r=t):(Ps=r,r=u)):(Ps=r,r=u));return r}())===u&&(t=function(){var t;(t=function(){var t,e,n,s,o,a,i,l,f,b;t=Ps,(e=ia())!==u&&Ii()!==u?((n=la())===u&&(n=null),n!==u&&Ii()!==u&&wa()!==u&&Ii()!==u?((s=eu())===u&&(s=null),s!==u&&Ii()!==u&&(o=Mu())!==u&&Ii()!==u&&(a=function(){var r,t,e,n,s,o,a,i,l;if(r=Ps,(t=Ei())!==u)if(Ii()!==u)if((e=nu())!==u){for(n=[],s=Ps,(o=Ii())!==u&&(a=wi())!==u&&(i=Ii())!==u&&(l=nu())!==u?s=o=[o,a,i,l]:(Ps=s,s=u);s!==u;)n.push(s),s=Ps,(o=Ii())!==u&&(a=wi())!==u&&(i=Ii())!==u&&(l=nu())!==u?s=o=[o,a,i,l]:(Ps=s,s=u);n!==u&&(s=Ii())!==u&&(o=hi())!==u?(Fs=r,t=c(e,n),r=t):(Ps=r,r=u)}else Ps=r,r=u;else Ps=r,r=u;else Ps=r,r=u;return r}())!==u&&Ii()!==u?((i=function(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=Cu())!==u){for(e=[],n=Ps,(s=Ii())!==u?((o=wi())===u&&(o=null),o!==u&&(a=Ii())!==u&&(i=Cu())!==u?n=s=[s,o,a,i]:(Ps=n,n=u)):(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u?((o=wi())===u&&(o=null),o!==u&&(a=Ii())!==u&&(i=Cu())!==u?n=s=[s,o,a,i]:(Ps=n,n=u)):(Ps=n,n=u);e!==u?(Fs=r,t=Ji(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())===u&&(i=null),i!==u&&Ii()!==u?((l=function(){var t,e,n,s;t=Ps,"ignore"===r.substr(Ps,6).toLowerCase()?(e=r.substr(Ps,6),Ps+=6):(e=u,0===Bs&&Ks(ye));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u);return t}())===u&&(l=fa()),l===u&&(l=null),l!==u&&Ii()!==u?((f=da())===u&&(f=null),f!==u&&Ii()!==u?((b=tu())===u&&(b=null),b!==u?(Fs=t,e=function(r,t,e,n,s,u,o,a,i){return n&&n.forEach(r=>sl.add(`create::${r.db}::${r.table}`)),{tableList:Array.from(sl),columnList:el(ul),ast:{type:r[0].toLowerCase(),keyword:"table",temporary:t&&t[0].toLowerCase(),if_not_exists:e,table:n,ignore_replace:o&&o[0].toLowerCase(),as:a&&a[0].toLowerCase(),query_expr:i&&i.ast,create_definitions:s,table_options:u}}}(e,n,s,o,a,i,l,f,b),t=e):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u);t===u&&(t=Ps,(e=ia())!==u&&Ii()!==u?((n=la())===u&&(n=null),n!==u&&Ii()!==u&&wa()!==u&&Ii()!==u?((s=eu())===u&&(s=null),s!==u&&Ii()!==u&&(o=Mu())!==u&&Ii()!==u&&(a=function r(){var t,e;(t=function(){var r,t;r=Ps,ka()!==u&&Ii()!==u&&(t=Mu())!==u?(Fs=r,r={type:"like",table:t}):(Ps=r,r=u);return r}())===u&&(t=Ps,Ei()!==u&&Ii()!==u&&(e=r())!==u&&Ii()!==u&&hi()!==u?(Fs=t,(n=e).parentheses=!0,t=n):(Ps=t,t=u));var n;return t}())!==u?(Fs=t,v=e,L=n,C=s,d=a,(p=o)&&p.forEach(r=>sl.add(`create::${r.db}::${r.table}`)),e={tableList:Array.from(sl),columnList:el(ul),ast:{type:v[0].toLowerCase(),keyword:"table",temporary:L&&L[0].toLowerCase(),if_not_exists:C,table:p,like:d}},t=e):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u));var v,L,C,p,d;return t}())===u&&(t=function(){var t,e,n,s,o,a;t=Ps,(e=ia())!==u&&Ii()!==u?((n=function(){var t,e,n,s;t=Ps,"database"===r.substr(Ps,8).toLowerCase()?(e=r.substr(Ps,8),Ps+=8):(e=u,0===Bs&&Ks(_e));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="DATABASE"):(Ps=t,t=u)):(Ps=t,t=u);return t}())===u&&(n=function(){var t,e,n,s;t=Ps,"schema"===r.substr(Ps,6).toLowerCase()?(e=r.substr(Ps,6),Ps+=6):(e=u,0===Bs&&Ks(Se));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="SCHEMA"):(Ps=t,t=u)):(Ps=t,t=u);return t}()),n!==u&&Ii()!==u?((s=eu())===u&&(s=null),s!==u&&Ii()!==u&&(o=Pi())!==u&&Ii()!==u?((a=function(){var r,t,e,n,s,o;if(r=Ps,(t=Lu())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=Lu())!==u?n=s=[s,o]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=Lu())!==u?n=s=[s,o]:(Ps=n,n=u);e!==u?(Fs=r,t=i(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())===u&&(a=null),a!==u?(Fs=t,e=function(r,t,e,n,s){const u=t.toLowerCase();return{tableList:Array.from(sl),columnList:el(ul),ast:{type:r[0].toLowerCase(),keyword:u,if_not_exists:e,[u]:{db:n.schema,schema:n.name},create_definitions:s}}}(e,n,s,o,a),t=e):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u);return t}());return t}())===u&&(t=function(){var t,e,n,s;t=Ps,(e=function(){var t,e,n,s;t=Ps,"truncate"===r.substr(Ps,8).toLowerCase()?(e=r.substr(Ps,8),Ps+=8):(e=u,0===Bs&&Ks(Xn));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="TRUNCATE"):(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&Ii()!==u?((n=wa())===u&&(n=null),n!==u&&Ii()!==u&&(s=Mu())!==u?(Fs=t,o=e,a=n,(i=s)&&i.forEach(r=>sl.add(`${o}::${r.db}::${r.table}`)),e={tableList:Array.from(sl),columnList:el(ul),ast:{type:o.toLowerCase(),keyword:a&&a.toLowerCase()||"table",name:i}},t=e):(Ps=t,t=u)):(Ps=t,t=u);var o,a,i;return t}())===u&&(t=function(){var r,t,e;r=Ps,(t=ba())!==u&&Ii()!==u&&wa()!==u&&Ii()!==u&&(e=function(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=Ou())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=Ou())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=Ou())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);e!==u?(Fs=r,t=c(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())!==u?(Fs=r,(n=e).forEach(r=>r.forEach(r=>r.table&&sl.add(`rename::${r.db}::${r.table}`))),t={tableList:Array.from(sl),columnList:el(ul),ast:{type:"rename",table:n}},r=t):(Ps=r,r=u);var n;return r}())===u&&(t=function(){var t,e,n;t=Ps,(e=function(){var t,e,n,s;t=Ps,"call"===r.substr(Ps,4).toLowerCase()?(e=r.substr(Ps,4),Ps+=4):(e=u,0===Bs&&Ks(Ln));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="CALL"):(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&Ii()!==u&&(n=Fi())!==u?(Fs=t,s=n,e={tableList:Array.from(sl),columnList:el(ul),ast:{type:"call",expr:s},...Ki()},t=e):(Ps=t,t=u);var s;return t}())===u&&(t=function(){var t,e,n;t=Ps,(e=function(){var t,e,n,s;t=Ps,"use"===r.substr(Ps,3).toLowerCase()?(e=r.substr(Ps,3),Ps+=3):(e=u,0===Bs&&Ks(ie));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&Ii()!==u&&(n=Io())!==u?(Fs=t,s=n,sl.add(`use::${s}::null`),e={tableList:Array.from(sl),columnList:el(ul),ast:{type:"use",db:s}},t=e):(Ps=t,t=u);var s;return t}())===u&&(t=function(){var t,e,n,s;t=Ps,(e=function(){var t,e,n,s;t=Ps,"alter"===r.substr(Ps,5).toLowerCase()?(e=r.substr(Ps,5),Ps+=5):(e=u,0===Bs&&Ks(le));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&Ii()!==u&&wa()!==u&&Ii()!==u&&(n=Mu())!==u&&Ii()!==u&&(s=function(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=ou())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=ou())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=ou())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);e!==u?(Fs=r,t=c(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())!==u?(Fs=t,a=s,(o=n)&&o.length>0&&o.forEach(r=>sl.add(`alter::${r.db}::${r.table}`)),e={tableList:Array.from(sl),columnList:el(ul),ast:{type:"alter",table:o,expr:a}},t=e):(Ps=t,t=u);var o,a;return t}())===u&&(t=function(){var t,e,n,s;t=Ps,(e=pa())!==u&&Ii()!==u?((n=function(){var t,e,n,s;t=Ps,"global"===r.substr(Ps,6).toLowerCase()?(e=r.substr(Ps,6),Ps+=6):(e=u,0===Bs&&Ks(ts));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="GLOBAL"):(Ps=t,t=u)):(Ps=t,t=u);return t}())===u&&(n=function(){var t,e,n,s;t=Ps,"session"===r.substr(Ps,7).toLowerCase()?(e=r.substr(Ps,7),Ps+=7):(e=u,0===Bs&&Ks(es));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="SESSION"):(Ps=t,t=u)):(Ps=t,t=u);return t}())===u&&(n=function(){var t,e,n,s;t=Ps,"local"===r.substr(Ps,5).toLowerCase()?(e=r.substr(Ps,5),Ps+=5):(e=u,0===Bs&&Ks(er));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="LOCAL"):(Ps=t,t=u)):(Ps=t,t=u);return t}())===u&&(n=function(){var t,e,n,s;t=Ps,"persist"===r.substr(Ps,7).toLowerCase()?(e=r.substr(Ps,7),Ps+=7):(e=u,0===Bs&&Ks(ns));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="PERSIST"):(Ps=t,t=u)):(Ps=t,t=u);return t}())===u&&(n=function(){var t,e,n,s;t=Ps,"persist_only"===r.substr(Ps,12).toLowerCase()?(e=r.substr(Ps,12),Ps+=12):(e=u,0===Bs&&Ks(ss));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="PERSIST_ONLY"):(Ps=t,t=u)):(Ps=t,t=u);return t}()),n===u&&(n=null),n!==u&&Ii()!==u&&(s=function(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=ki())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=ki())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=ki())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);e!==u?(Fs=r,t=ur(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())!==u?(Fs=t,o=n,(a=s).keyword=o,e={tableList:Array.from(sl),columnList:el(ul),ast:{type:"set",keyword:o,expr:a}},t=e):(Ps=t,t=u)):(Ps=t,t=u);var o,a;return t}())===u&&(t=function(){var t,e,n;t=Ps,(e=function(){var t,e,n,s;t=Ps,"lock"===r.substr(Ps,4).toLowerCase()?(e=r.substr(Ps,4),Ps+=4):(e=u,0===Bs&&Ks(I));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&Ii()!==u&&ya()!==u&&Ii()!==u&&(n=function(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=pu())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=pu())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=pu())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);e!==u?(Fs=r,t=ur(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())!==u?(Fs=t,s=n,e={tableList:Array.from(sl),columnList:el(ul),ast:{type:"lock",keyword:"tables",tables:s}},t=e):(Ps=t,t=u);var s;return t}())===u&&(t=function(){var t,e;t=Ps,(e=function(){var t,e,n,s;t=Ps,"unlock"===r.substr(Ps,6).toLowerCase()?(e=r.substr(Ps,6),Ps+=6):(e=u,0===Bs&&Ks(Te));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&Ii()!==u&&ya()!==u?(Fs=t,e={tableList:Array.from(sl),columnList:el(ul),ast:{type:"unlock",keyword:"tables"}},t=e):(Ps=t,t=u);return t}()),t}function Js(){var t;return(t=tu())===u&&(t=function(){var r,t,e,n,s;r=Ps,(t=aa())!==u&&Ii()!==u&&(e=Mu())!==u&&Ii()!==u&&pa()!==u&&Ii()!==u&&(n=function(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=Ju())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=Ju())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=Ju())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);e!==u?(Fs=r,t=c(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())!==u&&Ii()!==u?((s=Hu())===u&&(s=null),s!==u?(Fs=r,t=function(r,t,e){const n={};return r&&r.forEach(r=>{const{db:t,as:e,table:s,join:u}=r,o=u?"select":"update";t&&(n[s]=t),s&&sl.add(`${o}::${t}::${s}`)}),t&&t.forEach(r=>{if(r.table){const t=tl(r.table);sl.add(`update::${n[t]||null}::${t}`)}ul.add(`update::${r.table}::${r.column}`)}),{tableList:Array.from(sl),columnList:el(ul),ast:{type:"update",table:r,set:t,where:e}}}(e,n,s),r=t):(Ps=r,r=u)):(Ps=r,r=u);return r}())===u&&(t=function(){var r,t,e,n,s,o,a,i;r=Ps,(t=eo())!==u&&Ii()!==u&&(e=La())!==u&&Ii()!==u?((n=wa())===u&&(n=null),n!==u&&Ii()!==u&&(s=Pu())!==u?((o=to())===u&&(o=null),o!==u&&Ii()!==u&&Ei()!==u&&Ii()!==u&&(a=function(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=Uo())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=Uo())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=Uo())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);e!==u?(Fs=r,t=c(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())!==u&&Ii()!==u&&hi()!==u&&Ii()!==u&&(i=ro())!==u?(Fs=r,t=function(r,t,e,n,s,u,o){if(n&&(sl.add(`insert::${n.db}::${n.table}`),n.as=null),u){let r=n&&n.table||null;Array.isArray(o)&&o.forEach((r,t)=>{if(r.value.length!=u.length)throw new Error("Error: column count doesn't match value count at row "+(t+1))}),u.forEach(t=>ul.add(`insert::${r}::${t}`))}const a=e?" "+e.toLowerCase():"";return{tableList:Array.from(sl),columnList:el(ul),ast:{type:r,prefix:`${t.toLowerCase()}${a}`,table:[n],columns:u,values:o,partition:s}}}(t,e,n,s,o,a,i),r=t):(Ps=r,r=u)):(Ps=r,r=u)):(Ps=r,r=u);return r}())===u&&(t=function(){var t,e,n,s,o,a,i;t=Ps,(e=eo())!==u&&Ii()!==u?((n=La())===u&&(n=function(){var t,e,n,s;t=Ps,"overwrite"===r.substr(Ps,9).toLowerCase()?(e=r.substr(Ps,9),Ps+=9):(e=u,0===Bs&&Ks(Ae));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="OVERWRITE"):(Ps=t,t=u)):(Ps=t,t=u);return t}()),n!==u&&Ii()!==u?((s=wa())===u&&(s=null),s!==u&&Ii()!==u&&(o=Pu())!==u&&Ii()!==u?((a=to())===u&&(a=null),a!==u&&Ii()!==u&&(i=ro())!==u?(Fs=t,e=function(r,t,e,n,s,u){n&&(sl.add(`insert::${n.db}::${n.table}`),ul.add(`insert::${n.table}::(.*)`),n.as=null);const o=e?" "+e.toLowerCase():"";return{tableList:Array.from(sl),columnList:el(ul),ast:{type:r,prefix:`${t.toLowerCase()}${o}`,table:[n],columns:null,values:u,partition:s}}}(e,n,s,o,a,i),t=e):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u);return t}())===u&&(t=function(){var r,t,e,n,s;r=Ps,(t=ca())!==u&&Ii()!==u?((e=Mu())===u&&(e=null),e!==u&&Ii()!==u&&(n=gu())!==u&&Ii()!==u?((s=Hu())===u&&(s=null),s!==u?(Fs=r,t=function(r,t,e){if(t&&t.forEach(r=>{const{db:t,as:e,table:n,join:s}=r,u=s?"select":"delete";n&&sl.add(`${u}::${t}::${n}`),s||ul.add(`delete::${n}::(.*)`)}),null===r&&1===t.length){const e=t[0];r=[{db:e.db,table:e.table,as:e.as,addition:!0}]}return{tableList:Array.from(sl),columnList:el(ul),ast:{type:"delete",table:r,from:t,where:e}}}(e,n,s),r=t):(Ps=r,r=u)):(Ps=r,r=u)):(Ps=r,r=u);return r}())===u&&(t=Qs())===u&&(t=function(){var r,t;r=[],t=Ui();for(;t!==u;)r.push(t),t=Ui();return r}()),t}function ru(){var t,e,n;return t=Ps,function(){var t,e,n,s;t=Ps,"union"===r.substr(Ps,5).toLowerCase()?(e=r.substr(Ps,5),Ps+=5):(e=u,0===Bs&&Ks(Ge));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u);return t}()!==u&&Ii()!==u?((e=Sa())===u&&(e=ga()),e===u&&(e=null),e!==u?(Fs=t,t=(n=e)?"union "+n.toLowerCase():"union"):(Ps=t,t=u)):(Ps=t,t=u),t}function tu(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=du())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=ru())!==u&&(a=Ii())!==u&&(i=du())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=ru())!==u&&(a=Ii())!==u&&(i=du())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);e!==u&&(n=Ii())!==u?((s=qu())===u&&(s=null),s!==u&&(o=Ii())!==u?((a=Qu())===u&&(a=null),a!==u?(Fs=r,r=t=function(r,t,e,n){t.forEach(r=>r.slice(1,1));let s=r;for(let r=0;r<t.length;r++)s._next=t[r][3],s.set_op=t[r][1],s=s._next;return e&&(r._orderby=e),n&&(r._limit=n),{tableList:Array.from(sl),columnList:el(ul),ast:r}}(t,e,s,a)):(Ps=r,r=u)):(Ps=r,r=u)):(Ps=r,r=u)}else Ps=r,r=u;return r}function eu(){var t,e;return t=Ps,"if"===r.substr(Ps,2).toLowerCase()?(e=r.substr(Ps,2),Ps+=2):(e=u,0===Bs&&Ks(l)),e!==u&&Ii()!==u&&$a()!==u&&Ii()!==u&&Da()!==u?(Fs=t,t=e="IF NOT EXISTS"):(Ps=t,t=u),t}function nu(){var t;return(t=uu())===u&&(t=lu())===u&&(t=cu())===u&&(t=function(){var t;(t=function(){var t,e,n,s,o,a;t=Ps,(e=fu())===u&&(e=null);e!==u&&Ii()!==u?("primary key"===r.substr(Ps,11).toLowerCase()?(n=r.substr(Ps,11),Ps+=11):(n=u,0===Bs&&Ks(g)),n!==u&&Ii()!==u?((s=xu())===u&&(s=null),s!==u&&Ii()!==u&&(o=Eu())!==u&&Ii()!==u?((a=Uu())===u&&(a=null),a!==u?(Fs=t,l=n,c=s,f=o,b=a,e={constraint:(i=e)&&i.constraint,definition:f,constraint_type:l.toLowerCase(),keyword:i&&i.keyword,index_type:c,resource:"constraint",index_options:b},t=e):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u);var i,l,c,f,b;return t}())===u&&(t=function(){var t,e,n,s,o,a,i,l;t=Ps,(e=fu())===u&&(e=null);e!==u&&Ii()!==u&&(n=function(){var t,e,n,s;t=Ps,"unique"===r.substr(Ps,6).toLowerCase()?(e=r.substr(Ps,6),Ps+=6):(e=u,0===Bs&&Ks(b));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="UNIQUE"):(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&Ii()!==u?((s=Li())===u&&(s=Ci()),s===u&&(s=null),s!==u&&Ii()!==u?((o=Uo())===u&&(o=null),o!==u&&Ii()!==u?((a=xu())===u&&(a=null),a!==u&&Ii()!==u&&(i=Eu())!==u&&Ii()!==u?((l=Uu())===u&&(l=null),l!==u?(Fs=t,f=n,v=s,L=o,C=a,p=i,d=l,e={constraint:(c=e)&&c.constraint,definition:p,constraint_type:v&&`${f.toLowerCase()} ${v.toLowerCase()}`||f.toLowerCase(),keyword:c&&c.keyword,index_type:C,index:L,resource:"constraint",index_options:d},t=e):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u);var c,f,v,L,C,p,d;return t}())===u&&(t=function(){var t,e,n,s,o,a;t=Ps,(e=fu())===u&&(e=null);e!==u&&Ii()!==u?("foreign key"===r.substr(Ps,11).toLowerCase()?(n=r.substr(Ps,11),Ps+=11):(n=u,0===Bs&&Ks(O)),n!==u&&Ii()!==u?((s=Uo())===u&&(s=null),s!==u&&Ii()!==u&&(o=Eu())!==u&&Ii()!==u?((a=bu())===u&&(a=null),a!==u?(Fs=t,l=n,c=s,f=o,b=a,e={constraint:(i=e)&&i.constraint,definition:f,constraint_type:l,keyword:i&&i.keyword,index:c,resource:"constraint",reference_definition:b},t=e):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u);var i,l,c,f,b;return t}());return t}()),t}function su(){var t,e,n,s;return t=Ps,(e=function(){var t,e;t=Ps,(e=function(){var t,e,n,s;t=Ps,"not null"===r.substr(Ps,8).toLowerCase()?(e=r.substr(Ps,8),Ps+=8):(e=u,0===Bs&&Ks(ne));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&(Fs=t,e={type:"not null",value:"not null"});return t=e}())===u&&(e=Xo()),e!==u&&(Fs=t,(s=e)&&!s.value&&(s.value="null"),e={nullable:s}),(t=e)===u&&(t=Ps,(e=function(){var r,t;r=Ps,sa()!==u&&Ii()!==u&&(t=co())!==u?(Fs=r,r={type:"default",value:t}):(Ps=r,r=u);return r}())!==u&&(Fs=t,e={default_val:e}),(t=e)===u&&(t=Ps,"auto_increment"===r.substr(Ps,14).toLowerCase()?(e=r.substr(Ps,14),Ps+=14):(e=u,0===Bs&&Ks(f)),e!==u&&(Fs=t,e={auto_increment:e.toLowerCase()}),(t=e)===u&&(t=Ps,"unique"===r.substr(Ps,6).toLowerCase()?(e=r.substr(Ps,6),Ps+=6):(e=u,0===Bs&&Ks(b)),e!==u&&Ii()!==u?("key"===r.substr(Ps,3).toLowerCase()?(n=r.substr(Ps,3),Ps+=3):(n=u,0===Bs&&Ks(v)),n===u&&(n=null),n!==u?(Fs=t,t=e=function(r){const t=["unique"];return r&&t.push(r),{unique:t.join(" ").toLowerCase("")}}(n)):(Ps=t,t=u)):(Ps=t,t=u),t===u&&(t=Ps,"primary"===r.substr(Ps,7).toLowerCase()?(e=r.substr(Ps,7),Ps+=7):(e=u,0===Bs&&Ks(L)),e===u&&(e=null),e!==u&&Ii()!==u?("key"===r.substr(Ps,3).toLowerCase()?(n=r.substr(Ps,3),Ps+=3):(n=u,0===Bs&&Ks(v)),n!==u?(Fs=t,t=e=function(r){const t=[];return r&&t.push("primary"),t.push("key"),{primary_key:t.join(" ").toLowerCase("")}}(e)):(Ps=t,t=u)):(Ps=t,t=u),t===u&&(t=Ps,(e=Si())!==u&&(Fs=t,e={comment:e}),(t=e)===u&&(t=Ps,(e=function(){var r,t,e,n,s;r=Ps,(t=Ea())!==u&&Ii()!==u&&(e=Mo())!==u&&Ii()!==u&&(n=fi())!==u&&Ii()!==u&&(s=Io())!==u?(Fs=r,r=t={type:"collate",keyword:"collate",collate:{name:e,symbol:n,value:s}}):(Ps=r,r=u);r===u&&(r=Ps,(t=Ea())!==u&&Ii()!==u?((e=fi())===u&&(e=null),e!==u&&Ii()!==u&&(n=Io())!==u?(Fs=r,t=function(r,t){return{type:"collate",keyword:"collate",collate:{name:t,symbol:r}}}(e,n),r=t):(Ps=r,r=u)):(Ps=r,r=u));return r}())!==u&&(Fs=t,e={collate:e}),(t=e)===u&&(t=Ps,(e=function(){var t,e,n;t=Ps,"column_format"===r.substr(Ps,13).toLowerCase()?(e=r.substr(Ps,13),Ps+=13):(e=u,0===Bs&&Ks(C));e!==u&&Ii()!==u?("fixed"===r.substr(Ps,5).toLowerCase()?(n=r.substr(Ps,5),Ps+=5):(n=u,0===Bs&&Ks(p)),n===u&&("dynamic"===r.substr(Ps,7).toLowerCase()?(n=r.substr(Ps,7),Ps+=7):(n=u,0===Bs&&Ks(d)),n===u&&("default"===r.substr(Ps,7).toLowerCase()?(n=r.substr(Ps,7),Ps+=7):(n=u,0===Bs&&Ks(w)))),n!==u?(Fs=t,e={type:"column_format",value:n.toLowerCase()},t=e):(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&(Fs=t,e={column_format:e}),(t=e)===u&&(t=Ps,(e=function(){var t,e,n;t=Ps,"storage"===r.substr(Ps,7).toLowerCase()?(e=r.substr(Ps,7),Ps+=7):(e=u,0===Bs&&Ks(y));e!==u&&Ii()!==u?("disk"===r.substr(Ps,4).toLowerCase()?(n=r.substr(Ps,4),Ps+=4):(n=u,0===Bs&&Ks(E)),n===u&&("memory"===r.substr(Ps,6).toLowerCase()?(n=r.substr(Ps,6),Ps+=6):(n=u,0===Bs&&Ks(h))),n!==u?(Fs=t,e={type:"storage",value:n.toLowerCase()},t=e):(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&(Fs=t,e={storage:e}),(t=e)===u&&(t=Ps,(e=bu())!==u&&(Fs=t,e={reference_definition:e}),t=e))))))))),t}function uu(){var r,t,e,n;return r=Ps,(t=To())!==u&&Ii()!==u&&(e=Bi())!==u&&Ii()!==u?((n=function(){var r,t,e,n,s,o;if(r=Ps,(t=su())!==u)if(Ii()!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=su())!==u?n=s=[s,o]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=su())!==u?n=s=[s,o]:(Ps=n,n=u);e!==u?(Fs=r,r=t=function(r,t){let e=r;for(let r=0;r<t.length;r++)e={...e,...t[r][1]};return e}(t,e)):(Ps=r,r=u)}else Ps=r,r=u;else Ps=r,r=u;return r}())===u&&(n=null),n!==u?(Fs=r,r=t=function(r,t,e){return ul.add(`create::${r.table}::${r.column}`),{column:r,definition:t,resource:"column",...e||{}}}(t,e,n)):(Ps=r,r=u)):(Ps=r,r=u),r}function ou(){var r;return(r=function(){var r,t,e,n;r=Ps,(t=bi())!==u&&Ii()!==u?((e=vi())===u&&(e=null),e!==u&&Ii()!==u&&(n=uu())!==u?(Fs=r,s=e,o=n,t={action:"add",...o,keyword:s,resource:"column",type:"alter"},r=t):(Ps=r,r=u)):(Ps=r,r=u);var s,o;return r}())===u&&(r=function(){var r,t,e,n;r=Ps,(t=oa())!==u&&Ii()!==u?((e=vi())===u&&(e=null),e!==u&&Ii()!==u&&(n=To())!==u?(Fs=r,t=function(r,t){return{action:"drop",column:t,keyword:r,resource:"column",type:"alter"}}(e,n),r=t):(Ps=r,r=u)):(Ps=r,r=u);return r}())===u&&(r=function(){var r,t,e;r=Ps,(t=bi())!==u&&Ii()!==u&&(e=lu())!==u?(Fs=r,n=e,t={action:"add",type:"alter",...n},r=t):(Ps=r,r=u);var n;return r}())===u&&(r=function(){var r,t,e;r=Ps,(t=bi())!==u&&Ii()!==u&&(e=cu())!==u?(Fs=r,n=e,t={action:"add",type:"alter",...n},r=t):(Ps=r,r=u);var n;return r}())===u&&(r=function(){var r,t,e,n;r=Ps,(t=ba())!==u&&Ii()!==u?((e=ua())===u&&(e=da()),e===u&&(e=null),e!==u&&Ii()!==u&&(n=Io())!==u?(Fs=r,o=n,t={action:"rename",type:"alter",resource:"table",keyword:(s=e)&&s[0].toLowerCase(),table:o},r=t):(Ps=r,r=u)):(Ps=r,r=u);var s,o;return r}())===u&&(r=au())===u&&(r=iu()),r}function au(){var t,e,n,s;return t=Ps,"algorithm"===r.substr(Ps,9).toLowerCase()?(e=r.substr(Ps,9),Ps+=9):(e=u,0===Bs&&Ks(A)),e!==u&&Ii()!==u?((n=fi())===u&&(n=null),n!==u&&Ii()!==u?("default"===r.substr(Ps,7).toLowerCase()?(s=r.substr(Ps,7),Ps+=7):(s=u,0===Bs&&Ks(w)),s===u&&("instant"===r.substr(Ps,7).toLowerCase()?(s=r.substr(Ps,7),Ps+=7):(s=u,0===Bs&&Ks(m)),s===u&&("inplace"===r.substr(Ps,7).toLowerCase()?(s=r.substr(Ps,7),Ps+=7):(s=u,0===Bs&&Ks(T)),s===u&&("copy"===r.substr(Ps,4).toLowerCase()?(s=r.substr(Ps,4),Ps+=4):(s=u,0===Bs&&Ks(R))))),s!==u?(Fs=t,t=e={type:"alter",keyword:"algorithm",resource:"algorithm",symbol:n,algorithm:s}):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u),t}function iu(){var t,e,n,s;return t=Ps,"lock"===r.substr(Ps,4).toLowerCase()?(e=r.substr(Ps,4),Ps+=4):(e=u,0===Bs&&Ks(I)),e!==u&&Ii()!==u?((n=fi())===u&&(n=null),n!==u&&Ii()!==u?("default"===r.substr(Ps,7).toLowerCase()?(s=r.substr(Ps,7),Ps+=7):(s=u,0===Bs&&Ks(w)),s===u&&("none"===r.substr(Ps,4).toLowerCase()?(s=r.substr(Ps,4),Ps+=4):(s=u,0===Bs&&Ks(N)),s===u&&("shared"===r.substr(Ps,6).toLowerCase()?(s=r.substr(Ps,6),Ps+=6):(s=u,0===Bs&&Ks(_)),s===u&&("exclusive"===r.substr(Ps,9).toLowerCase()?(s=r.substr(Ps,9),Ps+=9):(s=u,0===Bs&&Ks(S))))),s!==u?(Fs=t,t=e={type:"alter",keyword:"lock",resource:"lock",symbol:n,lock:s}):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u),t}function lu(){var r,t,e,n,s,o;return r=Ps,(t=Li())===u&&(t=Ci()),t!==u&&Ii()!==u?((e=Uo())===u&&(e=null),e!==u&&Ii()!==u?((n=xu())===u&&(n=null),n!==u&&Ii()!==u&&(s=Eu())!==u&&Ii()!==u?((o=Uu())===u&&(o=null),o!==u&&Ii()!==u?(Fs=r,r=t=function(r,t,e,n,s){return{index:t,definition:n,keyword:r.toLowerCase(),index_type:e,resource:"index",index_options:s}}(t,e,n,s,o)):(Ps=r,r=u)):(Ps=r,r=u)):(Ps=r,r=u)):(Ps=r,r=u),r}function cu(){var t,e,n,s,o,a;return t=Ps,(e=function(){var t,e,n,s;t=Ps,"fulltext"===r.substr(Ps,8).toLowerCase()?(e=r.substr(Ps,8),Ps+=8):(e=u,0===Bs&&Ks(Ls));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="FULLTEXT"):(Ps=t,t=u)):(Ps=t,t=u);return t}())===u&&(e=function(){var t,e,n,s;t=Ps,"spatial"===r.substr(Ps,7).toLowerCase()?(e=r.substr(Ps,7),Ps+=7):(e=u,0===Bs&&Ks(Cs));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="SPATIAL"):(Ps=t,t=u)):(Ps=t,t=u);return t}()),e!==u&&Ii()!==u?((n=Li())===u&&(n=Ci()),n===u&&(n=null),n!==u&&Ii()!==u?((s=Uo())===u&&(s=null),s!==u&&Ii()!==u&&(o=Eu())!==u&&Ii()!==u?((a=Uu())===u&&(a=null),a!==u&&Ii()!==u?(Fs=t,t=e=function(r,t,e,n,s){return{index:e,definition:n,keyword:t&&`${r.toLowerCase()} ${t.toLowerCase()}`||r.toLowerCase(),index_options:s,resource:"index"}}(e,n,s,o,a)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u),t}function fu(){var t,e,n;return t=Ps,(e=function(){var t,e,n,s;t=Ps,"constraint"===r.substr(Ps,10).toLowerCase()?(e=r.substr(Ps,10),Ps+=10):(e=u,0===Bs&&Ks(ds));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="CONSTRAINT"):(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&Ii()!==u?((n=Io())===u&&(n=null),n!==u?(Fs=t,t=e=function(r,t){return{keyword:r.toLowerCase(),constraint:t}}(e,n)):(Ps=t,t=u)):(Ps=t,t=u),t}function bu(){var t,e,n,s,o,a,i,l,c,f;return t=Ps,(e=function(){var t,e,n,s;t=Ps,"references"===r.substr(Ps,10).toLowerCase()?(e=r.substr(Ps,10),Ps+=10):(e=u,0===Bs&&Ks(ws));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?(Fs=t,t=e="REFERENCES"):(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&Ii()!==u&&(n=Mu())!==u&&Ii()!==u&&(s=Eu())!==u&&Ii()!==u?("match full"===r.substr(Ps,10).toLowerCase()?(o=r.substr(Ps,10),Ps+=10):(o=u,0===Bs&&Ks(x)),o===u&&("match partial"===r.substr(Ps,13).toLowerCase()?(o=r.substr(Ps,13),Ps+=13):(o=u,0===Bs&&Ks(U)),o===u&&("match simple"===r.substr(Ps,12).toLowerCase()?(o=r.substr(Ps,12),Ps+=12):(o=u,0===Bs&&Ks(k)))),o===u&&(o=null),o!==u&&Ii()!==u?((a=vu())===u&&(a=null),a!==u&&Ii()!==u?((i=vu())===u&&(i=null),i!==u?(Fs=t,l=o,c=a,f=i,t=e={definition:s,table:n,keyword:e.toLowerCase(),match:l&&l.toLowerCase(),on_action:[c,f].filter(r=>r)}):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u),t===u&&(t=Ps,(e=vu())!==u&&(Fs=t,e={on_action:[e]}),t=e),t}function vu(){var t,e,n,s;return t=Ps,ha()!==u&&Ii()!==u?((e=ca())===u&&(e=aa()),e!==u&&Ii()!==u&&(n=function(){var t,e,n;t=Ps,(e=li())!==u&&Ii()!==u&&Ei()!==u&&Ii()!==u?((n=so())===u&&(n=null),n!==u&&Ii()!==u&&hi()!==u?(Fs=t,t=e={type:"function",name:{name:[{type:"origin",value:e}]},args:n}):(Ps=t,t=u)):(Ps=t,t=u);t===u&&(t=Ps,"restrict"===r.substr(Ps,8).toLowerCase()?(e=r.substr(Ps,8),Ps+=8):(e=u,0===Bs&&Ks(M)),e===u&&("cascade"===r.substr(Ps,7).toLowerCase()?(e=r.substr(Ps,7),Ps+=7):(e=u,0===Bs&&Ks(D)),e===u&&("set null"===r.substr(Ps,8).toLowerCase()?(e=r.substr(Ps,8),Ps+=8):(e=u,0===Bs&&Ks($)),e===u&&("no action"===r.substr(Ps,9).toLowerCase()?(e=r.substr(Ps,9),Ps+=9):(e=u,0===Bs&&Ks(G)),e===u&&("set default"===r.substr(Ps,11).toLowerCase()?(e=r.substr(Ps,11),Ps+=11):(e=u,0===Bs&&Ks(P)),e===u&&(e=li()))))),e!==u&&(Fs=t,e={type:"origin",value:e.toLowerCase()}),t=e);return t}())!==u?(Fs=t,s=n,t={type:"on "+e[0].toLowerCase(),value:s}):(Ps=t,t=u)):(Ps=t,t=u),t}function Lu(){var t,e,n,s,o,a,i,l,c;return t=Ps,(e=sa())===u&&(e=null),e!==u&&Ii()!==u?((n=function(){var t,e,n;return t=Ps,"character"===r.substr(Ps,9).toLowerCase()?(e=r.substr(Ps,9),Ps+=9):(e=u,0===Bs&&Ks(F)),e!==u&&Ii()!==u?("set"===r.substr(Ps,3).toLowerCase()?(n=r.substr(Ps,3),Ps+=3):(n=u,0===Bs&&Ks(j)),n!==u?(Fs=t,t=e="CHARACTER SET"):(Ps=t,t=u)):(Ps=t,t=u),t}())===u&&("charset"===r.substr(Ps,7).toLowerCase()?(n=r.substr(Ps,7),Ps+=7):(n=u,0===Bs&&Ks(H)),n===u&&("collate"===r.substr(Ps,7).toLowerCase()?(n=r.substr(Ps,7),Ps+=7):(n=u,0===Bs&&Ks(Y)))),n!==u&&Ii()!==u?((s=fi())===u&&(s=null),s!==u&&Ii()!==u&&(o=Ro())!==u?(Fs=t,i=n,l=s,c=o,t=e={keyword:(a=e)&&`${a[0].toLowerCase()} ${i.toLowerCase()}`||i.toLowerCase(),symbol:l,value:c}):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u),t}function Cu(){var t,e,n,s,o,a,i,l,c;return t=Ps,"auto_increment"===r.substr(Ps,14).toLowerCase()?(e=r.substr(Ps,14),Ps+=14):(e=u,0===Bs&&Ks(f)),e===u&&("avg_row_length"===r.substr(Ps,14).toLowerCase()?(e=r.substr(Ps,14),Ps+=14):(e=u,0===Bs&&Ks(B)),e===u&&("key_block_size"===r.substr(Ps,14).toLowerCase()?(e=r.substr(Ps,14),Ps+=14):(e=u,0===Bs&&Ks(W)),e===u&&("max_rows"===r.substr(Ps,8).toLowerCase()?(e=r.substr(Ps,8),Ps+=8):(e=u,0===Bs&&Ks(X)),e===u&&("min_rows"===r.substr(Ps,8).toLowerCase()?(e=r.substr(Ps,8),Ps+=8):(e=u,0===Bs&&Ks(V)),e===u&&("stats_sample_pages"===r.substr(Ps,18).toLowerCase()?(e=r.substr(Ps,18),Ps+=18):(e=u,0===Bs&&Ks(q))))))),e!==u&&Ii()!==u?((n=fi())===u&&(n=null),n!==u&&Ii()!==u&&(s=zo())!==u?(Fs=t,l=n,c=s,t=e={keyword:e.toLowerCase(),symbol:l,value:c.value}):(Ps=t,t=u)):(Ps=t,t=u),t===u&&(t=Lu())===u&&(t=Ps,(e=pi())===u&&("connection"===r.substr(Ps,10).toLowerCase()?(e=r.substr(Ps,10),Ps+=10):(e=u,0===Bs&&Ks(K))),e!==u&&Ii()!==u?((n=fi())===u&&(n=null),n!==u&&Ii()!==u&&(s=Vo())!==u?(Fs=t,t=e=function(r,t,e){return{keyword:r.toLowerCase(),symbol:t,value:`'${e.value}'`}}(e,n,s)):(Ps=t,t=u)):(Ps=t,t=u),t===u&&(t=Ps,"compression"===r.substr(Ps,11).toLowerCase()?(e=r.substr(Ps,11),Ps+=11):(e=u,0===Bs&&Ks(Z)),e!==u&&Ii()!==u?((n=fi())===u&&(n=null),n!==u&&Ii()!==u?(s=Ps,39===r.charCodeAt(Ps)?(o="'",Ps++):(o=u,0===Bs&&Ks(z)),o!==u?("zlib"===r.substr(Ps,4).toLowerCase()?(a=r.substr(Ps,4),Ps+=4):(a=u,0===Bs&&Ks(Q)),a===u&&("lz4"===r.substr(Ps,3).toLowerCase()?(a=r.substr(Ps,3),Ps+=3):(a=u,0===Bs&&Ks(J)),a===u&&("none"===r.substr(Ps,4).toLowerCase()?(a=r.substr(Ps,4),Ps+=4):(a=u,0===Bs&&Ks(N)))),a!==u?(39===r.charCodeAt(Ps)?(i="'",Ps++):(i=u,0===Bs&&Ks(z)),i!==u?s=o=[o,a,i]:(Ps=s,s=u)):(Ps=s,s=u)):(Ps=s,s=u),s!==u?(Fs=t,t=e=function(r,t,e){return{keyword:r.toLowerCase(),symbol:t,value:e.join("").toUpperCase()}}(e,n,s)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u),t===u&&(t=Ps,"engine"===r.substr(Ps,6).toLowerCase()?(e=r.substr(Ps,6),Ps+=6):(e=u,0===Bs&&Ks(rr)),e!==u&&Ii()!==u?((n=fi())===u&&(n=null),n!==u&&Ii()!==u&&(s=Mo())!==u?(Fs=t,t=e=function(r,t,e){return{keyword:r.toLowerCase(),symbol:t,value:e.toUpperCase()}}(e,n,s)):(Ps=t,t=u)):(Ps=t,t=u)))),t}function pu(){var t,e,n,s,o;return t=Ps,(e=$u())!==u&&Ii()!==u&&(n=function(){var t,e,n;return t=Ps,"read"===r.substr(Ps,4).toLowerCase()?(e=r.substr(Ps,4),Ps+=4):(e=u,0===Bs&&Ks(tr)),e!==u&&Ii()!==u?("local"===r.substr(Ps,5).toLowerCase()?(n=r.substr(Ps,5),Ps+=5):(n=u,0===Bs&&Ks(er)),n===u&&(n=null),n!==u?(Fs=t,t=e={type:"read",suffix:n&&"local"}):(Ps=t,t=u)):(Ps=t,t=u),t===u&&(t=Ps,"low_priority"===r.substr(Ps,12).toLowerCase()?(e=r.substr(Ps,12),Ps+=12):(e=u,0===Bs&&Ks(nr)),e===u&&(e=null),e!==u&&Ii()!==u?("write"===r.substr(Ps,5).toLowerCase()?(n=r.substr(Ps,5),Ps+=5):(n=u,0===Bs&&Ks(sr)),n!==u?(Fs=t,t=e={type:"write",prefix:e&&"low_priority"}):(Ps=t,t=u)):(Ps=t,t=u)),t}())!==u?(Fs=t,s=e,o=n,sl.add(`lock::${s.db}::${s.table}`),t=e={table:s,lock_type:o}):(Ps=t,t=u),t}function du(){var t,e,n,s,o,a,i;return(t=hu())===u&&(t=Ps,e=Ps,40===r.charCodeAt(Ps)?(n="(",Ps++):(n=u,0===Bs&&Ks(or)),n!==u&&(s=Ii())!==u&&(o=du())!==u&&(a=Ii())!==u?(41===r.charCodeAt(Ps)?(i=")",Ps++):(i=u,0===Bs&&Ks(ar)),i!==u?e=n=[n,s,o,a,i]:(Ps=e,e=u)):(Ps=e,e=u),e!==u&&(Fs=t,e={...e[2],parentheses_symbol:!0}),t=e),t}function wu(){var t,e,n,s,o,a,i,l,f;if(t=Ps,Ia()!==u)if(Ii()!==u)if((e=yu())!==u){for(n=[],s=Ps,(o=Ii())!==u&&(a=wi())!==u&&(i=Ii())!==u&&(l=yu())!==u?s=o=[o,a,i,l]:(Ps=s,s=u);s!==u;)n.push(s),s=Ps,(o=Ii())!==u&&(a=wi())!==u&&(i=Ii())!==u&&(l=yu())!==u?s=o=[o,a,i,l]:(Ps=s,s=u);n!==u?(Fs=t,t=c(e,n)):(Ps=t,t=u)}else Ps=t,t=u;else Ps=t,t=u;else Ps=t,t=u;return t===u&&(t=Ps,Ii()!==u&&Ia()!==u&&(e=Ii())!==u&&(n=function(){var t,e,n,s;t=Ps,"RECURSIVE"===r.substr(Ps,9)?(e="RECURSIVE",Ps+=9):(e=u,0===Bs&&Ks(pe));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&(s=Ii())!==u&&(o=yu())!==u?(Fs=t,(f=o).recursive=!0,t=[f]):(Ps=t,t=u)),t}function yu(){var r,t,e,n;return r=Ps,(t=Vo())===u&&(t=Mo()),t!==u&&Ii()!==u?((e=Eu())===u&&(e=null),e!==u&&Ii()!==u&&da()!==u&&Ii()!==u&&Ei()!==u&&Ii()!==u&&(n=tu())!==u&&Ii()!==u&&hi()!==u?(Fs=r,r=t=function(r,t,e){return"string"==typeof r&&(r={type:"default",value:r}),{name:r,stmt:e,columns:t}}(t,e,n)):(Ps=r,r=u)):(Ps=r,r=u),r}function Eu(){var r,t;return r=Ps,Ei()!==u&&Ii()!==u&&(t=function(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=To())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=To())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=To())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);e!==u?(Fs=r,t=c(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())!==u&&Ii()!==u&&hi()!==u?(Fs=r,r=t):(Ps=r,r=u),r}function hu(){var t,e,n,s,o,a,i,l,c,f,b;return t=Ps,Ii()!==u?((e=wu())===u&&(e=null),e!==u&&Ii()!==u&&function(){var t,e,n,s;t=Ps,"select"===r.substr(Ps,6).toLowerCase()?(e=r.substr(Ps,6),Ps+=6):(e=u,0===Bs&&Ks(ce));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u);return t}()!==u&&Ni()!==u?((n=function(){var r,t,e,n,s,o;if(r=Ps,(t=Au())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=Au())!==u?n=s=[s,o]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=Au())!==u?n=s=[s,o]:(Ps=n,n=u);e!==u?(Fs=r,t=function(r,t){const e=[r];for(let r=0,n=t.length;r<n;++r)e.push(t[r][1]);return e}(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())===u&&(n=null),n!==u&&Ii()!==u?((s=ga())===u&&(s=null),s!==u&&Ii()!==u&&(o=mu())!==u&&Ii()!==u?((a=gu())===u&&(a=null),a!==u&&Ii()!==u?((i=Hu())===u&&(i=null),i!==u&&Ii()!==u?((l=function(){var t,e,n;t=Ps,(e=function(){var t,e,n,s;t=Ps,"group"===r.substr(Ps,5).toLowerCase()?(e=r.substr(Ps,5),Ps+=5):(e=u,0===Bs&&Ks(He));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u);return t}())!==u&&Ii()!==u&&Na()!==u&&Ii()!==u&&(n=so())!==u?(Fs=t,e={columns:n.value},t=e):(Ps=t,t=u);return t}())===u&&(l=null),l!==u&&Ii()!==u?((c=function(){var t,e;t=Ps,function(){var t,e,n,s;t=Ps,"having"===r.substr(Ps,6).toLowerCase()?(e=r.substr(Ps,6),Ps+=6):(e=u,0===Bs&&Ks(We));e!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u);return t}()!==u&&Ii()!==u&&(e=fo())!==u?(Fs=t,t=e):(Ps=t,t=u);return t}())===u&&(c=null),c!==u&&Ii()!==u?((f=qu())===u&&(f=null),f!==u&&Ii()!==u?((b=Qu())===u&&(b=null),b!==u?(Fs=t,t=function(r,t,e,n,s,u,o,a,i,l){return s&&s.forEach(r=>r.table&&sl.add(`select::${r.db}::${r.table}`)),{with:r,type:"select",options:t,distinct:e,columns:n,from:s,where:u,groupby:o,having:a,orderby:i,limit:l}}(e,n,s,o,a,i,l,c,f,b)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u),t}function Au(){var t,e;return t=Ps,(e=function(){var t;"sql_calc_found_rows"===r.substr(Ps,19).toLowerCase()?(t=r.substr(Ps,19),Ps+=19):(t=u,0===Bs&&Ks(ys));return t}())===u&&((e=function(){var t;"sql_cache"===r.substr(Ps,9).toLowerCase()?(t=r.substr(Ps,9),Ps+=9):(t=u,0===Bs&&Ks(Es));return t}())===u&&(e=function(){var t;"sql_no_cache"===r.substr(Ps,12).toLowerCase()?(t=r.substr(Ps,12),Ps+=12):(t=u,0===Bs&&Ks(hs));return t}()),e===u&&(e=function(){var t;"sql_big_result"===r.substr(Ps,14).toLowerCase()?(t=r.substr(Ps,14),Ps+=14):(t=u,0===Bs&&Ks(ms));return t}())===u&&(e=function(){var t;"sql_small_result"===r.substr(Ps,16).toLowerCase()?(t=r.substr(Ps,16),Ps+=16):(t=u,0===Bs&&Ks(As));return t}())===u&&(e=function(){var t;"sql_buffer_result"===r.substr(Ps,17).toLowerCase()?(t=r.substr(Ps,17),Ps+=17):(t=u,0===Bs&&Ks(Ts));return t}())),e!==u&&(Fs=t,e=e),t=e}function mu(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=Sa())===u&&(t=Ps,(e=yi())!==u?(n=Ps,Bs++,s=Do(),Bs--,s===u?n=void 0:(Ps=n,n=u),n!==u?t=e=[e,n]:(Ps=t,t=u)):(Ps=t,t=u),t===u&&(t=yi())),t!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=Nu())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=Nu())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);e!==u?(Fs=r,r=t=function(r,t){ul.add("select::null::(.*)");const e={expr:{type:"column_ref",table:null,column:"*"},as:null};return t&&t.length>0?Ji(e,t):[e]}(0,e)):(Ps=r,r=u)}else Ps=r,r=u;if(r===u)if(r=Ps,(t=Nu())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=Nu())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=wi())!==u&&(a=Ii())!==u&&(i=Nu())!==u?n=s=[s,o,a,i]:(Ps=n,n=u);e!==u?(Fs=r,r=t=c(t,e)):(Ps=r,r=u)}else Ps=r,r=u;return r}function Tu(){var t,e,n,s,o,a,i;return t=Ps,Ai()!==u&&Ii()!==u?((e=zo())===u&&(e=Vo()),e!==u&&Ii()!==u&&mi()!==u?(n=Ps,(s=Ii())!==u?(46===r.charCodeAt(Ps)?(o=".",Ps++):(o=u,0===Bs&&Ks(ir)),o!==u&&(a=Ii())!==u&&(i=Io())!==u?n=s=[s,o,a,i]:(Ps=n,n=u)):(Ps=n,n=u),n===u&&(n=null),n!==u?(Fs=t,t=function(r,t){let e;return t&&(e={type:"default",value:t[3]}),{brackets:!0,index:r,property:e}}(e,n)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u),t}function Ru(){var r,t,e,n,s,o;if(r=Ps,(t=Tu())!==u){for(e=[],n=Ps,(s=Ii())!==u&&(o=Tu())!==u?n=s=[s,o]:(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u&&(o=Tu())!==u?n=s=[s,o]:(Ps=n,n=u);e!==u?(Fs=r,r=t=i(t,e)):(Ps=r,r=u)}else Ps=r,r=u;return r}function Iu(){var r,t,e,n,s;return r=Ps,(t=function(){var r,t,e,n,s,o,a,i;if(r=Ps,(t=co())!==u){for(e=[],n=Ps,(s=Ii())!==u?((o=Ga())===u&&(o=Pa())===u&&(o=Ri()),o!==u&&(a=Ii())!==u&&(i=co())!==u?n=s=[s,o,a,i]:(Ps=n,n=u)):(Ps=n,n=u);n!==u;)e.push(n),n=Ps,(s=Ii())!==u?((o=Ga())===u&&(o=Pa())===u&&(o=Ri()),o!==u&&(a=Ii())!==u&&(i=co())!==u?n=s=[s,o,a,i]:(Ps=n,n=u)):(Ps=n,n=u);e!==u?(Fs=r,t=function(r,t){const e=r.ast;if(e&&"select"===e.type&&(!(r.parentheses_symbol||r.parentheses||r.ast.parentheses||r.ast.parentheses_symbol)||1!==e.columns.length||"*"===e.columns[0].expr.column))throw new Error("invalid column clause with select statement");if(!t||0===t.length)return r;const n=t.length;let s=t[n-1][3];for(let e=n-1;e>=0;e--){const n=0===e?r:t[e-1][3];s=zi(t[e][1],n,s)}return s}(t,e),r=t):(Ps=r,r=u)}else Ps=r,r=u;return r}())!==u&&Ii()!==u?((e=Ru())===u&&(e=null),e!==u?(Fs=r,n=t,(s=e)&&(n.array_index=s),r=t=n):(Ps=r,r=u)):(Ps=r,r=u),r}function Nu(){var r,t,e,n,s;return r=Ps,t=Ps,(e=Io())!==u&&(n=Ii())!==u&&(s=di())!==u?t=e=[e,n,s]:(Ps=t,t=u),t===u&&(t=null),t!==u&&(e=Ii())!==u&&(n=yi())!==u?(Fs=r,r=t=function(r){const t=r&&r[0]||null;return ul.add(`select::${t}::(.*)`),{expr:{type:"column_ref",table:t,column:"*"},as:null}}(t)):(Ps=r,r=u),r===u&&(r=Ps,(t=Iu())!==u&&(e=Ii())!==u?((n=_u())===u&&(n=null),n!==u?(Fs=r,r=t={type:"expr",expr:t,as:n}):(Ps=r,r=u)):(Ps=r,r=u)),r}function _u(){var r,t,e;return r=Ps,(t=da())!==u&&Ii()!==u?((e=Ho())===u&&(e=function(){var r,t;r=Ps,(t=Mo())!==u?(Fs=Ps,(function(r){if(!0===qi[r.toUpperCase()])throw new Error("Error: "+JSON.stringify(r)+" is a reserved word, can not as alias clause");return!1}(t)?u:void 0)!==u?(Fs=r,r=t=t):(Ps=r,r=u)):(Ps=r,r=u);r===u&&(r=Ps,(t=_o())!==u&&(Fs=r,t=t),r=t);return r}()),e!==u?(Fs=r,r=t=e):(Ps=r,r=u)):(Ps=r,r=u),r===u&&(r=Ps,(t=da())===u&&(t=null),t!==u&&Ii()!==u&&(e=Io())!==u?(Fs=r,r=t=e):(Ps=r,r=u)),r}function Su(){var t,e,n,s,o;return t=Ps,"unnest"===r.substr(Ps,6).toLowerCase()?(e=r.substr(Ps,6),Ps+=6):(e=u,0===Bs&&Ks(lr)),e!==u&&Ii()!==u&&Ei()!==u&&Ii()!==u?((n=co())===u&&(n=null),n!==u&&Ii()!==u&&hi()!==u&&Ii()!==u?((s=_u())===u&&(s=null),s!==u&&Ii()!==u?((o=function(){var r,t;return r=Ps,Ia()!==u&&Ii()!==u&&_a()!==u&&Ii()!==u?((t=_u())===u&&(t=null),t!==u?(Fs=r,r={keyword:"with offset as",as:t}):(Ps=r,r=u)):(Ps=r,r=u),r}())===u&&(o=null),o!==u?(Fs=t,t=e={type:"unnest",expr:n,parentheses:!0,as:s,with_offset:o}):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u)):(Ps=t,t=u),t}function gu(){var r,t;return r=Ps,Ca()!==u&&Ii()!==u&&(t=Mu())!==u?(Fs