@malloydata/render 0.0.152-dev240714151921 → 0.0.152-dev240716144637

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.
@@ -5051,7 +5051,7 @@ class vhe extends XG {
5051
5051
  return "CAST(UUID() AS VARCHAR)";
5052
5052
  }
5053
5053
  sqlUnnestAlias(e, n, r, i, s, o) {
5054
- return s ? i ? `CROSS JOIN UNNEST(zip_with(${e},array[],(r,ignore) -> (r, ignore))) WITH ORDINALITY as ${n}(value, ignore,__row_id_from_${n})` : `CROSS JOIN UNNEST(zip_with(${e},array[],(r,ignore) -> (r, ignore))) as ${n}(value, ignore)` : i ? `CROSS JOIN UNNEST(zip_with(${e},array[],(r,ignore) -> (r, ignore))) WITH ORDINALITY as ${n}_outer(${n}, ignore,__row_id_from_${n})` : `CROSS JOIN UNNEST(zip_with(${e},array[],(r,ignore) -> (r, ignore)))as ${n}_outer(${n},ignore)`;
5054
+ return s ? i ? `CROSS JOIN UNNEST(${e}) WITH ORDINALITY as ${n}(value, __row_id_from_${n}) ` : `CROSS JOIN UNNEST(${e}) as ${n}(value) ` : i ? `CROSS JOIN UNNEST(${e}) WITH ORDINALITY as ${n}_outer(${n}, __row_id_from_${n})` : `CROSS JOIN UNNEST(${e}) as ${n}_outer(${n})`;
5055
5055
  }
5056
5056
  }
5057
5057
  Ph.PrestoDialect = vhe;
@@ -278,7 +278,7 @@ ${(0,SM.indent)(n)}
278
278
  );
279
279
  `}sqlCreateFunctionCombineLastStage(e,n){const r=n.map(s=>s.sqlExpression).join(", "),i=this.buildTypeExpression(n);return`SELECT ARRAY_AGG(CAST(ROW(${r}) as ROW(${i}))) FROM ${e}
280
280
  `}sqlSelectAliasAsStruct(e,n){const r=n.map(s=>s.sqlExpression).join(", "),i=this.buildTypeExpression(n);return`CAST(ROW(${r}) as ROW(${i})`}sqlMaybeQuoteIdentifier(e){return'"'+e+'"'}sqlNow(){return(0,qt.mkExpr)`LOCALTIMESTAMP`}sqlTrunc(e,n,r){const i=r==="week",s=i?(0,qt.mkExpr)`DATE_ADD('day', 1, ${n.value})`:n.value;if(n.valueType==="timestamp"){const u=yS(e);if(u){const a=(0,qt.mkExpr)`AT_TIMEZONE(${s},'${u}')`,l=(0,qt.mkExpr)`DATE_TRUNC('${r}', ${a})`;return(0,qt.mkExpr)`AT_TIMEZONE(${l},'${u}')`}}let o=(0,qt.mkExpr)`DATE_TRUNC('${r}', ${s})`;return i&&(o=(0,qt.mkExpr)`DATE_ADD('day',-1, ${o})`),o}sqlExtract(e,n,r){const i=Ehe[r]||r;let s=n.value;if(n.valueType==="timestamp"){const u=yS(e);u&&(s=(0,qt.mkExpr)`at_timezone(${s},'${u}')`)}const o=(0,qt.mkExpr)`EXTRACT(${i} FROM ${s})`;return r==="day_of_week"?(0,qt.mkExpr)`mod(${o}+1,7)`:o}sqlAlterTime(e,n,r,i){return i==="quarter"&&(i="month",r=(0,qt.mkExpr)`${r}*3`),i==="week"&&(i="day",r=(0,qt.mkExpr)`${r}*7`),e==="-"&&(r=(0,qt.mkExpr)`(${r})*-1`),(0,qt.mkExpr)`DATE_ADD('${i}', ${r}, ${n.value})`}sqlCast(e,n){const r=`${n.srcType}=>${n.dstType}`,i=yS(e);if(r==="timestamp=>date"&&i){const s=(0,qt.mkExpr)`CAST(${n.expr} as TIMESTAMP)`;return(0,qt.mkExpr)`CAST((${s}) AT TIME ZONE '${i}' AS DATE)`}else if(r==="date=>timestamp"&&i)return(0,qt.mkExpr)`CAST(CONCAT(CAST(CAST(${n.expr} AS TIMESTAMP) AS VARCHAR), ' ${i}') AS TIMESTAMP WITH TIME ZONE)`;if(n.srcType!==n.dstType){const s=typeof n.dstType=="string"?this.malloyTypeToSQLType({type:n.dstType}):n.dstType.raw,o=n.safe?"TRY_CAST":"CAST";return(0,qt.mkExpr)`${o}(${n.expr} AS ${s})`}return n.expr}sqlRegexpMatch(e,n){return(0,qt.mkExpr)`REGEXP_LIKE(${e}, ${n})`}sqlLiteralTime(e,n,r,i){if(r==="date")return`DATE '${n}'`;const s=i||yS(e);return s?`TIMESTAMP '${n} ${s}'`:`TIMESTAMP '${n}'`}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(!yhe(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,qt.mkExpr)`CAST(${s} AS TIMESTAMP)`,o=(0,qt.mkExpr)`CAST(${o} AS TIMESTAMP)`);let l=(0,qt.mkExpr)`DATE_DIFF('${u}',${s},${o})`;return a!==1&&(l=(0,qt.mkExpr)`FLOOR(CAST(${l} AS DOUBLE)/${a.toString()}.0)`),l}throw new Error(`Measure '${r} not implemented`)}sqlSampleTable(e,n){if(n!==void 0){if((0,qt.isSamplingEnable)(n)&&n.enable&&(n=this.defaultSampling),(0,qt.isSamplingRows)(n))throw new Error("Trino doesn't support sampling by rows only percent");if((0,qt.isSamplingPercent)(n))return`(SELECT * FROM ${e} TABLESAMPLE SYSTEM (${n.percent}))`}return e}sqlLiteralString(e){return"'"+e.replace(/'/g,"''")+"'"}sqlLiteralRegexp(e){return"'"+e.replace(/'/g,"''")+"'"}getGlobalFunctionDef(e){return mhe.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(" || ")}sqlMakeUnnestKey(e,n){return`CAST(${e} as VARCHAR) || 'x' || CAST(${n} as VARCHAR)`}sqlStringAggDistinct(e,n,r){return`
281
- ARRAY_JOIN(TRANSFORM(ARRAY_AGG(DISTINCT ARRAY[CAST(${n} AS VARCHAR),CAST(${e} as VARCHAR)]), x -> x[1]),${r.length>0?r:"','"})`}validateTypeName(e){return e.match(/^[A-Za-z\s(),<>0-9]*$/)!==null}}ih.TrinoDialect=_M;class She extends _M{constructor(){super(...arguments),this.name="presto",this.supportsPipelinesInViews=!1,this.supportsLeftJoinUnnest=!1}sqlGenerateUUID(){return"CAST(UUID() AS VARCHAR)"}sqlUnnestAlias(e,n,r,i,s,o){return s?i?`CROSS JOIN UNNEST(zip_with(${e},array[],(r,ignore) -> (r, ignore))) WITH ORDINALITY as ${n}(value, ignore,__row_id_from_${n})`:`CROSS JOIN UNNEST(zip_with(${e},array[],(r,ignore) -> (r, ignore))) as ${n}(value, ignore)`:i?`CROSS JOIN UNNEST(zip_with(${e},array[],(r,ignore) -> (r, ignore))) WITH ORDINALITY as ${n}_outer(${n}, ignore,__row_id_from_${n})`:`CROSS JOIN UNNEST(zip_with(${e},array[],(r,ignore) -> (r, ignore)))as ${n}_outer(${n},ignore)`}}ih.PrestoDialect=She,function(t){var e=O&&O.__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=O&&O.__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(ih,t)}(LD);var _u={};Object.defineProperty(_u,"__esModule",{value:!0}),_u.getDialectFunction=_u.registerDialect=_u.getDialect=void 0;const vhe=ND,_he=RD,Che=FD,bhe=dD,CM=LD,ID=new Map;function The(t){const e=ID.get(t);if(e===void 0)throw new Error(`Unknown Dialect ${t}`);return e}_u.getDialect=The;function Af(t){ID.set(t.name,t)}_u.registerDialect=Af,Af(new _he.PostgresDialect),Af(new bhe.StandardSQLDialect),Af(new vhe.DuckDBDialect),Af(new Che.SnowflakeDialect),Af(new CM.TrinoDialect),Af(new CM.PrestoDialect);function bM(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 Rhe(t,e){return bM(t,e)}function Ohe(t,e){return t.returnType.dataType===e.returnType.dataType&&t.returnType.expressionType===e.returnType.expressionType}function Nhe(t){const e={type:"function",name:t,overloads:[]};let n=!1;for(const r of ID.values()){const i=r.getGlobalFunctionDef(t);if(i){for(const s of i){let o=!1;for(const u of e.overloads)if(Rhe(s,u)){if(!bM(s,u))throw new Error("params are compatible but not equal");if(!Ohe(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}_u.getDialectFunction=Nhe,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=ge;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=Kc;Object.defineProperty(t,"Dialect",{enumerable:!0,get:function(){return n.Dialect}}),Object.defineProperty(t,"qtz",{enumerable:!0,get:function(){return n.qtz}});var r=dD;Object.defineProperty(t,"StandardSQLDialect",{enumerable:!0,get:function(){return r.StandardSQLDialect}});var i=RD;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=FD;Object.defineProperty(t,"SnowflakeDialect",{enumerable:!0,get:function(){return o.SnowflakeDialect}});var u=LD;Object.defineProperty(t,"TrinoDialect",{enumerable:!0,get:function(){return u.TrinoDialect}});var a=_u;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=Jc;Object.defineProperty(t,"FUNCTIONS",{enumerable:!0,get:function(){return l.FUNCTIONS}})}(Q2);var Cu={},Sf={};Object.defineProperty(Sf,"__esModule",{value:!0}),Sf.QueryModel=Sf.Segment=void 0;const Dhe=Q2,Fhe=G2,Ue=ne,br=Wt;function TM(t){return t.map(e=>encodeURIComponent(e)).join("/")}function $D(t){return`'${t}'`}function whe(t){return t.replace(/[^a-zA-Z0-9_]/g,"_o_")}function og(t){const e=[];for(const n of t.fields.filter(Ue.isPhysical))e.push({type:n.type,sqlExpression:(0,Ue.getIdentifier)(n),rawName:(0,Ue.getIdentifier)(n),sqlOutputName:(0,Ue.getIdentifier)(n)});return e}class Lhe 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 ug{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,br.indent)(`
281
+ ARRAY_JOIN(TRANSFORM(ARRAY_AGG(DISTINCT ARRAY[CAST(${n} AS VARCHAR),CAST(${e} as VARCHAR)]), x -> x[1]),${r.length>0?r:"','"})`}validateTypeName(e){return e.match(/^[A-Za-z\s(),<>0-9]*$/)!==null}}ih.TrinoDialect=_M;class She extends _M{constructor(){super(...arguments),this.name="presto",this.supportsPipelinesInViews=!1,this.supportsLeftJoinUnnest=!1}sqlGenerateUUID(){return"CAST(UUID() AS VARCHAR)"}sqlUnnestAlias(e,n,r,i,s,o){return s?i?`CROSS JOIN UNNEST(${e}) WITH ORDINALITY as ${n}(value, __row_id_from_${n}) `:`CROSS JOIN UNNEST(${e}) as ${n}(value) `:i?`CROSS JOIN UNNEST(${e}) WITH ORDINALITY as ${n}_outer(${n}, __row_id_from_${n})`:`CROSS JOIN UNNEST(${e}) as ${n}_outer(${n})`}}ih.PrestoDialect=She,function(t){var e=O&&O.__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=O&&O.__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(ih,t)}(LD);var _u={};Object.defineProperty(_u,"__esModule",{value:!0}),_u.getDialectFunction=_u.registerDialect=_u.getDialect=void 0;const vhe=ND,_he=RD,Che=FD,bhe=dD,CM=LD,ID=new Map;function The(t){const e=ID.get(t);if(e===void 0)throw new Error(`Unknown Dialect ${t}`);return e}_u.getDialect=The;function Af(t){ID.set(t.name,t)}_u.registerDialect=Af,Af(new _he.PostgresDialect),Af(new bhe.StandardSQLDialect),Af(new vhe.DuckDBDialect),Af(new Che.SnowflakeDialect),Af(new CM.TrinoDialect),Af(new CM.PrestoDialect);function bM(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 Rhe(t,e){return bM(t,e)}function Ohe(t,e){return t.returnType.dataType===e.returnType.dataType&&t.returnType.expressionType===e.returnType.expressionType}function Nhe(t){const e={type:"function",name:t,overloads:[]};let n=!1;for(const r of ID.values()){const i=r.getGlobalFunctionDef(t);if(i){for(const s of i){let o=!1;for(const u of e.overloads)if(Rhe(s,u)){if(!bM(s,u))throw new Error("params are compatible but not equal");if(!Ohe(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}_u.getDialectFunction=Nhe,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=ge;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=Kc;Object.defineProperty(t,"Dialect",{enumerable:!0,get:function(){return n.Dialect}}),Object.defineProperty(t,"qtz",{enumerable:!0,get:function(){return n.qtz}});var r=dD;Object.defineProperty(t,"StandardSQLDialect",{enumerable:!0,get:function(){return r.StandardSQLDialect}});var i=RD;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=FD;Object.defineProperty(t,"SnowflakeDialect",{enumerable:!0,get:function(){return o.SnowflakeDialect}});var u=LD;Object.defineProperty(t,"TrinoDialect",{enumerable:!0,get:function(){return u.TrinoDialect}});var a=_u;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=Jc;Object.defineProperty(t,"FUNCTIONS",{enumerable:!0,get:function(){return l.FUNCTIONS}})}(Q2);var Cu={},Sf={};Object.defineProperty(Sf,"__esModule",{value:!0}),Sf.QueryModel=Sf.Segment=void 0;const Dhe=Q2,Fhe=G2,Ue=ne,br=Wt;function TM(t){return t.map(e=>encodeURIComponent(e)).join("/")}function $D(t){return`'${t}'`}function whe(t){return t.replace(/[^a-zA-Z0-9_]/g,"_o_")}function og(t){const e=[];for(const n of t.fields.filter(Ue.isPhysical))e.push({type:n.type,sqlExpression:(0,Ue.getIdentifier)(n),rawName:(0,Ue.getIdentifier)(n),sqlOutputName:(0,Ue.getIdentifier)(n)});return e}class Lhe 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 ug{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,br.indent)(`
282
282
  (${e})
283
283
  `))}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,og(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,br.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 (
284
284
  ${(0,br.indent)(o)})
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@malloydata/render",
3
- "version": "0.0.152-dev240714151921",
3
+ "version": "0.0.152-dev240716144637",
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.152-dev240714151921",
36
+ "@malloydata/malloy": "^0.0.152-dev240716144637",
37
37
  "@types/luxon": "^2.4.0",
38
38
  "component-register": "^0.8.3",
39
39
  "lodash": "^4.17.20",