node-sql-parser
Version:
simple node sql parser
1 lines • 214 kB
JavaScript
!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var r=e();for(var n in r)("object"==typeof exports?exports:t)[n]=r[n]}}(this,(function(){return function(t){var e={};function r(n){if(e[n])return e[n].exports;var o=e[n]={i:n,l:!1,exports:{}};return t[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=t,r.c=e,r.d=function(t,e,n){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:n})},r.r=function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var o in t)r.d(n,o,function(e){return t[e]}.bind(null,o));return n},r.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s=26)}([function(t,e,r){"use strict";r.r(e),r.d(e,"arrayStructTypeToSQL",(function(){return S})),r.d(e,"autoIncrementToSQL",(function(){return _})),r.d(e,"columnOrderListToSQL",(function(){return x})),r.d(e,"commonKeywordArgsToSQL",(function(){return U})),r.d(e,"commonOptionConnector",(function(){return s})),r.d(e,"connector",(function(){return c})),r.d(e,"commonTypeValue",(function(){return w})),r.d(e,"commentToSQL",(function(){return T})),r.d(e,"createBinaryExpr",(function(){return f})),r.d(e,"createValueExpr",(function(){return l})),r.d(e,"dataTypeToSQL",(function(){return C})),r.d(e,"DEFAULT_OPT",(function(){return i})),r.d(e,"escape",(function(){return p})),r.d(e,"literalToSQL",(function(){return O})),r.d(e,"columnIdentifierToSql",(function(){return d})),r.d(e,"getParserOpt",(function(){return b})),r.d(e,"identifierToSql",(function(){return y})),r.d(e,"onPartitionsToSQL",(function(){return g})),r.d(e,"replaceParams",(function(){return L})),r.d(e,"returningToSQL",(function(){return E})),r.d(e,"hasVal",(function(){return m})),r.d(e,"setParserOpt",(function(){return v})),r.d(e,"toUpper",(function(){return j})),r.d(e,"topToSQL",(function(){return h})),r.d(e,"triggerEventToSQL",(function(){return A}));var n=r(2),o=r(11);function a(t){return(a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var i={database:"db2",type:"table",trimQuery:!0,parseOptions:{includeLocations:!1}},u=i;function s(t,e,r){if(r)return t?"".concat(t.toUpperCase()," ").concat(e(r)):e(r)}function c(t,e){if(e)return"".concat(t.toUpperCase()," ").concat(e)}function l(t){var e=a(t);if(Array.isArray(t))return{type:"expr_list",value:t.map(l)};if(null===t)return{type:"null",value:null};switch(e){case"boolean":return{type:"bool",value:t};case"string":return{type:"string",value:t};case"number":return{type:"number",value:t};default:throw new Error('Cannot convert value "'.concat(e,'" to SQL'))}}function f(t,e,r){var n={operator:t,type:"binary_expr"};return n.left=e.type?e:l(e),"BETWEEN"===t||"NOT BETWEEN"===t?(n.right={type:"expr_list",value:[l(r[0]),l(r[1])]},n):(n.right=r.type?r:l(r),n)}function p(t){return t}function b(){return u}function v(t){u=t}function h(t){if(t){var e=t.value,r=t.percent,n=t.parentheses?"(".concat(e,")"):e,o="TOP ".concat(n);return r?"".concat(o," ").concat(r.toUpperCase()):o}}function d(t){var e=b().database;if(t)switch(e&&e.toLowerCase()){case"db2":case"postgresql":case"redshift":case"snowflake":case"noql":case"trino":case"sqlite":return'"'.concat(t,'"');case"transactsql":return"[".concat(t,"]");case"mysql":case"mariadb":case"bigquery":default:return"`".concat(t,"`")}}function y(t,e){var r=b().database;if(!0===e)return"'".concat(t,"'");if(t){if("*"===t)return t;switch(r&&r.toLowerCase()){case"mysql":case"mariadb":return"`".concat(t,"`");case"postgresql":case"redshift":case"snowflake":case"trino":case"noql":case"sqlite":return'"'.concat(t,'"');case"transactsql":return"[".concat(t,"]");case"bigquery":case"db2":return t;default:return"`".concat(t,"`")}}}function j(t){if(t)return t.toUpperCase()}function m(t){return t}function O(t){if(t){var e=t.prefix,r=t.type,n=t.parentheses,i=t.suffix,u=t.value,s="object"===a(t)?u:t;switch(r){case"backticks_quote_string":s="`".concat(u,"`");break;case"string":s="'".concat(u,"'");break;case"regex_string":s='r"'.concat(u,'"');break;case"hex_string":s="X'".concat(u,"'");break;case"full_hex_string":s="0x".concat(u);break;case"natural_string":s="N'".concat(u,"'");break;case"bit_string":s="b'".concat(u,"'");break;case"double_quote_string":s='"'.concat(u,'"');break;case"single_quote_string":s="'".concat(u,"'");break;case"boolean":case"bool":s=u?"TRUE":"FALSE";break;case"null":s="NULL";break;case"star":s="*";break;case"param":s="".concat(e||":").concat(u),e=null;break;case"origin":s=u.toUpperCase();break;case"date":case"datetime":case"time":case"timestamp":s="".concat(r.toUpperCase()," '").concat(u,"'");break;case"var_string":s="N'".concat(u,"'");break;case"unicode_string":s="U&'".concat(u,"'")}var c=[];return e&&c.push(j(e)),c.push(s),i&&("string"==typeof i&&c.push(i),"object"===a(i)&&(i.collate?c.push(Object(o.a)(i.collate)):c.push(O(i)))),s=c.join(" "),n?"(".concat(s,")"):s}}function w(t){if(!t)return[];var e=t.type,r=t.symbol,n=t.value;return[e.toUpperCase(),r,"string"==typeof n?n.toUpperCase():O(n)].filter(m)}function L(t,e){return function t(e,r){return Object.keys(e).filter((function(t){var r=e[t];return Array.isArray(r)||"object"===a(r)&&null!==r})).forEach((function(n){var o=e[n];if("object"!==a(o)||"param"!==o.type)return t(o,r);if(void 0===r[o.value])throw new Error("no value for parameter :".concat(o.value," found"));return e[n]=l(r[o.value]),null})),e}(JSON.parse(JSON.stringify(t)),e)}function g(t){var e=t.type,r=t.partitions;return[j(e),"(".concat(r.map((function(t){if("range"!==t.type)return O(t);var e=t.start,r=t.end,n=t.symbol;return"".concat(O(e)," ").concat(j(n)," ").concat(O(r))})).join(", "),")")].join(" ")}function C(t){var e=t.dataType,r=t.length,n=t.parentheses,o=t.scale,a=t.suffix,i="";return null!=r&&(i=o?"".concat(r,", ").concat(o):r),n&&(i="(".concat(i,")")),a&&a.length&&(i+=" ".concat(a.join(" "))),"".concat(e).concat(i)}function S(t){if(t){var e=t.dataType,r=t.definition,n=t.anglebracket,o=j(e);if("ARRAY"!==o&&"STRUCT"!==o)return o;var a=r&&r.map((function(t){return[t.field_name,S(t.field_type)].filter(m).join(" ")})).join(", ");return n?"".concat(o,"<").concat(a,">"):"".concat(o," ").concat(a)}}function T(t){if(t){var e=[],r=t.keyword,n=t.symbol,o=t.value;return e.push(r.toUpperCase()),n&&e.push(n),e.push(O(o)),e.join(" ")}}function A(t){return t.map((function(t){var e=t.keyword,r=t.args,o=[j(e)];if(r){var a=r.keyword,i=r.columns;o.push(j(a),i.map(n.e).join(", "))}return o.join(" ")})).join(" OR ")}function E(t){return t?["RETURNING",t.columns.map(n.g).filter(m).join(", ")].join(" "):""}function U(t){return t?[j(t.keyword),j(t.args)]:[]}function _(t){if(t){if("string"==typeof t){var e=b().database;switch(e&&e.toLowerCase()){case"sqlite":return"AUTOINCREMENT";default:return"AUTO_INCREMENT"}}var r=t.keyword,n=t.seed,o=t.increment,a=t.parentheses,i=j(r);return a&&(i+="(".concat(O(n),", ").concat(O(o),")")),i}}function x(t){if(t)return t.map(n.d).filter(m).join(", ")}},function(t,e,r){"use strict";r.d(e,"a",(function(){return g})),r.d(e,"b",(function(){return C})),r.d(e,"d",(function(){return L})),r.d(e,"c",(function(){return S}));var n=r(0),o=r(9),a=r(13);var i=r(22),u=r(21);var s=r(11),c=r(2),l=r(6),f=r(18);var p=r(7),b=r(23);function v(t){return(v="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function h(t){var e=t.expr_list,r=t.type;switch(Object(n.toUpper)(r)){case"STRUCT":return"(".concat(Object(c.h)(e),")");case"ARRAY":return function(t){var e=t.array_path,r=t.brackets,o=t.expr_list,a=t.parentheses;if(!o)return"[".concat(Object(c.h)(e),"]");var i=Array.isArray(o)?o.map((function(t){return"(".concat(Object(c.h)(t),")")})).filter(n.hasVal).join(", "):g(o);return r?"[".concat(i,"]"):a?"(".concat(i,")"):i}(t);default:return""}}function d(t){var e=t.definition,r=t.keyword,o=[Object(n.toUpper)(r)];return e&&"object"===v(e)&&(o.length=0,o.push(Object(n.arrayStructTypeToSQL)(e))),o.push(h(t)),o.filter(n.hasVal).join("")}var y=r(3),j=r(5),m=r(20);function O(t){return(O="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var w={alter:o.b,aggr_func:function(t){var e=t.args,r=t.filter,o=t.over,i=t.within_group_orderby,u=g(e.expr);u=Array.isArray(u)?u.join(", "):u;var s=t.name,c=Object(a.a)(o);e.distinct&&(u=["DISTINCT",u].join(" ")),e.separator&&e.separator.delimiter&&(u=[u,Object(n.literalToSQL)(e.separator.delimiter)].join("".concat(e.separator.symbol," "))),e.separator&&e.separator.expr&&(u=[u,g(e.separator.expr)].join(" ")),e.orderby&&(u=[u,S(e.orderby,"order by")].join(" ")),e.separator&&e.separator.value&&(u=[u,Object(n.toUpper)(e.separator.keyword),Object(n.literalToSQL)(e.separator.value)].filter(n.hasVal).join(" "));var l=i?"WITHIN GROUP (".concat(S(i,"order by"),")"):"",f=r?"FILTER (WHERE ".concat(g(r.where),")"):"";return["".concat(s,"(").concat(u,")"),l,c,f].filter(n.hasVal).join(" ")},any_value:l.a,window_func:m.c,array:d,assign:i.a,binary_expr:u.a,case:function(t){var e=["CASE"],r=t.args,n=t.expr,o=t.parentheses;n&&e.push(g(n));for(var a=0,i=r.length;a<i;++a)e.push(r[a].type.toUpperCase()),r[a].cond&&(e.push(g(r[a].cond)),e.push("THEN")),e.push(g(r[a].result));return e.push("END"),o?"(".concat(e.join(" "),")"):e.join(" ")},cast:l.c,collate:s.a,column_ref:c.e,column_definition:c.c,datatype:n.dataTypeToSQL,extract:l.d,flatten:l.e,fulltext_search:c.i,function:l.f,lambda:l.h,insert:j.b,interval:f.a,json:function(t){var e=t.keyword,r=t.expr_list;return[Object(n.toUpper)(e),r.map((function(t){return g(t)})).join(", ")].join(" ")},json_object_arg:l.g,json_visitor:function(t){return[t.symbol,g(t.expr)].join("")},show:b.a,struct:d,tablefunc:l.i,tables:y.c,unnest:y.d,window:m.b};function L(t){var e=t.prefix,r=void 0===e?"@":e,o=t.name,a=t.members,i=t.quoted,u=t.suffix,s=[],c=a&&a.length>0?"".concat(o,".").concat(a.join(".")):o,l="".concat(r||"").concat(c);return u&&(l+=u),s.push(l),[i,s.join(" "),i].filter(n.hasVal).join("")}function g(t){if(t){var e=t;if(t.ast){var r=e.ast;Reflect.deleteProperty(e,r);for(var o=0,a=Object.keys(r);o<a.length;o++){var i=a[o];e[i]=r[i]}}var u=e.type;return"expr"===u?g(e.expr):w[u]?w[u](e):Object(n.literalToSQL)(e)}}function C(t){return t?(Array.isArray(t)||(t=[t]),t.map(g)):[]}function S(t,e){if(!Array.isArray(t))return"";var r=[],o=Object(n.toUpper)(e);switch(o){case"ORDER BY":r=t.map((function(t){return[g(t.expr),t.type||"ASC",Object(n.toUpper)(t.nulls)].filter(n.hasVal).join(" ")}));break;case"PARTITION BY":default:r=t.map((function(t){return g(t.expr)}))}return Object(n.connector)(o,r.join(", "))}w.var=L,w.expr_list=function(t){var e=C(t.value),r=t.parentheses,n=t.separator;if(!r&&!n)return e;var o=n||", ",a=e.join(o);return r?"(".concat(a,")"):a},w.select=function(t){var e="object"===O(t._next)?Object(j.b)(t):Object(p.a)(t);return t.parentheses?"(".concat(e,")"):e},w.unary_expr=function(t){var e=t.operator,r=t.parentheses,n=t.expr,o="-"===e||"+"===e||"~"===e||"!"===e?"":" ",a="".concat(e).concat(o).concat(g(n));return r?"(".concat(a,")"):a},w.map_object=function(t){var e=t.keyword,r=t.expr.map((function(t){return[Object(n.literalToSQL)(t.key),Object(n.literalToSQL)(t.value)].join(", ")})).join(", ");return[Object(n.toUpper)(e),"[".concat(r,"]")].join("")}},function(t,e,r){"use strict";r.d(e,"a",(function(){return b})),r.d(e,"c",(function(){return m})),r.d(e,"e",(function(){return v})),r.d(e,"g",(function(){return L})),r.d(e,"h",(function(){return C})),r.d(e,"b",(function(){return h})),r.d(e,"d",(function(){return j})),r.d(e,"f",(function(){return d})),r.d(e,"i",(function(){return w})),r.d(e,"j",(function(){return g}));var n=r(11),o=r(19),a=r(1),i=r(6),u=r(3),s=r(0);function c(t){return(c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}function l(t){return function(t){if(Array.isArray(t))return p(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||f(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(t,e){if(t){if("string"==typeof t)return p(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?p(t,e):void 0}}function p(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function b(t){if(!t||0===t.length)return"";var e,r=[],n=function(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=f(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return i=t.done,t},e:function(t){u=!0,a=t},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}(t);try{for(n.s();!(e=n.n()).done;){var o=e.value,a=o.brackets?"[".concat(Object(s.literalToSQL)(o.index),"]"):"".concat(o.notation).concat(Object(s.literalToSQL)(o.index));o.property&&(a="".concat(a,".").concat(Object(s.literalToSQL)(o.property))),r.push(a)}}catch(t){n.e(t)}finally{n.f()}return r.join("")}function v(t){var e=t.array_index,r=t.as,o=t.column,i=t.collate,u=t.db,c=t.isDual,f=t.notations,p=void 0===f?[]:f,v=t.options,h=t.schema,d=t.table,y=t.parentheses,j=t.suffix,m=t.order_by,O=t.subFields,w=void 0===O?[]:O,L="*"===o?"*":function(t,e){if("string"==typeof t)return Object(s.identifierToSql)(t,e);var r=t.expr,n=t.offset,o=t.suffix,i=n&&n.map((function(t){return["[",t.name,"".concat(t.name?"(":""),Object(s.literalToSQL)(t.value),"".concat(t.name?")":""),"]"].filter(s.hasVal).join("")})).join("");return[Object(a.a)(r),i,o].filter(s.hasVal).join("")}(o,c),g=[u,h,d].filter(s.hasVal).map((function(t){return"".concat("string"==typeof t?Object(s.identifierToSql)(t):Object(a.a)(t))})),C=g[0];if(C){for(var S=1;S<g.length;++S)C="".concat(C).concat(p[S]||".").concat(g[S]);L="".concat(C).concat(p[S]||".").concat(L)}var T=[L=["".concat(L).concat(b(e))].concat(l(w)).join("."),Object(n.a)(i),Object(a.a)(v),Object(s.commonOptionConnector)("AS",a.a,r)];T.push("string"==typeof j?Object(s.toUpper)(j):Object(a.a)(j)),T.push(Object(s.toUpper)(m));var A=T.filter(s.hasVal).join(" ");return y?"(".concat(A,")"):A}function h(t){if(t){var e=t.dataType,r=t.length,n=t.suffix,o=t.scale,u=t.expr,s=e;if(null!=r&&(s+="(".concat([r,o].filter((function(t){return null!=t})).join(", "),")")),n&&n.length&&(s+=" ".concat(n.join(" "))),u&&(s+=Object(a.a)(u)),t.array){var c=Object(i.b)(t);s+=[/^\[.*\]$/.test(c)?"":" ",c].join("")}return s}}function d(t){var e=[];if(!t)return e;var r=t.definition,n=t.keyword,o=t.match,i=t.table,c=t.on_action;return e.push(Object(s.toUpper)(n)),e.push(Object(u.c)(i)),e.push(r&&"(".concat(r.map((function(t){return Object(a.a)(t)})).join(", "),")")),e.push(Object(s.toUpper)(o)),c.map((function(t){return e.push(Object(s.toUpper)(t.type),Object(a.a)(t.value))})),e.filter(s.hasVal)}function y(t){var e=[],r=t.nullable,n=t.character_set,i=t.check,u=t.comment,c=t.constraint,f=t.collate,p=t.storage,b=t.using,v=t.default_val,h=t.generated,y=t.auto_increment,j=t.unique,m=t.primary_key,O=t.column_format,w=t.reference_definition,L=[Object(s.toUpper)(r&&r.action),Object(s.toUpper)(r&&r.value)].filter(s.hasVal).join(" ");if(h||e.push(L),v){var g=v.type,C=v.value;e.push(g.toUpperCase(),Object(a.a)(C))}var S=Object(s.getParserOpt)().database;return c&&e.push(Object(s.toUpper)(c.keyword),Object(s.literalToSQL)(c.constraint)),e.push(Object(o.a)(i)),e.push(function(t){if(t)return[Object(s.toUpper)(t.value),"(".concat(Object(a.a)(t.expr),")"),Object(s.toUpper)(t.storage_type)].filter(s.hasVal).join(" ")}(h)),h&&e.push(L),e.push(Object(s.autoIncrementToSQL)(y),Object(s.toUpper)(m),Object(s.toUpper)(j),Object(s.commentToSQL)(u)),e.push.apply(e,l(Object(s.commonTypeValue)(n))),"sqlite"!==S&&e.push(Object(a.a)(f)),e.push.apply(e,l(Object(s.commonTypeValue)(O))),e.push.apply(e,l(Object(s.commonTypeValue)(p))),e.push.apply(e,l(d(w))),e.push(Object(s.commonOptionConnector)("USING",a.a,b)),e.filter(s.hasVal).join(" ")}function j(t){var e=t.column,r=t.collate,n=t.nulls,o=t.opclass,i=t.order_by,u="string"==typeof e?{type:"column_ref",table:t.table,column:e}:t;return u.collate=null,[Object(a.a)(u),Object(a.a)(r),o,Object(s.toUpper)(i),Object(s.toUpper)(n)].filter(s.hasVal).join(" ")}function m(t){var e=[],r=v(t.column),n=h(t.definition);return e.push(r),e.push(n),e.push(y(t)),e.filter(s.hasVal).join(" ")}function O(t){return t?"object"===c(t)?["AS",Object(a.a)(t)].join(" "):["AS",/^(`?)[a-z_][0-9a-z_]*(`?)$/i.test(t)?Object(s.identifierToSql)(t):Object(s.columnIdentifierToSql)(t)].join(" "):""}function w(t){var e=t.against,r=t.as,n=t.columns,o=t.match,i=t.mode;return[[Object(s.toUpper)(o),"(".concat(n.map((function(t){return v(t)})).join(", "),")")].join(" "),[Object(s.toUpper)(e),["(",Object(a.a)(t.expr),i&&" ".concat(Object(s.literalToSQL)(i)),")"].filter(s.hasVal).join("")].join(" "),O(r)].filter(s.hasVal).join(" ")}function L(t,e){var r=t.expr,n=t.type;if("cast"===n)return Object(i.c)(t);e&&(r.isDual=e);var o=Object(a.a)(r),u=t.expr_list;if(u){var c=[o],l=u.map((function(t){return L(t,e)})).join(", ");return c.push([Object(s.toUpper)(n),n&&"(",l,n&&")"].filter(s.hasVal).join("")),c.filter(s.hasVal).join(" ")}return r.parentheses&&Reflect.has(r,"array_index")&&"cast"!==r.type&&(o="(".concat(o,")")),r.array_index&&"column_ref"!==r.type&&(o="".concat(o).concat(b(r.array_index))),[o,O(t.as)].filter(s.hasVal).join(" ")}function g(t){var e=Array.isArray(t)&&t[0];return!(!e||"dual"!==e.type)}function C(t,e){if(!t||"*"===t)return t;var r=g(e);return t.map((function(t){return L(t,r)})).join(", ")}},function(t,e,r){"use strict";r.d(e,"c",(function(){return h})),r.d(e,"a",(function(){return d})),r.d(e,"b",(function(){return v})),r.d(e,"d",(function(){return c}));var n=r(21),o=r(2),a=r(1),i=r(17),u=r(18),s=r(0);function c(t){var e=t.type,r=t.as,n=t.expr,o=t.with_offset;return["".concat(Object(s.toUpper)(e),"(").concat(n&&Object(a.a)(n)||"",")"),Object(s.commonOptionConnector)("AS","string"==typeof r?s.identifierToSql:a.a,r),Object(s.commonOptionConnector)(Object(s.toUpper)(o&&o.keyword),s.identifierToSql,o&&o.as)].filter(s.hasVal).join(" ")}function l(t){if(t)switch(t.type){case"pivot":case"unpivot":return function(t){var e=t.as,r=t.column,i=t.expr,u=t.in_expr,c=t.type,l=[Object(a.a)(i),"FOR",Object(o.e)(r),Object(n.a)(u)],f=["".concat(Object(s.toUpper)(c),"(").concat(l.join(" "),")")];return e&&f.push("AS",Object(s.identifierToSql)(e)),f.join(" ")}(t);default:return""}}function f(t){if(t){var e=t.keyword,r=t.expr,n=t.index,o=t.index_columns,i=t.parentheses,u=t.prefix,c=[];switch(e.toLowerCase()){case"forceseek":c.push(Object(s.toUpper)(e),"(".concat(Object(s.identifierToSql)(n)),"(".concat(o.map(a.a).filter(s.hasVal).join(", "),"))"));break;case"spatial_window_max_cells":c.push(Object(s.toUpper)(e),"=",Object(a.a)(r));break;case"index":c.push(Object(s.toUpper)(u),Object(s.toUpper)(e),i?"(".concat(r.map(s.identifierToSql).join(", "),")"):"= ".concat(Object(s.identifierToSql)(r)));break;default:c.push(Object(a.a)(r))}return c.filter(s.hasVal).join(" ")}}function p(t,e){var r=t.name,n=t.symbol;return[Object(s.toUpper)(r),n,e].filter(s.hasVal).join(" ")}function b(t){var e=[];switch(t.keyword){case"as":e.push("AS","OF",Object(a.a)(t.of));break;case"from_to":e.push("FROM",Object(a.a)(t.from),"TO",Object(a.a)(t.to));break;case"between_and":e.push("BETWEEN",Object(a.a)(t.between),"AND",Object(a.a)(t.and));break;case"contained":e.push("CONTAINED","IN",Object(a.a)(t.in))}return e.filter(s.hasVal).join(" ")}function v(t){if("UNNEST"===Object(s.toUpper)(t.type))return c(t);var e,r,n,v,h=t.table,d=t.db,y=t.as,j=t.expr,m=t.operator,O=t.prefix,w=t.schema,L=t.server,g=t.suffix,C=t.tablesample,S=t.temporal_table,T=t.table_hint,A=Object(s.identifierToSql)(L),E=Object(s.identifierToSql)(d),U=Object(s.identifierToSql)(w),_=h&&Object(s.identifierToSql)(h);if(j)switch(j.type){case"values":var x=j.parentheses,k=j.values,I=j.prefix,N=[x&&"(","",x&&")"],R=Object(i.b)(k);I&&(R=R.split("(").slice(1).map((function(t){return"".concat(Object(s.toUpper)(I),"(").concat(t)})).join("")),N[1]="VALUES ".concat(R),_=N.filter(s.hasVal).join("");break;case"tumble":_=function(t){if(!t)return"";var e=t.data,r=t.timecol,n=t.offset,a=t.size,i=[Object(s.identifierToSql)(e.expr.db),Object(s.identifierToSql)(e.expr.schema),Object(s.identifierToSql)(e.expr.table)].filter(s.hasVal).join("."),c="DESCRIPTOR(".concat(Object(o.e)(r.expr),")"),l=["TABLE(TUMBLE(TABLE ".concat(p(e,i)),p(r,c)],f=p(a,Object(u.a)(a.expr));return n&&n.expr?l.push(f,"".concat(p(n,Object(u.a)(n.expr)),"))")):l.push("".concat(f,"))")),l.filter(s.hasVal).join(", ")}(j);break;case"generator":r=(e=j).keyword,n=e.type,v=e.generators.map((function(t){return Object(s.commonTypeValue)(t).join(" ")})).join(", "),_="".concat(Object(s.toUpper)(r),"(").concat(Object(s.toUpper)(n),"(").concat(v,"))");break;default:_=Object(a.a)(j)}var V=[[A,E,U,_=[Object(s.toUpper)(O),_,Object(s.toUpper)(g)].filter(s.hasVal).join(" ")].filter(s.hasVal).join(".")];if(C){var q=["TABLESAMPLE",Object(a.a)(C.expr),Object(s.literalToSQL)(C.repeatable)].filter(s.hasVal).join(" ");V.push(q)}V.push(function(t){if(t){var e=t.keyword,r=t.expr;return[Object(s.toUpper)(e),b(r)].filter(s.hasVal).join(" ")}}(S),Object(s.commonOptionConnector)("AS","string"==typeof y?s.identifierToSql:a.a,y),l(m)),T&&V.push(Object(s.toUpper)(T.keyword),"(".concat(T.expr.map(f).filter(s.hasVal).join(", "),")"));var M=V.filter(s.hasVal).join(" ");return t.parentheses?"(".concat(M,")"):M}function h(t){if(!t)return"";if(!Array.isArray(t)){var e=t.expr,r=t.parentheses,n=h(e);if(r){for(var o=[],i=[],u=!0===r?1:r.length,c=0;c++<u;)o.push("("),i.push(")");return o.join("")+n+i.join("")}return n}var l=t[0],f=[];if("dual"===l.type)return"DUAL";f.push(v(l));for(var p=1;p<t.length;++p){var b=t[p],d=b.on,y=b.using,j=b.join,m=[];m.push(j?" ".concat(Object(s.toUpper)(j)):","),m.push(v(b)),m.push(Object(s.commonOptionConnector)("ON",a.a,d)),y&&m.push("USING (".concat(y.map(s.identifierToSql).join(", "),")")),f.push(m.filter(s.hasVal).join(" "))}return f.filter(s.hasVal).join("")}function d(t){var e=t.keyword,r=t.symbol,n=t.value,o=[e.toUpperCase()];r&&o.push(r);var i=Object(s.literalToSQL)(n);switch(e){case"partition by":case"default collate":i=Object(a.a)(n);break;case"options":i="(".concat(n.map((function(t){return[t.keyword,t.symbol,Object(a.a)(t.value)].join(" ")})).join(", "),")");break;case"cluster by":i=n.map(a.a).join(", ")}return o.push(i),o.filter(s.hasVal).join(" ")}},function(t,e,r){"use strict";r.d(e,"a",(function(){return v})),r.d(e,"b",(function(){return h})),r.d(e,"c",(function(){return C})),r.d(e,"d",(function(){return S})),r.d(e,"e",(function(){return d})),r.d(e,"f",(function(){return y})),r.d(e,"g",(function(){return j})),r.d(e,"h",(function(){return E})),r.d(e,"i",(function(){return A})),r.d(e,"j",(function(){return T})),r.d(e,"l",(function(){return m})),r.d(e,"m",(function(){return O})),r.d(e,"o",(function(){return w})),r.d(e,"n",(function(){return L})),r.d(e,"k",(function(){return g}));var n=r(2),o=r(14),a=r(0),i=r(1),u=r(3),s=r(16),c=r(5);function l(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=p(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return i=t.done,t},e:function(t){u=!0,a=t},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}function f(t){return function(t){if(Array.isArray(t))return b(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||p(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function p(t,e){if(t){if("string"==typeof t)return b(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?b(t,e):void 0}}function b(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function v(t){var e=Object(i.a)(t.expr);return"".concat("CALL"," ").concat(e)}function h(t){var e=t.type,r=t.keyword,o=t.name,s=t.prefix,c=t.suffix,l=[Object(a.toUpper)(e),Object(a.toUpper)(r),Object(a.toUpper)(s)];switch(r){case"table":l.push(Object(u.c)(o));break;case"trigger":l.push([o[0].schema?"".concat(Object(a.identifierToSql)(o[0].schema),"."):"",Object(a.identifierToSql)(o[0].trigger)].filter(a.hasVal).join(""));break;case"database":case"schema":case"procedure":l.push(Object(a.identifierToSql)(o));break;case"view":l.push(Object(u.c)(o),t.options&&t.options.map(i.a).filter(a.hasVal).join(" "));break;case"index":l.push.apply(l,[Object(n.e)(o)].concat(f(t.table?["ON",Object(u.b)(t.table)]:[]),[t.options&&t.options.map(i.a).filter(a.hasVal).join(" ")]))}return c&&l.push(c.map(i.a).filter(a.hasVal).join(" ")),l.filter(a.hasVal).join(" ")}function d(t){var e=t.type,r=t.table,n=Object(a.toUpper)(e);return"".concat(n," ").concat(Object(a.identifierToSql)(r))}function y(t){var e=t.type,r=t.name,n=t.args,o=[Object(a.toUpper)(e)],u=[r];return n&&u.push("(".concat(Object(i.a)(n).join(", "),")")),o.push(u.join("")),o.filter(a.hasVal).join(" ")}function j(t){var e=t.type,r=t.label,n=t.target,o=t.query,i=t.stmts;return[r,Object(a.toUpper)(e),n,"IN",Object(c.a)([o]),"LOOP",Object(c.a)(i),"END LOOP",r].filter(a.hasVal).join(" ")}function m(t){var e=t.type,r=t.level,n=t.raise,o=t.using,u=[Object(a.toUpper)(e),Object(a.toUpper)(r)];return n&&u.push([Object(a.literalToSQL)(n.keyword),"format"===n.type&&n.expr.length>0&&","].filter(a.hasVal).join(""),n.expr.map((function(t){return Object(i.a)(t)})).join(", ")),o&&u.push(Object(a.toUpper)(o.type),Object(a.toUpper)(o.option),o.symbol,o.expr.map((function(t){return Object(i.a)(t)})).join(", ")),u.filter(a.hasVal).join(" ")}function O(t){var e=t.type,r=t.table,n=[],o="".concat(e&&e.toUpperCase()," TABLE");if(r){var a,i=l(r);try{for(i.s();!(a=i.n()).done;){var s=a.value.map(u.b);n.push(s.join(" TO "))}}catch(t){i.e(t)}finally{i.f()}}return"".concat(o," ").concat(n.join(", "))}function w(t){var e=t.type,r=t.db,n=Object(a.toUpper)(e),o=Object(a.identifierToSql)(r);return"".concat(n," ").concat(o)}function L(t){var e=t.type,r=t.expr,n=t.keyword,o=Object(a.toUpper)(e),u=r.map(i.a).join(", ");return[o,Object(a.toUpper)(n),u].filter(a.hasVal).join(" ")}function g(t){var e=t.type,r=t.keyword,n=t.tables,o=[e.toUpperCase(),Object(a.toUpper)(r)];if("UNLOCK"===e.toUpperCase())return o.join(" ");var i,s=[],c=l(n);try{var p=function(){var t=i.value,e=t.table,r=t.lock_type,n=[Object(u.b)(e)];if(r){n.push(["prefix","type","suffix"].map((function(t){return Object(a.toUpper)(r[t])})).filter(a.hasVal).join(" "))}s.push(n.join(" "))};for(c.s();!(i=c.n()).done;)p()}catch(t){c.e(t)}finally{c.f()}return o.push.apply(o,[s.join(", ")].concat(f(function(t){var e=t.lock_mode,r=t.nowait,n=[];if(e){var o=e.mode;n.push(o.toUpperCase())}return r&&n.push(r.toUpperCase()),n}(t)))),o.filter(a.hasVal).join(" ")}function C(t){var e=t.type,r=t.keyword,n=t.expr;return[Object(a.toUpper)(e),Object(a.toUpper)(r),Object(i.a)(n)].filter(a.hasVal).join(" ")}function S(t){var e=t.type,r=t.declare,u=t.symbol,s=[Object(a.toUpper)(e)],c=r.map((function(t){var e=t.at,r=t.name,u=t.as,s=t.constant,c=t.datatype,l=t.not_null,f=t.prefix,p=t.definition,b=t.keyword,v=[[e,r].filter(a.hasVal).join(""),Object(a.toUpper)(u),Object(a.toUpper)(s)];switch(b){case"variable":v.push(Object(n.b)(c),Object(i.a)(t.collate),Object(a.toUpper)(l)),p&&v.push(Object(a.toUpper)(p.keyword),Object(i.a)(p.value));break;case"cursor":v.push(Object(a.toUpper)(f));break;case"table":v.push(Object(a.toUpper)(f),"(".concat(p.map(o.a).join(", "),")"))}return v.filter(a.hasVal).join(" ")})).join("".concat(u," "));return s.push(c),s.join(" ")}function T(t){var e=t.boolean_expr,r=t.else_expr,n=t.elseif_expr,o=t.if_expr,u=t.prefix,c=t.go,l=t.semicolons,f=t.suffix,p=t.type,b=[Object(a.toUpper)(p),Object(i.a)(e),Object(a.literalToSQL)(u),"".concat(Object(s.a)(o.ast||o)).concat(l[0]),Object(a.toUpper)(c)];return n&&b.push(n.map((function(t){return[Object(a.toUpper)(t.type),Object(i.a)(t.boolean_expr),"THEN",Object(s.a)(t.then.ast||t.then),t.semicolon].filter(a.hasVal).join(" ")})).join(" ")),r&&b.push("ELSE","".concat(Object(s.a)(r.ast||r)).concat(l[1])),b.push(Object(a.literalToSQL)(f)),b.filter(a.hasVal).join(" ")}function A(t){var e=t.name,r=t.host,n=[Object(a.literalToSQL)(e)];return r&&n.push("@",Object(a.literalToSQL)(r)),n.join("")}function E(t){var e=t.type,r=t.grant_option_for,o=t.keyword,u=t.objects,s=t.on,c=t.to_from,l=t.user_or_roles,f=t.with,p=[Object(a.toUpper)(e),Object(a.literalToSQL)(r)],b=u.map((function(t){var e=t.priv,r=t.columns,o=[Object(i.a)(e)];return r&&o.push("(".concat(r.map(n.e).join(", "),")")),o.join(" ")})).join(", ");if(p.push(b),s)switch(p.push("ON"),o){case"priv":p.push(Object(a.literalToSQL)(s.object_type),s.priv_level.map((function(t){return[Object(a.identifierToSql)(t.prefix),Object(a.identifierToSql)(t.name)].filter(a.hasVal).join(".")})).join(", "));break;case"proxy":p.push(A(s))}return p.push(Object(a.toUpper)(c),l.map(A).join(", ")),p.push(Object(a.literalToSQL)(f)),p.filter(a.hasVal).join(" ")}},function(t,e,r){"use strict";r.d(e,"b",(function(){return w})),r.d(e,"a",(function(){return L}));var n=r(9),o=r(1),a=r(3),i=r(0);var u=r(14),s=r(2);function c(t){var e=t.name,r=t.type;switch(r){case"table":case"view":var n=[Object(i.identifierToSql)(e.db),Object(i.identifierToSql)(e.table)].filter(i.hasVal).join(".");return"".concat(Object(i.toUpper)(r)," ").concat(n);case"column":return"COLUMN ".concat(Object(s.e)(e));default:return"".concat(Object(i.toUpper)(r)," ").concat(Object(i.literalToSQL)(e))}}function l(t){var e=t.keyword,r=t.expr;return[Object(i.toUpper)(e),Object(i.literalToSQL)(r)].filter(i.hasVal).join(" ")}var f=r(7);var p=r(8),b=r(15);var v=r(12),h=r(17),d=r(4);function y(t){var e=t.name,r=t.value;return["@".concat(e),"=",Object(o.a)(r)].filter(i.hasVal).join(" ")}var j=r(22);var m=r(23),O={alter:n.c,analyze:function(t){var e=t.type,r=t.table;return[Object(i.toUpper)(e),Object(a.b)(r)].join(" ")},attach:function(t){var e=t.type,r=t.database,n=t.expr,a=t.as,u=t.schema;return[Object(i.toUpper)(e),Object(i.toUpper)(r),Object(o.a)(n),Object(i.toUpper)(a),Object(i.identifierToSql)(u)].filter(i.hasVal).join(" ")},create:u.b,comment:function(t){var e=t.expr,r=t.keyword,n=t.target,o=t.type;return[Object(i.toUpper)(o),Object(i.toUpper)(r),c(n),l(e)].filter(i.hasVal).join(" ")},select:f.a,deallocate:d.c,delete:function(t){var e=t.columns,r=t.from,n=t.table,u=t.where,c=t.orderby,l=t.with,f=t.limit,v=[Object(b.a)(l),"DELETE"],h=Object(s.h)(e,r);return v.push(h),Array.isArray(n)&&(1===n.length&&!0===n[0].addition||v.push(Object(a.c)(n))),v.push(Object(i.commonOptionConnector)("FROM",a.c,r)),v.push(Object(i.commonOptionConnector)("WHERE",o.a,u)),v.push(Object(o.c)(c,"order by")),v.push(Object(p.a)(f)),v.filter(i.hasVal).join(" ")},exec:function(t){var e=t.keyword,r=t.module,n=t.parameters;return[Object(i.toUpper)(e),Object(a.b)(r),(n||[]).map(y).filter(i.hasVal).join(", ")].filter(i.hasVal).join(" ")},execute:d.f,explain:function(t){var e=t.type,r=t.expr;return[Object(i.toUpper)(e),Object(f.a)(r)].join(" ")},for:d.g,update:v.b,if:d.j,insert:h.a,drop:d.b,truncate:d.b,replace:h.a,declare:d.d,use:d.o,rename:d.m,call:d.a,desc:d.e,set:d.n,lock:d.k,unlock:d.k,show:m.a,grant:d.h,revoke:d.h,proc:function(t){var e=t.stmt;switch(e.type){case"assign":return Object(j.a)(e);case"return":return function(t){var e=t.type,r=t.expr;return[Object(i.toUpper)(e),Object(o.a)(r)].join(" ")}(e)}},raise:d.l,transaction:function(t){var e=t.expr,r=e.action,n=e.keyword,o=e.modes,a=[Object(i.literalToSQL)(r),Object(i.toUpper)(n)];return o&&a.push(o.map(i.literalToSQL).join(", ")),a.filter(i.hasVal).join(" ")}};function w(t){if(!t)return"";for(var e=O[t.type],r=t,n=r._parentheses,a=r._orderby,u=r._limit,s=[n&&"(",e(t)];t._next;){var c=O[t._next.type],l=Object(i.toUpper)(t.set_op);s.push(l,c(t._next)),t=t._next}return s.push(n&&")",Object(o.c)(a,"order by"),Object(p.a)(u)),s.filter(i.hasVal).join(" ")}function L(t){for(var e=[],r=0,n=t.length;r<n;++r){var o=t[r]&&t[r].ast?t[r].ast:t[r],a=w(o);r===n-1&&"transaction"===o.type&&(a="".concat(a," ;")),e.push(a)}return e.join(" ; ")}},function(t,e,r){"use strict";r.d(e,"a",(function(){return u})),r.d(e,"b",(function(){return s})),r.d(e,"c",(function(){return c})),r.d(e,"d",(function(){return l})),r.d(e,"e",(function(){return p})),r.d(e,"f",(function(){return b})),r.d(e,"g",(function(){return f})),r.d(e,"h",(function(){return h})),r.d(e,"i",(function(){return v}));var n=r(2),o=r(1),a=r(0),i=r(13);function u(t){var e=t.args,r=t.type,n=t.over,u=e.expr,s=e.having,c="".concat(Object(a.toUpper)(r),"(").concat(Object(o.a)(u));return s&&(c="".concat(c," HAVING ").concat(Object(a.toUpper)(s.prefix)," ").concat(Object(o.a)(s.expr))),[c="".concat(c,")"),Object(i.a)(n)].filter(a.hasVal).join(" ")}function s(t){if(!t||!t.array)return"";var e=t.array.keyword;if(e)return Object(a.toUpper)(e);for(var r=t.array,n=r.dimension,o=r.length,i=[],u=0;u<n;u++)i.push("["),o&&o[u]&&i.push(Object(a.literalToSQL)(o[u])),i.push("]");return i.join("")}function c(t){for(var e=t.target,r=t.expr,n=t.keyword,i=t.symbol,u=t.as,c=t.parentheses,l=Object(o.a)(r),f=[],p=0,b=e.length;p<b;++p){var v=e[p],h=v.angle_brackets,d=v.length,y=v.dataType,j=v.parentheses,m=v.quoted,O=v.scale,w=v.suffix,L=v.expr,g=L?Object(o.a)(L):"";null!=d&&(g=O?"".concat(d,", ").concat(O):d),j&&(g="(".concat(g,")")),h&&(g="<".concat(g,">")),w&&w.length&&(g+=" ".concat(w.map(a.literalToSQL).join(" ")));var C="::",S="",T=[];"as"===i&&(0===p&&(l="".concat(Object(a.toUpper)(n),"(").concat(l)),S=")",C=" ".concat(i.toUpperCase()," ")),0===p&&T.push(l);var A=s(v);T.push(C,m,y,m,A,g,S),f.push(T.filter(a.hasVal).join(""))}u&&f.push(" AS ".concat(Object(a.identifierToSql)(u)));var E=f.filter(a.hasVal).join("");return c?"(".concat(E,")"):E}function l(t){var e=t.args,r=t.type,n=e.field,i=e.cast_type,u=e.source,s=["".concat(Object(a.toUpper)(r),"(").concat(Object(a.toUpper)(n)),"FROM",Object(a.toUpper)(i),Object(o.a)(u)];return"".concat(s.filter(a.hasVal).join(" "),")")}function f(t){var e=t.expr,r=e.key,n=e.value,i=e.on,u=[Object(o.a)(r),"VALUE",Object(o.a)(n)];return i&&u.push("ON","NULL",Object(o.a)(i)),u.filter(a.hasVal).join(" ")}function p(t){var e=t.args,r=t.type,n=["input","path","outer","recursive","mode"].map((function(t){return function(t){if(!t)return"";var e=t.type,r=t.symbol,n=t.value;return[Object(a.toUpper)(e),r,Object(o.a)(n)].filter(a.hasVal).join(" ")}(e[t])})).filter(a.hasVal).join(", ");return"".concat(Object(a.toUpper)(r),"(").concat(n,")")}function b(t){var e=t.args,r=t.array_index,u=t.name,s=t.args_parentheses,c=t.parentheses,l=t.over,f=t.suffix,p=Object(i.a)(l),b=Object(o.a)(f),v=[Object(a.literalToSQL)(u.schema),u.name.map(a.literalToSQL).join(".")].filter(a.hasVal).join(".");if(!e)return[v,p].filter(a.hasVal).join(" ");var h=t.separator||", ";"TRIM"===Object(a.toUpper)(v)&&(h=" ");var d=[v];d.push(!1===s?" ":"(");var y=Object(o.a)(e);if(Array.isArray(h)){for(var j=y[0],m=1,O=y.length;m<O;++m)j=[j,y[m]].join(" ".concat(Object(o.a)(h[m-1])," "));d.push(j)}else d.push(y.join(h));return!1!==s&&d.push(")"),d.push(Object(n.a)(r)),d=[d.join(""),b].filter(a.hasVal).join(" "),[c?"(".concat(d,")"):d,p].filter(a.hasVal).join(" ")}function v(t){var e=t.as,r=t.name,n=t.args,i=[Object(a.literalToSQL)(r.schema),r.name.map(a.literalToSQL).join(".")].filter(a.hasVal).join(".");return["".concat(i,"(").concat(Object(o.a)(n).join(", "),")"),"AS",b(e)].join(" ")}function h(t){var e=t.args,r=t.expr,n=e.value,a=e.parentheses,i=n.map(o.a).join(", ");return[a?"(".concat(i,")"):i,"->",Object(o.a)(r)].join(" ")}},function(t,e,r){"use strict";r.d(e,"a",(function(){return f}));var n=r(1),o=r(2),a=r(8),i=r(15),u=r(3),s=r(0),c=r(11);function l(t){if(t&&t.position){var e=t.keyword,r=t.expr,o=[],a=Object(s.toUpper)(e);switch(a){case"VAR":o.push(r.map(n.d).join(", "));break;default:o.push(a,"string"==typeof r?Object(s.identifierToSql)(r):Object(n.a)(r))}return o.filter(s.hasVal).join(" ")}}function f(t){var e=t.as_struct_val,r=t.columns,f=t.collate,p=t.distinct,b=t.for,v=t.from,h=t.for_sys_time_as_of,d=void 0===h?{}:h,y=t.locking_read,j=t.groupby,m=t.having,O=t.into,w=void 0===O?{}:O,L=t.limit,g=t.options,C=t.orderby,S=t.parentheses_symbol,T=t.qualify,A=t.top,E=t.window,U=t.with,_=t.where,x=[Object(i.a)(U),"SELECT",Object(s.toUpper)(e)];Array.isArray(g)&&x.push(g.join(" ")),x.push(function(t){if(t){if("string"==typeof t)return t;var e=t.type,r=t.columns,o=[Object(s.toUpper)(e)];return r&&o.push("(".concat(r.map(n.a).join(", "),")")),o.filter(s.hasVal).join(" ")}}(p),Object(s.topToSQL)(A),Object(o.h)(r,v));var k=w.position,I="";k&&(I=Object(s.commonOptionConnector)("INTO",l,w)),"column"===k&&x.push(I),x.push(Object(s.commonOptionConnector)("FROM",u.c,v)),"from"===k&&x.push(I);var N=d||{},R=N.keyword,V=N.expr;x.push(Object(s.commonOptionConnector)(R,n.a,V)),x.push(Object(s.commonOptionConnector)("WHERE",n.a,_)),j&&(x.push(Object(s.connector)("GROUP BY",Object(n.b)(j.columns).join(", "))),x.push(Object(n.b)(j.modifiers).join(", "))),x.push(Object(s.commonOptionConnector)("HAVING",n.a,m)),x.push(Object(s.commonOptionConnector)("QUALIFY",n.a,T)),x.push(Object(s.commonOptionConnector)("WINDOW",n.a,E)),x.push(Object(n.c)(C,"order by")),x.push(Object(c.a)(f)),x.push(Object(a.a)(L)),x.push(Object(s.toUpper)(y)),"end"===k&&x.push(I),x.push(function(t){if(t){var e=t.expr,r=t.keyword,o=t.type,a=[Object(s.toUpper)(o),Object(s.toUpper)(r)];return e?"".concat(a.join(" "),"(").concat(Object(n.a)(e),")"):a.join(" ")}}(b));var q=x.filter(s.hasVal).join(" ");return S?"(".concat(q,")"):q}},function(t,e,r){"use strict";r.d(e,"a",(function(){return s}));var n=r(0),o=r(1);function a(t){return function(t){if(Array.isArray(t))return i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function u(t){return t?[Object(n.toUpper)(t.prefix),Object(o.a)(t.value),Object(n.toUpper)(t.suffix)]:[]}function s(t){return t?t.fetch?(r=(e=t).fetch,i=e.offset,[].concat(a(u(i)),a(u(r))).filter(n.hasVal).join(" ")):function(t){var e=t.seperator,r=t.value;return 1===r.length&&"offset"===e?Object(n.connector)("OFFSET",Object(o.a)(r[0])):Object(n.connector)("LIMIT",r.map(o.a).join("".concat("offset"===e?" ":"").concat(Object(n.toUpper)(e)," ")))}(t):"";var e,r,i}},function(t,e,r){"use strict";r.d(e,"a",(function(){return f})),r.d(e,"c",(function(){return p})),r.d(e,"b",(function(){return l}));var n=r(2),o=r(14),a=r(10),i=r(3),u=r(1),s=r(7),c=r(0);function l(t){if(!t)return"";var e=t.action,r=t.create_definitions,i=t.if_not_exists,u=t.keyword,s=t.if_exists,l=t.old_column,f=t.prefix,p=t.resource,b=t.symbol,v=t.suffix,h="",d=[];switch(p){case"column":d=[Object(n.c)(t)];break;case"index":d=Object(a.c)(t),h=t[p];break;case"table":case"schema":h=Object(c.identifierToSql)(t[p]);break;case"aggregate":case"function":case"domain":case"type":h=Object(c.identifierToSql)(t[p]);break;case"algorithm":case"lock":case"table-option":h=[b,Object(c.toUpper)(t[p])].filter(c.hasVal).join(" ");break;case"constraint":h=Object(c.identifierToSql)(t[p]),d=[Object(o.a)(r)];break;case"key":h=Object(c.identifierToSql)(t[p]);break;default:h=[b,t[p]].filter((function(t){return null!==t})).join(" ")}var y=[Object(c.toUpper)(e),Object(c.toUpper)(u),Object(c.toUpper)(i),Object(c.toUpper)(s),l&&Object(n.e)(l),Object(c.toUpper)(f),h&&h.trim(),d.filter(c.hasVal).join(" ")];return v&&y.push(Object(c.toUpper)(v.keyword),v.expr&&Object(n.e)(v.expr)),y.filter(c.hasVal).join(" ")}function f(t){var e=t.default&&[Object(c.toUpper)(t.default.keyword),Object(u.a)(t.default.value)].join(" ");return[Object(c.toUpper)(t.mode),t.name,Object(c.dataTypeToSQL)(t.type),e].filter(c.hasVal).join(" ")}function p(t){var e=t.keyword;switch(void 0===e?"table":e){case"aggregate":return function(t){var e=t.args,r=t.expr,n=t.keyword,o=t.name,a=t.type,i=e.expr,u=e.orderby;return[Object(c.toUpper)(a),Object(c.toUpper)(n),[[Object(c.identifierToSql)(o.schema),Object(c.identifierToSql)(o.name)].filter(c.hasVal).join("."),"(".concat(i.map(f).join(", ")).concat(u?[" ORDER","BY",u.map(f).join(", ")].join(" "):"",")")].filter(c.hasVal).join(""),l(r)].filter(c.hasVal).join(" ")}(t);case"table":return function(t){var e=t.type,r=t.table,n=t.if_exists,o=t.prefix,a=t.expr,s=void 0===a?[]:a,l=Object(c.toUpper)(e),f=Object(i.c)(r),p=s.map(u.a);return[l,"TABLE",Object(c.toUpper)(n),Object(c.literalToSQL)(o),f,p.join(", ")].filter(c.hasVal).join(" ")}(t);case"schema":return function(t){var e=t.expr,r=t.keyword,n=t.schema,o=t.type;return[Object(c.toUpper)(o),Object(c.toUpper)(r),Object(c.identifierToSql)(n),l(e)].filter(c.hasVal).join(" ")}(t);case"domain":case"type":return function(t){var e=t.expr,r=t.keyword,n=t.name,o=t.type;return[Object(c.toUpper)(o),Object(c.toUpper)(r),[Object(c.identifierToSql)(n.schema),Object(c.identifierToSql)(n.name)].filter(c.hasVal).join("."),l(e)].filter(c.hasVal).join(" ")}(t);case"function":return function(t){var e=t.args,r=t.expr,n=t.keyword,o=t.name,a=t.type;return[Object(c.toUpper)(a),Object(c.toUpper)(n),[[Object(c.identifierToSql)(o.schema),Object(c.identifierToSql)(o.name)].filter(c.hasVal).join("."),e&&"(".concat(e.expr?e.expr.map(f).join(", "):"",")")].filter(c.hasVal).join(""),l(r)].filter(c.hasVal).join(" ")}(t);case"view":return function(t){var e=t.type,r=t.columns,o=t.attributes,a=t.select,u=t.view,l=t.with,f=[Object(c.toUpper)(e),"VIEW",Object(i.b)(u)];return r&&f.push("(".concat(r.map(n.e).join(", "),")")),o&&f.push("WITH ".concat(o.map(c.toUpper).join(", "))),f.push("AS",Object(s.a)(a)),l&&f.push(Object(c.toUpper)(l)),f.filter(c.hasVal).join(" ")}(t)}}},function(t,e,r){"use strict";r.d(e,"a",(function(){return f})),r.d(e,"d",(function(){return u})),r.d(e,"b",(function(){return c})),r.d(e,"c",(function(){return l}));var n=r(0),o=r(1);function a(t){return function(t){if(Array.isArray(t))return i(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return i(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?i(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function i(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function u(t){if(!t)return[];var e=t.keyword,r=t.type;return[e.toUpperCase(),Object(n.toUpper)(r)]}function s(t){if(t){var e=t.type,r=t.expr,o=t.symbol,i=e.toUpperCase(),s=[];switch(s.push(i),i){case"KEY_BLOCK_SIZE":o&&s.push(o),s.push(Object(n.literalToSQL)(r));break;case"BTREE":case"HASH":s.length=0,s.push.apply(s,a(u(t)));break;case"WITH PARSER":s.push(r);break;case"VISIBLE":case"INVISIBLE":break;case"COMMENT":s.shift(),s.push(Object(n.commentToSQL)(t));break;case"DATA_COMPRESSION":s.push(o,Object(n.toUpper)(r.value),Object(n.onPartitionsToSQL)(r.on));break;default:s.push(o,Object(n.literalToSQL)(r))}return s.filter(n.hasVal).join(" ")}}function c(t){return t?t.map(s):[]}function l(t){var e=t.constraint_type,r=t.index_type,i=t.index_options,s=void 0===i?[]:i,l=t.definition,f=t.on,p=t.with,b=[];if(b.push.apply(b,a(u(r))),l&&l.length){var v="CHECK"===Object(n.toUpper)(e)?"(".concat(Object(o.a)(l[0]),")"):"(".concat(l.map((function(t){return Object(o.a)(t)})).join(", "),")");b.push(v)}return b.push(c(s).join(" ")),p&&b.push("WITH (".concat(c(p).join(", "),")")),f&&b.push("ON [".concat(f,"]")),b}function f(t){var e=[],r=t.keyword,o=t.index;return e.push(Object(n.toUpper)(r)),e.push(o),e.push.apply(e,a(l(t))),e.filter(n.hasVal).join(" ")}},function(t,e,r){"use strict";r.d(e,"a",(function(){return a}));var n=r(1),o=r(0);function a(t){if(t){var e=t.keyword,r=t.collate,a=r.name,i=r.symbol,u=r.value,s=[Object(o.toUpper)(e)];return u||s.push(i),s.push(Object(o.literalToSQL)(a)),u&&s.push(i),s.push(Object(n.a)(u)),s.filter(o.hasVal).join(" ")}}},function(t,e,r){"use strict";r.d(e,"b",(function(){return p})),r.d(e,"a",(function(){return f}));var n=r(3),o=r(1),a=r(2),i=r(8),u=r(0),s=r(15);function c(t,e){var r="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!r){if(Array.isArray(t)||(r=function(t,e){if(t){if("string"==typeof t)return l(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?l(t,e):void 0}}(t))||e&&t&&"number"==typeof t.length){r&&(t=r);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,i=!0,u=!1;return{s:function(){r=r.call(t)},n:function(){var t=r.next();return i=t.done,t},e:function(t){u=!0,a=t},f:function(){try{i||null==r.return||r.return()}finally{if(u)throw a}}}}function l(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function f(t){if(!t||0===t.length)return"";var e,r=[],n=c(t);try{for(n.s();!(e=n.n()).done;){var i=e.value,s={},l=i.value;for(var f in i)"value"!==f&&"keyword"!==f&&(s[f]=i[f]);var p=[Object(a.e)(s)],b="";l&&(b=Object(o.a)(l),p.push("=",b)),r.push(p.filter(u.hasVal).join(" "))}}catch(t){n.e(t)}finally{n.f()}return r.join(", ")}function p(t){var e=t.from,r=t.table,a=t.set,c=t.where,l=t.orderby,p=t.with,b=t.limit,v=t.returning;return[Object(s.a)(p),"UPDATE",Object(n.c)(r),Object(u.commonOptionConnector)("SET",f,a),Object(u.commonOptionConnector)("FROM",n.c,e),Object(u.commonOptionConnector)("WHERE",o.a,c),Object(o.c)(l,"order by"),Object(i.a)(b),Object(u.returningToSQL)(v)].filter(u.hasVal).join(" ")}},function(t,e,r){"use strict";r.d(e,"a",(function(){return i}));var n=r(0),o=r(1),a=r(20);function i(t){if(t){var e=t.as_window_specification,r=t.expr,i=t.keyword,u=t.type,s=t.parentheses,c=Object(n.toUpper)(u);if("WINDOW"===c)return"OVER ".concat(Object(a.a)(e));if("ON UPDATE"===c){var l="".concat(Object(n.toUpper)(u)," ").concat(Object(n.toUpper)(i)),f=Object(o.a)(r)||[];return s&&(l="".concat(l,"(").concat(f.join(", "),")")),l}throw new Error("unknown over type")}}},function(t,e,r){"use strict";r.d(e,"b",(function(){return S})),r.d(e,"a",(function(){return y}));var n=r(9),o=r(1),a=r(10),i=r(2),u=r(4),s=r(19),c=r(6),l=r(3),f=r(12),p=r(5),b=r(0);function v(t){return function(t){if(Array.isArray(t))return d(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||h(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function h(t,e){if(t){if("string"==typeof t)return d(t,e);var r={}.toString.call(t).slice(8,-1);return"Object"===r&&t.constructor&&(r=t.constructor.name),"Map"===r||"Set"===r?Array.from(t):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?d(t,e):void 0}}function d(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,n=Array(e);r<e;r++)n[r]=t[r];return n}function y(t){if(!t)return[]