@malloydata/render 0.0.127-dev240305191049 → 0.0.127-dev240306172007
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.
|
@@ -5115,27 +5115,8 @@ ${hackSplitComment}
|
|
|
5115
5115
|
return tablePath;
|
|
5116
5116
|
}
|
|
5117
5117
|
sqlGroupSetTable(groupSetCount) {
|
|
5118
|
-
return `
|
|
5118
|
+
return `SELECT index as group_set FROM TABLE(FLATTEN(ARRAY_GENERATE_RANGE(0, ${groupSetCount})))`;
|
|
5119
5119
|
}
|
|
5120
|
-
/*
|
|
5121
|
-
// this just returns null in snowflake
|
|
5122
|
-
select
|
|
5123
|
-
any_value (t is not null) as av
|
|
5124
|
-
from
|
|
5125
|
-
(
|
|
5126
|
-
select
|
|
5127
|
-
case
|
|
5128
|
-
when group_set = 1 then 'one'
|
|
5129
|
-
end as t
|
|
5130
|
-
from
|
|
5131
|
-
(
|
|
5132
|
-
SELECT
|
|
5133
|
-
seq4 () as group_set
|
|
5134
|
-
FROM
|
|
5135
|
-
TABLE (GENERATOR (ROWCOUNT => 3))
|
|
5136
|
-
) as tbl
|
|
5137
|
-
);
|
|
5138
|
-
*/
|
|
5139
5120
|
sqlAnyValue(groupSet, fieldName) {
|
|
5140
5121
|
return `(ARRAY_AGG(CASE WHEN group_set=${groupSet} THEN ${fieldName} END) WITHIN GROUP (ORDER BY ${fieldName} ASC NULLS LAST))[0]`;
|
|
5141
5122
|
}
|
|
@@ -5225,8 +5206,8 @@ ${hackSplitComment}
|
|
|
5225
5206
|
sqlCreateFunction(_id, _funcText) {
|
|
5226
5207
|
throw new Error("not implemented yet");
|
|
5227
5208
|
}
|
|
5228
|
-
sqlCreateFunctionCombineLastStage(
|
|
5229
|
-
|
|
5209
|
+
sqlCreateFunctionCombineLastStage(lastStageName) {
|
|
5210
|
+
return `SELECT ARRAY_AGG(OBJECT_CONSTRUCT(*)) FROM ${lastStageName}`;
|
|
5230
5211
|
}
|
|
5231
5212
|
sqlSelectAliasAsStruct(alias) {
|
|
5232
5213
|
return `OBJECT_CONSTRUCT(${alias}.*)`;
|
|
@@ -169,8 +169,8 @@ ${vde}
|
|
|
169
169
|
FROM (
|
|
170
170
|
SELECT UNNEST(list(distinct {key:${e}, ${r.map((i,s)=>`val${s}: ${i}`).join(",")}})) a
|
|
171
171
|
)
|
|
172
|
-
)`}sqlSampleTable(e,r){if(r!==void 0){if((0,ur.isSamplingEnable)(r)&&r.enable&&(r=this.defaultSampling),(0,ur.isSamplingRows)(r))return`(SELECT * FROM ${e} USING SAMPLE ${r.rows})`;if((0,ur.isSamplingPercent)(r))return`(SELECT * FROM ${e} USING SAMPLE ${r.percent} PERCENT (bernoulli))`}return e}sqlOrderBy(e){return`ORDER BY ${e.map(r=>`${r} NULLS LAST`).join(",")}`}sqlLiteralString(e){return"'"+e.replace(/'/g,"''")+"'"}sqlLiteralRegexp(e){return"'"+e.replace(/'/g,"''")+"'"}getGlobalFunctionDef(e){return oje.DUCKDB_FUNCTIONS.get(e)}malloyTypeToSQLType(e){return e.type==="number"?e.numberType==="integer"?"integer":"double precision":e.type==="string"?"varchar":e.type}sqlTypeToMalloyType(e){var r,n;let i=(n=(r=e.match(/^(\w+)/))===null||r===void 0?void 0:r.at(0))!==null&&n!==void 0?n:e;return uje[i.toUpperCase()]}castToString(e){return`CAST(${e} as VARCHAR)`}concat(...e){return e.join(" || ")}validateTypeName(e){return e.match(/^[A-Za-z\s(),[\]0-9]*$/)!==null}};qF.DuckDBDialect=WG});var VG=S(Q1=>{"use strict";var lje=Q1&&Q1.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),cje=Q1&&Q1.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&lje(e,t,r)};Object.defineProperty(Q1,"__esModule",{value:!0});cje(_de(),Q1)});var bde=S($F=>{"use strict";Object.defineProperty($F,"__esModule",{value:!0});$F.fnChr=void 0;var Pb=be();function fje(){let t=(0,Pb.makeParam)("value",(0,Pb.anyExprType)("number"));return[(0,Pb.overload)((0,Pb.minScalar)("string"),[t.param],(0,Pb.sql)`COALESCE(CHR(${t.arg}), '')`)]}$F.fnChr=fje});var Tde=S(UF=>{"use strict";Object.defineProperty(UF,"__esModule",{value:!0});UF.fnDiv=void 0;var W1=be();function xje(){let t=(0,W1.makeParam)("dividend",(0,W1.anyExprType)("number")),e=(0,W1.makeParam)("divisor",(0,W1.anyExprType)("number"));return[(0,W1.overload)((0,W1.minScalar)("number"),[t.param,e.param],(0,W1.sql)`CASE WHEN DIV0(${t.arg}, ${e.arg}) < 0 THEN CEIL(DIV0(${t.arg}, ${e.arg})) ELSE FLOOR(DIV0(${t.arg}, ${e.arg})) END`)]}UF.fnDiv=xje});var Cde=S(jF=>{"use strict";Object.defineProperty(jF,"__esModule",{value:!0});jF.fnIsInf=void 0;var kb=be();function dje(){let t=(0,kb.makeParam)("value",(0,kb.anyExprType)("number"));return[(0,kb.overload)((0,kb.minScalar)("boolean"),[t.param],(0,kb.sql)`COALESCE(${t.arg} = 'inf'::FLOAT OR ${t.arg} = '-inf'::FLOAT, false)`)]}jF.fnIsInf=dje});var Rde=S(HF=>{"use strict";Object.defineProperty(HF,"__esModule",{value:!0});HF.fnIsNan=void 0;var w3=be();function hje(){return[(0,w3.overload)((0,w3.minScalar)("boolean"),[(0,w3.param)("value",(0,w3.anyExprType)("number"))],(0,w3.sql)`COALESCE(${(0,w3.arg)("value")} = 'NAN'::FLOAT, false)`)]}HF.fnIsNan=hje});var Ode=S(L3=>{"use strict";Object.defineProperty(L3,"__esModule",{value:!0});L3.fnByteLength=L3.fnLength=void 0;var Uu=be();function pje(){return[(0,Uu.overload)((0,Uu.minScalar)("number"),[(0,Uu.param)("value",(0,Uu.anyExprType)("string"))],(0,Uu.sql)`LENGTH(${(0,Uu.arg)("value")})`)]}L3.fnLength=pje;function mje(){return[(0,Uu.overload)((0,Uu.minScalar)("number"),[(0,Uu.param)("value",(0,Uu.anyExprType)("string"))],(0,Uu.sql)`CEIL(BIT_LENGTH(${(0,Uu.arg)("value")}) / 8)`)]}L3.fnByteLength=mje});var Dde=S(zF=>{"use strict";Object.defineProperty(zF,"__esModule",{value:!0});zF.fnLog=void 0;var V1=be();function gje(){let t=(0,V1.makeParam)("value",(0,V1.anyExprType)("number")),e=(0,V1.makeParam)("base",(0,V1.anyExprType)("number"));return[(0,V1.overload)((0,V1.minScalar)("number"),[t.param,e.param],(0,V1.sql)`LOG(${e.arg}, ${t.arg})`)]}zF.fnLog=gje});var Nde=S(GF=>{"use strict";Object.defineProperty(GF,"__esModule",{value:!0});GF.fnRand=void 0;var YG=be();function yje(){return[(0,YG.overload)((0,YG.minScalar)("number"),[],(0,YG.sql)`UNIFORM(0::FLOAT, 1::FLOAT, RANDOM())`)]}GF.fnRand=yje});var Fde=S(QF=>{"use strict";Object.defineProperty(QF,"__esModule",{value:!0});QF.fnRegexpExtract=void 0;var Y1=be();function Eje(){let t=(0,Y1.makeParam)("value",(0,Y1.anyExprType)("string")),e=(0,Y1.makeParam)("pattern",(0,Y1.anyExprType)("regular expression"));return[(0,Y1.overload)((0,Y1.minScalar)("string"),[t.param,e.param],(0,Y1.sql)`REGEXP_SUBSTR(${t.arg}, ${e.arg}, 1, 1, 'e')`)]}QF.fnRegexpExtract=Eje});var wde=S(I3=>{"use strict";Object.defineProperty(I3,"__esModule",{value:!0});I3.fnEndsWith=I3.fnStartsWith=void 0;var ua=be();function Aje(){let t=(0,ua.makeParam)("value",(0,ua.anyExprType)("string")),e=(0,ua.makeParam)("prefix",(0,ua.anyExprType)("string"));return[(0,ua.overload)((0,ua.minScalar)("boolean"),[t.param,e.param],(0,ua.sql)`COALESCE(STARTSWITH(${t.arg}, ${e.arg}), false)`)]}I3.fnStartsWith=Aje;function Sje(){let t=(0,ua.makeParam)("value",(0,ua.anyExprType)("string")),e=(0,ua.makeParam)("suffix",(0,ua.anyExprType)("string"));return[(0,ua.overload)((0,ua.minScalar)("boolean"),[t.param,e.param],(0,ua.sql)`COALESCE(ENDSWITH(${t.arg}, ${e.arg}), false)`)]}I3.fnEndsWith=Sje});var Lde=S(WF=>{"use strict";Object.defineProperty(WF,"__esModule",{value:!0});WF.fnStrpos=void 0;var K1=be();function vje(){let t=(0,K1.makeParam)("test_string",(0,K1.anyExprType)("string")),e=(0,K1.makeParam)("search_string",(0,K1.anyExprType)("string"));return[(0,K1.overload)((0,K1.minScalar)("number"),[t.param,e.param],(0,K1.sql)`POSITION(${e.arg}, ${t.arg})`)]}WF.fnStrpos=vje});var Ide=S(VF=>{"use strict";Object.defineProperty(VF,"__esModule",{value:!0});VF.fnTrunc=void 0;var xc=be();function _je(){let t=(0,xc.makeParam)("value",(0,xc.anyExprType)("number")),e=(0,xc.makeParam)("precision",(0,xc.anyExprType)("number"));return[(0,xc.overload)((0,xc.minScalar)("number"),[t.param],(0,xc.sql)`CASE WHEN ${t.arg} < 0 THEN CEIL(${t.arg}) ELSE FLOOR(${t.arg}) END`),(0,xc.overload)((0,xc.minScalar)("number"),[t.param,e.param],(0,xc.sql)`CASE WHEN ${t.arg} < 0 THEN CEIL(${t.arg} * POW(10, ${e.arg})) / POW(10, ${e.arg}) ELSE FLOOR(${t.arg} * POW(10, ${e.arg})) / POW(10, ${e.arg}) END`)]}VF.fnTrunc=_je});var Mde=S(M3=>{"use strict";Object.defineProperty(M3,"__esModule",{value:!0});M3.fnStringAggDistinct=M3.fnStringAgg=void 0;var hn=be();function bje(){let t=(0,hn.makeParam)("value",(0,hn.maxScalar)("string")),e=(0,hn.makeParam)("separator",(0,hn.literal)((0,hn.maxScalar)("string"))),r={type:"aggregate_order_by"};return[(0,hn.overload)((0,hn.minAggregate)("string"),[t.param],(0,hn.sql)`LISTAGG(${t.arg}, ',') WITHIN GROUP(${r})`,{supportsOrderBy:!0,supportsLimit:!1}),(0,hn.overload)((0,hn.minAggregate)("string"),[t.param,e.param],(0,hn.sql)`LISTAGG(${t.arg}, ${e.arg}) WITHIN GROUP(${r})`,{supportsOrderBy:!0,supportsLimit:!1})]}M3.fnStringAgg=bje;function Tje(){let t=(0,hn.makeParam)("value",(0,hn.maxScalar)("string")),e=(0,hn.makeParam)("separator",(0,hn.literal)((0,hn.maxScalar)("string"))),r={type:"aggregate_order_by"};return[(0,hn.overload)((0,hn.minAggregate)("string"),[t.param],(0,hn.sql)`LISTAGG(DISTINCT ${t.arg}, ',') WITHIN GROUP(${r})`,{supportsOrderBy:!0,supportsLimit:!1}),(0,hn.overload)((0,hn.minAggregate)("string"),[t.param,e.param],(0,hn.sql)`LISTAGG(DISTINCT ${t.arg}, ${e.arg}) WITHIN GROUP(${r})`,{supportsOrderBy:!0,supportsLimit:!1})]}M3.fnStringAggDistinct=Tje});var qde=S(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.SNOWFLAKE_FUNCTIONS=void 0;var Cje=A3(),Rje=bde(),Oje=Tde(),Dje=Cde(),Nje=Rde(),Pde=Ode(),Fje=Dde(),wje=Nde(),Lje=Fde(),kde=wde(),Ije=Lde(),Mje=Ide(),Bde=Mde();jn.SNOWFLAKE_FUNCTIONS=Cje.FUNCTIONS.clone();jn.SNOWFLAKE_FUNCTIONS.add("byte_length",Pde.fnByteLength);jn.SNOWFLAKE_FUNCTIONS.add("chr",Rje.fnChr);jn.SNOWFLAKE_FUNCTIONS.add("div",Oje.fnDiv);jn.SNOWFLAKE_FUNCTIONS.add("is_inf",Dje.fnIsInf);jn.SNOWFLAKE_FUNCTIONS.add("is_nan",Nje.fnIsNan);jn.SNOWFLAKE_FUNCTIONS.add("length",Pde.fnLength);jn.SNOWFLAKE_FUNCTIONS.add("log",Fje.fnLog);jn.SNOWFLAKE_FUNCTIONS.add("rand",wje.fnRand);jn.SNOWFLAKE_FUNCTIONS.add("regexp_extract",Lje.fnRegexpExtract);jn.SNOWFLAKE_FUNCTIONS.add("starts_with",kde.fnStartsWith);jn.SNOWFLAKE_FUNCTIONS.add("ends_with",kde.fnEndsWith);jn.SNOWFLAKE_FUNCTIONS.add("strpos",Ije.fnStrpos);jn.SNOWFLAKE_FUNCTIONS.add("trunc",Mje.fnTrunc);jn.SNOWFLAKE_FUNCTIONS.add("string_agg",Bde.fnStringAgg);jn.SNOWFLAKE_FUNCTIONS.add("string_agg_distinct",Bde.fnStringAggDistinct);jn.SNOWFLAKE_FUNCTIONS.seal()});var $de=S(YF=>{"use strict";Object.defineProperty(YF,"__esModule",{value:!0});YF.SNOWFLAKE_FUNCTIONS=void 0;var Pje=qde();Object.defineProperty(YF,"SNOWFLAKE_FUNCTIONS",{enumerable:!0,get:function(){return Pje.SNOWFLAKE_FUNCTIONS}})});var jde=S(KF=>{"use strict";Object.defineProperty(KF,"__esModule",{value:!0});KF.SnowflakeDialect=void 0;var kje=nx(),Ri=Ye(),Ude=$de(),Bb=l3(),Bje={day_of_week:"dayofweek",day_of_year:"dayofyear"},qje={varchar:{type:"string"},text:{type:"string"},string:{type:"string"},char:{type:"string"},character:{type:"string"},nvarchar:{type:"string"},nvarchar2:{type:"string"},"char varying":{type:"string"},"nchar varying":{type:"string"},number:{type:"number",numberType:"integer"},numeric:{type:"number",numberType:"integer"},decimal:{type:"number",numberType:"integer"},dec:{type:"number",numberType:"integer"},integer:{type:"number",numberType:"integer"},int:{type:"number",numberType:"integer"},bigint:{type:"number",numberType:"integer"},smallint:{type:"number",numberType:"integer"},tinyint:{type:"number",numberType:"integer"},byteint:{type:"number",numberType:"integer"},float:{type:"number",numberType:"float"},float4:{type:"number",numberType:"float"},float8:{type:"number",numberType:"float"},double:{type:"number",numberType:"float"},"double precision":{type:"number",numberType:"float"},real:{type:"number",numberType:"float"},boolean:{type:"boolean"},date:{type:"date"},timestamp:{type:"timestamp"},timestampntz:{type:"timestamp"},timestamp_ntz:{type:"timestamp"},"timestamp without time zone":{type:"timestamp"},timestamptz:{type:"timestamp"},timestamp_tz:{type:"timestamp"},"timestamp with time zone":{type:"timestamp"}},KG=class extends Bb.Dialect{constructor(){super(...arguments),this.name="snowflake",this.defaultNumberType="NUMBER",this.defaultDecimalType="NUMBER",this.udfPrefix="__udf",this.hasFinalStage=!1,this.divisionIsInteger=!1,this.supportsSumDistinctFunction=!1,this.defaultSampling={rows:5e4},this.globalFunctions=Ude.SNOWFLAKE_FUNCTIONS,this.unnestWithNumbers=!1,this.supportUnnestArrayAgg=!1,this.supportsAggDistinct=!1,this.supportsCTEinCoorelatedSubQueries=!1,this.supportsSafeCast=!1,this.dontUnionIndex=!1,this.supportsQualify=!1,this.supportsNesting=!0}quoteTablePath(e){return e}sqlGroupSetTable(e){return`CROSS JOIN (SELECT seq4() as group_set FROM TABLE(GENERATOR(ROWCOUNT => ${e+1}))) as group_set`}sqlAnyValue(e,r){return`(ARRAY_AGG(CASE WHEN group_set=${e} THEN ${r} END) WITHIN GROUP (ORDER BY ${r} ASC NULLS LAST))[0]`}mapFields(e){return e.map(r=>`
|
|
173
|
-
${r.sqlExpression} as ${r.sqlOutputName}`).join(", ")}mapFieldsForObjectConstruct(e){return e.map(r=>`'${r.rawName}', (${r.sqlExpression})`).join(", ")}sqlAggregateTurtle(e,r,n,i){let s=this.mapFieldsForObjectConstruct(r),o=n?` WITHIN GROUP (${n})`:"",a=`ARRAY_AGG(CASE WHEN group_set=${e} THEN OBJECT_CONSTRUCT(${s}) END)${o}`;return i===void 0?`COALESCE(${a}, [])`:`COALESCE(ARRAY_SLICE(${a}, 0, ${i}), [])`}sqlAnyValueTurtle(e,r){let n=this.mapFieldsForObjectConstruct(r);return`(ARRAY_AGG(CASE WHEN group_set=${e} THEN OBJECT_CONSTRUCT(${n}) END) WITHIN GROUP (ORDER BY 1 ASC NULLS LAST))[0]`}sqlAnyValueLastTurtle(e,r,n){return`(ARRAY_AGG(CASE WHEN group_set=${r} THEN ${e} END) WITHIN GROUP (ORDER BY ${e} ASC NULLS LAST))[0] AS ${n}`}sqlCoaleseMeasuresInline(e,r){let n=this.mapFieldsForObjectConstruct(r),i=r.map(s=>`'${s.sqlOutputName}', NULL`).join(", ");return`COALESCE(ARRAY_AGG(CASE WHEN group_set=${e} THEN OBJECT_CONSTRUCT(${n}) END)[0], OBJECT_CONSTRUCT_KEEP_NULL(${i}))`}sqlUnnestAlias(e,r,n,i,s,o){if(s)throw new Error("not implemented yet");return`LEFT JOIN LATERAL FLATTEN(INPUT => ifnull(${e},[1])) AS ${r}`}sqlSumDistinctHashedKey(e){e=`${e}::STRING`;let r=`to_number(substr(md5_hex(${e}), 1, 15), repeat('X', 15)) * 4294967296`,n=`to_number(substr(md5_hex(${e}), 16, 8), repeat('X', 8))`;return`(${r} + ${n}) * 0.000000001`}sqlGenerateUUID(){return"UUID_STRING()"}sqlFieldReference(e,r,n,i,s){if(r==="__row_id")return`${e}.INDEX::varchar`;if(i){let o=n;return n==="string"&&(o="varchar"),`${e}.value:"${r}"::${o}`}else return`${e}."${r}"`}sqlUnnestPipelineHead(e,r){let n=r;return e&&(n=`[${n}]`),`TABLE(FLATTEN(input =>${n}))`}sqlCreateFunction(e,r){throw new Error("not implemented yet")}sqlCreateFunctionCombineLastStage(e){
|
|
172
|
+
)`}sqlSampleTable(e,r){if(r!==void 0){if((0,ur.isSamplingEnable)(r)&&r.enable&&(r=this.defaultSampling),(0,ur.isSamplingRows)(r))return`(SELECT * FROM ${e} USING SAMPLE ${r.rows})`;if((0,ur.isSamplingPercent)(r))return`(SELECT * FROM ${e} USING SAMPLE ${r.percent} PERCENT (bernoulli))`}return e}sqlOrderBy(e){return`ORDER BY ${e.map(r=>`${r} NULLS LAST`).join(",")}`}sqlLiteralString(e){return"'"+e.replace(/'/g,"''")+"'"}sqlLiteralRegexp(e){return"'"+e.replace(/'/g,"''")+"'"}getGlobalFunctionDef(e){return oje.DUCKDB_FUNCTIONS.get(e)}malloyTypeToSQLType(e){return e.type==="number"?e.numberType==="integer"?"integer":"double precision":e.type==="string"?"varchar":e.type}sqlTypeToMalloyType(e){var r,n;let i=(n=(r=e.match(/^(\w+)/))===null||r===void 0?void 0:r.at(0))!==null&&n!==void 0?n:e;return uje[i.toUpperCase()]}castToString(e){return`CAST(${e} as VARCHAR)`}concat(...e){return e.join(" || ")}validateTypeName(e){return e.match(/^[A-Za-z\s(),[\]0-9]*$/)!==null}};qF.DuckDBDialect=WG});var VG=S(Q1=>{"use strict";var lje=Q1&&Q1.__createBinding||(Object.create?function(t,e,r,n){n===void 0&&(n=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,n,i)}:function(t,e,r,n){n===void 0&&(n=r),t[n]=e[r]}),cje=Q1&&Q1.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&lje(e,t,r)};Object.defineProperty(Q1,"__esModule",{value:!0});cje(_de(),Q1)});var bde=S($F=>{"use strict";Object.defineProperty($F,"__esModule",{value:!0});$F.fnChr=void 0;var Pb=be();function fje(){let t=(0,Pb.makeParam)("value",(0,Pb.anyExprType)("number"));return[(0,Pb.overload)((0,Pb.minScalar)("string"),[t.param],(0,Pb.sql)`COALESCE(CHR(${t.arg}), '')`)]}$F.fnChr=fje});var Tde=S(UF=>{"use strict";Object.defineProperty(UF,"__esModule",{value:!0});UF.fnDiv=void 0;var W1=be();function xje(){let t=(0,W1.makeParam)("dividend",(0,W1.anyExprType)("number")),e=(0,W1.makeParam)("divisor",(0,W1.anyExprType)("number"));return[(0,W1.overload)((0,W1.minScalar)("number"),[t.param,e.param],(0,W1.sql)`CASE WHEN DIV0(${t.arg}, ${e.arg}) < 0 THEN CEIL(DIV0(${t.arg}, ${e.arg})) ELSE FLOOR(DIV0(${t.arg}, ${e.arg})) END`)]}UF.fnDiv=xje});var Cde=S(jF=>{"use strict";Object.defineProperty(jF,"__esModule",{value:!0});jF.fnIsInf=void 0;var kb=be();function dje(){let t=(0,kb.makeParam)("value",(0,kb.anyExprType)("number"));return[(0,kb.overload)((0,kb.minScalar)("boolean"),[t.param],(0,kb.sql)`COALESCE(${t.arg} = 'inf'::FLOAT OR ${t.arg} = '-inf'::FLOAT, false)`)]}jF.fnIsInf=dje});var Rde=S(HF=>{"use strict";Object.defineProperty(HF,"__esModule",{value:!0});HF.fnIsNan=void 0;var w3=be();function hje(){return[(0,w3.overload)((0,w3.minScalar)("boolean"),[(0,w3.param)("value",(0,w3.anyExprType)("number"))],(0,w3.sql)`COALESCE(${(0,w3.arg)("value")} = 'NAN'::FLOAT, false)`)]}HF.fnIsNan=hje});var Ode=S(L3=>{"use strict";Object.defineProperty(L3,"__esModule",{value:!0});L3.fnByteLength=L3.fnLength=void 0;var Uu=be();function pje(){return[(0,Uu.overload)((0,Uu.minScalar)("number"),[(0,Uu.param)("value",(0,Uu.anyExprType)("string"))],(0,Uu.sql)`LENGTH(${(0,Uu.arg)("value")})`)]}L3.fnLength=pje;function mje(){return[(0,Uu.overload)((0,Uu.minScalar)("number"),[(0,Uu.param)("value",(0,Uu.anyExprType)("string"))],(0,Uu.sql)`CEIL(BIT_LENGTH(${(0,Uu.arg)("value")}) / 8)`)]}L3.fnByteLength=mje});var Dde=S(zF=>{"use strict";Object.defineProperty(zF,"__esModule",{value:!0});zF.fnLog=void 0;var V1=be();function gje(){let t=(0,V1.makeParam)("value",(0,V1.anyExprType)("number")),e=(0,V1.makeParam)("base",(0,V1.anyExprType)("number"));return[(0,V1.overload)((0,V1.minScalar)("number"),[t.param,e.param],(0,V1.sql)`LOG(${e.arg}, ${t.arg})`)]}zF.fnLog=gje});var Nde=S(GF=>{"use strict";Object.defineProperty(GF,"__esModule",{value:!0});GF.fnRand=void 0;var YG=be();function yje(){return[(0,YG.overload)((0,YG.minScalar)("number"),[],(0,YG.sql)`UNIFORM(0::FLOAT, 1::FLOAT, RANDOM())`)]}GF.fnRand=yje});var Fde=S(QF=>{"use strict";Object.defineProperty(QF,"__esModule",{value:!0});QF.fnRegexpExtract=void 0;var Y1=be();function Eje(){let t=(0,Y1.makeParam)("value",(0,Y1.anyExprType)("string")),e=(0,Y1.makeParam)("pattern",(0,Y1.anyExprType)("regular expression"));return[(0,Y1.overload)((0,Y1.minScalar)("string"),[t.param,e.param],(0,Y1.sql)`REGEXP_SUBSTR(${t.arg}, ${e.arg}, 1, 1, 'e')`)]}QF.fnRegexpExtract=Eje});var wde=S(I3=>{"use strict";Object.defineProperty(I3,"__esModule",{value:!0});I3.fnEndsWith=I3.fnStartsWith=void 0;var ua=be();function Aje(){let t=(0,ua.makeParam)("value",(0,ua.anyExprType)("string")),e=(0,ua.makeParam)("prefix",(0,ua.anyExprType)("string"));return[(0,ua.overload)((0,ua.minScalar)("boolean"),[t.param,e.param],(0,ua.sql)`COALESCE(STARTSWITH(${t.arg}, ${e.arg}), false)`)]}I3.fnStartsWith=Aje;function Sje(){let t=(0,ua.makeParam)("value",(0,ua.anyExprType)("string")),e=(0,ua.makeParam)("suffix",(0,ua.anyExprType)("string"));return[(0,ua.overload)((0,ua.minScalar)("boolean"),[t.param,e.param],(0,ua.sql)`COALESCE(ENDSWITH(${t.arg}, ${e.arg}), false)`)]}I3.fnEndsWith=Sje});var Lde=S(WF=>{"use strict";Object.defineProperty(WF,"__esModule",{value:!0});WF.fnStrpos=void 0;var K1=be();function vje(){let t=(0,K1.makeParam)("test_string",(0,K1.anyExprType)("string")),e=(0,K1.makeParam)("search_string",(0,K1.anyExprType)("string"));return[(0,K1.overload)((0,K1.minScalar)("number"),[t.param,e.param],(0,K1.sql)`POSITION(${e.arg}, ${t.arg})`)]}WF.fnStrpos=vje});var Ide=S(VF=>{"use strict";Object.defineProperty(VF,"__esModule",{value:!0});VF.fnTrunc=void 0;var xc=be();function _je(){let t=(0,xc.makeParam)("value",(0,xc.anyExprType)("number")),e=(0,xc.makeParam)("precision",(0,xc.anyExprType)("number"));return[(0,xc.overload)((0,xc.minScalar)("number"),[t.param],(0,xc.sql)`CASE WHEN ${t.arg} < 0 THEN CEIL(${t.arg}) ELSE FLOOR(${t.arg}) END`),(0,xc.overload)((0,xc.minScalar)("number"),[t.param,e.param],(0,xc.sql)`CASE WHEN ${t.arg} < 0 THEN CEIL(${t.arg} * POW(10, ${e.arg})) / POW(10, ${e.arg}) ELSE FLOOR(${t.arg} * POW(10, ${e.arg})) / POW(10, ${e.arg}) END`)]}VF.fnTrunc=_je});var Mde=S(M3=>{"use strict";Object.defineProperty(M3,"__esModule",{value:!0});M3.fnStringAggDistinct=M3.fnStringAgg=void 0;var hn=be();function bje(){let t=(0,hn.makeParam)("value",(0,hn.maxScalar)("string")),e=(0,hn.makeParam)("separator",(0,hn.literal)((0,hn.maxScalar)("string"))),r={type:"aggregate_order_by"};return[(0,hn.overload)((0,hn.minAggregate)("string"),[t.param],(0,hn.sql)`LISTAGG(${t.arg}, ',') WITHIN GROUP(${r})`,{supportsOrderBy:!0,supportsLimit:!1}),(0,hn.overload)((0,hn.minAggregate)("string"),[t.param,e.param],(0,hn.sql)`LISTAGG(${t.arg}, ${e.arg}) WITHIN GROUP(${r})`,{supportsOrderBy:!0,supportsLimit:!1})]}M3.fnStringAgg=bje;function Tje(){let t=(0,hn.makeParam)("value",(0,hn.maxScalar)("string")),e=(0,hn.makeParam)("separator",(0,hn.literal)((0,hn.maxScalar)("string"))),r={type:"aggregate_order_by"};return[(0,hn.overload)((0,hn.minAggregate)("string"),[t.param],(0,hn.sql)`LISTAGG(DISTINCT ${t.arg}, ',') WITHIN GROUP(${r})`,{supportsOrderBy:!0,supportsLimit:!1}),(0,hn.overload)((0,hn.minAggregate)("string"),[t.param,e.param],(0,hn.sql)`LISTAGG(DISTINCT ${t.arg}, ${e.arg}) WITHIN GROUP(${r})`,{supportsOrderBy:!0,supportsLimit:!1})]}M3.fnStringAggDistinct=Tje});var qde=S(jn=>{"use strict";Object.defineProperty(jn,"__esModule",{value:!0});jn.SNOWFLAKE_FUNCTIONS=void 0;var Cje=A3(),Rje=bde(),Oje=Tde(),Dje=Cde(),Nje=Rde(),Pde=Ode(),Fje=Dde(),wje=Nde(),Lje=Fde(),kde=wde(),Ije=Lde(),Mje=Ide(),Bde=Mde();jn.SNOWFLAKE_FUNCTIONS=Cje.FUNCTIONS.clone();jn.SNOWFLAKE_FUNCTIONS.add("byte_length",Pde.fnByteLength);jn.SNOWFLAKE_FUNCTIONS.add("chr",Rje.fnChr);jn.SNOWFLAKE_FUNCTIONS.add("div",Oje.fnDiv);jn.SNOWFLAKE_FUNCTIONS.add("is_inf",Dje.fnIsInf);jn.SNOWFLAKE_FUNCTIONS.add("is_nan",Nje.fnIsNan);jn.SNOWFLAKE_FUNCTIONS.add("length",Pde.fnLength);jn.SNOWFLAKE_FUNCTIONS.add("log",Fje.fnLog);jn.SNOWFLAKE_FUNCTIONS.add("rand",wje.fnRand);jn.SNOWFLAKE_FUNCTIONS.add("regexp_extract",Lje.fnRegexpExtract);jn.SNOWFLAKE_FUNCTIONS.add("starts_with",kde.fnStartsWith);jn.SNOWFLAKE_FUNCTIONS.add("ends_with",kde.fnEndsWith);jn.SNOWFLAKE_FUNCTIONS.add("strpos",Ije.fnStrpos);jn.SNOWFLAKE_FUNCTIONS.add("trunc",Mje.fnTrunc);jn.SNOWFLAKE_FUNCTIONS.add("string_agg",Bde.fnStringAgg);jn.SNOWFLAKE_FUNCTIONS.add("string_agg_distinct",Bde.fnStringAggDistinct);jn.SNOWFLAKE_FUNCTIONS.seal()});var $de=S(YF=>{"use strict";Object.defineProperty(YF,"__esModule",{value:!0});YF.SNOWFLAKE_FUNCTIONS=void 0;var Pje=qde();Object.defineProperty(YF,"SNOWFLAKE_FUNCTIONS",{enumerable:!0,get:function(){return Pje.SNOWFLAKE_FUNCTIONS}})});var jde=S(KF=>{"use strict";Object.defineProperty(KF,"__esModule",{value:!0});KF.SnowflakeDialect=void 0;var kje=nx(),Ri=Ye(),Ude=$de(),Bb=l3(),Bje={day_of_week:"dayofweek",day_of_year:"dayofyear"},qje={varchar:{type:"string"},text:{type:"string"},string:{type:"string"},char:{type:"string"},character:{type:"string"},nvarchar:{type:"string"},nvarchar2:{type:"string"},"char varying":{type:"string"},"nchar varying":{type:"string"},number:{type:"number",numberType:"integer"},numeric:{type:"number",numberType:"integer"},decimal:{type:"number",numberType:"integer"},dec:{type:"number",numberType:"integer"},integer:{type:"number",numberType:"integer"},int:{type:"number",numberType:"integer"},bigint:{type:"number",numberType:"integer"},smallint:{type:"number",numberType:"integer"},tinyint:{type:"number",numberType:"integer"},byteint:{type:"number",numberType:"integer"},float:{type:"number",numberType:"float"},float4:{type:"number",numberType:"float"},float8:{type:"number",numberType:"float"},double:{type:"number",numberType:"float"},"double precision":{type:"number",numberType:"float"},real:{type:"number",numberType:"float"},boolean:{type:"boolean"},date:{type:"date"},timestamp:{type:"timestamp"},timestampntz:{type:"timestamp"},timestamp_ntz:{type:"timestamp"},"timestamp without time zone":{type:"timestamp"},timestamptz:{type:"timestamp"},timestamp_tz:{type:"timestamp"},"timestamp with time zone":{type:"timestamp"}},KG=class extends Bb.Dialect{constructor(){super(...arguments),this.name="snowflake",this.defaultNumberType="NUMBER",this.defaultDecimalType="NUMBER",this.udfPrefix="__udf",this.hasFinalStage=!1,this.divisionIsInteger=!1,this.supportsSumDistinctFunction=!1,this.defaultSampling={rows:5e4},this.globalFunctions=Ude.SNOWFLAKE_FUNCTIONS,this.unnestWithNumbers=!1,this.supportUnnestArrayAgg=!1,this.supportsAggDistinct=!1,this.supportsCTEinCoorelatedSubQueries=!1,this.supportsSafeCast=!1,this.dontUnionIndex=!1,this.supportsQualify=!1,this.supportsNesting=!0}quoteTablePath(e){return e}sqlGroupSetTable(e){return`SELECT index as group_set FROM TABLE(FLATTEN(ARRAY_GENERATE_RANGE(0, ${e})))`}sqlAnyValue(e,r){return`(ARRAY_AGG(CASE WHEN group_set=${e} THEN ${r} END) WITHIN GROUP (ORDER BY ${r} ASC NULLS LAST))[0]`}mapFields(e){return e.map(r=>`
|
|
173
|
+
${r.sqlExpression} as ${r.sqlOutputName}`).join(", ")}mapFieldsForObjectConstruct(e){return e.map(r=>`'${r.rawName}', (${r.sqlExpression})`).join(", ")}sqlAggregateTurtle(e,r,n,i){let s=this.mapFieldsForObjectConstruct(r),o=n?` WITHIN GROUP (${n})`:"",a=`ARRAY_AGG(CASE WHEN group_set=${e} THEN OBJECT_CONSTRUCT(${s}) END)${o}`;return i===void 0?`COALESCE(${a}, [])`:`COALESCE(ARRAY_SLICE(${a}, 0, ${i}), [])`}sqlAnyValueTurtle(e,r){let n=this.mapFieldsForObjectConstruct(r);return`(ARRAY_AGG(CASE WHEN group_set=${e} THEN OBJECT_CONSTRUCT(${n}) END) WITHIN GROUP (ORDER BY 1 ASC NULLS LAST))[0]`}sqlAnyValueLastTurtle(e,r,n){return`(ARRAY_AGG(CASE WHEN group_set=${r} THEN ${e} END) WITHIN GROUP (ORDER BY ${e} ASC NULLS LAST))[0] AS ${n}`}sqlCoaleseMeasuresInline(e,r){let n=this.mapFieldsForObjectConstruct(r),i=r.map(s=>`'${s.sqlOutputName}', NULL`).join(", ");return`COALESCE(ARRAY_AGG(CASE WHEN group_set=${e} THEN OBJECT_CONSTRUCT(${n}) END)[0], OBJECT_CONSTRUCT_KEEP_NULL(${i}))`}sqlUnnestAlias(e,r,n,i,s,o){if(s)throw new Error("not implemented yet");return`LEFT JOIN LATERAL FLATTEN(INPUT => ifnull(${e},[1])) AS ${r}`}sqlSumDistinctHashedKey(e){e=`${e}::STRING`;let r=`to_number(substr(md5_hex(${e}), 1, 15), repeat('X', 15)) * 4294967296`,n=`to_number(substr(md5_hex(${e}), 16, 8), repeat('X', 8))`;return`(${r} + ${n}) * 0.000000001`}sqlGenerateUUID(){return"UUID_STRING()"}sqlFieldReference(e,r,n,i,s){if(r==="__row_id")return`${e}.INDEX::varchar`;if(i){let o=n;return n==="string"&&(o="varchar"),`${e}.value:"${r}"::${o}`}else return`${e}."${r}"`}sqlUnnestPipelineHead(e,r){let n=r;return e&&(n=`[${n}]`),`TABLE(FLATTEN(input =>${n}))`}sqlCreateFunction(e,r){throw new Error("not implemented yet")}sqlCreateFunctionCombineLastStage(e){return`SELECT ARRAY_AGG(OBJECT_CONSTRUCT(*)) FROM ${e}`}sqlSelectAliasAsStruct(e){return`OBJECT_CONSTRUCT(${e}.*)`}sqlMaybeQuoteIdentifier(e){return`"${e}"`}sqlCreateTableAsSelect(e,r){return`
|
|
174
174
|
CREATE TEMP TABLE IF NOT EXISTS \`${e}\`
|
|
175
175
|
AS (
|
|
176
176
|
${(0,kje.indent)(r)}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@malloydata/render",
|
|
3
|
-
"version": "0.0.127-
|
|
3
|
+
"version": "0.0.127-dev240306172007",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@lit/context": "^1.1.0",
|
|
28
|
-
"@malloydata/malloy": "^0.0.127-
|
|
28
|
+
"@malloydata/malloy": "^0.0.127-dev240306172007",
|
|
29
29
|
"@types/luxon": "^2.4.0",
|
|
30
30
|
"lit": "^3.0.2",
|
|
31
31
|
"lodash": "^4.17.20",
|