@malloydata/render 0.0.138-dev240401005446 → 0.0.138-dev240401194552
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/module/index.mjs
CHANGED
|
@@ -3708,7 +3708,7 @@ const E2e = {
|
|
|
3708
3708
|
};
|
|
3709
3709
|
class A2e extends wP.Dialect {
|
|
3710
3710
|
constructor() {
|
|
3711
|
-
super(...arguments), this.name = "trino", this.defaultNumberType = "DOUBLE", this.defaultDecimalType = "DECIMAL", this.udfPrefix = "__udf", this.hasFinalStage = !1, this.divisionIsInteger = !0, this.supportsSumDistinctFunction = !1, this.unnestWithNumbers = !1, this.defaultSampling = { enable: !1 }, this.supportUnnestArrayAgg = !1, this.supportsAggDistinct = !1, this.supportsCTEinCoorelatedSubQueries = !1, this.dontUnionIndex = !0, this.supportsQualify = !0, this.supportsSafeCast = !0, this.supportsNesting = !0, this.cantPartitionWindowFunctionsOnExpressions = !
|
|
3711
|
+
super(...arguments), this.name = "trino", this.defaultNumberType = "DOUBLE", this.defaultDecimalType = "DECIMAL", this.udfPrefix = "__udf", this.hasFinalStage = !1, this.divisionIsInteger = !0, this.supportsSumDistinctFunction = !1, this.unnestWithNumbers = !1, this.defaultSampling = { enable: !1 }, this.supportUnnestArrayAgg = !1, this.supportsAggDistinct = !1, this.supportsCTEinCoorelatedSubQueries = !1, this.dontUnionIndex = !0, this.supportsQualify = !0, this.supportsSafeCast = !0, this.supportsNesting = !0, this.cantPartitionWindowFunctionsOnExpressions = !1, this.orderByClause = "output_name", this.keywords = `
|
|
3712
3712
|
ALL
|
|
3713
3713
|
AND
|
|
3714
3714
|
ANY
|
|
@@ -3848,8 +3848,8 @@ class A2e extends wP.Dialect {
|
|
|
3848
3848
|
return `ANY_VALUE(CASE WHEN group_set=${n} THEN ${e} END) as ${r}`;
|
|
3849
3849
|
}
|
|
3850
3850
|
sqlCoaleseMeasuresInline(e, n) {
|
|
3851
|
-
const r = n.map((
|
|
3852
|
-
return `COALESCE(ANY_VALUE(CASE WHEN group_set=${e} THEN
|
|
3851
|
+
const r = n.map((o) => o.sqlExpression).join(", "), i = n.map((o) => "NULL").join(", "), s = this.buildTypeExpression(n);
|
|
3852
|
+
return `COALESCE(ANY_VALUE(CASE WHEN group_set=${e} THEN CAST(ROW(${r}) AS ROW(${s})) END), CAST(ROW(${i}) AS ROW(${s})))`;
|
|
3853
3853
|
}
|
|
3854
3854
|
//
|
|
3855
3855
|
// this code used to be:
|
|
@@ -3901,7 +3901,7 @@ ${(0, FP.indent)(n)}
|
|
|
3901
3901
|
return `(SELECT AS STRUCT ${e}.*)`;
|
|
3902
3902
|
}
|
|
3903
3903
|
sqlMaybeQuoteIdentifier(e) {
|
|
3904
|
-
return e;
|
|
3904
|
+
return '"' + e + '"';
|
|
3905
3905
|
}
|
|
3906
3906
|
sqlNow() {
|
|
3907
3907
|
return (0, wn.mkExpr)`CURRENT_TIMESTAMP()`;
|
|
@@ -5399,7 +5399,7 @@ ${(0, Tr.indent)(f)}) AS ${n.alias}
|
|
|
5399
5399
|
if (typeof o.field == "string") {
|
|
5400
5400
|
const u = n.getField(o.field);
|
|
5401
5401
|
if (u && u.fieldUsage.type === "result")
|
|
5402
|
-
this.parent.dialect.orderByClause === "ordinal" ? s.push(`${u.fieldUsage.resultIndex} ${o.dir || "ASC"}`) : this.parent.dialect.orderByClause === "output_name" && s.push(`${o.field}${o.dir || "ASC"}`);
|
|
5402
|
+
this.parent.dialect.orderByClause === "ordinal" ? s.push(`${u.fieldUsage.resultIndex} ${o.dir || "ASC"}`) : this.parent.dialect.orderByClause === "output_name" && s.push(`${this.parent.dialect.sqlMaybeQuoteIdentifier(o.field)} ${o.dir || "ASC"}`);
|
|
5403
5403
|
else
|
|
5404
5404
|
throw new Error(`Unknown field in ORDER BY ${o.field}`);
|
|
5405
5405
|
} else if (this.parent.dialect.orderByClause === "ordinal")
|
package/dist/module/index.umd.js
CHANGED
|
@@ -163,7 +163,7 @@ ${(0,x2e.indent)(n)}
|
|
|
163
163
|
EXTRACT('epoch_${i}', ${n.value}) - EXTRACT('epoch_${i}', ${e.value}),
|
|
164
164
|
'1970-01-01 00:00:00'::TIMESTAMP_NTZ
|
|
165
165
|
)
|
|
166
|
-
)`}sqlRegexpMatch(e,n){return(0,ar.mkExpr)`(REGEXP_INSTR(${e}, ${n}) != 0)`}sqlSampleTable(e,n){if(n!==void 0){if((0,ar.isSamplingEnable)(n)&&n.enable&&(n=this.defaultSampling),(0,ar.isSamplingRows)(n))return`(SELECT * FROM ${e} TABLESAMPLE (${n.rows} ROWS))`;if((0,ar.isSamplingPercent)(n))return`(SELECT * FROM ${e} TABLESAMPLE (${n.percent}))`}return e}sqlOrderBy(e){return`ORDER BY ${e.map(n=>`${n} NULLS LAST`).join(",")}`}sqlLiteralString(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}sqlLiteralRegexp(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}getGlobalFunctionDef(e){return fM.SNOWFLAKE_FUNCTIONS.get(e)}malloyTypeToSQLType(e){return e.type==="number"?e.numberType==="integer"?"integer":"double":e.type}sqlTypeToMalloyType(e){var n,r;const i=(r=(n=e.match(/^([\w\s]+)/))===null||n===void 0?void 0:n.at(0))!==null&&r!==void 0?r:e;return h2e[i.trim().toLowerCase()]}castToString(e){return`TO_VARCHAR(${e})`}concat(...e){return e.join(" || ")}validateTypeName(e){return e.match(/^[A-Za-z\s(),[\]0-9]*$/)!==null}}GA.SnowflakeDialect=p2e,function(t){var e=N&&N.__createBinding||(Object.create?function(r,i,s,o){o===void 0&&(o=s);var u=Object.getOwnPropertyDescriptor(i,s);(!u||("get"in u?!i.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(r,o,u)}:function(r,i,s,o){o===void 0&&(o=s),r[o]=i[s]}),n=N&&N.__exportStar||function(r,i){for(var s in r)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,r,s)};Object.defineProperty(t,"__esModule",{value:!0}),n(GA,t)}(WR);var YR={},nv={},xM={},dM={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.TRINO_FUNCTIONS=void 0;const e=tf;t.TRINO_FUNCTIONS=e.FUNCTIONS.clone(),t.TRINO_FUNCTIONS.seal()})(dM),function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.TRINO_FUNCTIONS=void 0;var e=dM;Object.defineProperty(t,"TRINO_FUNCTIONS",{enumerable:!0,get:function(){return e.TRINO_FUNCTIONS}})}(xM),Object.defineProperty(nv,"__esModule",{value:!0}),nv.TrinoDialect=void 0;const hM=Wt,wn=ne,g2e=xM,pM=ef;function gM(t){return["microsecond","millisecond","second","minute","hour","day"].includes(t)}function m2e(t){return["day","week","month","quarter","year"].includes(t)}const y2e={day_of_week:"dayofweek",day_of_year:"dayofyear"};function rv(t){const e=t.queryTimezone;if(e&&e!=="UTC")return e}const E2e={string:"VARCHAR",number:"DOUBLE"};class A2e extends pM.Dialect{constructor(){super(...arguments),this.name="trino",this.defaultNumberType="DOUBLE",this.defaultDecimalType="DECIMAL",this.udfPrefix="__udf",this.hasFinalStage=!1,this.divisionIsInteger=!0,this.supportsSumDistinctFunction=!1,this.unnestWithNumbers=!1,this.defaultSampling={enable:!1},this.supportUnnestArrayAgg=!1,this.supportsAggDistinct=!1,this.supportsCTEinCoorelatedSubQueries=!1,this.dontUnionIndex=!0,this.supportsQualify=!0,this.supportsSafeCast=!0,this.supportsNesting=!0,this.cantPartitionWindowFunctionsOnExpressions=!
|
|
166
|
+
)`}sqlRegexpMatch(e,n){return(0,ar.mkExpr)`(REGEXP_INSTR(${e}, ${n}) != 0)`}sqlSampleTable(e,n){if(n!==void 0){if((0,ar.isSamplingEnable)(n)&&n.enable&&(n=this.defaultSampling),(0,ar.isSamplingRows)(n))return`(SELECT * FROM ${e} TABLESAMPLE (${n.rows} ROWS))`;if((0,ar.isSamplingPercent)(n))return`(SELECT * FROM ${e} TABLESAMPLE (${n.percent}))`}return e}sqlOrderBy(e){return`ORDER BY ${e.map(n=>`${n} NULLS LAST`).join(",")}`}sqlLiteralString(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}sqlLiteralRegexp(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}getGlobalFunctionDef(e){return fM.SNOWFLAKE_FUNCTIONS.get(e)}malloyTypeToSQLType(e){return e.type==="number"?e.numberType==="integer"?"integer":"double":e.type}sqlTypeToMalloyType(e){var n,r;const i=(r=(n=e.match(/^([\w\s]+)/))===null||n===void 0?void 0:n.at(0))!==null&&r!==void 0?r:e;return h2e[i.trim().toLowerCase()]}castToString(e){return`TO_VARCHAR(${e})`}concat(...e){return e.join(" || ")}validateTypeName(e){return e.match(/^[A-Za-z\s(),[\]0-9]*$/)!==null}}GA.SnowflakeDialect=p2e,function(t){var e=N&&N.__createBinding||(Object.create?function(r,i,s,o){o===void 0&&(o=s);var u=Object.getOwnPropertyDescriptor(i,s);(!u||("get"in u?!i.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(r,o,u)}:function(r,i,s,o){o===void 0&&(o=s),r[o]=i[s]}),n=N&&N.__exportStar||function(r,i){for(var s in r)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,r,s)};Object.defineProperty(t,"__esModule",{value:!0}),n(GA,t)}(WR);var YR={},nv={},xM={},dM={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.TRINO_FUNCTIONS=void 0;const e=tf;t.TRINO_FUNCTIONS=e.FUNCTIONS.clone(),t.TRINO_FUNCTIONS.seal()})(dM),function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.TRINO_FUNCTIONS=void 0;var e=dM;Object.defineProperty(t,"TRINO_FUNCTIONS",{enumerable:!0,get:function(){return e.TRINO_FUNCTIONS}})}(xM),Object.defineProperty(nv,"__esModule",{value:!0}),nv.TrinoDialect=void 0;const hM=Wt,wn=ne,g2e=xM,pM=ef;function gM(t){return["microsecond","millisecond","second","minute","hour","day"].includes(t)}function m2e(t){return["day","week","month","quarter","year"].includes(t)}const y2e={day_of_week:"dayofweek",day_of_year:"dayofyear"};function rv(t){const e=t.queryTimezone;if(e&&e!=="UTC")return e}const E2e={string:"VARCHAR",number:"DOUBLE"};class A2e extends pM.Dialect{constructor(){super(...arguments),this.name="trino",this.defaultNumberType="DOUBLE",this.defaultDecimalType="DECIMAL",this.udfPrefix="__udf",this.hasFinalStage=!1,this.divisionIsInteger=!0,this.supportsSumDistinctFunction=!1,this.unnestWithNumbers=!1,this.defaultSampling={enable:!1},this.supportUnnestArrayAgg=!1,this.supportsAggDistinct=!1,this.supportsCTEinCoorelatedSubQueries=!1,this.dontUnionIndex=!0,this.supportsQualify=!0,this.supportsSafeCast=!0,this.supportsNesting=!0,this.cantPartitionWindowFunctionsOnExpressions=!1,this.orderByClause="output_name",this.keywords=`
|
|
167
167
|
ALL
|
|
168
168
|
AND
|
|
169
169
|
ANY
|
|
@@ -261,7 +261,7 @@ ${(0,x2e.indent)(n)}
|
|
|
261
261
|
WITHIN`.split(/\s/)}quoteTablePath(e){return e}sqlGroupSetTable(e){return`CROSS JOIN (SELECT row_number() OVER() -1 group_set FROM UNNEST(SEQUENCE(0,${e})))`}dialectExpr(e,n){switch(n.function){case"div":return(0,wn.mkExpr)`CAST(${n.numerator} AS DOUBLE)/${n.denominator}`}return super.dialectExpr(e,n)}sqlAnyValue(e,n){return`ANY_VALUE(CASE WHEN group_set=${e} THEN ${n} END)`}buildTypeExpression(e){const n=[];for(const r of e)if((0,pM.isDialectFieldStruct)(r)){let i=`ROW(${this.buildTypeExpression(r.nestedStruct)})`;r.isArray&&(i=`array(${i})`),n.push(i)}else n.push(`${r.sqlOutputName} ${E2e[r.type]||r.type}`);return n.join(`,
|
|
262
262
|
`)}sqlAggregateTurtle(e,n,r,i){const s=n.map(a=>a.sqlExpression).join(`,
|
|
263
263
|
`),o=this.buildTypeExpression(n);let u=`ARRAY_AGG(CASE WHEN group_set=${e} THEN CAST(ROW(${s}) AS ROW(${o})) END ${r})`;return i!==void 0&&(u=`SLICE(${u}, 1, ${i})`),u}sqlAnyValueTurtle(e,n){const r=n.map(i=>`
|
|
264
|
-
'${i.sqlOutputName}' VALUE ${i.sqlExpression}`).join(", ");return`ANY_VALUE(CASE WHEN group_set=${e} THEN JSON_OBJECT(${r}))`}sqlAnyValueLastTurtle(e,n,r){return`ANY_VALUE(CASE WHEN group_set=${n} THEN ${e} END) as ${r}`}sqlCoaleseMeasuresInline(e,n){const r=n.map(
|
|
264
|
+
'${i.sqlOutputName}' VALUE ${i.sqlExpression}`).join(", ");return`ANY_VALUE(CASE WHEN group_set=${e} THEN JSON_OBJECT(${r}))`}sqlAnyValueLastTurtle(e,n,r){return`ANY_VALUE(CASE WHEN group_set=${n} THEN ${e} END) as ${r}`}sqlCoaleseMeasuresInline(e,n){const r=n.map(o=>o.sqlExpression).join(", "),i=n.map(o=>"NULL").join(", "),s=this.buildTypeExpression(n);return`COALESCE(ANY_VALUE(CASE WHEN group_set=${e} THEN CAST(ROW(${r}) AS ROW(${s})) END), CAST(ROW(${i}) AS ROW(${s})))`}sqlUnnestAlias(e,n,r,i,s,o){const u=r.map(a=>this.sqlMaybeQuoteIdentifier(a.sqlOutputName));return s?i?`,UNNEST(ARRAY(( SELECT AS STRUCT row_number() over() as __row_id, value FROM UNNEST(${e}) value))) as ${n}`:`,UNNEST(ARRAY((SELECT AS STRUCT value FROM unnest(${e}) value))) as ${n}`:i?`,UNNEST(zip_with(a, SEQUENCE(1,cardinality(a)), (r,__row_id) -> (r, __row_id))) as ${n}_outer(${n},__row_id)`:`,UNNEST(${e}) as ${n}(${u.join(", ")})`}sqlSumDistinctHashedKey(e){e=`CAST(${e} AS VARCHAR)`;const n=`cast(from_base(substr(to_hex(md5(to_utf8(${e}))), 1, 15),16) as DECIMAL) * DECIMAL '4294967296' `,r=`cast(from_base(substr(to_hex(md5(to_utf8(${e}))), 16, 8),16) as DECIMAL) `;return`(${n} + ${r}) * 0.000000001`}sqlGenerateUUID(){return"UUID()"}sqlFieldReference(e,n,r,i,s){return n==="__row_id"?`${e}_outer.__row_id`:`${e}.${n}`}sqlUnnestPipelineHead(e,n){let r=n;return e&&(r=`[${r}]`),`UNNEST(${r})`}sqlCreateFunction(e,n){return`CREATE TEMPORARY FUNCTION ${e}(__param ANY TYPE) AS ((
|
|
265
265
|
${(0,hM.indent)(n)}));
|
|
266
266
|
`}sqlCreateTableAsSelect(e,n){return`
|
|
267
267
|
CREATE TABLE IF NOT EXISTS \`${e}\`
|
|
@@ -272,7 +272,7 @@ AS (
|
|
|
272
272
|
${(0,hM.indent)(n)}
|
|
273
273
|
);
|
|
274
274
|
`}sqlCreateFunctionCombineLastStage(e){return`SELECT ARRAY((SELECT AS STRUCT * FROM ${e}))
|
|
275
|
-
`}sqlSelectAliasAsStruct(e){return`(SELECT AS STRUCT ${e}.*)`}sqlMaybeQuoteIdentifier(e){return
|
|
275
|
+
`}sqlSelectAliasAsStruct(e){return`(SELECT AS STRUCT ${e}.*)`}sqlMaybeQuoteIdentifier(e){return'"'+e+'"'}sqlNow(){return(0,wn.mkExpr)`CURRENT_TIMESTAMP()`}sqlTrunc(e,n,r){const i=rv(e),s=i?`, "${i}"`:"";return n.valueType==="date"?m2e(r)?(0,wn.mkExpr)`DATE_TRUNC(${n.value},${r})`:(0,wn.mkExpr)`TIMESTAMP(${n.value}${s})`:(0,wn.mkExpr)`TIMESTAMP_TRUNC(${n.value},${r}${s})`}sqlExtract(e,n,r){const i=y2e[r]||r,s=n.valueType==="timestamp"&&rv(e),o=s?` AT TIME ZONE '${s}'`:"";return(0,wn.mkExpr)`EXTRACT(${i} FROM ${n.value}${o})`}sqlAlterTime(e,n,r,i){let s=n.value,o=n.valueType;i!=="day"&&gM(i)?(o="timestamp",n.valueType!=="timestamp"&&(s=(0,wn.mkExpr)`TIMESTAMP(${s})`)):n.valueType==="timestamp"&&(s=(0,wn.mkExpr)`DATETIME(${s})`,o="datetime");const u=o.toUpperCase()+(e==="+"?"_ADD":"_SUB"),a=(0,wn.mkExpr)`${u}(${s}, INTERVAL ${r} ${i})`;return o===n.valueType?a:(0,wn.mkExpr)`${n.valueType.toUpperCase()}(${a})`}ignoreInProject(e){return e==="_PARTITIONTIME"}sqlCast(e,n){const r=`${n.srcType}::${n.dstType}`,i=rv(e);if(r==="timestamp::date"&&i)return(0,wn.mkExpr)`DATE(${n.expr},'${i}')`;if(r==="date::timestamp"&&i)return(0,wn.mkExpr)`TIMESTAMP(${n.expr}, '${i}')`;if(n.srcType!==n.dstType){const s=typeof n.dstType=="string"?this.malloyTypeToSQLType({type:n.dstType}):n.dstType.raw,o=n.safe?"SAFE_CAST":"CAST";return(0,wn.mkExpr)`${o}(${n.expr} AS ${s})`}return n.expr}sqlRegexpMatch(e,n){return(0,wn.mkExpr)`REGEXP_LIKE(${e}, ${n})`}sqlLiteralTime(e,n,r,i){if(r==="date")return`DATE('${n}')`;if(r==="timestamp"){let s=`'${n}'`;const o=i||rv(e);return o&&o!=="UTC"&&(s+=`,'${o}'`),`TIMESTAMP(${s})`}else throw new Error(`Unsupported Literal time format ${r}`)}sqlMeasureTime(e,n,r){const i={microsecond:{use:"microsecond",ratio:1},millisecond:{use:"microsecond",ratio:1e3},second:{use:"millisecond",ratio:1e3},minute:{use:"second",ratio:60},hour:{use:"minute",ratio:60},day:{use:"hour",ratio:24},week:{use:"day",ratio:7}};let s=e.value,o=n.value;if(i[r]){const{use:u,ratio:a}=i[r];if(!gM(u))throw new Error(`Measure in '${u} not implemented`);if(e.valueType!==n.valueType)throw new Error("Can't measure difference between different types");e.valueType==="date"&&(s=(0,wn.mkExpr)`TIMESTAMP(${s})`,o=(0,wn.mkExpr)`TIMESTAMP(${o})`);let l=(0,wn.mkExpr)`TIMESTAMP_DIFF(${o},${s},${u})`;return a!==1&&(l=(0,wn.mkExpr)`FLOOR(${l}/${a.toString()}.0)`),l}throw new Error(`Measure '${r} not implemented`)}sqlSampleTable(e,n){if(n!==void 0){if((0,wn.isSamplingEnable)(n)&&n.enable&&(n=this.defaultSampling),(0,wn.isSamplingRows)(n))throw new Error("StandardSQL doesn't support sampling by rows only percent");if((0,wn.isSamplingPercent)(n))return`(SELECT * FROM ${e} TABLESAMPLE SYSTEM (${n.percent} PERCENT))`}return e}sqlLiteralString(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}sqlLiteralRegexp(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}getGlobalFunctionDef(e){return g2e.TRINO_FUNCTIONS.get(e)}malloyTypeToSQLType(e){return e.type==="number"?e.numberType==="integer"?"BIGINT":"DOUBLE":e.type==="string"?"VARCHAR":e.type}sqlTypeToMalloyType(e){}castToString(e){return`CAST(${e} as VARCHAR)`}concat(...e){return e.join(" || ")}validateTypeName(e){return e.match(/^[A-Za-z\s(),<>0-9]*$/)!==null}}nv.TrinoDialect=A2e,function(t){var e=N&&N.__createBinding||(Object.create?function(r,i,s,o){o===void 0&&(o=s);var u=Object.getOwnPropertyDescriptor(i,s);(!u||("get"in u?!i.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(r,o,u)}:function(r,i,s,o){o===void 0&&(o=s),r[o]=i[s]}),n=N&&N.__exportStar||function(r,i){for(var s in r)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,r,s)};Object.defineProperty(t,"__esModule",{value:!0}),n(nv,t)}(YR);var bu={};Object.defineProperty(bu,"__esModule",{value:!0}),bu.getDialectFunction=bu.registerDialect=bu.getDialect=void 0;const v2e=QR,S2e=zR,_2e=WR,C2e=NR,b2e=YR,KR=new Map;function T2e(t){const e=KR.get(t);if(e===void 0)throw new Error(`Unknown Dialect ${t}`);return e}bu.getDialect=T2e;function ih(t){KR.set(t.name,t)}bu.registerDialect=ih,ih(new S2e.PostgresDialect),ih(new C2e.StandardSQLDialect),ih(new v2e.DuckDBDialect),ih(new _2e.SnowflakeDialect),ih(new b2e.TrinoDialect);function mM(t,e){return t.params.length===e.params.length&&t.params.every((n,r)=>{const i=e.params[r];return n.isVariadic===i.isVariadic&&n.name===i.name&&n.allowedTypes.length===i.allowedTypes.length&&n.allowedTypes.every(s=>i.allowedTypes.some(o=>s.dataType===o.dataType&&s.expressionType===o.expressionType))})}function R2e(t,e){return mM(t,e)}function O2e(t,e){return t.returnType.dataType===e.returnType.dataType&&t.returnType.expressionType===e.returnType.expressionType}function N2e(t){const e={type:"function",name:t,overloads:[]};let n=!1;for(const r of KR.values()){const i=r.getGlobalFunctionDef(t);if(i){for(const s of i){let o=!1;for(const u of e.overloads)if(R2e(s,u)){if(!mM(s,u))throw new Error("params are compatible but not equal");if(!O2e(s,u))throw new Error("params match but return types differ!");u.dialect[r.name]={e:s.e,supportsOrderBy:s.supportsOrderBy,defaultOrderByArgIndex:s.defaultOrderByArgIndex,supportsLimit:s.supportsLimit},o=!0}o||e.overloads.push({returnType:s.returnType,params:s.params,dialect:{[r.name]:{e:s.e,supportsOrderBy:s.supportsOrderBy,defaultOrderByArgIndex:s.defaultOrderByArgIndex,supportsLimit:s.supportsLimit}},needsWindowOrderBy:s.needsWindowOrderBy,between:s.between,isSymmetric:s.isSymmetric})}n=!0}}return n?e:void 0}bu.getDialectFunction=N2e,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.FUNCTIONS=t.getDialectFunction=t.registerDialect=t.getDialect=t.TrinoDialect=t.SnowflakeDialect=t.DuckDBDialect=t.PostgresDialect=t.StandardSQLDialect=t.qtz=t.Dialect=t.sql=t.literal=t.params=t.param=t.sqlFragment=t.spread=t.maxScalar=t.minAggregate=t.minScalar=t.overload=t.makeParam=t.anyExprType=t.arg=void 0;var e=Se;Object.defineProperty(t,"arg",{enumerable:!0,get:function(){return e.arg}}),Object.defineProperty(t,"anyExprType",{enumerable:!0,get:function(){return e.anyExprType}}),Object.defineProperty(t,"makeParam",{enumerable:!0,get:function(){return e.makeParam}}),Object.defineProperty(t,"overload",{enumerable:!0,get:function(){return e.overload}}),Object.defineProperty(t,"minScalar",{enumerable:!0,get:function(){return e.minScalar}}),Object.defineProperty(t,"minAggregate",{enumerable:!0,get:function(){return e.minAggregate}}),Object.defineProperty(t,"maxScalar",{enumerable:!0,get:function(){return e.maxScalar}}),Object.defineProperty(t,"spread",{enumerable:!0,get:function(){return e.spread}}),Object.defineProperty(t,"sqlFragment",{enumerable:!0,get:function(){return e.sqlFragment}}),Object.defineProperty(t,"param",{enumerable:!0,get:function(){return e.param}}),Object.defineProperty(t,"params",{enumerable:!0,get:function(){return e.params}}),Object.defineProperty(t,"literal",{enumerable:!0,get:function(){return e.literal}}),Object.defineProperty(t,"sql",{enumerable:!0,get:function(){return e.sql}});var n=ef;Object.defineProperty(t,"Dialect",{enumerable:!0,get:function(){return n.Dialect}}),Object.defineProperty(t,"qtz",{enumerable:!0,get:function(){return n.qtz}});var r=NR;Object.defineProperty(t,"StandardSQLDialect",{enumerable:!0,get:function(){return r.StandardSQLDialect}});var i=zR;Object.defineProperty(t,"PostgresDialect",{enumerable:!0,get:function(){return i.PostgresDialect}});var s=QR;Object.defineProperty(t,"DuckDBDialect",{enumerable:!0,get:function(){return s.DuckDBDialect}});var o=WR;Object.defineProperty(t,"SnowflakeDialect",{enumerable:!0,get:function(){return o.SnowflakeDialect}});var u=YR;Object.defineProperty(t,"TrinoDialect",{enumerable:!0,get:function(){return u.TrinoDialect}});var a=bu;Object.defineProperty(t,"getDialect",{enumerable:!0,get:function(){return a.getDialect}}),Object.defineProperty(t,"registerDialect",{enumerable:!0,get:function(){return a.registerDialect}}),Object.defineProperty(t,"getDialectFunction",{enumerable:!0,get:function(){return a.getDialectFunction}});var l=tf;Object.defineProperty(t,"FUNCTIONS",{enumerable:!0,get:function(){return l.FUNCTIONS}})}(BE);var Tu={},vf={};Object.defineProperty(vf,"__esModule",{value:!0}),vf.QueryModel=vf.Segment=void 0;const D2e=BE,F2e=U1,je=ne,Tr=Wt;function yM(t){return t.map(e=>encodeURIComponent(e)).join("/")}function XR(t){return`'${t}'`}function EM(t){return t.replace(/[^a-zA-Z0-9_]/g,"_o_")}class w2e extends Set{add_use(e){if(e!==void 0)return this.add(e)}hasAsymetricFunctions(){return this.has("sum")||this.has("avg")||this.has("count")||this.has("generic_asymmetric_aggregate")}}class ep{constructor(e=!0,n){this.parent=n,this.withs=[],this.udfs=[],this.pdts=[],this.stagePrefix="__stage",this.useCTE=e}getName(e){return`${this.stagePrefix}${e}`}root(){return this.parent===void 0?this:this.parent.root()}addStage(e){return this.useCTE?(this.withs.push(e),this.getName(this.withs.length-1)):(this.withs[0]=e,(0,Tr.indent)(`
|
|
276
276
|
(${e})
|
|
277
277
|
`))}addUDF(e,n,r){let{sql:i,lastStageName:s}=e.combineStages(!0);if(s===void 0)throw new Error("Internal Error: no stage to combine");i+=n.sqlCreateFunctionCombineLastStage(s,r);const o=`${n.udfPrefix}${this.root().udfs.length}`;return i=n.sqlCreateFunction(o,i),this.root().udfs.push(i),o}addPDT(e,n){const r=this.combineStages(!1).sql+this.withs[this.withs.length-1],i="scratch."+e+(0,Tr.generateHash)(r);return this.root().pdts.push(n.sqlCreateTableAsSelect(i,r)),i}combineStages(e){if(!this.useCTE)return{sql:this.withs[0],lastStageName:this.withs[0]};let n=this.getName(0),r="WITH ",i="";for(let s=0;s<this.withs.length-(e?0:1);s++){const o=this.withs[s];if(n=this.getName(s),o===void 0)throw new Error(`Expected sql WITH to be present for stage ${n}.`);i+=`${r}${n} AS (
|
|
278
278
|
${(0,Tr.indent)(o)})
|
|
@@ -303,7 +303,7 @@ ${(0,Tr.indent)(f)}) AS ${n.alias}
|
|
|
303
303
|
ON ${a}
|
|
304
304
|
`,r}}else if(s.type==="nested"){if(i.parent===void 0||n.parent===void 0)throw new Error("Internal Error, nested structure with no parent.");const u=this.parent.dialect.sqlFieldReference(i.parent.getSQLIdentifier(),s.fieldName,"struct",i.parent.fieldDef.structRelationship.type==="nested",this.parent.fieldDef.structRelationship.type==="nested"&&this.parent.fieldDef.structRelationship.isArray);r+=`${this.parent.dialect.sqlUnnestAlias(u,n.alias,n.getDialectFieldList(),n.makeUniqueKey,s.isArray,this.inNestedPipeline())}
|
|
305
305
|
`}else throw s.type==="inline"?new Error("Internal Error: inline structs should never appear in join trees"):new Error(`Join type not implemented ${JSON.stringify(i.fieldDef.structRelationship)}`);for(const u of n.children)r+=this.generateSQLJoinBlock(e,u);return r}generateSQLPassthroughKeys(e){let n="";if(e.dialect.name==="standardsql"){const r=["_TABLE_SUFFIX","_PARTITIONDATE","_PARTITIONTIME"].filter(i=>e.getChildByName(i)!==void 0);r.length>0&&(n=", "+r.join(", "))}return n}generateSQLJoins(e){let n="";const[[,r]]=this.rootResult.joins,i=r.queryStruct;let s=i.structSourceSQL(e);if((0,je.isIndexSegment)(this.firstSegment)&&(s=this.parent.dialect.sqlSampleTable(s,this.firstSegment.sample),this.firstSegment.sample&&(s=e.addStage(`SELECT * from ${s} as x limit 100000 `))),i.fieldDef.structRelationship.type==="basetable"){if(r.makeUniqueKey){const u=this.generateSQLPassthroughKeys(i);s=`(SELECT ${i.dialect.sqlGenerateUUID()} as ${i.dialect.sqlMaybeQuoteIdentifier("__distinct_key")}, x.* ${u} FROM ${s} as x)`}n+=`FROM ${s} as ${r.alias}
|
|
306
|
-
`}else throw new Error("Internal Error, queries must start from a basetable");for(const u of r.children)n+=this.generateSQLJoinBlock(e,u);return n}genereateSQLOrderBy(e,n){let r="";if(this.firstSegment.type==="project"&&!e.orderBy||this.fieldDef.pipeline.length>1&&e.limit===void 0||n.getRepeatedResultType()==="inline_all_numbers"||this.isJoinedSubquery&&this.fieldDef.pipeline.length===1&&e.limit===void 0)return"";const i=e.orderBy||n.calculateDefaultOrderBy(),s=[];for(const o of i)if(typeof o.field=="string"){const u=n.getField(o.field);if(u&&u.fieldUsage.type==="result")this.parent.dialect.orderByClause==="ordinal"?s.push(`${u.fieldUsage.resultIndex} ${o.dir||"ASC"}`):this.parent.dialect.orderByClause==="output_name"&&s.push(`${o.field}${o.dir||"ASC"}`);else throw new Error(`Unknown field in ORDER BY ${o.field}`)}else if(this.parent.dialect.orderByClause==="ordinal")s.push(`${o.field} ${o.dir||"ASC"}`);else if(this.parent.dialect.orderByClause==="output_name"){const u=n.getFieldByNumber(o.field);s.push(`${this.parent.dialect.sqlMaybeQuoteIdentifier(u.name)} ${o.dir||"ASC"}`)}return s.length>0&&(r=this.parent.dialect.sqlOrderBy(s)+`
|
|
306
|
+
`}else throw new Error("Internal Error, queries must start from a basetable");for(const u of r.children)n+=this.generateSQLJoinBlock(e,u);return n}genereateSQLOrderBy(e,n){let r="";if(this.firstSegment.type==="project"&&!e.orderBy||this.fieldDef.pipeline.length>1&&e.limit===void 0||n.getRepeatedResultType()==="inline_all_numbers"||this.isJoinedSubquery&&this.fieldDef.pipeline.length===1&&e.limit===void 0)return"";const i=e.orderBy||n.calculateDefaultOrderBy(),s=[];for(const o of i)if(typeof o.field=="string"){const u=n.getField(o.field);if(u&&u.fieldUsage.type==="result")this.parent.dialect.orderByClause==="ordinal"?s.push(`${u.fieldUsage.resultIndex} ${o.dir||"ASC"}`):this.parent.dialect.orderByClause==="output_name"&&s.push(`${this.parent.dialect.sqlMaybeQuoteIdentifier(o.field)} ${o.dir||"ASC"}`);else throw new Error(`Unknown field in ORDER BY ${o.field}`)}else if(this.parent.dialect.orderByClause==="ordinal")s.push(`${o.field} ${o.dir||"ASC"}`);else if(this.parent.dialect.orderByClause==="output_name"){const u=n.getFieldByNumber(o.field);s.push(`${this.parent.dialect.sqlMaybeQuoteIdentifier(u.name)} ${o.dir||"ASC"}`)}return s.length>0&&(r=this.parent.dialect.sqlOrderBy(s)+`
|
|
307
307
|
`),r}generateSimpleSQL(e){let n="";n+=`SELECT
|
|
308
308
|
`;const r=[];for(const[i,s]of this.rootResult.allFields){const o=s,u=this.parent.dialect.sqlMaybeQuoteIdentifier(i);o.fieldUsage.type==="result"&&r.push(` ${o.f.generateExpression(this.rootResult)} as ${u}`)}if(n+=(0,Tr.indent)(r.join(`,
|
|
309
309
|
`))+`
|
|
@@ -4531,7 +4531,7 @@ const vde = {
|
|
|
4531
4531
|
};
|
|
4532
4532
|
class _de extends eP.Dialect {
|
|
4533
4533
|
constructor() {
|
|
4534
|
-
super(...arguments), this.name = "trino", this.defaultNumberType = "DOUBLE", this.defaultDecimalType = "DECIMAL", this.udfPrefix = "__udf", this.hasFinalStage = !1, this.divisionIsInteger = !0, this.supportsSumDistinctFunction = !1, this.unnestWithNumbers = !1, this.defaultSampling = { enable: !1 }, this.supportUnnestArrayAgg = !1, this.supportsAggDistinct = !1, this.supportsCTEinCoorelatedSubQueries = !1, this.dontUnionIndex = !0, this.supportsQualify = !0, this.supportsSafeCast = !0, this.supportsNesting = !0, this.cantPartitionWindowFunctionsOnExpressions = !
|
|
4534
|
+
super(...arguments), this.name = "trino", this.defaultNumberType = "DOUBLE", this.defaultDecimalType = "DECIMAL", this.udfPrefix = "__udf", this.hasFinalStage = !1, this.divisionIsInteger = !0, this.supportsSumDistinctFunction = !1, this.unnestWithNumbers = !1, this.defaultSampling = { enable: !1 }, this.supportUnnestArrayAgg = !1, this.supportsAggDistinct = !1, this.supportsCTEinCoorelatedSubQueries = !1, this.dontUnionIndex = !0, this.supportsQualify = !0, this.supportsSafeCast = !0, this.supportsNesting = !0, this.cantPartitionWindowFunctionsOnExpressions = !1, this.orderByClause = "output_name", this.keywords = `
|
|
4535
4535
|
ALL
|
|
4536
4536
|
AND
|
|
4537
4537
|
ANY
|
|
@@ -4671,8 +4671,8 @@ class _de extends eP.Dialect {
|
|
|
4671
4671
|
return `ANY_VALUE(CASE WHEN group_set=${n} THEN ${e} END) as ${r}`;
|
|
4672
4672
|
}
|
|
4673
4673
|
sqlCoaleseMeasuresInline(e, n) {
|
|
4674
|
-
const r = n.map((
|
|
4675
|
-
return `COALESCE(ANY_VALUE(CASE WHEN group_set=${e} THEN
|
|
4674
|
+
const r = n.map((o) => o.sqlExpression).join(", "), i = n.map((o) => "NULL").join(", "), s = this.buildTypeExpression(n);
|
|
4675
|
+
return `COALESCE(ANY_VALUE(CASE WHEN group_set=${e} THEN CAST(ROW(${r}) AS ROW(${s})) END), CAST(ROW(${i}) AS ROW(${s})))`;
|
|
4676
4676
|
}
|
|
4677
4677
|
//
|
|
4678
4678
|
// this code used to be:
|
|
@@ -4724,7 +4724,7 @@ ${(0, Z7.indent)(n)}
|
|
|
4724
4724
|
return `(SELECT AS STRUCT ${e}.*)`;
|
|
4725
4725
|
}
|
|
4726
4726
|
sqlMaybeQuoteIdentifier(e) {
|
|
4727
|
-
return e;
|
|
4727
|
+
return '"' + e + '"';
|
|
4728
4728
|
}
|
|
4729
4729
|
sqlNow() {
|
|
4730
4730
|
return (0, Nn.mkExpr)`CURRENT_TIMESTAMP()`;
|
|
@@ -6222,7 +6222,7 @@ ${(0, vr.indent)(f)}) AS ${n.alias}
|
|
|
6222
6222
|
if (typeof o.field == "string") {
|
|
6223
6223
|
const u = n.getField(o.field);
|
|
6224
6224
|
if (u && u.fieldUsage.type === "result")
|
|
6225
|
-
this.parent.dialect.orderByClause === "ordinal" ? s.push(`${u.fieldUsage.resultIndex} ${o.dir || "ASC"}`) : this.parent.dialect.orderByClause === "output_name" && s.push(`${o.field}${o.dir || "ASC"}`);
|
|
6225
|
+
this.parent.dialect.orderByClause === "ordinal" ? s.push(`${u.fieldUsage.resultIndex} ${o.dir || "ASC"}`) : this.parent.dialect.orderByClause === "output_name" && s.push(`${this.parent.dialect.sqlMaybeQuoteIdentifier(o.field)} ${o.dir || "ASC"}`);
|
|
6226
6226
|
else
|
|
6227
6227
|
throw new Error(`Unknown field in ORDER BY ${o.field}`);
|
|
6228
6228
|
} else if (this.parent.dialect.orderByClause === "ordinal")
|
|
@@ -163,7 +163,7 @@ ${(0,hde.indent)(n)}
|
|
|
163
163
|
EXTRACT('epoch_${i}', ${n.value}) - EXTRACT('epoch_${i}', ${e.value}),
|
|
164
164
|
'1970-01-01 00:00:00'::TIMESTAMP_NTZ
|
|
165
165
|
)
|
|
166
|
-
)`}sqlRegexpMatch(e,n){return(0,ir.mkExpr)`(REGEXP_INSTR(${e}, ${n}) != 0)`}sqlSampleTable(e,n){if(n!==void 0){if((0,ir.isSamplingEnable)(n)&&n.enable&&(n=this.defaultSampling),(0,ir.isSamplingRows)(n))return`(SELECT * FROM ${e} TABLESAMPLE (${n.rows} ROWS))`;if((0,ir.isSamplingPercent)(n))return`(SELECT * FROM ${e} TABLESAMPLE (${n.percent}))`}return e}sqlOrderBy(e){return`ORDER BY ${e.map(n=>`${n} NULLS LAST`).join(",")}`}sqlLiteralString(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}sqlLiteralRegexp(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}getGlobalFunctionDef(e){return QP.SNOWFLAKE_FUNCTIONS.get(e)}malloyTypeToSQLType(e){return e.type==="number"?e.numberType==="integer"?"integer":"double":e.type}sqlTypeToMalloyType(e){var n,r;const i=(r=(n=e.match(/^([\w\s]+)/))===null||n===void 0?void 0:n.at(0))!==null&&r!==void 0?r:e;return gde[i.trim().toLowerCase()]}castToString(e){return`TO_VARCHAR(${e})`}concat(...e){return e.join(" || ")}validateTypeName(e){return e.match(/^[A-Za-z\s(),[\]0-9]*$/)!==null}}$A.SnowflakeDialect=mde,function(t){var e=N&&N.__createBinding||(Object.create?function(r,i,s,o){o===void 0&&(o=s);var u=Object.getOwnPropertyDescriptor(i,s);(!u||("get"in u?!i.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(r,o,u)}:function(r,i,s,o){o===void 0&&(o=s),r[o]=i[s]}),n=N&&N.__exportStar||function(r,i){for(var s in r)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,r,s)};Object.defineProperty(t,"__esModule",{value:!0}),n($A,t)}(iD);var oD={},GA={},GP={},WP={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.TRINO_FUNCTIONS=void 0;const e=zc;t.TRINO_FUNCTIONS=e.FUNCTIONS.clone(),t.TRINO_FUNCTIONS.seal()})(WP),function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.TRINO_FUNCTIONS=void 0;var e=WP;Object.defineProperty(t,"TRINO_FUNCTIONS",{enumerable:!0,get:function(){return e.TRINO_FUNCTIONS}})}(GP),Object.defineProperty(GA,"__esModule",{value:!0}),GA.TrinoDialect=void 0;const VP=Gt,Nn=ne,yde=GP,YP=Hc;function XP(t){return["microsecond","millisecond","second","minute","hour","day"].includes(t)}function Ede(t){return["day","week","month","quarter","year"].includes(t)}const Ade={day_of_week:"dayofweek",day_of_year:"dayofyear"};function WA(t){const e=t.queryTimezone;if(e&&e!=="UTC")return e}const Sde={string:"VARCHAR",number:"DOUBLE"};class vde extends YP.Dialect{constructor(){super(...arguments),this.name="trino",this.defaultNumberType="DOUBLE",this.defaultDecimalType="DECIMAL",this.udfPrefix="__udf",this.hasFinalStage=!1,this.divisionIsInteger=!0,this.supportsSumDistinctFunction=!1,this.unnestWithNumbers=!1,this.defaultSampling={enable:!1},this.supportUnnestArrayAgg=!1,this.supportsAggDistinct=!1,this.supportsCTEinCoorelatedSubQueries=!1,this.dontUnionIndex=!0,this.supportsQualify=!0,this.supportsSafeCast=!0,this.supportsNesting=!0,this.cantPartitionWindowFunctionsOnExpressions=!
|
|
166
|
+
)`}sqlRegexpMatch(e,n){return(0,ir.mkExpr)`(REGEXP_INSTR(${e}, ${n}) != 0)`}sqlSampleTable(e,n){if(n!==void 0){if((0,ir.isSamplingEnable)(n)&&n.enable&&(n=this.defaultSampling),(0,ir.isSamplingRows)(n))return`(SELECT * FROM ${e} TABLESAMPLE (${n.rows} ROWS))`;if((0,ir.isSamplingPercent)(n))return`(SELECT * FROM ${e} TABLESAMPLE (${n.percent}))`}return e}sqlOrderBy(e){return`ORDER BY ${e.map(n=>`${n} NULLS LAST`).join(",")}`}sqlLiteralString(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}sqlLiteralRegexp(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}getGlobalFunctionDef(e){return QP.SNOWFLAKE_FUNCTIONS.get(e)}malloyTypeToSQLType(e){return e.type==="number"?e.numberType==="integer"?"integer":"double":e.type}sqlTypeToMalloyType(e){var n,r;const i=(r=(n=e.match(/^([\w\s]+)/))===null||n===void 0?void 0:n.at(0))!==null&&r!==void 0?r:e;return gde[i.trim().toLowerCase()]}castToString(e){return`TO_VARCHAR(${e})`}concat(...e){return e.join(" || ")}validateTypeName(e){return e.match(/^[A-Za-z\s(),[\]0-9]*$/)!==null}}$A.SnowflakeDialect=mde,function(t){var e=N&&N.__createBinding||(Object.create?function(r,i,s,o){o===void 0&&(o=s);var u=Object.getOwnPropertyDescriptor(i,s);(!u||("get"in u?!i.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(r,o,u)}:function(r,i,s,o){o===void 0&&(o=s),r[o]=i[s]}),n=N&&N.__exportStar||function(r,i){for(var s in r)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,r,s)};Object.defineProperty(t,"__esModule",{value:!0}),n($A,t)}(iD);var oD={},GA={},GP={},WP={};(function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.TRINO_FUNCTIONS=void 0;const e=zc;t.TRINO_FUNCTIONS=e.FUNCTIONS.clone(),t.TRINO_FUNCTIONS.seal()})(WP),function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.TRINO_FUNCTIONS=void 0;var e=WP;Object.defineProperty(t,"TRINO_FUNCTIONS",{enumerable:!0,get:function(){return e.TRINO_FUNCTIONS}})}(GP),Object.defineProperty(GA,"__esModule",{value:!0}),GA.TrinoDialect=void 0;const VP=Gt,Nn=ne,yde=GP,YP=Hc;function XP(t){return["microsecond","millisecond","second","minute","hour","day"].includes(t)}function Ede(t){return["day","week","month","quarter","year"].includes(t)}const Ade={day_of_week:"dayofweek",day_of_year:"dayofyear"};function WA(t){const e=t.queryTimezone;if(e&&e!=="UTC")return e}const Sde={string:"VARCHAR",number:"DOUBLE"};class vde extends YP.Dialect{constructor(){super(...arguments),this.name="trino",this.defaultNumberType="DOUBLE",this.defaultDecimalType="DECIMAL",this.udfPrefix="__udf",this.hasFinalStage=!1,this.divisionIsInteger=!0,this.supportsSumDistinctFunction=!1,this.unnestWithNumbers=!1,this.defaultSampling={enable:!1},this.supportUnnestArrayAgg=!1,this.supportsAggDistinct=!1,this.supportsCTEinCoorelatedSubQueries=!1,this.dontUnionIndex=!0,this.supportsQualify=!0,this.supportsSafeCast=!0,this.supportsNesting=!0,this.cantPartitionWindowFunctionsOnExpressions=!1,this.orderByClause="output_name",this.keywords=`
|
|
167
167
|
ALL
|
|
168
168
|
AND
|
|
169
169
|
ANY
|
|
@@ -261,7 +261,7 @@ ${(0,hde.indent)(n)}
|
|
|
261
261
|
WITHIN`.split(/\s/)}quoteTablePath(e){return e}sqlGroupSetTable(e){return`CROSS JOIN (SELECT row_number() OVER() -1 group_set FROM UNNEST(SEQUENCE(0,${e})))`}dialectExpr(e,n){switch(n.function){case"div":return(0,Nn.mkExpr)`CAST(${n.numerator} AS DOUBLE)/${n.denominator}`}return super.dialectExpr(e,n)}sqlAnyValue(e,n){return`ANY_VALUE(CASE WHEN group_set=${e} THEN ${n} END)`}buildTypeExpression(e){const n=[];for(const r of e)if((0,YP.isDialectFieldStruct)(r)){let i=`ROW(${this.buildTypeExpression(r.nestedStruct)})`;r.isArray&&(i=`array(${i})`),n.push(i)}else n.push(`${r.sqlOutputName} ${Sde[r.type]||r.type}`);return n.join(`,
|
|
262
262
|
`)}sqlAggregateTurtle(e,n,r,i){const s=n.map(a=>a.sqlExpression).join(`,
|
|
263
263
|
`),o=this.buildTypeExpression(n);let u=`ARRAY_AGG(CASE WHEN group_set=${e} THEN CAST(ROW(${s}) AS ROW(${o})) END ${r})`;return i!==void 0&&(u=`SLICE(${u}, 1, ${i})`),u}sqlAnyValueTurtle(e,n){const r=n.map(i=>`
|
|
264
|
-
'${i.sqlOutputName}' VALUE ${i.sqlExpression}`).join(", ");return`ANY_VALUE(CASE WHEN group_set=${e} THEN JSON_OBJECT(${r}))`}sqlAnyValueLastTurtle(e,n,r){return`ANY_VALUE(CASE WHEN group_set=${n} THEN ${e} END) as ${r}`}sqlCoaleseMeasuresInline(e,n){const r=n.map(
|
|
264
|
+
'${i.sqlOutputName}' VALUE ${i.sqlExpression}`).join(", ");return`ANY_VALUE(CASE WHEN group_set=${e} THEN JSON_OBJECT(${r}))`}sqlAnyValueLastTurtle(e,n,r){return`ANY_VALUE(CASE WHEN group_set=${n} THEN ${e} END) as ${r}`}sqlCoaleseMeasuresInline(e,n){const r=n.map(o=>o.sqlExpression).join(", "),i=n.map(o=>"NULL").join(", "),s=this.buildTypeExpression(n);return`COALESCE(ANY_VALUE(CASE WHEN group_set=${e} THEN CAST(ROW(${r}) AS ROW(${s})) END), CAST(ROW(${i}) AS ROW(${s})))`}sqlUnnestAlias(e,n,r,i,s,o){const u=r.map(a=>this.sqlMaybeQuoteIdentifier(a.sqlOutputName));return s?i?`,UNNEST(ARRAY(( SELECT AS STRUCT row_number() over() as __row_id, value FROM UNNEST(${e}) value))) as ${n}`:`,UNNEST(ARRAY((SELECT AS STRUCT value FROM unnest(${e}) value))) as ${n}`:i?`,UNNEST(zip_with(a, SEQUENCE(1,cardinality(a)), (r,__row_id) -> (r, __row_id))) as ${n}_outer(${n},__row_id)`:`,UNNEST(${e}) as ${n}(${u.join(", ")})`}sqlSumDistinctHashedKey(e){e=`CAST(${e} AS VARCHAR)`;const n=`cast(from_base(substr(to_hex(md5(to_utf8(${e}))), 1, 15),16) as DECIMAL) * DECIMAL '4294967296' `,r=`cast(from_base(substr(to_hex(md5(to_utf8(${e}))), 16, 8),16) as DECIMAL) `;return`(${n} + ${r}) * 0.000000001`}sqlGenerateUUID(){return"UUID()"}sqlFieldReference(e,n,r,i,s){return n==="__row_id"?`${e}_outer.__row_id`:`${e}.${n}`}sqlUnnestPipelineHead(e,n){let r=n;return e&&(r=`[${r}]`),`UNNEST(${r})`}sqlCreateFunction(e,n){return`CREATE TEMPORARY FUNCTION ${e}(__param ANY TYPE) AS ((
|
|
265
265
|
${(0,VP.indent)(n)}));
|
|
266
266
|
`}sqlCreateTableAsSelect(e,n){return`
|
|
267
267
|
CREATE TABLE IF NOT EXISTS \`${e}\`
|
|
@@ -272,7 +272,7 @@ AS (
|
|
|
272
272
|
${(0,VP.indent)(n)}
|
|
273
273
|
);
|
|
274
274
|
`}sqlCreateFunctionCombineLastStage(e){return`SELECT ARRAY((SELECT AS STRUCT * FROM ${e}))
|
|
275
|
-
`}sqlSelectAliasAsStruct(e){return`(SELECT AS STRUCT ${e}.*)`}sqlMaybeQuoteIdentifier(e){return
|
|
275
|
+
`}sqlSelectAliasAsStruct(e){return`(SELECT AS STRUCT ${e}.*)`}sqlMaybeQuoteIdentifier(e){return'"'+e+'"'}sqlNow(){return(0,Nn.mkExpr)`CURRENT_TIMESTAMP()`}sqlTrunc(e,n,r){const i=WA(e),s=i?`, "${i}"`:"";return n.valueType==="date"?Ede(r)?(0,Nn.mkExpr)`DATE_TRUNC(${n.value},${r})`:(0,Nn.mkExpr)`TIMESTAMP(${n.value}${s})`:(0,Nn.mkExpr)`TIMESTAMP_TRUNC(${n.value},${r}${s})`}sqlExtract(e,n,r){const i=Ade[r]||r,s=n.valueType==="timestamp"&&WA(e),o=s?` AT TIME ZONE '${s}'`:"";return(0,Nn.mkExpr)`EXTRACT(${i} FROM ${n.value}${o})`}sqlAlterTime(e,n,r,i){let s=n.value,o=n.valueType;i!=="day"&&XP(i)?(o="timestamp",n.valueType!=="timestamp"&&(s=(0,Nn.mkExpr)`TIMESTAMP(${s})`)):n.valueType==="timestamp"&&(s=(0,Nn.mkExpr)`DATETIME(${s})`,o="datetime");const u=o.toUpperCase()+(e==="+"?"_ADD":"_SUB"),a=(0,Nn.mkExpr)`${u}(${s}, INTERVAL ${r} ${i})`;return o===n.valueType?a:(0,Nn.mkExpr)`${n.valueType.toUpperCase()}(${a})`}ignoreInProject(e){return e==="_PARTITIONTIME"}sqlCast(e,n){const r=`${n.srcType}::${n.dstType}`,i=WA(e);if(r==="timestamp::date"&&i)return(0,Nn.mkExpr)`DATE(${n.expr},'${i}')`;if(r==="date::timestamp"&&i)return(0,Nn.mkExpr)`TIMESTAMP(${n.expr}, '${i}')`;if(n.srcType!==n.dstType){const s=typeof n.dstType=="string"?this.malloyTypeToSQLType({type:n.dstType}):n.dstType.raw,o=n.safe?"SAFE_CAST":"CAST";return(0,Nn.mkExpr)`${o}(${n.expr} AS ${s})`}return n.expr}sqlRegexpMatch(e,n){return(0,Nn.mkExpr)`REGEXP_LIKE(${e}, ${n})`}sqlLiteralTime(e,n,r,i){if(r==="date")return`DATE('${n}')`;if(r==="timestamp"){let s=`'${n}'`;const o=i||WA(e);return o&&o!=="UTC"&&(s+=`,'${o}'`),`TIMESTAMP(${s})`}else throw new Error(`Unsupported Literal time format ${r}`)}sqlMeasureTime(e,n,r){const i={microsecond:{use:"microsecond",ratio:1},millisecond:{use:"microsecond",ratio:1e3},second:{use:"millisecond",ratio:1e3},minute:{use:"second",ratio:60},hour:{use:"minute",ratio:60},day:{use:"hour",ratio:24},week:{use:"day",ratio:7}};let s=e.value,o=n.value;if(i[r]){const{use:u,ratio:a}=i[r];if(!XP(u))throw new Error(`Measure in '${u} not implemented`);if(e.valueType!==n.valueType)throw new Error("Can't measure difference between different types");e.valueType==="date"&&(s=(0,Nn.mkExpr)`TIMESTAMP(${s})`,o=(0,Nn.mkExpr)`TIMESTAMP(${o})`);let l=(0,Nn.mkExpr)`TIMESTAMP_DIFF(${o},${s},${u})`;return a!==1&&(l=(0,Nn.mkExpr)`FLOOR(${l}/${a.toString()}.0)`),l}throw new Error(`Measure '${r} not implemented`)}sqlSampleTable(e,n){if(n!==void 0){if((0,Nn.isSamplingEnable)(n)&&n.enable&&(n=this.defaultSampling),(0,Nn.isSamplingRows)(n))throw new Error("StandardSQL doesn't support sampling by rows only percent");if((0,Nn.isSamplingPercent)(n))return`(SELECT * FROM ${e} TABLESAMPLE SYSTEM (${n.percent} PERCENT))`}return e}sqlLiteralString(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}sqlLiteralRegexp(e){return"'"+e.replace(/\\/g,"\\\\").replace(/'/g,"\\'")+"'"}getGlobalFunctionDef(e){return yde.TRINO_FUNCTIONS.get(e)}malloyTypeToSQLType(e){return e.type==="number"?e.numberType==="integer"?"BIGINT":"DOUBLE":e.type==="string"?"VARCHAR":e.type}sqlTypeToMalloyType(e){}castToString(e){return`CAST(${e} as VARCHAR)`}concat(...e){return e.join(" || ")}validateTypeName(e){return e.match(/^[A-Za-z\s(),<>0-9]*$/)!==null}}GA.TrinoDialect=vde,function(t){var e=N&&N.__createBinding||(Object.create?function(r,i,s,o){o===void 0&&(o=s);var u=Object.getOwnPropertyDescriptor(i,s);(!u||("get"in u?!i.__esModule:u.writable||u.configurable))&&(u={enumerable:!0,get:function(){return i[s]}}),Object.defineProperty(r,o,u)}:function(r,i,s,o){o===void 0&&(o=s),r[o]=i[s]}),n=N&&N.__exportStar||function(r,i){for(var s in r)s!=="default"&&!Object.prototype.hasOwnProperty.call(i,s)&&e(i,r,s)};Object.defineProperty(t,"__esModule",{value:!0}),n(GA,t)}(oD);var mu={};Object.defineProperty(mu,"__esModule",{value:!0}),mu.getDialectFunction=mu.registerDialect=mu.getDialect=void 0;const _de=nD,Cde=eD,bde=iD,Tde=jN,Rde=oD,uD=new Map;function Ode(t){const e=uD.get(t);if(e===void 0)throw new Error(`Unknown Dialect ${t}`);return e}mu.getDialect=Ode;function Wd(t){uD.set(t.name,t)}mu.registerDialect=Wd,Wd(new Cde.PostgresDialect),Wd(new Tde.StandardSQLDialect),Wd(new _de.DuckDBDialect),Wd(new bde.SnowflakeDialect),Wd(new Rde.TrinoDialect);function KP(t,e){return t.params.length===e.params.length&&t.params.every((n,r)=>{const i=e.params[r];return n.isVariadic===i.isVariadic&&n.name===i.name&&n.allowedTypes.length===i.allowedTypes.length&&n.allowedTypes.every(s=>i.allowedTypes.some(o=>s.dataType===o.dataType&&s.expressionType===o.expressionType))})}function Nde(t,e){return KP(t,e)}function Dde(t,e){return t.returnType.dataType===e.returnType.dataType&&t.returnType.expressionType===e.returnType.expressionType}function Fde(t){const e={type:"function",name:t,overloads:[]};let n=!1;for(const r of uD.values()){const i=r.getGlobalFunctionDef(t);if(i){for(const s of i){let o=!1;for(const u of e.overloads)if(Nde(s,u)){if(!KP(s,u))throw new Error("params are compatible but not equal");if(!Dde(s,u))throw new Error("params match but return types differ!");u.dialect[r.name]={e:s.e,supportsOrderBy:s.supportsOrderBy,defaultOrderByArgIndex:s.defaultOrderByArgIndex,supportsLimit:s.supportsLimit},o=!0}o||e.overloads.push({returnType:s.returnType,params:s.params,dialect:{[r.name]:{e:s.e,supportsOrderBy:s.supportsOrderBy,defaultOrderByArgIndex:s.defaultOrderByArgIndex,supportsLimit:s.supportsLimit}},needsWindowOrderBy:s.needsWindowOrderBy,between:s.between,isSymmetric:s.isSymmetric})}n=!0}}return n?e:void 0}mu.getDialectFunction=Fde,function(t){Object.defineProperty(t,"__esModule",{value:!0}),t.FUNCTIONS=t.getDialectFunction=t.registerDialect=t.getDialect=t.TrinoDialect=t.SnowflakeDialect=t.DuckDBDialect=t.PostgresDialect=t.StandardSQLDialect=t.qtz=t.Dialect=t.sql=t.literal=t.params=t.param=t.sqlFragment=t.spread=t.maxScalar=t.minAggregate=t.minScalar=t.overload=t.makeParam=t.anyExprType=t.arg=void 0;var e=ve;Object.defineProperty(t,"arg",{enumerable:!0,get:function(){return e.arg}}),Object.defineProperty(t,"anyExprType",{enumerable:!0,get:function(){return e.anyExprType}}),Object.defineProperty(t,"makeParam",{enumerable:!0,get:function(){return e.makeParam}}),Object.defineProperty(t,"overload",{enumerable:!0,get:function(){return e.overload}}),Object.defineProperty(t,"minScalar",{enumerable:!0,get:function(){return e.minScalar}}),Object.defineProperty(t,"minAggregate",{enumerable:!0,get:function(){return e.minAggregate}}),Object.defineProperty(t,"maxScalar",{enumerable:!0,get:function(){return e.maxScalar}}),Object.defineProperty(t,"spread",{enumerable:!0,get:function(){return e.spread}}),Object.defineProperty(t,"sqlFragment",{enumerable:!0,get:function(){return e.sqlFragment}}),Object.defineProperty(t,"param",{enumerable:!0,get:function(){return e.param}}),Object.defineProperty(t,"params",{enumerable:!0,get:function(){return e.params}}),Object.defineProperty(t,"literal",{enumerable:!0,get:function(){return e.literal}}),Object.defineProperty(t,"sql",{enumerable:!0,get:function(){return e.sql}});var n=Hc;Object.defineProperty(t,"Dialect",{enumerable:!0,get:function(){return n.Dialect}}),Object.defineProperty(t,"qtz",{enumerable:!0,get:function(){return n.qtz}});var r=jN;Object.defineProperty(t,"StandardSQLDialect",{enumerable:!0,get:function(){return r.StandardSQLDialect}});var i=eD;Object.defineProperty(t,"PostgresDialect",{enumerable:!0,get:function(){return i.PostgresDialect}});var s=nD;Object.defineProperty(t,"DuckDBDialect",{enumerable:!0,get:function(){return s.DuckDBDialect}});var o=iD;Object.defineProperty(t,"SnowflakeDialect",{enumerable:!0,get:function(){return o.SnowflakeDialect}});var u=oD;Object.defineProperty(t,"TrinoDialect",{enumerable:!0,get:function(){return u.TrinoDialect}});var a=mu;Object.defineProperty(t,"getDialect",{enumerable:!0,get:function(){return a.getDialect}}),Object.defineProperty(t,"registerDialect",{enumerable:!0,get:function(){return a.registerDialect}}),Object.defineProperty(t,"getDialectFunction",{enumerable:!0,get:function(){return a.getDialectFunction}});var l=zc;Object.defineProperty(t,"FUNCTIONS",{enumerable:!0,get:function(){return l.FUNCTIONS}})}(T3);var yu={},cf={};Object.defineProperty(cf,"__esModule",{value:!0}),cf.QueryModel=cf.Segment=void 0;const wde=T3,Lde=D2,je=ne,vr=Gt;function JP(t){return t.map(e=>encodeURIComponent(e)).join("/")}function aD(t){return`'${t}'`}function ZP(t){return t.replace(/[^a-zA-Z0-9_]/g,"_o_")}class Ide extends Set{add_use(e){if(e!==void 0)return this.add(e)}hasAsymetricFunctions(){return this.has("sum")||this.has("avg")||this.has("count")||this.has("generic_asymmetric_aggregate")}}class H2{constructor(e=!0,n){this.parent=n,this.withs=[],this.udfs=[],this.pdts=[],this.stagePrefix="__stage",this.useCTE=e}getName(e){return`${this.stagePrefix}${e}`}root(){return this.parent===void 0?this:this.parent.root()}addStage(e){return this.useCTE?(this.withs.push(e),this.getName(this.withs.length-1)):(this.withs[0]=e,(0,vr.indent)(`
|
|
276
276
|
(${e})
|
|
277
277
|
`))}addUDF(e,n,r){let{sql:i,lastStageName:s}=e.combineStages(!0);if(s===void 0)throw new Error("Internal Error: no stage to combine");i+=n.sqlCreateFunctionCombineLastStage(s,r);const o=`${n.udfPrefix}${this.root().udfs.length}`;return i=n.sqlCreateFunction(o,i),this.root().udfs.push(i),o}addPDT(e,n){const r=this.combineStages(!1).sql+this.withs[this.withs.length-1],i="scratch."+e+(0,vr.generateHash)(r);return this.root().pdts.push(n.sqlCreateTableAsSelect(i,r)),i}combineStages(e){if(!this.useCTE)return{sql:this.withs[0],lastStageName:this.withs[0]};let n=this.getName(0),r="WITH ",i="";for(let s=0;s<this.withs.length-(e?0:1);s++){const o=this.withs[s];if(n=this.getName(s),o===void 0)throw new Error(`Expected sql WITH to be present for stage ${n}.`);i+=`${r}${n} AS (
|
|
278
278
|
${(0,vr.indent)(o)})
|
|
@@ -303,7 +303,7 @@ ${(0,vr.indent)(f)}) AS ${n.alias}
|
|
|
303
303
|
ON ${a}
|
|
304
304
|
`,r}}else if(s.type==="nested"){if(i.parent===void 0||n.parent===void 0)throw new Error("Internal Error, nested structure with no parent.");const u=this.parent.dialect.sqlFieldReference(i.parent.getSQLIdentifier(),s.fieldName,"struct",i.parent.fieldDef.structRelationship.type==="nested",this.parent.fieldDef.structRelationship.type==="nested"&&this.parent.fieldDef.structRelationship.isArray);r+=`${this.parent.dialect.sqlUnnestAlias(u,n.alias,n.getDialectFieldList(),n.makeUniqueKey,s.isArray,this.inNestedPipeline())}
|
|
305
305
|
`}else throw s.type==="inline"?new Error("Internal Error: inline structs should never appear in join trees"):new Error(`Join type not implemented ${JSON.stringify(i.fieldDef.structRelationship)}`);for(const u of n.children)r+=this.generateSQLJoinBlock(e,u);return r}generateSQLPassthroughKeys(e){let n="";if(e.dialect.name==="standardsql"){const r=["_TABLE_SUFFIX","_PARTITIONDATE","_PARTITIONTIME"].filter(i=>e.getChildByName(i)!==void 0);r.length>0&&(n=", "+r.join(", "))}return n}generateSQLJoins(e){let n="";const[[,r]]=this.rootResult.joins,i=r.queryStruct;let s=i.structSourceSQL(e);if((0,je.isIndexSegment)(this.firstSegment)&&(s=this.parent.dialect.sqlSampleTable(s,this.firstSegment.sample),this.firstSegment.sample&&(s=e.addStage(`SELECT * from ${s} as x limit 100000 `))),i.fieldDef.structRelationship.type==="basetable"){if(r.makeUniqueKey){const u=this.generateSQLPassthroughKeys(i);s=`(SELECT ${i.dialect.sqlGenerateUUID()} as ${i.dialect.sqlMaybeQuoteIdentifier("__distinct_key")}, x.* ${u} FROM ${s} as x)`}n+=`FROM ${s} as ${r.alias}
|
|
306
|
-
`}else throw new Error("Internal Error, queries must start from a basetable");for(const u of r.children)n+=this.generateSQLJoinBlock(e,u);return n}genereateSQLOrderBy(e,n){let r="";if(this.firstSegment.type==="project"&&!e.orderBy||this.fieldDef.pipeline.length>1&&e.limit===void 0||n.getRepeatedResultType()==="inline_all_numbers"||this.isJoinedSubquery&&this.fieldDef.pipeline.length===1&&e.limit===void 0)return"";const i=e.orderBy||n.calculateDefaultOrderBy(),s=[];for(const o of i)if(typeof o.field=="string"){const u=n.getField(o.field);if(u&&u.fieldUsage.type==="result")this.parent.dialect.orderByClause==="ordinal"?s.push(`${u.fieldUsage.resultIndex} ${o.dir||"ASC"}`):this.parent.dialect.orderByClause==="output_name"&&s.push(`${o.field}${o.dir||"ASC"}`);else throw new Error(`Unknown field in ORDER BY ${o.field}`)}else if(this.parent.dialect.orderByClause==="ordinal")s.push(`${o.field} ${o.dir||"ASC"}`);else if(this.parent.dialect.orderByClause==="output_name"){const u=n.getFieldByNumber(o.field);s.push(`${this.parent.dialect.sqlMaybeQuoteIdentifier(u.name)} ${o.dir||"ASC"}`)}return s.length>0&&(r=this.parent.dialect.sqlOrderBy(s)+`
|
|
306
|
+
`}else throw new Error("Internal Error, queries must start from a basetable");for(const u of r.children)n+=this.generateSQLJoinBlock(e,u);return n}genereateSQLOrderBy(e,n){let r="";if(this.firstSegment.type==="project"&&!e.orderBy||this.fieldDef.pipeline.length>1&&e.limit===void 0||n.getRepeatedResultType()==="inline_all_numbers"||this.isJoinedSubquery&&this.fieldDef.pipeline.length===1&&e.limit===void 0)return"";const i=e.orderBy||n.calculateDefaultOrderBy(),s=[];for(const o of i)if(typeof o.field=="string"){const u=n.getField(o.field);if(u&&u.fieldUsage.type==="result")this.parent.dialect.orderByClause==="ordinal"?s.push(`${u.fieldUsage.resultIndex} ${o.dir||"ASC"}`):this.parent.dialect.orderByClause==="output_name"&&s.push(`${this.parent.dialect.sqlMaybeQuoteIdentifier(o.field)} ${o.dir||"ASC"}`);else throw new Error(`Unknown field in ORDER BY ${o.field}`)}else if(this.parent.dialect.orderByClause==="ordinal")s.push(`${o.field} ${o.dir||"ASC"}`);else if(this.parent.dialect.orderByClause==="output_name"){const u=n.getFieldByNumber(o.field);s.push(`${this.parent.dialect.sqlMaybeQuoteIdentifier(u.name)} ${o.dir||"ASC"}`)}return s.length>0&&(r=this.parent.dialect.sqlOrderBy(s)+`
|
|
307
307
|
`),r}generateSimpleSQL(e){let n="";n+=`SELECT
|
|
308
308
|
`;const r=[];for(const[i,s]of this.rootResult.allFields){const o=s,u=this.parent.dialect.sqlMaybeQuoteIdentifier(i);o.fieldUsage.type==="result"&&r.push(` ${o.f.generateExpression(this.rootResult)} as ${u}`)}if(n+=(0,vr.indent)(r.join(`,
|
|
309
309
|
`))+`
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@malloydata/render",
|
|
3
|
-
"version": "0.0.138-
|
|
3
|
+
"version": "0.0.138-dev240401194552",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/module/index.umd.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
"build-types": "tsc --build --declaration --emitDeclarationOnly"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@malloydata/malloy": "^0.0.138-
|
|
36
|
+
"@malloydata/malloy": "^0.0.138-dev240401194552",
|
|
37
37
|
"@types/luxon": "^2.4.0",
|
|
38
38
|
"component-register": "^0.8.3",
|
|
39
39
|
"lodash": "^4.17.20",
|