@stonecrop/schema 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +26 -0
- package/dist/index.d.ts +781 -0
- package/dist/index.js +6144 -0
- package/package.json +36 -0
package/dist/index.cjs
ADDED
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const z=require("zod"),ye=z.z.enum(["Data","Text","Int","Float","Decimal","Check","Date","Time","Datetime","Duration","DateRange","JSON","Code","Link","Doctype","Attach","Currency","Quantity","Select"]),fe={Data:{component:"ATextInput",fieldtype:"Data"},Text:{component:"ATextInput",fieldtype:"Text"},Int:{component:"ANumericInput",fieldtype:"Int"},Float:{component:"ANumericInput",fieldtype:"Float"},Decimal:{component:"ADecimalInput",fieldtype:"Decimal"},Check:{component:"ACheckbox",fieldtype:"Check"},Date:{component:"ADatePicker",fieldtype:"Date"},Time:{component:"ATimeInput",fieldtype:"Time"},Datetime:{component:"ADatetimePicker",fieldtype:"Datetime"},Duration:{component:"ADurationInput",fieldtype:"Duration"},DateRange:{component:"ADateRangePicker",fieldtype:"DateRange"},JSON:{component:"ACodeEditor",fieldtype:"JSON"},Code:{component:"ACodeEditor",fieldtype:"Code"},Link:{component:"ALink",fieldtype:"Link"},Doctype:{component:"ATable",fieldtype:"Doctype"},Attach:{component:"AFileAttach",fieldtype:"Attach"},Currency:{component:"ACurrencyInput",fieldtype:"Currency"},Quantity:{component:"AQuantityInput",fieldtype:"Quantity"},Select:{component:"ADropdown",fieldtype:"Select"}};function Ce(h){return fe[h]?.component??"ATextInput"}const de=z.z.union([z.z.string(),z.z.array(z.z.string()),z.z.record(z.z.string(),z.z.unknown())]),we=z.z.object({errorMessage:z.z.string()}).passthrough(),oe=z.z.object({fieldname:z.z.string().min(1),fieldtype:ye,component:z.z.string().optional(),label:z.z.string().optional(),width:z.z.string().optional(),align:z.z.enum(["left","center","right","start","end"]).optional(),required:z.z.boolean().optional(),readOnly:z.z.boolean().optional(),edit:z.z.boolean().optional(),hidden:z.z.boolean().optional(),value:z.z.unknown().optional(),default:z.z.unknown().optional(),options:de.optional(),mask:z.z.string().optional(),validation:we.optional()}),he=z.z.object({label:z.z.string().min(1),handler:z.z.string().min(1),requiredFields:z.z.array(z.z.string()).optional(),allowedStates:z.z.array(z.z.string()).optional(),confirm:z.z.boolean().optional(),args:z.z.record(z.z.string(),z.z.unknown()).optional()}),xe=z.z.object({states:z.z.array(z.z.string()).optional(),actions:z.z.record(z.z.string(),he).optional()}),me=z.z.object({name:z.z.string().min(1),slug:z.z.string().min(1).optional(),tableName:z.z.string().optional(),fields:z.z.array(oe),workflow:xe.optional(),inherits:z.z.string().optional(),listDoctype:z.z.string().optional(),parentDoctype:z.z.string().optional()});function Ne(h){const x=oe.safeParse(h);return x.success?{success:!0,errors:[]}:{success:!1,errors:x.error.issues.map(m=>({path:m.path,message:m.message}))}}function qe(h){const x=me.safeParse(h);return x.success?{success:!0,errors:[]}:{success:!1,errors:x.error.issues.map(m=>({path:m.path,message:m.message}))}}function Oe(h){return oe.parse(h)}function Ie(h){return me.parse(h)}var le={},ne={exports:{}},Re=ne.exports,$e;function Le(){return $e||($e=1,(function(h){(function(x,m){h.exports?h.exports=m():x.moo=m()})(Re,function(){var x=Object.prototype.hasOwnProperty,m=Object.prototype.toString,A=typeof new RegExp().sticky=="boolean";function l(s){return s&&m.call(s)==="[object RegExp]"}function r(s){return s&&typeof s=="object"&&!l(s)&&!Array.isArray(s)}function a(s){return s.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function u(s){var p=new RegExp("|"+s);return p.exec("").length-1}function k(s){return"("+s+")"}function f(s){if(!s.length)return"(?!)";var p=s.map(function(y){return"(?:"+y+")"}).join("|");return"(?:"+p+")"}function t(s){if(typeof s=="string")return"(?:"+a(s)+")";if(l(s)){if(s.ignoreCase)throw new Error("RegExp /i flag not allowed");if(s.global)throw new Error("RegExp /g flag is implied");if(s.sticky)throw new Error("RegExp /y flag is implied");if(s.multiline)throw new Error("RegExp /m flag is implied");return s.source}else throw new Error("Not a pattern: "+s)}function _(s,p){return s.length>p?s:Array(p-s.length+1).join(" ")+s}function i(s,p){for(var y=s.length,g=0;;){var N=s.lastIndexOf(`
|
|
2
|
+
`,y-1);if(N===-1||(g++,y=N,g===p)||y===0)break}var O=g<p?0:y+1;return s.substring(O).split(`
|
|
3
|
+
`)}function n(s){for(var p=Object.getOwnPropertyNames(s),y=[],g=0;g<p.length;g++){var N=p[g],O=s[N],I=[].concat(O);if(N==="include"){for(var F=0;F<I.length;F++)y.push({include:I[F]});continue}var j=[];I.forEach(function(L){r(L)?(j.length&&y.push($(N,j)),y.push($(N,L)),j=[]):j.push(L)}),j.length&&y.push($(N,j))}return y}function c(s){for(var p=[],y=0;y<s.length;y++){var g=s[y];if(g.include){for(var N=[].concat(g.include),O=0;O<N.length;O++)p.push({include:N[O]});continue}if(!g.type)throw new Error("Rule has no type: "+JSON.stringify(g));p.push($(g.type,g))}return p}function $(s,p){if(r(p)||(p={match:p}),p.include)throw new Error("Matching rules cannot also include states");var y={defaultType:s,lineBreaks:!!p.error||!!p.fallback,pop:!1,next:null,push:null,error:!1,fallback:!1,value:null,type:null,shouldThrow:!1};for(var g in p)x.call(p,g)&&(y[g]=p[g]);if(typeof y.type=="string"&&s!==y.type)throw new Error("Type transform cannot be a string (type '"+y.type+"' for token '"+s+"')");var N=y.match;return y.match=Array.isArray(N)?N:N?[N]:[],y.match.sort(function(O,I){return l(O)&&l(I)?0:l(I)?-1:l(O)?1:I.length-O.length}),y}function b(s){return Array.isArray(s)?c(s):n(s)}var E=$("error",{lineBreaks:!0,shouldThrow:!0});function q(s,p){for(var y=null,g=Object.create(null),N=!0,O=null,I=[],F=[],j=0;j<s.length;j++)s[j].fallback&&(N=!1);for(var j=0;j<s.length;j++){var L=s[j];if(L.include)throw new Error("Inheritance is not allowed in stateless lexers");if(L.error||L.fallback){if(y)throw!L.fallback==!y.fallback?new Error("Multiple "+(L.fallback?"fallback":"error")+" rules not allowed (for token '"+L.defaultType+"')"):new Error("fallback and error are mutually exclusive (for token '"+L.defaultType+"')");y=L}var B=L.match.slice();if(N)for(;B.length&&typeof B[0]=="string"&&B[0].length===1;){var V=B.shift();g[V.charCodeAt(0)]=L}if(L.pop||L.push||L.next){if(!p)throw new Error("State-switching options are not allowed in stateless lexers (for token '"+L.defaultType+"')");if(L.fallback)throw new Error("State-switching options are not allowed on fallback tokens (for token '"+L.defaultType+"')")}if(B.length!==0){N=!1,I.push(L);for(var Q=0;Q<B.length;Q++){var X=B[Q];if(l(X)){if(O===null)O=X.unicode;else if(O!==X.unicode&&L.fallback===!1)throw new Error("If one rule is /u then all must be")}}var J=f(B.map(t)),G=new RegExp(J);if(G.test(""))throw new Error("RegExp matches empty string: "+G);var Z=u(J);if(Z>0)throw new Error("RegExp has capture groups: "+G+`
|
|
4
|
+
Use (?: โฆ ) instead`);if(!L.lineBreaks&&G.test(`
|
|
5
|
+
`))throw new Error("Rule should declare lineBreaks: "+G);F.push(k(J))}}var K=y&&y.fallback,ee=A&&!K?"ym":"gm",re=A||K?"":"|";O===!0&&(ee+="u");var Se=new RegExp(f(F)+re,ee);return{regexp:Se,groups:I,fast:g,error:y||E}}function R(s){var p=q(b(s));return new C({start:p},"start")}function d(s,p,y){var g=s&&(s.push||s.next);if(g&&!y[g])throw new Error("Missing state '"+g+"' (in token '"+s.defaultType+"' of state '"+p+"')");if(s&&s.pop&&+s.pop!=1)throw new Error("pop must be 1 (in token '"+s.defaultType+"' of state '"+p+"')")}function w(s,p){var y=s.$all?b(s.$all):[];delete s.$all;var g=Object.getOwnPropertyNames(s);p||(p=g[0]);for(var N=Object.create(null),O=0;O<g.length;O++){var I=g[O];N[I]=b(s[I]).concat(y)}for(var O=0;O<g.length;O++)for(var I=g[O],F=N[I],j=Object.create(null),L=0;L<F.length;L++){var B=F[L];if(B.include){var V=[L,1];if(B.include!==I&&!j[B.include]){j[B.include]=!0;var Q=N[B.include];if(!Q)throw new Error("Cannot include nonexistent state '"+B.include+"' (in state '"+I+"')");for(var X=0;X<Q.length;X++){var J=Q[X];F.indexOf(J)===-1&&V.push(J)}}F.splice.apply(F,V),L--}}for(var G=Object.create(null),O=0;O<g.length;O++){var I=g[O];G[I]=q(N[I],!0)}for(var O=0;O<g.length;O++){for(var Z=g[O],K=G[Z],ee=K.groups,L=0;L<ee.length;L++)d(ee[L],Z,G);for(var re=Object.getOwnPropertyNames(K.fast),L=0;L<re.length;L++)d(K.fast[re[L]],Z,G)}return new C(G,p)}function v(s){for(var p=typeof Map<"u",y=p?new Map:Object.create(null),g=Object.getOwnPropertyNames(s),N=0;N<g.length;N++){var O=g[N],I=s[O],F=Array.isArray(I)?I:[I];F.forEach(function(j){if(typeof j!="string")throw new Error("keyword must be string (in keyword '"+O+"')");p?y.set(j,O):y[j]=O})}return function(j){return p?y.get(j):y[j]}}var C=function(s,p){this.startState=p,this.states=s,this.buffer="",this.stack=[],this.reset()};C.prototype.reset=function(s,p){return this.buffer=s||"",this.index=0,this.line=p?p.line:1,this.col=p?p.col:1,this.queuedToken=p?p.queuedToken:null,this.queuedText=p?p.queuedText:"",this.queuedThrow=p?p.queuedThrow:null,this.setState(p?p.state:this.startState),this.stack=p&&p.stack?p.stack.slice():[],this},C.prototype.save=function(){return{line:this.line,col:this.col,state:this.state,stack:this.stack.slice(),queuedToken:this.queuedToken,queuedText:this.queuedText,queuedThrow:this.queuedThrow}},C.prototype.setState=function(s){if(!(!s||this.state===s)){this.state=s;var p=this.states[s];this.groups=p.groups,this.error=p.error,this.re=p.regexp,this.fast=p.fast}},C.prototype.popState=function(){this.setState(this.stack.pop())},C.prototype.pushState=function(s){this.stack.push(this.state),this.setState(s)};var U=A?function(s,p){return s.exec(p)}:function(s,p){var y=s.exec(p);return y[0].length===0?null:y};C.prototype._getGroup=function(s){for(var p=this.groups.length,y=0;y<p;y++)if(s[y+1]!==void 0)return this.groups[y];throw new Error("Cannot find token type for matched text")};function e(){return this.value}if(C.prototype.next=function(){var s=this.index;if(this.queuedGroup){var p=this._token(this.queuedGroup,this.queuedText,s);return this.queuedGroup=null,this.queuedText="",p}var y=this.buffer;if(s!==y.length){var I=this.fast[y.charCodeAt(s)];if(I)return this._token(I,y.charAt(s),s);var g=this.re;g.lastIndex=s;var N=U(g,y),O=this.error;if(N==null)return this._token(O,y.slice(s,y.length),s);var I=this._getGroup(N),F=N[0];return O.fallback&&N.index!==s?(this.queuedGroup=I,this.queuedText=F,this._token(O,y.slice(s,N.index),s)):this._token(I,F,s)}},C.prototype._token=function(s,p,y){var g=0;if(s.lineBreaks){var N=/\n/g,O=1;if(p===`
|
|
6
|
+
`)g=1;else for(;N.exec(p);)g++,O=N.lastIndex}var I={type:typeof s.type=="function"&&s.type(p)||s.defaultType,value:typeof s.value=="function"?s.value(p):p,text:p,toString:e,offset:y,lineBreaks:g,line:this.line,col:this.col},F=p.length;if(this.index+=F,this.line+=g,g!==0?this.col=F-O+1:this.col+=F,s.shouldThrow){var j=new Error(this.formatError(I,"invalid syntax"));throw j}return s.pop?this.popState():s.push?this.pushState(s.push):s.next&&this.setState(s.next),I},typeof Symbol<"u"&&Symbol.iterator){var o=function(s){this.lexer=s};o.prototype.next=function(){var s=this.lexer.next();return{value:s,done:!s}},o.prototype[Symbol.iterator]=function(){return this},C.prototype[Symbol.iterator]=function(){return new o(this)}}return C.prototype.formatError=function(s,p){if(s==null)var y=this.buffer.slice(this.index),s={text:y,offset:this.index,lineBreaks:y.indexOf(`
|
|
7
|
+
`)===-1?0:1,line:this.line,col:this.col};var g=2,N=Math.max(s.line-g,1),O=s.line+g,I=String(O).length,F=i(this.buffer,this.line-s.line+g+1).slice(0,5),j=[];j.push(p+" at line "+s.line+" col "+s.col+":"),j.push("");for(var L=0;L<F.length;L++){var B=F[L],V=N+L;j.push(_(String(V),I)+" "+B),V===s.line&&j.push(_("",I+s.col+1)+"^")}return j.join(`
|
|
8
|
+
`)},C.prototype.clone=function(){return new C(this.states,this.state)},C.prototype.has=function(s){return!0},{compile:R,states:w,error:Object.freeze({error:!0}),fallback:Object.freeze({fallback:!0}),keywords:v}})})(ne)),ne.exports}var ae={exports:{}},De=ae.exports,ue;function ze(){return ue||(ue=1,(function(h){(function(x,m){h.exports?h.exports=m():x.nearley=m()})(De,function(){function x(f,t,_){return this.id=++x.highestId,this.name=f,this.symbols=t,this.postprocess=_,this}x.highestId=0,x.prototype.toString=function(f){var t=typeof f>"u"?this.symbols.map(k).join(" "):this.symbols.slice(0,f).map(k).join(" ")+" โ "+this.symbols.slice(f).map(k).join(" ");return this.name+" โ "+t};function m(f,t,_,i){this.rule=f,this.dot=t,this.reference=_,this.data=[],this.wantedBy=i,this.isComplete=this.dot===f.symbols.length}m.prototype.toString=function(){return"{"+this.rule.toString(this.dot)+"}, from: "+(this.reference||0)},m.prototype.nextState=function(f){var t=new m(this.rule,this.dot+1,this.reference,this.wantedBy);return t.left=this,t.right=f,t.isComplete&&(t.data=t.build(),t.right=void 0),t},m.prototype.build=function(){var f=[],t=this;do f.push(t.right.data),t=t.left;while(t.left);return f.reverse(),f},m.prototype.finish=function(){this.rule.postprocess&&(this.data=this.rule.postprocess(this.data,this.reference,a.fail))};function A(f,t){this.grammar=f,this.index=t,this.states=[],this.wants={},this.scannable=[],this.completed={}}A.prototype.process=function(f){for(var t=this.states,_=this.wants,i=this.completed,n=0;n<t.length;n++){var c=t[n];if(c.isComplete){if(c.finish(),c.data!==a.fail){for(var $=c.wantedBy,b=$.length;b--;){var E=$[b];this.complete(E,c)}if(c.reference===this.index){var q=c.rule.name;(this.completed[q]=this.completed[q]||[]).push(c)}}}else{var q=c.rule.symbols[c.dot];if(typeof q!="string"){this.scannable.push(c);continue}if(_[q]){if(_[q].push(c),i.hasOwnProperty(q))for(var R=i[q],b=0;b<R.length;b++){var d=R[b];this.complete(c,d)}}else _[q]=[c],this.predict(q)}}},A.prototype.predict=function(f){for(var t=this.grammar.byName[f]||[],_=0;_<t.length;_++){var i=t[_],n=this.wants[f],c=new m(i,0,this.index,n);this.states.push(c)}},A.prototype.complete=function(f,t){var _=f.nextState(t);this.states.push(_)};function l(f,t){this.rules=f,this.start=t||this.rules[0].name;var _=this.byName={};this.rules.forEach(function(i){_.hasOwnProperty(i.name)||(_[i.name]=[]),_[i.name].push(i)})}l.fromCompiled=function(i,t){var _=i.Lexer;i.ParserStart&&(t=i.ParserStart,i=i.ParserRules);var i=i.map(function(c){return new x(c.name,c.symbols,c.postprocess)}),n=new l(i,t);return n.lexer=_,n};function r(){this.reset("")}r.prototype.reset=function(f,t){this.buffer=f,this.index=0,this.line=t?t.line:1,this.lastLineBreak=t?-t.col:0},r.prototype.next=function(){if(this.index<this.buffer.length){var f=this.buffer[this.index++];return f===`
|
|
9
|
+
`&&(this.line+=1,this.lastLineBreak=this.index),{value:f}}},r.prototype.save=function(){return{line:this.line,col:this.index-this.lastLineBreak}},r.prototype.formatError=function(f,t){var _=this.buffer;if(typeof _=="string"){var i=_.split(`
|
|
10
|
+
`).slice(Math.max(0,this.line-5),this.line),n=_.indexOf(`
|
|
11
|
+
`,this.index);n===-1&&(n=_.length);var c=this.index-this.lastLineBreak,$=String(this.line).length;return t+=" at line "+this.line+" col "+c+`:
|
|
12
|
+
|
|
13
|
+
`,t+=i.map(function(E,q){return b(this.line-i.length+q+1,$)+" "+E},this).join(`
|
|
14
|
+
`),t+=`
|
|
15
|
+
`+b("",$+c)+`^
|
|
16
|
+
`,t}else return t+" at index "+(this.index-1);function b(E,q){var R=String(E);return Array(q-R.length+1).join(" ")+R}};function a(f,t,_){if(f instanceof l)var i=f,_=t;else var i=l.fromCompiled(f,t);this.grammar=i,this.options={keepHistory:!1,lexer:i.lexer||new r};for(var n in _||{})this.options[n]=_[n];this.lexer=this.options.lexer,this.lexerState=void 0;var c=new A(i,0);this.table=[c],c.wants[i.start]=[],c.predict(i.start),c.process(),this.current=0}a.fail={},a.prototype.feed=function(f){var t=this.lexer;t.reset(f,this.lexerState);for(var _;;){try{if(_=t.next(),!_)break}catch(C){var $=new A(this.grammar,this.current+1);this.table.push($);var i=new Error(this.reportLexerError(C));throw i.offset=this.current,i.token=C.token,i}var n=this.table[this.current];this.options.keepHistory||delete this.table[this.current-1];var c=this.current+1,$=new A(this.grammar,c);this.table.push($);for(var b=_.text!==void 0?_.text:_.value,E=t.constructor===r?_.value:_,q=n.scannable,R=q.length;R--;){var d=q[R],w=d.rule.symbols[d.dot];if(w.test?w.test(E):w.type?w.type===_.type:w.literal===b){var v=d.nextState({data:E,token:_,isToken:!0,reference:c-1});$.states.push(v)}}if($.process(),$.states.length===0){var i=new Error(this.reportError(_));throw i.offset=this.current,i.token=_,i}this.options.keepHistory&&(n.lexerState=t.save()),this.current++}return n&&(this.lexerState=t.save()),this.results=this.finish(),this},a.prototype.reportLexerError=function(f){var t,_,i=f.token;return i?(t="input "+JSON.stringify(i.text[0])+" (lexer error)",_=this.lexer.formatError(i,"Syntax error")):(t="input (lexer error)",_=f.message),this.reportErrorCommon(_,t)},a.prototype.reportError=function(f){var t=(f.type?f.type+" token: ":"")+JSON.stringify(f.value!==void 0?f.value:f),_=this.lexer.formatError(f,"Syntax error");return this.reportErrorCommon(_,t)},a.prototype.reportErrorCommon=function(f,t){var _=[];_.push(f);var i=this.table.length-2,n=this.table[i],c=n.states.filter(function(b){var E=b.rule.symbols[b.dot];return E&&typeof E!="string"});if(c.length===0)_.push("Unexpected "+t+`. I did not expect any more input. Here is the state of my parse table:
|
|
17
|
+
`),this.displayStateStack(n.states,_);else{_.push("Unexpected "+t+`. Instead, I was expecting to see one of the following:
|
|
18
|
+
`);var $=c.map(function(b){return this.buildFirstStateStack(b,[])||[b]},this);$.forEach(function(b){var E=b[0],q=E.rule.symbols[E.dot],R=this.getSymbolDisplay(q);_.push("A "+R+" based on:"),this.displayStateStack(b,_)},this)}return _.push(""),_.join(`
|
|
19
|
+
`)},a.prototype.displayStateStack=function(f,t){for(var _,i=0,n=0;n<f.length;n++){var c=f[n],$=c.rule.toString(c.dot);$===_?i++:(i>0&&t.push(" ^ "+i+" more lines identical to this"),i=0,t.push(" "+$)),_=$}},a.prototype.getSymbolDisplay=function(f){return u(f)},a.prototype.buildFirstStateStack=function(f,t){if(t.indexOf(f)!==-1)return null;if(f.wantedBy.length===0)return[f];var _=f.wantedBy[0],i=[f].concat(t),n=this.buildFirstStateStack(_,i);return n===null?null:[f].concat(n)},a.prototype.save=function(){var f=this.table[this.current];return f.lexerState=this.lexerState,f},a.prototype.restore=function(f){var t=f.index;this.current=t,this.table[t]=f,this.table.splice(t+1),this.lexerState=f.lexerState,this.results=this.finish()},a.prototype.rewind=function(f){if(!this.options.keepHistory)throw new Error("set option `keepHistory` to enable rewinding");this.restore(this.table[f])},a.prototype.finish=function(){var f=[],t=this.grammar.start,_=this.table[this.table.length-1];return _.states.forEach(function(i){i.rule.name===t&&i.dot===i.rule.symbols.length&&i.reference===0&&i.data!==a.fail&&f.push(i)}),f.map(function(i){return i.data})};function u(f){var t=typeof f;if(t==="string")return f;if(t==="object"){if(f.literal)return JSON.stringify(f.literal);if(f instanceof RegExp)return"character matching "+f;if(f.type)return f.type+" token";if(f.test)return"token matching "+String(f.test);throw new Error("Unknown symbol type: "+f)}}function k(f){var t=typeof f;if(t==="string")return f;if(t==="object"){if(f.literal)return JSON.stringify(f.literal);if(f instanceof RegExp)return f.toString();if(f.type)return"%"+f.type;if(f.test)return"<"+String(f.test)+">";throw new Error("Unknown symbol type: "+f)}}return{Parser:a,Grammar:l,Rule:x}})})(ae)),ae.exports}var be;function Me(){return be||(be=1,(function(h){(function(x,m){for(var A in m)x[A]=m[A]})(h,(function(x){var m={};function A(l){if(m[l])return m[l].exports;var r=m[l]={i:l,l:!1,exports:{}};return x[l].call(r.exports,r,r.exports,A),r.l=!0,r.exports}return A.m=x,A.c=m,A.d=function(l,r,a){A.o(l,r)||Object.defineProperty(l,r,{enumerable:!0,get:a})},A.r=function(l){typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})},A.t=function(l,r){if(r&1&&(l=A(l)),r&8||r&4&&typeof l=="object"&&l&&l.__esModule)return l;var a=Object.create(null);if(A.r(a),Object.defineProperty(a,"default",{enumerable:!0,value:l}),r&2&&typeof l!="string")for(var u in l)A.d(a,u,(function(k){return l[k]}).bind(null,u));return a},A.n=function(l){var r=l&&l.__esModule?function(){return l.default}:function(){return l};return A.d(r,"a",r),r},A.o=function(l,r){return Object.prototype.hasOwnProperty.call(l,r)},A.p="",A(A.s=7)})([(function(x,m){x.exports=Le()}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.unbox=m.doubleQuoted=m.box=m.track=m.tracking=m.trackingComments=m.lexerAny=m.lexer=void 0;const l=A(0),r=A(3),a={};for(const w of r.sqlKeywords)a["kw_"+w.toLowerCase()]=w;const u=w=>{const v=(0,l.keywords)(w);return C=>v(C.toUpperCase())};m.lexer=(0,l.compile)({word:{match:/[eE](?!')[A-Za-z0-9_]*|[a-df-zA-DF-Z_][A-Za-z0-9_]*/,type:u(a),value:w=>w.toLowerCase()},wordQuoted:{match:/"(?:[^"\*]|"")+"/,type:()=>"quoted_word",value:w=>w.substring(1,w.length-1)},string:{match:/'(?:[^']|\'\')*'/,value:w=>w.substring(1,w.length-1).replace(/''/g,"'")},eString:{match:/\b(?:e|E)'(?:[^'\\]|[\r\n\s]|(?:\\\s)|(?:\\\n)|(?:\\.)|(?:\'\'))+'/,value:w=>w.substring(2,w.length-1).replace(/''/g,"'").replace(/\\([\s\n])/g,(v,C)=>C).replace(/\\./g,v=>JSON.parse('"'+v+'"'))},qparam:{match:/\$\d+/},commentLine:/\-\-.*?$[\s\r\n]*/,commentFullOpen:/\/\*/,commentFullClose:/\*\/[\s\r\n]*/,star:"*",comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,lparen:"(",rparen:")",lbracket:"[",rbracket:"]",semicolon:";",dot:/\.(?!\d)/,op_cast:"::",op_colon:":",op_plus:"+",op_eq:"=",op_neq:{match:/(?:!=)|(?:\<\>)/,value:()=>"!="},op_membertext:"->>",op_member:"->",op_minus:"-",op_div:/\//,op_not_ilike:/\!~~\*/,op_not_like:/\!~~/,op_ilike:/~~\*/,op_like:/~~/,op_mod:"%",op_exp:"^",op_additive:{match:["||","-","#-","&&"]},op_compare:{match:[">",">=","<","<=","@>","<@","?","?|","?&","#>>",">>","<<","~","~*","!~","!~*","@@"]},ops_others:{match:["|","&","^","#"]},codeblock:{match:/\$\$(?:.|[\s\t\n\v\f\r])*?\$\$/s,lineBreaks:!0,value:w=>w.substring(2,w.length-2)}}),m.lexer.next=(w=>()=>{let v,C=null;for(;v=w.call(m.lexer);){if(v.type==="commentFullOpen"){if(C===null){C={nested:0,offset:v.offset,text:v.text};continue}C.nested++}if(C!=null){if(C.text+=v.text,v.type==="commentFullClose"){if(C.nested===0){k?.push(f(C)),C=null;continue}C.nested--}continue}if(v.type!=="space"){if(v.type==="commentLine"){k?.push(f(v));continue}break}}if(_&&v){const U=v.offset,e={start:U,end:U+v.text.length};v._location=e}return v})(m.lexer.next),m.lexerAny=m.lexer;let k=null;const f=({offset:w,text:v})=>({_location:{start:w,end:w+v.length},comment:v});function t(w){if(k)throw new Error("WAT ? Recursive comments tracking ๐ค๐คจ ?");try{k=[];const v=w();return{comments:k,ast:v}}finally{k=null}}m.trackingComments=t;let _=!1;function i(w){if(_)return w();try{return _=!0,w()}finally{_=!1}}m.tracking=i;function n(w,v){if(!_||!v||typeof v!="object")return v;const C=d(w,!0),U=d(w,!1);if(!C||!U)return v;if(C===U)v._location=C;else{const e={start:C.start,end:U.end};v._location=e}return v}m.track=n;const c=Symbol("_literal"),$=Symbol("_doublequoted");function b(w,v,C){return!_&&!C?v:n(w,{[c]:v,[$]:C})}m.box=b;function E(w){return Array.isArray(w)&&w.length===1&&(w=E(w[0])),Array.isArray(w)&&!w.length?null:w}function q(w){const v=E(w);if(typeof w=="object"&&v?.[$])return{doubleQuoted:!0}}m.doubleQuoted=q;function R(w){var v;return typeof w=="object"&&(v=w?.[c])!==null&&v!==void 0?v:w}m.unbox=R;function d(w,v){if(!w)return null;if(Array.isArray(w)){const C=v?1:-1;for(let U=v?0:w.length-1;U>=0&&U<w.length;U+=C){const e=d(w[U],v);if(e)return e}return null}return typeof w!="object"?null:w._location}}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.AstDefaultMapper=m.arrayNilMap=m.assignChanged=m.astMapper=void 0;const l=A(6);function r(i){const n=new f;return n.wrapped=i(n),n}m.astMapper=r;function a(i,n){if(!i)return i;let c=!1;for(const $ of Object.keys(n))if(i[$]!==n[$]){c=!0;break}return c?(0,l.trimNullish)({...i,...n},0):i}m.assignChanged=a;function u(i,n){if(!i?.length)return i;let c=!1,$=i;for(let b=0;b<i.length;b++){const E=i[b],q=n(E);!c&&(!q||q!==E)&&(c=!0,$=i.slice(0,b)),q&&c&&$.push(q)}return $}m.arrayNilMap=u;function k(i){switch(i?.type){case"select":case"delete":case"insert":case"update":case"union":case"union all":case"with":return!0;default:return!1}}class f{super(){return new _(this)}statement(n){switch(n.type){case"alter table":return this.alterTable(n);case"alter index":return this.alterIndex(n);case"commit":case"start transaction":case"rollback":return this.transaction(n);case"create index":return this.createIndex(n);case"create table":return this.createTable(n);case"truncate table":return this.truncateTable(n);case"delete":return this.delete(n);case"insert":return this.insert(n);case"with":return this.with(n);case"with recursive":return this.withRecursive(n);case"select":return this.selection(n);case"update":return this.update(n);case"create extension":return this.createExtension(n);case"tablespace":return this.tablespace(n);case"set":return this.setGlobal(n);case"set timezone":return this.setTimezone(n);case"set names":return this.setNames(n);case"create sequence":return this.createSequence(n);case"alter sequence":return this.alterSequence(n);case"begin":return this.begin(n);case"drop table":case"drop index":case"drop sequence":case"drop type":case"drop trigger":return this.drop(n);case"create enum":return this.createEnum(n);case"alter enum":return this.alterEnum(n);case"create composite type":return this.createCompositeType(n);case"union":case"union all":return this.union(n);case"show":return this.show(n);case"prepare":return this.prepare(n);case"deallocate":return this.deallocate(n);case"create view":return this.createView(n);case"create materialized view":return this.createMaterializedView(n);case"refresh materialized view":return this.refreshMaterializedView(n);case"create schema":return this.createSchema(n);case"raise":return this.raise(n);case"comment":return this.comment(n);case"do":return this.do(n);case"create function":return this.createFunction(n);case"drop function":return this.dropFunction(n);case"values":return this.values(n);default:throw l.NotSupported.never(n)}}comment(n){return n}createView(n){const c=this.select(n.query);if(!c)return null;const $=this.tableRef(n.name);return $?a(n,{query:c,name:$}):null}createMaterializedView(n){const c=this.select(n.query);if(!c)return null;const $=this.tableRef(n.name);return $?a(n,{query:c,name:$}):null}refreshMaterializedView(n){return n}do(n){return n}createFunction(n){const c=u(n.arguments,b=>{const E=this.dataType(b.type);return a(b,{type:E})});let $;if(n.returns)switch(n.returns.kind){case"table":$=a(n.returns,{columns:u(n.returns.columns,b=>{const E=this.dataType(b.type);return E&&a(b,{type:E})})});break;case void 0:case null:case"array":$=this.dataType(n.returns);break;default:throw l.NotSupported.never(n.returns)}return a(n,{returns:$,arguments:c})}dropFunction(n){const c=u(n.arguments,$=>{const b=this.dataType($.type);return a($,{type:b})});return a(n,{arguments:c})}show(n){return n}createEnum(n){return n}alterEnum(n){return n}createCompositeType(n){const c=u(n.attributes,$=>a($,{dataType:this.dataType($.dataType)}));return a(n,{attributes:c})}drop(n){return n}alterSequence(n){return n.change.type==="set options"&&n.change.as&&this.dataType(n.change.as),n}begin(n){return n}createSequence(n){return n.options.as&&this.dataType(n.options.as),n}tablespace(n){return n}setGlobal(n){return n}setTimezone(n){return n}setNames(n){return n}update(n){if(!n)return n;const c=this.tableRef(n.table);if(!c)return null;const $=n.from&&this.from(n.from),b=n.where&&this.expr(n.where),E=u(n.sets,R=>this.set(R));if(!E?.length)return null;const q=u(n.returning,R=>this.selectionColumn(R));return a(n,{table:c,where:b,sets:E,from:$,returning:q})}insert(n){var c,$;const b=this.tableRef(n.into);if(!b)return null;const E=n.insert&&this.select(n.insert);if(!E)return null;const q=u(n.returning,w=>this.selectionColumn(w));let R=(c=n.onConflict)===null||c===void 0?void 0:c.on;switch(R?.type){case"on constraint":break;case"on expr":R=a(R,{exprs:u(R.exprs,w=>this.expr(w))});break;case null:case void 0:break;default:throw l.NotSupported.never(R)}let d=($=n.onConflict)===null||$===void 0?void 0:$.do;if(d&&d!=="do nothing"){const w=u(d.sets,v=>this.set(v));w?.length?d.sets!==w&&(d={sets:w}):d="do nothing"}return a(n,{into:b,insert:E,returning:q,onConflict:d?a(n.onConflict,{do:d,on:R}):n.onConflict})}raise(n){return a(n,{formatExprs:n.formatExprs&&u(n.formatExprs,c=>this.expr(c)),using:n.using&&u(n.using,c=>a(c,{value:this.expr(c.value)}))})}delete(n){const c=this.tableRef(n.from);if(!c)return null;const $=n.where&&this.expr(n.where),b=u(n.returning,E=>this.selectionColumn(E));return a(n,{where:$,returning:b,from:c})}createSchema(n){return n}createTable(n){const c=u(n.columns,$=>{switch($.kind){case"column":return this.createColumn($);case"like table":return this.likeTable($);default:throw l.NotSupported.never($)}});return c?.length?a(n,{columns:c}):null}likeTable(n){const c=this.tableRef(n.like);return c?a(n,{like:c}):null}truncateTable(n){return n}constraint(n){switch(n.type){case"not null":case"null":case"primary key":case"unique":case"add generated":return n;case"default":{const c=this.expr(n.default);return c?a(n,{default:c}):null}case"check":{const c=this.expr(n.expr);return c?a(n,{expr:c}):null}case"reference":{const c=this.tableRef(n.foreignTable);return c?a(n,{foreignTable:c}):null}default:throw l.NotSupported.never(n)}}set(n){const c=this.expr(n.value);return c?a(n,{value:c}):null}dataType(n){return n}tableRef(n){return n}transaction(n){return n}createExtension(n){return n}createIndex(n){const c=u(n.expressions,$=>{const b=this.expr($.expression);return b===$.expression?$:b?{...$,expression:b}:null});return c?.length?a(n,{expressions:c}):null}prepare(n){const c=this.statement(n.statement);return c?a(n,{args:u(n.args,$=>this.dataType($)),statement:c}):null}deallocate(n){return n}alterIndex(n){return n}alterTable(n){var c;const $=this.tableRef(n.table);if(!$)return null;let b=[],E=!1;for(let q=0;q<(((c=n.changes)===null||c===void 0?void 0:c.length)||0);q++){const R=n.changes[q],d=this.tableAlteration(R,n.table);E=E||d!=R,d&&b.push(d)}return b.length?E?a(n,{table:$,changes:b}):n:null}tableAlteration(n,c){switch(n.type){case"add column":return this.addColumn(n,c);case"add constraint":return this.addConstraint(n,c);case"alter column":return this.alterColumn(n,c);case"rename":return this.renameTable(n,c);case"rename column":return this.renameColumn(n,c);case"rename constraint":return this.renameConstraint(n,c);case"drop column":return this.dropColumn(n,c);case"drop constraint":return this.dropConstraint(n,c);case"owner":return this.setTableOwner(n,c);default:throw l.NotSupported.never(n)}}dropColumn(n,c){return n}dropConstraint(n,c){return n}setTableOwner(n,c){return n}renameConstraint(n,c){return n}renameColumn(n,c){return n}renameTable(n,c){return n}alterColumn(n,c){let $;switch(n.alter.type){case"set default":$=this.setColumnDefault(n.alter,c,n.column);break;case"set type":$=this.setColumnType(n.alter,c,n.column);break;case"drop default":case"set not null":case"drop not null":$=this.alterColumnSimple(n.alter,c,n.column);break;case"add generated":$=this.alterColumnAddGenerated(n.alter,c,n.column);break;default:throw l.NotSupported.never(n.alter)}return $?a(n,{alter:$}):null}setColumnType(n,c,$){const b=this.dataType(n.dataType);return a(n,{dataType:b})}alterColumnAddGenerated(n,c,$){return n}alterColumnSimple(n,c,$){return n}setColumnDefault(n,c,$){const b=this.expr(n.default);return b?a(n,{default:b}):null}addConstraint(n,c){return n}addColumn(n,c){const $=this.createColumn(n.column);return $?a(n,{column:$}):null}createColumn(n){var c;const $=this.dataType(n.dataType);if(!$)return null;const b=(c=u(n.constraints,E=>this.constraint(E)))!==null&&c!==void 0?c:void 0;return a(n,{dataType:$,constraints:b})}select(n){switch(n.type){case"select":return this.selection(n);case"union":case"union all":return this.union(n);case"with":return this.with(n);case"values":return this.values(n);case"with recursive":return this.withRecursive(n);default:throw l.NotSupported.never(n)}}selection(n){var c,$;const b=u(n.from,C=>this.from(C)),E=u(n.columns,C=>this.selectionColumn(C)),q=n.where&&this.expr(n.where),R=u(n.groupBy,C=>this.expr(C)),d=n.having&&this.expr(n.having),w=this.orderBy(n.orderBy),v=a(n.limit,{limit:this.expr((c=n.limit)===null||c===void 0?void 0:c.limit),offset:this.expr(($=n.limit)===null||$===void 0?void 0:$.offset)});return a(n,{from:b,columns:E,where:q,groupBy:R,having:d,orderBy:w,limit:v})}orderBy(n){return u(n,c=>{const $=this.expr(c.by);return $?$===c.by?c:{...c,by:$}:null})}union(n){const c=this.select(n.left),$=this.select(n.right);return!c||!$?c??$:a(n,{left:c,right:$})}with(n){const c=u(n.bind,b=>{const E=this.statement(b.statement);return k(E)?a(b,{statement:E}):null});if(!c)return null;const $=this.statement(n.in);return k($)?a(n,{bind:c,in:$}):null}withRecursive(n){const c=this.union(n.bind);if(!c||c.type!=="union"&&c.type!=="union all")return null;const $=this.statement(n.in);return k($)?a(n,{bind:c,in:$}):null}from(n){switch(n.type){case"table":return this.fromTable(n);case"statement":return this.fromStatement(n);case"call":return this.fromCall(n);default:throw l.NotSupported.never(n)}}fromCall(n){const c=this.call(n);return!c||c.type!=="call"?null:a(n,c)}fromStatement(n){const c=this.select(n.statement);if(!c)return null;const $=n.join&&this.join(n.join);return a(n,{statement:c,join:$})}values(n){const c=u(n.values,$=>u($,b=>this.expr(b)));return c?.length?a(n,{values:c}):null}join(n){const c=n.on&&this.expr(n.on);return!c&&!n.using?n:a(n,{on:c})}fromTable(n){const c=this.tableRef(n.name);if(!c)return null;const $=n.join&&this.join(n.join);return a(n,{name:c,join:$})}selectionColumn(n){const c=this.expr(n.expr);return c?a(n,{expr:c}):null}expr(n){if(!n)return n;switch(n.type){case"binary":return this.binary(n);case"unary":return this.unary(n);case"ref":return this.ref(n);case"string":case"numeric":case"integer":case"boolean":case"constant":case"null":return this.constant(n);case"list":case"array":return this.array(n);case"array select":return this.arraySelect(n);case"call":return this.call(n);case"cast":return this.cast(n);case"case":return this.case(n);case"member":return this.member(n);case"arrayIndex":return this.arrayIndex(n);case"ternary":return this.ternary(n);case"select":case"union":case"union all":case"with":case"with recursive":return this.select(n);case"keyword":return this.valueKeyword(n);case"parameter":return this.parameter(n);case"extract":return this.extract(n);case"overlay":return this.callOverlay(n);case"substring":return this.callSubstring(n);case"values":return this.values(n);case"default":return this.default(n);default:throw l.NotSupported.never(n)}}arraySelect(n){const c=this.select(n.select);return c?a(n,{select:c}):null}extract(n){const c=this.expr(n.from);return c?a(n,{from:c}):null}valueKeyword(n){return n}ternary(n){const c=this.expr(n.value),$=this.expr(n.lo),b=this.expr(n.hi);return!c||!$||!b?null:a(n,{value:c,lo:$,hi:b})}parameter(n){return n}arrayIndex(n){const c=this.expr(n.array),$=this.expr(n.index);return!c||!$?null:a(n,{array:c,index:$})}member(n){const c=this.expr(n.operand);return c?a(n,{operand:c}):null}case(n){const c=n.value&&this.expr(n.value),$=u(n.whens,E=>{const q=this.expr(E.when),R=this.expr(E.value);return!q||!R?null:a(E,{value:R,when:q})});if(!$?.length)return null;const b=n.else&&this.expr(n.else);return a(n,{value:c,whens:$,else:b})}cast(n){const c=this.expr(n.operand);return c?a(n,{operand:c}):null}call(n){var c;const $=u(n.args,d=>this.expr(d));if(!$)return null;const b=this.orderBy(n.orderBy),E=this.expr(n.filter),q=n.withinGroup?[n.withinGroup]:void 0,R=(c=this.orderBy(q))===null||c===void 0?void 0:c[0];return a(n,{args:$,orderBy:b,filter:E,withinGroup:R})}callSubstring(n){return a(n,{value:this.expr(n.value),from:this.expr(n.from),for:this.expr(n.for)})}callOverlay(n){return a(n,{value:this.expr(n.value),placing:this.expr(n.placing),from:this.expr(n.from),for:this.expr(n.for)})}array(n){const c=u(n.expressions,$=>this.expr($));return c?a(n,{expressions:c}):null}constant(n){return n}default(n){return n}ref(n){return n}unary(n){const c=this.expr(n.operand);return c?a(n,{operand:c}):null}binary(n){const c=this.expr(n.left),$=this.expr(n.right);return!c||!$?null:a(n,{left:c,right:$})}}m.AstDefaultMapper=f;const t=f.prototype;for(const i of Object.getOwnPropertyNames(t)){const n=t[i];i==="constructor"||i==="super"||typeof n!="function"||Object.defineProperty(t,i,{configurable:!1,get(){return function(...c){var $;if(this.skipNext)return this.skipNext=!1,n.apply(this,c);const b=($=this.wrapped)===null||$===void 0?void 0:$[i];return b?b.apply(this.wrapped,c):n.apply(this,c)}}})}class _ extends f{constructor(n){super(),this.parent=n}}for(const i of Object.getOwnPropertyNames(t)){const n=t[i];i==="constructor"||i==="super"||typeof n!="function"||Object.defineProperty(_.prototype,i,{configurable:!1,get(){return function(...c){return this.parent.skipNext=!0,n.apply(this.parent,c)}}})}}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.sqlKeywords=void 0,m.sqlKeywords=["ALL","ANALYSE","ANALYZE","AND","ANY","ARRAY","AS","ASC","ASYMMETRIC","AUTHORIZATION","BINARY","BOTH","CASE","CAST","CHECK","COLLATE","COLLATION","CONCURRENTLY","CONSTRAINT","CREATE","CROSS","CURRENT_CATALOG","CURRENT_DATE","CURRENT_ROLE","CURRENT_SCHEMA","CURRENT_TIME","CURRENT_TIMESTAMP","CURRENT_USER","DEFAULT","DEFERRABLE","DESC","DISTINCT","DO","ELSE","END","EXCEPT","FALSE","FETCH","FOR","FOREIGN","FREEZE","FROM","FULL","GRANT","GROUP","HAVING","ILIKE","IN","INITIALLY","INNER","INTERSECT","INTO","IS","ISNULL","JOIN","LATERAL","LEADING","LEFT","LIKE","LIMIT","LOCALTIME","LOCALTIMESTAMP","NATURAL","NOT","NOTNULL","NULL","OFFSET","ON","ONLY","OR","ORDER","OUTER","OVERLAPS","PLACING","PRIMARY","REFERENCES","RETURNING","RIGHT","SELECT","SESSION_USER","SIMILAR","SOME","SYMMETRIC","TABLE","TABLESAMPLE","THEN","TO","TRAILING","TRUE","UNION","UNIQUE","USER","USING","VARIADIC","VERBOSE","WHEN","WHERE","WINDOW","WITH","PRECISION"]}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.intervalToString=m.normalizeInterval=m.buildInterval=void 0;const l=[["years",12],["months",30],["days",24],["hours",60],["minutes",60],["seconds",1e3],["milliseconds",0]];function*r(_){if(typeof _[1]=="number")yield _;else for(const i of _)yield*r(i)}function a(_,i){var n;const c={};if(i==="invalid")throw new Error(`invalid input syntax for type interval: "${_}"`);for(const[$,b]of r(i))c[$]=((n=c[$])!==null&&n!==void 0?n:0)+b;return c}m.buildInterval=a;function u(_){var i,n,c,$,b,E,q,R,d;const w={..._};for(let U=0;U<l.length;U++){const[e,o]=l[U],s=(i=w[e])!==null&&i!==void 0?i:0,p=s>=0?Math.floor(s):Math.ceil(s);if(!s||p===s)continue;const y=(n=l[U+1])===null||n===void 0?void 0:n[0];y&&(w[y]=((c=w[y])!==null&&c!==void 0?c:0)+o*(s-p)),w[e]=p}if(w.months||w.years){const U=(($=w.months)!==null&&$!==void 0?$:0)+((b=w.years)!==null&&b!==void 0?b:0)*12;w.months=U%12,w.years=(U-w.months)/12}let v=((E=w.hours)!==null&&E!==void 0?E:0)*3600+((q=w.minutes)!==null&&q!==void 0?q:0)*60+((R=w.seconds)!==null&&R!==void 0?R:0)+((d=w.milliseconds)!==null&&d!==void 0?d:0)/1e3,C=1;v<0&&(C=-1,v=-v),v>=3600?(w.hours=C*Math.floor(v/3600),v-=C*w.hours*3600):delete w.hours,v>=60?(w.minutes=C*Math.floor(v/60),v-=C*w.minutes*60):delete w.minutes,v>0?(w.seconds=C*Math.floor(v),v-=C*w.seconds):delete w.seconds,v>0?w.milliseconds=C*Math.round(v*1e3):delete w.milliseconds;for(const[U]of l)w[U]||delete w[U];return w}m.normalizeInterval=u;function k(_){var i,n,c;_=u(_);const $=[];if(_.years&&$.push(_.years===1?"1 year":_.years+" years"),_.months&&$.push(_.months===1?"1 month":_.months+" months"),_.days&&$.push(_.days===1?"1 day":_.days+" days"),_.hours||_.minutes||_.seconds||_.milliseconds){let b=`${f((i=_.hours)!==null&&i!==void 0?i:0)}:${f((n=_.minutes)!==null&&n!==void 0?n:0)}:${f((c=_.seconds)!==null&&c!==void 0?c:0)}`;_.milliseconds&&(b=b+(_.milliseconds/1e3).toString().substr(1)),(t(_.hours)||t(_.minutes)||t(_.seconds)||t(_.milliseconds))&&(b="-"+b),$.push(b)}return $.join(" ")}m.intervalToString=k;function f(_){return _=Math.abs(_),_<10?"0"+_:_.toString()}function t(_){return _&&_<0}}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.astVisitor=void 0;const l=A(2);class r{super(){return new u(this)}}const a=l.AstDefaultMapper.prototype;for(const f of Object.getOwnPropertyNames(a)){const t=a[f];f==="constructor"||f==="super"||typeof t!="function"||Object.defineProperty(r.prototype,f,{configurable:!1,get(){return function(..._){const i=this.visitor[f];return i?(i.apply(this.visitor,_),_[0]):t.apply(this,_)}}})}class u{constructor(t){this.parent=t}}for(const f of Object.getOwnPropertyNames(a)){const t=a[f];f==="constructor"||f==="super"||typeof t!="function"||Object.defineProperty(u.prototype,f,{configurable:!1,get(){return function(..._){return t.apply(this.parent,_)}}})}function k(f){return(0,l.astMapper)(t=>{const _=new r;return _.mapper=t,_.visitor=f(_),_})}m.astVisitor=k}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.trimNullish=m.NotSupported=void 0;class l extends Error{constructor(u){super("Not supported"+(u?": "+u:""))}static never(u,k){return new l(`${k??""} ${JSON.stringify(u)}`)}}m.NotSupported=l;function r(a,u=5){if(u<0||(a instanceof Array&&a.forEach(k=>r(k,u-1)),typeof a!="object"||a instanceof Date)||!a)return a;for(const k of Object.keys(a)){const f=a[k];f==null?delete a[k]:r(f,u-1)}return a}m.trimNullish=r}),(function(x,m,A){var l=this&&this.__createBinding||(Object.create?(function(_,i,n,c){c===void 0&&(c=n);var $=Object.getOwnPropertyDescriptor(i,n);(!$||("get"in $?!i.__esModule:$.writable||$.configurable))&&($={enumerable:!0,get:function(){return i[n]}}),Object.defineProperty(_,c,$)}):(function(_,i,n,c){c===void 0&&(c=n),_[c]=i[n]})),r=this&&this.__exportStar||function(_,i){for(var n in _)n!=="default"&&!Object.prototype.hasOwnProperty.call(i,n)&&l(i,_,n)};Object.defineProperty(m,"__esModule",{value:!0}),m.normalizeInterval=m.intervalToString=m.toSql=m.astMapper=m.assignChanged=m.arrayNilMap=m.astVisitor=m.parseWithComments=m.parseIntervalLiteral=m.parseGeometricLiteral=m.parseArrayLiteral=m.parseFirst=m.parse=void 0;var a=A(8);Object.defineProperty(m,"parse",{enumerable:!0,get:function(){return a.parse}}),Object.defineProperty(m,"parseFirst",{enumerable:!0,get:function(){return a.parseFirst}}),Object.defineProperty(m,"parseArrayLiteral",{enumerable:!0,get:function(){return a.parseArrayLiteral}}),Object.defineProperty(m,"parseGeometricLiteral",{enumerable:!0,get:function(){return a.parseGeometricLiteral}}),Object.defineProperty(m,"parseIntervalLiteral",{enumerable:!0,get:function(){return a.parseIntervalLiteral}}),Object.defineProperty(m,"parseWithComments",{enumerable:!0,get:function(){return a.parseWithComments}});var u=A(5);Object.defineProperty(m,"astVisitor",{enumerable:!0,get:function(){return u.astVisitor}});var k=A(2);Object.defineProperty(m,"arrayNilMap",{enumerable:!0,get:function(){return k.arrayNilMap}}),Object.defineProperty(m,"assignChanged",{enumerable:!0,get:function(){return k.assignChanged}}),Object.defineProperty(m,"astMapper",{enumerable:!0,get:function(){return k.astMapper}});var f=A(19);Object.defineProperty(m,"toSql",{enumerable:!0,get:function(){return f.toSql}}),r(A(21),m);var t=A(4);Object.defineProperty(m,"intervalToString",{enumerable:!0,get:function(){return t.intervalToString}}),Object.defineProperty(m,"normalizeInterval",{enumerable:!0,get:function(){return t.normalizeInterval}})}),(function(x,m,A){var l=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(m,"__esModule",{value:!0}),m.parseGeometricLiteral=m.parseIntervalLiteral=m.parseArrayLiteral=m.parse=m.parseWithComments=m.parseFirst=void 0;const r=A(9),a=l(A(10)),u=l(A(11)),k=l(A(13)),f=l(A(15)),t=l(A(17)),_=A(4),i=A(1);let n,c,$,b,E;function q(e){return d(e)[0]}m.parseFirst=q;function R(e,o){return(0,i.trackingComments)(()=>d(e,o))}m.parseWithComments=R;function d(e,o){n||(n=r.Grammar.fromCompiled(a.default));const s=typeof o=="string"?o:o?.entry,p=typeof o=="string"?null:o,y=()=>U(e,n,s);let g=p?.locationTracking?(0,i.tracking)(y):y();return typeof o!="string"&&!Array.isArray(g)&&(g=[g]),g}m.parse=d;function w(e){return c||(c=r.Grammar.fromCompiled(u.default)),U(e,c)}m.parseArrayLiteral=w;function v(e){if(e.startsWith("P"))return E||(E=r.Grammar.fromCompiled(t.default)),(0,_.buildInterval)(e,U(e,E));{b||(b=r.Grammar.fromCompiled(f.default));const o=e.toLowerCase();return(0,_.buildInterval)(e,U(o,b))}}m.parseIntervalLiteral=v;function C(e,o){return $||($=r.Grammar.fromCompiled(k.default)),U(e,$,o)}m.parseGeometricLiteral=C;function U(e,o,s){try{o.start=s??"main";const p=new r.Parser(o);p.feed(e);const y=p.finish();if(y.length){if(y.length!==1)throw new Error(`๐ Ambiguous SQL syntax: Please file an issue stating the request that has failed at https://github.com/oguimbal/pgsql-ast-parser:
|
|
20
|
+
|
|
21
|
+
${e}
|
|
22
|
+
|
|
23
|
+
`)}else throw new Error("Unexpected end of input");return y[0]}catch(p){if(typeof p?.message!="string")throw p;let y=p.message,g=null;const N=[],O=/A (.+) token based on:/g;let I;for(;I=O.exec(y);)g=g??y.substr(0,I.index),N.push(` - A "${I[1]}" token`);throw g&&(y=g+N.join(`
|
|
24
|
+
`)+`
|
|
25
|
+
|
|
26
|
+
`),p.message=y,p}}}),(function(x,m){x.exports=ze()}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0});function l(e){return e[0]}const r=A(1),a=A(1);function u(e){return k(e,void 0)}function k(e,o){const s=b(e);return!o||o.length===0?(0,a.track)(e,{name:s}):(0,a.track)(e,{name:s,columns:o.map(p=>({name:b(p)}))})}function f(e){const o=b(e);return(0,a.track)(e,{value:o})}function t(e){return Array.isArray(e)&&e.length===1&&(e=t(e[0])),Array.isArray(e)&&!e.length?null:(0,a.unbox)(e)}const _=e=>o=>(0,a.track)(o,o[e]),i=e=>Array.isArray(e)?(0,a.track)(e[e.length-1],e[e.length-1]):e;function n(e){if(Array.isArray(e)){const o=[];for(const s of e)o.push(...n(s));return o}return e?[e]:[]}function c(e){var o;return e=(0,a.unbox)(e),(o=e?.value)!==null&&o!==void 0?o:e}function $(e){return n((0,a.unbox)(e)).filter(s=>!!s).map(s=>c(s)).filter(s=>typeof s=="string").map(s=>s.trim()).filter(s=>!!s)}function b(e,o){return $(e).join(o||"")}function E(e){const o={};for(const[s,p]of e)o[s]=p;return o}const q={sensitivity:"accent"},R=(e,o)=>e.localeCompare(o,void 0,q)===0,d=e=>(o,s,p)=>{const y=c(o[0]);return R(y,e)?(0,a.box)(o,e):p},w=d,v=(...e)=>{const o=new Set(e);return(s,p,y)=>{const g=typeof s[0]=="string"?s[0]:s[0].value;return o.has(g)?g:y}};function C(e,o){const s=new Set,p=o.map(a.unbox);for(const[y,g]of p){if(s.has(y))throw new Error("conflicting or redundant options");s.add(y),e[y]=(0,a.unbox)(g)}}const U={Lexer:r.lexerAny,ParserRules:[{name:"lparen",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"rparen",symbols:[r.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"number$subexpression$1",symbols:["float"]},{name:"number$subexpression$1",symbols:["int"]},{name:"number",symbols:["number$subexpression$1"],postprocess:t},{name:"dot",symbols:[r.lexerAny.has("dot")?{type:"dot"}:dot],postprocess:l},{name:"float",symbols:[r.lexerAny.has("float")?{type:"float"}:float],postprocess:e=>(0,a.box)(e,parseFloat(t(e)))},{name:"int",symbols:[r.lexerAny.has("int")?{type:"int"}:int],postprocess:e=>(0,a.box)(e,parseInt(t(e),10))},{name:"comma",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma],postprocess:l},{name:"star",symbols:[r.lexerAny.has("star")?{type:"star"}:star],postprocess:e=>(0,a.box)(e,e[0].value)},{name:"string$subexpression$1",symbols:[r.lexerAny.has("string")?{type:"string"}:string]},{name:"string$subexpression$1",symbols:[r.lexerAny.has("eString")?{type:"eString"}:eString]},{name:"string",symbols:["string$subexpression$1"],postprocess:e=>(0,a.box)(e,t(e[0]).value)},{name:"ident",symbols:["word"],postprocess:_(0)},{name:"word",symbols:[r.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary],postprocess:e=>(0,a.box)(e,"primary")},{name:"word",symbols:[r.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:e=>(0,a.box)(e,"unique")},{name:"word",symbols:[r.lexerAny.has("quoted_word")?{type:"quoted_word"}:quoted_word],postprocess:e=>(0,a.box)(e,e[0].value,!0)},{name:"word",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:e=>(0,a.box)(e,e[0].value)},{name:"collist_paren",symbols:["lparen","collist","rparen"],postprocess:_(1)},{name:"collist$ebnf$1",symbols:[]},{name:"collist$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:i},{name:"collist$ebnf$1",symbols:["collist$ebnf$1","collist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"collist",symbols:["ident","collist$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"kw_between",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("between")},{name:"kw_conflict",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("conflict")},{name:"kw_nothing",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("nothing")},{name:"kw_begin",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("begin")},{name:"kw_if",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("if")},{name:"kw_exists",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("exists")},{name:"kw_key",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("key")},{name:"kw_index",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("index")},{name:"kw_extension",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("extension")},{name:"kw_schema",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("schema")},{name:"kw_nulls",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("nulls")},{name:"kw_first",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("first")},{name:"kw_last",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("last")},{name:"kw_start",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("start")},{name:"kw_restart",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("restart")},{name:"kw_filter",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("filter")},{name:"kw_commit",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("commit")},{name:"kw_tablespace",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("tablespace")},{name:"kw_transaction",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("transaction")},{name:"kw_work",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("work")},{name:"kw_read",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("read")},{name:"kw_write",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("write")},{name:"kw_isolation",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("isolation")},{name:"kw_level",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("level")},{name:"kw_serializable",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("serializable")},{name:"kw_rollback",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("rollback")},{name:"kw_insert",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("insert")},{name:"kw_value",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("value")},{name:"kw_values",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("values")},{name:"kw_update",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("update")},{name:"kw_column",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("column")},{name:"kw_set",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("set")},{name:"kw_version",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("version")},{name:"kw_alter",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("alter")},{name:"kw_rename",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("rename")},{name:"kw_sequence",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("sequence")},{name:"kw_temp",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("temp")},{name:"kw_temporary",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("temporary")},{name:"kw_add",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("add")},{name:"kw_owner",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("owner")},{name:"kw_owned",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("owned")},{name:"kw_including",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("including")},{name:"kw_excluding",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("excluding")},{name:"kw_none",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("none")},{name:"kw_drop",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("drop")},{name:"kw_operator",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("operator")},{name:"kw_minvalue",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("minvalue")},{name:"kw_maxvalue",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("maxvalue")},{name:"kw_data",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("data")},{name:"kw_type",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("type")},{name:"kw_trigger",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("trigger")},{name:"kw_delete",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("delete")},{name:"kw_cache",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("cache")},{name:"kw_cascade",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("cascade")},{name:"kw_no",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("no")},{name:"kw_timestamp",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("timestamp")},{name:"kw_cycle",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("cycle")},{name:"kw_function",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("function")},{name:"kw_returns",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("returns")},{name:"kw_language",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("language")},{name:"kw_out",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("out")},{name:"kw_inout",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("inout")},{name:"kw_variadic",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("variadic")},{name:"kw_action",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("action")},{name:"kw_restrict",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("restrict")},{name:"kw_truncate",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("truncate")},{name:"kw_increment",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("increment")},{name:"kw_by",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("by")},{name:"kw_row",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("row")},{name:"kw_rows",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("rows")},{name:"kw_next",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("next")},{name:"kw_match",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("match")},{name:"kw_replace",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("replace")},{name:"kw_recursive",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("recursive")},{name:"kw_view",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("view")},{name:"kw_cascaded",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("cascaded")},{name:"kw_unlogged",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("unlogged")},{name:"kw_global",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("global")},{name:"kw_option",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("option")},{name:"kw_materialized",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("materialized")},{name:"kw_partial",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("partial")},{name:"kw_partition",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("partition")},{name:"kw_simple",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("simple")},{name:"kw_generated",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("generated")},{name:"kw_always",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("always")},{name:"kw_identity",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("identity")},{name:"kw_name",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("name")},{name:"kw_enum",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("enum")},{name:"kw_show",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("show")},{name:"kw_ordinality",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("ordinality")},{name:"kw_overriding",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("overriding")},{name:"kw_over",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("over")},{name:"kw_system",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("system")},{name:"kw_comment",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("comment")},{name:"kw_time",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("time")},{name:"kw_names",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("names")},{name:"kw_at",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("at")},{name:"kw_zone",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("zone")},{name:"kw_interval",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("interval")},{name:"kw_hour",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("hour")},{name:"kw_minute",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("minute")},{name:"kw_local",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("local")},{name:"kw_session",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("session")},{name:"kw_prepare",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("prepare")},{name:"kw_deallocate",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("deallocate")},{name:"kw_raise",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("raise")},{name:"kw_continue",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("continue")},{name:"kw_share",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("share")},{name:"kw_refresh",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("refresh")},{name:"kw_nowait",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("nowait")},{name:"kw_skip",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("skip")},{name:"kw_locked",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("locked")},{name:"kw_within",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:d("within")},{name:"kw_ifnotexists",symbols:["kw_if",r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not,"kw_exists"]},{name:"kw_ifexists",symbols:["kw_if","kw_exists"]},{name:"kw_withordinality",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"kw_ordinality"]},{name:"kw_not_null",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not,r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"kw_primary_key",symbols:[r.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary,"kw_key"]},{name:"data_type$ebnf$1$subexpression$1$macrocall$2",symbols:["int"]},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"data_type$ebnf$1$subexpression$1$macrocall$2"],postprocess:i},{name:"data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1",symbols:["data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1","data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type$ebnf$1$subexpression$1$macrocall$1",symbols:["data_type$ebnf$1$subexpression$1$macrocall$2","data_type$ebnf$1$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"data_type$ebnf$1$subexpression$1",symbols:["lparen","data_type$ebnf$1$subexpression$1$macrocall$1","rparen"],postprocess:_(1)},{name:"data_type$ebnf$1",symbols:["data_type$ebnf$1$subexpression$1"],postprocess:l},{name:"data_type$ebnf$1",symbols:[],postprocess:()=>null},{name:"data_type$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$1"]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$2",symbols:[r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"data_type$ebnf$2$subexpression$1$ebnf$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1","data_type$ebnf$2$subexpression$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type$ebnf$2$subexpression$1",symbols:["data_type$ebnf$2$subexpression$1$ebnf$1"]},{name:"data_type$ebnf$2",symbols:["data_type$ebnf$2$subexpression$1"],postprocess:l},{name:"data_type$ebnf$2",symbols:[],postprocess:()=>null},{name:"data_type",symbols:["data_type_simple","data_type$ebnf$1","data_type$ebnf$2"],postprocess:e=>{let o=e[2];const s=t(e[0]);let p;if(p={...s,...Array.isArray(e[1])&&e[1].length?{config:e[1].map(t)}:{}},o){o[0].type==="kw_array"&&(o=[["array"]]);for(const y of o[0])p={kind:"array",arrayOf:p}}return(0,a.track)(e,p)}},{name:"data_type_list$ebnf$1",symbols:[]},{name:"data_type_list$ebnf$1$subexpression$1",symbols:["comma","data_type"],postprocess:i},{name:"data_type_list$ebnf$1",symbols:["data_type_list$ebnf$1","data_type_list$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"data_type_list",symbols:["data_type","data_type_list$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"data_type_simple",symbols:["data_type_text"],postprocess:e=>(0,a.track)(e,{name:b(e," ")})},{name:"data_type_simple",symbols:["data_type_numeric"],postprocess:e=>(0,a.track)(e,{name:b(e," ")})},{name:"data_type_simple",symbols:["data_type_date"]},{name:"data_type_simple",symbols:["qualified_name_mark_quotes"]},{name:"data_type_numeric$subexpression$1",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("double")},{name:"data_type_numeric",symbols:["data_type_numeric$subexpression$1",r.lexerAny.has("kw_precision")?{type:"kw_precision"}:kw_precision]},{name:"data_type_text$subexpression$1",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("character","bit")},{name:"data_type_text$subexpression$2",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("varying")},{name:"data_type_text",symbols:["data_type_text$subexpression$1","data_type_text$subexpression$2"]},{name:"data_type_date$subexpression$1",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("timestamp","time")},{name:"data_type_date$subexpression$2",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"data_type_date$subexpression$2",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("without")},{name:"data_type_date$subexpression$3",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("time")},{name:"data_type_date$subexpression$4",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("zone")},{name:"data_type_date",symbols:["data_type_date$subexpression$1","data_type_date$subexpression$2","data_type_date$subexpression$3","data_type_date$subexpression$4"],postprocess:e=>(0,a.track)(e,{name:b(e," ")})},{name:"data_type_date$subexpression$5",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("timestamp","time")},{name:"data_type_date$subexpression$6",symbols:["lparen","int","rparen"],postprocess:_(1)},{name:"data_type_date$subexpression$7",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"data_type_date$subexpression$7",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("without")},{name:"data_type_date$subexpression$8",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("time")},{name:"data_type_date$subexpression$9",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:w("zone")},{name:"data_type_date",symbols:["data_type_date$subexpression$5","data_type_date$subexpression$6","data_type_date$subexpression$7","data_type_date$subexpression$8","data_type_date$subexpression$9"],postprocess:e=>(0,a.track)(e,{name:`timestamp ${b(e[2])} time zone`,config:[(0,a.unbox)(e[1])]})},{name:"ident_aliased$subexpression$1",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"ident"],postprocess:i},{name:"ident_aliased",symbols:["ident_aliased$subexpression$1"]},{name:"ident_aliased",symbols:["ident"],postprocess:t},{name:"table_ref",symbols:["qualified_name"],postprocess:t},{name:"qcolumn$ebnf$1$subexpression$1",symbols:["dot","ident"],postprocess:i},{name:"qcolumn$ebnf$1",symbols:["qcolumn$ebnf$1$subexpression$1"],postprocess:l},{name:"qcolumn$ebnf$1",symbols:[],postprocess:()=>null},{name:"qcolumn",symbols:["ident","dot","ident","qcolumn$ebnf$1"],postprocess:e=>e[3]?(0,a.track)(e,{schema:(0,a.unbox)(e[0]),table:(0,a.unbox)(e[2]),column:(0,a.unbox)(e[3])}):(0,a.track)(e,{table:(0,a.unbox)(e[0]),column:(0,a.unbox)(e[2])})},{name:"table_ref_aliased$ebnf$1",symbols:["ident_aliased"],postprocess:l},{name:"table_ref_aliased$ebnf$1",symbols:[],postprocess:()=>null},{name:"table_ref_aliased",symbols:["table_ref","table_ref_aliased$ebnf$1"],postprocess:e=>{const o=t(e[1]);return(0,a.track)(e,{...t(e[0]),...o?{alias:o}:{}})}},{name:"qualified_name",symbols:["qname_ident"],postprocess:e=>(0,a.track)(e,{name:b(e)})},{name:"qualified_name",symbols:["ident","dot","ident_extended"],postprocess:e=>{const o=b(e[0]),s=b(e[2]);return(0,a.track)(e,{schema:o,name:s})}},{name:"qualified_name",symbols:[r.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema],postprocess:e=>(0,a.track)(e,{name:"current_schema"})},{name:"qualified_name_mark_quotes",symbols:["qname_ident"],postprocess:e=>(0,a.track)(e,{name:b(e),...(0,a.doubleQuoted)(e)})},{name:"qualified_name_mark_quotes",symbols:["ident","dot","ident_extended"],postprocess:e=>{const o=b(e[0]),s=b(e[2]);return(0,a.track)(e,{schema:o,name:s,...(0,a.doubleQuoted)(e[2])})}},{name:"qualified_name_mark_quotes",symbols:[r.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema],postprocess:e=>(0,a.track)(e,{name:"current_schema"})},{name:"qname_ident",symbols:["ident"]},{name:"qname_ident",symbols:[r.lexerAny.has("kw_precision")?{type:"kw_precision"}:kw_precision]},{name:"qname",symbols:["qualified_name"],postprocess:t},{name:"any_keyword",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_analyse")?{type:"kw_analyse"}:kw_analyse]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_analyze")?{type:"kw_analyze"}:kw_analyze]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_any")?{type:"kw_any"}:kw_any]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_asymmetric")?{type:"kw_asymmetric"}:kw_asymmetric]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_authorization")?{type:"kw_authorization"}:kw_authorization]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_binary")?{type:"kw_binary"}:kw_binary]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_both")?{type:"kw_both"}:kw_both]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_case")?{type:"kw_case"}:kw_case]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_cast")?{type:"kw_cast"}:kw_cast]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_collation")?{type:"kw_collation"}:kw_collation]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_cross")?{type:"kw_cross"}:kw_cross]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_catalog")?{type:"kw_current_catalog"}:kw_current_catalog]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_date")?{type:"kw_current_date"}:kw_current_date]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_role")?{type:"kw_current_role"}:kw_current_role]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_time")?{type:"kw_current_time"}:kw_current_time]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_timestamp")?{type:"kw_current_timestamp"}:kw_current_timestamp]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_deferrable")?{type:"kw_deferrable"}:kw_deferrable]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_else")?{type:"kw_else"}:kw_else]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_end")?{type:"kw_end"}:kw_end]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_except")?{type:"kw_except"}:kw_except]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_fetch")?{type:"kw_fetch"}:kw_fetch]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_foreign")?{type:"kw_foreign"}:kw_foreign]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_freeze")?{type:"kw_freeze"}:kw_freeze]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_grant")?{type:"kw_grant"}:kw_grant]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_having")?{type:"kw_having"}:kw_having]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_ilike")?{type:"kw_ilike"}:kw_ilike]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_initially")?{type:"kw_initially"}:kw_initially]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_inner")?{type:"kw_inner"}:kw_inner]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_intersect")?{type:"kw_intersect"}:kw_intersect]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_into")?{type:"kw_into"}:kw_into]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_isnull")?{type:"kw_isnull"}:kw_isnull]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_join")?{type:"kw_join"}:kw_join]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_lateral")?{type:"kw_lateral"}:kw_lateral]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_leading")?{type:"kw_leading"}:kw_leading]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_limit")?{type:"kw_limit"}:kw_limit]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_localtime")?{type:"kw_localtime"}:kw_localtime]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_localtimestamp")?{type:"kw_localtimestamp"}:kw_localtimestamp]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_natural")?{type:"kw_natural"}:kw_natural]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_notnull")?{type:"kw_notnull"}:kw_notnull]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_offset")?{type:"kw_offset"}:kw_offset]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_overlaps")?{type:"kw_overlaps"}:kw_overlaps]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_placing")?{type:"kw_placing"}:kw_placing]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_primary")?{type:"kw_primary"}:kw_primary]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_references")?{type:"kw_references"}:kw_references]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_select")?{type:"kw_select"}:kw_select]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_similar")?{type:"kw_similar"}:kw_similar]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_some")?{type:"kw_some"}:kw_some]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_symmetric")?{type:"kw_symmetric"}:kw_symmetric]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_tablesample")?{type:"kw_tablesample"}:kw_tablesample]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_then")?{type:"kw_then"}:kw_then]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_trailing")?{type:"kw_trailing"}:kw_trailing]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_union")?{type:"kw_union"}:kw_union]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_variadic")?{type:"kw_variadic"}:kw_variadic]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_verbose")?{type:"kw_verbose"}:kw_verbose]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_when")?{type:"kw_when"}:kw_when]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_window")?{type:"kw_window"}:kw_window]},{name:"any_keyword",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with]},{name:"ident_extended",symbols:["ident"]},{name:"ident_extended",symbols:["any_keyword"]},{name:"select_statement$ebnf$1",symbols:["select_from"],postprocess:l},{name:"select_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$2",symbols:["select_where"],postprocess:l},{name:"select_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$3$subexpression$1$ebnf$1",symbols:["select_having"],postprocess:l},{name:"select_statement$ebnf$3$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$3$subexpression$1",symbols:["select_groupby","select_statement$ebnf$3$subexpression$1$ebnf$1"]},{name:"select_statement$ebnf$3",symbols:["select_statement$ebnf$3$subexpression$1"],postprocess:l},{name:"select_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$4",symbols:["select_order_by"],postprocess:l},{name:"select_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$5",symbols:["select_limit_offset"],postprocess:l},{name:"select_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$6$subexpression$1$ebnf$1",symbols:["select_skip"],postprocess:l},{name:"select_statement$ebnf$6$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_statement$ebnf$6$subexpression$1",symbols:["select_for","select_statement$ebnf$6$subexpression$1$ebnf$1"]},{name:"select_statement$ebnf$6",symbols:["select_statement$ebnf$6$subexpression$1"],postprocess:l},{name:"select_statement$ebnf$6",symbols:[],postprocess:()=>null},{name:"select_statement",symbols:["select_what","select_statement$ebnf$1","select_statement$ebnf$2","select_statement$ebnf$3","select_statement$ebnf$4","select_statement$ebnf$5","select_statement$ebnf$6"],postprocess:e=>{let[o,s,p,y,g,N,O]=e;s=t(s);let I=y&&y[0],F=y&&y[1];I=I&&(I.length===1&&I[0].type==="list"?I[0].expressions:I),F=F&&t(F);let j=O&&O[0],L=O&&O[1];return L=t(L),(0,a.track)(e,{...o,...s?{from:Array.isArray(s)?s:[s]}:{},...I?{groupBy:I}:{},...F?{having:F}:{},...N?{limit:t(N)}:{},...g?{orderBy:g}:{},...p?{where:p}:{},...j?{for:j[1]}:{},...L?{skip:L}:{},type:"select"})}},{name:"select_from",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"select_from_items"],postprocess:i},{name:"select_from_items$ebnf$1",symbols:[]},{name:"select_from_items$ebnf$1$subexpression$1",symbols:["comma","select_from_item"],postprocess:i},{name:"select_from_items$ebnf$1",symbols:["select_from_items$ebnf$1","select_from_items$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_from_items",symbols:["select_from_item","select_from_items$ebnf$1"],postprocess:([e,o])=>[...e,...n(o)||[]]},{name:"select_from_item",symbols:["select_from_subject"]},{name:"select_from_item",symbols:["select_from_item_joins"],postprocess:_(0)},{name:"select_from_item_joins$subexpression$1",symbols:["select_from_item"],postprocess:_(0)},{name:"select_from_item_joins",symbols:["select_from_item_joins$subexpression$1","select_table_join"],postprocess:n},{name:"select_from_item_joins",symbols:["lparen","select_from_item_joins","rparen"],postprocess:_(1)},{name:"select_from_subject",symbols:["stb_table"],postprocess:t},{name:"select_from_subject",symbols:["stb_statement"],postprocess:t},{name:"select_from_subject",symbols:["stb_call"],postprocess:t},{name:"stb_opts$ebnf$1",symbols:["collist_paren"],postprocess:l},{name:"stb_opts$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_opts",symbols:["ident_aliased","stb_opts$ebnf$1"],postprocess:e=>(0,a.track)(e,{alias:b(e[0]),...e[1]&&{columnNames:(0,a.unbox)(e[1]).map(u)}})},{name:"stb_table$ebnf$1",symbols:["stb_opts"],postprocess:l},{name:"stb_table$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_table",symbols:["table_ref","stb_table$ebnf$1"],postprocess:e=>(0,a.track)(e,{type:"table",name:(0,a.track)(e,{...e[0],...e[1]})})},{name:"stb_statement$ebnf$1",symbols:[r.lexerAny.has("kw_lateral")?{type:"kw_lateral"}:kw_lateral],postprocess:l},{name:"stb_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_statement",symbols:["stb_statement$ebnf$1","selection_paren","stb_opts"],postprocess:e=>(0,a.track)(e,{type:"statement",statement:t(e[1]),...e[0]&&{lateral:!0},...e[2]})},{name:"select_values",symbols:["kw_values","insert_values"],postprocess:e=>(0,a.track)(e,{type:"values",values:e[1]})},{name:"stb_call$ebnf$1",symbols:[r.lexerAny.has("kw_lateral")?{type:"kw_lateral"}:kw_lateral],postprocess:l},{name:"stb_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call$ebnf$2",symbols:["kw_withordinality"],postprocess:l},{name:"stb_call$ebnf$2",symbols:[],postprocess:()=>null},{name:"stb_call$ebnf$3",symbols:["stb_call_alias"],postprocess:l},{name:"stb_call$ebnf$3",symbols:[],postprocess:()=>null},{name:"stb_call",symbols:["stb_call$ebnf$1","expr_function_call","stb_call$ebnf$2","stb_call$ebnf$3"],postprocess:e=>{const o=e[0],s=e[2],p=e[3];return!s&&!p?e[1]:(0,a.track)(e,{...e[1],...o&&{lateral:!0},...s&&{withOrdinality:!0},alias:p?k(p[0],p[1]):void 0})}},{name:"stb_call_alias$subexpression$1$ebnf$1",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as],postprocess:l},{name:"stb_call_alias$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call_alias$subexpression$1",symbols:["stb_call_alias$subexpression$1$ebnf$1","ident"],postprocess:i},{name:"stb_call_alias$ebnf$1",symbols:["stb_call_alias_list"],postprocess:l},{name:"stb_call_alias$ebnf$1",symbols:[],postprocess:()=>null},{name:"stb_call_alias",symbols:["stb_call_alias$subexpression$1","stb_call_alias$ebnf$1"]},{name:"stb_call_alias_list",symbols:["lparen","stb_call_alias_list_raw","rparen"],postprocess:_(1)},{name:"stb_call_alias_list_raw$ebnf$1",symbols:[]},{name:"stb_call_alias_list_raw$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:i},{name:"stb_call_alias_list_raw$ebnf$1",symbols:["stb_call_alias_list_raw$ebnf$1","stb_call_alias_list_raw$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"stb_call_alias_list_raw",symbols:["ident","stb_call_alias_list_raw$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"select_table_join$ebnf$1",symbols:["select_table_join_clause"],postprocess:l},{name:"select_table_join$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_table_join",symbols:["select_join_op",r.lexerAny.has("kw_join")?{type:"kw_join"}:kw_join,"select_from_subject","select_table_join$ebnf$1"],postprocess:e=>(0,a.track)(e,{...t(e[2]),join:{type:b(e[0]," "),...e[3]&&t(e[3])}})},{name:"select_table_join_clause",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"expr"],postprocess:e=>(0,a.track)(e,{on:i(e)})},{name:"select_table_join_clause$macrocall$2",symbols:["ident"]},{name:"select_table_join_clause$macrocall$1$ebnf$1",symbols:[]},{name:"select_table_join_clause$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"select_table_join_clause$macrocall$2"],postprocess:i},{name:"select_table_join_clause$macrocall$1$ebnf$1",symbols:["select_table_join_clause$macrocall$1$ebnf$1","select_table_join_clause$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_table_join_clause$macrocall$1",symbols:["select_table_join_clause$macrocall$2","select_table_join_clause$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"select_table_join_clause",symbols:[r.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"lparen","select_table_join_clause$macrocall$1","rparen"],postprocess:e=>(0,a.track)(e,{using:e[2].map(u)})},{name:"select_join_op$subexpression$1$ebnf$1",symbols:[r.lexerAny.has("kw_inner")?{type:"kw_inner"}:kw_inner],postprocess:l},{name:"select_join_op$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$1",symbols:["select_join_op$subexpression$1$ebnf$1"],postprocess:e=>(0,a.box)(e,"INNER JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$1"]},{name:"select_join_op$subexpression$2",symbols:[r.lexerAny.has("kw_cross")?{type:"kw_cross"}:kw_cross],postprocess:e=>(0,a.box)(e,"CROSS JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$2"]},{name:"select_join_op$subexpression$3$ebnf$1",symbols:[r.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:l},{name:"select_join_op$subexpression$3$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$3",symbols:[r.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left,"select_join_op$subexpression$3$ebnf$1"],postprocess:e=>(0,a.box)(e,"LEFT JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$3"]},{name:"select_join_op$subexpression$4$ebnf$1",symbols:[r.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:l},{name:"select_join_op$subexpression$4$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$4",symbols:[r.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right,"select_join_op$subexpression$4$ebnf$1"],postprocess:e=>(0,a.box)(e,"RIGHT JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$4"]},{name:"select_join_op$subexpression$5$ebnf$1",symbols:[r.lexerAny.has("kw_outer")?{type:"kw_outer"}:kw_outer],postprocess:l},{name:"select_join_op$subexpression$5$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_join_op$subexpression$5",symbols:[r.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full,"select_join_op$subexpression$5$ebnf$1"],postprocess:e=>(0,a.box)(e,"FULL JOIN")},{name:"select_join_op",symbols:["select_join_op$subexpression$5"]},{name:"select_what$ebnf$1",symbols:["select_distinct"],postprocess:l},{name:"select_what$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_what$ebnf$2",symbols:["select_expr_list_aliased"],postprocess:l},{name:"select_what$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_what",symbols:[r.lexerAny.has("kw_select")?{type:"kw_select"}:kw_select,"select_what$ebnf$1","select_what$ebnf$2"],postprocess:e=>(0,a.track)(e,{columns:e[2],...e[1]&&{distinct:(0,a.unbox)(e[1])}})},{name:"select_expr_list_aliased$ebnf$1",symbols:[]},{name:"select_expr_list_aliased$ebnf$1$subexpression$1",symbols:["comma","select_expr_list_item"],postprocess:i},{name:"select_expr_list_aliased$ebnf$1",symbols:["select_expr_list_aliased$ebnf$1","select_expr_list_aliased$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_expr_list_aliased",symbols:["select_expr_list_item","select_expr_list_aliased$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"select_expr_list_item$ebnf$1",symbols:["ident_aliased"],postprocess:l},{name:"select_expr_list_item$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_expr_list_item",symbols:["expr","select_expr_list_item$ebnf$1"],postprocess:e=>(0,a.track)(e,{expr:e[0],...e[1]?{alias:u(e[1])}:{}})},{name:"select_distinct",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:e=>(0,a.box)(e,"all")},{name:"select_distinct$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"lparen","expr_list_raw","rparen"],postprocess:_(2)},{name:"select_distinct$ebnf$1",symbols:["select_distinct$ebnf$1$subexpression$1"],postprocess:l},{name:"select_distinct$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_distinct",symbols:[r.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct,"select_distinct$ebnf$1"],postprocess:e=>(0,a.box)(e,e[1]||"distinct")},{name:"select_where",symbols:[r.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:i},{name:"select_groupby",symbols:[r.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group,"kw_by","expr_list_raw"],postprocess:i},{name:"select_having",symbols:[r.lexerAny.has("kw_having")?{type:"kw_having"}:kw_having,"expr"],postprocess:i},{name:"select_limit_offset$ebnf$1$subexpression$1",symbols:["select_offset"]},{name:"select_limit_offset$ebnf$1$subexpression$1",symbols:["select_limit"]},{name:"select_limit_offset$ebnf$1",symbols:["select_limit_offset$ebnf$1$subexpression$1"]},{name:"select_limit_offset$ebnf$1$subexpression$2",symbols:["select_offset"]},{name:"select_limit_offset$ebnf$1$subexpression$2",symbols:["select_limit"]},{name:"select_limit_offset$ebnf$1",symbols:["select_limit_offset$ebnf$1","select_limit_offset$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"select_limit_offset",symbols:["select_limit_offset$ebnf$1"],postprocess:(e,o)=>{const s=t(e);if(!Array.isArray(s))return(0,a.track)(e,s);if(s.length!=2)return o;const p=t(s[0]),y=t(s[1]);return p.offset&&y.offset||p.limit&&y.limit?o:(0,a.track)(e,{...p,...y})}},{name:"select_offset$ebnf$1$subexpression$1",symbols:["kw_row"]},{name:"select_offset$ebnf$1$subexpression$1",symbols:["kw_rows"]},{name:"select_offset$ebnf$1",symbols:["select_offset$ebnf$1$subexpression$1"],postprocess:l},{name:"select_offset$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_offset",symbols:[r.lexerAny.has("kw_offset")?{type:"kw_offset"}:kw_offset,"expr_nostar","select_offset$ebnf$1"],postprocess:e=>(0,a.track)(e,{offset:t(e[1])})},{name:"select_limit$subexpression$1",symbols:["select_limit_1"]},{name:"select_limit$subexpression$1",symbols:["select_limit_2"]},{name:"select_limit",symbols:["select_limit$subexpression$1"],postprocess:e=>(0,a.track)(e,{limit:t(e)})},{name:"select_limit_1",symbols:[r.lexerAny.has("kw_limit")?{type:"kw_limit"}:kw_limit,"expr_nostar"],postprocess:i},{name:"select_limit_2$ebnf$1$subexpression$1",symbols:["kw_first"]},{name:"select_limit_2$ebnf$1$subexpression$1",symbols:["kw_next"]},{name:"select_limit_2$ebnf$1",symbols:["select_limit_2$ebnf$1$subexpression$1"],postprocess:l},{name:"select_limit_2$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_limit_2$subexpression$1",symbols:["kw_row"]},{name:"select_limit_2$subexpression$1",symbols:["kw_rows"]},{name:"select_limit_2",symbols:[r.lexerAny.has("kw_fetch")?{type:"kw_fetch"}:kw_fetch,"select_limit_2$ebnf$1","expr_nostar","select_limit_2$subexpression$1",r.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only],postprocess:_(2)},{name:"select_for$subexpression$1",symbols:["kw_update"],postprocess:e=>(0,a.track)(e,{type:"update"})},{name:"select_for$subexpression$1",symbols:["kw_no","kw_key","kw_update"],postprocess:e=>(0,a.track)(e,{type:"no key update"})},{name:"select_for$subexpression$1",symbols:["kw_share"],postprocess:e=>(0,a.track)(e,{type:"share"})},{name:"select_for$subexpression$1",symbols:["kw_key","kw_share"],postprocess:e=>(0,a.track)(e,{type:"key share"})},{name:"select_for",symbols:[r.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"select_for$subexpression$1"]},{name:"select_skip$subexpression$1",symbols:["kw_nowait"],postprocess:e=>(0,a.track)(e,{type:"nowait"})},{name:"select_skip$subexpression$1",symbols:["kw_skip","kw_locked"],postprocess:e=>(0,a.track)(e,{type:"skip locked"})},{name:"select_skip",symbols:["select_skip$subexpression$1"]},{name:"select_order_by$subexpression$1",symbols:[r.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order,"kw_by"]},{name:"select_order_by$ebnf$1",symbols:[]},{name:"select_order_by$ebnf$1$subexpression$1",symbols:["comma","select_order_by_expr"],postprocess:i},{name:"select_order_by$ebnf$1",symbols:["select_order_by$ebnf$1","select_order_by$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"select_order_by",symbols:["select_order_by$subexpression$1","select_order_by_expr","select_order_by$ebnf$1"],postprocess:([e,o,s])=>[o,...s||[]]},{name:"select_order_by_expr$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"select_order_by_expr$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"select_order_by_expr$ebnf$1",symbols:["select_order_by_expr$ebnf$1$subexpression$1"],postprocess:l},{name:"select_order_by_expr$ebnf$1",symbols:[],postprocess:()=>null},{name:"select_order_by_expr$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_first"]},{name:"select_order_by_expr$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_last"]},{name:"select_order_by_expr$ebnf$2$subexpression$1",symbols:["kw_nulls","select_order_by_expr$ebnf$2$subexpression$1$subexpression$1"],postprocess:i},{name:"select_order_by_expr$ebnf$2",symbols:["select_order_by_expr$ebnf$2$subexpression$1"],postprocess:l},{name:"select_order_by_expr$ebnf$2",symbols:[],postprocess:()=>null},{name:"select_order_by_expr",symbols:["expr","select_order_by_expr$ebnf$1","select_order_by_expr$ebnf$2"],postprocess:e=>(0,a.track)(e,{by:e[0],...e[1]&&{order:b(e[1]).toUpperCase()},...e[2]&&{nulls:b(e[2]).toUpperCase()}})},{name:"expr",symbols:["expr_nostar"],postprocess:t},{name:"expr",symbols:["expr_star"],postprocess:t},{name:"expr_nostar",symbols:["expr_paren"],postprocess:t},{name:"expr_nostar",symbols:["expr_or"],postprocess:t},{name:"expr_paren$subexpression$1",symbols:["expr_or_select"]},{name:"expr_paren$subexpression$1",symbols:["expr_list_many"]},{name:"expr_paren",symbols:["lparen","expr_paren$subexpression$1","rparen"],postprocess:_(1)},{name:"expr_or$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or]},{name:"expr_or$macrocall$2$macrocall$1",symbols:["expr_or$macrocall$2$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_or$macrocall$2",symbols:["expr_or$macrocall$2$macrocall$1"]},{name:"expr_or$macrocall$3",symbols:["expr_or"]},{name:"expr_or$macrocall$4",symbols:["expr_and"]},{name:"expr_or$macrocall$1$subexpression$1",symbols:["expr_or$macrocall$3"]},{name:"expr_or$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_or$macrocall$1$subexpression$2",symbols:["expr_or$macrocall$4"]},{name:"expr_or$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_or$macrocall$1",symbols:["expr_or$macrocall$1$subexpression$1","expr_or$macrocall$2","expr_or$macrocall$1$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"binary",left:t(e[0]),right:t(e[2]),...t(e[1])})},{name:"expr_or$macrocall$1",symbols:["expr_or$macrocall$4"],postprocess:t},{name:"expr_or",symbols:["expr_or$macrocall$1"]},{name:"expr_and$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"expr_and$macrocall$2$macrocall$1",symbols:["expr_and$macrocall$2$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_and$macrocall$2",symbols:["expr_and$macrocall$2$macrocall$1"]},{name:"expr_and$macrocall$3",symbols:["expr_and"]},{name:"expr_and$macrocall$4",symbols:["expr_not"]},{name:"expr_and$macrocall$1$subexpression$1",symbols:["expr_and$macrocall$3"]},{name:"expr_and$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_and$macrocall$1$subexpression$2",symbols:["expr_and$macrocall$4"]},{name:"expr_and$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_and$macrocall$1",symbols:["expr_and$macrocall$1$subexpression$1","expr_and$macrocall$2","expr_and$macrocall$1$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"binary",left:t(e[0]),right:t(e[2]),...t(e[1])})},{name:"expr_and$macrocall$1",symbols:["expr_and$macrocall$4"],postprocess:t},{name:"expr_and",symbols:["expr_and$macrocall$1"]},{name:"expr_not$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not]},{name:"expr_not$macrocall$2$macrocall$1",symbols:["expr_not$macrocall$2$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_not$macrocall$2",symbols:["expr_not$macrocall$2$macrocall$1"]},{name:"expr_not$macrocall$3",symbols:["expr_not"]},{name:"expr_not$macrocall$4",symbols:["expr_eq"]},{name:"expr_not$macrocall$1$subexpression$1",symbols:["expr_not$macrocall$3"]},{name:"expr_not$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_not$macrocall$1",symbols:["expr_not$macrocall$2","expr_not$macrocall$1$subexpression$1"],postprocess:e=>(0,a.track)(e,{type:"unary",...t(e[0]),operand:t(e[1])})},{name:"expr_not$macrocall$1",symbols:["expr_not$macrocall$4"],postprocess:t},{name:"expr_not",symbols:["expr_not$macrocall$1"]},{name:"expr_eq$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq]},{name:"expr_eq$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_neq")?{type:"op_neq"}:op_neq]},{name:"expr_eq$macrocall$2$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_eq$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$2"]},{name:"expr_eq$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_eq$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_eq$macrocall$2$macrocall$1",symbols:["expr_eq$macrocall$2$macrocall$1$macrocall$1"],postprocess:t},{name:"expr_eq$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_eq$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,a.track)(e,{op:(b(e[4]," ")||"<error>").toUpperCase(),opSchema:b(e[2])})},{name:"expr_eq$macrocall$2",symbols:["expr_eq$macrocall$2$macrocall$1"]},{name:"expr_eq$macrocall$3",symbols:["expr_eq"]},{name:"expr_eq$macrocall$4",symbols:["expr_is"]},{name:"expr_eq$macrocall$1$subexpression$1",symbols:["expr_eq$macrocall$3"]},{name:"expr_eq$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_eq$macrocall$1$subexpression$2",symbols:["expr_eq$macrocall$4"]},{name:"expr_eq$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_eq$macrocall$1",symbols:["expr_eq$macrocall$1$subexpression$1","expr_eq$macrocall$2","expr_eq$macrocall$1$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"binary",left:t(e[0]),right:t(e[2]),...t(e[1])})},{name:"expr_eq$macrocall$1",symbols:["expr_eq$macrocall$4"],postprocess:t},{name:"expr_eq",symbols:["expr_eq$macrocall$1"]},{name:"expr_star",symbols:["star"],postprocess:e=>(0,a.track)(e,{type:"ref",name:"*"})},{name:"expr_is$subexpression$1",symbols:["expr_is"]},{name:"expr_is$subexpression$1",symbols:["expr_paren"]},{name:"expr_is$subexpression$2",symbols:[r.lexerAny.has("kw_isnull")?{type:"kw_isnull"}:kw_isnull]},{name:"expr_is$subexpression$2",symbols:[r.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"expr_is",symbols:["expr_is$subexpression$1","expr_is$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"unary",op:"IS NULL",operand:t(e[0])})},{name:"expr_is$subexpression$3",symbols:["expr_is"]},{name:"expr_is$subexpression$3",symbols:["expr_paren"]},{name:"expr_is$subexpression$4",symbols:[r.lexerAny.has("kw_notnull")?{type:"kw_notnull"}:kw_notnull]},{name:"expr_is$subexpression$4",symbols:[r.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"kw_not_null"]},{name:"expr_is",symbols:["expr_is$subexpression$3","expr_is$subexpression$4"],postprocess:e=>(0,a.track)(e,{type:"unary",op:"IS NOT NULL",operand:t(e[0])})},{name:"expr_is$subexpression$5",symbols:["expr_is"]},{name:"expr_is$subexpression$5",symbols:["expr_paren"]},{name:"expr_is$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"expr_is$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_is$subexpression$6",symbols:[r.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"expr_is$subexpression$6",symbols:[r.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"expr_is",symbols:["expr_is$subexpression$5",r.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"expr_is$ebnf$1","expr_is$subexpression$6"],postprocess:e=>(0,a.track)(e,{type:"unary",op:"IS "+$([e[2],e[3]]).join(" ").toUpperCase(),operand:t(e[0])})},{name:"expr_is",symbols:["expr_compare"],postprocess:t},{name:"expr_compare$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("op_compare")?{type:"op_compare"}:op_compare]},{name:"expr_compare$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_compare$macrocall$2$macrocall$2"]},{name:"expr_compare$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_compare$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_compare$macrocall$2$macrocall$1",symbols:["expr_compare$macrocall$2$macrocall$1$macrocall$1"],postprocess:t},{name:"expr_compare$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_compare$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,a.track)(e,{op:(b(e[4]," ")||"<error>").toUpperCase(),opSchema:b(e[2])})},{name:"expr_compare$macrocall$2",symbols:["expr_compare$macrocall$2$macrocall$1"]},{name:"expr_compare$macrocall$3",symbols:["expr_compare"]},{name:"expr_compare$macrocall$4",symbols:["expr_range"]},{name:"expr_compare$macrocall$1$subexpression$1",symbols:["expr_compare$macrocall$3"]},{name:"expr_compare$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_compare$macrocall$1$subexpression$2",symbols:["expr_compare$macrocall$4"]},{name:"expr_compare$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_compare$macrocall$1",symbols:["expr_compare$macrocall$1$subexpression$1","expr_compare$macrocall$2","expr_compare$macrocall$1$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"binary",left:t(e[0]),right:t(e[2]),...t(e[1])})},{name:"expr_compare$macrocall$1",symbols:["expr_compare$macrocall$4"],postprocess:t},{name:"expr_compare",symbols:["expr_compare$macrocall$1"]},{name:"expr_range$macrocall$2",symbols:["ops_between"]},{name:"expr_range$macrocall$3",symbols:[r.lexerAny.has("kw_and")?{type:"kw_and"}:kw_and]},{name:"expr_range$macrocall$4",symbols:["expr_range"]},{name:"expr_range$macrocall$5",symbols:["expr_others"]},{name:"expr_range$macrocall$1$subexpression$1",symbols:["expr_range$macrocall$4"]},{name:"expr_range$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_range$macrocall$1$subexpression$2",symbols:["expr_range$macrocall$4"]},{name:"expr_range$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_range$macrocall$1$subexpression$3",symbols:["expr_range$macrocall$5"]},{name:"expr_range$macrocall$1$subexpression$3",symbols:["expr_paren"]},{name:"expr_range$macrocall$1",symbols:["expr_range$macrocall$1$subexpression$1","expr_range$macrocall$2","expr_range$macrocall$1$subexpression$2","expr_range$macrocall$3","expr_range$macrocall$1$subexpression$3"],postprocess:e=>(0,a.track)(e,{type:"ternary",value:t(e[0]),lo:t(e[2]),hi:t(e[4]),op:($(e[1]).join(" ")||"<error>").toUpperCase()})},{name:"expr_range$macrocall$1",symbols:["expr_range$macrocall$5"],postprocess:t},{name:"expr_range",symbols:["expr_range$macrocall$1"]},{name:"expr_others$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("ops_others")?{type:"ops_others"}:ops_others]},{name:"expr_others$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_others$macrocall$2$macrocall$2"]},{name:"expr_others$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_others$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_others$macrocall$2$macrocall$1",symbols:["expr_others$macrocall$2$macrocall$1$macrocall$1"],postprocess:t},{name:"expr_others$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_others$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,a.track)(e,{op:(b(e[4]," ")||"<error>").toUpperCase(),opSchema:b(e[2])})},{name:"expr_others$macrocall$2",symbols:["expr_others$macrocall$2$macrocall$1"]},{name:"expr_others$macrocall$3",symbols:["expr_others"]},{name:"expr_others$macrocall$4",symbols:["expr_like"]},{name:"expr_others$macrocall$1$subexpression$1",symbols:["expr_others$macrocall$3"]},{name:"expr_others$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_others$macrocall$1$subexpression$2",symbols:["expr_others$macrocall$4"]},{name:"expr_others$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_others$macrocall$1",symbols:["expr_others$macrocall$1$subexpression$1","expr_others$macrocall$2","expr_others$macrocall$1$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"binary",left:t(e[0]),right:t(e[2]),...t(e[1])})},{name:"expr_others$macrocall$1",symbols:["expr_others$macrocall$4"],postprocess:t},{name:"expr_others",symbols:["expr_others$macrocall$1"]},{name:"expr_like$macrocall$2$macrocall$2",symbols:["ops_like"]},{name:"expr_like$macrocall$2$macrocall$1",symbols:["expr_like$macrocall$2$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_like$macrocall$2",symbols:["expr_like$macrocall$2$macrocall$1"]},{name:"expr_like$macrocall$3",symbols:["expr_like"]},{name:"expr_like$macrocall$4",symbols:["expr_in"]},{name:"expr_like$macrocall$1$subexpression$1",symbols:["expr_like$macrocall$3"]},{name:"expr_like$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_like$macrocall$1$subexpression$2",symbols:["expr_like$macrocall$4"]},{name:"expr_like$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_like$macrocall$1",symbols:["expr_like$macrocall$1$subexpression$1","expr_like$macrocall$2","expr_like$macrocall$1$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"binary",left:t(e[0]),right:t(e[2]),...t(e[1])})},{name:"expr_like$macrocall$1",symbols:["expr_like$macrocall$4"],postprocess:t},{name:"expr_like",symbols:["expr_like$macrocall$1"]},{name:"expr_in$macrocall$2$macrocall$2",symbols:["ops_in"]},{name:"expr_in$macrocall$2$macrocall$1",symbols:["expr_in$macrocall$2$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_in$macrocall$2",symbols:["expr_in$macrocall$2$macrocall$1"]},{name:"expr_in$macrocall$3",symbols:["expr_in"]},{name:"expr_in$macrocall$4",symbols:["expr_add"]},{name:"expr_in$macrocall$1$subexpression$1",symbols:["expr_in$macrocall$3"]},{name:"expr_in$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_in$macrocall$1$subexpression$2",symbols:["expr_in$macrocall$4"]},{name:"expr_in$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_in$macrocall$1",symbols:["expr_in$macrocall$1$subexpression$1","expr_in$macrocall$2","expr_in$macrocall$1$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"binary",left:t(e[0]),right:t(e[2]),...t(e[1])})},{name:"expr_in$macrocall$1",symbols:["expr_in$macrocall$4"],postprocess:t},{name:"expr_in",symbols:["expr_in$macrocall$1"]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_plus")?{type:"op_plus"}:op_plus]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_minus")?{type:"op_minus"}:op_minus]},{name:"expr_add$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_additive")?{type:"op_additive"}:op_additive]},{name:"expr_add$macrocall$2$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_add$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$2"]},{name:"expr_add$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_add$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_add$macrocall$2$macrocall$1",symbols:["expr_add$macrocall$2$macrocall$1$macrocall$1"],postprocess:t},{name:"expr_add$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_add$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,a.track)(e,{op:(b(e[4]," ")||"<error>").toUpperCase(),opSchema:b(e[2])})},{name:"expr_add$macrocall$2",symbols:["expr_add$macrocall$2$macrocall$1"]},{name:"expr_add$macrocall$3",symbols:["expr_add"]},{name:"expr_add$macrocall$4",symbols:["expr_mult"]},{name:"expr_add$macrocall$1$subexpression$1",symbols:["expr_add$macrocall$3"]},{name:"expr_add$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_add$macrocall$1$subexpression$2",symbols:["expr_add$macrocall$4"]},{name:"expr_add$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_add$macrocall$1",symbols:["expr_add$macrocall$1$subexpression$1","expr_add$macrocall$2","expr_add$macrocall$1$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"binary",left:t(e[0]),right:t(e[2]),...t(e[1])})},{name:"expr_add$macrocall$1",symbols:["expr_add$macrocall$4"],postprocess:t},{name:"expr_add",symbols:["expr_add$macrocall$1"]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("star")?{type:"star"}:star]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_div")?{type:"op_div"}:op_div]},{name:"expr_mult$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_mod")?{type:"op_mod"}:op_mod]},{name:"expr_mult$macrocall$2$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_mult$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$2"]},{name:"expr_mult$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_mult$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_mult$macrocall$2$macrocall$1",symbols:["expr_mult$macrocall$2$macrocall$1$macrocall$1"],postprocess:t},{name:"expr_mult$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_mult$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,a.track)(e,{op:(b(e[4]," ")||"<error>").toUpperCase(),opSchema:b(e[2])})},{name:"expr_mult$macrocall$2",symbols:["expr_mult$macrocall$2$macrocall$1"]},{name:"expr_mult$macrocall$3",symbols:["expr_mult"]},{name:"expr_mult$macrocall$4",symbols:["expr_exp"]},{name:"expr_mult$macrocall$1$subexpression$1",symbols:["expr_mult$macrocall$3"]},{name:"expr_mult$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_mult$macrocall$1$subexpression$2",symbols:["expr_mult$macrocall$4"]},{name:"expr_mult$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_mult$macrocall$1",symbols:["expr_mult$macrocall$1$subexpression$1","expr_mult$macrocall$2","expr_mult$macrocall$1$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"binary",left:t(e[0]),right:t(e[2]),...t(e[1])})},{name:"expr_mult$macrocall$1",symbols:["expr_mult$macrocall$4"],postprocess:t},{name:"expr_mult",symbols:["expr_mult$macrocall$1"]},{name:"expr_exp$macrocall$2$macrocall$2",symbols:[r.lexerAny.has("op_exp")?{type:"op_exp"}:op_exp]},{name:"expr_exp$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_exp$macrocall$2$macrocall$2"]},{name:"expr_exp$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_exp$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_exp$macrocall$2$macrocall$1",symbols:["expr_exp$macrocall$2$macrocall$1$macrocall$1"],postprocess:t},{name:"expr_exp$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_exp$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,a.track)(e,{op:(b(e[4]," ")||"<error>").toUpperCase(),opSchema:b(e[2])})},{name:"expr_exp$macrocall$2",symbols:["expr_exp$macrocall$2$macrocall$1"]},{name:"expr_exp$macrocall$3",symbols:["expr_exp"]},{name:"expr_exp$macrocall$4",symbols:["expr_unary_add"]},{name:"expr_exp$macrocall$1$subexpression$1",symbols:["expr_exp$macrocall$3"]},{name:"expr_exp$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_exp$macrocall$1$subexpression$2",symbols:["expr_exp$macrocall$4"]},{name:"expr_exp$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_exp$macrocall$1",symbols:["expr_exp$macrocall$1$subexpression$1","expr_exp$macrocall$2","expr_exp$macrocall$1$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"binary",left:t(e[0]),right:t(e[2]),...t(e[1])})},{name:"expr_exp$macrocall$1",symbols:["expr_exp$macrocall$4"],postprocess:t},{name:"expr_exp",symbols:["expr_exp$macrocall$1"]},{name:"expr_unary_add$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_plus")?{type:"op_plus"}:op_plus]},{name:"expr_unary_add$macrocall$2$macrocall$2$subexpression$1",symbols:[r.lexerAny.has("op_minus")?{type:"op_minus"}:op_minus]},{name:"expr_unary_add$macrocall$2$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$2$subexpression$1"]},{name:"expr_unary_add$macrocall$2$macrocall$1$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$2"]},{name:"expr_unary_add$macrocall$2$macrocall$1$macrocall$1",symbols:["expr_unary_add$macrocall$2$macrocall$1$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_unary_add$macrocall$2$macrocall$1",symbols:["expr_unary_add$macrocall$2$macrocall$1$macrocall$1"],postprocess:t},{name:"expr_unary_add$macrocall$2$macrocall$1",symbols:["kw_operator","lparen","ident","dot","expr_unary_add$macrocall$2$macrocall$2","rparen"],postprocess:e=>(0,a.track)(e,{op:(b(e[4]," ")||"<error>").toUpperCase(),opSchema:b(e[2])})},{name:"expr_unary_add$macrocall$2",symbols:["expr_unary_add$macrocall$2$macrocall$1"]},{name:"expr_unary_add$macrocall$3",symbols:["expr_unary_add"]},{name:"expr_unary_add$macrocall$4",symbols:["expr_various_constructs"]},{name:"expr_unary_add$macrocall$1$subexpression$1",symbols:["expr_unary_add$macrocall$3"]},{name:"expr_unary_add$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_unary_add$macrocall$1",symbols:["expr_unary_add$macrocall$2","expr_unary_add$macrocall$1$subexpression$1"],postprocess:e=>(0,a.track)(e,{type:"unary",...t(e[0]),operand:t(e[1])})},{name:"expr_unary_add$macrocall$1",symbols:["expr_unary_add$macrocall$4"],postprocess:t},{name:"expr_unary_add",symbols:["expr_unary_add$macrocall$1"]},{name:"expr_various_constructs$macrocall$2$macrocall$2",symbols:["various_binaries"]},{name:"expr_various_constructs$macrocall$2$macrocall$1",symbols:["expr_various_constructs$macrocall$2$macrocall$2"],postprocess:e=>(0,a.track)(e,{op:(b(e," ")||"<error>").toUpperCase()})},{name:"expr_various_constructs$macrocall$2",symbols:["expr_various_constructs$macrocall$2$macrocall$1"]},{name:"expr_various_constructs$macrocall$3",symbols:["expr_various_constructs"]},{name:"expr_various_constructs$macrocall$4",symbols:["expr_array_index"]},{name:"expr_various_constructs$macrocall$1$subexpression$1",symbols:["expr_various_constructs$macrocall$3"]},{name:"expr_various_constructs$macrocall$1$subexpression$1",symbols:["expr_paren"]},{name:"expr_various_constructs$macrocall$1$subexpression$2",symbols:["expr_various_constructs$macrocall$4"]},{name:"expr_various_constructs$macrocall$1$subexpression$2",symbols:["expr_paren"]},{name:"expr_various_constructs$macrocall$1",symbols:["expr_various_constructs$macrocall$1$subexpression$1","expr_various_constructs$macrocall$2","expr_various_constructs$macrocall$1$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"binary",left:t(e[0]),right:t(e[2]),...t(e[1])})},{name:"expr_various_constructs$macrocall$1",symbols:["expr_various_constructs$macrocall$4"],postprocess:t},{name:"expr_various_constructs",symbols:["expr_various_constructs$macrocall$1"]},{name:"expr_array_index$subexpression$1",symbols:["expr_array_index"]},{name:"expr_array_index$subexpression$1",symbols:["expr_paren"]},{name:"expr_array_index",symbols:["expr_array_index$subexpression$1",r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_nostar",r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>(0,a.track)(e,{type:"arrayIndex",array:t(e[0]),index:t(e[2])})},{name:"expr_array_index",symbols:["expr_member"],postprocess:t},{name:"expr_member$subexpression$1",symbols:["expr_member"]},{name:"expr_member$subexpression$1",symbols:["expr_paren"]},{name:"expr_member$subexpression$2",symbols:["string"]},{name:"expr_member$subexpression$2",symbols:["int"]},{name:"expr_member",symbols:["expr_member$subexpression$1","ops_member","expr_member$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"member",operand:t(e[0]),op:e[1],member:t(e[2])})},{name:"expr_member$subexpression$3",symbols:["expr_member"]},{name:"expr_member$subexpression$3",symbols:["expr_paren"]},{name:"expr_member",symbols:["expr_member$subexpression$3",r.lexerAny.has("op_cast")?{type:"op_cast"}:op_cast,"data_type"],postprocess:e=>(0,a.track)(e,{type:"cast",operand:t(e[0]),to:e[2]})},{name:"expr_member",symbols:[r.lexerAny.has("kw_cast")?{type:"kw_cast"}:kw_cast,"lparen","expr_nostar",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"data_type","rparen"],postprocess:e=>(0,a.track)(e,{type:"cast",operand:t(e[2]),to:e[4]})},{name:"expr_member",symbols:["data_type","string"],postprocess:e=>(0,a.track)(e,{type:"cast",operand:(0,a.track)(e[1],{type:"string",value:(0,a.unbox)(e[1])}),to:(0,a.unbox)(e[0])})},{name:"expr_member",symbols:["expr_dot"],postprocess:t},{name:"expr_dot$subexpression$1",symbols:["word"]},{name:"expr_dot$subexpression$1",symbols:["star"]},{name:"expr_dot",symbols:["qname",r.lexerAny.has("dot")?{type:"dot"}:dot,"expr_dot$subexpression$1"],postprocess:e=>(0,a.track)(e,{type:"ref",table:t(e[0]),name:b(e[2])})},{name:"expr_dot",symbols:["expr_final"],postprocess:t},{name:"expr_final",symbols:["expr_basic"]},{name:"expr_final",symbols:["expr_primary"]},{name:"expr_basic",symbols:["expr_special_calls"]},{name:"expr_basic",symbols:["expr_call"]},{name:"expr_basic",symbols:["expr_array"]},{name:"expr_basic",symbols:["expr_case"]},{name:"expr_basic",symbols:["expr_extract"]},{name:"expr_basic",symbols:["word"],postprocess:e=>(0,a.track)(e,{type:"ref",name:t(e[0])})},{name:"expr_array$ebnf$1",symbols:["expr_subarray_items"],postprocess:l},{name:"expr_array$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_array",symbols:[r.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array,r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_array$ebnf$1",r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:e=>(0,a.track)(e,{type:"array",expressions:e[2]||[]})},{name:"expr_array",symbols:[r.lexerAny.has("kw_array")?{type:"kw_array"}:kw_array,"lparen","selection","rparen"],postprocess:e=>(0,a.track)(e,{type:"array select",select:t(e[2])})},{name:"expr_subarray$ebnf$1",symbols:["expr_subarray_items"],postprocess:l},{name:"expr_subarray$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_subarray",symbols:[r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket,"expr_subarray$ebnf$1",r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket],postprocess:_(1)},{name:"expr_subarray_items$macrocall$2",symbols:["expr_list_item"]},{name:"expr_subarray_items$macrocall$1$ebnf$1",symbols:[]},{name:"expr_subarray_items$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"expr_subarray_items$macrocall$2"],postprocess:i},{name:"expr_subarray_items$macrocall$1$ebnf$1",symbols:["expr_subarray_items$macrocall$1$ebnf$1","expr_subarray_items$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_subarray_items$macrocall$1",symbols:["expr_subarray_items$macrocall$2","expr_subarray_items$macrocall$1$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"expr_subarray_items",symbols:["expr_subarray_items$macrocall$1"],postprocess:e=>e[0].map(t)},{name:"expr_subarray_items$macrocall$4",symbols:["expr_subarray"]},{name:"expr_subarray_items$macrocall$3$ebnf$1",symbols:[]},{name:"expr_subarray_items$macrocall$3$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"expr_subarray_items$macrocall$4"],postprocess:i},{name:"expr_subarray_items$macrocall$3$ebnf$1",symbols:["expr_subarray_items$macrocall$3$ebnf$1","expr_subarray_items$macrocall$3$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_subarray_items$macrocall$3",symbols:["expr_subarray_items$macrocall$4","expr_subarray_items$macrocall$3$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"expr_subarray_items",symbols:["expr_subarray_items$macrocall$3"],postprocess:e=>e[0].map(o=>(0,a.track)(o,{type:"array",expressions:o[0].map(t)}))},{name:"expr_function_call$ebnf$1",symbols:["expr_list_raw"],postprocess:l},{name:"expr_function_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_function_call",symbols:["expr_fn_name","lparen","expr_function_call$ebnf$1","rparen"],postprocess:e=>(0,a.track)(e,{type:"call",function:t(e[0]),args:e[2]||[]})},{name:"expr_call$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"expr_call$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_distinct")?{type:"kw_distinct"}:kw_distinct]},{name:"expr_call$ebnf$1",symbols:["expr_call$ebnf$1$subexpression$1"],postprocess:l},{name:"expr_call$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$2",symbols:["expr_list_raw"],postprocess:l},{name:"expr_call$ebnf$2",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$3",symbols:["select_order_by"],postprocess:l},{name:"expr_call$ebnf$3",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$4$subexpression$1",symbols:["kw_filter","lparen",r.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr","rparen"],postprocess:_(3)},{name:"expr_call$ebnf$4",symbols:["expr_call$ebnf$4$subexpression$1"],postprocess:l},{name:"expr_call$ebnf$4",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$5",symbols:["expr_call_within_group"],postprocess:l},{name:"expr_call$ebnf$5",symbols:[],postprocess:()=>null},{name:"expr_call$ebnf$6",symbols:["expr_call_over"],postprocess:l},{name:"expr_call$ebnf$6",symbols:[],postprocess:()=>null},{name:"expr_call",symbols:["expr_fn_name","lparen","expr_call$ebnf$1","expr_call$ebnf$2","expr_call$ebnf$3","rparen","expr_call$ebnf$4","expr_call$ebnf$5","expr_call$ebnf$6"],postprocess:e=>(0,a.track)(e,{type:"call",function:t(e[0]),...e[2]&&{distinct:b(e[2])},args:e[3]||[],...e[4]&&{orderBy:e[4]},...e[6]&&{filter:t(e[6])},...e[7]&&{withinGroup:e[7]},...e[8]&&{over:t(e[8])}})},{name:"expr_call_over$ebnf$1$subexpression$1",symbols:["kw_partition","kw_by","expr_list_raw"],postprocess:i},{name:"expr_call_over$ebnf$1",symbols:["expr_call_over$ebnf$1$subexpression$1"],postprocess:l},{name:"expr_call_over$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_call_over$ebnf$2",symbols:["select_order_by"],postprocess:l},{name:"expr_call_over$ebnf$2",symbols:[],postprocess:()=>null},{name:"expr_call_over",symbols:["kw_over","lparen","expr_call_over$ebnf$1","expr_call_over$ebnf$2","rparen"],postprocess:e=>(0,a.track)(e,{...e[2]&&{partitionBy:e[2]},...e[3]&&{orderBy:e[3]}})},{name:"expr_call_within_group$subexpression$1",symbols:["kw_within",r.lexerAny.has("kw_group")?{type:"kw_group"}:kw_group]},{name:"expr_call_within_group$subexpression$2",symbols:[r.lexerAny.has("kw_order")?{type:"kw_order"}:kw_order,"kw_by"]},{name:"expr_call_within_group",symbols:["expr_call_within_group$subexpression$1","lparen","expr_call_within_group$subexpression$2","select_order_by_expr","rparen"],postprocess:e=>(0,a.track)(e,e[3])},{name:"expr_extract$subexpression$1",symbols:["word"],postprocess:w("extract")},{name:"expr_extract",symbols:["expr_extract$subexpression$1","lparen","word",r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr","rparen"],postprocess:e=>(0,a.track)(e,{type:"extract",field:u(e[2]),from:e[4]})},{name:"expr_primary",symbols:["float"],postprocess:e=>(0,a.track)(e,{type:"numeric",value:(0,a.unbox)(e[0])})},{name:"expr_primary",symbols:["int"],postprocess:e=>(0,a.track)(e,{type:"integer",value:(0,a.unbox)(e[0])})},{name:"expr_primary",symbols:["string"],postprocess:e=>(0,a.track)(e,{type:"string",value:(0,a.unbox)(e[0])})},{name:"expr_primary",symbols:[r.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true],postprocess:e=>(0,a.track)(e,{type:"boolean",value:!0})},{name:"expr_primary",symbols:[r.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false],postprocess:e=>(0,a.track)(e,{type:"boolean",value:!1})},{name:"expr_primary",symbols:[r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null],postprocess:e=>(0,a.track)(e,{type:"null"})},{name:"expr_primary",symbols:["value_keyword"],postprocess:e=>(0,a.track)(e,{type:"keyword",keyword:b(e)})},{name:"expr_primary",symbols:[r.lexerAny.has("qparam")?{type:"qparam"}:qparam],postprocess:e=>(0,a.track)(e,{type:"parameter",name:b(e[0])})},{name:"expr_primary",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,a.track)(e,{type:"default"})},{name:"ops_like",symbols:["ops_like_keywors"]},{name:"ops_like",symbols:["ops_like_operators"]},{name:"ops_like_keywors$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"ops_like_keywors$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_like_keywors$subexpression$1",symbols:[r.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like]},{name:"ops_like_keywors$subexpression$1",symbols:[r.lexerAny.has("kw_ilike")?{type:"kw_ilike"}:kw_ilike]},{name:"ops_like_keywors",symbols:["ops_like_keywors$ebnf$1","ops_like_keywors$subexpression$1"]},{name:"ops_like_operators$subexpression$1",symbols:[r.lexerAny.has("op_like")?{type:"op_like"}:op_like],postprocess:()=>"LIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$1"]},{name:"ops_like_operators$subexpression$2",symbols:[r.lexerAny.has("op_ilike")?{type:"op_ilike"}:op_ilike],postprocess:()=>"ILIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$2"]},{name:"ops_like_operators$subexpression$3",symbols:[r.lexerAny.has("op_not_like")?{type:"op_not_like"}:op_not_like],postprocess:()=>"NOT LIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$3"]},{name:"ops_like_operators$subexpression$4",symbols:[r.lexerAny.has("op_not_ilike")?{type:"op_not_ilike"}:op_not_ilike],postprocess:()=>"NOT ILIKE"},{name:"ops_like_operators",symbols:["ops_like_operators$subexpression$4"]},{name:"ops_in$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"ops_in$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_in",symbols:["ops_in$ebnf$1",r.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"ops_between$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"ops_between$ebnf$1",symbols:[],postprocess:()=>null},{name:"ops_between",symbols:["ops_between$ebnf$1","kw_between"]},{name:"ops_member$subexpression$1",symbols:[r.lexerAny.has("op_member")?{type:"op_member"}:op_member]},{name:"ops_member$subexpression$1",symbols:[r.lexerAny.has("op_membertext")?{type:"op_membertext"}:op_membertext]},{name:"ops_member",symbols:["ops_member$subexpression$1"],postprocess:e=>{var o;return(o=t(e))===null||o===void 0?void 0:o.value}},{name:"expr_list_item",symbols:["expr_or_select"],postprocess:t},{name:"expr_list_item",symbols:["expr_star"],postprocess:t},{name:"expr_list_raw$macrocall$2",symbols:["expr_list_item"]},{name:"expr_list_raw$macrocall$1$ebnf$1",symbols:[]},{name:"expr_list_raw$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw$macrocall$2"],postprocess:i},{name:"expr_list_raw$macrocall$1$ebnf$1",symbols:["expr_list_raw$macrocall$1$ebnf$1","expr_list_raw$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_list_raw$macrocall$1",symbols:["expr_list_raw$macrocall$2","expr_list_raw$macrocall$1$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"expr_list_raw",symbols:["expr_list_raw$macrocall$1"],postprocess:([e])=>e.map(t)},{name:"expr_list_raw_many$macrocall$2",symbols:["expr_list_item"]},{name:"expr_list_raw_many$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw_many$macrocall$2"],postprocess:i},{name:"expr_list_raw_many$macrocall$1$ebnf$1",symbols:["expr_list_raw_many$macrocall$1$ebnf$1$subexpression$1"]},{name:"expr_list_raw_many$macrocall$1$ebnf$1$subexpression$2",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"expr_list_raw_many$macrocall$2"],postprocess:i},{name:"expr_list_raw_many$macrocall$1$ebnf$1",symbols:["expr_list_raw_many$macrocall$1$ebnf$1","expr_list_raw_many$macrocall$1$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_list_raw_many$macrocall$1",symbols:["expr_list_raw_many$macrocall$2","expr_list_raw_many$macrocall$1$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"expr_list_raw_many",symbols:["expr_list_raw_many$macrocall$1"],postprocess:([e])=>e.map(t)},{name:"expr_or_select",symbols:["expr_nostar"],postprocess:t},{name:"expr_or_select",symbols:["selection"],postprocess:t},{name:"expr_list_many",symbols:["expr_list_raw_many"],postprocess:e=>(0,a.track)(e,{type:"list",expressions:e[0]})},{name:"expr_case$ebnf$1",symbols:["expr_nostar"],postprocess:l},{name:"expr_case$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_case$ebnf$2",symbols:[]},{name:"expr_case$ebnf$2",symbols:["expr_case$ebnf$2","expr_case_whens"],postprocess:e=>e[0].concat([e[1]])},{name:"expr_case$ebnf$3",symbols:["expr_case_else"],postprocess:l},{name:"expr_case$ebnf$3",symbols:[],postprocess:()=>null},{name:"expr_case",symbols:[r.lexerAny.has("kw_case")?{type:"kw_case"}:kw_case,"expr_case$ebnf$1","expr_case$ebnf$2","expr_case$ebnf$3",r.lexerAny.has("kw_end")?{type:"kw_end"}:kw_end],postprocess:e=>(0,a.track)(e,{type:"case",value:e[1],whens:e[2],else:e[3]})},{name:"expr_case_whens",symbols:[r.lexerAny.has("kw_when")?{type:"kw_when"}:kw_when,"expr_nostar",r.lexerAny.has("kw_then")?{type:"kw_then"}:kw_then,"expr_nostar"],postprocess:e=>(0,a.track)(e,{when:e[1],value:e[3]})},{name:"expr_case_else",symbols:[r.lexerAny.has("kw_else")?{type:"kw_else"}:kw_else,"expr_nostar"],postprocess:i},{name:"expr_fn_name$subexpression$1$ebnf$1$subexpression$1",symbols:["word",r.lexerAny.has("dot")?{type:"dot"}:dot]},{name:"expr_fn_name$subexpression$1$ebnf$1",symbols:["expr_fn_name$subexpression$1$ebnf$1$subexpression$1"],postprocess:l},{name:"expr_fn_name$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"expr_fn_name$subexpression$1",symbols:["expr_fn_name$subexpression$1$ebnf$1","word_or_keyword"],postprocess:e=>(0,a.track)(e,{name:(0,a.unbox)(t(e[1])),...e[0]&&{schema:b(e[0][0])}})},{name:"expr_fn_name",symbols:["expr_fn_name$subexpression$1"]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[r.lexerAny.has("kw_any")?{type:"kw_any"}:kw_any]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[r.lexerAny.has("kw_some")?{type:"kw_some"}:kw_some]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[r.lexerAny.has("kw_left")?{type:"kw_left"}:kw_left]},{name:"expr_fn_name$subexpression$2$subexpression$1",symbols:[r.lexerAny.has("kw_right")?{type:"kw_right"}:kw_right]},{name:"expr_fn_name$subexpression$2",symbols:["expr_fn_name$subexpression$2$subexpression$1"],postprocess:e=>(0,a.track)(e,{name:b(t(e))})},{name:"expr_fn_name",symbols:["expr_fn_name$subexpression$2"]},{name:"word_or_keyword",symbols:["word"]},{name:"word_or_keyword",symbols:["value_keyword"],postprocess:e=>(0,a.box)(e,b(e))},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_catalog")?{type:"kw_current_catalog"}:kw_current_catalog]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_date")?{type:"kw_current_date"}:kw_current_date]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_role")?{type:"kw_current_role"}:kw_current_role]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_schema")?{type:"kw_current_schema"}:kw_current_schema]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_timestamp")?{type:"kw_current_timestamp"}:kw_current_timestamp]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_time")?{type:"kw_current_time"}:kw_current_time]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_localtimestamp")?{type:"kw_localtimestamp"}:kw_localtimestamp]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_localtime")?{type:"kw_localtime"}:kw_localtime]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"value_keyword",symbols:[r.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"expr_special_calls",symbols:["spe_overlay"]},{name:"expr_special_calls",symbols:["spe_substring"]},{name:"spe_overlay$subexpression$1",symbols:["word"],postprocess:w("overlay")},{name:"spe_overlay$subexpression$2",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen,"expr_nostar"]},{name:"spe_overlay$subexpression$3",symbols:[r.lexerAny.has("kw_placing")?{type:"kw_placing"}:kw_placing,"expr_nostar"]},{name:"spe_overlay$subexpression$4",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr_nostar"]},{name:"spe_overlay$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"expr_nostar"]},{name:"spe_overlay$ebnf$1",symbols:["spe_overlay$ebnf$1$subexpression$1"],postprocess:l},{name:"spe_overlay$ebnf$1",symbols:[],postprocess:()=>null},{name:"spe_overlay",symbols:["spe_overlay$subexpression$1","spe_overlay$subexpression$2","spe_overlay$subexpression$3","spe_overlay$subexpression$4","spe_overlay$ebnf$1",r.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>(0,a.track)(e,{type:"overlay",value:e[1][1],placing:e[2][1],from:e[3][1],...e[4]&&{for:e[4][1]}})},{name:"spe_substring$subexpression$1",symbols:["word"],postprocess:w("substring")},{name:"spe_substring$subexpression$2",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen,"expr_nostar"]},{name:"spe_substring$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"expr_nostar"]},{name:"spe_substring$ebnf$1",symbols:["spe_substring$ebnf$1$subexpression$1"],postprocess:l},{name:"spe_substring$ebnf$1",symbols:[],postprocess:()=>null},{name:"spe_substring$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("kw_for")?{type:"kw_for"}:kw_for,"expr_nostar"]},{name:"spe_substring$ebnf$2",symbols:["spe_substring$ebnf$2$subexpression$1"],postprocess:l},{name:"spe_substring$ebnf$2",symbols:[],postprocess:()=>null},{name:"spe_substring",symbols:["spe_substring$subexpression$1","spe_substring$subexpression$2","spe_substring$ebnf$1","spe_substring$ebnf$2",r.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:e=>(0,a.track)(e,{type:"substring",value:e[1][1],...e[2]&&{from:e[2][1]},...e[3]&&{for:e[3][1]}})},{name:"various_binaries",symbols:["kw_at","kw_time","kw_zone"],postprocess:()=>"AT TIME ZONE"},{name:"createtable_statement$ebnf$1",symbols:["createtable_modifiers"],postprocess:l},{name:"createtable_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:l},{name:"createtable_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createtable_statement$ebnf$3",symbols:["createtable_opts"],postprocess:l},{name:"createtable_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createtable_statement",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"createtable_statement$ebnf$1",r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"createtable_statement$ebnf$2","qname","lparen","createtable_declarationlist","rparen","createtable_statement$ebnf$3"],postprocess:e=>{const o=e[6].filter(p=>"kind"in p),s=e[6].filter(p=>!("kind"in p));return(0,a.track)(e,{type:"create table",...e[3]?{ifNotExists:!0}:{},name:e[4],columns:o,...t(e[1]),...s.length?{constraints:s}:{},...i(e)})}},{name:"createtable_modifiers",symbols:["kw_unlogged"],postprocess:e=>e[0]?{unlogged:!0}:{}},{name:"createtable_modifiers",symbols:["m_locglob"]},{name:"createtable_modifiers",symbols:["m_tmp"]},{name:"createtable_modifiers",symbols:["m_locglob","m_tmp"],postprocess:([e,o])=>({...e,...o})},{name:"m_locglob$subexpression$1",symbols:["kw_local"]},{name:"m_locglob$subexpression$1",symbols:["kw_global"]},{name:"m_locglob",symbols:["m_locglob$subexpression$1"],postprocess:e=>({locality:b(e)})},{name:"m_tmp$subexpression$1",symbols:["kw_temp"]},{name:"m_tmp$subexpression$1",symbols:["kw_temporary"]},{name:"m_tmp",symbols:["m_tmp$subexpression$1"],postprocess:e=>({temporary:!0})},{name:"createtable_declarationlist$ebnf$1",symbols:[]},{name:"createtable_declarationlist$ebnf$1$subexpression$1",symbols:["comma","createtable_declaration"],postprocess:i},{name:"createtable_declarationlist$ebnf$1",symbols:["createtable_declarationlist$ebnf$1","createtable_declarationlist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_declarationlist",symbols:["createtable_declaration","createtable_declarationlist$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_constraint"]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_column"]},{name:"createtable_declaration$subexpression$1",symbols:["createtable_like"]},{name:"createtable_declaration",symbols:["createtable_declaration$subexpression$1"],postprocess:t},{name:"createtable_constraint$macrocall$2",symbols:["createtable_constraint_def"]},{name:"createtable_constraint$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"word"]},{name:"createtable_constraint$macrocall$1$ebnf$1",symbols:["createtable_constraint$macrocall$1$ebnf$1$subexpression$1"],postprocess:l},{name:"createtable_constraint$macrocall$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_constraint$macrocall$1",symbols:["createtable_constraint$macrocall$1$ebnf$1","createtable_constraint$macrocall$2"],postprocess:e=>{const o=e[0]&&u(e[0][1]);return o?(0,a.track)(e,{constraintName:o,...t(e[1])}):(0,a.track)(e,t(e[1]))}},{name:"createtable_constraint",symbols:["createtable_constraint$macrocall$1"],postprocess:t},{name:"createtable_constraint_def",symbols:["createtable_constraint_def_unique"]},{name:"createtable_constraint_def",symbols:["createtable_constraint_def_check"]},{name:"createtable_constraint_def",symbols:["createtable_constraint_foreignkey"]},{name:"createtable_constraint_def_unique$subexpression$1",symbols:[r.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique]},{name:"createtable_constraint_def_unique$subexpression$1",symbols:["kw_primary_key"]},{name:"createtable_constraint_def_unique",symbols:["createtable_constraint_def_unique$subexpression$1","lparen","createtable_collist","rparen"],postprocess:e=>(0,a.track)(e,{type:b(e[0]," "),columns:e[2].map(u)})},{name:"createtable_constraint_def_check",symbols:[r.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"expr_paren"],postprocess:e=>(0,a.track)(e,{type:"check",expr:t(e[1])})},{name:"createtable_constraint_foreignkey",symbols:[r.lexerAny.has("kw_foreign")?{type:"kw_foreign"}:kw_foreign,"kw_key","collist_paren","createtable_references"],postprocess:e=>(0,a.track)(e,{type:"foreign key",localColumns:e[2].map(u),...e[3]})},{name:"createtable_references$ebnf$1",symbols:[]},{name:"createtable_references$ebnf$1",symbols:["createtable_references$ebnf$1","createtable_constraint_foreignkey_onsometing"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_references",symbols:[r.lexerAny.has("kw_references")?{type:"kw_references"}:kw_references,"table_ref","collist_paren","createtable_references$ebnf$1"],postprocess:e=>(0,a.track)(e,{foreignTable:t(e[1]),foreignColumns:e[2].map(u),...e[3].reduce((o,s)=>({...o,...s}),{})})},{name:"createtable_constraint_foreignkey_onsometing",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_delete","createtable_constraint_on_action"],postprocess:e=>(0,a.track)(e,{onDelete:i(e)})},{name:"createtable_constraint_foreignkey_onsometing",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_update","createtable_constraint_on_action"],postprocess:e=>(0,a.track)(e,{onUpdate:i(e)})},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:[r.lexerAny.has("kw_full")?{type:"kw_full"}:kw_full]},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:["kw_partial"]},{name:"createtable_constraint_foreignkey_onsometing$subexpression$1",symbols:["kw_simple"]},{name:"createtable_constraint_foreignkey_onsometing",symbols:["kw_match","createtable_constraint_foreignkey_onsometing$subexpression$1"],postprocess:e=>(0,a.track)(e,{match:b(i(e))})},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_cascade"]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$1",symbols:["kw_no","kw_action"]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["createtable_constraint_on_action$subexpression$1$subexpression$1"]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_restrict"]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$2",symbols:[r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null]},{name:"createtable_constraint_on_action$subexpression$1$subexpression$2",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"createtable_constraint_on_action$subexpression$1",symbols:["kw_set","createtable_constraint_on_action$subexpression$1$subexpression$2"]},{name:"createtable_constraint_on_action",symbols:["createtable_constraint_on_action$subexpression$1"],postprocess:e=>b(e," ")},{name:"createtable_collist$ebnf$1",symbols:[]},{name:"createtable_collist$ebnf$1$subexpression$1",symbols:["comma","ident"],postprocess:i},{name:"createtable_collist$ebnf$1",symbols:["createtable_collist$ebnf$1","createtable_collist$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_collist",symbols:["ident","createtable_collist$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"createtable_column$ebnf$1",symbols:["createtable_collate"],postprocess:l},{name:"createtable_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_column$ebnf$2",symbols:[]},{name:"createtable_column$ebnf$2",symbols:["createtable_column$ebnf$2","createtable_column_constraint"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_column",symbols:["word","data_type","createtable_column$ebnf$1","createtable_column$ebnf$2"],postprocess:e=>(0,a.track)(e,{kind:"column",name:u(e[0]),dataType:e[1],...e[2]?{collate:e[2][1]}:{},...e[3]&&e[3].length?{constraints:e[3]}:{}})},{name:"createtable_like$ebnf$1",symbols:[]},{name:"createtable_like$ebnf$1",symbols:["createtable_like$ebnf$1","createtable_like_opt"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_like",symbols:[r.lexerAny.has("kw_like")?{type:"kw_like"}:kw_like,"qname","createtable_like$ebnf$1"],postprocess:e=>(0,a.track)(e,{kind:"like table",like:e[1],options:e[2]})},{name:"createtable_like_opt$subexpression$1",symbols:["kw_including"]},{name:"createtable_like_opt$subexpression$1",symbols:["kw_excluding"]},{name:"createtable_like_opt",symbols:["createtable_like_opt$subexpression$1","createtable_like_opt_val"],postprocess:e=>(0,a.track)(e,{verb:b(e[0]),option:b(e[1])})},{name:"createtable_like_opt_val",symbols:["word"],postprocess:v("defaults","constraints","indexes","storage","comments")},{name:"createtable_like_opt_val",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all]},{name:"createtable_column_constraint$macrocall$2",symbols:["createtable_column_constraint_def"]},{name:"createtable_column_constraint$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"word"]},{name:"createtable_column_constraint$macrocall$1$ebnf$1",symbols:["createtable_column_constraint$macrocall$1$ebnf$1$subexpression$1"],postprocess:l},{name:"createtable_column_constraint$macrocall$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtable_column_constraint$macrocall$1",symbols:["createtable_column_constraint$macrocall$1$ebnf$1","createtable_column_constraint$macrocall$2"],postprocess:e=>{const o=e[0]&&u(e[0][1]);return o?(0,a.track)(e,{constraintName:o,...t(e[1])}):(0,a.track)(e,t(e[1]))}},{name:"createtable_column_constraint",symbols:["createtable_column_constraint$macrocall$1"],postprocess:t},{name:"createtable_column_constraint_def",symbols:[r.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:e=>(0,a.track)(e,{type:"unique"})},{name:"createtable_column_constraint_def",symbols:["kw_primary_key"],postprocess:e=>(0,a.track)(e,{type:"primary key"})},{name:"createtable_column_constraint_def",symbols:["kw_not_null"],postprocess:e=>(0,a.track)(e,{type:"not null"})},{name:"createtable_column_constraint_def",symbols:[r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null],postprocess:e=>(0,a.track)(e,{type:"null"})},{name:"createtable_column_constraint_def",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>(0,a.track)(e,{type:"default",default:t(e[1])})},{name:"createtable_column_constraint_def",symbols:[r.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"expr_paren"],postprocess:e=>(0,a.track)(e,{type:"check",expr:t(e[1])})},{name:"createtable_column_constraint_def",symbols:["createtable_references"],postprocess:e=>(0,a.track)(e,{type:"reference",...t(e)})},{name:"createtable_column_constraint_def",symbols:["altercol_generated"]},{name:"createtable_collate",symbols:[r.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate,"qualified_name"]},{name:"createtable_opts$subexpression$1",symbols:["word"],postprocess:w("inherits")},{name:"createtable_opts$macrocall$2",symbols:["qname"]},{name:"createtable_opts$macrocall$1$ebnf$1",symbols:[]},{name:"createtable_opts$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"createtable_opts$macrocall$2"],postprocess:i},{name:"createtable_opts$macrocall$1$ebnf$1",symbols:["createtable_opts$macrocall$1$ebnf$1","createtable_opts$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtable_opts$macrocall$1",symbols:["createtable_opts$macrocall$2","createtable_opts$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"createtable_opts",symbols:["createtable_opts$subexpression$1","lparen","createtable_opts$macrocall$1","rparen"],postprocess:e=>(0,a.track)(e,{inherits:e[2]})},{name:"createindex_statement$ebnf$1",symbols:[r.lexerAny.has("kw_unique")?{type:"kw_unique"}:kw_unique],postprocess:l},{name:"createindex_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$2",symbols:[r.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:l},{name:"createindex_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$3",symbols:["kw_ifnotexists"],postprocess:l},{name:"createindex_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$4",symbols:["word"],postprocess:l},{name:"createindex_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$5$subexpression$1",symbols:[r.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"ident"],postprocess:i},{name:"createindex_statement$ebnf$5",symbols:["createindex_statement$ebnf$5$subexpression$1"],postprocess:l},{name:"createindex_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$6",symbols:["createindex_with"],postprocess:l},{name:"createindex_statement$ebnf$6",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$7",symbols:["createindex_tblspace"],postprocess:l},{name:"createindex_statement$ebnf$7",symbols:[],postprocess:()=>null},{name:"createindex_statement$ebnf$8",symbols:["createindex_predicate"],postprocess:l},{name:"createindex_statement$ebnf$8",symbols:[],postprocess:()=>null},{name:"createindex_statement",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"createindex_statement$ebnf$1","kw_index","createindex_statement$ebnf$2","createindex_statement$ebnf$3","createindex_statement$ebnf$4",r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"table_ref","createindex_statement$ebnf$5","lparen","createindex_expressions","rparen","createindex_statement$ebnf$6","createindex_statement$ebnf$7","createindex_statement$ebnf$8"],postprocess:e=>(0,a.track)(e,{type:"create index",...e[1]&&{unique:!0},...e[3]&&{concurrently:!0},...e[4]&&{ifNotExists:!0},...e[5]&&{indexName:u(e[5])},table:e[7],...e[8]&&{using:u(e[8])},expressions:e[10],...e[12]&&{with:e[12]},...e[13]&&{tablespace:t(e[13])},...e[14]&&{where:t(e[14])}})},{name:"createindex_expressions$ebnf$1",symbols:[]},{name:"createindex_expressions$ebnf$1$subexpression$1",symbols:["comma","createindex_expression"],postprocess:i},{name:"createindex_expressions$ebnf$1",symbols:["createindex_expressions$ebnf$1","createindex_expressions$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createindex_expressions",symbols:["createindex_expression","createindex_expressions$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"createindex_expression$subexpression$1",symbols:["expr_basic"]},{name:"createindex_expression$subexpression$1",symbols:["expr_paren"]},{name:"createindex_expression$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_collate")?{type:"kw_collate"}:kw_collate,"qualified_name"],postprocess:i},{name:"createindex_expression$ebnf$1",symbols:["createindex_expression$ebnf$1$subexpression$1"],postprocess:l},{name:"createindex_expression$ebnf$1",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$2",symbols:["qualified_name"],postprocess:l},{name:"createindex_expression$ebnf$2",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$3$subexpression$1",symbols:[r.lexerAny.has("kw_asc")?{type:"kw_asc"}:kw_asc]},{name:"createindex_expression$ebnf$3$subexpression$1",symbols:[r.lexerAny.has("kw_desc")?{type:"kw_desc"}:kw_desc]},{name:"createindex_expression$ebnf$3",symbols:["createindex_expression$ebnf$3$subexpression$1"],postprocess:l},{name:"createindex_expression$ebnf$3",symbols:[],postprocess:()=>null},{name:"createindex_expression$ebnf$4$subexpression$1$subexpression$1",symbols:["kw_first"]},{name:"createindex_expression$ebnf$4$subexpression$1$subexpression$1",symbols:["kw_last"]},{name:"createindex_expression$ebnf$4$subexpression$1",symbols:["kw_nulls","createindex_expression$ebnf$4$subexpression$1$subexpression$1"],postprocess:i},{name:"createindex_expression$ebnf$4",symbols:["createindex_expression$ebnf$4$subexpression$1"],postprocess:l},{name:"createindex_expression$ebnf$4",symbols:[],postprocess:()=>null},{name:"createindex_expression",symbols:["createindex_expression$subexpression$1","createindex_expression$ebnf$1","createindex_expression$ebnf$2","createindex_expression$ebnf$3","createindex_expression$ebnf$4"],postprocess:e=>(0,a.track)(e,{expression:t(e[0]),...e[1]&&{collate:t(e[1])},...e[2]&&{opclass:t(e[2])},...e[3]&&{order:t(e[3]).value},...e[4]&&{nulls:t(e[4])}})},{name:"createindex_predicate",symbols:[r.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:i},{name:"createindex_with$macrocall$2",symbols:["createindex_with_item"]},{name:"createindex_with$macrocall$1$ebnf$1",symbols:[]},{name:"createindex_with$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"createindex_with$macrocall$2"],postprocess:i},{name:"createindex_with$macrocall$1$ebnf$1",symbols:["createindex_with$macrocall$1$ebnf$1","createindex_with$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createindex_with$macrocall$1",symbols:["createindex_with$macrocall$2","createindex_with$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"createindex_with",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"lparen","createindex_with$macrocall$1","rparen"],postprocess:_(2)},{name:"createindex_with_item$subexpression$1",symbols:["string"]},{name:"createindex_with_item$subexpression$1",symbols:["int"]},{name:"createindex_with_item",symbols:["ident",r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"createindex_with_item$subexpression$1"],postprocess:e=>(0,a.track)(e,{parameter:b(e[0]),value:t(e[2]).toString()})},{name:"createindex_tblspace",symbols:["kw_tablespace","ident"],postprocess:i},{name:"createextension_statement$ebnf$1",symbols:["kw_ifnotexists"],postprocess:l},{name:"createextension_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$2",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:l},{name:"createextension_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$3$subexpression$1",symbols:["kw_schema","word"],postprocess:i},{name:"createextension_statement$ebnf$3",symbols:["createextension_statement$ebnf$3$subexpression$1"],postprocess:l},{name:"createextension_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$4$subexpression$1",symbols:["kw_version","string"],postprocess:i},{name:"createextension_statement$ebnf$4",symbols:["createextension_statement$ebnf$4$subexpression$1"],postprocess:l},{name:"createextension_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"createextension_statement$ebnf$5$subexpression$1",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"string"],postprocess:i},{name:"createextension_statement$ebnf$5",symbols:["createextension_statement$ebnf$5$subexpression$1"],postprocess:l},{name:"createextension_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"createextension_statement",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_extension","createextension_statement$ebnf$1","word","createextension_statement$ebnf$2","createextension_statement$ebnf$3","createextension_statement$ebnf$4","createextension_statement$ebnf$5"],postprocess:e=>(0,a.track)(e,{type:"create extension",...e[2]?{ifNotExists:!0}:{},extension:u(e[3]),...e[5]?{schema:u(e[5])}:{},...e[6]?{version:f(e[6])}:{},...e[7]?{from:f(e[7])}:{}})},{name:"simplestatements_all",symbols:["simplestatements_start_transaction"]},{name:"simplestatements_all",symbols:["simplestatements_commit"]},{name:"simplestatements_all",symbols:["simplestatements_rollback"]},{name:"simplestatements_all",symbols:["simplestatements_tablespace"]},{name:"simplestatements_all",symbols:["simplestatements_set"]},{name:"simplestatements_all",symbols:["simplestatements_show"]},{name:"simplestatements_all",symbols:["simplestatements_begin"]},{name:"simplestatements_start_transaction$subexpression$1",symbols:["kw_start","kw_transaction"]},{name:"simplestatements_start_transaction",symbols:["simplestatements_start_transaction$subexpression$1"],postprocess:e=>(0,a.track)(e,{type:"start transaction"})},{name:"simplestatements_commit",symbols:["kw_commit"],postprocess:e=>(0,a.track)(e,{type:"commit"})},{name:"simplestatements_rollback",symbols:["kw_rollback"],postprocess:e=>(0,a.track)(e,{type:"rollback"})},{name:"simplestatements_tablespace",symbols:["kw_tablespace","word"],postprocess:e=>(0,a.track)(e,{type:"tablespace",tablespace:u(e[1])})},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_simple"]},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_timezone"]},{name:"simplestatements_set$subexpression$1",symbols:["simplestatements_set_names"]},{name:"simplestatements_set",symbols:["kw_set","simplestatements_set$subexpression$1"],postprocess:i},{name:"simplestatements_set_timezone",symbols:["kw_time","kw_zone","simplestatements_set_timezone_val"],postprocess:e=>(0,a.track)(e,{type:"set timezone",to:e[2]})},{name:"simplestatements_set_timezone_val$subexpression$1",symbols:["string"]},{name:"simplestatements_set_timezone_val$subexpression$1",symbols:["int"]},{name:"simplestatements_set_timezone_val",symbols:["simplestatements_set_timezone_val$subexpression$1"],postprocess:e=>(0,a.track)(e,{type:"value",value:t(e[0])})},{name:"simplestatements_set_timezone_val",symbols:["kw_local"],postprocess:e=>(0,a.track)(e,{type:"local"})},{name:"simplestatements_set_timezone_val",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,a.track)(e,{type:"default"})},{name:"simplestatements_set_timezone_val",symbols:["kw_interval","string","kw_hour",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"kw_minute"],postprocess:e=>(0,a.track)(e,{type:"interval",value:(0,a.unbox)(e[1])})},{name:"simplestatements_set_names",symbols:["kw_names","simplestatements_set_names_val"],postprocess:e=>(0,a.track)(e,{type:"set names",to:e[1]})},{name:"simplestatements_set_names_val$subexpression$1",symbols:["string"]},{name:"simplestatements_set_names_val",symbols:["simplestatements_set_names_val$subexpression$1"],postprocess:e=>(0,a.track)(e,{type:"value",value:t(e[0])})},{name:"simplestatements_set_simple$ebnf$1$subexpression$1",symbols:["kw_local"]},{name:"simplestatements_set_simple$ebnf$1$subexpression$1",symbols:["kw_session"]},{name:"simplestatements_set_simple$ebnf$1",symbols:["simplestatements_set_simple$ebnf$1$subexpression$1"],postprocess:l},{name:"simplestatements_set_simple$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_set_simple$subexpression$1",symbols:[r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq]},{name:"simplestatements_set_simple$subexpression$1",symbols:[r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to]},{name:"simplestatements_set_simple",symbols:["simplestatements_set_simple$ebnf$1","ident","simplestatements_set_simple$subexpression$1","simplestatements_set_val"],postprocess:e=>{var o;return(0,a.track)(e,{type:"set",variable:u(e[1]),scope:(o=t(e[0]))===null||o===void 0?void 0:o.toLowerCase(),set:(0,a.unbox)(e[3])})}},{name:"simplestatements_set_val",symbols:["simplestatements_set_val_raw"],postprocess:t},{name:"simplestatements_set_val",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,a.track)(e,{type:"default"})},{name:"simplestatements_set_val$ebnf$1$subexpression$1",symbols:["comma","simplestatements_set_val_raw"]},{name:"simplestatements_set_val$ebnf$1",symbols:["simplestatements_set_val$ebnf$1$subexpression$1"]},{name:"simplestatements_set_val$ebnf$1$subexpression$2",symbols:["comma","simplestatements_set_val_raw"]},{name:"simplestatements_set_val$ebnf$1",symbols:["simplestatements_set_val$ebnf$1","simplestatements_set_val$ebnf$1$subexpression$2"],postprocess:e=>e[0].concat([e[1]])},{name:"simplestatements_set_val",symbols:["simplestatements_set_val_raw","simplestatements_set_val$ebnf$1"],postprocess:e=>(0,a.track)(e,{type:"list",values:[e[0],...e[1]||[]]})},{name:"simplestatements_set_val_raw$subexpression$1",symbols:["string"]},{name:"simplestatements_set_val_raw$subexpression$1",symbols:["int"]},{name:"simplestatements_set_val_raw",symbols:["simplestatements_set_val_raw$subexpression$1"],postprocess:e=>(0,a.track)(e,{type:"value",value:t(e)})},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[r.lexerAny.has("word")?{type:"word"}:word]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[r.lexerAny.has("kw_true")?{type:"kw_true"}:kw_true]},{name:"simplestatements_set_val_raw$subexpression$2",symbols:[r.lexerAny.has("kw_false")?{type:"kw_false"}:kw_false]},{name:"simplestatements_set_val_raw",symbols:["simplestatements_set_val_raw$subexpression$2"],postprocess:e=>(0,a.track)(e,{type:"identifier",name:t(e).value})},{name:"simplestatements_set_val_raw",symbols:[r.lexerAny.has("quoted_word")?{type:"quoted_word"}:quoted_word],postprocess:e=>(0,a.track)(e,{type:"identifier",doubleQuoted:!0,name:t(e).value})},{name:"simplestatements_show",symbols:["kw_show","ident"],postprocess:e=>(0,a.track)(e,{type:"show",variable:u(e[1])})},{name:"create_schema$subexpression$1",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_schema"]},{name:"create_schema$ebnf$1",symbols:["kw_ifnotexists"],postprocess:l},{name:"create_schema$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_schema",symbols:["create_schema$subexpression$1","create_schema$ebnf$1","ident"],postprocess:e=>(0,a.track)(e,{type:"create schema",name:u(e[2]),...e[1]?{ifNotExists:!0}:{}})},{name:"raise_statement$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("debug","log","info","notice","warning","exception")},{name:"raise_statement$ebnf$1",symbols:["raise_statement$ebnf$1$subexpression$1"],postprocess:l},{name:"raise_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"raise_statement$ebnf$2$subexpression$1",symbols:["comma","expr_list_raw"],postprocess:i},{name:"raise_statement$ebnf$2",symbols:["raise_statement$ebnf$2$subexpression$1"],postprocess:l},{name:"raise_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"raise_statement$ebnf$3",symbols:["raise_using"],postprocess:l},{name:"raise_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"raise_statement",symbols:["kw_raise","raise_statement$ebnf$1","string","raise_statement$ebnf$2","raise_statement$ebnf$3"],postprocess:e=>(0,a.track)(e,{type:"raise",format:b(e[2]),...e[1]&&{level:b(e[1])},...e[3]&&e[3].length&&{formatExprs:e[3]},...e[4]&&e[4].length&&{using:e[4]}})},{name:"raise_using$macrocall$2",symbols:["raise_using_one"]},{name:"raise_using$macrocall$1$ebnf$1",symbols:[]},{name:"raise_using$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"raise_using$macrocall$2"],postprocess:i},{name:"raise_using$macrocall$1$ebnf$1",symbols:["raise_using$macrocall$1$ebnf$1","raise_using$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"raise_using$macrocall$1",symbols:["raise_using$macrocall$2","raise_using$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"raise_using",symbols:[r.lexerAny.has("kw_using")?{type:"kw_using"}:kw_using,"raise_using$macrocall$1"],postprocess:i},{name:"raise_using_one",symbols:["raise_using_what",r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>(0,a.track)(e,{type:b(e[0]),value:e[2]})},{name:"raise_using_what",symbols:[r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"raise_using_what",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("message","detail","hint","errcode","column","constraint","datatype","schema")},{name:"comment_statement",symbols:["kw_comment",r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"comment_what",r.lexerAny.has("kw_is")?{type:"kw_is"}:kw_is,"string"],postprocess:e=>(0,a.track)(e,{type:"comment",comment:(0,a.unbox)(i(e)),on:t(e[2])})},{name:"comment_what",symbols:["comment_what_col"]},{name:"comment_what",symbols:["comment_what_nm"]},{name:"comment_what_nm$subexpression$1",symbols:[r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table]},{name:"comment_what_nm$subexpression$1",symbols:["kw_materialized","kw_view"]},{name:"comment_what_nm$subexpression$1",symbols:[r.lexerAny.has("word")?{type:"word"}:word],postprocess:v("database","index","trigger","type","view")},{name:"comment_what_nm",symbols:["comment_what_nm$subexpression$1","qualified_name"],postprocess:e=>(0,a.track)(e,{type:b(e[0]),name:e[1]})},{name:"comment_what_col",symbols:["kw_column","qcolumn"],postprocess:e=>(0,a.track)(e,{type:"column",column:i(e)})},{name:"simplestatements_begin$ebnf$1$subexpression$1",symbols:["kw_transaction"]},{name:"simplestatements_begin$ebnf$1$subexpression$1",symbols:["kw_work"]},{name:"simplestatements_begin$ebnf$1",symbols:["simplestatements_begin$ebnf$1$subexpression$1"],postprocess:l},{name:"simplestatements_begin$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_begin$ebnf$2",symbols:[]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_isol"]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_writ"]},{name:"simplestatements_begin$ebnf$2$subexpression$1",symbols:["simplestatements_begin_def"]},{name:"simplestatements_begin$ebnf$2",symbols:["simplestatements_begin$ebnf$2","simplestatements_begin$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"simplestatements_begin",symbols:["kw_begin","simplestatements_begin$ebnf$1","simplestatements_begin$ebnf$2"],postprocess:e=>(0,a.track)(e,{type:"begin",...e[2].reduce((o,s)=>({...t(o),...t(s)}),{})})},{name:"simplestatements_begin_isol$subexpression$1",symbols:["kw_isolation","kw_level"]},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_serializable"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$1",symbols:["word"],postprocess:w("repeatable")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["simplestatements_begin_isol$subexpression$2$subexpression$1","kw_read"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$2",symbols:["word"],postprocess:w("committed")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_read","simplestatements_begin_isol$subexpression$2$subexpression$2"]},{name:"simplestatements_begin_isol$subexpression$2$subexpression$3",symbols:["word"],postprocess:w("uncommitted")},{name:"simplestatements_begin_isol$subexpression$2",symbols:["kw_read","simplestatements_begin_isol$subexpression$2$subexpression$3"]},{name:"simplestatements_begin_isol",symbols:["simplestatements_begin_isol$subexpression$1","simplestatements_begin_isol$subexpression$2"],postprocess:e=>(0,a.track)(e,{isolationLevel:b(e[1]," ")})},{name:"simplestatements_begin_writ$subexpression$1",symbols:["kw_read","kw_write"]},{name:"simplestatements_begin_writ$subexpression$1",symbols:["kw_read",r.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only]},{name:"simplestatements_begin_writ",symbols:["simplestatements_begin_writ$subexpression$1"],postprocess:e=>(0,a.track)(e,{writeable:b(e," ")})},{name:"simplestatements_begin_def$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"simplestatements_begin_def$ebnf$1",symbols:[],postprocess:()=>null},{name:"simplestatements_begin_def",symbols:["simplestatements_begin_def$ebnf$1",r.lexerAny.has("kw_deferrable")?{type:"kw_deferrable"}:kw_deferrable],postprocess:e=>(0,a.track)(e,{deferrable:!e[0]})},{name:"insert_statement$subexpression$1",symbols:["kw_insert",r.lexerAny.has("kw_into")?{type:"kw_into"}:kw_into]},{name:"insert_statement$ebnf$1",symbols:["collist_paren"],postprocess:l},{name:"insert_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$2$subexpression$1$subexpression$1",symbols:["kw_system"]},{name:"insert_statement$ebnf$2$subexpression$1$subexpression$1",symbols:[r.lexerAny.has("kw_user")?{type:"kw_user"}:kw_user]},{name:"insert_statement$ebnf$2$subexpression$1",symbols:["kw_overriding","insert_statement$ebnf$2$subexpression$1$subexpression$1","kw_value"],postprocess:_(1)},{name:"insert_statement$ebnf$2",symbols:["insert_statement$ebnf$2$subexpression$1"],postprocess:l},{name:"insert_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$3$subexpression$1",symbols:["selection"]},{name:"insert_statement$ebnf$3$subexpression$1",symbols:["selection_paren"]},{name:"insert_statement$ebnf$3",symbols:["insert_statement$ebnf$3$subexpression$1"],postprocess:l},{name:"insert_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$4$subexpression$1",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,"kw_conflict","insert_on_conflict"],postprocess:i},{name:"insert_statement$ebnf$4",symbols:["insert_statement$ebnf$4$subexpression$1"],postprocess:l},{name:"insert_statement$ebnf$4",symbols:[],postprocess:()=>null},{name:"insert_statement$ebnf$5$subexpression$1",symbols:[r.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:i},{name:"insert_statement$ebnf$5",symbols:["insert_statement$ebnf$5$subexpression$1"],postprocess:l},{name:"insert_statement$ebnf$5",symbols:[],postprocess:()=>null},{name:"insert_statement",symbols:["insert_statement$subexpression$1","table_ref_aliased","insert_statement$ebnf$1","insert_statement$ebnf$2","insert_statement$ebnf$3","insert_statement$ebnf$4","insert_statement$ebnf$5"],postprocess:e=>{const o=e[2]&&e[2].map(u),s=b(e[3]),p=t(e[4]),y=e[5],g=e[6];return(0,a.track)(e,{type:"insert",into:t(e[1]),insert:p,...s&&{overriding:s},...o&&{columns:o},...g&&{returning:g},...y&&{onConflict:y}})}},{name:"insert_values$ebnf$1",symbols:[]},{name:"insert_values$ebnf$1$subexpression$1",symbols:["comma","insert_value"],postprocess:i},{name:"insert_values$ebnf$1",symbols:["insert_values$ebnf$1","insert_values$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"insert_values",symbols:["insert_value","insert_values$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"insert_value",symbols:["lparen","insert_expr_list_raw","rparen"],postprocess:_(1)},{name:"insert_expr_list_raw$ebnf$1",symbols:[]},{name:"insert_expr_list_raw$ebnf$1$subexpression$1",symbols:["comma","expr_or_select"],postprocess:i},{name:"insert_expr_list_raw$ebnf$1",symbols:["insert_expr_list_raw$ebnf$1","insert_expr_list_raw$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"insert_expr_list_raw",symbols:["expr_or_select","insert_expr_list_raw$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"insert_on_conflict$ebnf$1",symbols:["insert_on_conflict_what"],postprocess:l},{name:"insert_on_conflict$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_on_conflict",symbols:["insert_on_conflict$ebnf$1","insert_on_conflict_do"],postprocess:e=>(0,a.track)(e,{...e[0]?{on:t(e[0])}:{},...e[1]})},{name:"insert_on_conflict_what",symbols:["lparen","expr_list_raw","rparen"],postprocess:e=>(0,a.track)(e,{type:"on expr",exprs:e[1]})},{name:"insert_on_conflict_what",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"qname"],postprocess:e=>(0,a.track)(e,{type:"on constraint",constraint:i(e)})},{name:"insert_on_conflict_do",symbols:[r.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"kw_nothing"],postprocess:e=>({do:"do nothing"})},{name:"insert_on_conflict_do$subexpression$1",symbols:[r.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"kw_update","kw_set"]},{name:"insert_on_conflict_do$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_where")?{type:"kw_where"}:kw_where,"expr"],postprocess:i},{name:"insert_on_conflict_do$ebnf$1",symbols:["insert_on_conflict_do$ebnf$1$subexpression$1"],postprocess:l},{name:"insert_on_conflict_do$ebnf$1",symbols:[],postprocess:()=>null},{name:"insert_on_conflict_do",symbols:["insert_on_conflict_do$subexpression$1","update_set_list","insert_on_conflict_do$ebnf$1"],postprocess:e=>({do:{sets:e[1]},...e[2]&&{where:e[2]}})},{name:"update_statement$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from,"select_from_subject"],postprocess:i},{name:"update_statement$ebnf$1",symbols:["update_statement$ebnf$1$subexpression$1"],postprocess:l},{name:"update_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"update_statement$ebnf$2",symbols:["select_where"],postprocess:l},{name:"update_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"update_statement$ebnf$3$subexpression$1",symbols:[r.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:i},{name:"update_statement$ebnf$3",symbols:["update_statement$ebnf$3$subexpression$1"],postprocess:l},{name:"update_statement$ebnf$3",symbols:[],postprocess:()=>null},{name:"update_statement",symbols:["kw_update","table_ref_aliased","kw_set","update_set_list","update_statement$ebnf$1","update_statement$ebnf$2","update_statement$ebnf$3"],postprocess:e=>{const o=t(e[4]),s=t(e[5]),p=e[6];return(0,a.track)(e,{type:"update",table:t(e[1]),sets:e[3],...s?{where:s}:{},...o?{from:o}:{},...p?{returning:p}:{}})}},{name:"update_set_list$ebnf$1",symbols:[]},{name:"update_set_list$ebnf$1$subexpression$1",symbols:["comma","update_set"],postprocess:i},{name:"update_set_list$ebnf$1",symbols:["update_set_list$ebnf$1","update_set_list$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"update_set_list",symbols:["update_set","update_set_list$ebnf$1"],postprocess:([e,o])=>{const s=[];for(const p of[e,...o||[]]){const y=t(p);Array.isArray(y)?s.push(...y):s.push(y)}return s}},{name:"update_set",symbols:["update_set_one"]},{name:"update_set",symbols:["update_set_multiple"]},{name:"update_set_one",symbols:["ident",r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>(0,a.box)(e,{column:u(e[0]),value:t(e[2])})},{name:"update_set_multiple$subexpression$1",symbols:["lparen","expr_list_raw","rparen"],postprocess:_(1)},{name:"update_set_multiple",symbols:["collist_paren",r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"update_set_multiple$subexpression$1"],postprocess:e=>{const o=e[0],s=e[2];if(o.length!==s.length)throw new Error("number of columns does not match number of values");return(0,a.box)(e,o.map((p,y)=>({column:u(p),value:t(s[y])})))}},{name:"altertable_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:l},{name:"altertable_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_statement$ebnf$2",symbols:[r.lexerAny.has("kw_only")?{type:"kw_only"}:kw_only],postprocess:l},{name:"altertable_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_statement",symbols:["kw_alter",r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"altertable_statement$ebnf$1","altertable_statement$ebnf$2","table_ref","altertable_actions"],postprocess:e=>(0,a.track)(e,{type:"alter table",...e[2]?{ifExists:!0}:{},...e[3]?{only:!0}:{},table:t(e[4]),changes:(0,a.unbox)(e[5]).map(t)})},{name:"altertable_actions$ebnf$1",symbols:[]},{name:"altertable_actions$ebnf$1$subexpression$1",symbols:["comma","altertable_action"],postprocess:i},{name:"altertable_actions$ebnf$1",symbols:["altertable_actions$ebnf$1","altertable_actions$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"altertable_actions",symbols:["altertable_action","altertable_actions$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"altertable_action",symbols:["altertable_rename_table"]},{name:"altertable_action",symbols:["altertable_rename_column"]},{name:"altertable_action",symbols:["altertable_rename_constraint"]},{name:"altertable_action",symbols:["altertable_add_column"]},{name:"altertable_action",symbols:["altertable_drop_column"]},{name:"altertable_action",symbols:["altertable_alter_column"]},{name:"altertable_action",symbols:["altertable_add_constraint"]},{name:"altertable_action",symbols:["altertable_drop_constraint"]},{name:"altertable_action",symbols:["altertable_owner"]},{name:"altertable_rename_table",symbols:["kw_rename",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,a.track)(e,{type:"rename",to:u(i(e))})},{name:"altertable_rename_column$ebnf$1",symbols:["kw_column"],postprocess:l},{name:"altertable_rename_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_rename_column",symbols:["kw_rename","altertable_rename_column$ebnf$1","ident",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,a.track)(e,{type:"rename column",column:u(e[2]),to:u(i(e))})},{name:"altertable_rename_constraint",symbols:["kw_rename",r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"ident",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,a.track)(e,{type:"rename constraint",constraint:u(e[2]),to:u(i(e))})},{name:"altertable_add_column$ebnf$1",symbols:["kw_column"],postprocess:l},{name:"altertable_add_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_add_column$ebnf$2",symbols:["kw_ifnotexists"],postprocess:l},{name:"altertable_add_column$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_add_column",symbols:["kw_add","altertable_add_column$ebnf$1","altertable_add_column$ebnf$2","createtable_column"],postprocess:e=>(0,a.track)(e,{type:"add column",...e[2]?{ifNotExists:!0}:{},column:t(e[3])})},{name:"altertable_drop_column$ebnf$1",symbols:["kw_column"],postprocess:l},{name:"altertable_drop_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_drop_column$ebnf$2",symbols:["kw_ifexists"],postprocess:l},{name:"altertable_drop_column$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_drop_column$ebnf$3$subexpression$1",symbols:["kw_restrict"]},{name:"altertable_drop_column$ebnf$3$subexpression$1",symbols:["kw_cascade"]},{name:"altertable_drop_column$ebnf$3",symbols:["altertable_drop_column$ebnf$3$subexpression$1"],postprocess:l},{name:"altertable_drop_column$ebnf$3",symbols:[],postprocess:()=>null},{name:"altertable_drop_column",symbols:["kw_drop","altertable_drop_column$ebnf$1","altertable_drop_column$ebnf$2","ident","altertable_drop_column$ebnf$3"],postprocess:e=>(0,a.track)(e,{type:"drop column",...e[2]?{ifExists:!0}:{},column:u(e[3]),...e[4]?{behaviour:b(e[4]," ")}:{}})},{name:"altertable_alter_column$ebnf$1",symbols:["kw_column"],postprocess:l},{name:"altertable_alter_column$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_alter_column",symbols:["kw_alter","altertable_alter_column$ebnf$1","ident","altercol"],postprocess:e=>(0,a.track)(e,{type:"alter column",column:u(e[2]),alter:t(e[3])})},{name:"altercol$ebnf$1$subexpression$1",symbols:["kw_set","kw_data"]},{name:"altercol$ebnf$1",symbols:["altercol$ebnf$1$subexpression$1"],postprocess:l},{name:"altercol$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol",symbols:["altercol$ebnf$1","kw_type","data_type"],postprocess:e=>(0,a.track)(e,{type:"set type",dataType:t(i(e))})},{name:"altercol",symbols:["kw_set",r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>(0,a.track)(e,{type:"set default",default:t(i(e))})},{name:"altercol",symbols:["kw_drop",r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default],postprocess:e=>(0,a.track)(e,{type:"drop default"})},{name:"altercol$subexpression$1",symbols:["kw_set"]},{name:"altercol$subexpression$1",symbols:["kw_drop"]},{name:"altercol",symbols:["altercol$subexpression$1","kw_not_null"],postprocess:e=>(0,a.track)(e,{type:b(e," ")})},{name:"altercol",symbols:["altercol_generated_add"],postprocess:t},{name:"altertable_add_constraint",symbols:["kw_add","createtable_constraint"],postprocess:e=>(0,a.track)(e,{type:"add constraint",constraint:t(i(e))})},{name:"altertable_drop_constraint$ebnf$1",symbols:["kw_ifexists"],postprocess:l},{name:"altertable_drop_constraint$ebnf$1",symbols:[],postprocess:()=>null},{name:"altertable_drop_constraint$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"altertable_drop_constraint$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"altertable_drop_constraint$ebnf$2",symbols:["altertable_drop_constraint$ebnf$2$subexpression$1"],postprocess:l},{name:"altertable_drop_constraint$ebnf$2",symbols:[],postprocess:()=>null},{name:"altertable_drop_constraint",symbols:["kw_drop",r.lexerAny.has("kw_constraint")?{type:"kw_constraint"}:kw_constraint,"altertable_drop_constraint$ebnf$1","ident","altertable_drop_constraint$ebnf$2"],postprocess:e=>(0,a.track)(e,{type:"drop constraint",...e[2]?{ifExists:!0}:{},constraint:u(e[3]),...e[4]?{behaviour:b(e[4]," ")}:{}})},{name:"altertable_owner",symbols:["kw_owner",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,a.track)(e,{type:"owner",to:u(i(e))})},{name:"altercol_generated_add",symbols:["kw_add","altercol_generated"],postprocess:i},{name:"altercol_generated$ebnf$1$subexpression$1",symbols:["kw_always"]},{name:"altercol_generated$ebnf$1$subexpression$1",symbols:["kw_by",r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default]},{name:"altercol_generated$ebnf$1",symbols:["altercol_generated$ebnf$1$subexpression$1"],postprocess:l},{name:"altercol_generated$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol_generated$subexpression$1",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"kw_identity"]},{name:"altercol_generated$ebnf$2$subexpression$1",symbols:["lparen","altercol_generated_seq","rparen"],postprocess:_(1)},{name:"altercol_generated$ebnf$2",symbols:["altercol_generated$ebnf$2$subexpression$1"],postprocess:l},{name:"altercol_generated$ebnf$2",symbols:[],postprocess:()=>null},{name:"altercol_generated",symbols:["kw_generated","altercol_generated$ebnf$1","altercol_generated$subexpression$1","altercol_generated$ebnf$2"],postprocess:e=>(0,a.track)(e,{type:"add generated",...e[1]&&{always:b(e[1]," ")},...e[3]&&{sequence:t(e[3])}})},{name:"altercol_generated_seq$ebnf$1$subexpression$1",symbols:["kw_sequence","kw_name","qualified_name"]},{name:"altercol_generated_seq$ebnf$1",symbols:["altercol_generated_seq$ebnf$1$subexpression$1"],postprocess:l},{name:"altercol_generated_seq$ebnf$1",symbols:[],postprocess:()=>null},{name:"altercol_generated_seq$ebnf$2",symbols:[]},{name:"altercol_generated_seq$ebnf$2",symbols:["altercol_generated_seq$ebnf$2","create_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"altercol_generated_seq",symbols:["altercol_generated_seq$ebnf$1","altercol_generated_seq$ebnf$2"],postprocess:e=>{const o={...e[0]&&{name:t(i(e[0]))}};return C(o,e[1]),(0,a.track)(e,o)}},{name:"alterindex_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:l},{name:"alterindex_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"alterindex_statement",symbols:["kw_alter","kw_index","alterindex_statement$ebnf$1","table_ref","alterindex_action"],postprocess:e=>(0,a.track)(e,{type:"alter index",...e[2]?{ifExists:!0}:{},index:t(e[3]),change:t(e[4])})},{name:"alterindex_action",symbols:["alterindex_rename"]},{name:"alterindex_action",symbols:["alterindex_set_tablespace"]},{name:"alterindex_rename",symbols:["kw_rename",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,a.track)(e,{type:"rename",to:u(i(e))})},{name:"alterindex_set_tablespace",symbols:["kw_set","kw_tablespace","word"],postprocess:e=>(0,a.track)(e,{type:"set tablespace",tablespace:u(i(e))})},{name:"delete_statement",symbols:["delete_delete"]},{name:"delete_statement",symbols:["delete_truncate"]},{name:"delete_delete$subexpression$1",symbols:["kw_delete",r.lexerAny.has("kw_from")?{type:"kw_from"}:kw_from]},{name:"delete_delete$ebnf$1",symbols:["select_where"],postprocess:l},{name:"delete_delete$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_delete$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("kw_returning")?{type:"kw_returning"}:kw_returning,"select_expr_list_aliased"],postprocess:i},{name:"delete_delete$ebnf$2",symbols:["delete_delete$ebnf$2$subexpression$1"],postprocess:l},{name:"delete_delete$ebnf$2",symbols:[],postprocess:()=>null},{name:"delete_delete",symbols:["delete_delete$subexpression$1","table_ref_aliased","delete_delete$ebnf$1","delete_delete$ebnf$2"],postprocess:e=>{const o=e[2],s=e[3];return(0,a.track)(e,{type:"delete",from:t(e[1]),...o?{where:o}:{},...s?{returning:s}:{}})}},{name:"delete_truncate$subexpression$1$ebnf$1",symbols:[r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table],postprocess:l},{name:"delete_truncate$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_truncate$subexpression$1",symbols:["kw_truncate","delete_truncate$subexpression$1$ebnf$1"]},{name:"delete_truncate$macrocall$2",symbols:["table_ref"]},{name:"delete_truncate$macrocall$1$ebnf$1",symbols:[]},{name:"delete_truncate$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"delete_truncate$macrocall$2"],postprocess:i},{name:"delete_truncate$macrocall$1$ebnf$1",symbols:["delete_truncate$macrocall$1$ebnf$1","delete_truncate$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"delete_truncate$macrocall$1",symbols:["delete_truncate$macrocall$2","delete_truncate$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"delete_truncate$ebnf$1$subexpression$1$subexpression$1",symbols:["kw_restart"]},{name:"delete_truncate$ebnf$1$subexpression$1$subexpression$1",symbols:["kw_continue"]},{name:"delete_truncate$ebnf$1$subexpression$1",symbols:["delete_truncate$ebnf$1$subexpression$1$subexpression$1","kw_identity"]},{name:"delete_truncate$ebnf$1",symbols:["delete_truncate$ebnf$1$subexpression$1"],postprocess:l},{name:"delete_truncate$ebnf$1",symbols:[],postprocess:()=>null},{name:"delete_truncate$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"delete_truncate$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"delete_truncate$ebnf$2",symbols:["delete_truncate$ebnf$2$subexpression$1"],postprocess:l},{name:"delete_truncate$ebnf$2",symbols:[],postprocess:()=>null},{name:"delete_truncate",symbols:["delete_truncate$subexpression$1","delete_truncate$macrocall$1","delete_truncate$ebnf$1","delete_truncate$ebnf$2"],postprocess:e=>(0,a.track)(e,{type:"truncate table",tables:e[1],...e[2]&&{identity:b(e[2][0])},...e[3]&&{cascade:b(e[3])}})},{name:"create_sequence_statement$ebnf$1$subexpression$1",symbols:["kw_temp"]},{name:"create_sequence_statement$ebnf$1$subexpression$1",symbols:["kw_temporary"]},{name:"create_sequence_statement$ebnf$1",symbols:["create_sequence_statement$ebnf$1$subexpression$1"],postprocess:l},{name:"create_sequence_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_sequence_statement$ebnf$2",symbols:["kw_ifnotexists"],postprocess:l},{name:"create_sequence_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_sequence_statement$ebnf$3",symbols:[]},{name:"create_sequence_statement$ebnf$3",symbols:["create_sequence_statement$ebnf$3","create_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"create_sequence_statement",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_sequence_statement$ebnf$1","kw_sequence","create_sequence_statement$ebnf$2","qualified_name","create_sequence_statement$ebnf$3"],postprocess:e=>{const o={type:"create sequence",...e[1]&&{temp:!0},...e[3]&&{ifNotExists:!0},name:t(e[4]),options:{}};return C(o.options,e[5]),(0,a.track)(e,o)}},{name:"create_sequence_option",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"data_type"],postprocess:e=>(0,a.box)(e,["as",e[1]])},{name:"create_sequence_option$ebnf$1",symbols:["kw_by"],postprocess:l},{name:"create_sequence_option$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["kw_increment","create_sequence_option$ebnf$1","int"],postprocess:e=>(0,a.box)(e,["incrementBy",e[2]])},{name:"create_sequence_option",symbols:["create_sequence_minvalue"],postprocess:e=>(0,a.box)(e,["minValue",e[0]])},{name:"create_sequence_option",symbols:["create_sequence_maxvalue"],postprocess:e=>(0,a.box)(e,["maxValue",e[0]])},{name:"create_sequence_option$ebnf$2",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:l},{name:"create_sequence_option$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["kw_start","create_sequence_option$ebnf$2","int"],postprocess:e=>(0,a.box)(e,["startWith",e[2]])},{name:"create_sequence_option",symbols:["kw_cache","int"],postprocess:e=>(0,a.box)(e,["cache",e[1]])},{name:"create_sequence_option$ebnf$3",symbols:["kw_no"],postprocess:l},{name:"create_sequence_option$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_sequence_option",symbols:["create_sequence_option$ebnf$3","kw_cycle"],postprocess:e=>(0,a.box)(e,["cycle",b(e," ")])},{name:"create_sequence_option",symbols:["create_sequence_owned_by"],postprocess:e=>(0,a.box)(e,["ownedBy",t(e)])},{name:"create_sequence_minvalue",symbols:["kw_minvalue","int"],postprocess:i},{name:"create_sequence_minvalue",symbols:["kw_no","kw_minvalue"],postprocess:e=>(0,a.box)(e,"no minvalue")},{name:"create_sequence_maxvalue",symbols:["kw_maxvalue","int"],postprocess:i},{name:"create_sequence_maxvalue",symbols:["kw_no","kw_maxvalue"],postprocess:e=>(0,a.box)(e,"no maxvalue")},{name:"create_sequence_owned_by$subexpression$1",symbols:["kw_none"]},{name:"create_sequence_owned_by$subexpression$1",symbols:["qcolumn"]},{name:"create_sequence_owned_by",symbols:["kw_owned","kw_by","create_sequence_owned_by$subexpression$1"],postprocess:e=>(0,a.box)(e,t(i(e)))},{name:"alter_sequence_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:l},{name:"alter_sequence_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_statement",symbols:["kw_alter","kw_sequence","alter_sequence_statement$ebnf$1","qualified_name","alter_sequence_statement_body"],postprocess:e=>{const o={type:"alter sequence",...e[2]&&{ifExists:!0},name:t(e[3]),change:e[4]};return(0,a.track)(e,o)}},{name:"alter_sequence_statement_body$ebnf$1",symbols:["alter_sequence_option"]},{name:"alter_sequence_statement_body$ebnf$1",symbols:["alter_sequence_statement_body$ebnf$1","alter_sequence_option"],postprocess:e=>e[0].concat([e[1]])},{name:"alter_sequence_statement_body",symbols:["alter_sequence_statement_body$ebnf$1"],postprocess:e=>{const o={type:"set options"};return C(o,e[0]),(0,a.track)(e,o)}},{name:"alter_sequence_statement_body$subexpression$1",symbols:["ident"]},{name:"alter_sequence_statement_body$subexpression$1",symbols:[r.lexerAny.has("kw_session_user")?{type:"kw_session_user"}:kw_session_user]},{name:"alter_sequence_statement_body$subexpression$1",symbols:[r.lexerAny.has("kw_current_user")?{type:"kw_current_user"}:kw_current_user]},{name:"alter_sequence_statement_body",symbols:["kw_owner",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"alter_sequence_statement_body$subexpression$1"],postprocess:e=>(0,a.track)(e,{type:"owner to",owner:u(i(e))})},{name:"alter_sequence_statement_body",symbols:["kw_rename",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"ident"],postprocess:e=>(0,a.track)(e,{type:"rename",newName:u(i(e))})},{name:"alter_sequence_statement_body",symbols:["kw_set","kw_schema","ident"],postprocess:e=>(0,a.track)(e,{type:"set schema",newSchema:u(i(e))})},{name:"alter_sequence_option",symbols:["create_sequence_option"],postprocess:t},{name:"alter_sequence_option$ebnf$1$subexpression$1$ebnf$1",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with],postprocess:l},{name:"alter_sequence_option$ebnf$1$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_option$ebnf$1$subexpression$1",symbols:["alter_sequence_option$ebnf$1$subexpression$1$ebnf$1","int"],postprocess:i},{name:"alter_sequence_option$ebnf$1",symbols:["alter_sequence_option$ebnf$1$subexpression$1"],postprocess:l},{name:"alter_sequence_option$ebnf$1",symbols:[],postprocess:()=>null},{name:"alter_sequence_option",symbols:["kw_restart","alter_sequence_option$ebnf$1"],postprocess:e=>(0,a.box)(e,["restart",typeof(0,a.unbox)(e[1])=="number"?(0,a.unbox)(e[1]):!0])},{name:"drop_statement$ebnf$1",symbols:["kw_ifexists"],postprocess:l},{name:"drop_statement$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_statement$macrocall$2",symbols:["qualified_name"]},{name:"drop_statement$macrocall$1$ebnf$1",symbols:[]},{name:"drop_statement$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"drop_statement$macrocall$2"],postprocess:i},{name:"drop_statement$macrocall$1$ebnf$1",symbols:["drop_statement$macrocall$1$ebnf$1","drop_statement$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"drop_statement$macrocall$1",symbols:["drop_statement$macrocall$2","drop_statement$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"drop_statement$ebnf$2$subexpression$1",symbols:["kw_cascade"]},{name:"drop_statement$ebnf$2$subexpression$1",symbols:["kw_restrict"]},{name:"drop_statement$ebnf$2",symbols:["drop_statement$ebnf$2$subexpression$1"],postprocess:l},{name:"drop_statement$ebnf$2",symbols:[],postprocess:()=>null},{name:"drop_statement",symbols:["kw_drop","drop_what","drop_statement$ebnf$1","drop_statement$macrocall$1","drop_statement$ebnf$2"],postprocess:(e,o)=>{const s=t(e[1]);return(0,a.track)(e,{...s,...e[2]&&{ifExists:!0},names:e[3],...e[4]&&{cascade:b(e[4])}})}},{name:"drop_what",symbols:[r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table],postprocess:e=>(0,a.track)(e,{type:"drop table"})},{name:"drop_what",symbols:["kw_sequence"],postprocess:e=>(0,a.track)(e,{type:"drop sequence"})},{name:"drop_what",symbols:["kw_type"],postprocess:e=>(0,a.track)(e,{type:"drop type"})},{name:"drop_what",symbols:["kw_trigger"],postprocess:e=>(0,a.track)(e,{type:"drop trigger"})},{name:"drop_what$ebnf$1",symbols:[r.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:l},{name:"drop_what$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_what",symbols:["kw_index","drop_what$ebnf$1"],postprocess:e=>(0,a.track)(e,{type:"drop index",...e[1]&&{concurrently:!0}})},{name:"with_statement",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"with_statement_bindings","with_statement_statement"],postprocess:e=>(0,a.track)(e,{type:"with",bind:e[1],in:t(e[2])})},{name:"with_recursive_statement$subexpression$1",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"kw_recursive"]},{name:"with_recursive_statement",symbols:["with_recursive_statement$subexpression$1","ident","collist_paren",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","union_statement","rparen","with_statement_statement"],postprocess:e=>(0,a.track)(e,{type:"with recursive",alias:u(e[1]),columnNames:e[2].map(u),bind:e[5],in:t(e[7])})},{name:"with_statement_bindings$ebnf$1",symbols:[]},{name:"with_statement_bindings$ebnf$1$subexpression$1",symbols:["comma","with_statement_binding"],postprocess:i},{name:"with_statement_bindings$ebnf$1",symbols:["with_statement_bindings$ebnf$1","with_statement_bindings$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"with_statement_bindings",symbols:["with_statement_binding","with_statement_bindings$ebnf$1"],postprocess:([e,o])=>[e,...o||[]]},{name:"with_statement_binding",symbols:["word",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","with_statement_statement","rparen"],postprocess:e=>(0,a.track)(e,{alias:u(e[0]),statement:t(e[3])})},{name:"with_statement_statement",symbols:["selection"]},{name:"with_statement_statement",symbols:["insert_statement"]},{name:"with_statement_statement",symbols:["update_statement"]},{name:"with_statement_statement",symbols:["delete_statement"]},{name:"createtype_statement$subexpression$1",symbols:["createtype_enum"]},{name:"createtype_statement$subexpression$1",symbols:["createtype_composite"]},{name:"createtype_statement",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_type","qualified_name","createtype_statement$subexpression$1"],postprocess:e=>(0,a.track)(e,{name:e[2],...t(e[3])})},{name:"createtype_enum$macrocall$2",symbols:["enum_value"]},{name:"createtype_enum$macrocall$1$ebnf$1",symbols:[]},{name:"createtype_enum$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"createtype_enum$macrocall$2"],postprocess:i},{name:"createtype_enum$macrocall$1$ebnf$1",symbols:["createtype_enum$macrocall$1$ebnf$1","createtype_enum$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtype_enum$macrocall$1",symbols:["createtype_enum$macrocall$2","createtype_enum$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"createtype_enum",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"kw_enum","lparen","createtype_enum$macrocall$1","rparen"],postprocess:e=>(0,a.track)(e,{type:"create enum",values:e[3]})},{name:"enum_value",symbols:["string"],postprocess:e=>(0,a.track)(e,{value:b(e)})},{name:"createtype_composite$macrocall$2",symbols:["createtype_composite_attr"]},{name:"createtype_composite$macrocall$1$ebnf$1",symbols:[]},{name:"createtype_composite$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"createtype_composite$macrocall$2"],postprocess:i},{name:"createtype_composite$macrocall$1$ebnf$1",symbols:["createtype_composite$macrocall$1$ebnf$1","createtype_composite$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"createtype_composite$macrocall$1",symbols:["createtype_composite$macrocall$2","createtype_composite$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"createtype_composite",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"lparen","createtype_composite$macrocall$1","rparen"],postprocess:e=>(0,a.track)(e,{type:"create composite type",attributes:e[2]})},{name:"createtype_composite_attr$ebnf$1",symbols:["createtable_collate"],postprocess:l},{name:"createtype_composite_attr$ebnf$1",symbols:[],postprocess:()=>null},{name:"createtype_composite_attr",symbols:["word","data_type","createtype_composite_attr$ebnf$1"],postprocess:e=>(0,a.track)(e,{name:u(e[0]),dataType:e[1],...e[2]?{collate:e[2][1]}:{}})},{name:"altertype_statement$subexpression$1",symbols:["altertype_enum_add_value"]},{name:"altertype_statement$subexpression$1",symbols:["altertype_enum_rename"]},{name:"altertype_statement",symbols:["kw_alter","kw_type","qualified_name","altertype_statement$subexpression$1"],postprocess:e=>(0,a.track)(e,{name:e[2],...t(e[3])})},{name:"altertype_enum_add_value",symbols:["kw_add","kw_value","enum_additional_value"],postprocess:e=>(0,a.track)(e,{type:"alter enum",change:{type:"add value",add:e[2]}})},{name:"enum_additional_value",symbols:["string"],postprocess:e=>(0,a.track)(e,{value:b(e)})},{name:"altertype_enum_rename",symbols:["kw_rename",r.lexerAny.has("kw_to")?{type:"kw_to"}:kw_to,"word"],postprocess:e=>(0,a.track)(e,{type:"alter enum",change:{type:"rename",to:u(i(e))}})},{name:"union_left",symbols:["select_statement"]},{name:"union_left",symbols:["select_values"]},{name:"union_left",symbols:["selection_paren"]},{name:"union_right",symbols:["selection"]},{name:"union_right",symbols:["selection_paren"]},{name:"union_statement$subexpression$1$ebnf$1",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:l},{name:"union_statement$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"union_statement$subexpression$1",symbols:[r.lexerAny.has("kw_union")?{type:"kw_union"}:kw_union,"union_statement$subexpression$1$ebnf$1"]},{name:"union_statement",symbols:["union_left","union_statement$subexpression$1","union_right"],postprocess:e=>(0,a.track)(e,{type:b(e[1]," "),left:t(e[0]),right:t(e[2])})},{name:"prepare$ebnf$1$subexpression$1",symbols:["lparen","data_type_list","rparen"],postprocess:_(1)},{name:"prepare$ebnf$1",symbols:["prepare$ebnf$1$subexpression$1"],postprocess:l},{name:"prepare$ebnf$1",symbols:[],postprocess:()=>null},{name:"prepare",symbols:["kw_prepare","ident","prepare$ebnf$1",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"statement_noprep"],postprocess:e=>(0,a.track)(e,{type:"prepare",name:u(e[1]),...e[2]&&{args:e[2]},statement:t(i(e))})},{name:"deallocate$ebnf$1",symbols:["kw_prepare"],postprocess:l},{name:"deallocate$ebnf$1",symbols:[],postprocess:()=>null},{name:"deallocate",symbols:["kw_deallocate","deallocate$ebnf$1","deallocate_target"],postprocess:e=>(0,a.track)(e,{type:"deallocate",target:e[2]})},{name:"deallocate_target",symbols:["deallocate_all"],postprocess:t},{name:"deallocate_target",symbols:["deallocate_name"],postprocess:t},{name:"deallocate_name",symbols:["ident"],postprocess:e=>(0,a.track)(e,u(e[0]))},{name:"deallocate_all",symbols:[r.lexerAny.has("kw_all")?{type:"kw_all"}:kw_all],postprocess:e=>(0,a.track)(e,{option:"all"})},{name:"create_view_statements",symbols:["create_view"]},{name:"create_view_statements",symbols:["create_materialized_view"]},{name:"create_view$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or,"kw_replace"]},{name:"create_view$ebnf$1",symbols:["create_view$ebnf$1$subexpression$1"],postprocess:l},{name:"create_view$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$2$subexpression$1",symbols:["kw_temp"]},{name:"create_view$ebnf$2$subexpression$1",symbols:["kw_temporary"]},{name:"create_view$ebnf$2",symbols:["create_view$ebnf$2$subexpression$1"],postprocess:l},{name:"create_view$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$3",symbols:["kw_recursive"],postprocess:l},{name:"create_view$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$4$subexpression$1$macrocall$2",symbols:["ident"]},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"create_view$ebnf$4$subexpression$1$macrocall$2"],postprocess:i},{name:"create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1",symbols:["create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1","create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_view$ebnf$4$subexpression$1$macrocall$1",symbols:["create_view$ebnf$4$subexpression$1$macrocall$2","create_view$ebnf$4$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"create_view$ebnf$4$subexpression$1",symbols:["lparen","create_view$ebnf$4$subexpression$1$macrocall$1","rparen"],postprocess:_(1)},{name:"create_view$ebnf$4",symbols:["create_view$ebnf$4$subexpression$1"],postprocess:l},{name:"create_view$ebnf$4",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$5",symbols:["create_view_opts"],postprocess:l},{name:"create_view$ebnf$5",symbols:[],postprocess:()=>null},{name:"create_view$ebnf$6$subexpression$1$subexpression$1",symbols:["kw_local"]},{name:"create_view$ebnf$6$subexpression$1$subexpression$1",symbols:["kw_cascaded"]},{name:"create_view$ebnf$6$subexpression$1",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_view$ebnf$6$subexpression$1$subexpression$1",r.lexerAny.has("kw_check")?{type:"kw_check"}:kw_check,"kw_option"],postprocess:_(1)},{name:"create_view$ebnf$6",symbols:["create_view$ebnf$6$subexpression$1"],postprocess:l},{name:"create_view$ebnf$6",symbols:[],postprocess:()=>null},{name:"create_view",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_view$ebnf$1","create_view$ebnf$2","create_view$ebnf$3","kw_view","qualified_name","create_view$ebnf$4","create_view$ebnf$5",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"selection","create_view$ebnf$6"],postprocess:e=>(0,a.track)(e,{type:"create view",...e[1]&&{orReplace:!0},...e[2]&&{temp:!0},...e[3]&&{recursive:!0},name:e[5],...e[6]&&{columnNames:e[6].map(u)},...e[7]&&{parameters:E(e[7])},query:e[9],...e[10]&&{checkOption:b(e[10])}})},{name:"create_view_opt",symbols:["ident",r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"ident"],postprocess:([e,o,s])=>[b(e),b(s)]},{name:"create_view_opts$macrocall$2",symbols:["create_view_opt"]},{name:"create_view_opts$macrocall$1$ebnf$1",symbols:[]},{name:"create_view_opts$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"create_view_opts$macrocall$2"],postprocess:i},{name:"create_view_opts$macrocall$1$ebnf$1",symbols:["create_view_opts$macrocall$1$ebnf$1","create_view_opts$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_view_opts$macrocall$1",symbols:["create_view_opts$macrocall$2","create_view_opts$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"create_view_opts",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_view_opts$macrocall$1"],postprocess:i},{name:"create_materialized_view$ebnf$1",symbols:["kw_ifnotexists"],postprocess:l},{name:"create_materialized_view$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$2",symbols:["ident"]},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"create_materialized_view$ebnf$2$subexpression$1$macrocall$2"],postprocess:i},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1",symbols:["create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1","create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_materialized_view$ebnf$2$subexpression$1$macrocall$1",symbols:["create_materialized_view$ebnf$2$subexpression$1$macrocall$2","create_materialized_view$ebnf$2$subexpression$1$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"create_materialized_view$ebnf$2$subexpression$1",symbols:["lparen","create_materialized_view$ebnf$2$subexpression$1$macrocall$1","rparen"],postprocess:_(1)},{name:"create_materialized_view$ebnf$2",symbols:["create_materialized_view$ebnf$2$subexpression$1"],postprocess:l},{name:"create_materialized_view$ebnf$2",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$3",symbols:["create_view_opts"],postprocess:l},{name:"create_materialized_view$ebnf$3",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$4$subexpression$1",symbols:["kw_tablespace","ident"],postprocess:i},{name:"create_materialized_view$ebnf$4",symbols:["create_materialized_view$ebnf$4$subexpression$1"],postprocess:l},{name:"create_materialized_view$ebnf$4",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$5$subexpression$1$ebnf$1",symbols:["kw_no"],postprocess:l},{name:"create_materialized_view$ebnf$5$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_materialized_view$ebnf$5$subexpression$1",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"create_materialized_view$ebnf$5$subexpression$1$ebnf$1","kw_data"]},{name:"create_materialized_view$ebnf$5",symbols:["create_materialized_view$ebnf$5$subexpression$1"],postprocess:l},{name:"create_materialized_view$ebnf$5",symbols:[],postprocess:()=>null},{name:"create_materialized_view",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"kw_materialized","kw_view","create_materialized_view$ebnf$1","qualified_name","create_materialized_view$ebnf$2","create_materialized_view$ebnf$3","create_materialized_view$ebnf$4",r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"selection","create_materialized_view$ebnf$5"],postprocess:e=>(0,a.track)(e,{type:"create materialized view",...e[3]&&{ifNotExists:!0},name:e[4],...e[5]&&{columnNames:e[6].map(u)},...e[6]&&{parameters:E(e[6])},...e[7]&&{tablespace:u(e[7])},query:e[9],...e[10]&&{withData:b(e[10][1])!=="no"}})},{name:"refresh_view_statements$ebnf$1",symbols:[r.lexerAny.has("kw_concurrently")?{type:"kw_concurrently"}:kw_concurrently],postprocess:l},{name:"refresh_view_statements$ebnf$1",symbols:[],postprocess:()=>null},{name:"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1",symbols:["kw_no"],postprocess:l},{name:"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"refresh_view_statements$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("kw_with")?{type:"kw_with"}:kw_with,"refresh_view_statements$ebnf$2$subexpression$1$ebnf$1","kw_data"]},{name:"refresh_view_statements$ebnf$2",symbols:["refresh_view_statements$ebnf$2$subexpression$1"],postprocess:l},{name:"refresh_view_statements$ebnf$2",symbols:[],postprocess:()=>null},{name:"refresh_view_statements",symbols:["kw_refresh","kw_materialized","kw_view","refresh_view_statements$ebnf$1","qname","refresh_view_statements$ebnf$2"],postprocess:e=>(0,a.track)(e,{type:"refresh materialized view",...e[3]?{concurrently:!0}:{},name:e[4],...e[5]?{withData:b(e[5][1])!=="no"}:{}})},{name:"functions_statements",symbols:["create_func"]},{name:"functions_statements",symbols:["do_stm"]},{name:"functions_statements",symbols:["drop_func"]},{name:"create_func$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("kw_or")?{type:"kw_or"}:kw_or,"kw_replace"]},{name:"create_func$ebnf$1",symbols:["create_func$ebnf$1$subexpression$1"],postprocess:l},{name:"create_func$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_func$subexpression$1$ebnf$1$macrocall$2",symbols:["func_argdef"]},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1",symbols:[]},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"create_func$subexpression$1$ebnf$1$macrocall$2"],postprocess:i},{name:"create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1","create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"create_func$subexpression$1$ebnf$1$macrocall$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$2","create_func$subexpression$1$ebnf$1$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"create_func$subexpression$1$ebnf$1",symbols:["create_func$subexpression$1$ebnf$1$macrocall$1"],postprocess:l},{name:"create_func$subexpression$1$ebnf$1",symbols:[],postprocess:()=>null},{name:"create_func$subexpression$1",symbols:["lparen","create_func$subexpression$1$ebnf$1","rparen"],postprocess:_(1)},{name:"create_func$ebnf$2",symbols:["func_spec"]},{name:"create_func$ebnf$2",symbols:["create_func$ebnf$2","func_spec"],postprocess:e=>e[0].concat([e[1]])},{name:"create_func",symbols:[r.lexerAny.has("kw_create")?{type:"kw_create"}:kw_create,"create_func$ebnf$1","kw_function","qname","create_func$subexpression$1","create_func$ebnf$2"],postprocess:(e,o)=>{var s;const p={};for(const y of e[5]){for(const g in y)if(g[0]!=="_"&&g in p)throw new Error("conflicting or redundant options "+g);Object.assign(p,y)}return(0,a.track)(e,{type:"create function",...e[1]&&{orReplace:!0},name:e[3],arguments:(s=e[4])!==null&&s!==void 0?s:[],...p})}},{name:"func_argdef$ebnf$1",symbols:["func_argopts"],postprocess:l},{name:"func_argdef$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_argdef$ebnf$2",symbols:["func_argdefault"],postprocess:l},{name:"func_argdef$ebnf$2",symbols:[],postprocess:()=>null},{name:"func_argdef",symbols:["func_argdef$ebnf$1","data_type","func_argdef$ebnf$2"],postprocess:e=>(0,a.track)(e,{default:e[2],type:e[1],...e[0]})},{name:"func_argdefault",symbols:[r.lexerAny.has("kw_default")?{type:"kw_default"}:kw_default,"expr"],postprocess:e=>e[1]},{name:"func_argdefault",symbols:[r.lexerAny.has("op_eq")?{type:"op_eq"}:op_eq,"expr"],postprocess:e=>e[1]},{name:"func_argopts$ebnf$1",symbols:["word"],postprocess:l},{name:"func_argopts$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_argopts",symbols:["func_argmod","func_argopts$ebnf$1"],postprocess:e=>(0,a.track)(e,{mode:b(e[0]),...e[1]&&{name:u(e[1])}})},{name:"func_argopts",symbols:["word"],postprocess:(e,o)=>{const s=u(e);return s==="out"||s==="inout"||s==="variadic"?o:(0,a.track)(e,{name:s})}},{name:"func_argmod",symbols:[r.lexerAny.has("kw_in")?{type:"kw_in"}:kw_in]},{name:"func_argmod",symbols:["kw_out"]},{name:"func_argmod",symbols:["kw_inout"]},{name:"func_argmod",symbols:["kw_variadic"]},{name:"func_spec",symbols:["kw_language","word"],postprocess:e=>(0,a.track)(e,{language:u(i(e))})},{name:"func_spec",symbols:["func_purity"],postprocess:e=>(0,a.track)(e,{purity:b(e)})},{name:"func_spec$subexpression$1",symbols:[r.lexerAny.has("codeblock")?{type:"codeblock"}:codeblock]},{name:"func_spec$subexpression$1",symbols:["string"]},{name:"func_spec",symbols:[r.lexerAny.has("kw_as")?{type:"kw_as"}:kw_as,"func_spec$subexpression$1"],postprocess:e=>({code:b(i(e))})},{name:"func_spec$ebnf$1",symbols:[r.lexerAny.has("kw_not")?{type:"kw_not"}:kw_not],postprocess:l},{name:"func_spec$ebnf$1",symbols:[],postprocess:()=>null},{name:"func_spec$subexpression$2",symbols:["word"],postprocess:w("leakproof")},{name:"func_spec",symbols:["func_spec$ebnf$1","func_spec$subexpression$2"],postprocess:e=>(0,a.track)(e,{leakproof:!e[0]})},{name:"func_spec",symbols:["func_returns"],postprocess:e=>(0,a.track)(e,{returns:t(e)})},{name:"func_spec$subexpression$3",symbols:["word"],postprocess:w("called")},{name:"func_spec",symbols:["func_spec$subexpression$3","oninp"],postprocess:()=>({onNullInput:"call"})},{name:"func_spec$subexpression$4",symbols:["word"],postprocess:w("returns")},{name:"func_spec",symbols:["func_spec$subexpression$4",r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null,"oninp"],postprocess:()=>({onNullInput:"null"})},{name:"func_spec$subexpression$5",symbols:["word"],postprocess:w("strict")},{name:"func_spec",symbols:["func_spec$subexpression$5"],postprocess:()=>({onNullInput:"strict"})},{name:"func_purity",symbols:["word"],postprocess:w("immutable")},{name:"func_purity",symbols:["word"],postprocess:w("stable")},{name:"func_purity",symbols:["word"],postprocess:w("volatile")},{name:"oninp$subexpression$1",symbols:["word"],postprocess:w("input")},{name:"oninp",symbols:[r.lexerAny.has("kw_on")?{type:"kw_on"}:kw_on,r.lexerAny.has("kw_null")?{type:"kw_null"}:kw_null,"oninp$subexpression$1"]},{name:"func_returns",symbols:["kw_returns","data_type"],postprocess:i},{name:"func_returns$macrocall$2",symbols:["func_ret_table_col"]},{name:"func_returns$macrocall$1$ebnf$1",symbols:[]},{name:"func_returns$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"func_returns$macrocall$2"],postprocess:i},{name:"func_returns$macrocall$1$ebnf$1",symbols:["func_returns$macrocall$1$ebnf$1","func_returns$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"func_returns$macrocall$1",symbols:["func_returns$macrocall$2","func_returns$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"func_returns",symbols:["kw_returns",r.lexerAny.has("kw_table")?{type:"kw_table"}:kw_table,"lparen","func_returns$macrocall$1","rparen"],postprocess:e=>(0,a.track)(e,{kind:"table",columns:e[3]})},{name:"func_ret_table_col",symbols:["word","data_type"],postprocess:e=>(0,a.track)(e,{name:u(e[0]),type:e[1]})},{name:"do_stm$ebnf$1$subexpression$1",symbols:["kw_language","word"],postprocess:i},{name:"do_stm$ebnf$1",symbols:["do_stm$ebnf$1$subexpression$1"],postprocess:l},{name:"do_stm$ebnf$1",symbols:[],postprocess:()=>null},{name:"do_stm",symbols:[r.lexerAny.has("kw_do")?{type:"kw_do"}:kw_do,"do_stm$ebnf$1",r.lexerAny.has("codeblock")?{type:"codeblock"}:codeblock],postprocess:e=>(0,a.track)(e,{type:"do",...e[1]&&{language:u(e[1])},code:e[2].value})},{name:"drop_func$ebnf$1$subexpression$1",symbols:["kw_if","kw_exists"]},{name:"drop_func$ebnf$1",symbols:["drop_func$ebnf$1$subexpression$1"],postprocess:l},{name:"drop_func$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_func$ebnf$2",symbols:["drop_func_overload"],postprocess:l},{name:"drop_func$ebnf$2",symbols:[],postprocess:()=>null},{name:"drop_func",symbols:["kw_drop","kw_function","drop_func$ebnf$1","qname","drop_func$ebnf$2"],postprocess:e=>(0,a.track)(e,{type:"drop function",...e[2]&&{ifExists:!0},name:e[3],...e[4]&&{arguments:e[4]}})},{name:"drop_func_overload$macrocall$2",symbols:["drop_func_overload_col"]},{name:"drop_func_overload$macrocall$1$ebnf$1",symbols:[]},{name:"drop_func_overload$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"drop_func_overload$macrocall$2"],postprocess:i},{name:"drop_func_overload$macrocall$1$ebnf$1",symbols:["drop_func_overload$macrocall$1$ebnf$1","drop_func_overload$macrocall$1$ebnf$1$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"drop_func_overload$macrocall$1",symbols:["drop_func_overload$macrocall$2","drop_func_overload$macrocall$1$ebnf$1"],postprocess:([e,o])=>[t(e),...o.map(t)||[]]},{name:"drop_func_overload",symbols:["lparen","drop_func_overload$macrocall$1","rparen"],postprocess:_(1)},{name:"drop_func_overload_col$ebnf$1",symbols:["word"],postprocess:l},{name:"drop_func_overload_col$ebnf$1",symbols:[],postprocess:()=>null},{name:"drop_func_overload_col",symbols:["drop_func_overload_col$ebnf$1","qname"],postprocess:e=>(0,a.track)(e,{type:e[1],...e[0]&&{name:u(e[0])}})},{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2",symbols:[]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["statement_separator"]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$2$subexpression$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","statement"]},{name:"main$ebnf$2",symbols:["main$ebnf$2","main$ebnf$2$subexpression$1"],postprocess:e=>e[0].concat([e[1]])},{name:"main$ebnf$3",symbols:[]},{name:"main$ebnf$3",symbols:["main$ebnf$3","statement_separator"],postprocess:e=>e[0].concat([e[1]])},{name:"main",symbols:["main$ebnf$1","statement","main$ebnf$2","main$ebnf$3"],postprocess:([e,o,s])=>{const p=s,y=[t(o),...p.map(g=>t(g[1]))];return y.length===1?y[0]:y}},{name:"statement_separator",symbols:[r.lexerAny.has("semicolon")?{type:"semicolon"}:semicolon]},{name:"statement",symbols:["statement_noprep"]},{name:"statement",symbols:["prepare"]},{name:"statement",symbols:["deallocate"]},{name:"statement_noprep",symbols:["selection"]},{name:"statement_noprep",symbols:["createtable_statement"]},{name:"statement_noprep",symbols:["createextension_statement"]},{name:"statement_noprep",symbols:["createindex_statement"]},{name:"statement_noprep",symbols:["simplestatements_all"]},{name:"statement_noprep",symbols:["insert_statement"]},{name:"statement_noprep",symbols:["update_statement"]},{name:"statement_noprep",symbols:["altertable_statement"]},{name:"statement_noprep",symbols:["alterindex_statement"]},{name:"statement_noprep",symbols:["delete_statement"]},{name:"statement_noprep",symbols:["create_sequence_statement"]},{name:"statement_noprep",symbols:["alter_sequence_statement"]},{name:"statement_noprep",symbols:["drop_statement"]},{name:"statement_noprep",symbols:["createtype_statement"]},{name:"statement_noprep",symbols:["altertype_statement"]},{name:"statement_noprep",symbols:["create_view_statements"]},{name:"statement_noprep",symbols:["refresh_view_statements"]},{name:"statement_noprep",symbols:["create_schema"]},{name:"statement_noprep",symbols:["raise_statement"]},{name:"statement_noprep",symbols:["comment_statement"]},{name:"statement_noprep",symbols:["functions_statements"]},{name:"selection",symbols:["select_statement"],postprocess:t},{name:"selection",symbols:["select_values"],postprocess:t},{name:"selection",symbols:["with_statement"],postprocess:t},{name:"selection",symbols:["with_recursive_statement"],postprocess:t},{name:"selection",symbols:["union_statement"],postprocess:t},{name:"selection_paren",symbols:["lparen","selection","rparen"],postprocess:_(1)}],ParserStart:"main"};m.default=U}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0});function l(k){return k[0]}const r=A(12),a=k=>k&&k[k.length-1],u={Lexer:r.lexerAny,ParserRules:[{name:"main$ebnf$1",symbols:["elements"],postprocess:l},{name:"main$ebnf$1",symbols:[],postprocess:()=>null},{name:"main",symbols:[r.lexerAny.has("start_list")?{type:"start_list"}:start_list,"main$ebnf$1",r.lexerAny.has("end_list")?{type:"end_list"}:end_list],postprocess:k=>k[1]||[]},{name:"elements$ebnf$1",symbols:[]},{name:"elements$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"elt"],postprocess:a},{name:"elements$ebnf$1",symbols:["elements$ebnf$1","elements$ebnf$1$subexpression$1"],postprocess:k=>k[0].concat([k[1]])},{name:"elements",symbols:["elt","elements$ebnf$1"],postprocess:([k,f])=>[k,...f||[]]},{name:"elt",symbols:[r.lexerAny.has("value")?{type:"value"}:value],postprocess:k=>k[0].value},{name:"elt",symbols:["main"],postprocess:k=>k[0]}],ParserStart:"main"};m.default=u}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.lexerAny=m.lexer=void 0;const l=A(0);m.lexer=(0,l.compile)({valueString:{match:/"(?:\\["\\]|[^\n"\\])*"/,value:r=>JSON.parse(r),type:r=>"value"},valueRaw:{match:/[^\s,\{\}"](?:[^,\{\}"]*[^\s,\{\}"])?/,type:()=>"value"},comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},start_list:"{",end_list:"}"}),m.lexer.next=(r=>()=>{let a;for(;(a=r.call(m.lexer))&&a.type==="space";);return a})(m.lexer.next),m.lexerAny=m.lexer}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0});function l(t){return t[0]}const r=A(14),a=t=>_=>_[t],u=t=>t&&t[t.length-1];function k(t){return Array.isArray(t)&&t.length===1&&(t=k(t[0])),Array.isArray(t)&&!t.length?null:t}const f={Lexer:r.lexerAny,ParserRules:[{name:"number$subexpression$1",symbols:["float"]},{name:"number$subexpression$1",symbols:["int"]},{name:"number",symbols:["number$subexpression$1"],postprocess:k},{name:"float",symbols:[r.lexerAny.has("float")?{type:"float"}:float],postprocess:t=>parseFloat(k(t))},{name:"int",symbols:[r.lexerAny.has("int")?{type:"int"}:int],postprocess:t=>parseInt(k(t),10)},{name:"comma",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma],postprocess:l},{name:"point$macrocall$2",symbols:["point_content"]},{name:"point$macrocall$1$subexpression$1",symbols:["point$macrocall$2"]},{name:"point$macrocall$1$subexpression$1",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen,"point$macrocall$2",r.lexerAny.has("rparen")?{type:"rparen"}:rparen],postprocess:a(1)},{name:"point$macrocall$1",symbols:["point$macrocall$1$subexpression$1"],postprocess:k},{name:"point",symbols:["point$macrocall$1"],postprocess:k},{name:"point_content",symbols:["number","comma","number"],postprocess:t=>({x:t[0],y:t[2]})},{name:"line",symbols:[r.lexerAny.has("lcurl")?{type:"lcurl"}:lcurl,"number","comma","number","comma","number",r.lexerAny.has("rcurl")?{type:"rcurl"}:rcurl],postprocess:t=>({a:t[1],b:t[3],c:t[5]})},{name:"box",symbols:["closed_path"],postprocess:([t],_)=>t.length!==2?_:t},{name:"lseg",symbols:["path"],postprocess:([t],_)=>t.path.length!==2?_:t.path},{name:"path",symbols:["open_path"],postprocess:([t])=>({closed:!1,path:t})},{name:"path",symbols:["closed_path"],postprocess:([t])=>({closed:!0,path:t})},{name:"open_path$macrocall$2",symbols:[r.lexerAny.has("lbracket")?{type:"lbracket"}:lbracket]},{name:"open_path$macrocall$3",symbols:[r.lexerAny.has("rbracket")?{type:"rbracket"}:rbracket]},{name:"open_path$macrocall$1$macrocall$2",symbols:["point"]},{name:"open_path$macrocall$1$macrocall$1$ebnf$1",symbols:[]},{name:"open_path$macrocall$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"open_path$macrocall$1$macrocall$2"],postprocess:u},{name:"open_path$macrocall$1$macrocall$1$ebnf$1",symbols:["open_path$macrocall$1$macrocall$1$ebnf$1","open_path$macrocall$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:t=>t[0].concat([t[1]])},{name:"open_path$macrocall$1$macrocall$1",symbols:["open_path$macrocall$1$macrocall$2","open_path$macrocall$1$macrocall$1$ebnf$1"],postprocess:([t,_])=>[k(t),..._.map(k)||[]]},{name:"open_path$macrocall$1",symbols:["open_path$macrocall$2","open_path$macrocall$1$macrocall$1","open_path$macrocall$3"],postprocess:a(1)},{name:"open_path",symbols:["open_path$macrocall$1"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$2",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"closed_path$subexpression$1$macrocall$3",symbols:[r.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$2",symbols:["point"]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1",symbols:[]},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"closed_path$subexpression$1$macrocall$1$macrocall$2"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1",symbols:["closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1","closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1$subexpression$1"],postprocess:t=>t[0].concat([t[1]])},{name:"closed_path$subexpression$1$macrocall$1$macrocall$1",symbols:["closed_path$subexpression$1$macrocall$1$macrocall$2","closed_path$subexpression$1$macrocall$1$macrocall$1$ebnf$1"],postprocess:([t,_])=>[k(t),..._.map(k)||[]]},{name:"closed_path$subexpression$1$macrocall$1",symbols:["closed_path$subexpression$1$macrocall$2","closed_path$subexpression$1$macrocall$1$macrocall$1","closed_path$subexpression$1$macrocall$3"],postprocess:a(1)},{name:"closed_path$subexpression$1",symbols:["closed_path$subexpression$1$macrocall$1"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$5",symbols:["point"]},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1",symbols:[]},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("comma")?{type:"comma"}:comma,"closed_path$subexpression$1$macrocall$5"],postprocess:u},{name:"closed_path$subexpression$1$macrocall$4$ebnf$1",symbols:["closed_path$subexpression$1$macrocall$4$ebnf$1","closed_path$subexpression$1$macrocall$4$ebnf$1$subexpression$1"],postprocess:t=>t[0].concat([t[1]])},{name:"closed_path$subexpression$1$macrocall$4",symbols:["closed_path$subexpression$1$macrocall$5","closed_path$subexpression$1$macrocall$4$ebnf$1"],postprocess:([t,_])=>[k(t),..._.map(k)||[]]},{name:"closed_path$subexpression$1",symbols:["closed_path$subexpression$1$macrocall$4"],postprocess:u},{name:"closed_path",symbols:["closed_path$subexpression$1"],postprocess:a(0)},{name:"polygon",symbols:["closed_path"],postprocess:a(0)},{name:"circle_body",symbols:["point","comma","number"],postprocess:t=>({c:t[0],r:t[2]})},{name:"circle$subexpression$1$macrocall$2",symbols:[r.lexerAny.has("lcomp")?{type:"lcomp"}:lcomp]},{name:"circle$subexpression$1$macrocall$3",symbols:[r.lexerAny.has("rcomp")?{type:"rcomp"}:rcomp]},{name:"circle$subexpression$1$macrocall$1",symbols:["circle$subexpression$1$macrocall$2","circle_body","circle$subexpression$1$macrocall$3"],postprocess:a(1)},{name:"circle$subexpression$1",symbols:["circle$subexpression$1$macrocall$1"]},{name:"circle$subexpression$1$macrocall$5",symbols:[r.lexerAny.has("lparen")?{type:"lparen"}:lparen]},{name:"circle$subexpression$1$macrocall$6",symbols:[r.lexerAny.has("rparen")?{type:"rparen"}:rparen]},{name:"circle$subexpression$1$macrocall$4",symbols:["circle$subexpression$1$macrocall$5","circle_body","circle$subexpression$1$macrocall$6"],postprocess:a(1)},{name:"circle$subexpression$1",symbols:["circle$subexpression$1$macrocall$4"]},{name:"circle$subexpression$1",symbols:["circle_body"]},{name:"circle",symbols:["circle$subexpression$1"],postprocess:k}],ParserStart:"number"};m.default=f}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.lexerAny=m.lexer=void 0;const l=A(0);m.lexer=(0,l.compile)({comma:",",space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,lcurl:"{",rcurl:"}",lparen:"(",rparen:")",lbracket:"[",rbracket:"]",lcomp:"<",rcomp:">"}),m.lexer.next=(r=>()=>{let a;for(;(a=r.call(m.lexer))&&a.type==="space";);return a})(m.lexer.next),m.lexerAny=m.lexer}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0});function l(u){return u[0]}const r=A(16),a={Lexer:r.lexerAny,ParserRules:[{name:"main$ebnf$1",symbols:["elt"]},{name:"main$ebnf$1",symbols:["main$ebnf$1","elt"],postprocess:u=>u[0].concat([u[1]])},{name:"main",symbols:["main$ebnf$1"],postprocess:([u])=>{const k=new Set;for(const f of u){const t=typeof f[1]=="number"?f[0]:"time";if(k.has(t))return"invalid";k.add(t)}return u}},{name:"elt",symbols:["time"]},{name:"elt",symbols:["num","unit"],postprocess:([[u],k])=>(k=k[0].type,[k,u])},{name:"unit",symbols:[r.lexerAny.has("years")?{type:"years"}:years]},{name:"unit",symbols:[r.lexerAny.has("months")?{type:"months"}:months]},{name:"unit",symbols:[r.lexerAny.has("days")?{type:"days"}:days]},{name:"unit",symbols:[r.lexerAny.has("hours")?{type:"hours"}:hours]},{name:"unit",symbols:[r.lexerAny.has("minutes")?{type:"minutes"}:minutes]},{name:"unit",symbols:[r.lexerAny.has("seconds")?{type:"seconds"}:seconds]},{name:"unit",symbols:[r.lexerAny.has("milliseconds")?{type:"milliseconds"}:milliseconds]},{name:"num",symbols:["int"]},{name:"num",symbols:["float"]},{name:"uint",symbols:[r.lexerAny.has("int")?{type:"int"}:int],postprocess:([u])=>parseInt(u,10)},{name:"int$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("neg")?{type:"neg"}:neg]},{name:"int$ebnf$1",symbols:["int$ebnf$1$subexpression$1"],postprocess:l},{name:"int$ebnf$1",symbols:[],postprocess:()=>null},{name:"int",symbols:["int$ebnf$1",r.lexerAny.has("int")?{type:"int"}:int],postprocess:([u,k])=>parseInt(k,10)*(u?-1:1)},{name:"float$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("neg")?{type:"neg"}:neg]},{name:"float$ebnf$1",symbols:["float$ebnf$1$subexpression$1"],postprocess:l},{name:"float$ebnf$1",symbols:[],postprocess:()=>null},{name:"float$ebnf$2",symbols:[r.lexerAny.has("int")?{type:"int"}:int],postprocess:l},{name:"float$ebnf$2",symbols:[],postprocess:()=>null},{name:"float",symbols:["float$ebnf$1","float$ebnf$2",r.lexerAny.has("dot")?{type:"dot"}:dot,r.lexerAny.has("int")?{type:"int"}:int],postprocess:([u,...k])=>parseFloat(k.map(f=>f?f.text:"0").join(""))*(u?-1:1)},{name:"time$ebnf$1$subexpression$1",symbols:[r.lexerAny.has("colon")?{type:"colon"}:colon,"uint"]},{name:"time$ebnf$1",symbols:["time$ebnf$1$subexpression$1"],postprocess:l},{name:"time$ebnf$1",symbols:[],postprocess:()=>null},{name:"time$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("dot")?{type:"dot"}:dot,r.lexerAny.has("int")?{type:"int"}:int]},{name:"time$ebnf$2",symbols:["time$ebnf$2$subexpression$1"],postprocess:l},{name:"time$ebnf$2",symbols:[],postprocess:()=>null},{name:"time",symbols:["uint",r.lexerAny.has("colon")?{type:"colon"}:colon,"uint","time$ebnf$1","time$ebnf$2"],postprocess:([u,k,f,t,_])=>{t=t&&t[1],_=_&&_[1];const i=typeof t=="number"?[["hours",u],["minutes",f],["seconds",t]]:[["minutes",u],["seconds",f]];return _&&i.push(["milliseconds",parseFloat("0."+_)*1e3]),i}}],ParserStart:"main"};m.default=a}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.lexerAny=m.lexer=void 0;const l=A(0);m.lexer=(0,l.compile)({int:/\d+/,neg:"-",dot:".",years:/(?:y|yrs?|years?)\b/,months:/(?:mon(?:th)?s?)\b/,days:/(?:d|days?)\b/,hours:/(?:h|hrs?|hours?)\b/,minutes:/(?:m|mins?|minutes?)\b/,seconds:/(?:s|secs?|seconds?)\b/,milliseconds:/(?:ms|milliseconds?)\b/,space:{match:/[\s\t\n\v\f\r]+/,lineBreaks:!0},colon:":"}),m.lexer.next=(r=>()=>{let a;for(;(a=r.call(m.lexer))&&a.type==="space";);return a})(m.lexer.next),m.lexerAny=m.lexer}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0});function l(u){return u[0]}const r=A(18),a={Lexer:r.lexerAny,ParserRules:[{name:"num",symbols:[r.lexerAny.has("int")?{type:"int"}:int]},{name:"num",symbols:[r.lexerAny.has("float")?{type:"float"}:float]},{name:"main$ebnf$1",symbols:[]},{name:"main$ebnf$1",symbols:["main$ebnf$1","long"],postprocess:u=>u[0].concat([u[1]])},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["short"]},{name:"main$ebnf$2$subexpression$1$ebnf$1",symbols:["main$ebnf$2$subexpression$1$ebnf$1","short"],postprocess:u=>u[0].concat([u[1]])},{name:"main$ebnf$2$subexpression$1",symbols:[r.lexerAny.has("T")?{type:"T"}:T,"main$ebnf$2$subexpression$1$ebnf$1"]},{name:"main$ebnf$2",symbols:["main$ebnf$2$subexpression$1"],postprocess:l},{name:"main$ebnf$2",symbols:[],postprocess:()=>null},{name:"main",symbols:[r.lexerAny.has("P")?{type:"P"}:P,"main$ebnf$1","main$ebnf$2"],postprocess:([u,k,f],t)=>(f=f?f[1]:[],!k.length&&!f.length?t:k.length?f.length?[...k,...f]:k:f)},{name:"long$subexpression$1",symbols:[r.lexerAny.has("Y")?{type:"Y"}:Y]},{name:"long$subexpression$1",symbols:[r.lexerAny.has("M")?{type:"M"}:M]},{name:"long$subexpression$1",symbols:[r.lexerAny.has("W")?{type:"W"}:W]},{name:"long$subexpression$1",symbols:[r.lexerAny.has("D")?{type:"D"}:D]},{name:"long",symbols:["num","long$subexpression$1"],postprocess:([u,k])=>{switch(u=parseFloat(u[0].value),k=k[0].type,k){case"Y":return["years",u];case"M":return["months",u];case"W":return["days",u*7];case"D":return["days",u];default:throw new Error("Unexpected unit "+k)}}},{name:"short$ebnf$1",symbols:[r.lexerAny.has("T")?{type:"T"}:T],postprocess:l},{name:"short$ebnf$1",symbols:[],postprocess:()=>null},{name:"short$subexpression$1",symbols:[r.lexerAny.has("H")?{type:"H"}:H]},{name:"short$subexpression$1",symbols:[r.lexerAny.has("M")?{type:"M"}:M]},{name:"short$subexpression$1",symbols:[r.lexerAny.has("S")?{type:"S"}:S]},{name:"short",symbols:["short$ebnf$1","num","short$subexpression$1"],postprocess:([u,k,f])=>{switch(k=parseFloat(k[0].value),f=f[0].type,f){case"H":return["hours",k];case"M":return["minutes",k];case"S":return["seconds",k];default:throw new Error("Unexpected unit "+f)}}}],ParserStart:"num"};m.default=a}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.lexerAny=m.lexer=void 0;const l=A(0);m.lexer=(0,l.compile)({int:/\-?\d+(?![\.\d])/,float:/\-?(?:(?:\d*\.\d+)|(?:\d+\.\d*))/,P:"P",Y:"Y",M:"M",W:"W",D:"D",H:"H",S:"S",T:"T"}),m.lexerAny=m.lexer}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.toSql=void 0;const l=A(2),r=A(5),a=A(6),u=A(20),k=A(3),f=new Set(k.sqlKeywords.map(o=>o.toLowerCase()));let t=[];function _(o){return i(o.name)}function i(o,s){if(!s){const p=o.toLowerCase();if(p===o&&!f.has(p)&&/^[a-z][a-z0-9_]*$/.test(p))return o}return'"'+o+'"'}function n(o,s,p){p&&t.push("(");let y=!0;for(const g of o)y||t.push(", "),y=!1,s(g);p&&t.push(")")}function c(o,s){switch(o.type){case"foreign key":t.push(" foreign key (",...o.localColumns.map(_).join(", "),")");case"reference":t.push(" REFERENCES "),s.tableRef(o.foreignTable),t.push("(",...o.foreignColumns.map(_).join(", "),") "),o.match&&t.push(" MATCH ",o.match.toUpperCase()),o.onDelete&&t.push(" ON DELETE ",o.onDelete),o.onUpdate&&t.push(" ON UPDATE ",o.onUpdate);break;case"primary key":case"unique":t.push(" ",o.type," "),"columns"in o&&t.push("(",...o.columns.map(_).join(", "),") ");break;case"check":t.push(" check "),s.expr(o.expr);break;case"not null":case"null":t.push(" ",o.type," ");break;case"default":t.push(" default "),s.expr(o.default);break;case"add generated":t.push(" GENERATED "),R(s,o);break;default:throw a.NotSupported.never(o)}t.push(" ")}function $(o,s){o.schema&&t.push(i(o.schema),"."),t.push(i(o.name,s)," ")}function b(o){$(o),o.alias&&t.push(" AS ",i(o.alias)," ")}function E(o,s){t.push(" ORDER BY "),n(s,p=>{o.expr(p.by),p.order&&t.push(" ",p.order," "),p.nulls&&t.push(" NULLS ",p.nulls," ")},!1)}function q(o){switch(o.type){case"default":t.push("DEFAULT ");break;case"identifier":t.push(o.name);break;case"list":let s=!0;for(const p of o.values)s||t.push(", "),s=!1,q(p);break;case"value":t.push(typeof o.value=="number"?o.value.toString():(0,u.literal)(o.value));break;default:throw a.NotSupported.never(o)}}function R(o,s){s.always&&t.push(s.always.toUpperCase()," "),t.push("AS IDENTITY "),s.sequence&&(t.push("("),s.sequence.name&&(t.push("SEQUENCE NAME "),$(s.sequence.name),t.push(" ")),d(o,s.sequence),t.push(") "))}function d(o,s){s.as&&(t.push("AS "),o.dataType(s.as),t.push(" ")),typeof s.incrementBy=="number"&&t.push("INCREMENT BY ",s.incrementBy.toString()," "),s.minValue==="no minvalue"&&t.push("NO MINVALUE "),typeof s.minValue=="number"&&t.push("MINVALUE ",s.minValue.toString()," "),s.maxValue==="no maxvalue"&&t.push("NO MAXVALUE "),typeof s.maxValue=="number"&&t.push("MAXVALUE ",s.maxValue.toString()," "),typeof s.startWith=="number"&&t.push("START WITH ",s.startWith.toString()," "),typeof s.cache=="number"&&t.push("CACHE ",s.cache.toString()," "),s.cycle&&t.push(s.cycle," "),s.ownedBy==="none"?t.push("OWNED BY NONE "):s.ownedBy&&(t.push("OWNED BY "),w(s.ownedBy)),"restart"in s&&(s.restart===!0?t.push("RESTART "):s.restart&&t.push("RESTART WITH ",s.restart.toString()," "))}function w(o){o.schema&&t.push(i(o.schema),"."),t.push(i(o.table),".",i(o.column)," ")}function v(o,s,p){if(!s){p();return}t.push(s.type," "),p(),s.on&&(t.push("ON "),o.expr(s.on)),s.using&&(t.push("USING ("),n(s.using,y=>t.push(_(y)),!1),t.push(") ")),t.push(" ")}function C(o){o.opSchema?t.push(" operator(",i(o.opSchema),".",o.op,") "):t.push(" ",o.op," ")}const U=(0,r.astVisitor)(o=>({addColumn:(...s)=>{t.push(" ADD COLUMN "),s[0].ifNotExists&&t.push("IF NOT EXISTS "),o.super().addColumn(...s)},createExtension:s=>{t.push("CREATE EXTENSION "),s.ifNotExists&&t.push(" IF NOT EXISTS "),t.push(_(s.extension)),!(!s.from&&!s.version&&!s.schema)&&(t.push(" WITH"),s.schema&&t.push(" SCHEMA ",_(s.schema)),s.version&&t.push(" VERSION ",(0,u.literal)(s.version.value)),s.from&&t.push(" FROM ",(0,u.literal)(s.from.value)))},tablespace:s=>{t.push("TABLESPACE ",_(s.tablespace))},addConstraint:s=>{t.push(" ADD ");const p=s.constraint.constraintName;p&&t.push(" CONSTRAINT ",_(p)," "),c(s.constraint,o)},alterColumn:(s,p)=>{t.push(" ALTER COLUMN ",_(s.column)," "),o.super().alterColumn(s,p)},setColumnDefault:(s,p,y)=>{if(t.push(" SET DEFAULT "),o.expr(s.default),s.updateExisting)throw new Error("Not implemented: updateExisting on set column default")},createEnum:s=>{t.push("CREATE TYPE "),$(s.name),t.push(" AS ENUM "),n(s.values,p=>t.push((0,u.literal)(p.value)),!0),t.push(" ")},alterEnum:s=>{t.push("ALTER TYPE "),$(s.name),s.change.type==="rename"?(t.push(" RENAME TO "),$(s.change.to)):t.push(" ADD VALUE ",(0,u.literal)(s.change.add.value))},createCompositeType:s=>{t.push("CREATE TYPE "),$(s.name),t.push(" AS "),n(s.attributes,p=>{t.push(_(p.name)," "),o.dataType(p.dataType),p.collate&&(t.push("COLLATE "),$(p.collate))},!0),t.push(" ")},setTableOwner:s=>{t.push(" OWNER TO ",_(s.to))},alterColumnSimple:s=>t.push(s.type),alterColumnAddGenerated:s=>{t.push(" ADD GENERATED "),R(o,s)},setColumnType:s=>{t.push(" SET DATA TYPE "),o.dataType(s.dataType),t.push(" ")},alterTable:s=>{t.push("ALTER TABLE "),s.ifExists&&t.push(" IF EXISTS "),s.only&&t.push(" ONLY "),b(s.table),n(s.changes,p=>o.tableAlteration(p,s.table),!1)},alterIndex:s=>{switch(t.push("ALTER INDEX "),s.ifExists&&t.push(" IF EXISTS "),b(s.index),s.change.type){case"rename":t.push(" RENAME TO "),$(s.change.to),t.push(" ");break;case"set tablespace":t.push(" SET TABLESPACE "),$(s.change.tablespace),t.push(" ");break;default:throw a.NotSupported.never(s.change,"Alter index type not supported: ")}},tableAlteration:(s,p)=>{switch(s.type){case"add column":return o.addColumn(s,p);case"add constraint":return o.addConstraint(s,p);case"alter column":return o.alterColumn(s,p);case"rename":return o.renameTable(s,p);case"rename column":return o.renameColumn(s,p);case"rename constraint":return o.renameConstraint(s,p);case"drop column":return o.dropColumn(s,p);case"drop constraint":return o.dropConstraint(s,p);case"owner":return o.setTableOwner(s,p);default:throw a.NotSupported.never(s)}},array:s=>{t.push(s.type==="array"?"ARRAY[":"("),n(s.expressions,p=>o.expr(p),!1),t.push(s.type==="array"?"]":")")},arrayIndex:s=>{o.expr(s.array),t.push("["),o.expr(s.index),t.push("] ")},expr:s=>{if(s.type==="ref"){o.ref(s);return}if(s.type==="list"){o.super().expr(s);return}t.push("("),o.super().expr(s),t.push(")")},callOverlay:s=>{t.push("OVERLAY("),o.expr(s.value),t.push(" PLACING "),o.expr(s.placing),t.push(" FROM "),o.expr(s.from),s.for&&(t.push(" FOR "),o.expr(s.for)),t.push(")")},callSubstring:s=>{t.push("SUBSTRING("),o.expr(s.value),s.from&&(t.push(" FROM "),o.expr(s.from)),s.for&&(t.push(" FOR "),o.expr(s.for)),t.push(")")},binary:s=>{o.expr(s.left),C(s),o.expr(s.right)},call:s=>{$(s.function),t.push("("),s.distinct&&t.push(s.distinct," "),n(s.args,p=>o.expr(p),!1),s.orderBy&&E(o,s.orderBy),t.push(") "),s.filter&&(t.push("filter (where "),o.expr(s.filter),t.push(") ")),s.withinGroup&&(t.push("WITHIN GROUP ("),E(o,[s.withinGroup]),t.push(") ")),s.over&&(t.push("over ("),s.over.partitionBy&&(t.push("PARTITION BY "),n(s.over.partitionBy,p=>o.expr(p),!1),t.push(" ")),s.over.orderBy&&(E(o,s.over.orderBy),t.push(" ")),t.push(") "))},case:s=>{t.push("CASE "),s.value&&o.expr(s.value);for(const p of s.whens)t.push(" WHEN "),o.expr(p.when),t.push(" THEN "),o.expr(p.value);s.else&&(t.push(" ELSE "),o.expr(s.else)),t.push(" END ")},cast:s=>{o.expr(s.operand),t.push("::"),o.dataType(s.to)},constant:s=>{switch(s.type){case"boolean":t.push(s.value?"true":"false");break;case"integer":t.push(s.value.toString(10));break;case"numeric":t.push(s.value.toString()),Number.isInteger(s.value)&&t.push(".");break;case"null":t.push("null");break;case"constant":break;case"string":t.push((0,u.literal)(s.value));break;default:throw a.NotSupported.never(s)}},valueKeyword:s=>{t.push(s.keyword," ")},comment:s=>{t.push("COMMENT ON ",s.on.type.toUpperCase()," "),s.on.type==="column"?w(s.on.column):$(s.on.name),t.push(" IS ",(0,u.literal)(s.comment)," ")},extract:s=>{t.push("EXTRACT (",s.field.name.toUpperCase()," FROM "),o.expr(s.from),t.push(") ")},createColumn:s=>{var p;t.push(_(s.name)," "),o.dataType(s.dataType),t.push(" "),s.collate&&(t.push("COLLATE "),$(s.collate));for(const y of(p=s.constraints)!==null&&p!==void 0?p:[])o.constraint(y)},begin:s=>{t.push("BEGIN "),s.isolationLevel&&t.push("ISOLATION LEVEL ",s.isolationLevel.toUpperCase()," "),s.writeable&&t.push(s.writeable.toUpperCase()," "),typeof s.deferrable=="boolean"&&(s.deferrable||t.push("NOT "),t.push("DEFERRABLE "))},alterSequence:s=>{switch(t.push("ALTER SEQUENCE "),s.ifExists&&t.push("IF EXISTS "),$(s.name),s.change.type){case"set options":d(o,s.change);break;case"rename":t.push("RENAME TO ",_(s.change.newName)," ");break;case"set schema":t.push("SET SCHEMA ",_(s.change.newSchema)," ");break;case"owner to":s.change.owner,t.push("OWNER TO ",_(s.change.owner)," ");break;default:throw a.NotSupported.never(s.change)}},createSequence:s=>{t.push("CREATE "),s.temp&&t.push("TEMPORARY "),t.push("SEQUENCE "),s.ifNotExists&&t.push("IF NOT EXISTS "),$(s.name),d(o,s.options)},drop:s=>{t.push(s.type.toUpperCase()," "),s.concurrently&&t.push("CONCURRENTLY "),s.ifExists&&t.push("IF EXISTS "),n(s.names,p=>o.tableRef(p),!1),s.cascade&&t.push(s.cascade.toUpperCase()," ")},constraint:s=>{s.constraintName&&t.push(" CONSTRAINT ",_(s.constraintName)," "),c(s,o)},do:s=>{t.push("DO"),s.language&&t.push(" LANGUAGE ",s.language.name),t.push(" $$",s.code,"$$")},createFunction:s=>{var p;if(t.push(s.orReplace?"CREATE OR REPLACE FUNCTION ":"CREATE FUNCTION "),$(s.name),n(s.arguments,y=>{y.mode&&t.push(y.mode," "),y.name&&t.push(_(y.name)," "),o.dataType(y.type),y.default&&(t.push(" = "),o.expr(y.default))},!0),s.returns)switch(s.returns.kind){case"table":t.push(" RETURNS TABLE "),n(s.returns.columns,y=>{t.push(_(y.name)," "),o.dataType(y.type)},!0);break;case void 0:case null:case"array":t.push(" RETURNS "),o.dataType(s.returns);break;default:throw a.NotSupported.never(s.returns)}switch(t.push(" AS $$",(p=s.code)!==null&&p!==void 0?p:"","$$"),s.language&&t.push("LANGUAGE ",s.language.name," "),s.purity&&t.push(s.purity.toUpperCase()," "),typeof s.leakproof=="boolean"&&t.push(s.leakproof?"LEAKPROOF ":"NOT LEAKPROOF "),s.onNullInput){case"call":t.push("CALLED ON NULL INPUT ");break;case"null":t.push("RETURNS NULL ON NULL INPUT ");break;case"strict":t.push("STRICT ");break;case null:case void 0:break;default:throw a.NotSupported.never(s.onNullInput)}},dropFunction:s=>{t.push("DROP FUNCTION "),s.ifExists&&t.push("IF EXISTS "),$(s.name),s.arguments&&n(s.arguments,p=>{p.name&&($(p.name),t.push(" ")),o.dataType(p.type)},!0),t.push(" ")},with:s=>{t.push("WITH "),n(s.bind,p=>{t.push(_(p.alias)," AS ("),o.statement(p.statement),t.push(") ")},!1),o.statement(s.in)},withRecursive:s=>{t.push("WITH RECURSIVE ",_(s.alias),"(",...s.columnNames.map(_).join(", "),") AS ("),o.union(s.bind),t.push(") "),o.statement(s.in)},setGlobal:s=>{t.push("SET "),s.scope&&t.push(s.scope.toUpperCase()+" "),t.push(_(s.variable)," = "),q(s.set)},setTimezone:s=>{switch(t.push("SET TIME ZONE "),s.to.type){case"default":case"local":t.push(s.to.type.toUpperCase()," ");break;case"value":t.push(typeof s.to.value=="string"?(0,u.literal)(s.to.value):s.to.value.toString(10));break;case"interval":t.push("INTERVAL ",(0,u.literal)(s.to.value)," HOUR TO MINUTE");break;default:throw a.NotSupported.never(s.to)}},setNames:s=>{t.push("SET NAMES "),s.to.type==="value"&&t.push((0,u.literal)(s.to.value))},dataType:s=>{var p,y;if(s?.kind==="array"){o.dataType(s.arrayOf),t.push("[]");return}if(!s?.name){t.push("unkown");return}let g=!0;if(s.schema)$(s,s.doubleQuoted);else if(s.doubleQuoted)$(s,!0);else switch(s.name){case"double precision":case"character varying":case"bit varying":t.push(s.name," ");break;case"time without time zone":case"timestamp without time zone":case"time with time zone":case"timestamp with time zone":const N=s.name.split(" ");t.push(N.shift()),!((p=s.config)===null||p===void 0)&&p.length&&n(s.config,O=>t.push(O.toString(10)),!0),t.push(" "),t.push(N.join(" ")," "),g=!1;break;default:$(s);break}g&&(!((y=s.config)===null||y===void 0)&&y.length)&&n(s.config,N=>t.push(N.toString(10)),!0)},createIndex:s=>{t.push(s.unique?"CREATE UNIQUE INDEX ":"CREATE INDEX "),s.concurrently&&t.push("CONCURRENTLY "),s.ifNotExists&&t.push(" IF NOT EXISTS "),s.indexName&&t.push(_(s.indexName)," "),t.push("ON "),o.tableRef(s.table),s.using&&t.push("USING ",_(s.using)," "),n(s.expressions,p=>{o.expr(p.expression),t.push(" "),p.collate&&(t.push("COLLATE "),$(p.collate)),p.opclass&&$(p.opclass),p.order&&t.push(p.order," "),p.nulls&&t.push("nulls ",p.nulls," ")},!0),s.with&&(t.push("WITH "),n(s.with,p=>{t.push(p.parameter," = ",(0,u.literal)(p.value))},!0)),s.tablespace&&t.push("TABLESPACE ",i(s.tablespace)),s.where&&(t.push(" WHERE "),o.expr(s.where)),t.push(" ")},createTable:s=>{var p;t.push("CREATE "),s.locality&&t.push(s.locality.toUpperCase()," "),s.temporary&&t.push("TEMPORARY "),s.unlogged&&t.push("UNLOGGED "),t.push(s.ifNotExists?"TABLE IF NOT EXISTS ":"TABLE "),o.tableRef(s.name),t.push("("),n(s.columns,y=>{switch(y.kind){case"column":return o.createColumn(y);case"like table":return o.likeTable(y);default:throw a.NotSupported.never(y)}},!1),s.constraints&&(t.push(", "),n(s.constraints,y=>{const g=y.constraintName;g&&t.push("CONSTRAINT ",_(g)," "),c(y,o)},!1)),t.push(") "),!((p=s.inherits)===null||p===void 0)&&p.length&&(t.push(" INHERITS "),n(s.inherits,y=>$(y),!0))},likeTable:s=>{t.push(" LIKE "),o.tableRef(s.like),t.push(" ");for(const{verb:p,option:y}of s.options)t.push(p.toUpperCase()," ",y.toUpperCase()," ")},createSchema:s=>{t.push(s.ifNotExists?"CREATE SCHEMA IF NOT EXISTS ":"CREATE SCHEMA "),t.push(_(s.name))},truncateTable:s=>{t.push("TRUNCATE TABLE ");let p=!0;for(const y of s.tables)p||t.push(", "),p=!1,o.tableRef(y);if(s.identity)switch(s.identity){case"restart":t.push(" RESTART IDENTITY ");break;case"continue":t.push(" CONTINUE IDENTITY ");break}s.cascade&&t.push(" ",s.cascade," ")},delete:s=>{t.push("DELETE FROM "),o.tableRef(s.from),s.where&&(t.push(" WHERE "),o.expr(s.where)),s.returning&&(t.push(" RETURNING "),n(s.returning,p=>o.selectionColumn(p),!1)),t.push(" ")},dropColumn:s=>{t.push(" DROP COLUMN "),s.ifExists&&t.push(" IF EXISTS "),t.push(_(s.column)),s.behaviour&&t.push(" ",s.behaviour),t.push(" ")},dropConstraint:s=>{t.push(" DROP CONSTRAINT "),s.ifExists&&t.push(" IF EXISTS "),t.push(_(s.constraint)),s.behaviour&&t.push(" ",s.behaviour.toUpperCase()," ")},from:s=>o.super().from(s),fromCall:s=>{v(o,s.join,()=>{var p,y;if(s.lateral&&t.push("LATERAL "),o.call(s),s.withOrdinality&&t.push(" WITH ORDINALITY"),s.alias){t.push(" AS ",_(s.alias)," ");const g=(y=(p=s.alias.columns)===null||p===void 0?void 0:p.length)!==null&&y!==void 0?y:0;if(g>0){t.push("(");for(let N=0;N<g;++N)N!==0&&t.push(", "),t.push(_(s.alias.columns[N]));t.push(")")}}}),t.push(" ")},fromStatement:s=>{v(o,s.join,()=>{s.lateral&&t.push("LATERAL "),t.push("("),o.select(s.statement),t.push(") "),s.alias&&(t.push(" AS ",i(s.alias)),s.columnNames&&n(s.columnNames,p=>t.push(_(p)),!0),t.push(" "))}),t.push(" ")},values:s=>{t.push("VALUES "),n(s.values,p=>{n(p,y=>{o.expr(y)},!0)},!1)},fromTable:s=>{v(o,s.join,()=>{if(o.tableRef(s.name),s.name.columnNames){if(!s.name.alias)throw new Error("Cannot specify aliased column names without an alias");n(s.name.columnNames,p=>t.push(_(p)),!0)}})},join:s=>{throw new Error("Should not happen ๐")},insert:s=>{if(t.push("INSERT INTO "),o.tableRef(s.into),s.columns&&t.push("(",s.columns.map(_).join(", "),")"),t.push(" "),s.overriding&&t.push("OVERRIDING ",s.overriding.toUpperCase()," VALUE "),o.select(s.insert),t.push(" "),s.onConflict){t.push("ON CONFLICT ");const p=s.onConflict.on;switch(p?.type){case"on expr":n(p.exprs,y=>o.expr(y),!0);break;case"on constraint":t.push("ON CONSTRAINT "),$(p.constraint);case null:case void 0:break;default:throw a.NotSupported.never(p)}s.onConflict.do==="do nothing"?t.push(" DO NOTHING"):(t.push(" DO UPDATE SET "),n(s.onConflict.do.sets,y=>o.set(y),!1),s.onConflict.where&&(t.push(" WHERE "),o.expr(s.onConflict.where))),t.push(" ")}s.returning&&(t.push(" RETURNING "),n(s.returning,p=>o.selectionColumn(p),!1))},raise:s=>{var p,y;t.push("RAISE "),s.level&&t.push(s.level.toUpperCase()," "),t.push((0,u.literal)(s.format)," "),!((p=s.formatExprs)===null||p===void 0)&&p.length&&(t.push(", "),n(s.formatExprs,g=>o.expr(g),!1)),!((y=s.using)===null||y===void 0)&&y.length&&(t.push(" USING "),n(s.using,({type:g,value:N})=>{t.push(g.toUpperCase(),"="),o.expr(N)},!1)),t.push(" ")},default:()=>{t.push(" DEFAULT ")},member:s=>{o.expr(s.operand),t.push(s.op),t.push(typeof s.member=="number"?s.member.toString(10):(0,u.literal)(s.member))},ref:s=>{s.table&&($(s.table),t.push(".")),t.push(s.name==="*"?"*":i(s.name))},parameter:s=>{t.push(s.name)},renameColumn:s=>{t.push(" RENAME COLUMN ",_(s.column)," TO ",_(s.to))},renameConstraint:s=>{t.push(" RENAME CONSTRAINT ",_(s.constraint)," TO ",_(s.to))},renameTable:s=>{t.push(" RENAME TO ",_(s.to))},createView:s=>{t.push("CREATE "),s.orReplace&&t.push("OR REPLACE "),s.temp&&t.push("TEMP "),s.recursive&&t.push("RECURSIVE "),t.push("VIEW "),o.tableRef(s.name),s.columnNames&&n(s.columnNames,y=>t.push(_(y)),!0);const p=s.parameters&&Object.entries(s.parameters);p?.length&&(t.push(" WITH "),n(p,([y,g])=>t.push(y,"=",g),!1)),t.push(" AS "),o.select(s.query),s.checkOption&&t.push(" WITH ",s.checkOption.toUpperCase()," CHECK OPTION")},createMaterializedView:s=>{t.push("CREATE MATERIALIZED VIEW "),s.ifNotExists&&t.push("IF NOT EXISTS "),o.tableRef(s.name),s.columnNames&&n(s.columnNames,y=>t.push(_(y)),!0);const p=s.parameters&&Object.entries(s.parameters);p?.length&&(t.push(" WITH "),n(p,([y,g])=>t.push(y,"=",g),!1)),s.tablespace&&t.push(" TABLESPACE ",_(s.tablespace)),t.push(" AS "),o.select(s.query),typeof s.withData=="boolean"&&t.push(s.withData?" WITH DATA":" WITH NO DATA")},refreshMaterializedView:s=>{t.push("REFRESH MATERIALIZED VIEW "),s.concurrently&&t.push("CONCURRENTLY "),o.tableRef(s.name),typeof s.withData=="boolean"&&t.push(s.withData?" WITH DATA":" WITH NO DATA")},select:s=>o.super().select(s),selection:s=>{if(t.push("SELECT "),s.distinct&&(typeof s.distinct=="string"?t.push(s.distinct.toUpperCase()):(t.push(" DISTINCT ON "),n(s.distinct,p=>o.expr(p),!0)),t.push(" ")),s.columns&&n(s.columns,p=>o.selectionColumn(p),!1),t.push(" "),s.from){t.push("FROM ");const p=s.from.length;for(let y=0;y<p;y++){const g=s.from[y];y>0&&!g.join&&t.push(","),o.from(g)}t.push(" ")}s.where&&(t.push("WHERE "),o.expr(s.where),t.push(" ")),s.groupBy&&(t.push("GROUP BY "),n(s.groupBy,p=>o.expr(p),!1),t.push(" "),s.having&&(t.push(" HAVING "),o.expr(s.having),t.push(" "))),s.orderBy&&(E(o,s.orderBy),t.push(" ")),s.limit&&(s.limit.offset&&(t.push("OFFSET "),o.expr(s.limit.offset)),s.limit.limit&&(t.push("LIMIT "),o.expr(s.limit.limit))),s.for&&(t.push("FOR ",s.for.type.toUpperCase()),s.skip&&t.push(" ",s.skip.type.toUpperCase()))},show:s=>{t.push("SHOW ",_(s.variable))},prepare:s=>{var p;t.push("PREPARE ",_(s.name)),!((p=s.args)===null||p===void 0)&&p.length&&n(s.args,y=>o.dataType(y),!0),t.push(" AS "),o.statement(s.statement)},deallocate:s=>{if(t.push("DEALLOCATE "),"name"in s.target){t.push(s.target.name);return}t.push("ALL")},arraySelect:s=>{t.push("array("),o.select(s.select),t.push(")")},union:s=>{t.push("("),o.statement(s.left),t.push(") ",s.type.toUpperCase()," "),s.right.type==="union"||s.right.type==="union all"?o.union(s.right):(t.push("("),o.statement(s.right),t.push(")"))},selectionColumn:s=>{o.expr(s.expr),s.alias&&t.push(" AS ",_(s.alias)),t.push(" ")},set:s=>{t.push(_(s.column)," = "),o.expr(s.value),t.push(" ")},statement:s=>o.super().statement(s),tableRef:s=>{$(s),s.alias&&t.push(" AS ",i(s.alias)),t.push(" ")},ternary:s=>{o.expr(s.value),t.push(" ",s.op," "),o.expr(s.lo),t.push(" AND "),o.expr(s.hi),t.push(" ")},transaction:s=>{t.push(s.type)},unary:s=>{switch(s.op){case"+":case"-":C(s),o.expr(s.operand);break;case"NOT":t.push(s.op),t.push(" "),o.expr(s.operand);break;default:o.expr(s.operand),t.push(" "),t.push(s.op)}},update:s=>{t.push("UPDATE "),o.tableRef(s.table),t.push(" SET "),n(s.sets,p=>o.set(p),!1),t.push(" "),s.from&&(t.push("FROM "),o.from(s.from),t.push(" ")),s.where&&(t.push("WHERE "),o.expr(s.where),t.push(" ")),s.returning&&(t.push(" RETURNING "),n(s.returning,p=>o.selectionColumn(p),!1),t.push(" "))}}));m.toSql={};const e=l.AstDefaultMapper.prototype;for(const o of Object.getOwnPropertyNames(e)){const s=e[o];o==="constructor"||o==="super"||typeof s!="function"||(m.toSql[o]=function(...p){try{return U[o].apply(U,p),t.join("").trim()}finally{t=[]}})}}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.literal=void 0;function l(r){if(r==null)return"NULL";if(Array.isArray(r)){var a=r.map(l);return"("+a.join(", ")+")"}var u=~r.indexOf("\\"),k=u?"E":"";return r=r.replace(/'/g,"''"),r=r.replace(/\\/g,"\\\\"),k+"'"+r+"'"}m.literal=l}),(function(x,m,A){Object.defineProperty(m,"__esModule",{value:!0}),m.locationOf=void 0;function l(r){const a=r._location;if(!a)throw new Error("This statement has not been parsed using location tracking (which has a small performance hit). ");return a}m.locationOf=l})]))})(le)),le}var ke=Me();function Ae(h){return h.replace(/_([a-z])/g,(x,m)=>m.toUpperCase())}function Ue(h){return h.replace(/[A-Z]/g,x=>`_${x.toLowerCase()}`)}function pe(h){return h.split("_").map(x=>x.charAt(0).toUpperCase()+x.slice(1).toLowerCase()).join(" ")}function je(h){const x=h.replace(/([A-Z])/g," $1").trim();return x.charAt(0).toUpperCase()+x.slice(1)}function ie(h){const x=Ae(h);let m;if(h.endsWith("_id")){const A=h.slice(0,-3);m=pe(A)}else m=pe(h);return{fieldname:x,label:m,originalName:h}}function ge(h){return h.map(ie)}function Pe(h){const x=ge(h),m=new Map,A=new Map;for(const l of x)m.set(l.originalName,l.fieldname),A.set(l.fieldname,l.originalName);return{sqlToFieldname:m,fieldnameToSQL:A,conversions:x}}function ve(h){return h.split(/[-_\s]+/).map(x=>x.charAt(0).toUpperCase()+x.slice(1).toLowerCase()).join("")}function _e(h){return h.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase()}const te={text:{component:"ATextInput",fieldtype:"Text"},varchar:{component:"ATextInput",fieldtype:"Data"},char:{component:"ATextInput",fieldtype:"Data"},citext:{component:"ATextInput",fieldtype:"Data"},smallint:{component:"ANumericInput",fieldtype:"Int"},integer:{component:"ANumericInput",fieldtype:"Int"},bigint:{component:"ANumericInput",fieldtype:"Int"},serial:{component:"ANumericInput",fieldtype:"Int"},bigserial:{component:"ANumericInput",fieldtype:"Int"},smallserial:{component:"ANumericInput",fieldtype:"Int"},numeric:{component:"ADecimalInput",fieldtype:"Decimal",_unmapped:!0},decimal:{component:"ADecimalInput",fieldtype:"Decimal",_unmapped:!0},money:{component:"ADecimalInput",fieldtype:"Decimal",_unmapped:!0},real:{component:"ANumericInput",fieldtype:"Float"},"double precision":{component:"ANumericInput",fieldtype:"Float"},boolean:{component:"ACheckbox",fieldtype:"Check"},date:{component:"ADatePicker",fieldtype:"Date"},time:{component:"ATimeInput",fieldtype:"Time",_unmapped:!0},timetz:{component:"ATimeInput",fieldtype:"Time",_unmapped:!0},timestamp:{component:"ADatetimePicker",fieldtype:"Datetime",_unmapped:!0},timestamptz:{component:"ADatetimePicker",fieldtype:"Datetime",_unmapped:!0},interval:{component:"ADurationInput",fieldtype:"Duration",_unmapped:!0},int4range:{component:"ATextInput",fieldtype:"Data",_unmapped:!0},int8range:{component:"ATextInput",fieldtype:"Data",_unmapped:!0},numrange:{component:"ATextInput",fieldtype:"Data",_unmapped:!0},daterange:{component:"ADateRangePicker",fieldtype:"DateRange",_unmapped:!0},tsrange:{component:"ADateRangePicker",fieldtype:"DateRange",_unmapped:!0},tstzrange:{component:"ADateRangePicker",fieldtype:"DateRange",_unmapped:!0},bytea:{component:"ATextInput",fieldtype:"Data"},uuid:{component:"ATextInput",fieldtype:"Data"},json:{component:"ACodeEditor",fieldtype:"JSON",_unmapped:!0},jsonb:{component:"ACodeEditor",fieldtype:"JSON",_unmapped:!0},bit:{component:"ATextInput",fieldtype:"Data"},varbit:{component:"ATextInput",fieldtype:"Data"},xml:{component:"ACodeEditor",fieldtype:"Code",_unmapped:!0},unit:{component:"AQuantityInput",fieldtype:"Quantity",_unmapped:!0},cube:{component:"ATextInput",fieldtype:"JSON",_unmapped:!0},unknown:{component:"ATextInput",fieldtype:"Data",_unmapped:!0}},se={int:"integer",int2:"smallint",int4:"integer",int8:"bigint",serial4:"serial",serial8:"bigserial",serial2:"smallserial",float:"real",float4:"real",float8:"double precision",bool:"boolean",character:"char","character varying":"varchar","timestamp without time zone":"timestamp","timestamp with time zone":"timestamptz","time without time zone":"time","time with time zone":"timetz","bit varying":"varbit"};function Ee(h){const x=h.toLowerCase().trim();if(x in te)return x;if(x in se)return se[x];const m=x.replace(/\([^)]*\)/,"").trim();return m in te?m:m in se?se[m]:"unknown"}function ce(h,x,m={}){const{fieldname:A,label:l}=m.useCamelCase?ie(h.name):{fieldname:h.name,label:Fe(h.name)};if(h.reference)return{fieldname:A,label:l,component:"ALink",fieldtype:"Link",options:_e(h.reference.table),required:!h.nullable};if(h.arrayDimensions>0){const u={fieldname:A,label:l,component:"ATable",fieldtype:"Doctype",required:!h.nullable};return m.includeUnmappedMeta&&(u._pgType=`${h.dataType}[]`.repeat(h.arrayDimensions)),u}const r=te[h.normalizedType]??te.unknown,a={fieldname:A,label:l,component:r.component,fieldtype:r.fieldtype,required:!h.nullable&&!h.isGenerated,readOnly:h.isGenerated,default:Be(h.defaultValue,h.normalizedType)};return h.precision!==void 0&&(a.options={precision:h.precision},h.scale!==void 0&&(a.options.scale=h.scale)),m.includeUnmappedMeta&&r._unmapped&&(a._unmapped=!0,a._pgType=h.dataType),a}function Fe(h){return h.replace(/_/g," ").replace(/([a-z])([A-Z])/g,"$1 $2").replace(/\b\w/g,x=>x.toUpperCase())}function Be(h,x){if(h&&!(h.includes("(")||h.includes("::")))switch(x){case"boolean":return h.toLowerCase()==="true";case"smallint":case"integer":case"bigint":case"serial":case"bigserial":case"smallserial":{const m=parseInt(h,10);return isNaN(m)?void 0:m}case"real":case"double precision":{const m=parseFloat(h);return isNaN(m)?void 0:m}case"numeric":case"decimal":case"money":return h.replace(/^'|'$/g,"");default:return h.startsWith("'")&&h.endsWith("'")?h.slice(1,-1):void 0}}function Ge(h){return h.match(/@doctype\s+([A-Za-z][A-Za-z0-9]*)/)?.[1]}function Te(h){const x=ke.parse(h,{locationTracking:!1}),m=[],A=new Map;for(const l of x)if(We(l)&&l.on.type==="table"){const r=l.on.name.name;A.set(r,l.comment)}for(const l of x)if(He(l))try{const r=Ve(l),a=A.get(r.name);a&&(r.comment=a,r.doctypeName=Ge(a)),m.push(r)}catch(r){console.warn(`Failed to parse table ${l.name?.name}: ${r}`)}return m}function He(h){return h.type==="create table"}function We(h){return h.type==="comment"}function Ve(h){const x=[];for(const m of h.columns??[])m.kind!=="like table"&&m.kind==="column"&&x.push(Ye(m));return{name:h.name.name,schema:h.name.schema,columns:x,inherits:h.inherits?.map(m=>m.name)}}function Ye(h){const x=h.constraints??[],{rawType:m,arrayDimensions:A,precision:l,scale:r,length:a}=Qe(h.dataType);return{name:h.name.name,dataType:m,normalizedType:Ee(m),nullable:!Xe(x,"not null"),isGenerated:Je(x),defaultValue:Ke(x),arrayDimensions:A,reference:Ze(x),precision:l,scale:r,length:a}}function Qe(h){let x=0,m=h;for(;m.kind==="array";)x++,m=m.arrayOf;const A=m,l=A.name,r=A.config??[];let a,u,k;return r.length>0&&(l==="numeric"||l==="decimal"?(a=r[0],u=r[1]):(l==="varchar"||l==="char"||l==="character varying"||l==="character"||l==="bit"||l==="varbit"||l==="bit varying")&&(k=r[0])),{rawType:l,arrayDimensions:x,precision:a,scale:u,length:k}}function Xe(h,x){return h.some(m=>m.type===x)}function Je(h){return h.some(x=>x.type==="add generated")}function Ke(h){const x=h.find(m=>m.type==="default");if(x?.default)try{return ke.toSql.expr(x.default)}catch{return}}function Ze(h){const x=h.find(l=>l.type==="reference");if(!x)return;const m=x.foreignTable,A=x.foreignColumns??[];return{schema:m.schema,table:m.name,column:A[0]?.name??"id",onDelete:x.onDelete}}function es(h,x={inheritanceMode:"flatten"}){const m=Te(h),A=new Map(m.map(r=>[r.name,r]));let l=m;return x.schema&&(l=l.filter(r=>r.schema===x.schema)),x.exclude&&(l=l.filter(r=>!x.exclude.includes(r.name))),l.map(r=>ss(r,A,x))}function ss(h,x,m){const A=new Map;if(m.inheritanceMode==="flatten"&&h.inherits)for(const a of h.inherits){const u=x.get(a);if(u)for(const k of u.columns){const f=ce(k,x,{includeUnmappedMeta:m.includeUnmappedMeta,useCamelCase:m.useCamelCase});A.set(f.fieldname,f)}}for(const a of h.columns){const u=ce(a,x,{includeUnmappedMeta:m.includeUnmappedMeta,useCamelCase:m.useCamelCase});A.set(u.fieldname,u)}let l=Array.from(A.values());return m.typeOverrides&&(l=l.map(a=>{const u=m.typeOverrides[a.fieldname];return u?{...a,...u}:a})),l=l.map(ts),{name:h.doctypeName??ve(h.name),slug:_e(h.name),tableName:h.name,fields:l,inherits:h.inherits?.[0]}}function ts(h){const x={fieldname:h.fieldname,component:h.component,fieldtype:h.fieldtype};return h.label!==void 0&&(x.label=h.label),h.required===!0&&(x.required=!0),h.default!==void 0&&(x.default=h.default),h.readOnly===!0&&(x.readOnly=!0),h.options!==void 0&&(x.options=h.options),h._pgType!==void 0&&(x._pgType=h._pgType),h._unmapped===!0&&(x._unmapped=!0),x}exports.ActionDefinition=he;exports.DoctypeMeta=me;exports.FieldMeta=oe;exports.FieldOptions=de;exports.FieldValidation=we;exports.PG_TYPE_MAP=te;exports.StonecropFieldType=ye;exports.TYPE_ALIASES=se;exports.TYPE_MAP=fe;exports.WorkflowMeta=xe;exports.camelToLabel=je;exports.camelToSnake=Ue;exports.convertSQLName=ie;exports.convertSQLNames=ge;exports.convertSchema=es;exports.createNameMapping=Pe;exports.getDefaultComponent=Ce;exports.mapColumnToField=ce;exports.normalizeType=Ee;exports.parseDDL=Te;exports.parseDoctype=Ie;exports.parseField=Oe;exports.snakeToCamel=Ae;exports.snakeToLabel=pe;exports.toPascalCase=ve;exports.toSlug=_e;exports.validateDoctype=qe;exports.validateField=Ne;
|