drizzle-cube 0.4.46 → 0.4.48

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.
Files changed (35) hide show
  1. package/dist/adapters/{compiler-O3T1u7jl.js → compiler-B_Nl7ZZb.js} +1 -1
  2. package/dist/adapters/{compiler-CA6iopu7.cjs → compiler-CdL3ksb3.cjs} +1 -1
  3. package/dist/adapters/express/index.cjs +1 -1
  4. package/dist/adapters/express/index.js +4 -4
  5. package/dist/adapters/fastify/index.cjs +1 -1
  6. package/dist/adapters/fastify/index.js +39 -39
  7. package/dist/adapters/{handler-BO2nq6IS.cjs → handler-DumFgnNM.cjs} +10 -10
  8. package/dist/adapters/{handler-CjVc3ytc.js → handler-RItnSaEl.js} +128 -350
  9. package/dist/adapters/hono/index.cjs +1 -1
  10. package/dist/adapters/hono/index.js +4 -4
  11. package/dist/adapters/mcp-prompts-BUFyQLHQ.js +377 -0
  12. package/dist/adapters/mcp-prompts-B_NvEJT_.cjs +111 -0
  13. package/dist/adapters/mcp-tools.cjs +1 -1
  14. package/dist/adapters/mcp-tools.js +2 -2
  15. package/dist/adapters/mcp-transport-CG5Aw2cs.js +515 -0
  16. package/dist/adapters/mcp-transport-DlFvZl2c.cjs +35 -0
  17. package/dist/adapters/mcp-transport.d.ts +310 -5
  18. package/dist/adapters/nextjs/index.cjs +1 -1
  19. package/dist/adapters/nextjs/index.js +4 -4
  20. package/dist/adapters/utils-CyBt-as9.cjs +15 -0
  21. package/dist/adapters/{utils-C7Nrw9Wb.js → utils-IH1ePsBd.js} +707 -655
  22. package/dist/adapters/utils.cjs +1 -1
  23. package/dist/adapters/utils.d.ts +11 -0
  24. package/dist/adapters/utils.js +2 -2
  25. package/dist/mcp-app/mcp-app.html +78 -44
  26. package/dist/server/index.cjs +144 -38
  27. package/dist/server/index.d.ts +24 -19
  28. package/dist/server/index.js +538 -674
  29. package/package.json +1 -1
  30. package/dist/adapters/mcp-app-html.d.ts +0 -1
  31. package/dist/adapters/mcp-prompts-BAutSQYA.js +0 -344
  32. package/dist/adapters/mcp-prompts-DsAkafVn.cjs +0 -5
  33. package/dist/adapters/mcp-transport-BPMrQGcs.cjs +0 -70
  34. package/dist/adapters/mcp-transport-Cdn-bZlX.js +0 -424
  35. package/dist/adapters/utils-tNZ6Cvzw.cjs +0 -15
@@ -1437,11 +1437,11 @@ var Ln = /* @__PURE__ */ "ABS.ACOS.ACOSD.ACOSH.ASIN.ASIND.ASINH.ATAN.ATAN2.ATAN2
1437
1437
  "INSERT OVERWRITE [LOCAL] DIRECTORY",
1438
1438
  "LOAD DATA [LOCAL] INPATH",
1439
1439
  "[OVERWRITE] INTO TABLE"
1440
- ]), fr = d(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]), C = d(/* @__PURE__ */ "CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS].DROP TABLE [IF EXISTS].ALTER TABLE.ADD COLUMNS.DROP {COLUMN | COLUMNS}.RENAME TO.RENAME COLUMN.ALTER COLUMN.TRUNCATE TABLE.LATERAL VIEW.ALTER DATABASE.ALTER VIEW.CREATE DATABASE.CREATE FUNCTION.DROP DATABASE.DROP FUNCTION.DROP VIEW.REPAIR TABLE.USE DATABASE.TABLESAMPLE.PIVOT.TRANSFORM.EXPLAIN.ADD FILE.ADD JAR.ANALYZE TABLE.CACHE TABLE.CLEAR CACHE.DESCRIBE DATABASE.DESCRIBE FUNCTION.DESCRIBE QUERY.DESCRIBE TABLE.LIST FILE.LIST JAR.REFRESH.REFRESH TABLE.REFRESH FUNCTION.RESET.SHOW COLUMNS.SHOW CREATE TABLE.SHOW DATABASES.SHOW FUNCTIONS.SHOW PARTITIONS.SHOW TABLE EXTENDED.SHOW TABLES.SHOW TBLPROPERTIES.SHOW VIEWS.UNCACHE TABLE".split(".")), pr = d([
1440
+ ]), fr = d(["CREATE [EXTERNAL] TABLE [IF NOT EXISTS]"]), pr = d(/* @__PURE__ */ "CREATE [OR REPLACE] [GLOBAL TEMPORARY | TEMPORARY] VIEW [IF NOT EXISTS].DROP TABLE [IF EXISTS].ALTER TABLE.ADD COLUMNS.DROP {COLUMN | COLUMNS}.RENAME TO.RENAME COLUMN.ALTER COLUMN.TRUNCATE TABLE.LATERAL VIEW.ALTER DATABASE.ALTER VIEW.CREATE DATABASE.CREATE FUNCTION.DROP DATABASE.DROP FUNCTION.DROP VIEW.REPAIR TABLE.USE DATABASE.TABLESAMPLE.PIVOT.TRANSFORM.EXPLAIN.ADD FILE.ADD JAR.ANALYZE TABLE.CACHE TABLE.CLEAR CACHE.DESCRIBE DATABASE.DESCRIBE FUNCTION.DESCRIBE QUERY.DESCRIBE TABLE.LIST FILE.LIST JAR.REFRESH.REFRESH TABLE.REFRESH FUNCTION.RESET.SHOW COLUMNS.SHOW CREATE TABLE.SHOW DATABASES.SHOW FUNCTIONS.SHOW PARTITIONS.SHOW TABLE EXTENDED.SHOW TABLES.SHOW TBLPROPERTIES.SHOW VIEWS.UNCACHE TABLE".split(".")), mr = d([
1441
1441
  "UNION [ALL | DISTINCT]",
1442
1442
  "EXCEPT [ALL | DISTINCT]",
1443
1443
  "INTERSECT [ALL | DISTINCT]"
1444
- ]), mr = d([
1444
+ ]), hr = d([
1445
1445
  "JOIN",
1446
1446
  "{LEFT | RIGHT | FULL} [OUTER] JOIN",
1447
1447
  "{INNER | CROSS} JOIN",
@@ -1449,24 +1449,24 @@ var Ln = /* @__PURE__ */ "ABS.ACOS.ACOSD.ACOSH.ASIN.ASIND.ASINH.ATAN.ATAN2.ATAN2
1449
1449
  "NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN",
1450
1450
  "[LEFT] {ANTI | SEMI} JOIN",
1451
1451
  "NATURAL [LEFT] {ANTI | SEMI} JOIN"
1452
- ]), hr = d([
1452
+ ]), gr = d([
1453
1453
  "ON DELETE",
1454
1454
  "ON UPDATE",
1455
1455
  "CURRENT ROW",
1456
1456
  "{ROWS | RANGE} BETWEEN"
1457
- ]), gr = d([]), _r = {
1457
+ ]), _r = d([]), vr = {
1458
1458
  name: "spark",
1459
1459
  tokenizerOptions: {
1460
1460
  reservedSelect: ur,
1461
1461
  reservedClauses: [
1462
1462
  ...dr,
1463
1463
  ...fr,
1464
- ...C
1464
+ ...pr
1465
1465
  ],
1466
- reservedSetOperations: pr,
1467
- reservedJoins: mr,
1468
- reservedKeywordPhrases: hr,
1469
- reservedDataTypePhrases: gr,
1466
+ reservedSetOperations: mr,
1467
+ reservedJoins: hr,
1468
+ reservedKeywordPhrases: gr,
1469
+ reservedDataTypePhrases: _r,
1470
1470
  supportsXor: !0,
1471
1471
  reservedKeywords: sr,
1472
1472
  reservedDataTypes: cr,
@@ -1505,14 +1505,14 @@ var Ln = /* @__PURE__ */ "ABS.ACOS.ACOSD.ACOSH.ASIN.ASIND.ASINH.ATAN.ATAN2.ATAN2
1505
1505
  "||",
1506
1506
  "->"
1507
1507
  ],
1508
- postProcess: vr
1508
+ postProcess: yr
1509
1509
  },
1510
1510
  formatOptions: {
1511
- onelineClauses: [...fr, ...C],
1512
- tabularOnelineClauses: C
1511
+ onelineClauses: [...fr, ...pr],
1512
+ tabularOnelineClauses: pr
1513
1513
  }
1514
1514
  };
1515
- function vr(e) {
1515
+ function yr(e) {
1516
1516
  return e.map((t, n) => {
1517
1517
  let r = e[n - 1] || v, i = e[n + 1] || v;
1518
1518
  return b.WINDOW(t) && i.type === _.OPEN_PAREN ? Object.assign(Object.assign({}, t), { type: _.RESERVED_FUNCTION_NAME }) : t.text === "ITEMS" && t.type === _.RESERVED_KEYWORD && !(r.text === "COLLECTION" && i.text === "TERMINATED") ? Object.assign(Object.assign({}, t), {
@@ -1523,7 +1523,7 @@ function vr(e) {
1523
1523
  }
1524
1524
  //#endregion
1525
1525
  //#region node_modules/sql-formatter/dist/esm/languages/sqlite/sqlite.functions.js
1526
- var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.INSTR.LAST_INSERT_ROWID.LENGTH.LIKE.LIKELIHOOD.LIKELY.LOAD_EXTENSION.LOWER.LTRIM.NULLIF.PRINTF.QUOTE.RANDOM.RANDOMBLOB.REPLACE.ROUND.RTRIM.SIGN.SOUNDEX.SQLITE_COMPILEOPTION_GET.SQLITE_COMPILEOPTION_USED.SQLITE_OFFSET.SQLITE_SOURCE_ID.SQLITE_VERSION.SUBSTR.SUBSTRING.TOTAL_CHANGES.TRIM.TYPEOF.UNICODE.UNLIKELY.UPPER.ZEROBLOB.AVG.COUNT.GROUP_CONCAT.MAX.MIN.SUM.TOTAL.DATE.TIME.DATETIME.JULIANDAY.UNIXEPOCH.STRFTIME.row_number.rank.dense_rank.percent_rank.cume_dist.ntile.lag.lead.first_value.last_value.nth_value.ACOS.ACOSH.ASIN.ASINH.ATAN.ATAN2.ATANH.CEIL.CEILING.COS.COSH.DEGREES.EXP.FLOOR.LN.LOG.LOG.LOG10.LOG2.MOD.PI.POW.POWER.RADIANS.SIN.SINH.SQRT.TAN.TANH.TRUNC.JSON.JSON_ARRAY.JSON_ARRAY_LENGTH.JSON_ARRAY_LENGTH.JSON_EXTRACT.JSON_INSERT.JSON_OBJECT.JSON_PATCH.JSON_REMOVE.JSON_REPLACE.JSON_SET.JSON_TYPE.JSON_TYPE.JSON_VALID.JSON_QUOTE.JSON_GROUP_ARRAY.JSON_GROUP_OBJECT.JSON_EACH.JSON_TREE.CAST".split("."), br = /* @__PURE__ */ "ABORT.ACTION.ADD.AFTER.ALL.ALTER.AND.ARE.ALWAYS.ANALYZE.AS.ASC.ATTACH.AUTOINCREMENT.BEFORE.BEGIN.BETWEEN.BY.CASCADE.CASE.CAST.CHECK.COLLATE.COLUMN.COMMIT.CONFLICT.CONSTRAINT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.DATABASE.DEFAULT.DEFERRABLE.DEFERRED.DELETE.DESC.DETACH.DISTINCT.DO.DROP.EACH.ELSE.END.ESCAPE.EXCEPT.EXCLUDE.EXCLUSIVE.EXISTS.EXPLAIN.FAIL.FILTER.FIRST.FOLLOWING.FOR.FOREIGN.FROM.FULL.GENERATED.GLOB.GROUP.HAVING.IF.IGNORE.IMMEDIATE.IN.INDEX.INDEXED.INITIALLY.INNER.INSERT.INSTEAD.INTERSECT.INTO.IS.ISNULL.JOIN.KEY.LAST.LEFT.LIKE.LIMIT.MATCH.MATERIALIZED.NATURAL.NO.NOT.NOTHING.NOTNULL.NULL.NULLS.OF.OFFSET.ON.ONLY.OPEN.OR.ORDER.OTHERS.OUTER.OVER.PARTITION.PLAN.PRAGMA.PRECEDING.PRIMARY.QUERY.RAISE.RANGE.RECURSIVE.REFERENCES.REGEXP.REINDEX.RELEASE.RENAME.REPLACE.RESTRICT.RETURNING.RIGHT.ROLLBACK.ROW.ROWS.SAVEPOINT.SELECT.SET.TABLE.TEMP.TEMPORARY.THEN.TIES.TO.TRANSACTION.TRIGGER.UNBOUNDED.UNION.UNIQUE.UPDATE.USING.VACUUM.VALUES.VIEW.VIRTUAL.WHEN.WHERE.WINDOW.WITH.WITHOUT".split("."), xr = [
1526
+ var br = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.INSTR.LAST_INSERT_ROWID.LENGTH.LIKE.LIKELIHOOD.LIKELY.LOAD_EXTENSION.LOWER.LTRIM.NULLIF.PRINTF.QUOTE.RANDOM.RANDOMBLOB.REPLACE.ROUND.RTRIM.SIGN.SOUNDEX.SQLITE_COMPILEOPTION_GET.SQLITE_COMPILEOPTION_USED.SQLITE_OFFSET.SQLITE_SOURCE_ID.SQLITE_VERSION.SUBSTR.SUBSTRING.TOTAL_CHANGES.TRIM.TYPEOF.UNICODE.UNLIKELY.UPPER.ZEROBLOB.AVG.COUNT.GROUP_CONCAT.MAX.MIN.SUM.TOTAL.DATE.TIME.DATETIME.JULIANDAY.UNIXEPOCH.STRFTIME.row_number.rank.dense_rank.percent_rank.cume_dist.ntile.lag.lead.first_value.last_value.nth_value.ACOS.ACOSH.ASIN.ASINH.ATAN.ATAN2.ATANH.CEIL.CEILING.COS.COSH.DEGREES.EXP.FLOOR.LN.LOG.LOG.LOG10.LOG2.MOD.PI.POW.POWER.RADIANS.SIN.SINH.SQRT.TAN.TANH.TRUNC.JSON.JSON_ARRAY.JSON_ARRAY_LENGTH.JSON_ARRAY_LENGTH.JSON_EXTRACT.JSON_INSERT.JSON_OBJECT.JSON_PATCH.JSON_REMOVE.JSON_REPLACE.JSON_SET.JSON_TYPE.JSON_TYPE.JSON_VALID.JSON_QUOTE.JSON_GROUP_ARRAY.JSON_GROUP_OBJECT.JSON_EACH.JSON_TREE.CAST".split("."), xr = /* @__PURE__ */ "ABORT.ACTION.ADD.AFTER.ALL.ALTER.AND.ARE.ALWAYS.ANALYZE.AS.ASC.ATTACH.AUTOINCREMENT.BEFORE.BEGIN.BETWEEN.BY.CASCADE.CASE.CAST.CHECK.COLLATE.COLUMN.COMMIT.CONFLICT.CONSTRAINT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.DATABASE.DEFAULT.DEFERRABLE.DEFERRED.DELETE.DESC.DETACH.DISTINCT.DO.DROP.EACH.ELSE.END.ESCAPE.EXCEPT.EXCLUDE.EXCLUSIVE.EXISTS.EXPLAIN.FAIL.FILTER.FIRST.FOLLOWING.FOR.FOREIGN.FROM.FULL.GENERATED.GLOB.GROUP.HAVING.IF.IGNORE.IMMEDIATE.IN.INDEX.INDEXED.INITIALLY.INNER.INSERT.INSTEAD.INTERSECT.INTO.IS.ISNULL.JOIN.KEY.LAST.LEFT.LIKE.LIMIT.MATCH.MATERIALIZED.NATURAL.NO.NOT.NOTHING.NOTNULL.NULL.NULLS.OF.OFFSET.ON.ONLY.OPEN.OR.ORDER.OTHERS.OUTER.OVER.PARTITION.PLAN.PRAGMA.PRECEDING.PRIMARY.QUERY.RAISE.RANGE.RECURSIVE.REFERENCES.REGEXP.REINDEX.RELEASE.RENAME.REPLACE.RESTRICT.RETURNING.RIGHT.ROLLBACK.ROW.ROWS.SAVEPOINT.SELECT.SET.TABLE.TEMP.TEMPORARY.THEN.TIES.TO.TRANSACTION.TRIGGER.UNBOUNDED.UNION.UNIQUE.UPDATE.USING.VACUUM.VALUES.VIEW.VIRTUAL.WHEN.WHERE.WINDOW.WITH.WITHOUT".split("."), Sr = [
1527
1527
  "ANY",
1528
1528
  "ARRAY",
1529
1529
  "BLOB",
@@ -1539,7 +1539,7 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1539
1539
  "TEXT",
1540
1540
  "VARCHAR",
1541
1541
  "VARYING CHARACTER"
1542
- ], Sr = d(["SELECT [ALL | DISTINCT]"]), Cr = d([
1542
+ ], Cr = d(["SELECT [ALL | DISTINCT]"]), wr = d([
1543
1543
  "WITH [RECURSIVE]",
1544
1544
  "FROM",
1545
1545
  "WHERE",
@@ -1555,7 +1555,7 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1555
1555
  "VALUES",
1556
1556
  "SET",
1557
1557
  "RETURNING"
1558
- ]), wr = d(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]), w = d([
1558
+ ]), Tr = d(["CREATE [TEMPORARY | TEMP] TABLE [IF NOT EXISTS]"]), C = d([
1559
1559
  "CREATE [TEMPORARY | TEMP] VIEW [IF NOT EXISTS]",
1560
1560
  "UPDATE [OR ABORT | OR FAIL | OR IGNORE | OR REPLACE | OR ROLLBACK]",
1561
1561
  "ON CONFLICT",
@@ -1567,36 +1567,36 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1567
1567
  "RENAME [COLUMN]",
1568
1568
  "RENAME TO",
1569
1569
  "SET SCHEMA"
1570
- ]), Tr = d([
1570
+ ]), Er = d([
1571
1571
  "UNION [ALL]",
1572
1572
  "EXCEPT",
1573
1573
  "INTERSECT"
1574
- ]), Er = d([
1574
+ ]), Dr = d([
1575
1575
  "JOIN",
1576
1576
  "{LEFT | RIGHT | FULL} [OUTER] JOIN",
1577
1577
  "{INNER | CROSS} JOIN",
1578
1578
  "NATURAL [INNER] JOIN",
1579
1579
  "NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"
1580
- ]), Dr = d([
1580
+ ]), Or = d([
1581
1581
  "ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]",
1582
1582
  "{ROWS | RANGE | GROUPS} BETWEEN",
1583
1583
  "DO UPDATE"
1584
- ]), Or = d([]), kr = {
1584
+ ]), kr = d([]), Ar = {
1585
1585
  name: "sqlite",
1586
1586
  tokenizerOptions: {
1587
- reservedSelect: Sr,
1587
+ reservedSelect: Cr,
1588
1588
  reservedClauses: [
1589
- ...Cr,
1590
1589
  ...wr,
1591
- ...w
1590
+ ...Tr,
1591
+ ...C
1592
1592
  ],
1593
- reservedSetOperations: Tr,
1594
- reservedJoins: Er,
1595
- reservedKeywordPhrases: Dr,
1596
- reservedDataTypePhrases: Or,
1597
- reservedKeywords: br,
1598
- reservedDataTypes: xr,
1599
- reservedFunctionNames: yr,
1593
+ reservedSetOperations: Er,
1594
+ reservedJoins: Dr,
1595
+ reservedKeywordPhrases: Or,
1596
+ reservedDataTypePhrases: kr,
1597
+ reservedKeywords: xr,
1598
+ reservedDataTypes: Sr,
1599
+ reservedFunctionNames: br,
1600
1600
  stringTypes: ["''-qq", {
1601
1601
  quote: "''-raw",
1602
1602
  prefixes: ["X"],
@@ -1630,10 +1630,10 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1630
1630
  ]
1631
1631
  },
1632
1632
  formatOptions: {
1633
- onelineClauses: [...wr, ...w],
1634
- tabularOnelineClauses: w
1633
+ onelineClauses: [...Tr, ...C],
1634
+ tabularOnelineClauses: C
1635
1635
  }
1636
- }, Ar = /* @__PURE__ */ "GROUPING.RANK.DENSE_RANK.PERCENT_RANK.CUME_DIST.ROW_NUMBER.POSITION.OCCURRENCES_REGEX.POSITION_REGEX.EXTRACT.CHAR_LENGTH.CHARACTER_LENGTH.OCTET_LENGTH.CARDINALITY.ABS.MOD.LN.EXP.POWER.SQRT.FLOOR.CEIL.CEILING.WIDTH_BUCKET.SUBSTRING.SUBSTRING_REGEX.UPPER.LOWER.CONVERT.TRANSLATE.TRANSLATE_REGEX.TRIM.OVERLAY.NORMALIZE.SPECIFICTYPE.CURRENT_DATE.CURRENT_TIME.LOCALTIME.CURRENT_TIMESTAMP.LOCALTIMESTAMP.COUNT.AVG.MAX.MIN.SUM.STDDEV_POP.STDDEV_SAMP.VAR_SAMP.VAR_POP.COLLECT.FUSION.INTERSECTION.COVAR_POP.COVAR_SAMP.CORR.REGR_SLOPE.REGR_INTERCEPT.REGR_COUNT.REGR_R2.REGR_AVGX.REGR_AVGY.REGR_SXX.REGR_SYY.REGR_SXY.PERCENTILE_CONT.PERCENTILE_DISC.CAST.COALESCE.NULLIF.ROUND.SIN.COS.TAN.ASIN.ACOS.ATAN".split("."), jr = /* @__PURE__ */ "ALL.ALLOCATE.ALTER.ANY.ARE.AS.ASC.ASENSITIVE.ASYMMETRIC.AT.ATOMIC.AUTHORIZATION.BEGIN.BETWEEN.BOTH.BY.CALL.CALLED.CASCADED.CAST.CHECK.CLOSE.COALESCE.COLLATE.COLUMN.COMMIT.CONDITION.CONNECT.CONSTRAINT.CORRESPONDING.CREATE.CROSS.CUBE.CURRENT.CURRENT_CATALOG.CURRENT_DEFAULT_TRANSFORM_GROUP.CURRENT_PATH.CURRENT_ROLE.CURRENT_SCHEMA.CURRENT_TRANSFORM_GROUP_FOR_TYPE.CURRENT_USER.CURSOR.CYCLE.DEALLOCATE.DAY.DECLARE.DEFAULT.DELETE.DEREF.DESC.DESCRIBE.DETERMINISTIC.DISCONNECT.DISTINCT.DROP.DYNAMIC.EACH.ELEMENT.END-EXEC.ESCAPE.EVERY.EXCEPT.EXEC.EXECUTE.EXISTS.EXTERNAL.FALSE.FETCH.FILTER.FOR.FOREIGN.FREE.FROM.FULL.FUNCTION.GET.GLOBAL.GRANT.GROUP.HAVING.HOLD.HOUR.IDENTITY.IN.INDICATOR.INNER.INOUT.INSENSITIVE.INSERT.INTERSECT.INTO.IS.LANGUAGE.LARGE.LATERAL.LEADING.LEFT.LIKE.LIKE_REGEX.LOCAL.MATCH.MEMBER.MERGE.METHOD.MINUTE.MODIFIES.MODULE.MONTH.NATURAL.NEW.NO.NONE.NOT.NULL.NULLIF.OF.OLD.ON.ONLY.OPEN.ORDER.OUT.OUTER.OVER.OVERLAPS.PARAMETER.PARTITION.PRECISION.PREPARE.PRIMARY.PROCEDURE.RANGE.READS.REAL.RECURSIVE.REF.REFERENCES.REFERENCING.RELEASE.RESULT.RETURN.RETURNS.REVOKE.RIGHT.ROLLBACK.ROLLUP.ROW.ROWS.SAVEPOINT.SCOPE.SCROLL.SEARCH.SECOND.SELECT.SENSITIVE.SESSION_USER.SET.SIMILAR.SOME.SPECIFIC.SQL.SQLEXCEPTION.SQLSTATE.SQLWARNING.START.STATIC.SUBMULTISET.SYMMETRIC.SYSTEM.SYSTEM_USER.TABLE.TABLESAMPLE.THEN.TIMEZONE_HOUR.TIMEZONE_MINUTE.TO.TRAILING.TRANSLATION.TREAT.TRIGGER.TRUE.UESCAPE.UNION.UNIQUE.UNKNOWN.UNNEST.UPDATE.USER.USING.VALUE.VALUES.WHENEVER.WINDOW.WITHIN.WITHOUT.YEAR".split("."), Mr = /* @__PURE__ */ "ARRAY.BIGINT.BINARY LARGE OBJECT.BINARY VARYING.BINARY.BLOB.BOOLEAN.CHAR LARGE OBJECT.CHAR VARYING.CHAR.CHARACTER LARGE OBJECT.CHARACTER VARYING.CHARACTER.CLOB.DATE.DEC.DECIMAL.DOUBLE.FLOAT.INT.INTEGER.INTERVAL.MULTISET.NATIONAL CHAR VARYING.NATIONAL CHAR.NATIONAL CHARACTER LARGE OBJECT.NATIONAL CHARACTER VARYING.NATIONAL CHARACTER.NCHAR LARGE OBJECT.NCHAR VARYING.NCHAR.NCLOB.NUMERIC.SMALLINT.TIME.TIMESTAMP.VARBINARY.VARCHAR".split("."), Nr = d(["SELECT [ALL | DISTINCT]"]), Pr = d([
1636
+ }, jr = /* @__PURE__ */ "GROUPING.RANK.DENSE_RANK.PERCENT_RANK.CUME_DIST.ROW_NUMBER.POSITION.OCCURRENCES_REGEX.POSITION_REGEX.EXTRACT.CHAR_LENGTH.CHARACTER_LENGTH.OCTET_LENGTH.CARDINALITY.ABS.MOD.LN.EXP.POWER.SQRT.FLOOR.CEIL.CEILING.WIDTH_BUCKET.SUBSTRING.SUBSTRING_REGEX.UPPER.LOWER.CONVERT.TRANSLATE.TRANSLATE_REGEX.TRIM.OVERLAY.NORMALIZE.SPECIFICTYPE.CURRENT_DATE.CURRENT_TIME.LOCALTIME.CURRENT_TIMESTAMP.LOCALTIMESTAMP.COUNT.AVG.MAX.MIN.SUM.STDDEV_POP.STDDEV_SAMP.VAR_SAMP.VAR_POP.COLLECT.FUSION.INTERSECTION.COVAR_POP.COVAR_SAMP.CORR.REGR_SLOPE.REGR_INTERCEPT.REGR_COUNT.REGR_R2.REGR_AVGX.REGR_AVGY.REGR_SXX.REGR_SYY.REGR_SXY.PERCENTILE_CONT.PERCENTILE_DISC.CAST.COALESCE.NULLIF.ROUND.SIN.COS.TAN.ASIN.ACOS.ATAN".split("."), Mr = /* @__PURE__ */ "ALL.ALLOCATE.ALTER.ANY.ARE.AS.ASC.ASENSITIVE.ASYMMETRIC.AT.ATOMIC.AUTHORIZATION.BEGIN.BETWEEN.BOTH.BY.CALL.CALLED.CASCADED.CAST.CHECK.CLOSE.COALESCE.COLLATE.COLUMN.COMMIT.CONDITION.CONNECT.CONSTRAINT.CORRESPONDING.CREATE.CROSS.CUBE.CURRENT.CURRENT_CATALOG.CURRENT_DEFAULT_TRANSFORM_GROUP.CURRENT_PATH.CURRENT_ROLE.CURRENT_SCHEMA.CURRENT_TRANSFORM_GROUP_FOR_TYPE.CURRENT_USER.CURSOR.CYCLE.DEALLOCATE.DAY.DECLARE.DEFAULT.DELETE.DEREF.DESC.DESCRIBE.DETERMINISTIC.DISCONNECT.DISTINCT.DROP.DYNAMIC.EACH.ELEMENT.END-EXEC.ESCAPE.EVERY.EXCEPT.EXEC.EXECUTE.EXISTS.EXTERNAL.FALSE.FETCH.FILTER.FOR.FOREIGN.FREE.FROM.FULL.FUNCTION.GET.GLOBAL.GRANT.GROUP.HAVING.HOLD.HOUR.IDENTITY.IN.INDICATOR.INNER.INOUT.INSENSITIVE.INSERT.INTERSECT.INTO.IS.LANGUAGE.LARGE.LATERAL.LEADING.LEFT.LIKE.LIKE_REGEX.LOCAL.MATCH.MEMBER.MERGE.METHOD.MINUTE.MODIFIES.MODULE.MONTH.NATURAL.NEW.NO.NONE.NOT.NULL.NULLIF.OF.OLD.ON.ONLY.OPEN.ORDER.OUT.OUTER.OVER.OVERLAPS.PARAMETER.PARTITION.PRECISION.PREPARE.PRIMARY.PROCEDURE.RANGE.READS.REAL.RECURSIVE.REF.REFERENCES.REFERENCING.RELEASE.RESULT.RETURN.RETURNS.REVOKE.RIGHT.ROLLBACK.ROLLUP.ROW.ROWS.SAVEPOINT.SCOPE.SCROLL.SEARCH.SECOND.SELECT.SENSITIVE.SESSION_USER.SET.SIMILAR.SOME.SPECIFIC.SQL.SQLEXCEPTION.SQLSTATE.SQLWARNING.START.STATIC.SUBMULTISET.SYMMETRIC.SYSTEM.SYSTEM_USER.TABLE.TABLESAMPLE.THEN.TIMEZONE_HOUR.TIMEZONE_MINUTE.TO.TRAILING.TRANSLATION.TREAT.TRIGGER.TRUE.UESCAPE.UNION.UNIQUE.UNKNOWN.UNNEST.UPDATE.USER.USING.VALUE.VALUES.WHENEVER.WINDOW.WITHIN.WITHOUT.YEAR".split("."), Nr = /* @__PURE__ */ "ARRAY.BIGINT.BINARY LARGE OBJECT.BINARY VARYING.BINARY.BLOB.BOOLEAN.CHAR LARGE OBJECT.CHAR VARYING.CHAR.CHARACTER LARGE OBJECT.CHARACTER VARYING.CHARACTER.CLOB.DATE.DEC.DECIMAL.DOUBLE.FLOAT.INT.INTEGER.INTERVAL.MULTISET.NATIONAL CHAR VARYING.NATIONAL CHAR.NATIONAL CHARACTER LARGE OBJECT.NATIONAL CHARACTER VARYING.NATIONAL CHARACTER.NCHAR LARGE OBJECT.NCHAR VARYING.NCHAR.NCLOB.NUMERIC.SMALLINT.TIME.TIMESTAMP.VARBINARY.VARCHAR".split("."), Pr = d(["SELECT [ALL | DISTINCT]"]), Fr = d([
1637
1637
  "WITH [RECURSIVE]",
1638
1638
  "FROM",
1639
1639
  "WHERE",
@@ -1648,7 +1648,7 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1648
1648
  "INSERT INTO",
1649
1649
  "VALUES",
1650
1650
  "SET"
1651
- ]), Fr = d(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]), T = d([
1651
+ ]), Ir = d(["CREATE [GLOBAL TEMPORARY | LOCAL TEMPORARY] TABLE"]), w = d([
1652
1652
  "CREATE [RECURSIVE] VIEW",
1653
1653
  "UPDATE",
1654
1654
  "WHERE CURRENT OF",
@@ -1666,32 +1666,32 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1666
1666
  "RESTART WITH",
1667
1667
  "TRUNCATE TABLE",
1668
1668
  "SET SCHEMA"
1669
- ]), Ir = d([
1669
+ ]), Lr = d([
1670
1670
  "UNION [ALL | DISTINCT]",
1671
1671
  "EXCEPT [ALL | DISTINCT]",
1672
1672
  "INTERSECT [ALL | DISTINCT]"
1673
- ]), Lr = d([
1673
+ ]), Rr = d([
1674
1674
  "JOIN",
1675
1675
  "{LEFT | RIGHT | FULL} [OUTER] JOIN",
1676
1676
  "{INNER | CROSS} JOIN",
1677
1677
  "NATURAL [INNER] JOIN",
1678
1678
  "NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"
1679
- ]), Rr = d(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]", "{ROWS | RANGE} BETWEEN"]), zr = d([]), Br = {
1679
+ ]), zr = d(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]", "{ROWS | RANGE} BETWEEN"]), Br = d([]), Vr = {
1680
1680
  name: "sql",
1681
1681
  tokenizerOptions: {
1682
- reservedSelect: Nr,
1682
+ reservedSelect: Pr,
1683
1683
  reservedClauses: [
1684
- ...Pr,
1685
1684
  ...Fr,
1686
- ...T
1685
+ ...Ir,
1686
+ ...w
1687
1687
  ],
1688
- reservedSetOperations: Ir,
1689
- reservedJoins: Lr,
1690
- reservedKeywordPhrases: Rr,
1691
- reservedDataTypePhrases: zr,
1692
- reservedKeywords: jr,
1693
- reservedDataTypes: Mr,
1694
- reservedFunctionNames: Ar,
1688
+ reservedSetOperations: Lr,
1689
+ reservedJoins: Rr,
1690
+ reservedKeywordPhrases: zr,
1691
+ reservedDataTypePhrases: Br,
1692
+ reservedKeywords: Mr,
1693
+ reservedDataTypes: Nr,
1694
+ reservedFunctionNames: jr,
1695
1695
  stringTypes: [{
1696
1696
  quote: "''-qq-bs",
1697
1697
  prefixes: ["N", "U&"]
@@ -1705,10 +1705,10 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1705
1705
  operators: ["||"]
1706
1706
  },
1707
1707
  formatOptions: {
1708
- onelineClauses: [...Fr, ...T],
1709
- tabularOnelineClauses: T
1708
+ onelineClauses: [...Ir, ...w],
1709
+ tabularOnelineClauses: w
1710
1710
  }
1711
- }, Vr = /* @__PURE__ */ "ABS.ACOS.ALL_MATCH.ANY_MATCH.APPROX_DISTINCT.APPROX_MOST_FREQUENT.APPROX_PERCENTILE.APPROX_SET.ARBITRARY.ARRAYS_OVERLAP.ARRAY_AGG.ARRAY_DISTINCT.ARRAY_EXCEPT.ARRAY_INTERSECT.ARRAY_JOIN.ARRAY_MAX.ARRAY_MIN.ARRAY_POSITION.ARRAY_REMOVE.ARRAY_SORT.ARRAY_UNION.ASIN.ATAN.ATAN2.AT_TIMEZONE.AVG.BAR.BETA_CDF.BING_TILE.BING_TILES_AROUND.BING_TILE_AT.BING_TILE_COORDINATES.BING_TILE_POLYGON.BING_TILE_QUADKEY.BING_TILE_ZOOM_LEVEL.BITWISE_AND.BITWISE_AND_AGG.BITWISE_LEFT_SHIFT.BITWISE_NOT.BITWISE_OR.BITWISE_OR_AGG.BITWISE_RIGHT_SHIFT.BITWISE_RIGHT_SHIFT_ARITHMETIC.BITWISE_XOR.BIT_COUNT.BOOL_AND.BOOL_OR.CARDINALITY.CAST.CBRT.CEIL.CEILING.CHAR2HEXINT.CHECKSUM.CHR.CLASSIFY.COALESCE.CODEPOINT.COLOR.COMBINATIONS.CONCAT.CONCAT_WS.CONTAINS.CONTAINS_SEQUENCE.CONVEX_HULL_AGG.CORR.COS.COSH.COSINE_SIMILARITY.COUNT.COUNT_IF.COVAR_POP.COVAR_SAMP.CRC32.CUME_DIST.CURRENT_CATALOG.CURRENT_DATE.CURRENT_GROUPS.CURRENT_SCHEMA.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_TIMEZONE.CURRENT_USER.DATE.DATE_ADD.DATE_DIFF.DATE_FORMAT.DATE_PARSE.DATE_TRUNC.DAY.DAY_OF_MONTH.DAY_OF_WEEK.DAY_OF_YEAR.DEGREES.DENSE_RANK.DOW.DOY.E.ELEMENT_AT.EMPTY_APPROX_SET.EVALUATE_CLASSIFIER_PREDICTIONS.EVERY.EXP.EXTRACT.FEATURES.FILTER.FIRST_VALUE.FLATTEN.FLOOR.FORMAT.FORMAT_DATETIME.FORMAT_NUMBER.FROM_BASE.FROM_BASE32.FROM_BASE64.FROM_BASE64URL.FROM_BIG_ENDIAN_32.FROM_BIG_ENDIAN_64.FROM_ENCODED_POLYLINE.FROM_GEOJSON_GEOMETRY.FROM_HEX.FROM_IEEE754_32.FROM_IEEE754_64.FROM_ISO8601_DATE.FROM_ISO8601_TIMESTAMP.FROM_ISO8601_TIMESTAMP_NANOS.FROM_UNIXTIME.FROM_UNIXTIME_NANOS.FROM_UTF8.GEOMETRIC_MEAN.GEOMETRY_FROM_HADOOP_SHAPE.GEOMETRY_INVALID_REASON.GEOMETRY_NEAREST_POINTS.GEOMETRY_TO_BING_TILES.GEOMETRY_UNION.GEOMETRY_UNION_AGG.GREATEST.GREAT_CIRCLE_DISTANCE.HAMMING_DISTANCE.HASH_COUNTS.HISTOGRAM.HMAC_MD5.HMAC_SHA1.HMAC_SHA256.HMAC_SHA512.HOUR.HUMAN_READABLE_SECONDS.IF.INDEX.INFINITY.INTERSECTION_CARDINALITY.INVERSE_BETA_CDF.INVERSE_NORMAL_CDF.IS_FINITE.IS_INFINITE.IS_JSON_SCALAR.IS_NAN.JACCARD_INDEX.JSON_ARRAY_CONTAINS.JSON_ARRAY_GET.JSON_ARRAY_LENGTH.JSON_EXISTS.JSON_EXTRACT.JSON_EXTRACT_SCALAR.JSON_FORMAT.JSON_PARSE.JSON_QUERY.JSON_SIZE.JSON_VALUE.KURTOSIS.LAG.LAST_DAY_OF_MONTH.LAST_VALUE.LEAD.LEARN_CLASSIFIER.LEARN_LIBSVM_CLASSIFIER.LEARN_LIBSVM_REGRESSOR.LEARN_REGRESSOR.LEAST.LENGTH.LEVENSHTEIN_DISTANCE.LINE_INTERPOLATE_POINT.LINE_INTERPOLATE_POINTS.LINE_LOCATE_POINT.LISTAGG.LN.LOCALTIME.LOCALTIMESTAMP.LOG.LOG10.LOG2.LOWER.LPAD.LTRIM.LUHN_CHECK.MAKE_SET_DIGEST.MAP.MAP_AGG.MAP_CONCAT.MAP_ENTRIES.MAP_FILTER.MAP_FROM_ENTRIES.MAP_KEYS.MAP_UNION.MAP_VALUES.MAP_ZIP_WITH.MAX.MAX_BY.MD5.MERGE.MERGE_SET_DIGEST.MILLISECOND.MIN.MINUTE.MIN_BY.MOD.MONTH.MULTIMAP_AGG.MULTIMAP_FROM_ENTRIES.MURMUR3.NAN.NGRAMS.NONE_MATCH.NORMALIZE.NORMAL_CDF.NOW.NTH_VALUE.NTILE.NULLIF.NUMERIC_HISTOGRAM.OBJECTID.OBJECTID_TIMESTAMP.PARSE_DATA_SIZE.PARSE_DATETIME.PARSE_DURATION.PERCENT_RANK.PI.POSITION.POW.POWER.QDIGEST_AGG.QUARTER.RADIANS.RAND.RANDOM.RANK.REDUCE.REDUCE_AGG.REGEXP_COUNT.REGEXP_EXTRACT.REGEXP_EXTRACT_ALL.REGEXP_LIKE.REGEXP_POSITION.REGEXP_REPLACE.REGEXP_SPLIT.REGRESS.REGR_INTERCEPT.REGR_SLOPE.RENDER.REPEAT.REPLACE.REVERSE.RGB.ROUND.ROW_NUMBER.RPAD.RTRIM.SECOND.SEQUENCE.SHA1.SHA256.SHA512.SHUFFLE.SIGN.SIMPLIFY_GEOMETRY.SIN.SKEWNESS.SLICE.SOUNDEX.SPATIAL_PARTITIONING.SPATIAL_PARTITIONS.SPLIT.SPLIT_PART.SPLIT_TO_MAP.SPLIT_TO_MULTIMAP.SPOOKY_HASH_V2_32.SPOOKY_HASH_V2_64.SQRT.STARTS_WITH.STDDEV.STDDEV_POP.STDDEV_SAMP.STRPOS.ST_AREA.ST_ASBINARY.ST_ASTEXT.ST_BOUNDARY.ST_BUFFER.ST_CENTROID.ST_CONTAINS.ST_CONVEXHULL.ST_COORDDIM.ST_CROSSES.ST_DIFFERENCE.ST_DIMENSION.ST_DISJOINT.ST_DISTANCE.ST_ENDPOINT.ST_ENVELOPE.ST_ENVELOPEASPTS.ST_EQUALS.ST_EXTERIORRING.ST_GEOMETRIES.ST_GEOMETRYFROMTEXT.ST_GEOMETRYN.ST_GEOMETRYTYPE.ST_GEOMFROMBINARY.ST_INTERIORRINGN.ST_INTERIORRINGS.ST_INTERSECTION.ST_INTERSECTS.ST_ISCLOSED.ST_ISEMPTY.ST_ISRING.ST_ISSIMPLE.ST_ISVALID.ST_LENGTH.ST_LINEFROMTEXT.ST_LINESTRING.ST_MULTIPOINT.ST_NUMGEOMETRIES.ST_NUMINTERIORRING.ST_NUMPOINTS.ST_OVERLAPS.ST_POINT.ST_POINTN.ST_POINTS.ST_POLYGON.ST_RELATE.ST_STARTPOINT.ST_SYMDIFFERENCE.ST_TOUCHES.ST_UNION.ST_WITHIN.ST_X.ST_XMAX.ST_XMIN.ST_Y.ST_YMAX.ST_YMIN.SUBSTR.SUBSTRING.SUM.TAN.TANH.TDIGEST_AGG.TIMESTAMP_OBJECTID.TIMEZONE_HOUR.TIMEZONE_MINUTE.TO_BASE.TO_BASE32.TO_BASE64.TO_BASE64URL.TO_BIG_ENDIAN_32.TO_BIG_ENDIAN_64.TO_CHAR.TO_DATE.TO_ENCODED_POLYLINE.TO_GEOJSON_GEOMETRY.TO_GEOMETRY.TO_HEX.TO_IEEE754_32.TO_IEEE754_64.TO_ISO8601.TO_MILLISECONDS.TO_SPHERICAL_GEOGRAPHY.TO_TIMESTAMP.TO_UNIXTIME.TO_UTF8.TRANSFORM.TRANSFORM_KEYS.TRANSFORM_VALUES.TRANSLATE.TRIM.TRIM_ARRAY.TRUNCATE.TRY.TRY_CAST.TYPEOF.UPPER.URL_DECODE.URL_ENCODE.URL_EXTRACT_FRAGMENT.URL_EXTRACT_HOST.URL_EXTRACT_PARAMETER.URL_EXTRACT_PATH.URL_EXTRACT_PORT.URL_EXTRACT_PROTOCOL.URL_EXTRACT_QUERY.UUID.VALUES_AT_QUANTILES.VALUE_AT_QUANTILE.VARIANCE.VAR_POP.VAR_SAMP.VERSION.WEEK.WEEK_OF_YEAR.WIDTH_BUCKET.WILSON_INTERVAL_LOWER.WILSON_INTERVAL_UPPER.WITH_TIMEZONE.WORD_STEM.XXHASH64.YEAR.YEAR_OF_WEEK.YOW.ZIP.ZIP_WITH.CLASSIFIER.FIRST.LAST.MATCH_NUMBER.NEXT.PERMUTE.PREV".split("."), Hr = /* @__PURE__ */ "ABSENT.ADD.ADMIN.AFTER.ALL.ALTER.ANALYZE.AND.ANY.AS.ASC.AT.AUTHORIZATION.BERNOULLI.BETWEEN.BOTH.BY.CALL.CASCADE.CASE.CATALOGS.COLUMN.COLUMNS.COMMENT.COMMIT.COMMITTED.CONDITIONAL.CONSTRAINT.COPARTITION.CREATE.CROSS.CUBE.CURRENT.CURRENT_PATH.CURRENT_ROLE.DATA.DEALLOCATE.DEFAULT.DEFINE.DEFINER.DELETE.DENY.DESC.DESCRIBE.DESCRIPTOR.DISTINCT.DISTRIBUTED.DOUBLE.DROP.ELSE.EMPTY.ENCODING.END.ERROR.ESCAPE.EXCEPT.EXCLUDING.EXECUTE.EXISTS.EXPLAIN.FALSE.FETCH.FINAL.FIRST.FOLLOWING.FOR.FROM.FULL.FUNCTIONS.GRANT.GRANTED.GRANTS.GRAPHVIZ.GROUP.GROUPING.GROUPS.HAVING.IGNORE.IN.INCLUDING.INITIAL.INNER.INPUT.INSERT.INTERSECT.INTERVAL.INTO.INVOKER.IO.IS.ISOLATION.JOIN.JSON.JSON_ARRAY.JSON_OBJECT.KEEP.KEY.KEYS.LAST.LATERAL.LEADING.LEFT.LEVEL.LIKE.LIMIT.LOCAL.LOGICAL.MATCH.MATCHED.MATCHES.MATCH_RECOGNIZE.MATERIALIZED.MEASURES.NATURAL.NEXT.NFC.NFD.NFKC.NFKD.NO.NONE.NOT.NULL.NULLS.OBJECT.OF.OFFSET.OMIT.ON.ONE.ONLY.OPTION.OR.ORDER.ORDINALITY.OUTER.OUTPUT.OVER.OVERFLOW.PARTITION.PARTITIONS.PASSING.PAST.PATH.PATTERN.PER.PERMUTE.PRECEDING.PRECISION.PREPARE.PRIVILEGES.PROPERTIES.PRUNE.QUOTES.RANGE.READ.RECURSIVE.REFRESH.RENAME.REPEATABLE.RESET.RESPECT.RESTRICT.RETURNING.REVOKE.RIGHT.ROLE.ROLES.ROLLBACK.ROLLUP.ROW.ROWS.RUNNING.SCALAR.SCHEMA.SCHEMAS.SECURITY.SEEK.SELECT.SERIALIZABLE.SESSION.SET.SETS.SHOW.SKIP.SOME.START.STATS.STRING.SUBSET.SYSTEM.TABLE.TABLES.TABLESAMPLE.TEXT.THEN.TIES.TIME.TIMESTAMP.TO.TRAILING.TRANSACTION.TRUE.TYPE.UESCAPE.UNBOUNDED.UNCOMMITTED.UNCONDITIONAL.UNION.UNIQUE.UNKNOWN.UNMATCHED.UNNEST.UPDATE.USE.USER.USING.UTF16.UTF32.UTF8.VALIDATE.VALUE.VALUES.VERBOSE.VIEW.WHEN.WHERE.WINDOW.WITH.WITHIN.WITHOUT.WORK.WRAPPER.WRITE.ZONE".split("."), Ur = /* @__PURE__ */ "BIGINT.INT.INTEGER.SMALLINT.TINYINT.BOOLEAN.DATE.DECIMAL.REAL.DOUBLE.HYPERLOGLOG.QDIGEST.TDIGEST.P4HYPERLOGLOG.INTERVAL.TIMESTAMP.TIME.VARBINARY.VARCHAR.CHAR.ROW.ARRAY.MAP.JSON.JSON2016.IPADDRESS.GEOMETRY.UUID.SETDIGEST.JONIREGEXP.RE2JREGEXP.LIKEPATTERN.COLOR.CODEPOINTS.FUNCTION.JSONPATH".split("."), Wr = d(["SELECT [ALL | DISTINCT]"]), Gr = d([
1711
+ }, Hr = /* @__PURE__ */ "ABS.ACOS.ALL_MATCH.ANY_MATCH.APPROX_DISTINCT.APPROX_MOST_FREQUENT.APPROX_PERCENTILE.APPROX_SET.ARBITRARY.ARRAYS_OVERLAP.ARRAY_AGG.ARRAY_DISTINCT.ARRAY_EXCEPT.ARRAY_INTERSECT.ARRAY_JOIN.ARRAY_MAX.ARRAY_MIN.ARRAY_POSITION.ARRAY_REMOVE.ARRAY_SORT.ARRAY_UNION.ASIN.ATAN.ATAN2.AT_TIMEZONE.AVG.BAR.BETA_CDF.BING_TILE.BING_TILES_AROUND.BING_TILE_AT.BING_TILE_COORDINATES.BING_TILE_POLYGON.BING_TILE_QUADKEY.BING_TILE_ZOOM_LEVEL.BITWISE_AND.BITWISE_AND_AGG.BITWISE_LEFT_SHIFT.BITWISE_NOT.BITWISE_OR.BITWISE_OR_AGG.BITWISE_RIGHT_SHIFT.BITWISE_RIGHT_SHIFT_ARITHMETIC.BITWISE_XOR.BIT_COUNT.BOOL_AND.BOOL_OR.CARDINALITY.CAST.CBRT.CEIL.CEILING.CHAR2HEXINT.CHECKSUM.CHR.CLASSIFY.COALESCE.CODEPOINT.COLOR.COMBINATIONS.CONCAT.CONCAT_WS.CONTAINS.CONTAINS_SEQUENCE.CONVEX_HULL_AGG.CORR.COS.COSH.COSINE_SIMILARITY.COUNT.COUNT_IF.COVAR_POP.COVAR_SAMP.CRC32.CUME_DIST.CURRENT_CATALOG.CURRENT_DATE.CURRENT_GROUPS.CURRENT_SCHEMA.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_TIMEZONE.CURRENT_USER.DATE.DATE_ADD.DATE_DIFF.DATE_FORMAT.DATE_PARSE.DATE_TRUNC.DAY.DAY_OF_MONTH.DAY_OF_WEEK.DAY_OF_YEAR.DEGREES.DENSE_RANK.DOW.DOY.E.ELEMENT_AT.EMPTY_APPROX_SET.EVALUATE_CLASSIFIER_PREDICTIONS.EVERY.EXP.EXTRACT.FEATURES.FILTER.FIRST_VALUE.FLATTEN.FLOOR.FORMAT.FORMAT_DATETIME.FORMAT_NUMBER.FROM_BASE.FROM_BASE32.FROM_BASE64.FROM_BASE64URL.FROM_BIG_ENDIAN_32.FROM_BIG_ENDIAN_64.FROM_ENCODED_POLYLINE.FROM_GEOJSON_GEOMETRY.FROM_HEX.FROM_IEEE754_32.FROM_IEEE754_64.FROM_ISO8601_DATE.FROM_ISO8601_TIMESTAMP.FROM_ISO8601_TIMESTAMP_NANOS.FROM_UNIXTIME.FROM_UNIXTIME_NANOS.FROM_UTF8.GEOMETRIC_MEAN.GEOMETRY_FROM_HADOOP_SHAPE.GEOMETRY_INVALID_REASON.GEOMETRY_NEAREST_POINTS.GEOMETRY_TO_BING_TILES.GEOMETRY_UNION.GEOMETRY_UNION_AGG.GREATEST.GREAT_CIRCLE_DISTANCE.HAMMING_DISTANCE.HASH_COUNTS.HISTOGRAM.HMAC_MD5.HMAC_SHA1.HMAC_SHA256.HMAC_SHA512.HOUR.HUMAN_READABLE_SECONDS.IF.INDEX.INFINITY.INTERSECTION_CARDINALITY.INVERSE_BETA_CDF.INVERSE_NORMAL_CDF.IS_FINITE.IS_INFINITE.IS_JSON_SCALAR.IS_NAN.JACCARD_INDEX.JSON_ARRAY_CONTAINS.JSON_ARRAY_GET.JSON_ARRAY_LENGTH.JSON_EXISTS.JSON_EXTRACT.JSON_EXTRACT_SCALAR.JSON_FORMAT.JSON_PARSE.JSON_QUERY.JSON_SIZE.JSON_VALUE.KURTOSIS.LAG.LAST_DAY_OF_MONTH.LAST_VALUE.LEAD.LEARN_CLASSIFIER.LEARN_LIBSVM_CLASSIFIER.LEARN_LIBSVM_REGRESSOR.LEARN_REGRESSOR.LEAST.LENGTH.LEVENSHTEIN_DISTANCE.LINE_INTERPOLATE_POINT.LINE_INTERPOLATE_POINTS.LINE_LOCATE_POINT.LISTAGG.LN.LOCALTIME.LOCALTIMESTAMP.LOG.LOG10.LOG2.LOWER.LPAD.LTRIM.LUHN_CHECK.MAKE_SET_DIGEST.MAP.MAP_AGG.MAP_CONCAT.MAP_ENTRIES.MAP_FILTER.MAP_FROM_ENTRIES.MAP_KEYS.MAP_UNION.MAP_VALUES.MAP_ZIP_WITH.MAX.MAX_BY.MD5.MERGE.MERGE_SET_DIGEST.MILLISECOND.MIN.MINUTE.MIN_BY.MOD.MONTH.MULTIMAP_AGG.MULTIMAP_FROM_ENTRIES.MURMUR3.NAN.NGRAMS.NONE_MATCH.NORMALIZE.NORMAL_CDF.NOW.NTH_VALUE.NTILE.NULLIF.NUMERIC_HISTOGRAM.OBJECTID.OBJECTID_TIMESTAMP.PARSE_DATA_SIZE.PARSE_DATETIME.PARSE_DURATION.PERCENT_RANK.PI.POSITION.POW.POWER.QDIGEST_AGG.QUARTER.RADIANS.RAND.RANDOM.RANK.REDUCE.REDUCE_AGG.REGEXP_COUNT.REGEXP_EXTRACT.REGEXP_EXTRACT_ALL.REGEXP_LIKE.REGEXP_POSITION.REGEXP_REPLACE.REGEXP_SPLIT.REGRESS.REGR_INTERCEPT.REGR_SLOPE.RENDER.REPEAT.REPLACE.REVERSE.RGB.ROUND.ROW_NUMBER.RPAD.RTRIM.SECOND.SEQUENCE.SHA1.SHA256.SHA512.SHUFFLE.SIGN.SIMPLIFY_GEOMETRY.SIN.SKEWNESS.SLICE.SOUNDEX.SPATIAL_PARTITIONING.SPATIAL_PARTITIONS.SPLIT.SPLIT_PART.SPLIT_TO_MAP.SPLIT_TO_MULTIMAP.SPOOKY_HASH_V2_32.SPOOKY_HASH_V2_64.SQRT.STARTS_WITH.STDDEV.STDDEV_POP.STDDEV_SAMP.STRPOS.ST_AREA.ST_ASBINARY.ST_ASTEXT.ST_BOUNDARY.ST_BUFFER.ST_CENTROID.ST_CONTAINS.ST_CONVEXHULL.ST_COORDDIM.ST_CROSSES.ST_DIFFERENCE.ST_DIMENSION.ST_DISJOINT.ST_DISTANCE.ST_ENDPOINT.ST_ENVELOPE.ST_ENVELOPEASPTS.ST_EQUALS.ST_EXTERIORRING.ST_GEOMETRIES.ST_GEOMETRYFROMTEXT.ST_GEOMETRYN.ST_GEOMETRYTYPE.ST_GEOMFROMBINARY.ST_INTERIORRINGN.ST_INTERIORRINGS.ST_INTERSECTION.ST_INTERSECTS.ST_ISCLOSED.ST_ISEMPTY.ST_ISRING.ST_ISSIMPLE.ST_ISVALID.ST_LENGTH.ST_LINEFROMTEXT.ST_LINESTRING.ST_MULTIPOINT.ST_NUMGEOMETRIES.ST_NUMINTERIORRING.ST_NUMPOINTS.ST_OVERLAPS.ST_POINT.ST_POINTN.ST_POINTS.ST_POLYGON.ST_RELATE.ST_STARTPOINT.ST_SYMDIFFERENCE.ST_TOUCHES.ST_UNION.ST_WITHIN.ST_X.ST_XMAX.ST_XMIN.ST_Y.ST_YMAX.ST_YMIN.SUBSTR.SUBSTRING.SUM.TAN.TANH.TDIGEST_AGG.TIMESTAMP_OBJECTID.TIMEZONE_HOUR.TIMEZONE_MINUTE.TO_BASE.TO_BASE32.TO_BASE64.TO_BASE64URL.TO_BIG_ENDIAN_32.TO_BIG_ENDIAN_64.TO_CHAR.TO_DATE.TO_ENCODED_POLYLINE.TO_GEOJSON_GEOMETRY.TO_GEOMETRY.TO_HEX.TO_IEEE754_32.TO_IEEE754_64.TO_ISO8601.TO_MILLISECONDS.TO_SPHERICAL_GEOGRAPHY.TO_TIMESTAMP.TO_UNIXTIME.TO_UTF8.TRANSFORM.TRANSFORM_KEYS.TRANSFORM_VALUES.TRANSLATE.TRIM.TRIM_ARRAY.TRUNCATE.TRY.TRY_CAST.TYPEOF.UPPER.URL_DECODE.URL_ENCODE.URL_EXTRACT_FRAGMENT.URL_EXTRACT_HOST.URL_EXTRACT_PARAMETER.URL_EXTRACT_PATH.URL_EXTRACT_PORT.URL_EXTRACT_PROTOCOL.URL_EXTRACT_QUERY.UUID.VALUES_AT_QUANTILES.VALUE_AT_QUANTILE.VARIANCE.VAR_POP.VAR_SAMP.VERSION.WEEK.WEEK_OF_YEAR.WIDTH_BUCKET.WILSON_INTERVAL_LOWER.WILSON_INTERVAL_UPPER.WITH_TIMEZONE.WORD_STEM.XXHASH64.YEAR.YEAR_OF_WEEK.YOW.ZIP.ZIP_WITH.CLASSIFIER.FIRST.LAST.MATCH_NUMBER.NEXT.PERMUTE.PREV".split("."), Ur = /* @__PURE__ */ "ABSENT.ADD.ADMIN.AFTER.ALL.ALTER.ANALYZE.AND.ANY.AS.ASC.AT.AUTHORIZATION.BERNOULLI.BETWEEN.BOTH.BY.CALL.CASCADE.CASE.CATALOGS.COLUMN.COLUMNS.COMMENT.COMMIT.COMMITTED.CONDITIONAL.CONSTRAINT.COPARTITION.CREATE.CROSS.CUBE.CURRENT.CURRENT_PATH.CURRENT_ROLE.DATA.DEALLOCATE.DEFAULT.DEFINE.DEFINER.DELETE.DENY.DESC.DESCRIBE.DESCRIPTOR.DISTINCT.DISTRIBUTED.DOUBLE.DROP.ELSE.EMPTY.ENCODING.END.ERROR.ESCAPE.EXCEPT.EXCLUDING.EXECUTE.EXISTS.EXPLAIN.FALSE.FETCH.FINAL.FIRST.FOLLOWING.FOR.FROM.FULL.FUNCTIONS.GRANT.GRANTED.GRANTS.GRAPHVIZ.GROUP.GROUPING.GROUPS.HAVING.IGNORE.IN.INCLUDING.INITIAL.INNER.INPUT.INSERT.INTERSECT.INTERVAL.INTO.INVOKER.IO.IS.ISOLATION.JOIN.JSON.JSON_ARRAY.JSON_OBJECT.KEEP.KEY.KEYS.LAST.LATERAL.LEADING.LEFT.LEVEL.LIKE.LIMIT.LOCAL.LOGICAL.MATCH.MATCHED.MATCHES.MATCH_RECOGNIZE.MATERIALIZED.MEASURES.NATURAL.NEXT.NFC.NFD.NFKC.NFKD.NO.NONE.NOT.NULL.NULLS.OBJECT.OF.OFFSET.OMIT.ON.ONE.ONLY.OPTION.OR.ORDER.ORDINALITY.OUTER.OUTPUT.OVER.OVERFLOW.PARTITION.PARTITIONS.PASSING.PAST.PATH.PATTERN.PER.PERMUTE.PRECEDING.PRECISION.PREPARE.PRIVILEGES.PROPERTIES.PRUNE.QUOTES.RANGE.READ.RECURSIVE.REFRESH.RENAME.REPEATABLE.RESET.RESPECT.RESTRICT.RETURNING.REVOKE.RIGHT.ROLE.ROLES.ROLLBACK.ROLLUP.ROW.ROWS.RUNNING.SCALAR.SCHEMA.SCHEMAS.SECURITY.SEEK.SELECT.SERIALIZABLE.SESSION.SET.SETS.SHOW.SKIP.SOME.START.STATS.STRING.SUBSET.SYSTEM.TABLE.TABLES.TABLESAMPLE.TEXT.THEN.TIES.TIME.TIMESTAMP.TO.TRAILING.TRANSACTION.TRUE.TYPE.UESCAPE.UNBOUNDED.UNCOMMITTED.UNCONDITIONAL.UNION.UNIQUE.UNKNOWN.UNMATCHED.UNNEST.UPDATE.USE.USER.USING.UTF16.UTF32.UTF8.VALIDATE.VALUE.VALUES.VERBOSE.VIEW.WHEN.WHERE.WINDOW.WITH.WITHIN.WITHOUT.WORK.WRAPPER.WRITE.ZONE".split("."), Wr = /* @__PURE__ */ "BIGINT.INT.INTEGER.SMALLINT.TINYINT.BOOLEAN.DATE.DECIMAL.REAL.DOUBLE.HYPERLOGLOG.QDIGEST.TDIGEST.P4HYPERLOGLOG.INTERVAL.TIMESTAMP.TIME.VARBINARY.VARCHAR.CHAR.ROW.ARRAY.MAP.JSON.JSON2016.IPADDRESS.GEOMETRY.UUID.SETDIGEST.JONIREGEXP.RE2JREGEXP.LIKEPATTERN.COLOR.CODEPOINTS.FUNCTION.JSONPATH".split("."), Gr = d(["SELECT [ALL | DISTINCT]"]), Kr = d([
1712
1712
  "WITH [RECURSIVE]",
1713
1713
  "FROM",
1714
1714
  "WHERE",
@@ -1731,36 +1731,36 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1731
1731
  "PATTERN",
1732
1732
  "SUBSET",
1733
1733
  "DEFINE"
1734
- ]), Kr = d(["CREATE TABLE [IF NOT EXISTS]"]), E = d(/* @__PURE__ */ "CREATE [OR REPLACE] [MATERIALIZED] VIEW.UPDATE.DELETE FROM.DROP TABLE [IF EXISTS].ALTER TABLE [IF EXISTS].ADD COLUMN [IF NOT EXISTS].DROP COLUMN [IF EXISTS].RENAME COLUMN [IF EXISTS].RENAME TO.SET AUTHORIZATION [USER | ROLE].SET PROPERTIES.EXECUTE.TRUNCATE TABLE.ALTER SCHEMA.ALTER MATERIALIZED VIEW.ALTER VIEW.CREATE SCHEMA.CREATE ROLE.DROP SCHEMA.DROP MATERIALIZED VIEW.DROP VIEW.DROP ROLE.EXPLAIN.ANALYZE.EXPLAIN ANALYZE.EXPLAIN ANALYZE VERBOSE.USE.DESCRIBE INPUT.DESCRIBE OUTPUT.REFRESH MATERIALIZED VIEW.RESET SESSION.SET SESSION.SET PATH.SET TIME ZONE.SHOW GRANTS.SHOW CREATE TABLE.SHOW CREATE SCHEMA.SHOW CREATE VIEW.SHOW CREATE MATERIALIZED VIEW.SHOW TABLES.SHOW SCHEMAS.SHOW CATALOGS.SHOW COLUMNS.SHOW STATS FOR.SHOW ROLES.SHOW CURRENT ROLES.SHOW ROLE GRANTS.SHOW FUNCTIONS.SHOW SESSION".split(".")), qr = d([
1734
+ ]), qr = d(["CREATE TABLE [IF NOT EXISTS]"]), T = d(/* @__PURE__ */ "CREATE [OR REPLACE] [MATERIALIZED] VIEW.UPDATE.DELETE FROM.DROP TABLE [IF EXISTS].ALTER TABLE [IF EXISTS].ADD COLUMN [IF NOT EXISTS].DROP COLUMN [IF EXISTS].RENAME COLUMN [IF EXISTS].RENAME TO.SET AUTHORIZATION [USER | ROLE].SET PROPERTIES.EXECUTE.TRUNCATE TABLE.ALTER SCHEMA.ALTER MATERIALIZED VIEW.ALTER VIEW.CREATE SCHEMA.CREATE ROLE.DROP SCHEMA.DROP MATERIALIZED VIEW.DROP VIEW.DROP ROLE.EXPLAIN.ANALYZE.EXPLAIN ANALYZE.EXPLAIN ANALYZE VERBOSE.USE.DESCRIBE INPUT.DESCRIBE OUTPUT.REFRESH MATERIALIZED VIEW.RESET SESSION.SET SESSION.SET PATH.SET TIME ZONE.SHOW GRANTS.SHOW CREATE TABLE.SHOW CREATE SCHEMA.SHOW CREATE VIEW.SHOW CREATE MATERIALIZED VIEW.SHOW TABLES.SHOW SCHEMAS.SHOW CATALOGS.SHOW COLUMNS.SHOW STATS FOR.SHOW ROLES.SHOW CURRENT ROLES.SHOW ROLE GRANTS.SHOW FUNCTIONS.SHOW SESSION".split(".")), Jr = d([
1735
1735
  "UNION [ALL | DISTINCT] [CORRESPONDING]",
1736
1736
  "EXCEPT [ALL | DISTINCT] [CORRESPONDING]",
1737
1737
  "INTERSECT [ALL | DISTINCT] [CORRESPONDING]"
1738
- ]), Jr = d([
1738
+ ]), Yr = d([
1739
1739
  "JOIN",
1740
1740
  "{LEFT | RIGHT | FULL} [OUTER] JOIN",
1741
1741
  "{INNER | CROSS} JOIN",
1742
1742
  "NATURAL [INNER] JOIN",
1743
1743
  "NATURAL {LEFT | RIGHT | FULL} [OUTER] JOIN"
1744
- ]), Yr = d([
1744
+ ]), Xr = d([
1745
1745
  "{ROWS | RANGE | GROUPS} BETWEEN",
1746
1746
  "IS [NOT] DISTINCT FROM",
1747
1747
  "[TIMESTAMP | TIME] {WITH | WITHOUT} TIME ZONE"
1748
- ]), Xr = d([]), Zr = {
1748
+ ]), Zr = d([]), Qr = {
1749
1749
  name: "trino",
1750
1750
  tokenizerOptions: {
1751
- reservedSelect: Wr,
1751
+ reservedSelect: Gr,
1752
1752
  reservedClauses: [
1753
- ...Gr,
1754
1753
  ...Kr,
1755
- ...E
1754
+ ...qr,
1755
+ ...T
1756
1756
  ],
1757
- reservedSetOperations: qr,
1758
- reservedJoins: Jr,
1759
- reservedKeywordPhrases: Yr,
1760
- reservedDataTypePhrases: Xr,
1761
- reservedKeywords: Hr,
1762
- reservedDataTypes: Ur,
1763
- reservedFunctionNames: Vr,
1757
+ reservedSetOperations: Jr,
1758
+ reservedJoins: Yr,
1759
+ reservedKeywordPhrases: Xr,
1760
+ reservedDataTypePhrases: Zr,
1761
+ reservedKeywords: Ur,
1762
+ reservedDataTypes: Wr,
1763
+ reservedFunctionNames: Hr,
1764
1764
  extraParens: ["[]", "{}"],
1765
1765
  stringTypes: [{
1766
1766
  quote: "''-qq",
@@ -1784,10 +1784,10 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1784
1784
  ]
1785
1785
  },
1786
1786
  formatOptions: {
1787
- onelineClauses: [...Kr, ...E],
1788
- tabularOnelineClauses: E
1787
+ onelineClauses: [...qr, ...T],
1788
+ tabularOnelineClauses: T
1789
1789
  }
1790
- }, Qr = /* @__PURE__ */ "APPROX_COUNT_DISTINCT.AVG.CHECKSUM_AGG.COUNT.COUNT_BIG.GROUPING.GROUPING_ID.MAX.MIN.STDEV.STDEVP.SUM.VAR.VARP.CUME_DIST.FIRST_VALUE.LAG.LAST_VALUE.LEAD.PERCENTILE_CONT.PERCENTILE_DISC.PERCENT_RANK.Collation - COLLATIONPROPERTY.Collation - TERTIARY_WEIGHTS.@@DBTS.@@LANGID.@@LANGUAGE.@@LOCK_TIMEOUT.@@MAX_CONNECTIONS.@@MAX_PRECISION.@@NESTLEVEL.@@OPTIONS.@@REMSERVER.@@SERVERNAME.@@SERVICENAME.@@SPID.@@TEXTSIZE.@@VERSION.CAST.CONVERT.PARSE.TRY_CAST.TRY_CONVERT.TRY_PARSE.ASYMKEY_ID.ASYMKEYPROPERTY.CERTPROPERTY.CERT_ID.CRYPT_GEN_RANDOM.DECRYPTBYASYMKEY.DECRYPTBYCERT.DECRYPTBYKEY.DECRYPTBYKEYAUTOASYMKEY.DECRYPTBYKEYAUTOCERT.DECRYPTBYPASSPHRASE.ENCRYPTBYASYMKEY.ENCRYPTBYCERT.ENCRYPTBYKEY.ENCRYPTBYPASSPHRASE.HASHBYTES.IS_OBJECTSIGNED.KEY_GUID.KEY_ID.KEY_NAME.SIGNBYASYMKEY.SIGNBYCERT.SYMKEYPROPERTY.VERIFYSIGNEDBYCERT.VERIFYSIGNEDBYASYMKEY.@@CURSOR_ROWS.@@FETCH_STATUS.CURSOR_STATUS.DATALENGTH.IDENT_CURRENT.IDENT_INCR.IDENT_SEED.IDENTITY.SQL_VARIANT_PROPERTY.@@DATEFIRST.CURRENT_TIMESTAMP.CURRENT_TIMEZONE.CURRENT_TIMEZONE_ID.DATEADD.DATEDIFF.DATEDIFF_BIG.DATEFROMPARTS.DATENAME.DATEPART.DATETIME2FROMPARTS.DATETIMEFROMPARTS.DATETIMEOFFSETFROMPARTS.DAY.EOMONTH.GETDATE.GETUTCDATE.ISDATE.MONTH.SMALLDATETIMEFROMPARTS.SWITCHOFFSET.SYSDATETIME.SYSDATETIMEOFFSET.SYSUTCDATETIME.TIMEFROMPARTS.TODATETIMEOFFSET.YEAR.JSON.ISJSON.OPENJSON.JSON_VALUE.JSON_QUERY.JSON_MODIFY.ABS.ACOS.ASIN.ATAN.ATN2.CEILING.COS.COT.DEGREES.EXP.FLOOR.LOG.LOG10.PI.POWER.RADIANS.RAND.ROUND.SIGN.SIN.SQRT.SQUARE.TAN.CHOOSE.GREATEST.IIF.LEAST.@@PROCID.APP_NAME.APPLOCK_MODE.APPLOCK_TEST.ASSEMBLYPROPERTY.COL_LENGTH.COL_NAME.COLUMNPROPERTY.DATABASEPROPERTYEX.DB_ID.DB_NAME.FILE_ID.FILE_IDEX.FILE_NAME.FILEGROUP_ID.FILEGROUP_NAME.FILEGROUPPROPERTY.FILEPROPERTY.FILEPROPERTYEX.FULLTEXTCATALOGPROPERTY.FULLTEXTSERVICEPROPERTY.INDEX_COL.INDEXKEY_PROPERTY.INDEXPROPERTY.NEXT VALUE FOR.OBJECT_DEFINITION.OBJECT_ID.OBJECT_NAME.OBJECT_SCHEMA_NAME.OBJECTPROPERTY.OBJECTPROPERTYEX.ORIGINAL_DB_NAME.PARSENAME.SCHEMA_ID.SCHEMA_NAME.SCOPE_IDENTITY.SERVERPROPERTY.STATS_DATE.TYPE_ID.TYPE_NAME.TYPEPROPERTY.DENSE_RANK.NTILE.RANK.ROW_NUMBER.PUBLISHINGSERVERNAME.CERTENCODED.CERTPRIVATEKEY.CURRENT_USER.DATABASE_PRINCIPAL_ID.HAS_DBACCESS.HAS_PERMS_BY_NAME.IS_MEMBER.IS_ROLEMEMBER.IS_SRVROLEMEMBER.LOGINPROPERTY.ORIGINAL_LOGIN.PERMISSIONS.PWDENCRYPT.PWDCOMPARE.SESSION_USER.SESSIONPROPERTY.SUSER_ID.SUSER_NAME.SUSER_SID.SUSER_SNAME.SYSTEM_USER.USER.USER_ID.USER_NAME.ASCII.CHARINDEX.CONCAT.CONCAT_WS.DIFFERENCE.FORMAT.LEFT.LEN.LOWER.LTRIM.PATINDEX.QUOTENAME.REPLACE.REPLICATE.REVERSE.RIGHT.RTRIM.SOUNDEX.SPACE.STR.STRING_AGG.STRING_ESCAPE.STUFF.SUBSTRING.TRANSLATE.TRIM.UNICODE.UPPER.$PARTITION.@@ERROR.@@IDENTITY.@@PACK_RECEIVED.@@ROWCOUNT.@@TRANCOUNT.BINARY_CHECKSUM.CHECKSUM.COMPRESS.CONNECTIONPROPERTY.CONTEXT_INFO.CURRENT_REQUEST_ID.CURRENT_TRANSACTION_ID.DECOMPRESS.ERROR_LINE.ERROR_MESSAGE.ERROR_NUMBER.ERROR_PROCEDURE.ERROR_SEVERITY.ERROR_STATE.FORMATMESSAGE.GET_FILESTREAM_TRANSACTION_CONTEXT.GETANSINULL.HOST_ID.HOST_NAME.ISNULL.ISNUMERIC.MIN_ACTIVE_ROWVERSION.NEWID.NEWSEQUENTIALID.ROWCOUNT_BIG.SESSION_CONTEXT.XACT_STATE.@@CONNECTIONS.@@CPU_BUSY.@@IDLE.@@IO_BUSY.@@PACK_SENT.@@PACKET_ERRORS.@@TIMETICKS.@@TOTAL_ERRORS.@@TOTAL_READ.@@TOTAL_WRITE.TEXTPTR.TEXTVALID.COLUMNS_UPDATED.EVENTDATA.TRIGGER_NESTLEVEL.UPDATE.COALESCE.NULLIF".split("."), $r = /* @__PURE__ */ "ADD.ALL.ALTER.AND.ANY.AS.ASC.AUTHORIZATION.BACKUP.BEGIN.BETWEEN.BREAK.BROWSE.BULK.BY.CASCADE.CHECK.CHECKPOINT.CLOSE.CLUSTERED.COALESCE.COLLATE.COLUMN.COMMIT.COMPUTE.CONSTRAINT.CONTAINS.CONTAINSTABLE.CONTINUE.CONVERT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DBCC.DEALLOCATE.DECLARE.DEFAULT.DELETE.DENY.DESC.DISK.DISTINCT.DISTRIBUTED.DROP.DUMP.ERRLVL.ESCAPE.EXEC.EXECUTE.EXISTS.EXIT.EXTERNAL.FETCH.FILE.FILLFACTOR.FOR.FOREIGN.FREETEXT.FREETEXTTABLE.FROM.FULL.FUNCTION.GOTO.GRANT.GROUP.HAVING.HOLDLOCK.IDENTITY.IDENTITYCOL.IDENTITY_INSERT.IF.IN.INDEX.INNER.INSERT.INTERSECT.INTO.IS.JOIN.KEY.KILL.LEFT.LIKE.LINENO.LOAD.MERGE.NOCHECK.NONCLUSTERED.NOT.NULL.NULLIF.OF.OFF.OFFSETS.ON.OPEN.OPENDATASOURCE.OPENQUERY.OPENROWSET.OPENXML.OPTION.OR.ORDER.OUTER.OVER.PERCENT.PIVOT.PLAN.PRIMARY.PRINT.PROC.PROCEDURE.PUBLIC.RAISERROR.READ.READTEXT.RECONFIGURE.REFERENCES.REPLICATION.RESTORE.RESTRICT.RETURN.REVERT.REVOKE.RIGHT.ROLLBACK.ROWCOUNT.ROWGUIDCOL.RULE.SAVE.SCHEMA.SECURITYAUDIT.SELECT.SEMANTICKEYPHRASETABLE.SEMANTICSIMILARITYDETAILSTABLE.SEMANTICSIMILARITYTABLE.SESSION_USER.SET.SETUSER.SHUTDOWN.SOME.STATISTICS.SYSTEM_USER.TABLE.TABLESAMPLE.TEXTSIZE.THEN.TO.TOP.TRAN.TRANSACTION.TRIGGER.TRUNCATE.TRY_CONVERT.TSEQUAL.UNION.UNIQUE.UNPIVOT.UPDATE.UPDATETEXT.USE.USER.VALUES.VIEW.WAITFOR.WHERE.WHILE.WITH.WITHIN GROUP.WRITETEXT.$ACTION".split("."), ei = [
1790
+ }, $r = /* @__PURE__ */ "APPROX_COUNT_DISTINCT.AVG.CHECKSUM_AGG.COUNT.COUNT_BIG.GROUPING.GROUPING_ID.MAX.MIN.STDEV.STDEVP.SUM.VAR.VARP.CUME_DIST.FIRST_VALUE.LAG.LAST_VALUE.LEAD.PERCENTILE_CONT.PERCENTILE_DISC.PERCENT_RANK.Collation - COLLATIONPROPERTY.Collation - TERTIARY_WEIGHTS.@@DBTS.@@LANGID.@@LANGUAGE.@@LOCK_TIMEOUT.@@MAX_CONNECTIONS.@@MAX_PRECISION.@@NESTLEVEL.@@OPTIONS.@@REMSERVER.@@SERVERNAME.@@SERVICENAME.@@SPID.@@TEXTSIZE.@@VERSION.CAST.CONVERT.PARSE.TRY_CAST.TRY_CONVERT.TRY_PARSE.ASYMKEY_ID.ASYMKEYPROPERTY.CERTPROPERTY.CERT_ID.CRYPT_GEN_RANDOM.DECRYPTBYASYMKEY.DECRYPTBYCERT.DECRYPTBYKEY.DECRYPTBYKEYAUTOASYMKEY.DECRYPTBYKEYAUTOCERT.DECRYPTBYPASSPHRASE.ENCRYPTBYASYMKEY.ENCRYPTBYCERT.ENCRYPTBYKEY.ENCRYPTBYPASSPHRASE.HASHBYTES.IS_OBJECTSIGNED.KEY_GUID.KEY_ID.KEY_NAME.SIGNBYASYMKEY.SIGNBYCERT.SYMKEYPROPERTY.VERIFYSIGNEDBYCERT.VERIFYSIGNEDBYASYMKEY.@@CURSOR_ROWS.@@FETCH_STATUS.CURSOR_STATUS.DATALENGTH.IDENT_CURRENT.IDENT_INCR.IDENT_SEED.IDENTITY.SQL_VARIANT_PROPERTY.@@DATEFIRST.CURRENT_TIMESTAMP.CURRENT_TIMEZONE.CURRENT_TIMEZONE_ID.DATEADD.DATEDIFF.DATEDIFF_BIG.DATEFROMPARTS.DATENAME.DATEPART.DATETIME2FROMPARTS.DATETIMEFROMPARTS.DATETIMEOFFSETFROMPARTS.DAY.EOMONTH.GETDATE.GETUTCDATE.ISDATE.MONTH.SMALLDATETIMEFROMPARTS.SWITCHOFFSET.SYSDATETIME.SYSDATETIMEOFFSET.SYSUTCDATETIME.TIMEFROMPARTS.TODATETIMEOFFSET.YEAR.JSON.ISJSON.OPENJSON.JSON_VALUE.JSON_QUERY.JSON_MODIFY.ABS.ACOS.ASIN.ATAN.ATN2.CEILING.COS.COT.DEGREES.EXP.FLOOR.LOG.LOG10.PI.POWER.RADIANS.RAND.ROUND.SIGN.SIN.SQRT.SQUARE.TAN.CHOOSE.GREATEST.IIF.LEAST.@@PROCID.APP_NAME.APPLOCK_MODE.APPLOCK_TEST.ASSEMBLYPROPERTY.COL_LENGTH.COL_NAME.COLUMNPROPERTY.DATABASEPROPERTYEX.DB_ID.DB_NAME.FILE_ID.FILE_IDEX.FILE_NAME.FILEGROUP_ID.FILEGROUP_NAME.FILEGROUPPROPERTY.FILEPROPERTY.FILEPROPERTYEX.FULLTEXTCATALOGPROPERTY.FULLTEXTSERVICEPROPERTY.INDEX_COL.INDEXKEY_PROPERTY.INDEXPROPERTY.NEXT VALUE FOR.OBJECT_DEFINITION.OBJECT_ID.OBJECT_NAME.OBJECT_SCHEMA_NAME.OBJECTPROPERTY.OBJECTPROPERTYEX.ORIGINAL_DB_NAME.PARSENAME.SCHEMA_ID.SCHEMA_NAME.SCOPE_IDENTITY.SERVERPROPERTY.STATS_DATE.TYPE_ID.TYPE_NAME.TYPEPROPERTY.DENSE_RANK.NTILE.RANK.ROW_NUMBER.PUBLISHINGSERVERNAME.CERTENCODED.CERTPRIVATEKEY.CURRENT_USER.DATABASE_PRINCIPAL_ID.HAS_DBACCESS.HAS_PERMS_BY_NAME.IS_MEMBER.IS_ROLEMEMBER.IS_SRVROLEMEMBER.LOGINPROPERTY.ORIGINAL_LOGIN.PERMISSIONS.PWDENCRYPT.PWDCOMPARE.SESSION_USER.SESSIONPROPERTY.SUSER_ID.SUSER_NAME.SUSER_SID.SUSER_SNAME.SYSTEM_USER.USER.USER_ID.USER_NAME.ASCII.CHARINDEX.CONCAT.CONCAT_WS.DIFFERENCE.FORMAT.LEFT.LEN.LOWER.LTRIM.PATINDEX.QUOTENAME.REPLACE.REPLICATE.REVERSE.RIGHT.RTRIM.SOUNDEX.SPACE.STR.STRING_AGG.STRING_ESCAPE.STUFF.SUBSTRING.TRANSLATE.TRIM.UNICODE.UPPER.$PARTITION.@@ERROR.@@IDENTITY.@@PACK_RECEIVED.@@ROWCOUNT.@@TRANCOUNT.BINARY_CHECKSUM.CHECKSUM.COMPRESS.CONNECTIONPROPERTY.CONTEXT_INFO.CURRENT_REQUEST_ID.CURRENT_TRANSACTION_ID.DECOMPRESS.ERROR_LINE.ERROR_MESSAGE.ERROR_NUMBER.ERROR_PROCEDURE.ERROR_SEVERITY.ERROR_STATE.FORMATMESSAGE.GET_FILESTREAM_TRANSACTION_CONTEXT.GETANSINULL.HOST_ID.HOST_NAME.ISNULL.ISNUMERIC.MIN_ACTIVE_ROWVERSION.NEWID.NEWSEQUENTIALID.ROWCOUNT_BIG.SESSION_CONTEXT.XACT_STATE.@@CONNECTIONS.@@CPU_BUSY.@@IDLE.@@IO_BUSY.@@PACK_SENT.@@PACKET_ERRORS.@@TIMETICKS.@@TOTAL_ERRORS.@@TOTAL_READ.@@TOTAL_WRITE.TEXTPTR.TEXTVALID.COLUMNS_UPDATED.EVENTDATA.TRIGGER_NESTLEVEL.UPDATE.COALESCE.NULLIF".split("."), ei = /* @__PURE__ */ "ADD.ALL.ALTER.AND.ANY.AS.ASC.AUTHORIZATION.BACKUP.BEGIN.BETWEEN.BREAK.BROWSE.BULK.BY.CASCADE.CHECK.CHECKPOINT.CLOSE.CLUSTERED.COALESCE.COLLATE.COLUMN.COMMIT.COMPUTE.CONSTRAINT.CONTAINS.CONTAINSTABLE.CONTINUE.CONVERT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DBCC.DEALLOCATE.DECLARE.DEFAULT.DELETE.DENY.DESC.DISK.DISTINCT.DISTRIBUTED.DROP.DUMP.ERRLVL.ESCAPE.EXEC.EXECUTE.EXISTS.EXIT.EXTERNAL.FETCH.FILE.FILLFACTOR.FOR.FOREIGN.FREETEXT.FREETEXTTABLE.FROM.FULL.FUNCTION.GOTO.GRANT.GROUP.HAVING.HOLDLOCK.IDENTITY.IDENTITYCOL.IDENTITY_INSERT.IF.IN.INDEX.INNER.INSERT.INTERSECT.INTO.IS.JOIN.KEY.KILL.LEFT.LIKE.LINENO.LOAD.MERGE.NOCHECK.NONCLUSTERED.NOT.NULL.NULLIF.OF.OFF.OFFSETS.ON.OPEN.OPENDATASOURCE.OPENQUERY.OPENROWSET.OPENXML.OPTION.OR.ORDER.OUTER.OVER.PERCENT.PIVOT.PLAN.PRIMARY.PRINT.PROC.PROCEDURE.PUBLIC.RAISERROR.READ.READTEXT.RECONFIGURE.REFERENCES.REPLICATION.RESTORE.RESTRICT.RETURN.REVERT.REVOKE.RIGHT.ROLLBACK.ROWCOUNT.ROWGUIDCOL.RULE.SAVE.SCHEMA.SECURITYAUDIT.SELECT.SEMANTICKEYPHRASETABLE.SEMANTICSIMILARITYDETAILSTABLE.SEMANTICSIMILARITYTABLE.SESSION_USER.SET.SETUSER.SHUTDOWN.SOME.STATISTICS.SYSTEM_USER.TABLE.TABLESAMPLE.TEXTSIZE.THEN.TO.TOP.TRAN.TRANSACTION.TRIGGER.TRUNCATE.TRY_CONVERT.TSEQUAL.UNION.UNIQUE.UNPIVOT.UPDATE.UPDATETEXT.USE.USER.VALUES.VIEW.WAITFOR.WHERE.WHILE.WITH.WITHIN GROUP.WRITETEXT.$ACTION".split("."), ti = [
1791
1791
  "BINARY",
1792
1792
  "BIT",
1793
1793
  "CHAR",
@@ -1813,7 +1813,7 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1813
1813
  "TIMESTAMP",
1814
1814
  "VARBINARY",
1815
1815
  "VARCHAR"
1816
- ], ti = d(["SELECT [ALL | DISTINCT]"]), ni = d([
1816
+ ], ni = d(["SELECT [ALL | DISTINCT]"]), ri = d([
1817
1817
  "WITH",
1818
1818
  "INTO",
1819
1819
  "FROM",
@@ -1833,31 +1833,31 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1833
1833
  "MERGE [INTO]",
1834
1834
  "WHEN [NOT] MATCHED [BY TARGET | BY SOURCE] [THEN]",
1835
1835
  "UPDATE SET"
1836
- ]), ri = d(["CREATE TABLE"]), D = d(/* @__PURE__ */ "CREATE [OR ALTER] [MATERIALIZED] VIEW.UPDATE.WHERE CURRENT OF.DELETE [FROM].DROP TABLE [IF EXISTS].ALTER TABLE.ADD.DROP COLUMN [IF EXISTS].ALTER COLUMN.TRUNCATE TABLE.CREATE [UNIQUE] [CLUSTERED] INDEX.CREATE DATABASE.ALTER DATABASE.DROP DATABASE [IF EXISTS].CREATE [OR ALTER] [PARTITION] {FUNCTION | PROCEDURE | PROC}.ALTER [PARTITION] {FUNCTION | PROCEDURE | PROC}.DROP [PARTITION] {FUNCTION | PROCEDURE | PROC} [IF EXISTS].GO.USE.ADD SENSITIVITY CLASSIFICATION.ADD SIGNATURE.AGGREGATE.ANSI_DEFAULTS.ANSI_NULLS.ANSI_NULL_DFLT_OFF.ANSI_NULL_DFLT_ON.ANSI_PADDING.ANSI_WARNINGS.APPLICATION ROLE.ARITHABORT.ARITHIGNORE.ASSEMBLY.ASYMMETRIC KEY.AUTHORIZATION.AVAILABILITY GROUP.BACKUP.BACKUP CERTIFICATE.BACKUP MASTER KEY.BACKUP SERVICE MASTER KEY.BEGIN CONVERSATION TIMER.BEGIN DIALOG CONVERSATION.BROKER PRIORITY.BULK INSERT.CERTIFICATE.CLOSE MASTER KEY.CLOSE SYMMETRIC KEY.COLUMN ENCRYPTION KEY.COLUMN MASTER KEY.COLUMNSTORE INDEX.CONCAT_NULL_YIELDS_NULL.CONTEXT_INFO.CONTRACT.CREDENTIAL.CRYPTOGRAPHIC PROVIDER.CURSOR_CLOSE_ON_COMMIT.DATABASE.DATABASE AUDIT SPECIFICATION.DATABASE ENCRYPTION KEY.DATABASE HADR.DATABASE SCOPED CONFIGURATION.DATABASE SCOPED CREDENTIAL.DATABASE SET.DATEFIRST.DATEFORMAT.DEADLOCK_PRIORITY.DENY.DENY XML.DISABLE TRIGGER.ENABLE TRIGGER.END CONVERSATION.ENDPOINT.EVENT NOTIFICATION.EVENT SESSION.EXECUTE AS.EXTERNAL DATA SOURCE.EXTERNAL FILE FORMAT.EXTERNAL LANGUAGE.EXTERNAL LIBRARY.EXTERNAL RESOURCE POOL.EXTERNAL TABLE.FIPS_FLAGGER.FMTONLY.FORCEPLAN.FULLTEXT CATALOG.FULLTEXT INDEX.FULLTEXT STOPLIST.GET CONVERSATION GROUP.GET_TRANSMISSION_STATUS.GRANT.GRANT XML.IDENTITY_INSERT.IMPLICIT_TRANSACTIONS.INDEX.LANGUAGE.LOCK_TIMEOUT.LOGIN.MASTER KEY.MESSAGE TYPE.MOVE CONVERSATION.NOCOUNT.NOEXEC.NUMERIC_ROUNDABORT.OFFSETS.OPEN MASTER KEY.OPEN SYMMETRIC KEY.PARSEONLY.PARTITION SCHEME.QUERY_GOVERNOR_COST_LIMIT.QUEUE.QUOTED_IDENTIFIER.RECEIVE.REMOTE SERVICE BINDING.REMOTE_PROC_TRANSACTIONS.RESOURCE GOVERNOR.RESOURCE POOL.RESTORE.RESTORE FILELISTONLY.RESTORE HEADERONLY.RESTORE LABELONLY.RESTORE MASTER KEY.RESTORE REWINDONLY.RESTORE SERVICE MASTER KEY.RESTORE VERIFYONLY.REVERT.REVOKE.REVOKE XML.ROLE.ROUTE.ROWCOUNT.RULE.SCHEMA.SEARCH PROPERTY LIST.SECURITY POLICY.SELECTIVE XML INDEX.SEND.SENSITIVITY CLASSIFICATION.SEQUENCE.SERVER AUDIT.SERVER AUDIT SPECIFICATION.SERVER CONFIGURATION.SERVER ROLE.SERVICE.SERVICE MASTER KEY.SETUSER.SHOWPLAN_ALL.SHOWPLAN_TEXT.SHOWPLAN_XML.SIGNATURE.SPATIAL INDEX.STATISTICS.STATISTICS IO.STATISTICS PROFILE.STATISTICS TIME.STATISTICS XML.SYMMETRIC KEY.SYNONYM.TABLE.TABLE IDENTITY.TEXTSIZE.TRANSACTION ISOLATION LEVEL.TRIGGER.TYPE.UPDATE STATISTICS.USER.WORKLOAD GROUP.XACT_ABORT.XML INDEX.XML SCHEMA COLLECTION".split(".")), ii = d([
1836
+ ]), ii = d(["CREATE TABLE"]), E = d(/* @__PURE__ */ "CREATE [OR ALTER] [MATERIALIZED] VIEW.UPDATE.WHERE CURRENT OF.DELETE [FROM].DROP TABLE [IF EXISTS].ALTER TABLE.ADD.DROP COLUMN [IF EXISTS].ALTER COLUMN.TRUNCATE TABLE.CREATE [UNIQUE] [CLUSTERED] INDEX.CREATE DATABASE.ALTER DATABASE.DROP DATABASE [IF EXISTS].CREATE [OR ALTER] [PARTITION] {FUNCTION | PROCEDURE | PROC}.ALTER [PARTITION] {FUNCTION | PROCEDURE | PROC}.DROP [PARTITION] {FUNCTION | PROCEDURE | PROC} [IF EXISTS].GO.USE.ADD SENSITIVITY CLASSIFICATION.ADD SIGNATURE.AGGREGATE.ANSI_DEFAULTS.ANSI_NULLS.ANSI_NULL_DFLT_OFF.ANSI_NULL_DFLT_ON.ANSI_PADDING.ANSI_WARNINGS.APPLICATION ROLE.ARITHABORT.ARITHIGNORE.ASSEMBLY.ASYMMETRIC KEY.AUTHORIZATION.AVAILABILITY GROUP.BACKUP.BACKUP CERTIFICATE.BACKUP MASTER KEY.BACKUP SERVICE MASTER KEY.BEGIN CONVERSATION TIMER.BEGIN DIALOG CONVERSATION.BROKER PRIORITY.BULK INSERT.CERTIFICATE.CLOSE MASTER KEY.CLOSE SYMMETRIC KEY.COLUMN ENCRYPTION KEY.COLUMN MASTER KEY.COLUMNSTORE INDEX.CONCAT_NULL_YIELDS_NULL.CONTEXT_INFO.CONTRACT.CREDENTIAL.CRYPTOGRAPHIC PROVIDER.CURSOR_CLOSE_ON_COMMIT.DATABASE.DATABASE AUDIT SPECIFICATION.DATABASE ENCRYPTION KEY.DATABASE HADR.DATABASE SCOPED CONFIGURATION.DATABASE SCOPED CREDENTIAL.DATABASE SET.DATEFIRST.DATEFORMAT.DEADLOCK_PRIORITY.DENY.DENY XML.DISABLE TRIGGER.ENABLE TRIGGER.END CONVERSATION.ENDPOINT.EVENT NOTIFICATION.EVENT SESSION.EXECUTE AS.EXTERNAL DATA SOURCE.EXTERNAL FILE FORMAT.EXTERNAL LANGUAGE.EXTERNAL LIBRARY.EXTERNAL RESOURCE POOL.EXTERNAL TABLE.FIPS_FLAGGER.FMTONLY.FORCEPLAN.FULLTEXT CATALOG.FULLTEXT INDEX.FULLTEXT STOPLIST.GET CONVERSATION GROUP.GET_TRANSMISSION_STATUS.GRANT.GRANT XML.IDENTITY_INSERT.IMPLICIT_TRANSACTIONS.INDEX.LANGUAGE.LOCK_TIMEOUT.LOGIN.MASTER KEY.MESSAGE TYPE.MOVE CONVERSATION.NOCOUNT.NOEXEC.NUMERIC_ROUNDABORT.OFFSETS.OPEN MASTER KEY.OPEN SYMMETRIC KEY.PARSEONLY.PARTITION SCHEME.QUERY_GOVERNOR_COST_LIMIT.QUEUE.QUOTED_IDENTIFIER.RECEIVE.REMOTE SERVICE BINDING.REMOTE_PROC_TRANSACTIONS.RESOURCE GOVERNOR.RESOURCE POOL.RESTORE.RESTORE FILELISTONLY.RESTORE HEADERONLY.RESTORE LABELONLY.RESTORE MASTER KEY.RESTORE REWINDONLY.RESTORE SERVICE MASTER KEY.RESTORE VERIFYONLY.REVERT.REVOKE.REVOKE XML.ROLE.ROUTE.ROWCOUNT.RULE.SCHEMA.SEARCH PROPERTY LIST.SECURITY POLICY.SELECTIVE XML INDEX.SEND.SENSITIVITY CLASSIFICATION.SEQUENCE.SERVER AUDIT.SERVER AUDIT SPECIFICATION.SERVER CONFIGURATION.SERVER ROLE.SERVICE.SERVICE MASTER KEY.SETUSER.SHOWPLAN_ALL.SHOWPLAN_TEXT.SHOWPLAN_XML.SIGNATURE.SPATIAL INDEX.STATISTICS.STATISTICS IO.STATISTICS PROFILE.STATISTICS TIME.STATISTICS XML.SYMMETRIC KEY.SYNONYM.TABLE.TABLE IDENTITY.TEXTSIZE.TRANSACTION ISOLATION LEVEL.TRIGGER.TYPE.UPDATE STATISTICS.USER.WORKLOAD GROUP.XACT_ABORT.XML INDEX.XML SCHEMA COLLECTION".split(".")), ai = d([
1837
1837
  "UNION [ALL]",
1838
1838
  "EXCEPT",
1839
1839
  "INTERSECT"
1840
- ]), ai = d([
1840
+ ]), oi = d([
1841
1841
  "JOIN",
1842
1842
  "{LEFT | RIGHT | FULL} [OUTER] JOIN",
1843
1843
  "{INNER | CROSS} JOIN",
1844
1844
  "{CROSS | OUTER} APPLY"
1845
- ]), oi = d(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]", "{ROWS | RANGE} BETWEEN"]), si = d([]), ci = {
1845
+ ]), si = d(["ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]", "{ROWS | RANGE} BETWEEN"]), ci = d([]), li = {
1846
1846
  name: "transactsql",
1847
1847
  tokenizerOptions: {
1848
- reservedSelect: ti,
1848
+ reservedSelect: ni,
1849
1849
  reservedClauses: [
1850
- ...ni,
1851
1850
  ...ri,
1852
- ...D
1851
+ ...ii,
1852
+ ...E
1853
1853
  ],
1854
- reservedSetOperations: ii,
1855
- reservedJoins: ai,
1856
- reservedKeywordPhrases: oi,
1857
- reservedDataTypePhrases: si,
1858
- reservedKeywords: $r,
1859
- reservedDataTypes: ei,
1860
- reservedFunctionNames: Qr,
1854
+ reservedSetOperations: ai,
1855
+ reservedJoins: oi,
1856
+ reservedKeywordPhrases: si,
1857
+ reservedDataTypePhrases: ci,
1858
+ reservedKeywords: ei,
1859
+ reservedDataTypes: ti,
1860
+ reservedFunctionNames: $r,
1861
1861
  nestedBlockComments: !0,
1862
1862
  stringTypes: [{
1863
1863
  quote: "''-qq",
@@ -1895,10 +1895,10 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1895
1895
  },
1896
1896
  formatOptions: {
1897
1897
  alwaysDenseOperators: ["::"],
1898
- onelineClauses: [...ri, ...D],
1899
- tabularOnelineClauses: D
1898
+ onelineClauses: [...ii, ...E],
1899
+ tabularOnelineClauses: E
1900
1900
  }
1901
- }, li = /* @__PURE__ */ "ADD.ALL.ALTER.ANALYZE.AND.AS.ASC.ASENSITIVE.BEFORE.BETWEEN._BINARY.BOTH.BY.CALL.CASCADE.CASE.CHANGE.CHECK.COLLATE.COLUMN.CONDITION.CONSTRAINT.CONTINUE.CONVERT.CREATE.CROSS.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DATABASES.DAY_HOUR.DAY_MICROSECOND.DAY_MINUTE.DAY_SECOND.DECLARE.DEFAULT.DELAYED.DELETE.DESC.DESCRIBE.DETERMINISTIC.DISTINCT.DISTINCTROW.DIV.DROP.DUAL.EACH.ELSE.ELSEIF.ENCLOSED.ESCAPED.EXCEPT.EXISTS.EXIT.EXPLAIN.EXTRA_JOIN.FALSE.FETCH.FOR.FORCE.FORCE_COMPILED_MODE.FORCE_INTERPRETER_MODE.FOREIGN.FROM.FULL.FULLTEXT.GRANT.GROUP.HAVING.HEARTBEAT_NO_LOGGING.HIGH_PRIORITY.HOUR_MICROSECOND.HOUR_MINUTE.HOUR_SECOND.IF.IGNORE.IN.INDEX.INFILE.INNER.INOUT.INSENSITIVE.INSERT.IN._INTERNAL_DYNAMIC_TYPECAST.INTERSECT.INTERVAL.INTO.ITERATE.JOIN.KEY.KEYS.KILL.LEADING.LEAVE.LEFT.LIKE.LIMIT.LINES.LOAD.LOCALTIME.LOCALTIMESTAMP.LOCK.LOOP.LOW_PRIORITY.MATCH.MAXVALUE.MINUS.MINUTE_MICROSECOND.MINUTE_SECOND.MOD.MODIFIES.NATURAL.NO_QUERY_REWRITE.NOT.NO_WRITE_TO_BINLOG.NO_QUERY_REWRITE.NULL.ON.OPTIMIZE.OPTION.OPTIONALLY.OR.ORDER.OUT.OUTER.OUTFILE.OVER.PRIMARY.PROCEDURE.PURGE.RANGE.READ.READS.REFERENCES.REGEXP.RELEASE.RENAME.REPEAT.REPLACE.REQUIRE.RESTRICT.RETURN.REVOKE.RIGHT.RIGHT_ANTI_JOIN.RIGHT_SEMI_JOIN.RIGHT_STRAIGHT_JOIN.RLIKE.SCHEMA.SCHEMAS.SECOND_MICROSECOND.SELECT.SEMI_JOIN.SENSITIVE.SEPARATOR.SET.SHOW.SIGNAL.SPATIAL.SPECIFIC.SQL.SQL_BIG_RESULT.SQL_BUFFER_RESULT.SQL_CACHE.SQL_CALC_FOUND_ROWS.SQLEXCEPTION.SQL_NO_CACHE.SQL_NO_LOGGING.SQL_SMALL_RESULT.SQLSTATE.SQLWARNING.STRAIGHT_JOIN.TABLE.TERMINATED.THEN.TO.TRAILING.TRIGGER.TRUE.UNBOUNDED.UNDO.UNION.UNIQUE.UNLOCK.UPDATE.USAGE.USE.USING.UTC_DATE.UTC_TIME.UTC_TIMESTAMP._UTF8.VALUES.WHEN.WHERE.WHILE.WINDOW.WITH.WITHIN.WRITE.XOR.YEAR_MONTH.ZEROFILL".split("."), ui = /* @__PURE__ */ "BIGINT.BINARY.BIT.BLOB.CHAR.CHARACTER.DATETIME.DEC.DECIMAL.DOUBLE PRECISION.DOUBLE.ENUM.FIXED.FLOAT.FLOAT4.FLOAT8.INT.INT1.INT2.INT3.INT4.INT8.INTEGER.LONG.LONGBLOB.LONGTEXT.MEDIUMBLOB.MEDIUMINT.MEDIUMTEXT.MIDDLEINT.NATIONAL CHAR.NATIONAL VARCHAR.NUMERIC.PRECISION.REAL.SMALLINT.TEXT.TIME.TIMESTAMP.TINYBLOB.TINYINT.TINYTEXT.UNSIGNED.VARBINARY.VARCHAR.VARCHARACTER.YEAR".split("."), di = /* @__PURE__ */ "ABS.ACOS.ADDDATE.ADDTIME.AES_DECRYPT.AES_ENCRYPT.ANY_VALUE.APPROX_COUNT_DISTINCT.APPROX_COUNT_DISTINCT_ACCUMULATE.APPROX_COUNT_DISTINCT_COMBINE.APPROX_COUNT_DISTINCT_ESTIMATE.APPROX_GEOGRAPHY_INTERSECTS.APPROX_PERCENTILE.ASCII.ASIN.ATAN.ATAN2.AVG.BIN.BINARY.BIT_AND.BIT_COUNT.BIT_OR.BIT_XOR.CAST.CEIL.CEILING.CHAR.CHARACTER_LENGTH.CHAR_LENGTH.CHARSET.COALESCE.COERCIBILITY.COLLATION.COLLECT.CONCAT.CONCAT_WS.CONNECTION_ID.CONV.CONVERT.CONVERT_TZ.COS.COT.COUNT.CUME_DIST.CURDATE.CURRENT_DATE.CURRENT_ROLE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURTIME.DATABASE.DATE.DATE_ADD.DATEDIFF.DATE_FORMAT.DATE_SUB.DATE_TRUNC.DAY.DAYNAME.DAYOFMONTH.DAYOFWEEK.DAYOFYEAR.DECODE.DEFAULT.DEGREES.DENSE_RANK.DIV.DOT_PRODUCT.ELT.EUCLIDEAN_DISTANCE.EXP.EXTRACT.FIELD.FIRST.FIRST_VALUE.FLOOR.FORMAT.FOUND_ROWS.FROM_BASE64.FROM_DAYS.FROM_UNIXTIME.GEOGRAPHY_AREA.GEOGRAPHY_CONTAINS.GEOGRAPHY_DISTANCE.GEOGRAPHY_INTERSECTS.GEOGRAPHY_LATITUDE.GEOGRAPHY_LENGTH.GEOGRAPHY_LONGITUDE.GEOGRAPHY_POINT.GEOGRAPHY_WITHIN_DISTANCE.GEOMETRY_AREA.GEOMETRY_CONTAINS.GEOMETRY_DISTANCE.GEOMETRY_FILTER.GEOMETRY_INTERSECTS.GEOMETRY_LENGTH.GEOMETRY_POINT.GEOMETRY_WITHIN_DISTANCE.GEOMETRY_X.GEOMETRY_Y.GREATEST.GROUPING.GROUP_CONCAT.HEX.HIGHLIGHT.HOUR.ICU_VERSION.IF.IFNULL.INET_ATON.INET_NTOA.INET6_ATON.INET6_NTOA.INITCAP.INSERT.INSTR.INTERVAL.IS.IS NULL.JSON_AGG.JSON_ARRAY_CONTAINS_DOUBLE.JSON_ARRAY_CONTAINS_JSON.JSON_ARRAY_CONTAINS_STRING.JSON_ARRAY_PUSH_DOUBLE.JSON_ARRAY_PUSH_JSON.JSON_ARRAY_PUSH_STRING.JSON_DELETE_KEY.JSON_EXTRACT_DOUBLE.JSON_EXTRACT_JSON.JSON_EXTRACT_STRING.JSON_EXTRACT_BIGINT.JSON_GET_TYPE.JSON_LENGTH.JSON_SET_DOUBLE.JSON_SET_JSON.JSON_SET_STRING.JSON_SPLICE_DOUBLE.JSON_SPLICE_JSON.JSON_SPLICE_STRING.LAG.LAST_DAY.LAST_VALUE.LCASE.LEAD.LEAST.LEFT.LENGTH.LIKE.LN.LOCALTIME.LOCALTIMESTAMP.LOCATE.LOG.LOG10.LOG2.LPAD.LTRIM.MATCH.MAX.MD5.MEDIAN.MICROSECOND.MIN.MINUTE.MOD.MONTH.MONTHNAME.MONTHS_BETWEEN.NOT.NOW.NTH_VALUE.NTILE.NULLIF.OCTET_LENGTH.PERCENT_RANK.PERCENTILE_CONT.PERCENTILE_DISC.PI.PIVOT.POSITION.POW.POWER.QUARTER.QUOTE.RADIANS.RAND.RANK.REGEXP.REPEAT.REPLACE.REVERSE.RIGHT.RLIKE.ROUND.ROW_COUNT.ROW_NUMBER.RPAD.RTRIM.SCALAR.SCHEMA.SEC_TO_TIME.SHA1.SHA2.SIGMOID.SIGN.SIN.SLEEP.SPLIT.SOUNDEX.SOUNDS LIKE.SOURCE_POS_WAIT.SPACE.SQRT.STDDEV.STDDEV_POP.STDDEV_SAMP.STR_TO_DATE.SUBDATE.SUBSTR.SUBSTRING.SUBSTRING_INDEX.SUM.SYS_GUID.TAN.TIME.TIMEDIFF.TIME_BUCKET.TIME_FORMAT.TIMESTAMP.TIMESTAMPADD.TIMESTAMPDIFF.TIME_TO_SEC.TO_BASE64.TO_CHAR.TO_DAYS.TO_JSON.TO_NUMBER.TO_SECONDS.TO_TIMESTAMP.TRIM.TRUNC.TRUNCATE.UCASE.UNHEX.UNIX_TIMESTAMP.UPDATEXML.UPPER.UTC_DATE.UTC_TIME.UTC_TIMESTAMP.UUID.VALUES.VARIANCE.VAR_POP.VAR_SAMP.VECTOR_SUB.VERSION.WEEK.WEEKDAY.WEEKOFYEAR.YEAR".split("."), fi = d(["SELECT [ALL | DISTINCT | DISTINCTROW]"]), pi = d([
1901
+ }, ui = /* @__PURE__ */ "ADD.ALL.ALTER.ANALYZE.AND.AS.ASC.ASENSITIVE.BEFORE.BETWEEN._BINARY.BOTH.BY.CALL.CASCADE.CASE.CHANGE.CHECK.COLLATE.COLUMN.CONDITION.CONSTRAINT.CONTINUE.CONVERT.CREATE.CROSS.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURSOR.DATABASE.DATABASES.DAY_HOUR.DAY_MICROSECOND.DAY_MINUTE.DAY_SECOND.DECLARE.DEFAULT.DELAYED.DELETE.DESC.DESCRIBE.DETERMINISTIC.DISTINCT.DISTINCTROW.DIV.DROP.DUAL.EACH.ELSE.ELSEIF.ENCLOSED.ESCAPED.EXCEPT.EXISTS.EXIT.EXPLAIN.EXTRA_JOIN.FALSE.FETCH.FOR.FORCE.FORCE_COMPILED_MODE.FORCE_INTERPRETER_MODE.FOREIGN.FROM.FULL.FULLTEXT.GRANT.GROUP.HAVING.HEARTBEAT_NO_LOGGING.HIGH_PRIORITY.HOUR_MICROSECOND.HOUR_MINUTE.HOUR_SECOND.IF.IGNORE.IN.INDEX.INFILE.INNER.INOUT.INSENSITIVE.INSERT.IN._INTERNAL_DYNAMIC_TYPECAST.INTERSECT.INTERVAL.INTO.ITERATE.JOIN.KEY.KEYS.KILL.LEADING.LEAVE.LEFT.LIKE.LIMIT.LINES.LOAD.LOCALTIME.LOCALTIMESTAMP.LOCK.LOOP.LOW_PRIORITY.MATCH.MAXVALUE.MINUS.MINUTE_MICROSECOND.MINUTE_SECOND.MOD.MODIFIES.NATURAL.NO_QUERY_REWRITE.NOT.NO_WRITE_TO_BINLOG.NO_QUERY_REWRITE.NULL.ON.OPTIMIZE.OPTION.OPTIONALLY.OR.ORDER.OUT.OUTER.OUTFILE.OVER.PRIMARY.PROCEDURE.PURGE.RANGE.READ.READS.REFERENCES.REGEXP.RELEASE.RENAME.REPEAT.REPLACE.REQUIRE.RESTRICT.RETURN.REVOKE.RIGHT.RIGHT_ANTI_JOIN.RIGHT_SEMI_JOIN.RIGHT_STRAIGHT_JOIN.RLIKE.SCHEMA.SCHEMAS.SECOND_MICROSECOND.SELECT.SEMI_JOIN.SENSITIVE.SEPARATOR.SET.SHOW.SIGNAL.SPATIAL.SPECIFIC.SQL.SQL_BIG_RESULT.SQL_BUFFER_RESULT.SQL_CACHE.SQL_CALC_FOUND_ROWS.SQLEXCEPTION.SQL_NO_CACHE.SQL_NO_LOGGING.SQL_SMALL_RESULT.SQLSTATE.SQLWARNING.STRAIGHT_JOIN.TABLE.TERMINATED.THEN.TO.TRAILING.TRIGGER.TRUE.UNBOUNDED.UNDO.UNION.UNIQUE.UNLOCK.UPDATE.USAGE.USE.USING.UTC_DATE.UTC_TIME.UTC_TIMESTAMP._UTF8.VALUES.WHEN.WHERE.WHILE.WINDOW.WITH.WITHIN.WRITE.XOR.YEAR_MONTH.ZEROFILL".split("."), di = /* @__PURE__ */ "BIGINT.BINARY.BIT.BLOB.CHAR.CHARACTER.DATETIME.DEC.DECIMAL.DOUBLE PRECISION.DOUBLE.ENUM.FIXED.FLOAT.FLOAT4.FLOAT8.INT.INT1.INT2.INT3.INT4.INT8.INTEGER.LONG.LONGBLOB.LONGTEXT.MEDIUMBLOB.MEDIUMINT.MEDIUMTEXT.MIDDLEINT.NATIONAL CHAR.NATIONAL VARCHAR.NUMERIC.PRECISION.REAL.SMALLINT.TEXT.TIME.TIMESTAMP.TINYBLOB.TINYINT.TINYTEXT.UNSIGNED.VARBINARY.VARCHAR.VARCHARACTER.YEAR".split("."), fi = /* @__PURE__ */ "ABS.ACOS.ADDDATE.ADDTIME.AES_DECRYPT.AES_ENCRYPT.ANY_VALUE.APPROX_COUNT_DISTINCT.APPROX_COUNT_DISTINCT_ACCUMULATE.APPROX_COUNT_DISTINCT_COMBINE.APPROX_COUNT_DISTINCT_ESTIMATE.APPROX_GEOGRAPHY_INTERSECTS.APPROX_PERCENTILE.ASCII.ASIN.ATAN.ATAN2.AVG.BIN.BINARY.BIT_AND.BIT_COUNT.BIT_OR.BIT_XOR.CAST.CEIL.CEILING.CHAR.CHARACTER_LENGTH.CHAR_LENGTH.CHARSET.COALESCE.COERCIBILITY.COLLATION.COLLECT.CONCAT.CONCAT_WS.CONNECTION_ID.CONV.CONVERT.CONVERT_TZ.COS.COT.COUNT.CUME_DIST.CURDATE.CURRENT_DATE.CURRENT_ROLE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.CURTIME.DATABASE.DATE.DATE_ADD.DATEDIFF.DATE_FORMAT.DATE_SUB.DATE_TRUNC.DAY.DAYNAME.DAYOFMONTH.DAYOFWEEK.DAYOFYEAR.DECODE.DEFAULT.DEGREES.DENSE_RANK.DIV.DOT_PRODUCT.ELT.EUCLIDEAN_DISTANCE.EXP.EXTRACT.FIELD.FIRST.FIRST_VALUE.FLOOR.FORMAT.FOUND_ROWS.FROM_BASE64.FROM_DAYS.FROM_UNIXTIME.GEOGRAPHY_AREA.GEOGRAPHY_CONTAINS.GEOGRAPHY_DISTANCE.GEOGRAPHY_INTERSECTS.GEOGRAPHY_LATITUDE.GEOGRAPHY_LENGTH.GEOGRAPHY_LONGITUDE.GEOGRAPHY_POINT.GEOGRAPHY_WITHIN_DISTANCE.GEOMETRY_AREA.GEOMETRY_CONTAINS.GEOMETRY_DISTANCE.GEOMETRY_FILTER.GEOMETRY_INTERSECTS.GEOMETRY_LENGTH.GEOMETRY_POINT.GEOMETRY_WITHIN_DISTANCE.GEOMETRY_X.GEOMETRY_Y.GREATEST.GROUPING.GROUP_CONCAT.HEX.HIGHLIGHT.HOUR.ICU_VERSION.IF.IFNULL.INET_ATON.INET_NTOA.INET6_ATON.INET6_NTOA.INITCAP.INSERT.INSTR.INTERVAL.IS.IS NULL.JSON_AGG.JSON_ARRAY_CONTAINS_DOUBLE.JSON_ARRAY_CONTAINS_JSON.JSON_ARRAY_CONTAINS_STRING.JSON_ARRAY_PUSH_DOUBLE.JSON_ARRAY_PUSH_JSON.JSON_ARRAY_PUSH_STRING.JSON_DELETE_KEY.JSON_EXTRACT_DOUBLE.JSON_EXTRACT_JSON.JSON_EXTRACT_STRING.JSON_EXTRACT_BIGINT.JSON_GET_TYPE.JSON_LENGTH.JSON_SET_DOUBLE.JSON_SET_JSON.JSON_SET_STRING.JSON_SPLICE_DOUBLE.JSON_SPLICE_JSON.JSON_SPLICE_STRING.LAG.LAST_DAY.LAST_VALUE.LCASE.LEAD.LEAST.LEFT.LENGTH.LIKE.LN.LOCALTIME.LOCALTIMESTAMP.LOCATE.LOG.LOG10.LOG2.LPAD.LTRIM.MATCH.MAX.MD5.MEDIAN.MICROSECOND.MIN.MINUTE.MOD.MONTH.MONTHNAME.MONTHS_BETWEEN.NOT.NOW.NTH_VALUE.NTILE.NULLIF.OCTET_LENGTH.PERCENT_RANK.PERCENTILE_CONT.PERCENTILE_DISC.PI.PIVOT.POSITION.POW.POWER.QUARTER.QUOTE.RADIANS.RAND.RANK.REGEXP.REPEAT.REPLACE.REVERSE.RIGHT.RLIKE.ROUND.ROW_COUNT.ROW_NUMBER.RPAD.RTRIM.SCALAR.SCHEMA.SEC_TO_TIME.SHA1.SHA2.SIGMOID.SIGN.SIN.SLEEP.SPLIT.SOUNDEX.SOUNDS LIKE.SOURCE_POS_WAIT.SPACE.SQRT.STDDEV.STDDEV_POP.STDDEV_SAMP.STR_TO_DATE.SUBDATE.SUBSTR.SUBSTRING.SUBSTRING_INDEX.SUM.SYS_GUID.TAN.TIME.TIMEDIFF.TIME_BUCKET.TIME_FORMAT.TIMESTAMP.TIMESTAMPADD.TIMESTAMPDIFF.TIME_TO_SEC.TO_BASE64.TO_CHAR.TO_DAYS.TO_JSON.TO_NUMBER.TO_SECONDS.TO_TIMESTAMP.TRIM.TRUNC.TRUNCATE.UCASE.UNHEX.UNIX_TIMESTAMP.UPDATEXML.UPPER.UTC_DATE.UTC_TIME.UTC_TIMESTAMP.UUID.VALUES.VARIANCE.VAR_POP.VAR_SAMP.VECTOR_SUB.VERSION.WEEK.WEEKDAY.WEEKOFYEAR.YEAR".split("."), pi = d(["SELECT [ALL | DISTINCT | DISTINCTROW]"]), mi = d([
1902
1902
  "WITH",
1903
1903
  "FROM",
1904
1904
  "WHERE",
@@ -1915,39 +1915,39 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1915
1915
  "SET",
1916
1916
  "CREATE [OR REPLACE] [TEMPORARY] PROCEDURE [IF NOT EXISTS]",
1917
1917
  "CREATE [OR REPLACE] [EXTERNAL] FUNCTION"
1918
- ]), mi = d(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]), hi = d(/* @__PURE__ */ "CREATE VIEW.UPDATE.DELETE [FROM].DROP [TEMPORARY] TABLE [IF EXISTS].ALTER [ONLINE] TABLE.ADD [COLUMN].ADD [UNIQUE] {INDEX | KEY}.DROP [COLUMN].MODIFY [COLUMN].CHANGE.RENAME [TO | AS].TRUNCATE [TABLE].ADD AGGREGATOR.ADD LEAF.AGGREGATOR SET AS MASTER.ALTER DATABASE.ALTER PIPELINE.ALTER RESOURCE POOL.ALTER USER.ALTER VIEW.ANALYZE TABLE.ATTACH DATABASE.ATTACH LEAF.ATTACH LEAF ALL.BACKUP DATABASE.BINLOG.BOOTSTRAP AGGREGATOR.CACHE INDEX.CALL.CHANGE.CHANGE MASTER TO.CHANGE REPLICATION FILTER.CHANGE REPLICATION SOURCE TO.CHECK BLOB CHECKSUM.CHECK TABLE.CHECKSUM TABLE.CLEAR ORPHAN DATABASES.CLONE.COMMIT.CREATE DATABASE.CREATE GROUP.CREATE INDEX.CREATE LINK.CREATE MILESTONE.CREATE PIPELINE.CREATE RESOURCE POOL.CREATE ROLE.CREATE USER.DEALLOCATE PREPARE.DESCRIBE.DETACH DATABASE.DETACH PIPELINE.DROP DATABASE.DROP FUNCTION.DROP INDEX.DROP LINK.DROP PIPELINE.DROP PROCEDURE.DROP RESOURCE POOL.DROP ROLE.DROP USER.DROP VIEW.EXECUTE.EXPLAIN.FLUSH.FORCE.GRANT.HANDLER.HELP.KILL CONNECTION.KILLALL QUERIES.LOAD DATA.LOAD INDEX INTO CACHE.LOAD XML.LOCK INSTANCE FOR BACKUP.LOCK TABLES.MASTER_POS_WAIT.OPTIMIZE TABLE.PREPARE.PURGE BINARY LOGS.REBALANCE PARTITIONS.RELEASE SAVEPOINT.REMOVE AGGREGATOR.REMOVE LEAF.REPAIR TABLE.REPLACE.REPLICATE DATABASE.RESET.RESET MASTER.RESET PERSIST.RESET REPLICA.RESET SLAVE.RESTART.RESTORE DATABASE.RESTORE REDUNDANCY.REVOKE.ROLLBACK.ROLLBACK TO SAVEPOINT.SAVEPOINT.SET CHARACTER SET.SET DEFAULT ROLE.SET NAMES.SET PASSWORD.SET RESOURCE GROUP.SET ROLE.SET TRANSACTION.SHOW.SHOW CHARACTER SET.SHOW COLLATION.SHOW COLUMNS.SHOW CREATE DATABASE.SHOW CREATE FUNCTION.SHOW CREATE PIPELINE.SHOW CREATE PROCEDURE.SHOW CREATE TABLE.SHOW CREATE USER.SHOW CREATE VIEW.SHOW DATABASES.SHOW ENGINE.SHOW ENGINES.SHOW ERRORS.SHOW FUNCTION CODE.SHOW FUNCTION STATUS.SHOW GRANTS.SHOW INDEX.SHOW MASTER STATUS.SHOW OPEN TABLES.SHOW PLUGINS.SHOW PRIVILEGES.SHOW PROCEDURE CODE.SHOW PROCEDURE STATUS.SHOW PROCESSLIST.SHOW PROFILE.SHOW PROFILES.SHOW RELAYLOG EVENTS.SHOW REPLICA STATUS.SHOW REPLICAS.SHOW SLAVE.SHOW SLAVE HOSTS.SHOW STATUS.SHOW TABLE STATUS.SHOW TABLES.SHOW VARIABLES.SHOW WARNINGS.SHUTDOWN.SNAPSHOT DATABASE.SOURCE_POS_WAIT.START GROUP_REPLICATION.START PIPELINE.START REPLICA.START SLAVE.START TRANSACTION.STOP GROUP_REPLICATION.STOP PIPELINE.STOP REPLICA.STOP REPLICATING.STOP SLAVE.TEST PIPELINE.UNLOCK INSTANCE.UNLOCK TABLES.USE.XA.ITERATE.LEAVE.LOOP.REPEAT.RETURN.WHILE".split(".")), gi = d([
1918
+ ]), hi = d(["CREATE [ROWSTORE] [REFERENCE | TEMPORARY | GLOBAL TEMPORARY] TABLE [IF NOT EXISTS]"]), gi = d(/* @__PURE__ */ "CREATE VIEW.UPDATE.DELETE [FROM].DROP [TEMPORARY] TABLE [IF EXISTS].ALTER [ONLINE] TABLE.ADD [COLUMN].ADD [UNIQUE] {INDEX | KEY}.DROP [COLUMN].MODIFY [COLUMN].CHANGE.RENAME [TO | AS].TRUNCATE [TABLE].ADD AGGREGATOR.ADD LEAF.AGGREGATOR SET AS MASTER.ALTER DATABASE.ALTER PIPELINE.ALTER RESOURCE POOL.ALTER USER.ALTER VIEW.ANALYZE TABLE.ATTACH DATABASE.ATTACH LEAF.ATTACH LEAF ALL.BACKUP DATABASE.BINLOG.BOOTSTRAP AGGREGATOR.CACHE INDEX.CALL.CHANGE.CHANGE MASTER TO.CHANGE REPLICATION FILTER.CHANGE REPLICATION SOURCE TO.CHECK BLOB CHECKSUM.CHECK TABLE.CHECKSUM TABLE.CLEAR ORPHAN DATABASES.CLONE.COMMIT.CREATE DATABASE.CREATE GROUP.CREATE INDEX.CREATE LINK.CREATE MILESTONE.CREATE PIPELINE.CREATE RESOURCE POOL.CREATE ROLE.CREATE USER.DEALLOCATE PREPARE.DESCRIBE.DETACH DATABASE.DETACH PIPELINE.DROP DATABASE.DROP FUNCTION.DROP INDEX.DROP LINK.DROP PIPELINE.DROP PROCEDURE.DROP RESOURCE POOL.DROP ROLE.DROP USER.DROP VIEW.EXECUTE.EXPLAIN.FLUSH.FORCE.GRANT.HANDLER.HELP.KILL CONNECTION.KILLALL QUERIES.LOAD DATA.LOAD INDEX INTO CACHE.LOAD XML.LOCK INSTANCE FOR BACKUP.LOCK TABLES.MASTER_POS_WAIT.OPTIMIZE TABLE.PREPARE.PURGE BINARY LOGS.REBALANCE PARTITIONS.RELEASE SAVEPOINT.REMOVE AGGREGATOR.REMOVE LEAF.REPAIR TABLE.REPLACE.REPLICATE DATABASE.RESET.RESET MASTER.RESET PERSIST.RESET REPLICA.RESET SLAVE.RESTART.RESTORE DATABASE.RESTORE REDUNDANCY.REVOKE.ROLLBACK.ROLLBACK TO SAVEPOINT.SAVEPOINT.SET CHARACTER SET.SET DEFAULT ROLE.SET NAMES.SET PASSWORD.SET RESOURCE GROUP.SET ROLE.SET TRANSACTION.SHOW.SHOW CHARACTER SET.SHOW COLLATION.SHOW COLUMNS.SHOW CREATE DATABASE.SHOW CREATE FUNCTION.SHOW CREATE PIPELINE.SHOW CREATE PROCEDURE.SHOW CREATE TABLE.SHOW CREATE USER.SHOW CREATE VIEW.SHOW DATABASES.SHOW ENGINE.SHOW ENGINES.SHOW ERRORS.SHOW FUNCTION CODE.SHOW FUNCTION STATUS.SHOW GRANTS.SHOW INDEX.SHOW MASTER STATUS.SHOW OPEN TABLES.SHOW PLUGINS.SHOW PRIVILEGES.SHOW PROCEDURE CODE.SHOW PROCEDURE STATUS.SHOW PROCESSLIST.SHOW PROFILE.SHOW PROFILES.SHOW RELAYLOG EVENTS.SHOW REPLICA STATUS.SHOW REPLICAS.SHOW SLAVE.SHOW SLAVE HOSTS.SHOW STATUS.SHOW TABLE STATUS.SHOW TABLES.SHOW VARIABLES.SHOW WARNINGS.SHUTDOWN.SNAPSHOT DATABASE.SOURCE_POS_WAIT.START GROUP_REPLICATION.START PIPELINE.START REPLICA.START SLAVE.START TRANSACTION.STOP GROUP_REPLICATION.STOP PIPELINE.STOP REPLICA.STOP REPLICATING.STOP SLAVE.TEST PIPELINE.UNLOCK INSTANCE.UNLOCK TABLES.USE.XA.ITERATE.LEAVE.LOOP.REPEAT.RETURN.WHILE".split(".")), _i = d([
1919
1919
  "UNION [ALL | DISTINCT]",
1920
1920
  "EXCEPT",
1921
1921
  "INTERSECT",
1922
1922
  "MINUS"
1923
- ]), _i = d([
1923
+ ]), vi = d([
1924
1924
  "JOIN",
1925
1925
  "{LEFT | RIGHT | FULL} [OUTER] JOIN",
1926
1926
  "{INNER | CROSS} JOIN",
1927
1927
  "NATURAL {LEFT | RIGHT} [OUTER] JOIN",
1928
1928
  "STRAIGHT_JOIN"
1929
- ]), vi = d([
1929
+ ]), yi = d([
1930
1930
  "ON DELETE",
1931
1931
  "ON UPDATE",
1932
1932
  "CHARACTER SET",
1933
1933
  "{ROWS | RANGE} BETWEEN",
1934
1934
  "IDENTIFIED BY"
1935
- ]), yi = d([]), bi = {
1935
+ ]), bi = d([]), xi = {
1936
1936
  name: "singlestoredb",
1937
1937
  tokenizerOptions: {
1938
- reservedSelect: fi,
1938
+ reservedSelect: pi,
1939
1939
  reservedClauses: [
1940
- ...pi,
1941
1940
  ...mi,
1942
- ...hi
1941
+ ...hi,
1942
+ ...gi
1943
1943
  ],
1944
- reservedSetOperations: gi,
1945
- reservedJoins: _i,
1946
- reservedKeywordPhrases: vi,
1947
- reservedDataTypePhrases: yi,
1948
- reservedKeywords: li,
1949
- reservedDataTypes: ui,
1950
- reservedFunctionNames: di,
1944
+ reservedSetOperations: _i,
1945
+ reservedJoins: vi,
1946
+ reservedKeywordPhrases: yi,
1947
+ reservedDataTypePhrases: bi,
1948
+ reservedKeywords: ui,
1949
+ reservedDataTypes: di,
1950
+ reservedFunctionNames: fi,
1951
1951
  stringTypes: [
1952
1952
  "\"\"-qq-bs",
1953
1953
  "''-qq-bs",
@@ -1995,10 +1995,10 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
1995
1995
  "::$",
1996
1996
  "::%"
1997
1997
  ],
1998
- onelineClauses: [...mi, ...hi],
1999
- tabularOnelineClauses: hi
1998
+ onelineClauses: [...hi, ...gi],
1999
+ tabularOnelineClauses: gi
2000
2000
  }
2001
- }, xi = /* @__PURE__ */ "ABS.ACOS.ACOSH.ADD_MONTHS.ALL_USER_NAMES.ANY_VALUE.APPROX_COUNT_DISTINCT.APPROX_PERCENTILE.APPROX_PERCENTILE_ACCUMULATE.APPROX_PERCENTILE_COMBINE.APPROX_PERCENTILE_ESTIMATE.APPROX_TOP_K.APPROX_TOP_K_ACCUMULATE.APPROX_TOP_K_COMBINE.APPROX_TOP_K_ESTIMATE.APPROXIMATE_JACCARD_INDEX.APPROXIMATE_SIMILARITY.ARRAY_AGG.ARRAY_APPEND.ARRAY_CAT.ARRAY_COMPACT.ARRAY_CONSTRUCT.ARRAY_CONSTRUCT_COMPACT.ARRAY_CONTAINS.ARRAY_INSERT.ARRAY_INTERSECTION.ARRAY_POSITION.ARRAY_PREPEND.ARRAY_SIZE.ARRAY_SLICE.ARRAY_TO_STRING.ARRAY_UNION_AGG.ARRAY_UNIQUE_AGG.ARRAYS_OVERLAP.AS_ARRAY.AS_BINARY.AS_BOOLEAN.AS_CHAR.AS_VARCHAR.AS_DATE.AS_DECIMAL.AS_NUMBER.AS_DOUBLE.AS_REAL.AS_INTEGER.AS_OBJECT.AS_TIME.AS_TIMESTAMP_LTZ.AS_TIMESTAMP_NTZ.AS_TIMESTAMP_TZ.ASCII.ASIN.ASINH.ATAN.ATAN2.ATANH.AUTO_REFRESH_REGISTRATION_HISTORY.AUTOMATIC_CLUSTERING_HISTORY.AVG.BASE64_DECODE_BINARY.BASE64_DECODE_STRING.BASE64_ENCODE.BIT_LENGTH.BITAND.BITAND_AGG.BITMAP_BIT_POSITION.BITMAP_BUCKET_NUMBER.BITMAP_CONSTRUCT_AGG.BITMAP_COUNT.BITMAP_OR_AGG.BITNOT.BITOR.BITOR_AGG.BITSHIFTLEFT.BITSHIFTRIGHT.BITXOR.BITXOR_AGG.BOOLAND.BOOLAND_AGG.BOOLNOT.BOOLOR.BOOLOR_AGG.BOOLXOR.BOOLXOR_AGG.BUILD_SCOPED_FILE_URL.BUILD_STAGE_FILE_URL.CASE.CAST.CBRT.CEIL.CHARINDEX.CHECK_JSON.CHECK_XML.CHR.CHAR.COALESCE.COLLATE.COLLATION.COMPLETE_TASK_GRAPHS.COMPRESS.CONCAT.CONCAT_WS.CONDITIONAL_CHANGE_EVENT.CONDITIONAL_TRUE_EVENT.CONTAINS.CONVERT_TIMEZONE.COPY_HISTORY.CORR.COS.COSH.COT.COUNT.COUNT_IF.COVAR_POP.COVAR_SAMP.CUME_DIST.CURRENT_ACCOUNT.CURRENT_AVAILABLE_ROLES.CURRENT_CLIENT.CURRENT_DATABASE.CURRENT_DATE.CURRENT_IP_ADDRESS.CURRENT_REGION.CURRENT_ROLE.CURRENT_SCHEMA.CURRENT_SCHEMAS.CURRENT_SECONDARY_ROLES.CURRENT_SESSION.CURRENT_STATEMENT.CURRENT_TASK_GRAPHS.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_TRANSACTION.CURRENT_USER.CURRENT_VERSION.CURRENT_WAREHOUSE.DATA_TRANSFER_HISTORY.DATABASE_REFRESH_HISTORY.DATABASE_REFRESH_PROGRESS.DATABASE_REFRESH_PROGRESS_BY_JOB.DATABASE_STORAGE_USAGE_HISTORY.DATE_FROM_PARTS.DATE_PART.DATE_TRUNC.DATEADD.DATEDIFF.DAYNAME.DECODE.DECOMPRESS_BINARY.DECOMPRESS_STRING.DECRYPT.DECRYPT_RAW.DEGREES.DENSE_RANK.DIV0.EDITDISTANCE.ENCRYPT.ENCRYPT_RAW.ENDSWITH.EQUAL_NULL.EXP.EXPLAIN_JSON.EXTERNAL_FUNCTIONS_HISTORY.EXTERNAL_TABLE_FILES.EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY.EXTRACT.EXTRACT_SEMANTIC_CATEGORIES.FACTORIAL.FILTER.FIRST_VALUE.FLATTEN.FLOOR.GENERATE_COLUMN_DESCRIPTION.GENERATOR.GET.GET_ABSOLUTE_PATH.GET_DDL.GET_IGNORE_CASE.GET_OBJECT_REFERENCES.GET_PATH.GET_PRESIGNED_URL.GET_RELATIVE_PATH.GET_STAGE_LOCATION.GETBIT.GREATEST.GREATEST_IGNORE_NULLS.GROUPING.GROUPING_ID.HASH.HASH_AGG.HAVERSINE.HEX_DECODE_BINARY.HEX_DECODE_STRING.HEX_ENCODE.HLL.HLL_ACCUMULATE.HLL_COMBINE.HLL_ESTIMATE.HLL_EXPORT.HLL_IMPORT.HOUR.MINUTE.SECOND.IDENTIFIER.IFF.IFNULL.ILIKE.ILIKE ANY.INFER_SCHEMA.INITCAP.INSERT.INVOKER_ROLE.INVOKER_SHARE.IS_ARRAY.IS_BINARY.IS_BOOLEAN.IS_CHAR.IS_VARCHAR.IS_DATE.IS_DATE_VALUE.IS_DECIMAL.IS_DOUBLE.IS_REAL.IS_GRANTED_TO_INVOKER_ROLE.IS_INTEGER.IS_NULL_VALUE.IS_OBJECT.IS_ROLE_IN_SESSION.IS_TIME.IS_TIMESTAMP_LTZ.IS_TIMESTAMP_NTZ.IS_TIMESTAMP_TZ.JAROWINKLER_SIMILARITY.JSON_EXTRACT_PATH_TEXT.KURTOSIS.LAG.LAST_DAY.LAST_QUERY_ID.LAST_TRANSACTION.LAST_VALUE.LEAD.LEAST.LEFT.LENGTH.LEN.LIKE.LIKE ALL.LIKE ANY.LISTAGG.LN.LOCALTIME.LOCALTIMESTAMP.LOG.LOGIN_HISTORY.LOGIN_HISTORY_BY_USER.LOWER.LPAD.LTRIM.MATERIALIZED_VIEW_REFRESH_HISTORY.MD5.MD5_HEX.MD5_BINARY.MD5_NUMBER — Obsoleted.MD5_NUMBER_LOWER64.MD5_NUMBER_UPPER64.MEDIAN.MIN.MAX.MINHASH.MINHASH_COMBINE.MOD.MODE.MONTHNAME.MONTHS_BETWEEN.NEXT_DAY.NORMAL.NTH_VALUE.NTILE.NULLIF.NULLIFZERO.NVL.NVL2.OBJECT_AGG.OBJECT_CONSTRUCT.OBJECT_CONSTRUCT_KEEP_NULL.OBJECT_DELETE.OBJECT_INSERT.OBJECT_KEYS.OBJECT_PICK.OCTET_LENGTH.PARSE_IP.PARSE_JSON.PARSE_URL.PARSE_XML.PERCENT_RANK.PERCENTILE_CONT.PERCENTILE_DISC.PI.PIPE_USAGE_HISTORY.POLICY_CONTEXT.POLICY_REFERENCES.POSITION.POW.POWER.PREVIOUS_DAY.QUERY_ACCELERATION_HISTORY.QUERY_HISTORY.QUERY_HISTORY_BY_SESSION.QUERY_HISTORY_BY_USER.QUERY_HISTORY_BY_WAREHOUSE.RADIANS.RANDOM.RANDSTR.RANK.RATIO_TO_REPORT.REGEXP.REGEXP_COUNT.REGEXP_INSTR.REGEXP_LIKE.REGEXP_REPLACE.REGEXP_SUBSTR.REGEXP_SUBSTR_ALL.REGR_AVGX.REGR_AVGY.REGR_COUNT.REGR_INTERCEPT.REGR_R2.REGR_SLOPE.REGR_SXX.REGR_SXY.REGR_SYY.REGR_VALX.REGR_VALY.REPEAT.REPLACE.REPLICATION_GROUP_REFRESH_HISTORY.REPLICATION_GROUP_REFRESH_PROGRESS.REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB.REPLICATION_GROUP_USAGE_HISTORY.REPLICATION_USAGE_HISTORY.REST_EVENT_HISTORY.RESULT_SCAN.REVERSE.RIGHT.RLIKE.ROUND.ROW_NUMBER.RPAD.RTRIM.RTRIMMED_LENGTH.SEARCH_OPTIMIZATION_HISTORY.SEQ1.SEQ2.SEQ4.SEQ8.SERVERLESS_TASK_HISTORY.SHA1.SHA1_HEX.SHA1_BINARY.SHA2.SHA2_HEX.SHA2_BINARY.SIGN.SIN.SINH.SKEW.SOUNDEX.SPACE.SPLIT.SPLIT_PART.SPLIT_TO_TABLE.SQRT.SQUARE.ST_AREA.ST_ASEWKB.ST_ASEWKT.ST_ASGEOJSON.ST_ASWKB.ST_ASBINARY.ST_ASWKT.ST_ASTEXT.ST_AZIMUTH.ST_CENTROID.ST_COLLECT.ST_CONTAINS.ST_COVEREDBY.ST_COVERS.ST_DIFFERENCE.ST_DIMENSION.ST_DISJOINT.ST_DISTANCE.ST_DWITHIN.ST_ENDPOINT.ST_ENVELOPE.ST_GEOGFROMGEOHASH.ST_GEOGPOINTFROMGEOHASH.ST_GEOGRAPHYFROMWKB.ST_GEOGRAPHYFROMWKT.ST_GEOHASH.ST_GEOMETRYFROMWKB.ST_GEOMETRYFROMWKT.ST_HAUSDORFFDISTANCE.ST_INTERSECTION.ST_INTERSECTS.ST_LENGTH.ST_MAKEGEOMPOINT.ST_GEOM_POINT.ST_MAKELINE.ST_MAKEPOINT.ST_POINT.ST_MAKEPOLYGON.ST_POLYGON.ST_NPOINTS.ST_NUMPOINTS.ST_PERIMETER.ST_POINTN.ST_SETSRID.ST_SIMPLIFY.ST_SRID.ST_STARTPOINT.ST_SYMDIFFERENCE.ST_UNION.ST_WITHIN.ST_X.ST_XMAX.ST_XMIN.ST_Y.ST_YMAX.ST_YMIN.STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY.STAGE_STORAGE_USAGE_HISTORY.STARTSWITH.STDDEV.STDDEV_POP.STDDEV_SAMP.STRIP_NULL_VALUE.STRTOK.STRTOK_SPLIT_TO_TABLE.STRTOK_TO_ARRAY.SUBSTR.SUBSTRING.SUM.SYSDATE.SYSTEM$ABORT_SESSION.SYSTEM$ABORT_TRANSACTION.SYSTEM$AUTHORIZE_PRIVATELINK.SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS.SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS.SYSTEM$CANCEL_ALL_QUERIES.SYSTEM$CANCEL_QUERY.SYSTEM$CLUSTERING_DEPTH.SYSTEM$CLUSTERING_INFORMATION.SYSTEM$CLUSTERING_RATIO .SYSTEM$CURRENT_USER_TASK_NAME.SYSTEM$DATABASE_REFRESH_HISTORY .SYSTEM$DATABASE_REFRESH_PROGRESS.SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB .SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE.SYSTEM$DISABLE_DATABASE_REPLICATION.SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE.SYSTEM$ESTIMATE_QUERY_ACCELERATION.SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS.SYSTEM$EXPLAIN_JSON_TO_TEXT.SYSTEM$EXPLAIN_PLAN_JSON.SYSTEM$EXTERNAL_TABLE_PIPE_STATUS.SYSTEM$GENERATE_SAML_CSR.SYSTEM$GENERATE_SCIM_ACCESS_TOKEN.SYSTEM$GET_AWS_SNS_IAM_POLICY.SYSTEM$GET_PREDECESSOR_RETURN_VALUE.SYSTEM$GET_PRIVATELINK.SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS.SYSTEM$GET_PRIVATELINK_CONFIG.SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO.SYSTEM$GET_TAG.SYSTEM$GET_TAG_ALLOWED_VALUES.SYSTEM$GET_TAG_ON_CURRENT_COLUMN.SYSTEM$GET_TAG_ON_CURRENT_TABLE.SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER.SYSTEM$LAST_CHANGE_COMMIT_TIME.SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME.SYSTEM$MIGRATE_SAML_IDP_REGISTRATION.SYSTEM$PIPE_FORCE_RESUME.SYSTEM$PIPE_STATUS.SYSTEM$REVOKE_PRIVATELINK.SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS.SYSTEM$SET_RETURN_VALUE.SYSTEM$SHOW_OAUTH_CLIENT_SECRETS.SYSTEM$STREAM_GET_TABLE_TIMESTAMP.SYSTEM$STREAM_HAS_DATA.SYSTEM$TASK_DEPENDENTS_ENABLE.SYSTEM$TYPEOF.SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS.SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN.SYSTEM$WAIT.SYSTEM$WHITELIST.SYSTEM$WHITELIST_PRIVATELINK.TAG_REFERENCES.TAG_REFERENCES_ALL_COLUMNS.TAG_REFERENCES_WITH_LINEAGE.TAN.TANH.TASK_DEPENDENTS.TASK_HISTORY.TIME_FROM_PARTS.TIME_SLICE.TIMEADD.TIMEDIFF.TIMESTAMP_FROM_PARTS.TIMESTAMPADD.TIMESTAMPDIFF.TO_ARRAY.TO_BINARY.TO_BOOLEAN.TO_CHAR.TO_VARCHAR.TO_DATE.DATE.TO_DECIMAL.TO_NUMBER.TO_NUMERIC.TO_DOUBLE.TO_GEOGRAPHY.TO_GEOMETRY.TO_JSON.TO_OBJECT.TO_TIME.TIME.TO_TIMESTAMP.TO_TIMESTAMP_LTZ.TO_TIMESTAMP_NTZ.TO_TIMESTAMP_TZ.TO_VARIANT.TO_XML.TRANSLATE.TRIM.TRUNCATE.TRUNC.TRUNC.TRY_BASE64_DECODE_BINARY.TRY_BASE64_DECODE_STRING.TRY_CAST.TRY_HEX_DECODE_BINARY.TRY_HEX_DECODE_STRING.TRY_PARSE_JSON.TRY_TO_BINARY.TRY_TO_BOOLEAN.TRY_TO_DATE.TRY_TO_DECIMAL.TRY_TO_NUMBER.TRY_TO_NUMERIC.TRY_TO_DOUBLE.TRY_TO_GEOGRAPHY.TRY_TO_GEOMETRY.TRY_TO_TIME.TRY_TO_TIMESTAMP.TRY_TO_TIMESTAMP_LTZ.TRY_TO_TIMESTAMP_NTZ.TRY_TO_TIMESTAMP_TZ.TYPEOF.UNICODE.UNIFORM.UPPER.UUID_STRING.VALIDATE.VALIDATE_PIPE_LOAD.VAR_POP.VAR_SAMP.VARIANCE.VARIANCE_SAMP.VARIANCE_POP.WAREHOUSE_LOAD_HISTORY.WAREHOUSE_METERING_HISTORY.WIDTH_BUCKET.XMLGET.YEAR.YEAROFWEEK.YEAROFWEEKISO.DAY.DAYOFMONTH.DAYOFWEEK.DAYOFWEEKISO.DAYOFYEAR.WEEK.WEEK.WEEKOFYEAR.WEEKISO.MONTH.QUARTER.ZEROIFNULL.ZIPF".split("."), Si = /* @__PURE__ */ "ACCOUNT.ALL.ALTER.AND.ANY.AS.BETWEEN.BY.CASE.CAST.CHECK.COLUMN.CONNECT.CONNECTION.CONSTRAINT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.DATABASE.DELETE.DISTINCT.DROP.ELSE.EXISTS.FALSE.FOLLOWING.FOR.FROM.FULL.GRANT.GROUP.GSCLUSTER.HAVING.ILIKE.IN.INCREMENT.INNER.INSERT.INTERSECT.INTO.IS.ISSUE.JOIN.LATERAL.LEFT.LIKE.LOCALTIME.LOCALTIMESTAMP.MINUS.NATURAL.NOT.NULL.OF.ON.OR.ORDER.ORGANIZATION.QUALIFY.REGEXP.REVOKE.RIGHT.RLIKE.ROW.ROWS.SAMPLE.SCHEMA.SELECT.SET.SOME.START.TABLE.TABLESAMPLE.THEN.TO.TRIGGER.TRUE.TRY_CAST.UNION.UNIQUE.UPDATE.USING.VALUES.VIEW.WHEN.WHENEVER.WHERE.WITH.COMMENT".split("."), Ci = /* @__PURE__ */ "NUMBER.DECIMAL.NUMERIC.INT.INTEGER.BIGINT.SMALLINT.TINYINT.BYTEINT.FLOAT.FLOAT4.FLOAT8.DOUBLE.DOUBLE PRECISION.REAL.VARCHAR.CHAR.CHARACTER.STRING.TEXT.BINARY.VARBINARY.BOOLEAN.DATE.DATETIME.TIME.TIMESTAMP.TIMESTAMP_LTZ.TIMESTAMP_NTZ.TIMESTAMP.TIMESTAMP_TZ.VARIANT.OBJECT.ARRAY.GEOGRAPHY.GEOMETRY".split("."), wi = d(["SELECT [ALL | DISTINCT]"]), Ti = d([
2001
+ }, Si = /* @__PURE__ */ "ABS.ACOS.ACOSH.ADD_MONTHS.ALL_USER_NAMES.ANY_VALUE.APPROX_COUNT_DISTINCT.APPROX_PERCENTILE.APPROX_PERCENTILE_ACCUMULATE.APPROX_PERCENTILE_COMBINE.APPROX_PERCENTILE_ESTIMATE.APPROX_TOP_K.APPROX_TOP_K_ACCUMULATE.APPROX_TOP_K_COMBINE.APPROX_TOP_K_ESTIMATE.APPROXIMATE_JACCARD_INDEX.APPROXIMATE_SIMILARITY.ARRAY_AGG.ARRAY_APPEND.ARRAY_CAT.ARRAY_COMPACT.ARRAY_CONSTRUCT.ARRAY_CONSTRUCT_COMPACT.ARRAY_CONTAINS.ARRAY_INSERT.ARRAY_INTERSECTION.ARRAY_POSITION.ARRAY_PREPEND.ARRAY_SIZE.ARRAY_SLICE.ARRAY_TO_STRING.ARRAY_UNION_AGG.ARRAY_UNIQUE_AGG.ARRAYS_OVERLAP.AS_ARRAY.AS_BINARY.AS_BOOLEAN.AS_CHAR.AS_VARCHAR.AS_DATE.AS_DECIMAL.AS_NUMBER.AS_DOUBLE.AS_REAL.AS_INTEGER.AS_OBJECT.AS_TIME.AS_TIMESTAMP_LTZ.AS_TIMESTAMP_NTZ.AS_TIMESTAMP_TZ.ASCII.ASIN.ASINH.ATAN.ATAN2.ATANH.AUTO_REFRESH_REGISTRATION_HISTORY.AUTOMATIC_CLUSTERING_HISTORY.AVG.BASE64_DECODE_BINARY.BASE64_DECODE_STRING.BASE64_ENCODE.BIT_LENGTH.BITAND.BITAND_AGG.BITMAP_BIT_POSITION.BITMAP_BUCKET_NUMBER.BITMAP_CONSTRUCT_AGG.BITMAP_COUNT.BITMAP_OR_AGG.BITNOT.BITOR.BITOR_AGG.BITSHIFTLEFT.BITSHIFTRIGHT.BITXOR.BITXOR_AGG.BOOLAND.BOOLAND_AGG.BOOLNOT.BOOLOR.BOOLOR_AGG.BOOLXOR.BOOLXOR_AGG.BUILD_SCOPED_FILE_URL.BUILD_STAGE_FILE_URL.CASE.CAST.CBRT.CEIL.CHARINDEX.CHECK_JSON.CHECK_XML.CHR.CHAR.COALESCE.COLLATE.COLLATION.COMPLETE_TASK_GRAPHS.COMPRESS.CONCAT.CONCAT_WS.CONDITIONAL_CHANGE_EVENT.CONDITIONAL_TRUE_EVENT.CONTAINS.CONVERT_TIMEZONE.COPY_HISTORY.CORR.COS.COSH.COT.COUNT.COUNT_IF.COVAR_POP.COVAR_SAMP.CUME_DIST.CURRENT_ACCOUNT.CURRENT_AVAILABLE_ROLES.CURRENT_CLIENT.CURRENT_DATABASE.CURRENT_DATE.CURRENT_IP_ADDRESS.CURRENT_REGION.CURRENT_ROLE.CURRENT_SCHEMA.CURRENT_SCHEMAS.CURRENT_SECONDARY_ROLES.CURRENT_SESSION.CURRENT_STATEMENT.CURRENT_TASK_GRAPHS.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_TRANSACTION.CURRENT_USER.CURRENT_VERSION.CURRENT_WAREHOUSE.DATA_TRANSFER_HISTORY.DATABASE_REFRESH_HISTORY.DATABASE_REFRESH_PROGRESS.DATABASE_REFRESH_PROGRESS_BY_JOB.DATABASE_STORAGE_USAGE_HISTORY.DATE_FROM_PARTS.DATE_PART.DATE_TRUNC.DATEADD.DATEDIFF.DAYNAME.DECODE.DECOMPRESS_BINARY.DECOMPRESS_STRING.DECRYPT.DECRYPT_RAW.DEGREES.DENSE_RANK.DIV0.EDITDISTANCE.ENCRYPT.ENCRYPT_RAW.ENDSWITH.EQUAL_NULL.EXP.EXPLAIN_JSON.EXTERNAL_FUNCTIONS_HISTORY.EXTERNAL_TABLE_FILES.EXTERNAL_TABLE_FILE_REGISTRATION_HISTORY.EXTRACT.EXTRACT_SEMANTIC_CATEGORIES.FACTORIAL.FILTER.FIRST_VALUE.FLATTEN.FLOOR.GENERATE_COLUMN_DESCRIPTION.GENERATOR.GET.GET_ABSOLUTE_PATH.GET_DDL.GET_IGNORE_CASE.GET_OBJECT_REFERENCES.GET_PATH.GET_PRESIGNED_URL.GET_RELATIVE_PATH.GET_STAGE_LOCATION.GETBIT.GREATEST.GREATEST_IGNORE_NULLS.GROUPING.GROUPING_ID.HASH.HASH_AGG.HAVERSINE.HEX_DECODE_BINARY.HEX_DECODE_STRING.HEX_ENCODE.HLL.HLL_ACCUMULATE.HLL_COMBINE.HLL_ESTIMATE.HLL_EXPORT.HLL_IMPORT.HOUR.MINUTE.SECOND.IDENTIFIER.IFF.IFNULL.ILIKE.ILIKE ANY.INFER_SCHEMA.INITCAP.INSERT.INVOKER_ROLE.INVOKER_SHARE.IS_ARRAY.IS_BINARY.IS_BOOLEAN.IS_CHAR.IS_VARCHAR.IS_DATE.IS_DATE_VALUE.IS_DECIMAL.IS_DOUBLE.IS_REAL.IS_GRANTED_TO_INVOKER_ROLE.IS_INTEGER.IS_NULL_VALUE.IS_OBJECT.IS_ROLE_IN_SESSION.IS_TIME.IS_TIMESTAMP_LTZ.IS_TIMESTAMP_NTZ.IS_TIMESTAMP_TZ.JAROWINKLER_SIMILARITY.JSON_EXTRACT_PATH_TEXT.KURTOSIS.LAG.LAST_DAY.LAST_QUERY_ID.LAST_TRANSACTION.LAST_VALUE.LEAD.LEAST.LEFT.LENGTH.LEN.LIKE.LIKE ALL.LIKE ANY.LISTAGG.LN.LOCALTIME.LOCALTIMESTAMP.LOG.LOGIN_HISTORY.LOGIN_HISTORY_BY_USER.LOWER.LPAD.LTRIM.MATERIALIZED_VIEW_REFRESH_HISTORY.MD5.MD5_HEX.MD5_BINARY.MD5_NUMBER — Obsoleted.MD5_NUMBER_LOWER64.MD5_NUMBER_UPPER64.MEDIAN.MIN.MAX.MINHASH.MINHASH_COMBINE.MOD.MODE.MONTHNAME.MONTHS_BETWEEN.NEXT_DAY.NORMAL.NTH_VALUE.NTILE.NULLIF.NULLIFZERO.NVL.NVL2.OBJECT_AGG.OBJECT_CONSTRUCT.OBJECT_CONSTRUCT_KEEP_NULL.OBJECT_DELETE.OBJECT_INSERT.OBJECT_KEYS.OBJECT_PICK.OCTET_LENGTH.PARSE_IP.PARSE_JSON.PARSE_URL.PARSE_XML.PERCENT_RANK.PERCENTILE_CONT.PERCENTILE_DISC.PI.PIPE_USAGE_HISTORY.POLICY_CONTEXT.POLICY_REFERENCES.POSITION.POW.POWER.PREVIOUS_DAY.QUERY_ACCELERATION_HISTORY.QUERY_HISTORY.QUERY_HISTORY_BY_SESSION.QUERY_HISTORY_BY_USER.QUERY_HISTORY_BY_WAREHOUSE.RADIANS.RANDOM.RANDSTR.RANK.RATIO_TO_REPORT.REGEXP.REGEXP_COUNT.REGEXP_INSTR.REGEXP_LIKE.REGEXP_REPLACE.REGEXP_SUBSTR.REGEXP_SUBSTR_ALL.REGR_AVGX.REGR_AVGY.REGR_COUNT.REGR_INTERCEPT.REGR_R2.REGR_SLOPE.REGR_SXX.REGR_SXY.REGR_SYY.REGR_VALX.REGR_VALY.REPEAT.REPLACE.REPLICATION_GROUP_REFRESH_HISTORY.REPLICATION_GROUP_REFRESH_PROGRESS.REPLICATION_GROUP_REFRESH_PROGRESS_BY_JOB.REPLICATION_GROUP_USAGE_HISTORY.REPLICATION_USAGE_HISTORY.REST_EVENT_HISTORY.RESULT_SCAN.REVERSE.RIGHT.RLIKE.ROUND.ROW_NUMBER.RPAD.RTRIM.RTRIMMED_LENGTH.SEARCH_OPTIMIZATION_HISTORY.SEQ1.SEQ2.SEQ4.SEQ8.SERVERLESS_TASK_HISTORY.SHA1.SHA1_HEX.SHA1_BINARY.SHA2.SHA2_HEX.SHA2_BINARY.SIGN.SIN.SINH.SKEW.SOUNDEX.SPACE.SPLIT.SPLIT_PART.SPLIT_TO_TABLE.SQRT.SQUARE.ST_AREA.ST_ASEWKB.ST_ASEWKT.ST_ASGEOJSON.ST_ASWKB.ST_ASBINARY.ST_ASWKT.ST_ASTEXT.ST_AZIMUTH.ST_CENTROID.ST_COLLECT.ST_CONTAINS.ST_COVEREDBY.ST_COVERS.ST_DIFFERENCE.ST_DIMENSION.ST_DISJOINT.ST_DISTANCE.ST_DWITHIN.ST_ENDPOINT.ST_ENVELOPE.ST_GEOGFROMGEOHASH.ST_GEOGPOINTFROMGEOHASH.ST_GEOGRAPHYFROMWKB.ST_GEOGRAPHYFROMWKT.ST_GEOHASH.ST_GEOMETRYFROMWKB.ST_GEOMETRYFROMWKT.ST_HAUSDORFFDISTANCE.ST_INTERSECTION.ST_INTERSECTS.ST_LENGTH.ST_MAKEGEOMPOINT.ST_GEOM_POINT.ST_MAKELINE.ST_MAKEPOINT.ST_POINT.ST_MAKEPOLYGON.ST_POLYGON.ST_NPOINTS.ST_NUMPOINTS.ST_PERIMETER.ST_POINTN.ST_SETSRID.ST_SIMPLIFY.ST_SRID.ST_STARTPOINT.ST_SYMDIFFERENCE.ST_UNION.ST_WITHIN.ST_X.ST_XMAX.ST_XMIN.ST_Y.ST_YMAX.ST_YMIN.STAGE_DIRECTORY_FILE_REGISTRATION_HISTORY.STAGE_STORAGE_USAGE_HISTORY.STARTSWITH.STDDEV.STDDEV_POP.STDDEV_SAMP.STRIP_NULL_VALUE.STRTOK.STRTOK_SPLIT_TO_TABLE.STRTOK_TO_ARRAY.SUBSTR.SUBSTRING.SUM.SYSDATE.SYSTEM$ABORT_SESSION.SYSTEM$ABORT_TRANSACTION.SYSTEM$AUTHORIZE_PRIVATELINK.SYSTEM$AUTHORIZE_STAGE_PRIVATELINK_ACCESS.SYSTEM$BEHAVIOR_CHANGE_BUNDLE_STATUS.SYSTEM$CANCEL_ALL_QUERIES.SYSTEM$CANCEL_QUERY.SYSTEM$CLUSTERING_DEPTH.SYSTEM$CLUSTERING_INFORMATION.SYSTEM$CLUSTERING_RATIO .SYSTEM$CURRENT_USER_TASK_NAME.SYSTEM$DATABASE_REFRESH_HISTORY .SYSTEM$DATABASE_REFRESH_PROGRESS.SYSTEM$DATABASE_REFRESH_PROGRESS_BY_JOB .SYSTEM$DISABLE_BEHAVIOR_CHANGE_BUNDLE.SYSTEM$DISABLE_DATABASE_REPLICATION.SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE.SYSTEM$ESTIMATE_QUERY_ACCELERATION.SYSTEM$ESTIMATE_SEARCH_OPTIMIZATION_COSTS.SYSTEM$EXPLAIN_JSON_TO_TEXT.SYSTEM$EXPLAIN_PLAN_JSON.SYSTEM$EXTERNAL_TABLE_PIPE_STATUS.SYSTEM$GENERATE_SAML_CSR.SYSTEM$GENERATE_SCIM_ACCESS_TOKEN.SYSTEM$GET_AWS_SNS_IAM_POLICY.SYSTEM$GET_PREDECESSOR_RETURN_VALUE.SYSTEM$GET_PRIVATELINK.SYSTEM$GET_PRIVATELINK_AUTHORIZED_ENDPOINTS.SYSTEM$GET_PRIVATELINK_CONFIG.SYSTEM$GET_SNOWFLAKE_PLATFORM_INFO.SYSTEM$GET_TAG.SYSTEM$GET_TAG_ALLOWED_VALUES.SYSTEM$GET_TAG_ON_CURRENT_COLUMN.SYSTEM$GET_TAG_ON_CURRENT_TABLE.SYSTEM$GLOBAL_ACCOUNT_SET_PARAMETER.SYSTEM$LAST_CHANGE_COMMIT_TIME.SYSTEM$LINK_ACCOUNT_OBJECTS_BY_NAME.SYSTEM$MIGRATE_SAML_IDP_REGISTRATION.SYSTEM$PIPE_FORCE_RESUME.SYSTEM$PIPE_STATUS.SYSTEM$REVOKE_PRIVATELINK.SYSTEM$REVOKE_STAGE_PRIVATELINK_ACCESS.SYSTEM$SET_RETURN_VALUE.SYSTEM$SHOW_OAUTH_CLIENT_SECRETS.SYSTEM$STREAM_GET_TABLE_TIMESTAMP.SYSTEM$STREAM_HAS_DATA.SYSTEM$TASK_DEPENDENTS_ENABLE.SYSTEM$TYPEOF.SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS.SYSTEM$VERIFY_EXTERNAL_OAUTH_TOKEN.SYSTEM$WAIT.SYSTEM$WHITELIST.SYSTEM$WHITELIST_PRIVATELINK.TAG_REFERENCES.TAG_REFERENCES_ALL_COLUMNS.TAG_REFERENCES_WITH_LINEAGE.TAN.TANH.TASK_DEPENDENTS.TASK_HISTORY.TIME_FROM_PARTS.TIME_SLICE.TIMEADD.TIMEDIFF.TIMESTAMP_FROM_PARTS.TIMESTAMPADD.TIMESTAMPDIFF.TO_ARRAY.TO_BINARY.TO_BOOLEAN.TO_CHAR.TO_VARCHAR.TO_DATE.DATE.TO_DECIMAL.TO_NUMBER.TO_NUMERIC.TO_DOUBLE.TO_GEOGRAPHY.TO_GEOMETRY.TO_JSON.TO_OBJECT.TO_TIME.TIME.TO_TIMESTAMP.TO_TIMESTAMP_LTZ.TO_TIMESTAMP_NTZ.TO_TIMESTAMP_TZ.TO_VARIANT.TO_XML.TRANSLATE.TRIM.TRUNCATE.TRUNC.TRUNC.TRY_BASE64_DECODE_BINARY.TRY_BASE64_DECODE_STRING.TRY_CAST.TRY_HEX_DECODE_BINARY.TRY_HEX_DECODE_STRING.TRY_PARSE_JSON.TRY_TO_BINARY.TRY_TO_BOOLEAN.TRY_TO_DATE.TRY_TO_DECIMAL.TRY_TO_NUMBER.TRY_TO_NUMERIC.TRY_TO_DOUBLE.TRY_TO_GEOGRAPHY.TRY_TO_GEOMETRY.TRY_TO_TIME.TRY_TO_TIMESTAMP.TRY_TO_TIMESTAMP_LTZ.TRY_TO_TIMESTAMP_NTZ.TRY_TO_TIMESTAMP_TZ.TYPEOF.UNICODE.UNIFORM.UPPER.UUID_STRING.VALIDATE.VALIDATE_PIPE_LOAD.VAR_POP.VAR_SAMP.VARIANCE.VARIANCE_SAMP.VARIANCE_POP.WAREHOUSE_LOAD_HISTORY.WAREHOUSE_METERING_HISTORY.WIDTH_BUCKET.XMLGET.YEAR.YEAROFWEEK.YEAROFWEEKISO.DAY.DAYOFMONTH.DAYOFWEEK.DAYOFWEEKISO.DAYOFYEAR.WEEK.WEEK.WEEKOFYEAR.WEEKISO.MONTH.QUARTER.ZEROIFNULL.ZIPF".split("."), Ci = /* @__PURE__ */ "ACCOUNT.ALL.ALTER.AND.ANY.AS.BETWEEN.BY.CASE.CAST.CHECK.COLUMN.CONNECT.CONNECTION.CONSTRAINT.CREATE.CROSS.CURRENT.CURRENT_DATE.CURRENT_TIME.CURRENT_TIMESTAMP.CURRENT_USER.DATABASE.DELETE.DISTINCT.DROP.ELSE.EXISTS.FALSE.FOLLOWING.FOR.FROM.FULL.GRANT.GROUP.GSCLUSTER.HAVING.ILIKE.IN.INCREMENT.INNER.INSERT.INTERSECT.INTO.IS.ISSUE.JOIN.LATERAL.LEFT.LIKE.LOCALTIME.LOCALTIMESTAMP.MINUS.NATURAL.NOT.NULL.OF.ON.OR.ORDER.ORGANIZATION.QUALIFY.REGEXP.REVOKE.RIGHT.RLIKE.ROW.ROWS.SAMPLE.SCHEMA.SELECT.SET.SOME.START.TABLE.TABLESAMPLE.THEN.TO.TRIGGER.TRUE.TRY_CAST.UNION.UNIQUE.UPDATE.USING.VALUES.VIEW.WHEN.WHENEVER.WHERE.WITH.COMMENT".split("."), wi = /* @__PURE__ */ "NUMBER.DECIMAL.NUMERIC.INT.INTEGER.BIGINT.SMALLINT.TINYINT.BYTEINT.FLOAT.FLOAT4.FLOAT8.DOUBLE.DOUBLE PRECISION.REAL.VARCHAR.CHAR.CHARACTER.STRING.TEXT.BINARY.VARBINARY.BOOLEAN.DATE.DATETIME.TIME.TIMESTAMP.TIMESTAMP_LTZ.TIMESTAMP_NTZ.TIMESTAMP.TIMESTAMP_TZ.VARIANT.OBJECT.ARRAY.GEOGRAPHY.GEOMETRY".split("."), Ti = d(["SELECT [ALL | DISTINCT]"]), Ei = d([
2002
2002
  "WITH [RECURSIVE]",
2003
2003
  "FROM",
2004
2004
  "WHERE",
@@ -2022,31 +2022,31 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
2022
2022
  "WHEN MATCHED [AND]",
2023
2023
  "THEN {UPDATE SET | DELETE}",
2024
2024
  "WHEN NOT MATCHED THEN INSERT"
2025
- ]), Ei = d(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]", "CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]), Di = d(/* @__PURE__ */ "CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS].UPDATE.DELETE FROM.DROP TABLE [IF EXISTS].ALTER TABLE [IF EXISTS].RENAME TO.SWAP WITH.[SUSPEND | RESUME] RECLUSTER.DROP CLUSTERING KEY.ADD [COLUMN].RENAME COLUMN.{ALTER | MODIFY} [COLUMN].DROP [COLUMN].{ADD | ALTER | MODIFY | DROP} [CONSTRAINT].RENAME CONSTRAINT.{ADD | DROP} SEARCH OPTIMIZATION.{SET | UNSET} TAG.{ADD | DROP} ROW ACCESS POLICY.DROP ALL ROW ACCESS POLICIES.{SET | DROP} DEFAULT.{SET | DROP} NOT NULL.SET DATA TYPE.UNSET COMMENT.{SET | UNSET} MASKING POLICY.TRUNCATE [TABLE] [IF EXISTS].ALTER ACCOUNT.ALTER API INTEGRATION.ALTER CONNECTION.ALTER DATABASE.ALTER EXTERNAL TABLE.ALTER FAILOVER GROUP.ALTER FILE FORMAT.ALTER FUNCTION.ALTER INTEGRATION.ALTER MASKING POLICY.ALTER MATERIALIZED VIEW.ALTER NETWORK POLICY.ALTER NOTIFICATION INTEGRATION.ALTER PIPE.ALTER PROCEDURE.ALTER REPLICATION GROUP.ALTER RESOURCE MONITOR.ALTER ROLE.ALTER ROW ACCESS POLICY.ALTER SCHEMA.ALTER SECURITY INTEGRATION.ALTER SEQUENCE.ALTER SESSION.ALTER SESSION POLICY.ALTER SHARE.ALTER STAGE.ALTER STORAGE INTEGRATION.ALTER STREAM.ALTER TAG.ALTER TASK.ALTER USER.ALTER VIEW.ALTER WAREHOUSE.BEGIN.CALL.COMMIT.COPY INTO.CREATE ACCOUNT.CREATE API INTEGRATION.CREATE CONNECTION.CREATE DATABASE.CREATE EXTERNAL FUNCTION.CREATE EXTERNAL TABLE.CREATE FAILOVER GROUP.CREATE FILE FORMAT.CREATE FUNCTION.CREATE INTEGRATION.CREATE MANAGED ACCOUNT.CREATE MASKING POLICY.CREATE MATERIALIZED VIEW.CREATE NETWORK POLICY.CREATE NOTIFICATION INTEGRATION.CREATE PIPE.CREATE PROCEDURE.CREATE REPLICATION GROUP.CREATE RESOURCE MONITOR.CREATE ROLE.CREATE ROW ACCESS POLICY.CREATE SCHEMA.CREATE SECURITY INTEGRATION.CREATE SEQUENCE.CREATE SESSION POLICY.CREATE SHARE.CREATE STAGE.CREATE STORAGE INTEGRATION.CREATE STREAM.CREATE TAG.CREATE TASK.CREATE USER.CREATE WAREHOUSE.DELETE.DESCRIBE DATABASE.DESCRIBE EXTERNAL TABLE.DESCRIBE FILE FORMAT.DESCRIBE FUNCTION.DESCRIBE INTEGRATION.DESCRIBE MASKING POLICY.DESCRIBE MATERIALIZED VIEW.DESCRIBE NETWORK POLICY.DESCRIBE PIPE.DESCRIBE PROCEDURE.DESCRIBE RESULT.DESCRIBE ROW ACCESS POLICY.DESCRIBE SCHEMA.DESCRIBE SEQUENCE.DESCRIBE SESSION POLICY.DESCRIBE SHARE.DESCRIBE STAGE.DESCRIBE STREAM.DESCRIBE TABLE.DESCRIBE TASK.DESCRIBE TRANSACTION.DESCRIBE USER.DESCRIBE VIEW.DESCRIBE WAREHOUSE.DROP CONNECTION.DROP DATABASE.DROP EXTERNAL TABLE.DROP FAILOVER GROUP.DROP FILE FORMAT.DROP FUNCTION.DROP INTEGRATION.DROP MANAGED ACCOUNT.DROP MASKING POLICY.DROP MATERIALIZED VIEW.DROP NETWORK POLICY.DROP PIPE.DROP PROCEDURE.DROP REPLICATION GROUP.DROP RESOURCE MONITOR.DROP ROLE.DROP ROW ACCESS POLICY.DROP SCHEMA.DROP SEQUENCE.DROP SESSION POLICY.DROP SHARE.DROP STAGE.DROP STREAM.DROP TAG.DROP TASK.DROP USER.DROP VIEW.DROP WAREHOUSE.EXECUTE IMMEDIATE.EXECUTE TASK.EXPLAIN.GET.GRANT OWNERSHIP.GRANT ROLE.INSERT.LIST.MERGE.PUT.REMOVE.REVOKE ROLE.ROLLBACK.SHOW COLUMNS.SHOW CONNECTIONS.SHOW DATABASES.SHOW DATABASES IN FAILOVER GROUP.SHOW DATABASES IN REPLICATION GROUP.SHOW DELEGATED AUTHORIZATIONS.SHOW EXTERNAL FUNCTIONS.SHOW EXTERNAL TABLES.SHOW FAILOVER GROUPS.SHOW FILE FORMATS.SHOW FUNCTIONS.SHOW GLOBAL ACCOUNTS.SHOW GRANTS.SHOW INTEGRATIONS.SHOW LOCKS.SHOW MANAGED ACCOUNTS.SHOW MASKING POLICIES.SHOW MATERIALIZED VIEWS.SHOW NETWORK POLICIES.SHOW OBJECTS.SHOW ORGANIZATION ACCOUNTS.SHOW PARAMETERS.SHOW PIPES.SHOW PRIMARY KEYS.SHOW PROCEDURES.SHOW REGIONS.SHOW REPLICATION ACCOUNTS.SHOW REPLICATION DATABASES.SHOW REPLICATION GROUPS.SHOW RESOURCE MONITORS.SHOW ROLES.SHOW ROW ACCESS POLICIES.SHOW SCHEMAS.SHOW SEQUENCES.SHOW SESSION POLICIES.SHOW SHARES.SHOW SHARES IN FAILOVER GROUP.SHOW SHARES IN REPLICATION GROUP.SHOW STAGES.SHOW STREAMS.SHOW TABLES.SHOW TAGS.SHOW TASKS.SHOW TRANSACTIONS.SHOW USER FUNCTIONS.SHOW USERS.SHOW VARIABLES.SHOW VIEWS.SHOW WAREHOUSES.TRUNCATE MATERIALIZED VIEW.UNDROP DATABASE.UNDROP SCHEMA.UNDROP TABLE.UNDROP TAG.UNSET.USE DATABASE.USE ROLE.USE SCHEMA.USE SECONDARY ROLES.USE WAREHOUSE".split(".")), Oi = d([
2025
+ ]), Di = d(["CREATE [OR REPLACE] [VOLATILE] TABLE [IF NOT EXISTS]", "CREATE [OR REPLACE] [LOCAL | GLOBAL] {TEMP|TEMPORARY} TABLE [IF NOT EXISTS]"]), Oi = d(/* @__PURE__ */ "CREATE [OR REPLACE] [SECURE] [RECURSIVE] VIEW [IF NOT EXISTS].UPDATE.DELETE FROM.DROP TABLE [IF EXISTS].ALTER TABLE [IF EXISTS].RENAME TO.SWAP WITH.[SUSPEND | RESUME] RECLUSTER.DROP CLUSTERING KEY.ADD [COLUMN].RENAME COLUMN.{ALTER | MODIFY} [COLUMN].DROP [COLUMN].{ADD | ALTER | MODIFY | DROP} [CONSTRAINT].RENAME CONSTRAINT.{ADD | DROP} SEARCH OPTIMIZATION.{SET | UNSET} TAG.{ADD | DROP} ROW ACCESS POLICY.DROP ALL ROW ACCESS POLICIES.{SET | DROP} DEFAULT.{SET | DROP} NOT NULL.SET DATA TYPE.UNSET COMMENT.{SET | UNSET} MASKING POLICY.TRUNCATE [TABLE] [IF EXISTS].ALTER ACCOUNT.ALTER API INTEGRATION.ALTER CONNECTION.ALTER DATABASE.ALTER EXTERNAL TABLE.ALTER FAILOVER GROUP.ALTER FILE FORMAT.ALTER FUNCTION.ALTER INTEGRATION.ALTER MASKING POLICY.ALTER MATERIALIZED VIEW.ALTER NETWORK POLICY.ALTER NOTIFICATION INTEGRATION.ALTER PIPE.ALTER PROCEDURE.ALTER REPLICATION GROUP.ALTER RESOURCE MONITOR.ALTER ROLE.ALTER ROW ACCESS POLICY.ALTER SCHEMA.ALTER SECURITY INTEGRATION.ALTER SEQUENCE.ALTER SESSION.ALTER SESSION POLICY.ALTER SHARE.ALTER STAGE.ALTER STORAGE INTEGRATION.ALTER STREAM.ALTER TAG.ALTER TASK.ALTER USER.ALTER VIEW.ALTER WAREHOUSE.BEGIN.CALL.COMMIT.COPY INTO.CREATE ACCOUNT.CREATE API INTEGRATION.CREATE CONNECTION.CREATE DATABASE.CREATE EXTERNAL FUNCTION.CREATE EXTERNAL TABLE.CREATE FAILOVER GROUP.CREATE FILE FORMAT.CREATE FUNCTION.CREATE INTEGRATION.CREATE MANAGED ACCOUNT.CREATE MASKING POLICY.CREATE MATERIALIZED VIEW.CREATE NETWORK POLICY.CREATE NOTIFICATION INTEGRATION.CREATE PIPE.CREATE PROCEDURE.CREATE REPLICATION GROUP.CREATE RESOURCE MONITOR.CREATE ROLE.CREATE ROW ACCESS POLICY.CREATE SCHEMA.CREATE SECURITY INTEGRATION.CREATE SEQUENCE.CREATE SESSION POLICY.CREATE SHARE.CREATE STAGE.CREATE STORAGE INTEGRATION.CREATE STREAM.CREATE TAG.CREATE TASK.CREATE USER.CREATE WAREHOUSE.DELETE.DESCRIBE DATABASE.DESCRIBE EXTERNAL TABLE.DESCRIBE FILE FORMAT.DESCRIBE FUNCTION.DESCRIBE INTEGRATION.DESCRIBE MASKING POLICY.DESCRIBE MATERIALIZED VIEW.DESCRIBE NETWORK POLICY.DESCRIBE PIPE.DESCRIBE PROCEDURE.DESCRIBE RESULT.DESCRIBE ROW ACCESS POLICY.DESCRIBE SCHEMA.DESCRIBE SEQUENCE.DESCRIBE SESSION POLICY.DESCRIBE SHARE.DESCRIBE STAGE.DESCRIBE STREAM.DESCRIBE TABLE.DESCRIBE TASK.DESCRIBE TRANSACTION.DESCRIBE USER.DESCRIBE VIEW.DESCRIBE WAREHOUSE.DROP CONNECTION.DROP DATABASE.DROP EXTERNAL TABLE.DROP FAILOVER GROUP.DROP FILE FORMAT.DROP FUNCTION.DROP INTEGRATION.DROP MANAGED ACCOUNT.DROP MASKING POLICY.DROP MATERIALIZED VIEW.DROP NETWORK POLICY.DROP PIPE.DROP PROCEDURE.DROP REPLICATION GROUP.DROP RESOURCE MONITOR.DROP ROLE.DROP ROW ACCESS POLICY.DROP SCHEMA.DROP SEQUENCE.DROP SESSION POLICY.DROP SHARE.DROP STAGE.DROP STREAM.DROP TAG.DROP TASK.DROP USER.DROP VIEW.DROP WAREHOUSE.EXECUTE IMMEDIATE.EXECUTE TASK.EXPLAIN.GET.GRANT OWNERSHIP.GRANT ROLE.INSERT.LIST.MERGE.PUT.REMOVE.REVOKE ROLE.ROLLBACK.SHOW COLUMNS.SHOW CONNECTIONS.SHOW DATABASES.SHOW DATABASES IN FAILOVER GROUP.SHOW DATABASES IN REPLICATION GROUP.SHOW DELEGATED AUTHORIZATIONS.SHOW EXTERNAL FUNCTIONS.SHOW EXTERNAL TABLES.SHOW FAILOVER GROUPS.SHOW FILE FORMATS.SHOW FUNCTIONS.SHOW GLOBAL ACCOUNTS.SHOW GRANTS.SHOW INTEGRATIONS.SHOW LOCKS.SHOW MANAGED ACCOUNTS.SHOW MASKING POLICIES.SHOW MATERIALIZED VIEWS.SHOW NETWORK POLICIES.SHOW OBJECTS.SHOW ORGANIZATION ACCOUNTS.SHOW PARAMETERS.SHOW PIPES.SHOW PRIMARY KEYS.SHOW PROCEDURES.SHOW REGIONS.SHOW REPLICATION ACCOUNTS.SHOW REPLICATION DATABASES.SHOW REPLICATION GROUPS.SHOW RESOURCE MONITORS.SHOW ROLES.SHOW ROW ACCESS POLICIES.SHOW SCHEMAS.SHOW SEQUENCES.SHOW SESSION POLICIES.SHOW SHARES.SHOW SHARES IN FAILOVER GROUP.SHOW SHARES IN REPLICATION GROUP.SHOW STAGES.SHOW STREAMS.SHOW TABLES.SHOW TAGS.SHOW TASKS.SHOW TRANSACTIONS.SHOW USER FUNCTIONS.SHOW USERS.SHOW VARIABLES.SHOW VIEWS.SHOW WAREHOUSES.TRUNCATE MATERIALIZED VIEW.UNDROP DATABASE.UNDROP SCHEMA.UNDROP TABLE.UNDROP TAG.UNSET.USE DATABASE.USE ROLE.USE SCHEMA.USE SECONDARY ROLES.USE WAREHOUSE".split(".")), ki = d([
2026
2026
  "UNION [ALL]",
2027
2027
  "MINUS",
2028
2028
  "EXCEPT",
2029
2029
  "INTERSECT"
2030
- ]), ki = d([
2030
+ ]), Ai = d([
2031
2031
  "[INNER] JOIN",
2032
2032
  "[NATURAL] {LEFT | RIGHT | FULL} [OUTER] JOIN",
2033
2033
  "{CROSS | NATURAL} JOIN"
2034
- ]), Ai = d(["{ROWS | RANGE} BETWEEN", "ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]), ji = d([]), Mi = {
2034
+ ]), ji = d(["{ROWS | RANGE} BETWEEN", "ON {UPDATE | DELETE} [SET NULL | SET DEFAULT]"]), Mi = d([]), Ni = {
2035
2035
  name: "snowflake",
2036
2036
  tokenizerOptions: {
2037
- reservedSelect: wi,
2037
+ reservedSelect: Ti,
2038
2038
  reservedClauses: [
2039
- ...Ti,
2040
2039
  ...Ei,
2041
- ...Di
2040
+ ...Di,
2041
+ ...Oi
2042
2042
  ],
2043
- reservedSetOperations: Oi,
2044
- reservedJoins: ki,
2045
- reservedKeywordPhrases: Ai,
2046
- reservedDataTypePhrases: ji,
2047
- reservedKeywords: Si,
2048
- reservedDataTypes: Ci,
2049
- reservedFunctionNames: xi,
2043
+ reservedSetOperations: ki,
2044
+ reservedJoins: Ai,
2045
+ reservedKeywordPhrases: ji,
2046
+ reservedDataTypePhrases: Mi,
2047
+ reservedKeywords: Ci,
2048
+ reservedDataTypes: wi,
2049
+ reservedFunctionNames: Si,
2050
2050
  stringTypes: ["$$", "''-qq-bs"],
2051
2051
  identTypes: ["\"\"-qq"],
2052
2052
  variableTypes: [{ regex: "[$][1-9]\\d*" }, { regex: "[$][_a-zA-Z][_a-zA-Z0-9$]*" }],
@@ -2065,10 +2065,10 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
2065
2065
  },
2066
2066
  formatOptions: {
2067
2067
  alwaysDenseOperators: ["::"],
2068
- onelineClauses: [...Ei, ...Di],
2069
- tabularOnelineClauses: Di
2068
+ onelineClauses: [...Di, ...Oi],
2069
+ tabularOnelineClauses: Oi
2070
2070
  }
2071
- }, Ni = /* @__PURE__ */ s({
2071
+ }, Pi = /* @__PURE__ */ s({
2072
2072
  bigquery: () => ye,
2073
2073
  clickhouse: () => Fe,
2074
2074
  db2: () => Je,
@@ -2081,32 +2081,32 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
2081
2081
  plsql: () => Fn,
2082
2082
  postgresql: () => Jn,
2083
2083
  redshift: () => or,
2084
- singlestoredb: () => bi,
2085
- snowflake: () => Mi,
2086
- spark: () => _r,
2087
- sql: () => Br,
2088
- sqlite: () => kr,
2084
+ singlestoredb: () => xi,
2085
+ snowflake: () => Ni,
2086
+ spark: () => vr,
2087
+ sql: () => Vr,
2088
+ sqlite: () => Ar,
2089
2089
  tidb: () => fn,
2090
- transactsql: () => ci,
2091
- trino: () => Zr
2092
- }), O = (e) => e[e.length - 1], Pi = (e) => e.sort((e, t) => t.length - e.length || e.localeCompare(t)), k = (e) => e.replace(/\s+/gu, " "), Fi = (e) => /\n/.test(e), A = (e) => e.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&"), Ii = /\s+/uy, j = (e) => RegExp(`(?:${e})`, "uy"), Li = (e) => e.split("").map((e) => / /gu.test(e) ? "\\s+" : `[${e.toUpperCase()}${e.toLowerCase()}]`).join(""), Ri = (e) => e + "(?:-" + e + ")*", zi = ({ prefixes: e, requirePrefix: t }) => `(?:${e.map(Li).join("|")}${t ? "" : "|"})`, Bi = (e) => RegExp(`(?:${e.map(A).join("|")}).*?(?=\r\n|\r|\n|$)`, "uy"), Vi = (e, t = []) => {
2090
+ transactsql: () => li,
2091
+ trino: () => Qr
2092
+ }), D = (e) => e[e.length - 1], Fi = (e) => e.sort((e, t) => t.length - e.length || e.localeCompare(t)), O = (e) => e.replace(/\s+/gu, " "), Ii = (e) => /\n/.test(e), k = (e) => e.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&"), Li = /\s+/uy, A = (e) => RegExp(`(?:${e})`, "uy"), Ri = (e) => e.split("").map((e) => / /gu.test(e) ? "\\s+" : `[${e.toUpperCase()}${e.toLowerCase()}]`).join(""), zi = (e) => e + "(?:-" + e + ")*", Bi = ({ prefixes: e, requirePrefix: t }) => `(?:${e.map(Ri).join("|")}${t ? "" : "|"})`, Vi = (e) => RegExp(`(?:${e.map(k).join("|")}).*?(?=\r\n|\r|\n|$)`, "uy"), Hi = (e, t = []) => {
2093
2093
  let n = e === "open" ? 0 : 1;
2094
- return j(["()", ...t].map((e) => e[n]).map(A).join("|"));
2095
- }, Hi = (e) => j(`${Pi(e).map(A).join("|")}`), Ui = ({ rest: e, dashes: t }) => e || t ? `(?![${e || ""}${t ? "-" : ""}])` : "", M = (e, t = {}) => {
2094
+ return A(["()", ...t].map((e) => e[n]).map(k).join("|"));
2095
+ }, Ui = (e) => A(`${Fi(e).map(k).join("|")}`), Wi = ({ rest: e, dashes: t }) => e || t ? `(?![${e || ""}${t ? "-" : ""}])` : "", j = (e, t = {}) => {
2096
2096
  if (e.length === 0) return /^\b$/u;
2097
- let n = Ui(t), r = Pi(e).map(A).join("|").replace(/ /gu, "\\s+");
2097
+ let n = Wi(t), r = Fi(e).map(k).join("|").replace(/ /gu, "\\s+");
2098
2098
  return RegExp(`(?:${r})${n}\\b`, "iuy");
2099
- }, Wi = (e, t) => {
2100
- if (e.length) return j(`(?:${e.map(A).join("|")})(?:${t})`);
2101
- }, Gi = () => {
2099
+ }, Gi = (e, t) => {
2100
+ if (e.length) return A(`(?:${e.map(k).join("|")})(?:${t})`);
2101
+ }, Ki = () => {
2102
2102
  let e = {
2103
2103
  "<": ">",
2104
2104
  "[": "]",
2105
2105
  "(": ")",
2106
2106
  "{": "}"
2107
- }, t = Object.entries(e).map(([e, t]) => "{left}(?:(?!{right}').)*?{right}".replace(/{left}/g, A(e)).replace(/{right}/g, A(t))), n = A(Object.keys(e).join(""));
2107
+ }, t = Object.entries(e).map(([e, t]) => "{left}(?:(?!{right}').)*?{right}".replace(/{left}/g, k(e)).replace(/{right}/g, k(t))), n = k(Object.keys(e).join(""));
2108
2108
  return `[Qq]'(?:${String.raw`(?<tag>[^\s${n}])(?:(?!\k<tag>').)*?\k<tag>`}|${t.join("|")})'`;
2109
- }, Ki = {
2109
+ }, qi = {
2110
2110
  "``": "(?:`[^`]*`)+",
2111
2111
  "[]": String.raw`(?:\[[^\]]*\])(?:\][^\]]*\])*`,
2112
2112
  "\"\"-qq": String.raw`(?:"[^"]*")+`,
@@ -2121,14 +2121,14 @@ var yr = /* @__PURE__ */ "ABS.CHANGES.CHAR.COALESCE.FORMAT.GLOB.HEX.IFNULL.IIF.I
2121
2121
  "'''..'''": String.raw`'''[^\\]*?(?:\\.[^\\]*?)*?'''`,
2122
2122
  "\"\"\"..\"\"\"": String.raw`"""[^\\]*?(?:\\.[^\\]*?)*?"""`,
2123
2123
  "{}": String.raw`(?:\{[^\}]*\})`,
2124
- "q''": Gi()
2125
- }, qi = (e) => typeof e == "string" ? Ki[e] : "regex" in e ? e.regex : zi(e) + Ki[e.quote], Ji = (e) => j(e.map((e) => "regex" in e ? e.regex : qi(e)).join("|")), Yi = (e) => e.map(qi).join("|"), Xi = (e) => j(Yi(e)), Zi = (e = {}) => j(Qi(e)), Qi = ({ first: e, rest: t, dashes: n, allowFirstCharNumber: r } = {}) => {
2126
- let i = "\\p{Alphabetic}\\p{Mark}_", a = "\\p{Decimal_Number}", o = A(e ?? ""), s = A(t ?? ""), c = r ? `[${i}${a}${o}][${i}${a}${s}]*` : `[${i}${o}][${i}${a}${s}]*`;
2127
- return n ? Ri(c) : c;
2124
+ "q''": Ki()
2125
+ }, Ji = (e) => typeof e == "string" ? qi[e] : "regex" in e ? e.regex : Bi(e) + qi[e.quote], Yi = (e) => A(e.map((e) => "regex" in e ? e.regex : Ji(e)).join("|")), Xi = (e) => e.map(Ji).join("|"), Zi = (e) => A(Xi(e)), Qi = (e = {}) => A($i(e)), $i = ({ first: e, rest: t, dashes: n, allowFirstCharNumber: r } = {}) => {
2126
+ let i = "\\p{Alphabetic}\\p{Mark}_", a = "\\p{Decimal_Number}", o = k(e ?? ""), s = k(t ?? ""), c = r ? `[${i}${a}${o}][${i}${a}${s}]*` : `[${i}${o}][${i}${a}${s}]*`;
2127
+ return n ? zi(c) : c;
2128
2128
  };
2129
2129
  //#endregion
2130
2130
  //#region node_modules/sql-formatter/dist/esm/lexer/lineColFromIndex.js
2131
- function $i(e, t) {
2131
+ function ea(e, t) {
2132
2132
  let n = e.slice(0, t).split(/\n/);
2133
2133
  return {
2134
2134
  line: n.length,
@@ -2137,7 +2137,7 @@ function $i(e, t) {
2137
2137
  }
2138
2138
  //#endregion
2139
2139
  //#region node_modules/sql-formatter/dist/esm/lexer/TokenizerEngine.js
2140
- var ea = class {
2140
+ var ta = class {
2141
2141
  constructor(e, t) {
2142
2142
  this.rules = e, this.dialectName = t, this.input = "", this.index = 0;
2143
2143
  }
@@ -2154,15 +2154,15 @@ var ea = class {
2154
2154
  return t;
2155
2155
  }
2156
2156
  createParseError() {
2157
- let e = this.input.slice(this.index, this.index + 10), { line: t, col: n } = $i(this.input, this.index);
2157
+ let e = this.input.slice(this.index, this.index + 10), { line: t, col: n } = ea(this.input, this.index);
2158
2158
  return /* @__PURE__ */ Error(`Parse error: Unexpected "${e}" at line ${t} column ${n}.\n${this.dialectInfo()}`);
2159
2159
  }
2160
2160
  dialectInfo() {
2161
2161
  return this.dialectName === "sql" ? "This likely happens because you're using the default \"sql\" dialect.\nIf possible, please select a more specific dialect (like sqlite, postgresql, etc)." : `SQL dialect used: "${this.dialectName}".`;
2162
2162
  }
2163
2163
  getWhitespace() {
2164
- Ii.lastIndex = this.index;
2165
- let e = Ii.exec(this.input);
2164
+ Li.lastIndex = this.index;
2165
+ let e = Li.exec(this.input);
2166
2166
  if (e) return this.index += e[0].length, e[0];
2167
2167
  }
2168
2168
  getNextToken() {
@@ -2184,17 +2184,17 @@ var ea = class {
2184
2184
  return e.key && (r.key = e.key(n)), this.index += n.length, r;
2185
2185
  }
2186
2186
  }
2187
- }, ta = /\/\*/uy, na = /[\s\S]/uy, ra = /\*\//uy, ia = class {
2187
+ }, na = /\/\*/uy, ra = /[\s\S]/uy, ia = /\*\//uy, aa = class {
2188
2188
  constructor() {
2189
2189
  this.lastIndex = 0;
2190
2190
  }
2191
2191
  exec(e) {
2192
2192
  let t = "", n, r = 0;
2193
- if (n = this.matchSection(ta, e)) t += n, r++;
2193
+ if (n = this.matchSection(na, e)) t += n, r++;
2194
2194
  else return null;
2195
- for (; r > 0;) if (n = this.matchSection(ta, e)) t += n, r++;
2196
- else if (n = this.matchSection(ra, e)) t += n, r--;
2197
- else if (n = this.matchSection(na, e)) t += n;
2195
+ for (; r > 0;) if (n = this.matchSection(na, e)) t += n, r++;
2196
+ else if (n = this.matchSection(ia, e)) t += n, r--;
2197
+ else if (n = this.matchSection(ra, e)) t += n;
2198
2198
  else return null;
2199
2199
  return [t];
2200
2200
  }
@@ -2203,12 +2203,12 @@ var ea = class {
2203
2203
  let n = e.exec(t);
2204
2204
  return n && (this.lastIndex += n[0].length), n ? n[0] : null;
2205
2205
  }
2206
- }, aa = class {
2206
+ }, oa = class {
2207
2207
  constructor(e, t) {
2208
2208
  this.cfg = e, this.dialectName = t, this.rulesBeforeParams = this.buildRulesBeforeParams(e), this.rulesAfterParams = this.buildRulesAfterParams(e);
2209
2209
  }
2210
2210
  tokenize(e, t) {
2211
- let n = new ea([
2211
+ let n = new ta([
2212
2212
  ...this.rulesBeforeParams,
2213
2213
  ...this.buildParamRules(this.cfg, t),
2214
2214
  ...this.rulesAfterParams
@@ -2223,15 +2223,15 @@ var ea = class {
2223
2223
  },
2224
2224
  {
2225
2225
  type: _.BLOCK_COMMENT,
2226
- regex: e.nestedBlockComments ? new ia() : /(\/\*[^]*?\*\/)/uy
2226
+ regex: e.nestedBlockComments ? new aa() : /(\/\*[^]*?\*\/)/uy
2227
2227
  },
2228
2228
  {
2229
2229
  type: _.LINE_COMMENT,
2230
- regex: Bi(e.lineCommentTypes ?? ["--"])
2230
+ regex: Vi(e.lineCommentTypes ?? ["--"])
2231
2231
  },
2232
2232
  {
2233
2233
  type: _.QUOTED_IDENTIFIER,
2234
- regex: Xi(e.identTypes)
2234
+ regex: Zi(e.identTypes)
2235
2235
  },
2236
2236
  {
2237
2237
  type: _.NUMBER,
@@ -2239,83 +2239,83 @@ var ea = class {
2239
2239
  },
2240
2240
  {
2241
2241
  type: _.RESERVED_KEYWORD_PHRASE,
2242
- regex: M(e.reservedKeywordPhrases ?? [], e.identChars),
2243
- text: N
2242
+ regex: j(e.reservedKeywordPhrases ?? [], e.identChars),
2243
+ text: M
2244
2244
  },
2245
2245
  {
2246
2246
  type: _.RESERVED_DATA_TYPE_PHRASE,
2247
- regex: M(e.reservedDataTypePhrases ?? [], e.identChars),
2248
- text: N
2247
+ regex: j(e.reservedDataTypePhrases ?? [], e.identChars),
2248
+ text: M
2249
2249
  },
2250
2250
  {
2251
2251
  type: _.CASE,
2252
2252
  regex: /CASE\b/iuy,
2253
- text: N
2253
+ text: M
2254
2254
  },
2255
2255
  {
2256
2256
  type: _.END,
2257
2257
  regex: /END\b/iuy,
2258
- text: N
2258
+ text: M
2259
2259
  },
2260
2260
  {
2261
2261
  type: _.BETWEEN,
2262
2262
  regex: /BETWEEN\b/iuy,
2263
- text: N
2263
+ text: M
2264
2264
  },
2265
2265
  {
2266
2266
  type: _.LIMIT,
2267
2267
  regex: e.reservedClauses.includes("LIMIT") ? /LIMIT\b/iuy : void 0,
2268
- text: N
2268
+ text: M
2269
2269
  },
2270
2270
  {
2271
2271
  type: _.RESERVED_CLAUSE,
2272
- regex: M(e.reservedClauses, e.identChars),
2273
- text: N
2272
+ regex: j(e.reservedClauses, e.identChars),
2273
+ text: M
2274
2274
  },
2275
2275
  {
2276
2276
  type: _.RESERVED_SELECT,
2277
- regex: M(e.reservedSelect, e.identChars),
2278
- text: N
2277
+ regex: j(e.reservedSelect, e.identChars),
2278
+ text: M
2279
2279
  },
2280
2280
  {
2281
2281
  type: _.RESERVED_SET_OPERATION,
2282
- regex: M(e.reservedSetOperations, e.identChars),
2283
- text: N
2282
+ regex: j(e.reservedSetOperations, e.identChars),
2283
+ text: M
2284
2284
  },
2285
2285
  {
2286
2286
  type: _.WHEN,
2287
2287
  regex: /WHEN\b/iuy,
2288
- text: N
2288
+ text: M
2289
2289
  },
2290
2290
  {
2291
2291
  type: _.ELSE,
2292
2292
  regex: /ELSE\b/iuy,
2293
- text: N
2293
+ text: M
2294
2294
  },
2295
2295
  {
2296
2296
  type: _.THEN,
2297
2297
  regex: /THEN\b/iuy,
2298
- text: N
2298
+ text: M
2299
2299
  },
2300
2300
  {
2301
2301
  type: _.RESERVED_JOIN,
2302
- regex: M(e.reservedJoins, e.identChars),
2303
- text: N
2302
+ regex: j(e.reservedJoins, e.identChars),
2303
+ text: M
2304
2304
  },
2305
2305
  {
2306
2306
  type: _.AND,
2307
2307
  regex: /AND\b/iuy,
2308
- text: N
2308
+ text: M
2309
2309
  },
2310
2310
  {
2311
2311
  type: _.OR,
2312
2312
  regex: /OR\b/iuy,
2313
- text: N
2313
+ text: M
2314
2314
  },
2315
2315
  {
2316
2316
  type: _.XOR,
2317
2317
  regex: e.supportsXor ? /XOR\b/iuy : void 0,
2318
- text: N
2318
+ text: M
2319
2319
  },
2320
2320
  ...e.operatorKeyword ? [{
2321
2321
  type: _.OPERATOR,
@@ -2323,18 +2323,18 @@ var ea = class {
2323
2323
  }] : [],
2324
2324
  {
2325
2325
  type: _.RESERVED_FUNCTION_NAME,
2326
- regex: M(e.reservedFunctionNames, e.identChars),
2327
- text: N
2326
+ regex: j(e.reservedFunctionNames, e.identChars),
2327
+ text: M
2328
2328
  },
2329
2329
  {
2330
2330
  type: _.RESERVED_DATA_TYPE,
2331
- regex: M(e.reservedDataTypes, e.identChars),
2332
- text: N
2331
+ regex: j(e.reservedDataTypes, e.identChars),
2332
+ text: M
2333
2333
  },
2334
2334
  {
2335
2335
  type: _.RESERVED_KEYWORD,
2336
- regex: M(e.reservedKeywords, e.identChars),
2337
- text: N
2336
+ regex: j(e.reservedKeywords, e.identChars),
2337
+ text: M
2338
2338
  }
2339
2339
  ]);
2340
2340
  }
@@ -2342,15 +2342,15 @@ var ea = class {
2342
2342
  return this.validRules([
2343
2343
  {
2344
2344
  type: _.VARIABLE,
2345
- regex: e.variableTypes ? Ji(e.variableTypes) : void 0
2345
+ regex: e.variableTypes ? Yi(e.variableTypes) : void 0
2346
2346
  },
2347
2347
  {
2348
2348
  type: _.STRING,
2349
- regex: Xi(e.stringTypes)
2349
+ regex: Zi(e.stringTypes)
2350
2350
  },
2351
2351
  {
2352
2352
  type: _.IDENTIFIER,
2353
- regex: Zi(e.identChars)
2353
+ regex: Qi(e.identChars)
2354
2354
  },
2355
2355
  {
2356
2356
  type: _.DELIMITER,
@@ -2362,15 +2362,15 @@ var ea = class {
2362
2362
  },
2363
2363
  {
2364
2364
  type: _.OPEN_PAREN,
2365
- regex: Vi("open", e.extraParens)
2365
+ regex: Hi("open", e.extraParens)
2366
2366
  },
2367
2367
  {
2368
2368
  type: _.CLOSE_PAREN,
2369
- regex: Vi("close", e.extraParens)
2369
+ regex: Hi("close", e.extraParens)
2370
2370
  },
2371
2371
  {
2372
2372
  type: _.OPERATOR,
2373
- regex: Hi([
2373
+ regex: Ui([
2374
2374
  "+",
2375
2375
  "-",
2376
2376
  "/",
@@ -2390,7 +2390,7 @@ var ea = class {
2390
2390
  },
2391
2391
  {
2392
2392
  type: _.PROPERTY_ACCESS_OPERATOR,
2393
- regex: Hi([".", ...e.propertyAccessOperators ?? []])
2393
+ regex: Ui([".", ...e.propertyAccessOperators ?? []])
2394
2394
  }
2395
2395
  ]);
2396
2396
  }
@@ -2405,20 +2405,20 @@ var ea = class {
2405
2405
  return this.validRules([
2406
2406
  {
2407
2407
  type: _.NAMED_PARAMETER,
2408
- regex: Wi(n.named, Qi(e.paramChars || e.identChars)),
2408
+ regex: Gi(n.named, $i(e.paramChars || e.identChars)),
2409
2409
  key: (e) => e.slice(1)
2410
2410
  },
2411
2411
  {
2412
2412
  type: _.QUOTED_PARAMETER,
2413
- regex: Wi(n.quoted, Yi(e.identTypes)),
2414
- key: (e) => (({ tokenKey: e, quoteChar: t }) => e.replace(new RegExp(A("\\" + t), "gu"), t))({
2413
+ regex: Gi(n.quoted, Xi(e.identTypes)),
2414
+ key: (e) => (({ tokenKey: e, quoteChar: t }) => e.replace(new RegExp(k("\\" + t), "gu"), t))({
2415
2415
  tokenKey: e.slice(2, -1),
2416
2416
  quoteChar: e.slice(-1)
2417
2417
  })
2418
2418
  },
2419
2419
  {
2420
2420
  type: _.NUMBERED_PARAMETER,
2421
- regex: Wi(n.numbered, "[0-9]+"),
2421
+ regex: Gi(n.numbered, "[0-9]+"),
2422
2422
  key: (e) => e.slice(1)
2423
2423
  },
2424
2424
  {
@@ -2427,7 +2427,7 @@ var ea = class {
2427
2427
  },
2428
2428
  ...n.custom.map((e) => ({
2429
2429
  type: _.CUSTOM_PARAMETER,
2430
- regex: j(e.regex),
2430
+ regex: A(e.regex),
2431
2431
  key: e.key ?? ((e) => e)
2432
2432
  }))
2433
2433
  ]);
@@ -2435,28 +2435,28 @@ var ea = class {
2435
2435
  validRules(e) {
2436
2436
  return e.filter((e) => !!e.regex);
2437
2437
  }
2438
- }, N = (e) => k(e.toUpperCase()), oa = /* @__PURE__ */ new Map(), sa = (e) => {
2439
- let t = oa.get(e);
2440
- return t || (t = ca(e), oa.set(e, t)), t;
2441
- }, ca = (e) => ({
2442
- tokenizer: new aa(e.tokenizerOptions, e.name),
2443
- formatOptions: la(e.formatOptions)
2444
- }), la = (e) => ({
2438
+ }, M = (e) => O(e.toUpperCase()), sa = /* @__PURE__ */ new Map(), ca = (e) => {
2439
+ let t = sa.get(e);
2440
+ return t || (t = la(e), sa.set(e, t)), t;
2441
+ }, la = (e) => ({
2442
+ tokenizer: new oa(e.tokenizerOptions, e.name),
2443
+ formatOptions: ua(e.formatOptions)
2444
+ }), ua = (e) => ({
2445
2445
  alwaysDenseOperators: e.alwaysDenseOperators || [],
2446
2446
  onelineClauses: Object.fromEntries(e.onelineClauses.map((e) => [e, !0])),
2447
2447
  tabularOnelineClauses: Object.fromEntries((e.tabularOnelineClauses ?? e.onelineClauses).map((e) => [e, !0]))
2448
2448
  });
2449
2449
  //#endregion
2450
2450
  //#region node_modules/sql-formatter/dist/esm/formatter/config.js
2451
- function ua(e) {
2451
+ function da(e) {
2452
2452
  return e.indentStyle === "tabularLeft" || e.indentStyle === "tabularRight" ? " ".repeat(10) : e.useTabs ? " " : " ".repeat(e.tabWidth);
2453
2453
  }
2454
- function P(e) {
2454
+ function N(e) {
2455
2455
  return e.indentStyle === "tabularLeft" || e.indentStyle === "tabularRight";
2456
2456
  }
2457
2457
  //#endregion
2458
2458
  //#region node_modules/sql-formatter/dist/esm/formatter/Params.js
2459
- var da = class {
2459
+ var fa = class {
2460
2460
  constructor(e) {
2461
2461
  this.params = e, this.index = 0;
2462
2462
  }
@@ -2469,7 +2469,7 @@ var da = class {
2469
2469
  setPositionalParameterIndex(e) {
2470
2470
  this.index = e;
2471
2471
  }
2472
- }, fa = /* @__PURE__ */ o(((e, t) => {
2472
+ }, pa = /* @__PURE__ */ o(((e, t) => {
2473
2473
  (function(e, n) {
2474
2474
  typeof t == "object" && t.exports ? t.exports = n() : e.nearley = n();
2475
2475
  })(e, function() {
@@ -2707,55 +2707,55 @@ var da = class {
2707
2707
  }));
2708
2708
  //#endregion
2709
2709
  //#region node_modules/sql-formatter/dist/esm/lexer/disambiguateTokens.js
2710
- function pa(e) {
2711
- return e.map(ma).map(ha).map(ga).map(_a).map(va);
2710
+ function ma(e) {
2711
+ return e.map(ha).map(ga).map(_a).map(va).map(ya);
2712
2712
  }
2713
- var ma = (e, t, n) => {
2713
+ var ha = (e, t, n) => {
2714
2714
  if (oe(e.type)) {
2715
- let r = ya(n, t);
2715
+ let r = ba(n, t);
2716
2716
  if (r && r.type === _.PROPERTY_ACCESS_OPERATOR) return Object.assign(Object.assign({}, e), {
2717
2717
  type: _.IDENTIFIER,
2718
2718
  text: e.raw
2719
2719
  });
2720
- let i = F(n, t);
2720
+ let i = P(n, t);
2721
2721
  if (i && i.type === _.PROPERTY_ACCESS_OPERATOR) return Object.assign(Object.assign({}, e), {
2722
2722
  type: _.IDENTIFIER,
2723
2723
  text: e.raw
2724
2724
  });
2725
2725
  }
2726
2726
  return e;
2727
- }, ha = (e, t, n) => {
2727
+ }, ga = (e, t, n) => {
2728
2728
  if (e.type === _.RESERVED_FUNCTION_NAME) {
2729
- let r = F(n, t);
2730
- if (!r || !ba(r)) return Object.assign(Object.assign({}, e), {
2729
+ let r = P(n, t);
2730
+ if (!r || !xa(r)) return Object.assign(Object.assign({}, e), {
2731
2731
  type: _.IDENTIFIER,
2732
2732
  text: e.raw
2733
2733
  });
2734
2734
  }
2735
2735
  return e;
2736
- }, ga = (e, t, n) => {
2736
+ }, _a = (e, t, n) => {
2737
2737
  if (e.type === _.RESERVED_DATA_TYPE) {
2738
- let r = F(n, t);
2739
- if (r && ba(r)) return Object.assign(Object.assign({}, e), { type: _.RESERVED_PARAMETERIZED_DATA_TYPE });
2738
+ let r = P(n, t);
2739
+ if (r && xa(r)) return Object.assign(Object.assign({}, e), { type: _.RESERVED_PARAMETERIZED_DATA_TYPE });
2740
2740
  }
2741
2741
  return e;
2742
- }, _a = (e, t, n) => {
2742
+ }, va = (e, t, n) => {
2743
2743
  if (e.type === _.IDENTIFIER) {
2744
- let r = F(n, t);
2745
- if (r && xa(r)) return Object.assign(Object.assign({}, e), { type: _.ARRAY_IDENTIFIER });
2744
+ let r = P(n, t);
2745
+ if (r && Sa(r)) return Object.assign(Object.assign({}, e), { type: _.ARRAY_IDENTIFIER });
2746
2746
  }
2747
2747
  return e;
2748
- }, va = (e, t, n) => {
2748
+ }, ya = (e, t, n) => {
2749
2749
  if (e.type === _.RESERVED_DATA_TYPE) {
2750
- let r = F(n, t);
2751
- if (r && xa(r)) return Object.assign(Object.assign({}, e), { type: _.ARRAY_KEYWORD });
2750
+ let r = P(n, t);
2751
+ if (r && Sa(r)) return Object.assign(Object.assign({}, e), { type: _.ARRAY_KEYWORD });
2752
2752
  }
2753
2753
  return e;
2754
- }, ya = (e, t) => F(e, t, -1), F = (e, t, n = 1) => {
2754
+ }, ba = (e, t) => P(e, t, -1), P = (e, t, n = 1) => {
2755
2755
  let r = 1;
2756
- for (; e[t + r * n] && Sa(e[t + r * n]);) r++;
2756
+ for (; e[t + r * n] && Ca(e[t + r * n]);) r++;
2757
2757
  return e[t + r * n];
2758
- }, ba = (e) => e.type === _.OPEN_PAREN && e.text === "(", xa = (e) => e.type === _.OPEN_PAREN && e.text === "[", Sa = (e) => e.type === _.BLOCK_COMMENT || e.type === _.LINE_COMMENT, Ca = class {
2758
+ }, xa = (e) => e.type === _.OPEN_PAREN && e.text === "(", Sa = (e) => e.type === _.OPEN_PAREN && e.text === "[", Ca = (e) => e.type === _.BLOCK_COMMENT || e.type === _.LINE_COMMENT, wa = class {
2759
2759
  constructor(e) {
2760
2760
  this.tokenize = e, this.index = 0, this.tokens = [], this.input = "";
2761
2761
  }
@@ -2767,42 +2767,42 @@ var ma = (e, t, n) => {
2767
2767
  }
2768
2768
  save() {}
2769
2769
  formatError(e) {
2770
- let { line: t, col: n } = $i(this.input, e.start);
2770
+ let { line: t, col: n } = ea(this.input, e.start);
2771
2771
  return `Parse error at token: ${e.text} at line ${t} column ${n}`;
2772
2772
  }
2773
2773
  has(e) {
2774
2774
  return e in _;
2775
2775
  }
2776
- }, I;
2776
+ }, F;
2777
2777
  (function(e) {
2778
2778
  e.statement = "statement", e.clause = "clause", e.set_operation = "set_operation", e.function_call = "function_call", e.parameterized_data_type = "parameterized_data_type", e.array_subscript = "array_subscript", e.property_access = "property_access", e.parenthesis = "parenthesis", e.between_predicate = "between_predicate", e.case_expression = "case_expression", e.case_when = "case_when", e.case_else = "case_else", e.limit_clause = "limit_clause", e.all_columns_asterisk = "all_columns_asterisk", e.literal = "literal", e.identifier = "identifier", e.keyword = "keyword", e.data_type = "data_type", e.parameter = "parameter", e.operator = "operator", e.comma = "comma", e.line_comment = "line_comment", e.block_comment = "block_comment", e.disable_comment = "disable_comment";
2779
- })(I = I ||= {});
2779
+ })(F = F ||= {});
2780
2780
  //#endregion
2781
2781
  //#region node_modules/sql-formatter/dist/esm/parser/grammar.js
2782
- function L(e) {
2782
+ function I(e) {
2783
2783
  return e[0];
2784
2784
  }
2785
- var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
2786
- type: I.keyword,
2785
+ var L = new wa((e) => []), R = ([[e]]) => e, z = (e) => ({
2786
+ type: F.keyword,
2787
2787
  tokenType: e.type,
2788
2788
  text: e.text,
2789
2789
  raw: e.raw
2790
- }), wa = (e) => ({
2791
- type: I.data_type,
2790
+ }), Ta = (e) => ({
2791
+ type: F.data_type,
2792
2792
  text: e.text,
2793
2793
  raw: e.raw
2794
- }), V = (e, { leading: t, trailing: n }) => (t?.length && (e = Object.assign(Object.assign({}, e), { leadingComments: t })), n?.length && (e = Object.assign(Object.assign({}, e), { trailingComments: n })), e), Ta = (e, { leading: t, trailing: n }) => {
2794
+ }), B = (e, { leading: t, trailing: n }) => (t?.length && (e = Object.assign(Object.assign({}, e), { leadingComments: t })), n?.length && (e = Object.assign(Object.assign({}, e), { trailingComments: n })), e), Ea = (e, { leading: t, trailing: n }) => {
2795
2795
  if (t?.length) {
2796
2796
  let [n, ...r] = e;
2797
- e = [V(n, { leading: t }), ...r];
2797
+ e = [B(n, { leading: t }), ...r];
2798
2798
  }
2799
2799
  if (n?.length) {
2800
2800
  let t = e.slice(0, -1), r = e[e.length - 1];
2801
- e = [...t, V(r, { trailing: n })];
2801
+ e = [...t, B(r, { trailing: n })];
2802
2802
  }
2803
2803
  return e;
2804
- }, Ea = {
2805
- Lexer: R,
2804
+ }, Da = {
2805
+ Lexer: L,
2806
2806
  ParserRules: [
2807
2807
  {
2808
2808
  name: "main$ebnf$1",
@@ -2823,17 +2823,17 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
2823
2823
  },
2824
2824
  {
2825
2825
  name: "statement$subexpression$1",
2826
- symbols: [R.has("DELIMITER") ? { type: "DELIMITER" } : DELIMITER]
2826
+ symbols: [L.has("DELIMITER") ? { type: "DELIMITER" } : DELIMITER]
2827
2827
  },
2828
2828
  {
2829
2829
  name: "statement$subexpression$1",
2830
- symbols: [R.has("EOF") ? { type: "EOF" } : EOF]
2830
+ symbols: [L.has("EOF") ? { type: "EOF" } : EOF]
2831
2831
  },
2832
2832
  {
2833
2833
  name: "statement",
2834
2834
  symbols: ["expressions_or_clauses", "statement$subexpression$1"],
2835
2835
  postprocess: ([e, [t]]) => ({
2836
- type: I.statement,
2836
+ type: F.statement,
2837
2837
  children: e,
2838
2838
  hasSemicolon: t.type === _.DELIMITER
2839
2839
  })
@@ -2880,7 +2880,7 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
2880
2880
  {
2881
2881
  name: "clause",
2882
2882
  symbols: ["clause$subexpression$1"],
2883
- postprocess: z
2883
+ postprocess: R
2884
2884
  },
2885
2885
  {
2886
2886
  name: "limit_clause$ebnf$1$subexpression$1$ebnf$1",
@@ -2893,12 +2893,12 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
2893
2893
  },
2894
2894
  {
2895
2895
  name: "limit_clause$ebnf$1$subexpression$1",
2896
- symbols: [R.has("COMMA") ? { type: "COMMA" } : COMMA, "limit_clause$ebnf$1$subexpression$1$ebnf$1"]
2896
+ symbols: [L.has("COMMA") ? { type: "COMMA" } : COMMA, "limit_clause$ebnf$1$subexpression$1$ebnf$1"]
2897
2897
  },
2898
2898
  {
2899
2899
  name: "limit_clause$ebnf$1",
2900
2900
  symbols: ["limit_clause$ebnf$1$subexpression$1"],
2901
- postprocess: L
2901
+ postprocess: I
2902
2902
  },
2903
2903
  {
2904
2904
  name: "limit_clause$ebnf$1",
@@ -2908,7 +2908,7 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
2908
2908
  {
2909
2909
  name: "limit_clause",
2910
2910
  symbols: [
2911
- R.has("LIMIT") ? { type: "LIMIT" } : LIMIT,
2911
+ L.has("LIMIT") ? { type: "LIMIT" } : LIMIT,
2912
2912
  "_",
2913
2913
  "expression_chain_",
2914
2914
  "limit_clause$ebnf$1"
@@ -2917,14 +2917,14 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
2917
2917
  if (r) {
2918
2918
  let [i, a] = r;
2919
2919
  return {
2920
- type: I.limit_clause,
2921
- limitKw: V(B(e), { trailing: t }),
2920
+ type: F.limit_clause,
2921
+ limitKw: B(z(e), { trailing: t }),
2922
2922
  offset: n,
2923
2923
  count: a
2924
2924
  };
2925
2925
  } else return {
2926
- type: I.limit_clause,
2927
- limitKw: V(B(e), { trailing: t }),
2926
+ type: F.limit_clause,
2927
+ limitKw: B(z(e), { trailing: t }),
2928
2928
  count: n
2929
2929
  };
2930
2930
  }
@@ -2957,26 +2957,26 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
2957
2957
  },
2958
2958
  {
2959
2959
  name: "select_clause",
2960
- symbols: [R.has("RESERVED_SELECT") ? { type: "RESERVED_SELECT" } : RESERVED_SELECT, "select_clause$subexpression$1"],
2960
+ symbols: [L.has("RESERVED_SELECT") ? { type: "RESERVED_SELECT" } : RESERVED_SELECT, "select_clause$subexpression$1"],
2961
2961
  postprocess: ([e, [t, n]]) => ({
2962
- type: I.clause,
2963
- nameKw: B(e),
2962
+ type: F.clause,
2963
+ nameKw: z(e),
2964
2964
  children: [t, ...n]
2965
2965
  })
2966
2966
  },
2967
2967
  {
2968
2968
  name: "select_clause",
2969
- symbols: [R.has("RESERVED_SELECT") ? { type: "RESERVED_SELECT" } : RESERVED_SELECT],
2969
+ symbols: [L.has("RESERVED_SELECT") ? { type: "RESERVED_SELECT" } : RESERVED_SELECT],
2970
2970
  postprocess: ([e]) => ({
2971
- type: I.clause,
2972
- nameKw: B(e),
2971
+ type: F.clause,
2972
+ nameKw: z(e),
2973
2973
  children: []
2974
2974
  })
2975
2975
  },
2976
2976
  {
2977
2977
  name: "all_columns_asterisk",
2978
- symbols: [R.has("ASTERISK") ? { type: "ASTERISK" } : ASTERISK],
2979
- postprocess: () => ({ type: I.all_columns_asterisk })
2978
+ symbols: [L.has("ASTERISK") ? { type: "ASTERISK" } : ASTERISK],
2979
+ postprocess: () => ({ type: F.all_columns_asterisk })
2980
2980
  },
2981
2981
  {
2982
2982
  name: "other_clause$ebnf$1",
@@ -2989,10 +2989,10 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
2989
2989
  },
2990
2990
  {
2991
2991
  name: "other_clause",
2992
- symbols: [R.has("RESERVED_CLAUSE") ? { type: "RESERVED_CLAUSE" } : RESERVED_CLAUSE, "other_clause$ebnf$1"],
2992
+ symbols: [L.has("RESERVED_CLAUSE") ? { type: "RESERVED_CLAUSE" } : RESERVED_CLAUSE, "other_clause$ebnf$1"],
2993
2993
  postprocess: ([e, t]) => ({
2994
- type: I.clause,
2995
- nameKw: B(e),
2994
+ type: F.clause,
2995
+ nameKw: z(e),
2996
2996
  children: t
2997
2997
  })
2998
2998
  },
@@ -3007,10 +3007,10 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3007
3007
  },
3008
3008
  {
3009
3009
  name: "set_operation",
3010
- symbols: [R.has("RESERVED_SET_OPERATION") ? { type: "RESERVED_SET_OPERATION" } : RESERVED_SET_OPERATION, "set_operation$ebnf$1"],
3010
+ symbols: [L.has("RESERVED_SET_OPERATION") ? { type: "RESERVED_SET_OPERATION" } : RESERVED_SET_OPERATION, "set_operation$ebnf$1"],
3011
3011
  postprocess: ([e, t]) => ({
3012
- type: I.set_operation,
3013
- nameKw: B(e),
3012
+ type: F.set_operation,
3013
+ nameKw: z(e),
3014
3014
  children: t
3015
3015
  })
3016
3016
  },
@@ -3026,7 +3026,7 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3026
3026
  {
3027
3027
  name: "expression_chain_",
3028
3028
  symbols: ["expression_chain_$ebnf$1"],
3029
- postprocess: L
3029
+ postprocess: I
3030
3030
  },
3031
3031
  {
3032
3032
  name: "expression_chain$ebnf$1",
@@ -3059,17 +3059,17 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3059
3059
  {
3060
3060
  name: "expression_with_comments_",
3061
3061
  symbols: ["expression", "_"],
3062
- postprocess: ([e, t]) => V(e, { trailing: t })
3062
+ postprocess: ([e, t]) => B(e, { trailing: t })
3063
3063
  },
3064
3064
  {
3065
3065
  name: "_expression_with_comments",
3066
3066
  symbols: ["_", "expression"],
3067
- postprocess: ([e, t]) => V(t, { leading: e })
3067
+ postprocess: ([e, t]) => B(t, { leading: e })
3068
3068
  },
3069
3069
  {
3070
3070
  name: "_andless_expression_with_comments",
3071
3071
  symbols: ["_", "andless_expression"],
3072
- postprocess: ([e, t]) => V(t, { leading: e })
3072
+ postprocess: ([e, t]) => B(t, { leading: e })
3073
3073
  },
3074
3074
  {
3075
3075
  name: "free_form_sql$subexpression$1",
@@ -3082,7 +3082,7 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3082
3082
  {
3083
3083
  name: "free_form_sql",
3084
3084
  symbols: ["free_form_sql$subexpression$1"],
3085
- postprocess: z
3085
+ postprocess: R
3086
3086
  },
3087
3087
  {
3088
3088
  name: "asteriskless_free_form_sql$subexpression$1",
@@ -3107,7 +3107,7 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3107
3107
  {
3108
3108
  name: "asteriskless_free_form_sql",
3109
3109
  symbols: ["asteriskless_free_form_sql$subexpression$1"],
3110
- postprocess: z
3110
+ postprocess: R
3111
3111
  },
3112
3112
  {
3113
3113
  name: "expression$subexpression$1",
@@ -3120,7 +3120,7 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3120
3120
  {
3121
3121
  name: "expression",
3122
3122
  symbols: ["expression$subexpression$1"],
3123
- postprocess: z
3123
+ postprocess: R
3124
3124
  },
3125
3125
  {
3126
3126
  name: "andless_expression$subexpression$1",
@@ -3133,7 +3133,7 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3133
3133
  {
3134
3134
  name: "andless_expression",
3135
3135
  symbols: ["andless_expression$subexpression$1"],
3136
- postprocess: z
3136
+ postprocess: R
3137
3137
  },
3138
3138
  {
3139
3139
  name: "asteriskless_andless_expression$subexpression$1",
@@ -3150,7 +3150,7 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3150
3150
  {
3151
3151
  name: "asteriskless_andless_expression",
3152
3152
  symbols: ["asteriskless_andless_expression$subexpression$1"],
3153
- postprocess: z
3153
+ postprocess: R
3154
3154
  },
3155
3155
  {
3156
3156
  name: "atomic_expression$subexpression$1",
@@ -3203,19 +3203,19 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3203
3203
  {
3204
3204
  name: "atomic_expression",
3205
3205
  symbols: ["atomic_expression$subexpression$1"],
3206
- postprocess: z
3206
+ postprocess: R
3207
3207
  },
3208
3208
  {
3209
3209
  name: "array_subscript",
3210
3210
  symbols: [
3211
- R.has("ARRAY_IDENTIFIER") ? { type: "ARRAY_IDENTIFIER" } : ARRAY_IDENTIFIER,
3211
+ L.has("ARRAY_IDENTIFIER") ? { type: "ARRAY_IDENTIFIER" } : ARRAY_IDENTIFIER,
3212
3212
  "_",
3213
3213
  "square_brackets"
3214
3214
  ],
3215
3215
  postprocess: ([e, t, n]) => ({
3216
- type: I.array_subscript,
3217
- array: V({
3218
- type: I.identifier,
3216
+ type: F.array_subscript,
3217
+ array: B({
3218
+ type: F.identifier,
3219
3219
  quoted: !1,
3220
3220
  text: e.text
3221
3221
  }, { trailing: t }),
@@ -3225,26 +3225,26 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3225
3225
  {
3226
3226
  name: "array_subscript",
3227
3227
  symbols: [
3228
- R.has("ARRAY_KEYWORD") ? { type: "ARRAY_KEYWORD" } : ARRAY_KEYWORD,
3228
+ L.has("ARRAY_KEYWORD") ? { type: "ARRAY_KEYWORD" } : ARRAY_KEYWORD,
3229
3229
  "_",
3230
3230
  "square_brackets"
3231
3231
  ],
3232
3232
  postprocess: ([e, t, n]) => ({
3233
- type: I.array_subscript,
3234
- array: V(B(e), { trailing: t }),
3233
+ type: F.array_subscript,
3234
+ array: B(z(e), { trailing: t }),
3235
3235
  parenthesis: n
3236
3236
  })
3237
3237
  },
3238
3238
  {
3239
3239
  name: "function_call",
3240
3240
  symbols: [
3241
- R.has("RESERVED_FUNCTION_NAME") ? { type: "RESERVED_FUNCTION_NAME" } : RESERVED_FUNCTION_NAME,
3241
+ L.has("RESERVED_FUNCTION_NAME") ? { type: "RESERVED_FUNCTION_NAME" } : RESERVED_FUNCTION_NAME,
3242
3242
  "_",
3243
3243
  "parenthesis"
3244
3244
  ],
3245
3245
  postprocess: ([e, t, n]) => ({
3246
- type: I.function_call,
3247
- nameKw: V(B(e), { trailing: t }),
3246
+ type: F.function_call,
3247
+ nameKw: B(z(e), { trailing: t }),
3248
3248
  parenthesis: n
3249
3249
  })
3250
3250
  },
@@ -3256,7 +3256,7 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3256
3256
  { literal: ")" }
3257
3257
  ],
3258
3258
  postprocess: ([e, t, n]) => ({
3259
- type: I.parenthesis,
3259
+ type: F.parenthesis,
3260
3260
  children: t,
3261
3261
  openParen: "(",
3262
3262
  closeParen: ")"
@@ -3279,7 +3279,7 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3279
3279
  { literal: "}" }
3280
3280
  ],
3281
3281
  postprocess: ([e, t, n]) => ({
3282
- type: I.parenthesis,
3282
+ type: F.parenthesis,
3283
3283
  children: t,
3284
3284
  openParen: "{",
3285
3285
  closeParen: "}"
@@ -3302,7 +3302,7 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3302
3302
  { literal: "]" }
3303
3303
  ],
3304
3304
  postprocess: ([e, t, n]) => ({
3305
- type: I.parenthesis,
3305
+ type: F.parenthesis,
3306
3306
  children: t,
3307
3307
  openParen: "[",
3308
3308
  closeParen: "]"
@@ -3329,43 +3329,43 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3329
3329
  symbols: [
3330
3330
  "atomic_expression",
3331
3331
  "_",
3332
- R.has("PROPERTY_ACCESS_OPERATOR") ? { type: "PROPERTY_ACCESS_OPERATOR" } : PROPERTY_ACCESS_OPERATOR,
3332
+ L.has("PROPERTY_ACCESS_OPERATOR") ? { type: "PROPERTY_ACCESS_OPERATOR" } : PROPERTY_ACCESS_OPERATOR,
3333
3333
  "_",
3334
3334
  "property_access$subexpression$1"
3335
3335
  ],
3336
3336
  postprocess: ([e, t, n, r, [i]]) => ({
3337
- type: I.property_access,
3338
- object: V(e, { trailing: t }),
3337
+ type: F.property_access,
3338
+ object: B(e, { trailing: t }),
3339
3339
  operator: n.text,
3340
- property: V(i, { leading: r })
3340
+ property: B(i, { leading: r })
3341
3341
  })
3342
3342
  },
3343
3343
  {
3344
3344
  name: "between_predicate",
3345
3345
  symbols: [
3346
- R.has("BETWEEN") ? { type: "BETWEEN" } : BETWEEN,
3346
+ L.has("BETWEEN") ? { type: "BETWEEN" } : BETWEEN,
3347
3347
  "_",
3348
3348
  "andless_expression_chain",
3349
3349
  "_",
3350
- R.has("AND") ? { type: "AND" } : AND,
3350
+ L.has("AND") ? { type: "AND" } : AND,
3351
3351
  "_",
3352
3352
  "andless_expression"
3353
3353
  ],
3354
3354
  postprocess: ([e, t, n, r, i, a, o]) => ({
3355
- type: I.between_predicate,
3356
- betweenKw: B(e),
3357
- expr1: Ta(n, {
3355
+ type: F.between_predicate,
3356
+ betweenKw: z(e),
3357
+ expr1: Ea(n, {
3358
3358
  leading: t,
3359
3359
  trailing: r
3360
3360
  }),
3361
- andKw: B(i),
3362
- expr2: [V(o, { leading: a })]
3361
+ andKw: z(i),
3362
+ expr2: [B(o, { leading: a })]
3363
3363
  })
3364
3364
  },
3365
3365
  {
3366
3366
  name: "case_expression$ebnf$1",
3367
3367
  symbols: ["expression_chain_"],
3368
- postprocess: L
3368
+ postprocess: I
3369
3369
  },
3370
3370
  {
3371
3371
  name: "case_expression$ebnf$1",
@@ -3384,16 +3384,16 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3384
3384
  {
3385
3385
  name: "case_expression",
3386
3386
  symbols: [
3387
- R.has("CASE") ? { type: "CASE" } : CASE,
3387
+ L.has("CASE") ? { type: "CASE" } : CASE,
3388
3388
  "_",
3389
3389
  "case_expression$ebnf$1",
3390
3390
  "case_expression$ebnf$2",
3391
- R.has("END") ? { type: "END" } : END
3391
+ L.has("END") ? { type: "END" } : END
3392
3392
  ],
3393
3393
  postprocess: ([e, t, n, r, i]) => ({
3394
- type: I.case_expression,
3395
- caseKw: V(B(e), { trailing: t }),
3396
- endKw: B(i),
3394
+ type: F.case_expression,
3395
+ caseKw: B(z(e), { trailing: t }),
3396
+ endKw: z(i),
3397
3397
  expr: n || [],
3398
3398
  clauses: r
3399
3399
  })
@@ -3401,17 +3401,17 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3401
3401
  {
3402
3402
  name: "case_clause",
3403
3403
  symbols: [
3404
- R.has("WHEN") ? { type: "WHEN" } : WHEN,
3404
+ L.has("WHEN") ? { type: "WHEN" } : WHEN,
3405
3405
  "_",
3406
3406
  "expression_chain_",
3407
- R.has("THEN") ? { type: "THEN" } : THEN,
3407
+ L.has("THEN") ? { type: "THEN" } : THEN,
3408
3408
  "_",
3409
3409
  "expression_chain_"
3410
3410
  ],
3411
3411
  postprocess: ([e, t, n, r, i, a]) => ({
3412
- type: I.case_when,
3413
- whenKw: V(B(e), { trailing: t }),
3414
- thenKw: V(B(r), { trailing: i }),
3412
+ type: F.case_when,
3413
+ whenKw: B(z(e), { trailing: t }),
3414
+ thenKw: B(z(r), { trailing: i }),
3415
3415
  condition: n,
3416
3416
  result: a
3417
3417
  })
@@ -3419,195 +3419,195 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3419
3419
  {
3420
3420
  name: "case_clause",
3421
3421
  symbols: [
3422
- R.has("ELSE") ? { type: "ELSE" } : ELSE,
3422
+ L.has("ELSE") ? { type: "ELSE" } : ELSE,
3423
3423
  "_",
3424
3424
  "expression_chain_"
3425
3425
  ],
3426
3426
  postprocess: ([e, t, n]) => ({
3427
- type: I.case_else,
3428
- elseKw: V(B(e), { trailing: t }),
3427
+ type: F.case_else,
3428
+ elseKw: B(z(e), { trailing: t }),
3429
3429
  result: n
3430
3430
  })
3431
3431
  },
3432
3432
  {
3433
3433
  name: "comma$subexpression$1",
3434
- symbols: [R.has("COMMA") ? { type: "COMMA" } : COMMA]
3434
+ symbols: [L.has("COMMA") ? { type: "COMMA" } : COMMA]
3435
3435
  },
3436
3436
  {
3437
3437
  name: "comma",
3438
3438
  symbols: ["comma$subexpression$1"],
3439
- postprocess: ([[e]]) => ({ type: I.comma })
3439
+ postprocess: ([[e]]) => ({ type: F.comma })
3440
3440
  },
3441
3441
  {
3442
3442
  name: "asterisk$subexpression$1",
3443
- symbols: [R.has("ASTERISK") ? { type: "ASTERISK" } : ASTERISK]
3443
+ symbols: [L.has("ASTERISK") ? { type: "ASTERISK" } : ASTERISK]
3444
3444
  },
3445
3445
  {
3446
3446
  name: "asterisk",
3447
3447
  symbols: ["asterisk$subexpression$1"],
3448
3448
  postprocess: ([[e]]) => ({
3449
- type: I.operator,
3449
+ type: F.operator,
3450
3450
  text: e.text
3451
3451
  })
3452
3452
  },
3453
3453
  {
3454
3454
  name: "operator$subexpression$1",
3455
- symbols: [R.has("OPERATOR") ? { type: "OPERATOR" } : OPERATOR]
3455
+ symbols: [L.has("OPERATOR") ? { type: "OPERATOR" } : OPERATOR]
3456
3456
  },
3457
3457
  {
3458
3458
  name: "operator",
3459
3459
  symbols: ["operator$subexpression$1"],
3460
3460
  postprocess: ([[e]]) => ({
3461
- type: I.operator,
3461
+ type: F.operator,
3462
3462
  text: e.text
3463
3463
  })
3464
3464
  },
3465
3465
  {
3466
3466
  name: "identifier$subexpression$1",
3467
- symbols: [R.has("IDENTIFIER") ? { type: "IDENTIFIER" } : IDENTIFIER]
3467
+ symbols: [L.has("IDENTIFIER") ? { type: "IDENTIFIER" } : IDENTIFIER]
3468
3468
  },
3469
3469
  {
3470
3470
  name: "identifier$subexpression$1",
3471
- symbols: [R.has("QUOTED_IDENTIFIER") ? { type: "QUOTED_IDENTIFIER" } : QUOTED_IDENTIFIER]
3471
+ symbols: [L.has("QUOTED_IDENTIFIER") ? { type: "QUOTED_IDENTIFIER" } : QUOTED_IDENTIFIER]
3472
3472
  },
3473
3473
  {
3474
3474
  name: "identifier$subexpression$1",
3475
- symbols: [R.has("VARIABLE") ? { type: "VARIABLE" } : VARIABLE]
3475
+ symbols: [L.has("VARIABLE") ? { type: "VARIABLE" } : VARIABLE]
3476
3476
  },
3477
3477
  {
3478
3478
  name: "identifier",
3479
3479
  symbols: ["identifier$subexpression$1"],
3480
3480
  postprocess: ([[e]]) => ({
3481
- type: I.identifier,
3481
+ type: F.identifier,
3482
3482
  quoted: e.type !== "IDENTIFIER",
3483
3483
  text: e.text
3484
3484
  })
3485
3485
  },
3486
3486
  {
3487
3487
  name: "parameter$subexpression$1",
3488
- symbols: [R.has("NAMED_PARAMETER") ? { type: "NAMED_PARAMETER" } : NAMED_PARAMETER]
3488
+ symbols: [L.has("NAMED_PARAMETER") ? { type: "NAMED_PARAMETER" } : NAMED_PARAMETER]
3489
3489
  },
3490
3490
  {
3491
3491
  name: "parameter$subexpression$1",
3492
- symbols: [R.has("QUOTED_PARAMETER") ? { type: "QUOTED_PARAMETER" } : QUOTED_PARAMETER]
3492
+ symbols: [L.has("QUOTED_PARAMETER") ? { type: "QUOTED_PARAMETER" } : QUOTED_PARAMETER]
3493
3493
  },
3494
3494
  {
3495
3495
  name: "parameter$subexpression$1",
3496
- symbols: [R.has("NUMBERED_PARAMETER") ? { type: "NUMBERED_PARAMETER" } : NUMBERED_PARAMETER]
3496
+ symbols: [L.has("NUMBERED_PARAMETER") ? { type: "NUMBERED_PARAMETER" } : NUMBERED_PARAMETER]
3497
3497
  },
3498
3498
  {
3499
3499
  name: "parameter$subexpression$1",
3500
- symbols: [R.has("POSITIONAL_PARAMETER") ? { type: "POSITIONAL_PARAMETER" } : POSITIONAL_PARAMETER]
3500
+ symbols: [L.has("POSITIONAL_PARAMETER") ? { type: "POSITIONAL_PARAMETER" } : POSITIONAL_PARAMETER]
3501
3501
  },
3502
3502
  {
3503
3503
  name: "parameter$subexpression$1",
3504
- symbols: [R.has("CUSTOM_PARAMETER") ? { type: "CUSTOM_PARAMETER" } : CUSTOM_PARAMETER]
3504
+ symbols: [L.has("CUSTOM_PARAMETER") ? { type: "CUSTOM_PARAMETER" } : CUSTOM_PARAMETER]
3505
3505
  },
3506
3506
  {
3507
3507
  name: "parameter",
3508
3508
  symbols: ["parameter$subexpression$1"],
3509
3509
  postprocess: ([[e]]) => ({
3510
- type: I.parameter,
3510
+ type: F.parameter,
3511
3511
  key: e.key,
3512
3512
  text: e.text
3513
3513
  })
3514
3514
  },
3515
3515
  {
3516
3516
  name: "literal$subexpression$1",
3517
- symbols: [R.has("NUMBER") ? { type: "NUMBER" } : NUMBER]
3517
+ symbols: [L.has("NUMBER") ? { type: "NUMBER" } : NUMBER]
3518
3518
  },
3519
3519
  {
3520
3520
  name: "literal$subexpression$1",
3521
- symbols: [R.has("STRING") ? { type: "STRING" } : STRING]
3521
+ symbols: [L.has("STRING") ? { type: "STRING" } : STRING]
3522
3522
  },
3523
3523
  {
3524
3524
  name: "literal",
3525
3525
  symbols: ["literal$subexpression$1"],
3526
3526
  postprocess: ([[e]]) => ({
3527
- type: I.literal,
3527
+ type: F.literal,
3528
3528
  text: e.text
3529
3529
  })
3530
3530
  },
3531
3531
  {
3532
3532
  name: "keyword$subexpression$1",
3533
- symbols: [R.has("RESERVED_KEYWORD") ? { type: "RESERVED_KEYWORD" } : RESERVED_KEYWORD]
3533
+ symbols: [L.has("RESERVED_KEYWORD") ? { type: "RESERVED_KEYWORD" } : RESERVED_KEYWORD]
3534
3534
  },
3535
3535
  {
3536
3536
  name: "keyword$subexpression$1",
3537
- symbols: [R.has("RESERVED_KEYWORD_PHRASE") ? { type: "RESERVED_KEYWORD_PHRASE" } : RESERVED_KEYWORD_PHRASE]
3537
+ symbols: [L.has("RESERVED_KEYWORD_PHRASE") ? { type: "RESERVED_KEYWORD_PHRASE" } : RESERVED_KEYWORD_PHRASE]
3538
3538
  },
3539
3539
  {
3540
3540
  name: "keyword$subexpression$1",
3541
- symbols: [R.has("RESERVED_JOIN") ? { type: "RESERVED_JOIN" } : RESERVED_JOIN]
3541
+ symbols: [L.has("RESERVED_JOIN") ? { type: "RESERVED_JOIN" } : RESERVED_JOIN]
3542
3542
  },
3543
3543
  {
3544
3544
  name: "keyword",
3545
3545
  symbols: ["keyword$subexpression$1"],
3546
- postprocess: ([[e]]) => B(e)
3546
+ postprocess: ([[e]]) => z(e)
3547
3547
  },
3548
3548
  {
3549
3549
  name: "data_type$subexpression$1",
3550
- symbols: [R.has("RESERVED_DATA_TYPE") ? { type: "RESERVED_DATA_TYPE" } : RESERVED_DATA_TYPE]
3550
+ symbols: [L.has("RESERVED_DATA_TYPE") ? { type: "RESERVED_DATA_TYPE" } : RESERVED_DATA_TYPE]
3551
3551
  },
3552
3552
  {
3553
3553
  name: "data_type$subexpression$1",
3554
- symbols: [R.has("RESERVED_DATA_TYPE_PHRASE") ? { type: "RESERVED_DATA_TYPE_PHRASE" } : RESERVED_DATA_TYPE_PHRASE]
3554
+ symbols: [L.has("RESERVED_DATA_TYPE_PHRASE") ? { type: "RESERVED_DATA_TYPE_PHRASE" } : RESERVED_DATA_TYPE_PHRASE]
3555
3555
  },
3556
3556
  {
3557
3557
  name: "data_type",
3558
3558
  symbols: ["data_type$subexpression$1"],
3559
- postprocess: ([[e]]) => wa(e)
3559
+ postprocess: ([[e]]) => Ta(e)
3560
3560
  },
3561
3561
  {
3562
3562
  name: "data_type",
3563
3563
  symbols: [
3564
- R.has("RESERVED_PARAMETERIZED_DATA_TYPE") ? { type: "RESERVED_PARAMETERIZED_DATA_TYPE" } : RESERVED_PARAMETERIZED_DATA_TYPE,
3564
+ L.has("RESERVED_PARAMETERIZED_DATA_TYPE") ? { type: "RESERVED_PARAMETERIZED_DATA_TYPE" } : RESERVED_PARAMETERIZED_DATA_TYPE,
3565
3565
  "_",
3566
3566
  "parenthesis"
3567
3567
  ],
3568
3568
  postprocess: ([e, t, n]) => ({
3569
- type: I.parameterized_data_type,
3570
- dataType: V(wa(e), { trailing: t }),
3569
+ type: F.parameterized_data_type,
3570
+ dataType: B(Ta(e), { trailing: t }),
3571
3571
  parenthesis: n
3572
3572
  })
3573
3573
  },
3574
3574
  {
3575
3575
  name: "logic_operator$subexpression$1",
3576
- symbols: [R.has("AND") ? { type: "AND" } : AND]
3576
+ symbols: [L.has("AND") ? { type: "AND" } : AND]
3577
3577
  },
3578
3578
  {
3579
3579
  name: "logic_operator$subexpression$1",
3580
- symbols: [R.has("OR") ? { type: "OR" } : OR]
3580
+ symbols: [L.has("OR") ? { type: "OR" } : OR]
3581
3581
  },
3582
3582
  {
3583
3583
  name: "logic_operator$subexpression$1",
3584
- symbols: [R.has("XOR") ? { type: "XOR" } : XOR]
3584
+ symbols: [L.has("XOR") ? { type: "XOR" } : XOR]
3585
3585
  },
3586
3586
  {
3587
3587
  name: "logic_operator",
3588
3588
  symbols: ["logic_operator$subexpression$1"],
3589
- postprocess: ([[e]]) => B(e)
3589
+ postprocess: ([[e]]) => z(e)
3590
3590
  },
3591
3591
  {
3592
3592
  name: "other_keyword$subexpression$1",
3593
- symbols: [R.has("WHEN") ? { type: "WHEN" } : WHEN]
3593
+ symbols: [L.has("WHEN") ? { type: "WHEN" } : WHEN]
3594
3594
  },
3595
3595
  {
3596
3596
  name: "other_keyword$subexpression$1",
3597
- symbols: [R.has("THEN") ? { type: "THEN" } : THEN]
3597
+ symbols: [L.has("THEN") ? { type: "THEN" } : THEN]
3598
3598
  },
3599
3599
  {
3600
3600
  name: "other_keyword$subexpression$1",
3601
- symbols: [R.has("ELSE") ? { type: "ELSE" } : ELSE]
3601
+ symbols: [L.has("ELSE") ? { type: "ELSE" } : ELSE]
3602
3602
  },
3603
3603
  {
3604
3604
  name: "other_keyword$subexpression$1",
3605
- symbols: [R.has("END") ? { type: "END" } : END]
3605
+ symbols: [L.has("END") ? { type: "END" } : END]
3606
3606
  },
3607
3607
  {
3608
3608
  name: "other_keyword",
3609
3609
  symbols: ["other_keyword$subexpression$1"],
3610
- postprocess: ([[e]]) => B(e)
3610
+ postprocess: ([[e]]) => z(e)
3611
3611
  },
3612
3612
  {
3613
3613
  name: "_$ebnf$1",
@@ -3625,36 +3625,36 @@ var R = new Ca((e) => []), z = ([[e]]) => e, B = (e) => ({
3625
3625
  },
3626
3626
  {
3627
3627
  name: "comment",
3628
- symbols: [R.has("LINE_COMMENT") ? { type: "LINE_COMMENT" } : LINE_COMMENT],
3628
+ symbols: [L.has("LINE_COMMENT") ? { type: "LINE_COMMENT" } : LINE_COMMENT],
3629
3629
  postprocess: ([e]) => ({
3630
- type: I.line_comment,
3630
+ type: F.line_comment,
3631
3631
  text: e.text,
3632
3632
  precedingWhitespace: e.precedingWhitespace
3633
3633
  })
3634
3634
  },
3635
3635
  {
3636
3636
  name: "comment",
3637
- symbols: [R.has("BLOCK_COMMENT") ? { type: "BLOCK_COMMENT" } : BLOCK_COMMENT],
3637
+ symbols: [L.has("BLOCK_COMMENT") ? { type: "BLOCK_COMMENT" } : BLOCK_COMMENT],
3638
3638
  postprocess: ([e]) => ({
3639
- type: I.block_comment,
3639
+ type: F.block_comment,
3640
3640
  text: e.text,
3641
3641
  precedingWhitespace: e.precedingWhitespace
3642
3642
  })
3643
3643
  },
3644
3644
  {
3645
3645
  name: "comment",
3646
- symbols: [R.has("DISABLE_COMMENT") ? { type: "DISABLE_COMMENT" } : DISABLE_COMMENT],
3646
+ symbols: [L.has("DISABLE_COMMENT") ? { type: "DISABLE_COMMENT" } : DISABLE_COMMENT],
3647
3647
  postprocess: ([e]) => ({
3648
- type: I.disable_comment,
3648
+ type: F.disable_comment,
3649
3649
  text: e.text,
3650
3650
  precedingWhitespace: e.precedingWhitespace
3651
3651
  })
3652
3652
  }
3653
3653
  ],
3654
3654
  ParserStart: "main"
3655
- }, { Parser: Da, Grammar: Oa } = (/* @__PURE__ */ l(fa(), 1)).default;
3656
- function ka(e) {
3657
- let t = {}, n = new Ca((n) => [...pa(e.tokenize(n, t)), ae(n.length)]), r = new Da(Oa.fromCompiled(Ea), { lexer: n });
3655
+ }, { Parser: Oa, Grammar: ka } = (/* @__PURE__ */ l(pa(), 1)).default;
3656
+ function Aa(e) {
3657
+ let t = {}, n = new wa((n) => [...ma(e.tokenize(n, t)), ae(n.length)]), r = new Oa(ka.fromCompiled(Da), { lexer: n });
3658
3658
  return { parse: (e, n) => {
3659
3659
  t = n;
3660
3660
  let { results: i } = r.feed(e);
@@ -3664,59 +3664,59 @@ function ka(e) {
3664
3664
  }
3665
3665
  //#endregion
3666
3666
  //#region node_modules/sql-formatter/dist/esm/formatter/Layout.js
3667
- var H;
3667
+ var V;
3668
3668
  (function(e) {
3669
3669
  e[e.SPACE = 0] = "SPACE", e[e.NO_SPACE = 1] = "NO_SPACE", e[e.NO_NEWLINE = 2] = "NO_NEWLINE", e[e.NEWLINE = 3] = "NEWLINE", e[e.MANDATORY_NEWLINE = 4] = "MANDATORY_NEWLINE", e[e.INDENT = 5] = "INDENT", e[e.SINGLE_INDENT = 6] = "SINGLE_INDENT";
3670
- })(H = H ||= {});
3671
- var Aa = class {
3670
+ })(V = V ||= {});
3671
+ var ja = class {
3672
3672
  constructor(e) {
3673
3673
  this.indentation = e, this.items = [];
3674
3674
  }
3675
3675
  add(...e) {
3676
3676
  for (let t of e) switch (t) {
3677
- case H.SPACE:
3678
- this.items.push(H.SPACE);
3677
+ case V.SPACE:
3678
+ this.items.push(V.SPACE);
3679
3679
  break;
3680
- case H.NO_SPACE:
3680
+ case V.NO_SPACE:
3681
3681
  this.trimHorizontalWhitespace();
3682
3682
  break;
3683
- case H.NO_NEWLINE:
3683
+ case V.NO_NEWLINE:
3684
3684
  this.trimWhitespace();
3685
3685
  break;
3686
- case H.NEWLINE:
3687
- this.trimHorizontalWhitespace(), this.addNewline(H.NEWLINE);
3686
+ case V.NEWLINE:
3687
+ this.trimHorizontalWhitespace(), this.addNewline(V.NEWLINE);
3688
3688
  break;
3689
- case H.MANDATORY_NEWLINE:
3690
- this.trimHorizontalWhitespace(), this.addNewline(H.MANDATORY_NEWLINE);
3689
+ case V.MANDATORY_NEWLINE:
3690
+ this.trimHorizontalWhitespace(), this.addNewline(V.MANDATORY_NEWLINE);
3691
3691
  break;
3692
- case H.INDENT:
3692
+ case V.INDENT:
3693
3693
  this.addIndentation();
3694
3694
  break;
3695
- case H.SINGLE_INDENT:
3696
- this.items.push(H.SINGLE_INDENT);
3695
+ case V.SINGLE_INDENT:
3696
+ this.items.push(V.SINGLE_INDENT);
3697
3697
  break;
3698
3698
  default: this.items.push(t);
3699
3699
  }
3700
3700
  }
3701
3701
  trimHorizontalWhitespace() {
3702
- for (; ja(O(this.items));) this.items.pop();
3702
+ for (; Ma(D(this.items));) this.items.pop();
3703
3703
  }
3704
3704
  trimWhitespace() {
3705
- for (; Ma(O(this.items));) this.items.pop();
3705
+ for (; Na(D(this.items));) this.items.pop();
3706
3706
  }
3707
3707
  addNewline(e) {
3708
- if (this.items.length > 0) switch (O(this.items)) {
3709
- case H.NEWLINE:
3708
+ if (this.items.length > 0) switch (D(this.items)) {
3709
+ case V.NEWLINE:
3710
3710
  this.items.pop(), this.items.push(e);
3711
3711
  break;
3712
- case H.MANDATORY_NEWLINE: break;
3712
+ case V.MANDATORY_NEWLINE: break;
3713
3713
  default:
3714
3714
  this.items.push(e);
3715
3715
  break;
3716
3716
  }
3717
3717
  }
3718
3718
  addIndentation() {
3719
- for (let e = 0; e < this.indentation.getLevel(); e++) this.items.push(H.SINGLE_INDENT);
3719
+ for (let e = 0; e < this.indentation.getLevel(); e++) this.items.push(V.SINGLE_INDENT);
3720
3720
  }
3721
3721
  toString() {
3722
3722
  return this.items.map((e) => this.itemToString(e)).join("");
@@ -3726,27 +3726,27 @@ var Aa = class {
3726
3726
  }
3727
3727
  itemToString(e) {
3728
3728
  switch (e) {
3729
- case H.SPACE: return " ";
3730
- case H.NEWLINE:
3731
- case H.MANDATORY_NEWLINE: return "\n";
3732
- case H.SINGLE_INDENT: return this.indentation.getSingleIndent();
3729
+ case V.SPACE: return " ";
3730
+ case V.NEWLINE:
3731
+ case V.MANDATORY_NEWLINE: return "\n";
3732
+ case V.SINGLE_INDENT: return this.indentation.getSingleIndent();
3733
3733
  default: return e;
3734
3734
  }
3735
3735
  }
3736
- }, ja = (e) => e === H.SPACE || e === H.SINGLE_INDENT, Ma = (e) => e === H.SPACE || e === H.SINGLE_INDENT || e === H.NEWLINE;
3736
+ }, Ma = (e) => e === V.SPACE || e === V.SINGLE_INDENT, Na = (e) => e === V.SPACE || e === V.SINGLE_INDENT || e === V.NEWLINE;
3737
3737
  //#endregion
3738
3738
  //#region node_modules/sql-formatter/dist/esm/formatter/tabularStyle.js
3739
- function Na(e, t) {
3739
+ function Pa(e, t) {
3740
3740
  if (t === "standard") return e;
3741
3741
  let n = [];
3742
3742
  return e.length >= 10 && e.includes(" ") && ([e, ...n] = e.split(" ")), e = t === "tabularLeft" ? e.padEnd(9, " ") : e.padStart(9, " "), e + ["", ...n].join(" ");
3743
3743
  }
3744
- function Pa(e) {
3744
+ function Fa(e) {
3745
3745
  return se(e) || e === _.RESERVED_CLAUSE || e === _.RESERVED_SELECT || e === _.RESERVED_SET_OPERATION || e === _.RESERVED_JOIN || e === _.LIMIT;
3746
3746
  }
3747
3747
  //#endregion
3748
3748
  //#region node_modules/sql-formatter/dist/esm/formatter/Indentation.js
3749
- var Fa = "top-level", Ia = "block-level", La = class {
3749
+ var Ia = "top-level", La = "block-level", Ra = class {
3750
3750
  constructor(e) {
3751
3751
  this.indent = e, this.indentTypes = [];
3752
3752
  }
@@ -3757,31 +3757,31 @@ var Fa = "top-level", Ia = "block-level", La = class {
3757
3757
  return this.indentTypes.length;
3758
3758
  }
3759
3759
  increaseTopLevel() {
3760
- this.indentTypes.push(Fa);
3760
+ this.indentTypes.push(Ia);
3761
3761
  }
3762
3762
  increaseBlockLevel() {
3763
- this.indentTypes.push(Ia);
3763
+ this.indentTypes.push(La);
3764
3764
  }
3765
3765
  decreaseTopLevel() {
3766
- this.indentTypes.length > 0 && O(this.indentTypes) === Fa && this.indentTypes.pop();
3766
+ this.indentTypes.length > 0 && D(this.indentTypes) === Ia && this.indentTypes.pop();
3767
3767
  }
3768
3768
  decreaseBlockLevel() {
3769
- for (; this.indentTypes.length > 0 && this.indentTypes.pop() === Fa;);
3769
+ for (; this.indentTypes.length > 0 && this.indentTypes.pop() === Ia;);
3770
3770
  }
3771
- }, Ra = class extends Aa {
3771
+ }, za = class extends ja {
3772
3772
  constructor(e) {
3773
- super(new La("")), this.expressionWidth = e, this.length = 0, this.trailingSpace = !1;
3773
+ super(new Ra("")), this.expressionWidth = e, this.length = 0, this.trailingSpace = !1;
3774
3774
  }
3775
3775
  add(...e) {
3776
- if (e.forEach((e) => this.addToLength(e)), this.length > this.expressionWidth) throw new za();
3776
+ if (e.forEach((e) => this.addToLength(e)), this.length > this.expressionWidth) throw new Ba();
3777
3777
  super.add(...e);
3778
3778
  }
3779
3779
  addToLength(e) {
3780
3780
  if (typeof e == "string") this.length += e.length, this.trailingSpace = !1;
3781
- else if (e === H.MANDATORY_NEWLINE || e === H.NEWLINE) throw new za();
3782
- else e === H.INDENT || e === H.SINGLE_INDENT || e === H.SPACE ? this.trailingSpace ||= (this.length++, !0) : (e === H.NO_NEWLINE || e === H.NO_SPACE) && this.trailingSpace && (this.trailingSpace = !1, this.length--);
3781
+ else if (e === V.MANDATORY_NEWLINE || e === V.NEWLINE) throw new Ba();
3782
+ else e === V.INDENT || e === V.SINGLE_INDENT || e === V.SPACE ? this.trailingSpace ||= (this.length++, !0) : (e === V.NO_NEWLINE || e === V.NO_SPACE) && this.trailingSpace && (this.trailingSpace = !1, this.length--);
3783
3783
  }
3784
- }, za = class extends Error {}, Ba = class e {
3784
+ }, Ba = class extends Error {}, Va = class e {
3785
3785
  constructor({ cfg: e, dialectCfg: t, params: n, layout: r, inline: i = !1 }) {
3786
3786
  this.inline = !1, this.nodes = [], this.index = -1, this.cfg = e, this.dialectCfg = t, this.inline = i, this.params = n, this.layout = r;
3787
3787
  }
@@ -3794,29 +3794,29 @@ var Fa = "top-level", Ia = "block-level", La = class {
3794
3794
  }
3795
3795
  formatNodeWithoutComments(e) {
3796
3796
  switch (e.type) {
3797
- case I.function_call: return this.formatFunctionCall(e);
3798
- case I.parameterized_data_type: return this.formatParameterizedDataType(e);
3799
- case I.array_subscript: return this.formatArraySubscript(e);
3800
- case I.property_access: return this.formatPropertyAccess(e);
3801
- case I.parenthesis: return this.formatParenthesis(e);
3802
- case I.between_predicate: return this.formatBetweenPredicate(e);
3803
- case I.case_expression: return this.formatCaseExpression(e);
3804
- case I.case_when: return this.formatCaseWhen(e);
3805
- case I.case_else: return this.formatCaseElse(e);
3806
- case I.clause: return this.formatClause(e);
3807
- case I.set_operation: return this.formatSetOperation(e);
3808
- case I.limit_clause: return this.formatLimitClause(e);
3809
- case I.all_columns_asterisk: return this.formatAllColumnsAsterisk(e);
3810
- case I.literal: return this.formatLiteral(e);
3811
- case I.identifier: return this.formatIdentifier(e);
3812
- case I.parameter: return this.formatParameter(e);
3813
- case I.operator: return this.formatOperator(e);
3814
- case I.comma: return this.formatComma(e);
3815
- case I.line_comment: return this.formatLineComment(e);
3816
- case I.block_comment: return this.formatBlockComment(e);
3817
- case I.disable_comment: return this.formatBlockComment(e);
3818
- case I.data_type: return this.formatDataType(e);
3819
- case I.keyword: return this.formatKeywordNode(e);
3797
+ case F.function_call: return this.formatFunctionCall(e);
3798
+ case F.parameterized_data_type: return this.formatParameterizedDataType(e);
3799
+ case F.array_subscript: return this.formatArraySubscript(e);
3800
+ case F.property_access: return this.formatPropertyAccess(e);
3801
+ case F.parenthesis: return this.formatParenthesis(e);
3802
+ case F.between_predicate: return this.formatBetweenPredicate(e);
3803
+ case F.case_expression: return this.formatCaseExpression(e);
3804
+ case F.case_when: return this.formatCaseWhen(e);
3805
+ case F.case_else: return this.formatCaseElse(e);
3806
+ case F.clause: return this.formatClause(e);
3807
+ case F.set_operation: return this.formatSetOperation(e);
3808
+ case F.limit_clause: return this.formatLimitClause(e);
3809
+ case F.all_columns_asterisk: return this.formatAllColumnsAsterisk(e);
3810
+ case F.literal: return this.formatLiteral(e);
3811
+ case F.identifier: return this.formatIdentifier(e);
3812
+ case F.parameter: return this.formatParameter(e);
3813
+ case F.operator: return this.formatOperator(e);
3814
+ case F.comma: return this.formatComma(e);
3815
+ case F.line_comment: return this.formatLineComment(e);
3816
+ case F.block_comment: return this.formatBlockComment(e);
3817
+ case F.disable_comment: return this.formatBlockComment(e);
3818
+ case F.data_type: return this.formatDataType(e);
3819
+ case F.keyword: return this.formatKeywordNode(e);
3820
3820
  }
3821
3821
  }
3822
3822
  formatFunctionCall(e) {
@@ -3832,10 +3832,10 @@ var Fa = "top-level", Ia = "block-level", La = class {
3832
3832
  formatArraySubscript(e) {
3833
3833
  let t;
3834
3834
  switch (e.array.type) {
3835
- case I.data_type:
3835
+ case F.data_type:
3836
3836
  t = this.showDataType(e.array);
3837
3837
  break;
3838
- case I.keyword:
3838
+ case F.keyword:
3839
3839
  t = this.showKw(e.array);
3840
3840
  break;
3841
3841
  default:
@@ -3847,87 +3847,87 @@ var Fa = "top-level", Ia = "block-level", La = class {
3847
3847
  }), this.formatNode(e.parenthesis);
3848
3848
  }
3849
3849
  formatPropertyAccess(e) {
3850
- this.formatNode(e.object), this.layout.add(H.NO_SPACE, e.operator), this.formatNode(e.property);
3850
+ this.formatNode(e.object), this.layout.add(V.NO_SPACE, e.operator), this.formatNode(e.property);
3851
3851
  }
3852
3852
  formatParenthesis(e) {
3853
3853
  let t = this.formatInlineExpression(e.children);
3854
- t ? (this.layout.add(e.openParen), this.layout.add(...t.getLayoutItems()), this.layout.add(H.NO_SPACE, e.closeParen, H.SPACE)) : (this.layout.add(e.openParen, H.NEWLINE), P(this.cfg) ? (this.layout.add(H.INDENT), this.layout = this.formatSubExpression(e.children)) : (this.layout.indentation.increaseBlockLevel(), this.layout.add(H.INDENT), this.layout = this.formatSubExpression(e.children), this.layout.indentation.decreaseBlockLevel()), this.layout.add(H.NEWLINE, H.INDENT, e.closeParen, H.SPACE));
3854
+ t ? (this.layout.add(e.openParen), this.layout.add(...t.getLayoutItems()), this.layout.add(V.NO_SPACE, e.closeParen, V.SPACE)) : (this.layout.add(e.openParen, V.NEWLINE), N(this.cfg) ? (this.layout.add(V.INDENT), this.layout = this.formatSubExpression(e.children)) : (this.layout.indentation.increaseBlockLevel(), this.layout.add(V.INDENT), this.layout = this.formatSubExpression(e.children), this.layout.indentation.decreaseBlockLevel()), this.layout.add(V.NEWLINE, V.INDENT, e.closeParen, V.SPACE));
3855
3855
  }
3856
3856
  formatBetweenPredicate(e) {
3857
- this.layout.add(this.showKw(e.betweenKw), H.SPACE), this.layout = this.formatSubExpression(e.expr1), this.layout.add(H.NO_SPACE, H.SPACE, this.showNonTabularKw(e.andKw), H.SPACE), this.layout = this.formatSubExpression(e.expr2), this.layout.add(H.SPACE);
3857
+ this.layout.add(this.showKw(e.betweenKw), V.SPACE), this.layout = this.formatSubExpression(e.expr1), this.layout.add(V.NO_SPACE, V.SPACE, this.showNonTabularKw(e.andKw), V.SPACE), this.layout = this.formatSubExpression(e.expr2), this.layout.add(V.SPACE);
3858
3858
  }
3859
3859
  formatCaseExpression(e) {
3860
- this.formatNode(e.caseKw), this.layout.indentation.increaseBlockLevel(), this.layout = this.formatSubExpression(e.expr), this.layout = this.formatSubExpression(e.clauses), this.layout.indentation.decreaseBlockLevel(), this.layout.add(H.NEWLINE, H.INDENT), this.formatNode(e.endKw);
3860
+ this.formatNode(e.caseKw), this.layout.indentation.increaseBlockLevel(), this.layout = this.formatSubExpression(e.expr), this.layout = this.formatSubExpression(e.clauses), this.layout.indentation.decreaseBlockLevel(), this.layout.add(V.NEWLINE, V.INDENT), this.formatNode(e.endKw);
3861
3861
  }
3862
3862
  formatCaseWhen(e) {
3863
- this.layout.add(H.NEWLINE, H.INDENT), this.formatNode(e.whenKw), this.layout = this.formatSubExpression(e.condition), this.formatNode(e.thenKw), this.layout = this.formatSubExpression(e.result);
3863
+ this.layout.add(V.NEWLINE, V.INDENT), this.formatNode(e.whenKw), this.layout = this.formatSubExpression(e.condition), this.formatNode(e.thenKw), this.layout = this.formatSubExpression(e.result);
3864
3864
  }
3865
3865
  formatCaseElse(e) {
3866
- this.layout.add(H.NEWLINE, H.INDENT), this.formatNode(e.elseKw), this.layout = this.formatSubExpression(e.result);
3866
+ this.layout.add(V.NEWLINE, V.INDENT), this.formatNode(e.elseKw), this.layout = this.formatSubExpression(e.result);
3867
3867
  }
3868
3868
  formatClause(e) {
3869
- this.isOnelineClause(e) ? this.formatClauseInOnelineStyle(e) : P(this.cfg) ? this.formatClauseInTabularStyle(e) : this.formatClauseInIndentedStyle(e);
3869
+ this.isOnelineClause(e) ? this.formatClauseInOnelineStyle(e) : N(this.cfg) ? this.formatClauseInTabularStyle(e) : this.formatClauseInIndentedStyle(e);
3870
3870
  }
3871
3871
  isOnelineClause(e) {
3872
- return P(this.cfg) ? this.dialectCfg.tabularOnelineClauses[e.nameKw.text] : this.dialectCfg.onelineClauses[e.nameKw.text];
3872
+ return N(this.cfg) ? this.dialectCfg.tabularOnelineClauses[e.nameKw.text] : this.dialectCfg.onelineClauses[e.nameKw.text];
3873
3873
  }
3874
3874
  formatClauseInIndentedStyle(e) {
3875
- this.layout.add(H.NEWLINE, H.INDENT, this.showKw(e.nameKw), H.NEWLINE), this.layout.indentation.increaseTopLevel(), this.layout.add(H.INDENT), this.layout = this.formatSubExpression(e.children), this.layout.indentation.decreaseTopLevel();
3875
+ this.layout.add(V.NEWLINE, V.INDENT, this.showKw(e.nameKw), V.NEWLINE), this.layout.indentation.increaseTopLevel(), this.layout.add(V.INDENT), this.layout = this.formatSubExpression(e.children), this.layout.indentation.decreaseTopLevel();
3876
3876
  }
3877
3877
  formatClauseInOnelineStyle(e) {
3878
- this.layout.add(H.NEWLINE, H.INDENT, this.showKw(e.nameKw), H.SPACE), this.layout = this.formatSubExpression(e.children);
3878
+ this.layout.add(V.NEWLINE, V.INDENT, this.showKw(e.nameKw), V.SPACE), this.layout = this.formatSubExpression(e.children);
3879
3879
  }
3880
3880
  formatClauseInTabularStyle(e) {
3881
- this.layout.add(H.NEWLINE, H.INDENT, this.showKw(e.nameKw), H.SPACE), this.layout.indentation.increaseTopLevel(), this.layout = this.formatSubExpression(e.children), this.layout.indentation.decreaseTopLevel();
3881
+ this.layout.add(V.NEWLINE, V.INDENT, this.showKw(e.nameKw), V.SPACE), this.layout.indentation.increaseTopLevel(), this.layout = this.formatSubExpression(e.children), this.layout.indentation.decreaseTopLevel();
3882
3882
  }
3883
3883
  formatSetOperation(e) {
3884
- this.layout.add(H.NEWLINE, H.INDENT, this.showKw(e.nameKw), H.NEWLINE), this.layout.add(H.INDENT), this.layout = this.formatSubExpression(e.children);
3884
+ this.layout.add(V.NEWLINE, V.INDENT, this.showKw(e.nameKw), V.NEWLINE), this.layout.add(V.INDENT), this.layout = this.formatSubExpression(e.children);
3885
3885
  }
3886
3886
  formatLimitClause(e) {
3887
3887
  this.withComments(e.limitKw, () => {
3888
- this.layout.add(H.NEWLINE, H.INDENT, this.showKw(e.limitKw));
3889
- }), this.layout.indentation.increaseTopLevel(), P(this.cfg) ? this.layout.add(H.SPACE) : this.layout.add(H.NEWLINE, H.INDENT), e.offset ? (this.layout = this.formatSubExpression(e.offset), this.layout.add(H.NO_SPACE, ",", H.SPACE), this.layout = this.formatSubExpression(e.count)) : this.layout = this.formatSubExpression(e.count), this.layout.indentation.decreaseTopLevel();
3888
+ this.layout.add(V.NEWLINE, V.INDENT, this.showKw(e.limitKw));
3889
+ }), this.layout.indentation.increaseTopLevel(), N(this.cfg) ? this.layout.add(V.SPACE) : this.layout.add(V.NEWLINE, V.INDENT), e.offset ? (this.layout = this.formatSubExpression(e.offset), this.layout.add(V.NO_SPACE, ",", V.SPACE), this.layout = this.formatSubExpression(e.count)) : this.layout = this.formatSubExpression(e.count), this.layout.indentation.decreaseTopLevel();
3890
3890
  }
3891
3891
  formatAllColumnsAsterisk(e) {
3892
- this.layout.add("*", H.SPACE);
3892
+ this.layout.add("*", V.SPACE);
3893
3893
  }
3894
3894
  formatLiteral(e) {
3895
- this.layout.add(e.text, H.SPACE);
3895
+ this.layout.add(e.text, V.SPACE);
3896
3896
  }
3897
3897
  formatIdentifier(e) {
3898
- this.layout.add(this.showIdentifier(e), H.SPACE);
3898
+ this.layout.add(this.showIdentifier(e), V.SPACE);
3899
3899
  }
3900
3900
  formatParameter(e) {
3901
- this.layout.add(this.params.get(e), H.SPACE);
3901
+ this.layout.add(this.params.get(e), V.SPACE);
3902
3902
  }
3903
3903
  formatOperator({ text: e }) {
3904
- this.cfg.denseOperators || this.dialectCfg.alwaysDenseOperators.includes(e) ? this.layout.add(H.NO_SPACE, e) : e === ":" ? this.layout.add(H.NO_SPACE, e, H.SPACE) : this.layout.add(e, H.SPACE);
3904
+ this.cfg.denseOperators || this.dialectCfg.alwaysDenseOperators.includes(e) ? this.layout.add(V.NO_SPACE, e) : e === ":" ? this.layout.add(V.NO_SPACE, e, V.SPACE) : this.layout.add(e, V.SPACE);
3905
3905
  }
3906
3906
  formatComma(e) {
3907
- this.inline ? this.layout.add(H.NO_SPACE, ",", H.SPACE) : this.layout.add(H.NO_SPACE, ",", H.NEWLINE, H.INDENT);
3907
+ this.inline ? this.layout.add(V.NO_SPACE, ",", V.SPACE) : this.layout.add(V.NO_SPACE, ",", V.NEWLINE, V.INDENT);
3908
3908
  }
3909
3909
  withComments(e, t) {
3910
3910
  this.formatComments(e.leadingComments), t(), this.formatComments(e.trailingComments);
3911
3911
  }
3912
3912
  formatComments(e) {
3913
3913
  e && e.forEach((e) => {
3914
- e.type === I.line_comment ? this.formatLineComment(e) : this.formatBlockComment(e);
3914
+ e.type === F.line_comment ? this.formatLineComment(e) : this.formatBlockComment(e);
3915
3915
  });
3916
3916
  }
3917
3917
  formatLineComment(e) {
3918
- Fi(e.precedingWhitespace || "") ? this.layout.add(H.NEWLINE, H.INDENT, e.text, H.MANDATORY_NEWLINE, H.INDENT) : this.layout.getLayoutItems().length > 0 ? this.layout.add(H.NO_NEWLINE, H.SPACE, e.text, H.MANDATORY_NEWLINE, H.INDENT) : this.layout.add(e.text, H.MANDATORY_NEWLINE, H.INDENT);
3918
+ Ii(e.precedingWhitespace || "") ? this.layout.add(V.NEWLINE, V.INDENT, e.text, V.MANDATORY_NEWLINE, V.INDENT) : this.layout.getLayoutItems().length > 0 ? this.layout.add(V.NO_NEWLINE, V.SPACE, e.text, V.MANDATORY_NEWLINE, V.INDENT) : this.layout.add(e.text, V.MANDATORY_NEWLINE, V.INDENT);
3919
3919
  }
3920
3920
  formatBlockComment(e) {
3921
- e.type === I.block_comment && this.isMultilineBlockComment(e) ? (this.splitBlockComment(e.text).forEach((e) => {
3922
- this.layout.add(H.NEWLINE, H.INDENT, e);
3923
- }), this.layout.add(H.NEWLINE, H.INDENT)) : this.layout.add(e.text, H.SPACE);
3921
+ e.type === F.block_comment && this.isMultilineBlockComment(e) ? (this.splitBlockComment(e.text).forEach((e) => {
3922
+ this.layout.add(V.NEWLINE, V.INDENT, e);
3923
+ }), this.layout.add(V.NEWLINE, V.INDENT)) : this.layout.add(e.text, V.SPACE);
3924
3924
  }
3925
3925
  isMultilineBlockComment(e) {
3926
- return Fi(e.text) || Fi(e.precedingWhitespace || "");
3926
+ return Ii(e.text) || Ii(e.precedingWhitespace || "");
3927
3927
  }
3928
3928
  isDocComment(e) {
3929
3929
  let t = e.split(/\n/);
3930
- return /^\/\*\*?$/.test(t[0]) && t.slice(1, t.length - 1).every((e) => /^\s*\*/.test(e)) && /^\s*\*\/$/.test(O(t));
3930
+ return /^\/\*\*?$/.test(t[0]) && t.slice(1, t.length - 1).every((e) => /^\s*\*/.test(e)) && /^\s*\*\/$/.test(D(t));
3931
3931
  }
3932
3932
  splitBlockComment(e) {
3933
3933
  return this.isDocComment(e) ? e.split(/\n/).map((e) => /^\s*\*/.test(e) ? " " + e.replace(/^\s*/, "") : e) : e.split(/\n/).map((e) => e.replace(/^\s*/, ""));
@@ -3948,11 +3948,11 @@ var Fa = "top-level", Ia = "block-level", La = class {
3948
3948
  cfg: this.cfg,
3949
3949
  dialectCfg: this.dialectCfg,
3950
3950
  params: this.params,
3951
- layout: new Ra(this.cfg.expressionWidth),
3951
+ layout: new za(this.cfg.expressionWidth),
3952
3952
  inline: !0
3953
3953
  }).format(t);
3954
3954
  } catch (e) {
3955
- if (e instanceof za) {
3955
+ if (e instanceof Ba) {
3956
3956
  this.params.setPositionalParameterIndex(n);
3957
3957
  return;
3958
3958
  } else throw e;
@@ -3968,33 +3968,33 @@ var Fa = "top-level", Ia = "block-level", La = class {
3968
3968
  }
3969
3969
  }
3970
3970
  formatJoin(e) {
3971
- P(this.cfg) ? (this.layout.indentation.decreaseTopLevel(), this.layout.add(H.NEWLINE, H.INDENT, this.showKw(e), H.SPACE), this.layout.indentation.increaseTopLevel()) : this.layout.add(H.NEWLINE, H.INDENT, this.showKw(e), H.SPACE);
3971
+ N(this.cfg) ? (this.layout.indentation.decreaseTopLevel(), this.layout.add(V.NEWLINE, V.INDENT, this.showKw(e), V.SPACE), this.layout.indentation.increaseTopLevel()) : this.layout.add(V.NEWLINE, V.INDENT, this.showKw(e), V.SPACE);
3972
3972
  }
3973
3973
  formatKeyword(e) {
3974
- this.layout.add(this.showKw(e), H.SPACE);
3974
+ this.layout.add(this.showKw(e), V.SPACE);
3975
3975
  }
3976
3976
  formatLogicalOperator(e) {
3977
- this.cfg.logicalOperatorNewline === "before" ? P(this.cfg) ? (this.layout.indentation.decreaseTopLevel(), this.layout.add(H.NEWLINE, H.INDENT, this.showKw(e), H.SPACE), this.layout.indentation.increaseTopLevel()) : this.layout.add(H.NEWLINE, H.INDENT, this.showKw(e), H.SPACE) : this.layout.add(this.showKw(e), H.NEWLINE, H.INDENT);
3977
+ this.cfg.logicalOperatorNewline === "before" ? N(this.cfg) ? (this.layout.indentation.decreaseTopLevel(), this.layout.add(V.NEWLINE, V.INDENT, this.showKw(e), V.SPACE), this.layout.indentation.increaseTopLevel()) : this.layout.add(V.NEWLINE, V.INDENT, this.showKw(e), V.SPACE) : this.layout.add(this.showKw(e), V.NEWLINE, V.INDENT);
3978
3978
  }
3979
3979
  formatDataType(e) {
3980
- this.layout.add(this.showDataType(e), H.SPACE);
3980
+ this.layout.add(this.showDataType(e), V.SPACE);
3981
3981
  }
3982
3982
  showKw(e) {
3983
- return Pa(e.tokenType) ? Na(this.showNonTabularKw(e), this.cfg.indentStyle) : this.showNonTabularKw(e);
3983
+ return Fa(e.tokenType) ? Pa(this.showNonTabularKw(e), this.cfg.indentStyle) : this.showNonTabularKw(e);
3984
3984
  }
3985
3985
  showNonTabularKw(e) {
3986
3986
  switch (this.cfg.keywordCase) {
3987
- case "preserve": return k(e.raw);
3987
+ case "preserve": return O(e.raw);
3988
3988
  case "upper": return e.text;
3989
3989
  case "lower": return e.text.toLowerCase();
3990
3990
  }
3991
3991
  }
3992
3992
  showFunctionKw(e) {
3993
- return Pa(e.tokenType) ? Na(this.showNonTabularFunctionKw(e), this.cfg.indentStyle) : this.showNonTabularFunctionKw(e);
3993
+ return Fa(e.tokenType) ? Pa(this.showNonTabularFunctionKw(e), this.cfg.indentStyle) : this.showNonTabularFunctionKw(e);
3994
3994
  }
3995
3995
  showNonTabularFunctionKw(e) {
3996
3996
  switch (this.cfg.functionCase) {
3997
- case "preserve": return k(e.raw);
3997
+ case "preserve": return O(e.raw);
3998
3998
  case "upper": return e.text;
3999
3999
  case "lower": return e.text.toLowerCase();
4000
4000
  }
@@ -4009,36 +4009,36 @@ var Fa = "top-level", Ia = "block-level", La = class {
4009
4009
  }
4010
4010
  showDataType(e) {
4011
4011
  switch (this.cfg.dataTypeCase) {
4012
- case "preserve": return k(e.raw);
4012
+ case "preserve": return O(e.raw);
4013
4013
  case "upper": return e.text;
4014
4014
  case "lower": return e.text.toLowerCase();
4015
4015
  }
4016
4016
  }
4017
- }, Va = class {
4017
+ }, Ha = class {
4018
4018
  constructor(e, t) {
4019
- this.dialect = e, this.cfg = t, this.params = new da(this.cfg.params);
4019
+ this.dialect = e, this.cfg = t, this.params = new fa(this.cfg.params);
4020
4020
  }
4021
4021
  format(e) {
4022
4022
  let t = this.parse(e);
4023
4023
  return this.formatAst(t).trimEnd();
4024
4024
  }
4025
4025
  parse(e) {
4026
- return ka(this.dialect.tokenizer).parse(e, this.cfg.paramTypes || {});
4026
+ return Aa(this.dialect.tokenizer).parse(e, this.cfg.paramTypes || {});
4027
4027
  }
4028
4028
  formatAst(e) {
4029
4029
  return e.map((e) => this.formatStatement(e)).join("\n".repeat(this.cfg.linesBetweenQueries + 1));
4030
4030
  }
4031
4031
  formatStatement(e) {
4032
- let t = new Ba({
4032
+ let t = new Va({
4033
4033
  cfg: this.cfg,
4034
4034
  dialectCfg: this.dialect.formatOptions,
4035
4035
  params: this.params,
4036
- layout: new Aa(new La(ua(this.cfg)))
4036
+ layout: new ja(new Ra(da(this.cfg)))
4037
4037
  }).format(e.children);
4038
- return e.hasSemicolon && (this.cfg.newlineBeforeSemicolon ? t.add(H.NEWLINE, ";") : t.add(H.NO_NEWLINE, ";")), t.toString();
4038
+ return e.hasSemicolon && (this.cfg.newlineBeforeSemicolon ? t.add(V.NEWLINE, ";") : t.add(V.NO_NEWLINE, ";")), t.toString();
4039
4039
  }
4040
- }, U = class extends Error {};
4041
- function Ha(e) {
4040
+ }, H = class extends Error {};
4041
+ function Ua(e) {
4042
4042
  for (let t of [
4043
4043
  "multilineLists",
4044
4044
  "newlineBeforeOpenParen",
@@ -4046,25 +4046,25 @@ function Ha(e) {
4046
4046
  "aliasAs",
4047
4047
  "commaPosition",
4048
4048
  "tabulateAlias"
4049
- ]) if (t in e) throw new U(`${t} config is no more supported.`);
4050
- if (e.expressionWidth <= 0) throw new U(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);
4051
- if (e.params && !Ua(e.params) && console.warn("WARNING: All \"params\" option values should be strings."), e.paramTypes && !Wa(e.paramTypes)) throw new U("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");
4049
+ ]) if (t in e) throw new H(`${t} config is no more supported.`);
4050
+ if (e.expressionWidth <= 0) throw new H(`expressionWidth config must be positive number. Received ${e.expressionWidth} instead.`);
4051
+ if (e.params && !Wa(e.params) && console.warn("WARNING: All \"params\" option values should be strings."), e.paramTypes && !Ga(e.paramTypes)) throw new H("Empty regex given in custom paramTypes. That would result in matching infinite amount of parameters.");
4052
4052
  return e;
4053
4053
  }
4054
- function Ua(e) {
4054
+ function Wa(e) {
4055
4055
  return (e instanceof Array ? e : Object.values(e)).every((e) => typeof e == "string");
4056
4056
  }
4057
- function Wa(e) {
4057
+ function Ga(e) {
4058
4058
  return e.custom && Array.isArray(e.custom) ? e.custom.every((e) => e.regex !== "") : !0;
4059
4059
  }
4060
4060
  //#endregion
4061
4061
  //#region node_modules/sql-formatter/dist/esm/sqlFormatter.js
4062
- var Ga = function(e, t) {
4062
+ var Ka = function(e, t) {
4063
4063
  var n = {};
4064
4064
  for (var r in e) Object.prototype.hasOwnProperty.call(e, r) && t.indexOf(r) < 0 && (n[r] = e[r]);
4065
4065
  if (e != null && typeof Object.getOwnPropertySymbols == "function") for (var i = 0, r = Object.getOwnPropertySymbols(e); i < r.length; i++) t.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(e, r[i]) && (n[r[i]] = e[r[i]]);
4066
4066
  return n;
4067
- }, Ka = {
4067
+ }, qa = {
4068
4068
  bigquery: "bigquery",
4069
4069
  clickhouse: "clickhouse",
4070
4070
  db2: "db2",
@@ -4086,7 +4086,7 @@ var Ga = function(e, t) {
4086
4086
  tsql: "transactsql",
4087
4087
  singlestoredb: "singlestoredb",
4088
4088
  snowflake: "snowflake"
4089
- }, qa = Object.keys(Ka), Ja = {
4089
+ }, Ja = Object.keys(qa), Ya = {
4090
4090
  tabWidth: 2,
4091
4091
  useTabs: !1,
4092
4092
  keywordCase: "preserve",
@@ -4099,16 +4099,16 @@ var Ga = function(e, t) {
4099
4099
  linesBetweenQueries: 1,
4100
4100
  denseOperators: !1,
4101
4101
  newlineBeforeSemicolon: !1
4102
- }, Ya = (e, t = {}) => {
4103
- if (typeof t.language == "string" && !qa.includes(t.language)) throw new U(`Unsupported SQL dialect: ${t.language}`);
4104
- let n = Ka[t.language || "sql"];
4105
- return Xa(e, Object.assign(Object.assign({}, t), { dialect: Ni[n] }));
4106
- }, Xa = (e, t) => {
4107
- var { dialect: n } = t, r = Ga(t, ["dialect"]);
4102
+ }, Xa = (e, t = {}) => {
4103
+ if (typeof t.language == "string" && !Ja.includes(t.language)) throw new H(`Unsupported SQL dialect: ${t.language}`);
4104
+ let n = qa[t.language || "sql"];
4105
+ return Za(e, Object.assign(Object.assign({}, t), { dialect: Pi[n] }));
4106
+ }, Za = (e, t) => {
4107
+ var { dialect: n } = t, r = Ka(t, ["dialect"]);
4108
4108
  if (typeof e != "string") throw Error("Invalid query argument. Expected string, instead got " + typeof e);
4109
- let i = Ha(Object.assign(Object.assign({}, Ja), r));
4110
- return new Va(sa(n), i).format(e);
4111
- }, Za = {
4109
+ let i = Ua(Object.assign(Object.assign({}, Ya), r));
4110
+ return new Ha(ca(n), i).format(e);
4111
+ }, Qa = {
4112
4112
  funnel: {
4113
4113
  description: "Track conversion through sequential steps. Entities (identified by bindingKey) move through ordered steps.",
4114
4114
  structure: { funnel: {
@@ -4116,46 +4116,50 @@ var Ga = function(e, t) {
4116
4116
  timeDimension: "Cube.dimension - time field for ordering events",
4117
4117
  steps: [{
4118
4118
  name: "string - human readable step name",
4119
- filter: {
4120
- member: "Cube.dimension",
4121
- operator: "equals | notEquals | contains | ...",
4122
- values: ["array of filter values"]
4123
- },
4124
- timeToConvert: "optional - max time window e.g. \"7 days\""
4119
+ filter: "{ member, operator, values } or array of filters. Put inDateRange ONLY on step 0.",
4120
+ timeToConvert: "optional - ISO 8601 duration e.g. \"P7D\" for 7 days, \"PT1H\" for 1 hour"
4125
4121
  }],
4126
- dateRange: "[start, end] array OR string like \"last 7 days\", \"last 3 months\", \"this quarter\""
4122
+ includeTimeMetrics: "optional boolean - include avg/median/p90 time-to-convert",
4123
+ globalTimeWindow: "optional - ISO 8601 duration, all steps must complete within this window"
4127
4124
  } }
4128
4125
  },
4129
4126
  flow: {
4130
- description: "Analyze paths users take before/after a specific event. Shows event sequences.",
4127
+ description: "Analyze paths users take before/after a specific event. Shows event sequences as Sankey/sunburst.",
4131
4128
  structure: { flow: {
4132
4129
  bindingKey: "Cube.dimension - identifies entities",
4133
4130
  timeDimension: "Cube.dimension - time field for ordering",
4134
- eventDimension: "Cube.dimension - the event type field",
4135
- startingStep: { filter: {
4136
- member: "Cube.dimension",
4137
- operator: "equals",
4138
- values: ["event value"]
4139
- } },
4140
- stepsBefore: "number - how many steps to show before starting step",
4141
- stepsAfter: "number - how many steps to show after starting step",
4142
- dateRange: "[start, end] array OR string like \"last 7 days\", \"last 3 months\", \"this quarter\""
4131
+ eventDimension: "Cube.dimension - the event type field (values become node labels)",
4132
+ startingStep: {
4133
+ name: "string - display name for the starting step",
4134
+ filter: "{ member, operator, values } - filter identifying the starting event"
4135
+ },
4136
+ stepsBefore: "number (0-5) - how many steps to show before starting step",
4137
+ stepsAfter: "number (0-5) - how many steps to show after starting step",
4138
+ entityLimit: "optional number - max entities to process (performance)",
4139
+ outputMode: "optional \"sankey\" | \"sunburst\" (default: sankey)"
4143
4140
  } }
4144
4141
  },
4145
4142
  retention: {
4146
4143
  description: "Measure how many users return over time periods after initial activity.",
4147
4144
  structure: { retention: {
4148
- bindingKey: "Cube.dimension - identifies entities",
4149
4145
  timeDimension: "Cube.dimension - time field for cohort assignment",
4146
+ bindingKey: "Cube.dimension - identifies entities",
4147
+ dateRange: {
4148
+ start: "YYYY-MM-DD - cohort start date",
4149
+ end: "YYYY-MM-DD - cohort end date"
4150
+ },
4150
4151
  granularity: "day | week | month - period size",
4151
4152
  periods: "number - how many periods to analyze",
4152
- dateRange: "[start, end] array OR string like \"last 7 days\", \"last 3 months\", \"this quarter\""
4153
+ retentionType: "\"classic\" (returned in period N) | \"rolling\" (returned in N or later)",
4154
+ cohortFilters: "optional - filters on cohort entry events",
4155
+ activityFilters: "optional - filters on return activity events",
4156
+ breakdownDimensions: "optional string[] - segment by these dimensions"
4153
4157
  } }
4154
4158
  }
4155
4159
  };
4156
4160
  //#endregion
4157
4161
  //#region src/server/ai/discovery.ts
4158
- function Qa(e, t) {
4162
+ function $a(e, t) {
4159
4163
  if (e.length > 500 || t.length > 500) return e.length + t.length;
4160
4164
  let n = [];
4161
4165
  for (let e = 0; e <= t.length; e++) n[e] = [e];
@@ -4163,7 +4167,7 @@ function Qa(e, t) {
4163
4167
  for (let r = 1; r <= t.length; r++) for (let i = 1; i <= e.length; i++) t.charAt(r - 1) === e.charAt(i - 1) ? n[r][i] = n[r - 1][i - 1] : n[r][i] = Math.min(n[r - 1][i - 1] + 1, n[r][i - 1] + 1, n[r - 1][i] + 1);
4164
4168
  return n[t.length][e.length];
4165
4169
  }
4166
- function W(e, t) {
4170
+ function U(e, t) {
4167
4171
  let n = e.toLowerCase().trim(), r = t.toLowerCase().trim();
4168
4172
  if (n === r) return 1;
4169
4173
  if (r.includes(n)) return .9;
@@ -4172,38 +4176,38 @@ function W(e, t) {
4172
4176
  if (e === n) return .85;
4173
4177
  if (e.startsWith(n)) return .75;
4174
4178
  }
4175
- let a = 1 - Qa(n, r) / Math.max(n.length, r.length);
4179
+ let a = 1 - $a(n, r) / Math.max(n.length, r.length);
4176
4180
  return a > .5 ? a * .7 : 0;
4177
4181
  }
4178
- function G(e, t) {
4182
+ function W(e, t) {
4179
4183
  let n = 0;
4180
4184
  for (let r of t) {
4181
- let t = W(e, r);
4185
+ let t = U(e, r);
4182
4186
  t > n && (n = t);
4183
4187
  }
4184
4188
  return n;
4185
4189
  }
4186
- function $a(e) {
4190
+ function eo(e) {
4187
4191
  let t = new Set(/* @__PURE__ */ "a.an.the.is.are.was.were.be.been.being.have.has.had.do.does.did.will.would.could.should.may.might.must.can.and.or.but.if.then.else.when.where.why.how.what.which.who.this.that.these.those.i.me.my.we.our.you.your.he.she.it.they.them.their.in.on.at.to.for.of.with.by.from.up.down.out.over.under.about.into.through.during.before.after.above.below.between.show.me.get.find.list.give.tell.display.want.need.see.know".split("."));
4188
4192
  return e.toLowerCase().replace(/[^\w\s]/g, " ").split(/\s+/).filter((e) => e.length > 2 && !t.has(e));
4189
4193
  }
4190
- function eo(e, t) {
4194
+ function to(e, t) {
4191
4195
  let n = 0, r = [], i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Map();
4192
4196
  for (let o of t) {
4193
- let t = W(o, e.name);
4197
+ let t = U(o, e.name);
4194
4198
  t > .5 && (n += t * 2, r.includes("name") || r.push("name"));
4195
- let s = W(o, e.title);
4199
+ let s = U(o, e.title);
4196
4200
  if (s > .5 && (n += s * 1.5, r.includes("title") || r.push("title")), e.description) {
4197
- let t = W(o, e.description);
4201
+ let t = U(o, e.description);
4198
4202
  t > .3 && (n += t, r.includes("description") || r.push("description"));
4199
4203
  }
4200
4204
  if (e.exampleQuestions) for (let t of e.exampleQuestions) {
4201
- let e = W(o, t);
4205
+ let e = U(o, t);
4202
4206
  e > .3 && (n += e * 1.5, r.includes("exampleQuestions") || r.push("exampleQuestions"));
4203
4207
  }
4204
4208
  for (let t of e.measures) {
4205
4209
  let e = 0, a = t.name.split(".").pop() || t.name;
4206
- if (e = Math.max(e, W(o, a)), e = Math.max(e, W(o, t.title)), t.description && (e = Math.max(e, W(o, t.description) * .8)), t.synonyms && (e = Math.max(e, G(o, t.synonyms))), e > .4) {
4210
+ if (e = Math.max(e, U(o, a)), e = Math.max(e, U(o, t.title)), t.description && (e = Math.max(e, U(o, t.description) * .8)), t.synonyms && (e = Math.max(e, W(o, t.synonyms))), e > .4) {
4207
4211
  n += e, r.includes("measures") || r.push("measures");
4208
4212
  let a = i.get(t.name) || 0;
4209
4213
  i.set(t.name, Math.max(a, e));
@@ -4211,7 +4215,7 @@ function eo(e, t) {
4211
4215
  }
4212
4216
  for (let t of e.dimensions) {
4213
4217
  let e = 0, i = t.name.split(".").pop() || t.name;
4214
- if (e = Math.max(e, W(o, i)), e = Math.max(e, W(o, t.title)), t.description && (e = Math.max(e, W(o, t.description) * .8)), t.synonyms && (e = Math.max(e, G(o, t.synonyms))), e > .4) {
4218
+ if (e = Math.max(e, U(o, i)), e = Math.max(e, U(o, t.title)), t.description && (e = Math.max(e, U(o, t.description) * .8)), t.synonyms && (e = Math.max(e, W(o, t.synonyms))), e > .4) {
4215
4219
  n += e, r.includes("dimensions") || r.push("dimensions");
4216
4220
  let i = a.get(t.name) || 0;
4217
4221
  a.set(t.name, Math.max(i, e));
@@ -4225,7 +4229,7 @@ function eo(e, t) {
4225
4229
  suggestedDimensions: Array.from(a.entries()).sort((e, t) => t[1] - e[1]).slice(0, 5).map(([e]) => e)
4226
4230
  };
4227
4231
  }
4228
- function to(e) {
4232
+ function no(e) {
4229
4233
  let t = !!e.meta?.eventStream, n = e.dimensions.some((e) => e.type === "time"), r = e.dimensions.some((t) => t.name.toLowerCase().includes("id") || t.type === "number" || e.meta?.eventStream?.bindingKey && t.name === e.meta.eventStream.bindingKey), i = t || n && r;
4230
4234
  return {
4231
4235
  query: !0,
@@ -4234,8 +4238,8 @@ function to(e) {
4234
4238
  retention: i
4235
4239
  };
4236
4240
  }
4237
- function no(e) {
4238
- let t = to(e);
4241
+ function ro(e) {
4242
+ let t = no(e);
4239
4243
  if (!t.funnel && !t.flow && !t.retention) return;
4240
4244
  let n = [];
4241
4245
  if (e.meta?.eventStream?.bindingKey) {
@@ -4275,7 +4279,7 @@ function no(e) {
4275
4279
  candidateEventDimensions: i
4276
4280
  };
4277
4281
  }
4278
- function ro(e, t) {
4282
+ function io(e, t) {
4279
4283
  let n = [];
4280
4284
  if (!t) return n;
4281
4285
  if (t.candidateBindingKeys.length > 1 && n.push("Choose bindingKey based on what entity to track through the analysis"), t.candidateEventDimensions.length > 0) {
@@ -4284,10 +4288,10 @@ function ro(e, t) {
4284
4288
  }
4285
4289
  return n.push("Use /mcp/load with a standard query to discover dimension values before building analysis queries"), n;
4286
4290
  }
4287
- function io(e, t = {}) {
4291
+ function ao(e, t = {}) {
4288
4292
  let { topic: n, intent: r, limit: i = 10, minScore: a = .1 } = t, o = [n, r].filter(Boolean).join(" ");
4289
4293
  if (!o.trim()) return e.slice(0, i).map((e) => {
4290
- let t = to(e), n = no(e), r = ro(e, n), i = t.funnel || t.flow || t.retention;
4294
+ let t = no(e), n = ro(e), r = io(e, n), i = t.funnel || t.flow || t.retention;
4291
4295
  return {
4292
4296
  cube: e.name,
4293
4297
  title: e.title,
@@ -4299,16 +4303,16 @@ function io(e, t = {}) {
4299
4303
  capabilities: t,
4300
4304
  analysisConfig: n,
4301
4305
  hints: r.length > 0 ? r : void 0,
4302
- querySchemas: i ? Za : void 0
4306
+ querySchemas: i ? Qa : void 0
4303
4307
  };
4304
4308
  });
4305
- let s = $a(o);
4309
+ let s = eo(o);
4306
4310
  if (s.length === 0) return [];
4307
4311
  let c = [];
4308
4312
  for (let t of e) {
4309
- let { score: e, matchedOn: n, suggestedMeasures: r, suggestedDimensions: i } = eo(t, s);
4313
+ let { score: e, matchedOn: n, suggestedMeasures: r, suggestedDimensions: i } = to(t, s);
4310
4314
  if (e >= a) {
4311
- let a = to(t), o = no(t), s = ro(t, o), l = a.funnel || a.flow || a.retention;
4315
+ let a = no(t), o = ro(t), s = io(t, o), l = a.funnel || a.flow || a.retention;
4312
4316
  c.push({
4313
4317
  cube: t.name,
4314
4318
  title: t.title,
@@ -4320,18 +4324,18 @@ function io(e, t = {}) {
4320
4324
  capabilities: a,
4321
4325
  analysisConfig: o,
4322
4326
  hints: s.length > 0 ? s : void 0,
4323
- querySchemas: l ? Za : void 0
4327
+ querySchemas: l ? Qa : void 0
4324
4328
  });
4325
4329
  }
4326
4330
  }
4327
4331
  return c.sort((e, t) => t.relevanceScore - e.relevanceScore).slice(0, i);
4328
4332
  }
4329
- function ao(e, t, n) {
4333
+ function oo(e, t, n) {
4330
4334
  let r = null;
4331
4335
  for (let i of e) {
4332
4336
  if (!n || n === "measure") for (let e of i.measures) {
4333
- let n = W(t, e.name.split(".").pop() || e.name);
4334
- n = Math.max(n, W(t, e.title)), e.synonyms && (n = Math.max(n, G(t, e.synonyms))), n > .5 && (!r || n > r.score) && (r = {
4337
+ let n = U(t, e.name.split(".").pop() || e.name);
4338
+ n = Math.max(n, U(t, e.title)), e.synonyms && (n = Math.max(n, W(t, e.synonyms))), n > .5 && (!r || n > r.score) && (r = {
4335
4339
  field: e.name,
4336
4340
  cube: i.name,
4337
4341
  score: n,
@@ -4339,8 +4343,8 @@ function ao(e, t, n) {
4339
4343
  });
4340
4344
  }
4341
4345
  if (!n || n === "dimension") for (let e of i.dimensions) {
4342
- let n = W(t, e.name.split(".").pop() || e.name);
4343
- n = Math.max(n, W(t, e.title)), e.synonyms && (n = Math.max(n, G(t, e.synonyms))), n > .5 && (!r || n > r.score) && (r = {
4346
+ let n = U(t, e.name.split(".").pop() || e.name);
4347
+ n = Math.max(n, U(t, e.title)), e.synonyms && (n = Math.max(n, W(t, e.synonyms))), n > .5 && (!r || n > r.score) && (r = {
4344
4348
  field: e.name,
4345
4349
  cube: i.name,
4346
4350
  score: n,
@@ -4352,7 +4356,7 @@ function ao(e, t, n) {
4352
4356
  }
4353
4357
  //#endregion
4354
4358
  //#region src/server/ai/suggestion.ts
4355
- function oo() {
4359
+ function so() {
4356
4360
  let e = /* @__PURE__ */ new Date(), t = e.toISOString().split("T")[0], n = (e) => e.toISOString().split("T")[0], r = (e) => new Date(e.getFullYear(), e.getMonth(), 1), i = (e) => new Date(e.getFullYear(), 0, 1), a = (e) => {
4357
4361
  let t = Math.floor(e.getMonth() / 3);
4358
4362
  return new Date(e.getFullYear(), t * 3, 1);
@@ -4463,16 +4467,16 @@ function oo() {
4463
4467
  }
4464
4468
  ];
4465
4469
  }
4466
- var so = {
4470
+ var co = {
4467
4471
  funnel: /\b(funnel|conversion|drop.?off|steps?|journey|pipeline|stages?)\b/i,
4468
4472
  flow: /\b(flows?|paths?|sequence|before|after|next|previous|user.?journey)\b/i,
4469
4473
  retention: /\b(retention|cohort|return|churn|comeback|retained|day.?\d+)\b/i
4470
4474
  };
4471
- function co(e) {
4475
+ function lo(e) {
4472
4476
  let t = e.toLowerCase();
4473
- return so.funnel.test(t) ? "funnel" : so.flow.test(t) ? "flow" : so.retention.test(t) ? "retention" : "query";
4477
+ return co.funnel.test(t) ? "funnel" : co.flow.test(t) ? "flow" : co.retention.test(t) ? "retention" : "query";
4474
4478
  }
4475
- function lo(e, t) {
4479
+ function uo(e, t) {
4476
4480
  let n = t || "the relevant cube";
4477
4481
  switch (e) {
4478
4482
  case "funnel": return [
@@ -4488,8 +4492,8 @@ function lo(e, t) {
4488
4492
  case "retention": return [`Use /mcp/discover to get ${n} retention configuration and schema`, "Build retention query specifying granularity (day/week/month) and number of periods"];
4489
4493
  }
4490
4494
  }
4491
- function uo(e) {
4492
- let t = oo(), n = e.toLowerCase();
4495
+ function fo(e) {
4496
+ let t = so(), n = e.toLowerCase();
4493
4497
  for (let e of t) {
4494
4498
  let t = n.match(e.pattern);
4495
4499
  if (t) {
@@ -4532,7 +4536,7 @@ function uo(e) {
4532
4536
  }
4533
4537
  return null;
4534
4538
  }
4535
- function fo(e) {
4539
+ function po(e) {
4536
4540
  let t = e.toLowerCase();
4537
4541
  for (let { pattern: e, type: n } of [
4538
4542
  {
@@ -4561,7 +4565,7 @@ function fo(e) {
4561
4565
  };
4562
4566
  return null;
4563
4567
  }
4564
- function po(e) {
4568
+ function mo(e) {
4565
4569
  let t = e.toLowerCase(), n = [], r = /\bby\s+(\w+(?:\s+\w+)?)/gi, i;
4566
4570
  for (; (i = r.exec(t)) !== null;) n.push(i[1].trim());
4567
4571
  let a = /\bper\s+(\w+)/gi;
@@ -4570,17 +4574,17 @@ function po(e) {
4570
4574
  for (; (i = o.exec(t)) !== null;) n.push(i[1].trim());
4571
4575
  return n;
4572
4576
  }
4573
- function mo(e, t, n) {
4574
- let r = [], i = [], a = {}, o = co(t), s;
4577
+ function ho(e, t, n) {
4578
+ let r = [], i = [], a = {}, o = lo(t), s;
4575
4579
  if (n) {
4576
4580
  let t = e.find((e) => e.name === n);
4577
4581
  t ? (s = [t], r.push(`Using specified cube: ${n}`)) : (i.push(`Specified cube '${n}' not found`), s = []);
4578
- } else s = io(e, {
4582
+ } else s = ao(e, {
4579
4583
  intent: t,
4580
4584
  limit: 3
4581
4585
  }).map((t) => e.find((e) => e.name === t.cube)).filter((e) => e !== void 0), s.length > 0 && r.push(`Identified relevant cubes: ${s.map((e) => e.name).join(", ")}`);
4582
4586
  if (s.length === 0) {
4583
- let e = o !== "query", t = e ? lo(o, void 0) : void 0;
4587
+ let e = o !== "query", t = e ? uo(o, void 0) : void 0;
4584
4588
  return {
4585
4589
  query: {},
4586
4590
  confidence: e ? .7 : 0,
@@ -4590,7 +4594,7 @@ function mo(e, t, n) {
4590
4594
  nextSteps: t
4591
4595
  };
4592
4596
  }
4593
- let c = s[0], l = .5, u = fo(t);
4597
+ let c = s[0], l = .5, u = po(t);
4594
4598
  u && (r.push(`Detected ${u.type} aggregation intent`), l += .1);
4595
4599
  let d = [], f = t.toLowerCase();
4596
4600
  for (let e of c.measures) {
@@ -4613,9 +4617,9 @@ function mo(e, t, n) {
4613
4617
  }
4614
4618
  }
4615
4619
  d.length === 0 && c.measures.length > 0 && (d.push(c.measures[0].name), r.push(`Using default measure: ${c.measures[0].name}`), i.push("Could not determine specific measure from query, using default")), a.measures = d;
4616
- let p = po(t), m = [];
4620
+ let p = mo(t), m = [];
4617
4621
  for (let e of p) {
4618
- let t = ao(s, e, "dimension");
4622
+ let t = oo(s, e, "dimension");
4619
4623
  t && (m.push(t.field), r.push(`Matched dimension '${t.field}' from grouping keyword '${e}'`), l += .1);
4620
4624
  }
4621
4625
  for (let e of s) for (let t of e.dimensions) {
@@ -4630,7 +4634,7 @@ function mo(e, t, n) {
4630
4634
  }
4631
4635
  }
4632
4636
  m.length > 0 && (a.dimensions = m);
4633
- let h = uo(t);
4637
+ let h = fo(t);
4634
4638
  if (h) {
4635
4639
  let e = c.dimensions.find((e) => e.type === "time");
4636
4640
  if (e) {
@@ -4649,7 +4653,7 @@ function mo(e, t, n) {
4649
4653
  reasoning: [`Detected ${o} intent from natural language`, ...e ? [`Found relevant cube: ${e}`] : []],
4650
4654
  warnings: i.length > 0 ? i : void 0,
4651
4655
  analysisMode: o,
4652
- nextSteps: lo(o, e)
4656
+ nextSteps: uo(o, e)
4653
4657
  };
4654
4658
  }
4655
4659
  return {
@@ -4662,7 +4666,7 @@ function mo(e, t, n) {
4662
4666
  }
4663
4667
  //#endregion
4664
4668
  //#region src/server/ai/validation.ts
4665
- function ho(e, t) {
4669
+ function go(e, t) {
4666
4670
  if (e.length > 500 || t.length > 500) return e.length + t.length;
4667
4671
  let n = [];
4668
4672
  for (let e = 0; e <= t.length; e++) n[e] = [e];
@@ -4670,10 +4674,10 @@ function ho(e, t) {
4670
4674
  for (let r = 1; r <= t.length; r++) for (let i = 1; i <= e.length; i++) t.charAt(r - 1) === e.charAt(i - 1) ? n[r][i] = n[r - 1][i - 1] : n[r][i] = Math.min(n[r - 1][i - 1] + 1, n[r][i - 1] + 1, n[r - 1][i] + 1);
4671
4675
  return n[t.length][e.length];
4672
4676
  }
4673
- function K(e, t) {
4677
+ function G(e, t) {
4674
4678
  let n = null;
4675
4679
  for (let r of t) {
4676
- let t = ho(e.toLowerCase(), r.toLowerCase());
4680
+ let t = go(e.toLowerCase(), r.toLowerCase());
4677
4681
  t <= 3 && (!n || t < n.distance) && (n = {
4678
4682
  field: r,
4679
4683
  distance: t
@@ -4681,7 +4685,7 @@ function K(e, t) {
4681
4685
  }
4682
4686
  return n;
4683
4687
  }
4684
- function go(e, t, n, r) {
4688
+ function _o(e, t, n, r) {
4685
4689
  let i = e.split(".");
4686
4690
  if (i.length !== 2) {
4687
4691
  n.push({
@@ -4693,7 +4697,7 @@ function go(e, t, n, r) {
4693
4697
  }
4694
4698
  let [a, o] = i, s = t.find((e) => e.name === a);
4695
4699
  if (!s) {
4696
- let i = t.map((e) => e.name), s = K(a, i);
4700
+ let i = t.map((e) => e.name), s = G(a, i);
4697
4701
  s ? (n.push({
4698
4702
  type: "cube_not_found",
4699
4703
  message: `Cube '${a}' not found`,
@@ -4709,7 +4713,7 @@ function go(e, t, n, r) {
4709
4713
  return;
4710
4714
  }
4711
4715
  if (!s.measures.some((t) => t.name === e)) {
4712
- let i = ao(t, o, "measure");
4716
+ let i = oo(t, o, "measure");
4713
4717
  if (i && i.cube === a) n.push({
4714
4718
  type: "measure_not_found",
4715
4719
  message: `Measure '${o}' not found on cube '${a}'`,
@@ -4718,7 +4722,7 @@ function go(e, t, n, r) {
4718
4722
  correctedValue: i.field
4719
4723
  }), r.set(e, i.field);
4720
4724
  else {
4721
- let t = s.measures.map((e) => e.name.split(".").pop()), i = K(o, t);
4725
+ let t = s.measures.map((e) => e.name.split(".").pop()), i = G(o, t);
4722
4726
  if (i) {
4723
4727
  let t = `${a}.${i.field}`;
4724
4728
  n.push({
@@ -4737,7 +4741,7 @@ function go(e, t, n, r) {
4737
4741
  }
4738
4742
  }
4739
4743
  }
4740
- function q(e, t, n, r) {
4744
+ function K(e, t, n, r) {
4741
4745
  let i = e.split(".");
4742
4746
  if (i.length !== 2) {
4743
4747
  n.push({
@@ -4749,7 +4753,7 @@ function q(e, t, n, r) {
4749
4753
  }
4750
4754
  let [a, o] = i, s = t.find((e) => e.name === a);
4751
4755
  if (!s) {
4752
- let i = t.map((e) => e.name), s = K(a, i);
4756
+ let i = t.map((e) => e.name), s = G(a, i);
4753
4757
  s ? (n.push({
4754
4758
  type: "cube_not_found",
4755
4759
  message: `Cube '${a}' not found`,
@@ -4765,7 +4769,7 @@ function q(e, t, n, r) {
4765
4769
  return;
4766
4770
  }
4767
4771
  if (!s.dimensions.some((t) => t.name === e)) {
4768
- let i = ao(t, o, "dimension");
4772
+ let i = oo(t, o, "dimension");
4769
4773
  if (i && i.cube === a) n.push({
4770
4774
  type: "dimension_not_found",
4771
4775
  message: `Dimension '${o}' not found on cube '${a}'`,
@@ -4774,7 +4778,7 @@ function q(e, t, n, r) {
4774
4778
  correctedValue: i.field
4775
4779
  }), r.set(e, i.field);
4776
4780
  else {
4777
- let t = s.dimensions.map((e) => e.name.split(".").pop()), i = K(o, t);
4781
+ let t = s.dimensions.map((e) => e.name.split(".").pop()), i = G(o, t);
4778
4782
  if (i) {
4779
4783
  let t = `${a}.${i.field}`;
4780
4784
  n.push({
@@ -4793,14 +4797,14 @@ function q(e, t, n, r) {
4793
4797
  }
4794
4798
  }
4795
4799
  }
4796
- function J(e, t, n, r) {
4800
+ function q(e, t, n, r) {
4797
4801
  for (let i of e) {
4798
4802
  if ("and" in i && Array.isArray(i.and)) {
4799
- J(i.and, t, n, r);
4803
+ q(i.and, t, n, r);
4800
4804
  continue;
4801
4805
  }
4802
4806
  if ("or" in i && Array.isArray(i.or)) {
4803
- J(i.or, t, n, r);
4807
+ q(i.or, t, n, r);
4804
4808
  continue;
4805
4809
  }
4806
4810
  if ("member" in i) {
@@ -4815,7 +4819,7 @@ function J(e, t, n, r) {
4815
4819
  }
4816
4820
  let [o, s] = a, c = t.find((e) => e.name === o);
4817
4821
  if (!c) {
4818
- let i = K(o, t.map((e) => e.name));
4822
+ let i = G(o, t.map((e) => e.name));
4819
4823
  i && r.set(e, `${i.field}.${s}`), n.push({
4820
4824
  type: "cube_not_found",
4821
4825
  message: `Cube '${o}' not found in filter`,
@@ -4827,7 +4831,7 @@ function J(e, t, n, r) {
4827
4831
  }
4828
4832
  let l = c.dimensions.some((t) => t.name === e), u = c.measures.some((t) => t.name === e);
4829
4833
  if (!l && !u) {
4830
- let t = K(s, [...c.dimensions.map((e) => e.name.split(".").pop()), ...c.measures.map((e) => e.name.split(".").pop())]);
4834
+ let t = G(s, [...c.dimensions.map((e) => e.name.split(".").pop()), ...c.measures.map((e) => e.name.split(".").pop())]);
4831
4835
  if (t) {
4832
4836
  let i = `${o}.${t.field}`;
4833
4837
  r.set(e, i), n.push({
@@ -4846,12 +4850,12 @@ function J(e, t, n, r) {
4846
4850
  }
4847
4851
  }
4848
4852
  }
4849
- function _o(e, t, n, r, i) {
4853
+ function vo(e, t, n, r, i) {
4850
4854
  let a = e.funnel;
4851
- if (a) if (a.bindingKey ? typeof a.bindingKey == "string" && q(a.bindingKey, t, n, i) : n.push({
4855
+ if (a) if (a.bindingKey ? typeof a.bindingKey == "string" && K(a.bindingKey, t, n, i) : n.push({
4852
4856
  type: "syntax_error",
4853
4857
  message: "funnel.bindingKey is required"
4854
- }), a.timeDimension ? typeof a.timeDimension == "string" && q(a.timeDimension, t, n, i) : n.push({
4858
+ }), a.timeDimension ? typeof a.timeDimension == "string" && K(a.timeDimension, t, n, i) : n.push({
4855
4859
  type: "syntax_error",
4856
4860
  message: "funnel.timeDimension is required"
4857
4861
  }), !a.steps || !Array.isArray(a.steps)) n.push({
@@ -4868,18 +4872,18 @@ function _o(e, t, n, r, i) {
4868
4872
  type: "best_practice",
4869
4873
  message: `Step ${e + 1} is missing a name`,
4870
4874
  suggestion: "Add descriptive names to funnel steps"
4871
- }), o.filter && "member" in o.filter && J([o.filter], t, n, i);
4875
+ }), o.filter && "member" in o.filter && q([o.filter], t, n, i);
4872
4876
  }
4873
4877
  }
4874
- function vo(e, t, n, r, i) {
4878
+ function yo(e, t, n, r, i) {
4875
4879
  let a = e.flow;
4876
- a && (a.bindingKey ? typeof a.bindingKey == "string" && q(a.bindingKey, t, n, i) : n.push({
4880
+ a && (a.bindingKey ? typeof a.bindingKey == "string" && K(a.bindingKey, t, n, i) : n.push({
4877
4881
  type: "syntax_error",
4878
4882
  message: "flow.bindingKey is required"
4879
- }), a.timeDimension ? typeof a.timeDimension == "string" && q(a.timeDimension, t, n, i) : n.push({
4883
+ }), a.timeDimension ? typeof a.timeDimension == "string" && K(a.timeDimension, t, n, i) : n.push({
4880
4884
  type: "syntax_error",
4881
4885
  message: "flow.timeDimension is required"
4882
- }), a.eventDimension ? typeof a.eventDimension == "string" && q(a.eventDimension, t, n, i) : n.push({
4886
+ }), a.eventDimension ? typeof a.eventDimension == "string" && K(a.eventDimension, t, n, i) : n.push({
4883
4887
  type: "syntax_error",
4884
4888
  message: "flow.eventDimension is required"
4885
4889
  }), a.stepsBefore === void 0 && a.stepsAfter === void 0 && r.push({
@@ -4888,12 +4892,12 @@ function vo(e, t, n, r, i) {
4888
4892
  suggestion: "Set stepsBefore and/or stepsAfter to see event sequences"
4889
4893
  }));
4890
4894
  }
4891
- function yo(e, t, n, r, i) {
4895
+ function bo(e, t, n, r, i) {
4892
4896
  let a = e.retention;
4893
- a && (a.bindingKey ? typeof a.bindingKey == "string" && q(a.bindingKey, t, n, i) : n.push({
4897
+ a && (a.bindingKey ? typeof a.bindingKey == "string" && K(a.bindingKey, t, n, i) : n.push({
4894
4898
  type: "syntax_error",
4895
4899
  message: "retention.bindingKey is required"
4896
- }), a.timeDimension ? typeof a.timeDimension == "string" && q(a.timeDimension, t, n, i) : n.push({
4900
+ }), a.timeDimension ? typeof a.timeDimension == "string" && K(a.timeDimension, t, n, i) : n.push({
4897
4901
  type: "syntax_error",
4898
4902
  message: "retention.timeDimension is required"
4899
4903
  }), a.granularity || r.push({
@@ -4906,30 +4910,30 @@ function yo(e, t, n, r, i) {
4906
4910
  suggestion: "Specify number of periods to analyze"
4907
4911
  }));
4908
4912
  }
4909
- function bo(e, t) {
4913
+ function xo(e, t) {
4910
4914
  let n = [], r = [], i = /* @__PURE__ */ new Map();
4911
- if (e.funnel) return _o(e, t, n, r, i), {
4915
+ if (e.funnel) return vo(e, t, n, r, i), {
4912
4916
  isValid: n.length === 0,
4913
4917
  errors: n,
4914
4918
  warnings: r,
4915
4919
  correctedQuery: void 0
4916
4920
  };
4917
- if (e.flow) return vo(e, t, n, r, i), {
4921
+ if (e.flow) return yo(e, t, n, r, i), {
4918
4922
  isValid: n.length === 0,
4919
4923
  errors: n,
4920
4924
  warnings: r,
4921
4925
  correctedQuery: void 0
4922
4926
  };
4923
- if (e.retention) return yo(e, t, n, r, i), {
4927
+ if (e.retention) return bo(e, t, n, r, i), {
4924
4928
  isValid: n.length === 0,
4925
4929
  errors: n,
4926
4930
  warnings: r,
4927
4931
  correctedQuery: void 0
4928
4932
  };
4929
- if (e.measures) for (let r of e.measures) go(r, t, n, i);
4930
- if (e.dimensions) for (let r of e.dimensions) q(r, t, n, i);
4933
+ if (e.measures) for (let r of e.measures) _o(r, t, n, i);
4934
+ if (e.dimensions) for (let r of e.dimensions) K(r, t, n, i);
4931
4935
  if (e.timeDimensions) for (let a of e.timeDimensions) {
4932
- q(a.dimension, t, n, i);
4936
+ K(a.dimension, t, n, i);
4933
4937
  let [e] = a.dimension.split("."), o = t.find((t) => t.name === e);
4934
4938
  if (o) {
4935
4939
  let e = o.dimensions.find((e) => e.name === a.dimension);
@@ -4941,7 +4945,7 @@ function bo(e, t) {
4941
4945
  });
4942
4946
  }
4943
4947
  }
4944
- e.filters && J(e.filters, t, n, i), !e.measures?.length && !e.dimensions?.length && n.push({
4948
+ e.filters && q(e.filters, t, n, i), !e.measures?.length && !e.dimensions?.length && n.push({
4945
4949
  type: "syntax_error",
4946
4950
  message: "Query must have at least one measure or dimension"
4947
4951
  }), e.measures && e.measures.length > 10 && r.push({
@@ -4970,14 +4974,14 @@ function bo(e, t) {
4970
4974
  }
4971
4975
  //#endregion
4972
4976
  //#region src/adapters/utils.ts
4973
- function xo(e) {
4977
+ function So(e) {
4974
4978
  let t = 0;
4975
4979
  return t += (e.measures?.length || 0) * 1, t += (e.dimensions?.length || 0) * 1, t += (e.filters?.length || 0) * 2, t += (e.timeDimensions?.length || 0) * 3, t <= 5 ? "low" : t <= 15 ? "medium" : "high";
4976
4980
  }
4977
- function So(e, t) {
4981
+ function Co(e, t) {
4978
4982
  if ("and" in e || "or" in e) {
4979
4983
  let n = e.and || e.or || [];
4980
- for (let e of n) So(e, t);
4984
+ for (let e of n) Co(e, t);
4981
4985
  return;
4982
4986
  }
4983
4987
  if ("member" in e) {
@@ -4985,10 +4989,10 @@ function So(e, t) {
4985
4989
  n && t.add(n);
4986
4990
  }
4987
4991
  }
4988
- function Co() {
4992
+ function wo() {
4989
4993
  return crypto.randomUUID();
4990
4994
  }
4991
- function wo(e) {
4995
+ function To(e) {
4992
4996
  let t = e.dimensions || [], n = e.timeDimensions || [], r = e.measures || [];
4993
4997
  return {
4994
4998
  sortedDimensions: t,
@@ -5014,16 +5018,16 @@ function wo(e) {
5014
5018
  ungrouped: e.ungrouped || !1
5015
5019
  };
5016
5020
  }
5017
- function To(e) {
5021
+ function Eo(e) {
5018
5022
  return e.getEngineType() ?? "postgres";
5019
5023
  }
5020
- function Eo(e) {
5024
+ function Do(e) {
5021
5025
  let t = [];
5022
5026
  if (e.timeDimensions?.some((e) => e.compareDateRange && e.compareDateRange.length >= 2) && t.push("comparison"), e.funnel && e.funnel.steps?.length >= 2 && t.push("funnel"), e.flow && e.flow.bindingKey && e.flow.eventDimension && t.push("flow"), e.retention && e.retention.bindingKey && e.retention.timeDimension && t.push("retention"), t.length === 0) return "regular";
5023
5027
  if (t.length > 1) throw Error(`Query contains multiple query modes: ${t.join(", ")}`);
5024
5028
  return t[0];
5025
5029
  }
5026
- function Do(e, t, n) {
5030
+ function Oo(e, t, n) {
5027
5031
  try {
5028
5032
  return n.analyzeQuery(e, t);
5029
5033
  } catch (e) {
@@ -5031,46 +5035,46 @@ function Do(e, t, n) {
5031
5035
  return;
5032
5036
  }
5033
5037
  }
5034
- function Y(e, t, n) {
5038
+ function J(e, t, n) {
5035
5039
  let r = t.validateQuery(e);
5036
5040
  if (!r.isValid) throw Error(`${n} validation failed: ${r.errors.join(", ")}`);
5037
5041
  }
5038
- async function X(e, t, n) {
5042
+ async function Y(e, t, n) {
5039
5043
  return {
5040
5044
  sqlResult: await n.dryRun(e, t),
5041
- analysis: Do(e, t, n)
5045
+ analysis: Oo(e, t, n)
5042
5046
  };
5043
5047
  }
5044
- function Z(e, t) {
5048
+ function X(e, t) {
5045
5049
  let [n] = e.split(".");
5046
5050
  n && t.add(n);
5047
5051
  }
5048
- function Q(e, t) {
5052
+ function Z(e, t) {
5049
5053
  if (e) for (let n of e) n.cube && t.add(n.cube);
5050
5054
  }
5051
- function Oo(e) {
5055
+ function ko(e) {
5052
5056
  let t = /* @__PURE__ */ new Set();
5053
- return e.measures?.forEach((e) => Z(e, t)), e.dimensions?.forEach((e) => Z(e, t)), e.timeDimensions?.forEach((e) => Z(e.dimension, t)), e.filters?.forEach((e) => {
5054
- So(e, t);
5057
+ return e.measures?.forEach((e) => X(e, t)), e.dimensions?.forEach((e) => X(e, t)), e.timeDimensions?.forEach((e) => X(e.dimension, t)), e.filters?.forEach((e) => {
5058
+ Co(e, t);
5055
5059
  }), Array.from(t);
5056
5060
  }
5057
- function ko(e) {
5061
+ function Ao(e) {
5058
5062
  let t = /* @__PURE__ */ new Set(), n = e.funnel;
5059
- typeof n.bindingKey == "string" ? Z(n.bindingKey, t) : Q(n.bindingKey, t), typeof n.timeDimension == "string" ? Z(n.timeDimension, t) : Q(n.timeDimension, t);
5063
+ typeof n.bindingKey == "string" ? X(n.bindingKey, t) : Z(n.bindingKey, t), typeof n.timeDimension == "string" ? X(n.timeDimension, t) : Z(n.timeDimension, t);
5060
5064
  for (let e of n.steps) "cube" in e && e.cube && t.add(e.cube);
5061
5065
  return Array.from(t);
5062
5066
  }
5063
- function Ao(e) {
5067
+ function jo(e) {
5064
5068
  let t = /* @__PURE__ */ new Set(), n = e.flow;
5065
- return typeof n.bindingKey == "string" ? Z(n.bindingKey, t) : Q(n.bindingKey, t), typeof n.timeDimension == "string" ? Z(n.timeDimension, t) : Q(n.timeDimension, t), Z(n.eventDimension, t), Array.from(t);
5069
+ return typeof n.bindingKey == "string" ? X(n.bindingKey, t) : Z(n.bindingKey, t), typeof n.timeDimension == "string" ? X(n.timeDimension, t) : Z(n.timeDimension, t), X(n.eventDimension, t), Array.from(t);
5066
5070
  }
5067
- function jo(e) {
5071
+ function Mo(e) {
5068
5072
  let t = /* @__PURE__ */ new Set(), n = e.retention;
5069
- typeof n.timeDimension == "string" ? Z(n.timeDimension, t) : n.timeDimension?.cube && t.add(n.timeDimension.cube), typeof n.bindingKey == "string" ? Z(n.bindingKey, t) : Q(n.bindingKey, t);
5070
- for (let e of n.breakdownDimensions || []) Z(e, t);
5073
+ typeof n.timeDimension == "string" ? X(n.timeDimension, t) : n.timeDimension?.cube && t.add(n.timeDimension.cube), typeof n.bindingKey == "string" ? X(n.bindingKey, t) : Z(n.bindingKey, t);
5074
+ for (let e of n.breakdownDimensions || []) X(e, t);
5071
5075
  return Array.from(t);
5072
5076
  }
5073
- function $(e) {
5077
+ function Q(e) {
5074
5078
  let t = e.normalizedQueries || [], n = e.transformedQueries || t;
5075
5079
  return {
5076
5080
  mode: e.mode,
@@ -5096,18 +5100,18 @@ function $(e) {
5096
5100
  modeMetadata: e.modeMetadata
5097
5101
  };
5098
5102
  }
5099
- async function Mo(e, t, n) {
5103
+ async function No(e, t, n) {
5100
5104
  return {
5101
- regular: () => No(e, t, n),
5102
- comparison: () => Po(e, t, n),
5103
- funnel: () => Vo(e, t, n),
5104
- flow: () => Ho(e, t, n),
5105
- retention: () => Uo(e, t, n)
5106
- }[Eo(e)]();
5105
+ regular: () => Po(e, t, n),
5106
+ comparison: () => Fo(e, t, n),
5107
+ funnel: () => Ho(e, t, n),
5108
+ flow: () => Uo(e, t, n),
5109
+ retention: () => Wo(e, t, n)
5110
+ }[Do(e)]();
5107
5111
  }
5108
- async function No(e, t, n) {
5109
- Y(e, n, "Query");
5110
- let r = Oo(e), i = r.length > 1, { sqlResult: a, analysis: o } = await X(e, t, n), s = r.map((t) => ({
5112
+ async function Po(e, t, n) {
5113
+ J(e, n, "Query");
5114
+ let r = ko(e), i = r.length > 1, { sqlResult: a, analysis: o } = await Y(e, t, n), s = r.map((t) => ({
5111
5115
  cube: t,
5112
5116
  query: {
5113
5117
  measures: e.measures?.filter((e) => e.startsWith(t + ".")) || [],
@@ -5119,11 +5123,11 @@ async function No(e, t, n) {
5119
5123
  offset: e.offset
5120
5124
  }
5121
5125
  }));
5122
- return $({
5126
+ return Q({
5123
5127
  mode: "regular",
5124
5128
  queryType: "regularQuery",
5125
5129
  joinType: i ? "multi_cube_join" : "single_cube",
5126
- complexity: xo(e),
5130
+ complexity: So(e),
5127
5131
  query: e,
5128
5132
  cubesUsed: r,
5129
5133
  sqlResult: a,
@@ -5131,9 +5135,9 @@ async function No(e, t, n) {
5131
5135
  normalizedQueries: s
5132
5136
  });
5133
5137
  }
5134
- async function Po(e, t, n) {
5135
- Y(e, n, "Comparison query");
5136
- let r = Oo(e), i = r.length > 1, { sqlResult: a, analysis: o } = await X(e, t, n), s = e.timeDimensions?.find((e) => e.compareDateRange && e.compareDateRange.length >= 2), c = s ? {
5138
+ async function Fo(e, t, n) {
5139
+ J(e, n, "Comparison query");
5140
+ let r = ko(e), i = r.length > 1, { sqlResult: a, analysis: o } = await Y(e, t, n), s = e.timeDimensions?.find((e) => e.compareDateRange && e.compareDateRange.length >= 2), c = s ? {
5137
5141
  timeDimension: s.dimension,
5138
5142
  granularity: s.granularity || "day",
5139
5143
  periodCount: s.compareDateRange?.length ?? 0,
@@ -5141,11 +5145,11 @@ async function Po(e, t, n) {
5141
5145
  sqlPreviewPeriodIndex: 0,
5142
5146
  note: "Dry-run SQL preview shows the first comparison period; execution runs all periods and merges results."
5143
5147
  } : void 0;
5144
- return $({
5148
+ return Q({
5145
5149
  mode: "comparison",
5146
5150
  queryType: "comparisonQuery",
5147
5151
  joinType: i ? "multi_cube_join" : "single_cube",
5148
- complexity: xo(e),
5152
+ complexity: So(e),
5149
5153
  query: e,
5150
5154
  cubesUsed: r,
5151
5155
  sqlResult: a,
@@ -5153,15 +5157,15 @@ async function Po(e, t, n) {
5153
5157
  modeMetadata: c
5154
5158
  });
5155
5159
  }
5156
- function Fo(e, t, n) {
5157
- let r = To(n), i = Co();
5160
+ function Io(e, t, n) {
5161
+ let r = Eo(n), i = wo();
5158
5162
  return {
5159
5163
  queryType: "regularQuery",
5160
5164
  results: [{
5161
5165
  query: e,
5162
5166
  lastRefreshTime: (/* @__PURE__ */ new Date()).toISOString(),
5163
5167
  usedPreAggregations: {},
5164
- transformedQuery: wo(e),
5168
+ transformedQuery: To(e),
5165
5169
  requestId: i,
5166
5170
  annotation: t.annotation,
5167
5171
  dataSource: "default",
@@ -5180,9 +5184,9 @@ function Fo(e, t, n) {
5180
5184
  slowQuery: !1
5181
5185
  };
5182
5186
  }
5183
- function Io(e, t) {
5187
+ function Lo(e, t) {
5184
5188
  try {
5185
- return Ya(e, {
5189
+ return Xa(e, {
5186
5190
  language: {
5187
5191
  postgres: "postgresql",
5188
5192
  mysql: "mysql",
@@ -5200,14 +5204,14 @@ function Io(e, t) {
5200
5204
  return console.warn("SQL formatting failed:", t), e;
5201
5205
  }
5202
5206
  }
5203
- function Lo(e, t) {
5207
+ function Ro(e, t) {
5204
5208
  return {
5205
5209
  sql: t.sql,
5206
5210
  params: t.params || [],
5207
5211
  query: e
5208
5212
  };
5209
5213
  }
5210
- function Ro(e) {
5214
+ function zo(e) {
5211
5215
  return {
5212
5216
  cubes: e,
5213
5217
  queryGuidance: {
@@ -5284,14 +5288,14 @@ function Ro(e) {
5284
5288
  }
5285
5289
  };
5286
5290
  }
5287
- function zo(e, t = 500) {
5291
+ function Bo(e, t = 500) {
5288
5292
  return {
5289
5293
  error: e instanceof Error ? e.message : e,
5290
5294
  status: t
5291
5295
  };
5292
5296
  }
5293
- async function Bo(e, t, n, r) {
5294
- return { results: (await Promise.allSettled(e.map(async (e) => Fo(e, await n.executeMultiCubeQuery(e, t, { skipCache: r?.skipCache }), n)))).map((t, n) => t.status === "fulfilled" ? {
5297
+ async function Vo(e, t, n, r) {
5298
+ return { results: (await Promise.allSettled(e.map(async (e) => Io(e, await n.executeMultiCubeQuery(e, t, { skipCache: r?.skipCache }), n)))).map((t, n) => t.status === "fulfilled" ? {
5295
5299
  success: !0,
5296
5300
  ...t.value
5297
5301
  } : {
@@ -5300,10 +5304,10 @@ async function Bo(e, t, n, r) {
5300
5304
  query: e[n]
5301
5305
  }) };
5302
5306
  }
5303
- async function Vo(e, t, n) {
5304
- Y(e, n, "Funnel query");
5305
- let r = ko(e), { sqlResult: i, analysis: a } = await X(e, t, n), o = e.funnel;
5306
- return $({
5307
+ async function Ho(e, t, n) {
5308
+ J(e, n, "Funnel query");
5309
+ let r = Ao(e), { sqlResult: i, analysis: a } = await Y(e, t, n), o = e.funnel;
5310
+ return Q({
5307
5311
  mode: "funnel",
5308
5312
  queryType: "funnelQuery",
5309
5313
  joinType: "funnel_cte",
@@ -5327,10 +5331,10 @@ async function Vo(e, t, n) {
5327
5331
  }
5328
5332
  });
5329
5333
  }
5330
- async function Ho(e, t, n) {
5331
- Y(e, n, "Flow query");
5332
- let r = Ao(e), { sqlResult: i, analysis: a } = await X(e, t, n), o = e.flow;
5333
- return $({
5334
+ async function Uo(e, t, n) {
5335
+ J(e, n, "Flow query");
5336
+ let r = jo(e), { sqlResult: i, analysis: a } = await Y(e, t, n), o = e.flow;
5337
+ return Q({
5334
5338
  mode: "flow",
5335
5339
  queryType: "flowQuery",
5336
5340
  joinType: "flow_cte",
@@ -5349,10 +5353,10 @@ async function Ho(e, t, n) {
5349
5353
  }
5350
5354
  });
5351
5355
  }
5352
- async function Uo(e, t, n) {
5353
- Y(e, n, "Retention query");
5354
- let r = jo(e), { sqlResult: i, analysis: a } = await X(e, t, n), o = e.retention;
5355
- return $({
5356
+ async function Wo(e, t, n) {
5357
+ J(e, n, "Retention query");
5358
+ let r = Mo(e), { sqlResult: i, analysis: a } = await Y(e, t, n), o = e.retention;
5359
+ return Q({
5356
5360
  mode: "retention",
5357
5361
  queryType: "retentionQuery",
5358
5362
  joinType: "retention_cte",
@@ -5372,23 +5376,71 @@ async function Uo(e, t, n) {
5372
5376
  }
5373
5377
  });
5374
5378
  }
5375
- async function Wo(e, t) {
5376
- return { cubes: io(e.getMetadata(), {
5379
+ async function Go(e, t) {
5380
+ return { cubes: ao(e.getMetadata(), {
5377
5381
  topic: t.topic,
5378
5382
  intent: t.intent,
5379
5383
  limit: t.limit,
5380
5384
  minScore: t.minScore
5381
5385
  }) };
5382
5386
  }
5383
- async function Go(e, t) {
5384
- return mo(e.getMetadata(), t.naturalLanguage, t.cube);
5385
- }
5386
5387
  async function Ko(e, t) {
5388
+ return ho(e.getMetadata(), t.naturalLanguage, t.cube);
5389
+ }
5390
+ async function qo(e, t) {
5387
5391
  let n = e.getMetadata();
5388
- return bo(t.query, n);
5392
+ return xo(t.query, n);
5393
+ }
5394
+ function $(e) {
5395
+ let t = e.split(".");
5396
+ return t.length === 3 && t[0] === t[1] ? `${t[0]}.${t[2]}` : e;
5397
+ }
5398
+ function Jo(e) {
5399
+ let t = (e) => {
5400
+ if (Array.isArray(e)) return e.map((e) => typeof e == "string" ? $(e) : e);
5401
+ };
5402
+ if (Array.isArray(e.measures) && (e.measures = t(e.measures)), Array.isArray(e.dimensions) && (e.dimensions = t(e.dimensions)), Array.isArray(e.filters)) for (let t of e.filters) typeof t.member == "string" && (t.member = $(t.member));
5403
+ if (Array.isArray(e.timeDimensions)) for (let t of e.timeDimensions) typeof t.dimension == "string" && (t.dimension = $(t.dimension));
5404
+ if (Array.isArray(e.order)) {
5405
+ let t = {};
5406
+ for (let n of e.order) n && typeof n == "object" && Object.assign(t, n);
5407
+ e.order = t;
5408
+ }
5409
+ if (e.order && typeof e.order == "object" && !Array.isArray(e.order)) {
5410
+ let t = new Set([...Array.isArray(e.measures) ? e.measures : [], ...Array.isArray(e.dimensions) ? e.dimensions : []]), n = {};
5411
+ for (let [r, i] of Object.entries(e.order)) {
5412
+ let e = $(r);
5413
+ if (t.has(e)) {
5414
+ n[e] = i;
5415
+ continue;
5416
+ }
5417
+ if (!r.includes(".") && r.includes("_")) {
5418
+ let e = $(r.replace(/_/g, "."));
5419
+ if (t.has(e)) {
5420
+ n[e] = i;
5421
+ continue;
5422
+ }
5423
+ let a = [...t].find((e) => {
5424
+ let t = e.split(".")[1];
5425
+ return t && (r.endsWith(`_${t}`) || r.endsWith(`.${t}`));
5426
+ });
5427
+ if (a) {
5428
+ n[a] = i;
5429
+ continue;
5430
+ }
5431
+ }
5432
+ t.size > 0 && !t.has(e) || (n[e] = i);
5433
+ }
5434
+ if (Object.keys(n).length === 0 && t.size > 0) {
5435
+ let t = Array.isArray(e.measures) ? e.measures[0] : void 0;
5436
+ t && (n[t] = "desc");
5437
+ }
5438
+ e.order = n;
5439
+ }
5440
+ return e;
5389
5441
  }
5390
- async function qo(e, t, n) {
5391
- let r = n.query, i = e.validateQuery(r);
5442
+ async function Yo(e, t, n) {
5443
+ let r = Jo(n.query), i = e.validateQuery(r);
5392
5444
  if (!i.isValid) throw Error(`Query validation failed: ${i.errors.join(", ")}`);
5393
5445
  let a = await e.executeMultiCubeQuery(r, t);
5394
5446
  return {
@@ -5398,4 +5450,4 @@ async function qo(e, t, n) {
5398
5450
  };
5399
5451
  }
5400
5452
  //#endregion
5401
- export { Ro as a, Co as c, Wo as d, Mo as f, u as g, Ko as h, zo as i, To as l, Go as m, xo as n, Lo as o, qo as p, Fo as r, Io as s, wo as t, Bo as u };
5453
+ export { u as _, zo as a, wo as c, Go as d, No as f, Jo as g, qo as h, Bo as i, Eo as l, Ko as m, So as n, Ro as o, Yo as p, Io as r, Lo as s, To as t, Vo as u };