@malloydata/db-snowflake 0.0.424 → 0.0.426
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/snowflake_connection.js +6 -0
- package/dist/snowflake_connection.js.map +1 -1
- package/dist/snowflake_executor.d.ts +15 -0
- package/dist/snowflake_executor.js +35 -0
- package/dist/snowflake_executor.js.map +1 -1
- package/dist/snowflake_query_metadata.spec.d.ts +1 -0
- package/dist/snowflake_query_metadata.spec.js +102 -0
- package/dist/snowflake_query_metadata.spec.js.map +1 -0
- package/package.json +2 -2
- package/src/snowflake_connection.ts +7 -1
- package/src/snowflake_executor.ts +35 -0
- package/src/snowflake_query_metadata.spec.ts +130 -0
|
@@ -122,6 +122,10 @@ class SnowflakeConnection extends connection_1.BaseConnection {
|
|
|
122
122
|
const effectiveOptions = {
|
|
123
123
|
...this.queryOptions,
|
|
124
124
|
...options,
|
|
125
|
+
// queryMetadata is per-call only; everything else (rowLimit, etc.)
|
|
126
|
+
// inherits the connection defaults. Validated here, so the executor
|
|
127
|
+
// renders a bag it can trust.
|
|
128
|
+
queryMetadata: this.queryMetadataBag(options.queryMetadata),
|
|
125
129
|
};
|
|
126
130
|
const rowLimit = effectiveOptions.rowLimit;
|
|
127
131
|
let rows = await this.executor.batch(sql, effectiveOptions, this.timeoutMs);
|
|
@@ -134,6 +138,8 @@ class SnowflakeConnection extends connection_1.BaseConnection {
|
|
|
134
138
|
const streamQueryOptions = {
|
|
135
139
|
...this.queryOptions,
|
|
136
140
|
...options,
|
|
141
|
+
// per-call only, validated here (see runSQL)
|
|
142
|
+
queryMetadata: this.queryMetadataBag(options.queryMetadata),
|
|
137
143
|
};
|
|
138
144
|
for await (const row of await this.executor.stream(sqlCommand, streamQueryOptions)) {
|
|
139
145
|
yield row;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snowflake_connection.js","sourceRoot":"","sources":["../src/snowflake_connection.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAqEH,gDAOC;AA4BD,kDAaC;AApGD,+CAAwE;AACxE,8DAA6D;AAE7D,6DAAuD;AACvD,yEAMoC;AAEpC,iEAA+D;AAwC/D,SAAgB,kBAAkB,CAChC,KAAiC,EACjC,gBAAwB;IAExB,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,wBAAwB,CAAC;IACzD,IAAI,KAAK,CAAC,KAAK,IAAI,gBAAgB;QAAE,OAAO,uBAAuB,CAAC;IACpE,OAAO,kBAAkB,CAAC;AAC5B,CAAC;AAED;;;;GAIG;AACU,QAAA,6BAA6B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,GAAG,CAAU,CAAC;AAEnE;;;;;;;;;;;;;;;;;;GAkBG;AACI,KAAK,UAAU,mBAAmB,CACvC,SAAuE,EACvE,gBAAmC,qCAA6B;IAEhE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,YAAY,CAAC,CAAC;QAC3C,mEAAmE;QACnE,6EAA6E;QAC7E,IAAI,IAAI,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QACzC,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,IAAI,CAAC;QACjC,+DAA+D;IACjE,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAmCD;;GAEG;AACH,MAAM,UAAU,GAAG,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC;AAElC,MAAa,mBACX,SAAQ,2BAAc;IAqBtB,YACkB,IAAY,EAC5B,OAAoC;;QAEpC,KAAK,EAAE,CAAC;QAHQ,SAAI,GAAJ,IAAI,CAAQ;QAdb,YAAO,GAAG,IAAI,yBAAgB,EAAE,CAAC;QAkBhD,IAAI,WAAW,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,CAAC;QACvC,IAAI,CAAC,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1D,mEAAmE;YACnE,WAAW,GAAG,sCAAiB,CAAC,4BAA4B,EAAE,CAAC;QACjE,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,WAAW,aAAX,WAAW,cAAX,WAAW,GAAI,EAAE,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,CAAC;QAClC,IAAI,CAAC,QAAQ,GAAG,IAAI,sCAAiB,CACnC,WAAW,EACX,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EACpB,IAAI,CAAC,QAAQ,CACd,CAAC;QACF,IAAI,CAAC,YAAY,GAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,CAAC;QAC1C,IAAI,CAAC,YAAY,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,mCAAI,EAAE,CAAC;QAChD,IAAI,CAAC,SAAS,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,mCAAI,UAAU,CAAC;QAClD,IAAI,CAAC,qBAAqB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,mCAAI,KAAM,CAAC;QACtE,IAAI,CAAC,oBAAoB,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,mCAAI,IAAI,CAAC;QAClE,IAAI,CAAC,4BAA4B;YAC/B,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,4BAA4B,mCAAI,SAAW,CAAC;IACzD,CAAC;IAED,IAAI,WAAW;QACb,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,qCAAqC;IACrC,IAAW,eAAe;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IAEM,MAAM;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,UAAU;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS;QACd,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,SAAS;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY;YAC/B,CAAC,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE;YAC7D,CAAC,CAAC,EAAE,CAAC;QACP,OAAO,IAAA,mBAAU,EACf,WAAW,EACX,IAAI,CAAC,WAAW,CAAC,OAAO,EACxB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CAAC,WAAW,CAAC,QAAQ,EACzB,IAAI,CAAC,WAAW,CAAC,MAAM,EACvB,OAAO,EACP,IAAI,CAAC,QAAQ,CACd,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,WAAmB;QAChD,OAAO,EAAE,CAAC;IACZ,CAAC;IAEM,KAAK,CAAC,KAAK;QAChB,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACrB,CAAC;IAEO,eAAe,CAAC,UAAkB;QACxC,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,UAAU,CAAC,CAAC;QACpC,OAAO,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC,mBAAmB,GAAG,CAAC,CAAC,EAAE,CAAC;IACpE,CAAC;IAEM,KAAK,CAAC,MAAM,CACjB,GAAW,EACX,UAAyB,EAAE;QAE3B,MAAM,gBAAgB,GAAkB;YACtC,GAAG,IAAI,CAAC,YAAY;YACpB,GAAG,OAAO;SACX,CAAC;QACF,MAAM,QAAQ,GAAG,gBAAgB,CAAC,QAAQ,CAAC;QAC3C,IAAI,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,IAAI,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,GAAG,QAAQ,EAAE,CAAC;YACrD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,EAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,MAAM,EAAC,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,CAAC,YAAY,CACxB,UAAkB,EAClB,UAAyB,EAAE;QAE3B,MAAM,kBAAkB,GAAG;YACzB,GAAG,IAAI,CAAC,YAAY;YACpB,GAAG,OAAO;SACX,CAAC;QAEF,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAChD,UAAU,EACV,kBAAkB,CACnB,EAAE,CAAC;YACF,MAAM,GAAG,CAAC;QACZ,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAC/C,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,SAAiB,EACjB,SAAoB;;QAEpB,MAAM,SAAS,GAAG,kBAAkB,SAAS,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAClD,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAmB,CAAC;QAC9C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,yDAAyD;YACzD,MAAM,QAAQ,GAAI,GAAG,CAAC,MAAM,CAAY,CAAC,iBAAiB,EAAE,CAAC;YAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAW,CAAC;YAEnC,IACE,QAAQ,KAAK,SAAS;gBACtB,QAAQ,KAAK,OAAO;gBACpB,QAAQ,KAAK,QAAQ,EACrB,CAAC;gBACD,aAAa,CAAC,IAAI,CAAC,EAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;YAC7C,CAAC;iBAAM,CAAC;gBACN,UAAU,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBAC3B,kEAAkE;gBAClE,0CAA0C;gBAC1C,MAAM,cAAc,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,QAAQ,CACrE,QAAQ,CACT;oBACC,CAAC,CAAC,QAAQ;oBACV,CAAC,CAAC,QAAQ,CAAC;gBACb,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;gBACpE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAC,GAAG,UAAU,EAAE,IAAI,EAAC,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QACD,qEAAqE;QACrE,+DAA+D;QAC/D,iDAAiD;QACjD,kEAAkE;QAClE,4DAA4D;QAC5D,yDAAyD;QACzD,gEAAgE;QAChE,+DAA+D;QAC/D,+DAA+D;QAC/D,gDAAgD;QAChD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,WAAW,GAAG,aAAa;iBAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,IAAI,GAAG,CAAC;iBACpC,IAAI,CAAC,IAAI,CAAC,CAAC;YACd,iEAAiE;YACjE,iEAAiE;YACjE,4DAA4D;YAC5D,yCAAyC;YACzC,MAAM,eAAe,GAAG,CAAC,YAAoB,EAAE,EAAE,CAAC;;;;;;;;aAQ3C,YAAY;;;;;OAKlB,CAAC;YACF,MAAM,eAAe,GAAG,2BAA2B,WAAW,KAAK,CAAC;YACpE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YACnD,MAAM,QAAQ,GAAG,kBAAkB,CACjC,KAAK,EACL,IAAI,CAAC,4BAA4B,CAClC,CAAC;YACF,MAAM,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC;YACpC,IAAI,aAAwC,CAAC;YAE7C,IAAI,QAAQ,KAAK,uBAAuB,EAAE,CAAC;gBACzC,2DAA2D;gBAC3D,4DAA4D;gBAC5D,6DAA6D;gBAC7D,8DAA8D;gBAC9D,qCAAqC;gBACrC,aAAa;oBACX,MAAA,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,eAAe,CAAC,GAAG,eAAe,SAAS,SAAS,EAAE,CAAC,EACvD,EAAE,EACF,IAAI,CAAC,qBAAqB,CAC3B,CAAC,mCAAI,SAAS,CAAC;YACpB,CAAC;YAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,gBAAgB,GAAG,CAAC,YAAoB,EAAE,EAAE,CAChD,eAAe,CACb,GAAG,eAAe,SAAS,SAAS,uBAAuB,YAAY,WAAW,CAAC,EAAE,CACtF,CAAC;gBACJ,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;oBACpC,gEAAgE;oBAChE,iEAAiE;oBACjE,oDAAoD;oBACpD,oEAAoE;oBACpE,iCAAiC;oBACjC,aAAa,GAAG,MAAM,mBAAmB,CAAC,YAAY,CAAC,EAAE,CACvD,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACpB,gBAAgB,CAAC,YAAY,CAAC,EAC9B,EAAE,EACF,IAAI,CAAC,qBAAqB,CAC3B,CACF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,wDAAwD;oBACxD,2DAA2D;oBAC3D,2DAA2D;oBAC3D,2CAA2C;oBAC3C,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CACxC,gBAAgB,CAAC,CAAC,CAAC,EACnB,eAAe,CAAC,GAAG,eAAe,SAAS,SAAS,UAAU,CAAC,EAAE,CAAC,CACnE,CAAC;gBACJ,CAAC;YACH,CAAC;YAED,MAAM,KAAK,GAAG,IAAA,mDAAwB,GAAE,CAAC;YACzC,yDAAyD;YACzD,2DAA2D;YAC3D,0CAA0C;YAC1C,2DAA2D;YAC3D,yDAAyD;YACzD,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,IAAA,4CAAiB,EAAC,KAAK,EAAE,YAAY,CAAC,CAAC;YACzC,CAAC;YAED,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAChC,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;oBAC9B,MAAM,UAAU,GAAG,MAAA,CAAC,CAAC,MAAM,CAAC,0CAAE,OAAO,GAAG,QAAQ,EAAE,CAAC;oBACnD,MAAM,SAAS,GAAG,MAAA,CAAC,CAAC,MAAM,CAAC,0CAAE,OAAO,GAAG,QAAQ,EAAE,CAAC;oBAClD,IAAI,UAAU,KAAK,SAAS,IAAI,SAAS,KAAK,SAAS;wBAAE,SAAS;oBAClE,MAAM,UAAU,GAAG,IAAI,qCAAU,CAAC,UAAU,CAAC,CAAC;oBAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC;oBACvC,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;oBAC7B,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,IAAI,MAAK,MAAM,IAAI,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC/D,SAAS;oBACX,CAAC;oBACD,IAAA,gDAAqB,EAAC,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;gBACpD,CAAC;YACH,CAAC;YAED,wEAAwE;YACxE,mDAAmD;YACnD,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;gBACzC,SAAS,CAAC,MAAM,CAAC,IAAI,CACnB,IAAA,6CAAkB,EAAC,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CACtD,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;;;;;;;OAYG;IACK,KAAK,CAAC,cAAc,CAC1B,SAAiB;;QAEjB,MAAM,MAAM,GAAG,IAAA,8CAAuB,EAAC,SAAS,CAAC,CAAC;QAClD,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAC1E,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;QACrE,iEAAiE;QACjE,gEAAgE;QAChE,gEAAgE;QAChE,uBAAuB;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACvC;cACQ,WAAW;;;eAGV,EACT,EAAE,EACF,IAAI,CAAC,qBAAqB,EAC1B,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAC9C,CAAC;QACF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QACjD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,MAAM,QAAQ,GAAG,MAAA,GAAG,CAAC,IAAI,CAAC,mCAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,OAAO,GAAG,MAAA,GAAG,CAAC,IAAI,CAAC,mCAAI,GAAG,CAAC,IAAI,CAAC,CAAC;QACvC,kEAAkE;QAClE,gEAAgE;QAChE,yDAAyD;QACzD,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAClE,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,SAAS,CAAC;QAChE,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;QACjC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,SAAS,CAAC;QAC5E,OAAO,EAAC,KAAK,EAAE,QAAQ,EAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,eAAe,CAC3B,YAAoB,EACpB,aAAqB;;QAErB,mEAAmE;QACnE,iEAAiE;QACjE,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CACvC,YAAY,EACZ,EAAE,EACF,IAAI,CAAC,qBAAqB,CAC3B,CAAC;QACF,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;QACD,yDAAyD;QACzD,iEAAiE;QACjE,OAAO,CACL,MAAA,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,aAAa,EACb,EAAE,EACF,IAAI,CAAC,qBAAqB,CAC3B,CAAC,mCAAI,SAAS,CAChB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,QAAgB,EAChB,SAAiB;QAEjB,MAAM,SAAS,GAAmB;YAChC,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,WAAW;YACpB,IAAI,EAAE,QAAQ;YACd,SAAS;YACT,UAAU,EAAE,IAAI,CAAC,IAAI;YACrB,MAAM,EAAE,EAAE;SACX,CAAC;QACF,MAAM,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QACrD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAwB;QAC9C,MAAM,SAAS,GAAiB;YAC9B,IAAI,EAAE,YAAY;YAClB,GAAG,MAAM;YACT,OAAO,EAAE,IAAI,CAAC,WAAW;YACzB,MAAM,EAAE,EAAE;YACV,IAAI,EAAE,IAAA,eAAM,EAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC;SAClD,CAAC;QACF,kDAAkD;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC7D,MAAM,IAAI,CAAC,MAAM,CACf,+BAA+B,aAAa,QAAQ,MAAM,CAAC,SAAS,IAAI,CACzE,CAAC;QAEF,MAAM,IAAI,CAAC,mBAAmB,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QACpD,MAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,gCAAgC,SAAS,QAAQ,UAAU,IAAI,CAAC;QAC5E,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AAhaD,kDAgaC"}
|
|
1
|
+
{"version":3,"file":"snowflake_connection.js","sourceRoot":"","sources":["../src/snowflake_connection.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,21 @@
|
|
|
1
1
|
import type { Connection, ConnectionOptions, Binds } from 'snowflake-sdk';
|
|
2
2
|
import type { Options as PoolOptions } from 'generic-pool';
|
|
3
3
|
import type { QueryData, QueryRecord, RunSQLOptions } from '@malloydata/malloy';
|
|
4
|
+
/**
|
|
5
|
+
* Render a query's metadata into a Snowflake `QUERY_TAG` value: the property
|
|
6
|
+
* bag serialized as JSON, so the properties are queryable in `QUERY_HISTORY` /
|
|
7
|
+
* `QUERY_ATTRIBUTION_HISTORY`. Case is preserved. Clamped to Snowflake's
|
|
8
|
+
* 2000-char limit as a runtime backstop.
|
|
9
|
+
*
|
|
10
|
+
* The tag is applied per statement via `parameters.QUERY_TAG` (see `_execute`);
|
|
11
|
+
* the connection-level `connOptions.queryTag` is deliberately never set,
|
|
12
|
+
* because the SDK overwrites caller-supplied per-statement parameters whenever
|
|
13
|
+
* it is (snowflake-sdk `statement.js`).
|
|
14
|
+
*
|
|
15
|
+
* The bag arrives already validated: SnowflakeConnection checks it before
|
|
16
|
+
* handing it to the executor.
|
|
17
|
+
*/
|
|
18
|
+
export declare function snowflakeQueryTag(options?: RunSQLOptions): string | undefined;
|
|
4
19
|
export interface ConnectionConfigFile {
|
|
5
20
|
config_file_path?: string;
|
|
6
21
|
connection_name?: string;
|
|
@@ -41,6 +41,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
41
41
|
};
|
|
42
42
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
43
43
|
exports.SnowflakeExecutor = void 0;
|
|
44
|
+
exports.snowflakeQueryTag = snowflakeQueryTag;
|
|
44
45
|
const snowflake_sdk_1 = __importDefault(require("snowflake-sdk"));
|
|
45
46
|
const toml = __importStar(require("toml"));
|
|
46
47
|
const fs = __importStar(require("fs"));
|
|
@@ -48,6 +49,31 @@ const path = __importStar(require("path"));
|
|
|
48
49
|
const malloy_1 = require("@malloydata/malloy");
|
|
49
50
|
// Disable snowflake-sdk logging by default (issue #2565)
|
|
50
51
|
snowflake_sdk_1.default.configure({ logLevel: 'OFF' });
|
|
52
|
+
// Snowflake QUERY_TAG is a single free-form string, max 2000 chars.
|
|
53
|
+
const MAX_QUERY_TAG_LENGTH = 2000;
|
|
54
|
+
/**
|
|
55
|
+
* Render a query's metadata into a Snowflake `QUERY_TAG` value: the property
|
|
56
|
+
* bag serialized as JSON, so the properties are queryable in `QUERY_HISTORY` /
|
|
57
|
+
* `QUERY_ATTRIBUTION_HISTORY`. Case is preserved. Clamped to Snowflake's
|
|
58
|
+
* 2000-char limit as a runtime backstop.
|
|
59
|
+
*
|
|
60
|
+
* The tag is applied per statement via `parameters.QUERY_TAG` (see `_execute`);
|
|
61
|
+
* the connection-level `connOptions.queryTag` is deliberately never set,
|
|
62
|
+
* because the SDK overwrites caller-supplied per-statement parameters whenever
|
|
63
|
+
* it is (snowflake-sdk `statement.js`).
|
|
64
|
+
*
|
|
65
|
+
* The bag arrives already validated: SnowflakeConnection checks it before
|
|
66
|
+
* handing it to the executor.
|
|
67
|
+
*/
|
|
68
|
+
function snowflakeQueryTag(options) {
|
|
69
|
+
const bag = options === null || options === void 0 ? void 0 : options.queryMetadata;
|
|
70
|
+
if (bag === undefined || Object.keys(bag).length === 0)
|
|
71
|
+
return undefined;
|
|
72
|
+
const tag = JSON.stringify(bag);
|
|
73
|
+
return tag.length > MAX_QUERY_TAG_LENGTH
|
|
74
|
+
? tag.slice(0, MAX_QUERY_TAG_LENGTH)
|
|
75
|
+
: tag;
|
|
76
|
+
}
|
|
51
77
|
// function columnNameToLowerCase(row: QueryRecord): QueryRecord {
|
|
52
78
|
// const ret: QueryRecord = {};
|
|
53
79
|
// for (const key in row) {
|
|
@@ -131,6 +157,10 @@ class SnowflakeExecutor {
|
|
|
131
157
|
if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {
|
|
132
158
|
throw new Error('Query aborted');
|
|
133
159
|
}
|
|
160
|
+
// Apply the query tag per statement (never via connOptions.queryTag — the
|
|
161
|
+
// SDK clobbers per-statement parameters when that is set).
|
|
162
|
+
const queryTag = snowflakeQueryTag(options);
|
|
163
|
+
const parameters = queryTag ? { QUERY_TAG: queryTag } : undefined;
|
|
134
164
|
let _statement;
|
|
135
165
|
const cancel = () => {
|
|
136
166
|
_statement === null || _statement === void 0 ? void 0 : _statement.cancel();
|
|
@@ -144,6 +174,7 @@ class SnowflakeExecutor {
|
|
|
144
174
|
_statement = conn.execute({
|
|
145
175
|
sqlText,
|
|
146
176
|
binds,
|
|
177
|
+
parameters,
|
|
147
178
|
complete: (err, _stmt, rows) => {
|
|
148
179
|
if (abortSignal) {
|
|
149
180
|
abortSignal.removeEventListener('abort', cancel);
|
|
@@ -261,6 +292,9 @@ class SnowflakeExecutor {
|
|
|
261
292
|
releaseOnce();
|
|
262
293
|
throw new Error('Query aborted');
|
|
263
294
|
}
|
|
295
|
+
// Apply the query tag per statement (see _execute).
|
|
296
|
+
const queryTag = snowflakeQueryTag(options);
|
|
297
|
+
const parameters = queryTag ? { QUERY_TAG: queryTag } : undefined;
|
|
264
298
|
// Track the statement so abort can cancel it during conn.execute()
|
|
265
299
|
let _statement;
|
|
266
300
|
const abortSignal = options === null || options === void 0 ? void 0 : options.abortSignal;
|
|
@@ -277,6 +311,7 @@ class SnowflakeExecutor {
|
|
|
277
311
|
_statement = conn.execute({
|
|
278
312
|
sqlText,
|
|
279
313
|
streamResult: true,
|
|
314
|
+
parameters,
|
|
280
315
|
complete: (err, _stmt) => {
|
|
281
316
|
if (err) {
|
|
282
317
|
if (cancelFromAbort) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"snowflake_executor.js","sourceRoot":"","sources":["../src/snowflake_executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"snowflake_executor.js","sourceRoot":"","sources":["../src/snowflake_executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* Copyright Contributors to the Malloy project
|
|
4
|
+
* SPDX-License-Identifier: MIT
|
|
5
|
+
*/
|
|
6
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
7
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
8
|
+
};
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
const snowflake_sdk_1 = __importDefault(require("snowflake-sdk"));
|
|
11
|
+
const snowflake_connection_1 = require("./snowflake_connection");
|
|
12
|
+
const snowflake_executor_1 = require("./snowflake_executor");
|
|
13
|
+
function installFakeSnowflake(queryId = 'q-abc-123') {
|
|
14
|
+
const calls = [];
|
|
15
|
+
const fakeStmt = {
|
|
16
|
+
getQueryId: () => queryId,
|
|
17
|
+
cancel: () => { },
|
|
18
|
+
};
|
|
19
|
+
const fakeConn = {
|
|
20
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
21
|
+
execute(opts) {
|
|
22
|
+
calls.push({ sqlText: opts.sqlText, parameters: opts.parameters });
|
|
23
|
+
// DDL/ALTER SESSION statements return no rows; a SELECT returns one row.
|
|
24
|
+
const rows = /^\s*select/i.test(opts.sqlText) ? [{ T: 1 }] : [];
|
|
25
|
+
opts.complete(undefined, fakeStmt, rows);
|
|
26
|
+
return fakeStmt;
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
const fakePool = {
|
|
30
|
+
use: (fn) => fn(fakeConn),
|
|
31
|
+
acquire: async () => fakeConn,
|
|
32
|
+
release: async () => { },
|
|
33
|
+
drain: async () => { },
|
|
34
|
+
clear: () => { },
|
|
35
|
+
};
|
|
36
|
+
const spy = jest
|
|
37
|
+
.spyOn(snowflake_sdk_1.default, 'createPool')
|
|
38
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
39
|
+
.mockReturnValue(fakePool);
|
|
40
|
+
return { calls, spy };
|
|
41
|
+
}
|
|
42
|
+
// Non-empty so the constructor never falls back to reading connections.toml.
|
|
43
|
+
const CONN_OPTIONS = { account: 'test', username: 'test' };
|
|
44
|
+
const lastCall = (calls) => calls[calls.length - 1];
|
|
45
|
+
// Parse a captured QUERY_TAG value (it is a JSON string) into an object.
|
|
46
|
+
const tagOf = (call) => JSON.parse(call.parameters.QUERY_TAG);
|
|
47
|
+
describe('snowflakeQueryTag', () => {
|
|
48
|
+
it('renders the property bag as a JSON QUERY_TAG', () => {
|
|
49
|
+
expect(JSON.parse((0, snowflake_executor_1.snowflakeQueryTag)({ queryMetadata: { team: 'finance' } }))).toEqual({ team: 'finance' });
|
|
50
|
+
});
|
|
51
|
+
it('treats application_name as an ordinary property', () => {
|
|
52
|
+
expect(JSON.parse((0, snowflake_executor_1.snowflakeQueryTag)({
|
|
53
|
+
queryMetadata: { application_name: 'my-app', team: 'finance' },
|
|
54
|
+
}))).toEqual({ application_name: 'my-app', team: 'finance' });
|
|
55
|
+
});
|
|
56
|
+
it('preserves case', () => {
|
|
57
|
+
expect(JSON.parse((0, snowflake_executor_1.snowflakeQueryTag)({ queryMetadata: { Team: 'Finance' } }))).toEqual({ Team: 'Finance' });
|
|
58
|
+
});
|
|
59
|
+
it('returns undefined when there is no metadata', () => {
|
|
60
|
+
expect((0, snowflake_executor_1.snowflakeQueryTag)(undefined)).toBeUndefined();
|
|
61
|
+
expect((0, snowflake_executor_1.snowflakeQueryTag)({})).toBeUndefined();
|
|
62
|
+
expect((0, snowflake_executor_1.snowflakeQueryTag)({ queryMetadata: {} })).toBeUndefined();
|
|
63
|
+
});
|
|
64
|
+
});
|
|
65
|
+
describe('db-snowflake queryMetadata wiring (offline)', () => {
|
|
66
|
+
afterEach(() => jest.restoreAllMocks());
|
|
67
|
+
it('applies per-call metadata as a JSON parameters.QUERY_TAG on the data statement', async () => {
|
|
68
|
+
const { calls } = installFakeSnowflake();
|
|
69
|
+
const conn = new snowflake_connection_1.SnowflakeConnection('sf', { connOptions: CONN_OPTIONS });
|
|
70
|
+
await conn.runSQL('SELECT 1 AS T', {
|
|
71
|
+
queryMetadata: { team: 'finance' },
|
|
72
|
+
});
|
|
73
|
+
expect(lastCall(calls).sqlText).toBe('SELECT 1 AS T');
|
|
74
|
+
expect(tagOf(lastCall(calls))).toEqual({ team: 'finance' });
|
|
75
|
+
});
|
|
76
|
+
it('does not inherit metadata from the connection default (queryOptions)', async () => {
|
|
77
|
+
const { calls } = installFakeSnowflake();
|
|
78
|
+
const conn = new snowflake_connection_1.SnowflakeConnection('sf', {
|
|
79
|
+
connOptions: CONN_OPTIONS,
|
|
80
|
+
queryOptions: { queryMetadata: { application_name: 'my-app' } },
|
|
81
|
+
});
|
|
82
|
+
await conn.runSQL('SELECT 1 AS T');
|
|
83
|
+
// queryMetadata is per-call only; a queryOptions default is ignored.
|
|
84
|
+
expect(lastCall(calls).parameters).toBeUndefined();
|
|
85
|
+
});
|
|
86
|
+
it('sets no parameters when no metadata is present', async () => {
|
|
87
|
+
const { calls } = installFakeSnowflake();
|
|
88
|
+
const conn = new snowflake_connection_1.SnowflakeConnection('sf', { connOptions: CONN_OPTIONS });
|
|
89
|
+
await conn.runSQL('SELECT 1 AS T');
|
|
90
|
+
expect(lastCall(calls).parameters).toBeUndefined();
|
|
91
|
+
});
|
|
92
|
+
it('never injects queryTag into the connection options (per-statement only)', async () => {
|
|
93
|
+
const { calls, spy } = installFakeSnowflake();
|
|
94
|
+
const conn = new snowflake_connection_1.SnowflakeConnection('sf', { connOptions: CONN_OPTIONS });
|
|
95
|
+
await conn.runSQL('SELECT 1 AS T', { queryMetadata: { team: 'finance' } });
|
|
96
|
+
// The tag rides parameters.QUERY_TAG, never the connection options.
|
|
97
|
+
const passedConnOptions = spy.mock.calls[0][0];
|
|
98
|
+
expect(passedConnOptions['queryTag']).toBeUndefined();
|
|
99
|
+
expect(tagOf(lastCall(calls))).toEqual({ team: 'finance' });
|
|
100
|
+
});
|
|
101
|
+
});
|
|
102
|
+
//# sourceMappingURL=snowflake_query_metadata.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"snowflake_query_metadata.spec.js","sourceRoot":"","sources":["../src/snowflake_query_metadata.spec.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@malloydata/db-snowflake",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.426",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"prepublishOnly": "npm run build"
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@malloydata/malloy": "0.0.
|
|
26
|
+
"@malloydata/malloy": "0.0.426",
|
|
27
27
|
"generic-pool": "^3.9.0",
|
|
28
28
|
"snowflake-sdk": "2.3.1",
|
|
29
29
|
"toml": "^3.0.0"
|
|
@@ -267,6 +267,10 @@ export class SnowflakeConnection
|
|
|
267
267
|
const effectiveOptions: RunSQLOptions = {
|
|
268
268
|
...this.queryOptions,
|
|
269
269
|
...options,
|
|
270
|
+
// queryMetadata is per-call only; everything else (rowLimit, etc.)
|
|
271
|
+
// inherits the connection defaults. Validated here, so the executor
|
|
272
|
+
// renders a bag it can trust.
|
|
273
|
+
queryMetadata: this.queryMetadataBag(options.queryMetadata),
|
|
270
274
|
};
|
|
271
275
|
const rowLimit = effectiveOptions.rowLimit;
|
|
272
276
|
let rows = await this.executor.batch(sql, effectiveOptions, this.timeoutMs);
|
|
@@ -280,9 +284,11 @@ export class SnowflakeConnection
|
|
|
280
284
|
sqlCommand: string,
|
|
281
285
|
options: RunSQLOptions = {}
|
|
282
286
|
): AsyncIterableIterator<QueryRecord> {
|
|
283
|
-
const streamQueryOptions = {
|
|
287
|
+
const streamQueryOptions: RunSQLOptions = {
|
|
284
288
|
...this.queryOptions,
|
|
285
289
|
...options,
|
|
290
|
+
// per-call only, validated here (see runSQL)
|
|
291
|
+
queryMetadata: this.queryMetadataBag(options.queryMetadata),
|
|
286
292
|
};
|
|
287
293
|
|
|
288
294
|
for await (const row of await this.executor.stream(
|
|
@@ -22,6 +22,32 @@ import {toAsyncGenerator} from '@malloydata/malloy';
|
|
|
22
22
|
// Disable snowflake-sdk logging by default (issue #2565)
|
|
23
23
|
snowflake.configure({logLevel: 'OFF'});
|
|
24
24
|
|
|
25
|
+
// Snowflake QUERY_TAG is a single free-form string, max 2000 chars.
|
|
26
|
+
const MAX_QUERY_TAG_LENGTH = 2000;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Render a query's metadata into a Snowflake `QUERY_TAG` value: the property
|
|
30
|
+
* bag serialized as JSON, so the properties are queryable in `QUERY_HISTORY` /
|
|
31
|
+
* `QUERY_ATTRIBUTION_HISTORY`. Case is preserved. Clamped to Snowflake's
|
|
32
|
+
* 2000-char limit as a runtime backstop.
|
|
33
|
+
*
|
|
34
|
+
* The tag is applied per statement via `parameters.QUERY_TAG` (see `_execute`);
|
|
35
|
+
* the connection-level `connOptions.queryTag` is deliberately never set,
|
|
36
|
+
* because the SDK overwrites caller-supplied per-statement parameters whenever
|
|
37
|
+
* it is (snowflake-sdk `statement.js`).
|
|
38
|
+
*
|
|
39
|
+
* The bag arrives already validated: SnowflakeConnection checks it before
|
|
40
|
+
* handing it to the executor.
|
|
41
|
+
*/
|
|
42
|
+
export function snowflakeQueryTag(options?: RunSQLOptions): string | undefined {
|
|
43
|
+
const bag = options?.queryMetadata;
|
|
44
|
+
if (bag === undefined || Object.keys(bag).length === 0) return undefined;
|
|
45
|
+
const tag = JSON.stringify(bag);
|
|
46
|
+
return tag.length > MAX_QUERY_TAG_LENGTH
|
|
47
|
+
? tag.slice(0, MAX_QUERY_TAG_LENGTH)
|
|
48
|
+
: tag;
|
|
49
|
+
}
|
|
50
|
+
|
|
25
51
|
export interface ConnectionConfigFile {
|
|
26
52
|
// a toml file with snowflake connection settings
|
|
27
53
|
// if not provided, we will try to read ~/.snowflake/config
|
|
@@ -158,6 +184,10 @@ export class SnowflakeExecutor {
|
|
|
158
184
|
if (abortSignal?.aborted) {
|
|
159
185
|
throw new Error('Query aborted');
|
|
160
186
|
}
|
|
187
|
+
// Apply the query tag per statement (never via connOptions.queryTag — the
|
|
188
|
+
// SDK clobbers per-statement parameters when that is set).
|
|
189
|
+
const queryTag = snowflakeQueryTag(options);
|
|
190
|
+
const parameters = queryTag ? {QUERY_TAG: queryTag} : undefined;
|
|
161
191
|
let _statement: RowStatement | undefined;
|
|
162
192
|
const cancel = () => {
|
|
163
193
|
_statement?.cancel();
|
|
@@ -171,6 +201,7 @@ export class SnowflakeExecutor {
|
|
|
171
201
|
_statement = conn.execute({
|
|
172
202
|
sqlText,
|
|
173
203
|
binds,
|
|
204
|
+
parameters,
|
|
174
205
|
complete: (
|
|
175
206
|
err: SnowflakeError | undefined,
|
|
176
207
|
_stmt: RowStatement,
|
|
@@ -345,6 +376,9 @@ export class SnowflakeExecutor {
|
|
|
345
376
|
throw new Error('Query aborted');
|
|
346
377
|
}
|
|
347
378
|
|
|
379
|
+
// Apply the query tag per statement (see _execute).
|
|
380
|
+
const queryTag = snowflakeQueryTag(options);
|
|
381
|
+
const parameters = queryTag ? {QUERY_TAG: queryTag} : undefined;
|
|
348
382
|
// Track the statement so abort can cancel it during conn.execute()
|
|
349
383
|
let _statement: RowStatement | undefined;
|
|
350
384
|
const abortSignal = options?.abortSignal;
|
|
@@ -363,6 +397,7 @@ export class SnowflakeExecutor {
|
|
|
363
397
|
_statement = conn.execute({
|
|
364
398
|
sqlText,
|
|
365
399
|
streamResult: true,
|
|
400
|
+
parameters,
|
|
366
401
|
complete: (err: SnowflakeError | undefined, _stmt: RowStatement) => {
|
|
367
402
|
if (err) {
|
|
368
403
|
if (cancelFromAbort) {
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright Contributors to the Malloy project
|
|
3
|
+
* SPDX-License-Identifier: MIT
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
import snowflake from 'snowflake-sdk';
|
|
7
|
+
import type {RowStatement} from 'snowflake-sdk';
|
|
8
|
+
import {SnowflakeConnection} from './snowflake_connection';
|
|
9
|
+
import {snowflakeQueryTag} from './snowflake_executor';
|
|
10
|
+
|
|
11
|
+
// A minimal fake generic-pool + snowflake connection so runSQL / executor
|
|
12
|
+
// logic runs fully offline. Records the execute options of every statement.
|
|
13
|
+
interface ExecCall {
|
|
14
|
+
sqlText: string;
|
|
15
|
+
parameters?: Record<string, unknown>;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
function installFakeSnowflake(queryId = 'q-abc-123'): {
|
|
19
|
+
calls: ExecCall[];
|
|
20
|
+
spy: jest.SpyInstance;
|
|
21
|
+
} {
|
|
22
|
+
const calls: ExecCall[] = [];
|
|
23
|
+
const fakeStmt = {
|
|
24
|
+
getQueryId: () => queryId,
|
|
25
|
+
cancel: () => {},
|
|
26
|
+
} as unknown as RowStatement;
|
|
27
|
+
const fakeConn = {
|
|
28
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
29
|
+
execute(opts: any): RowStatement {
|
|
30
|
+
calls.push({sqlText: opts.sqlText, parameters: opts.parameters});
|
|
31
|
+
// DDL/ALTER SESSION statements return no rows; a SELECT returns one row.
|
|
32
|
+
const rows = /^\s*select/i.test(opts.sqlText) ? [{T: 1}] : [];
|
|
33
|
+
opts.complete(undefined, fakeStmt, rows);
|
|
34
|
+
return fakeStmt;
|
|
35
|
+
},
|
|
36
|
+
};
|
|
37
|
+
const fakePool = {
|
|
38
|
+
use: (fn: (c: unknown) => Promise<unknown>) => fn(fakeConn),
|
|
39
|
+
acquire: async () => fakeConn,
|
|
40
|
+
release: async () => {},
|
|
41
|
+
drain: async () => {},
|
|
42
|
+
clear: () => {},
|
|
43
|
+
};
|
|
44
|
+
const spy = jest
|
|
45
|
+
.spyOn(snowflake, 'createPool')
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
47
|
+
.mockReturnValue(fakePool as any);
|
|
48
|
+
return {calls, spy};
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// Non-empty so the constructor never falls back to reading connections.toml.
|
|
52
|
+
const CONN_OPTIONS = {account: 'test', username: 'test'};
|
|
53
|
+
|
|
54
|
+
const lastCall = (calls: ExecCall[]): ExecCall => calls[calls.length - 1];
|
|
55
|
+
|
|
56
|
+
// Parse a captured QUERY_TAG value (it is a JSON string) into an object.
|
|
57
|
+
const tagOf = (call: ExecCall): unknown =>
|
|
58
|
+
JSON.parse((call.parameters as {QUERY_TAG: string}).QUERY_TAG);
|
|
59
|
+
|
|
60
|
+
describe('snowflakeQueryTag', () => {
|
|
61
|
+
it('renders the property bag as a JSON QUERY_TAG', () => {
|
|
62
|
+
expect(
|
|
63
|
+
JSON.parse(snowflakeQueryTag({queryMetadata: {team: 'finance'}})!)
|
|
64
|
+
).toEqual({team: 'finance'});
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
it('treats application_name as an ordinary property', () => {
|
|
68
|
+
expect(
|
|
69
|
+
JSON.parse(
|
|
70
|
+
snowflakeQueryTag({
|
|
71
|
+
queryMetadata: {application_name: 'my-app', team: 'finance'},
|
|
72
|
+
})!
|
|
73
|
+
)
|
|
74
|
+
).toEqual({application_name: 'my-app', team: 'finance'});
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
it('preserves case', () => {
|
|
78
|
+
expect(
|
|
79
|
+
JSON.parse(snowflakeQueryTag({queryMetadata: {Team: 'Finance'}})!)
|
|
80
|
+
).toEqual({Team: 'Finance'});
|
|
81
|
+
});
|
|
82
|
+
|
|
83
|
+
it('returns undefined when there is no metadata', () => {
|
|
84
|
+
expect(snowflakeQueryTag(undefined)).toBeUndefined();
|
|
85
|
+
expect(snowflakeQueryTag({})).toBeUndefined();
|
|
86
|
+
expect(snowflakeQueryTag({queryMetadata: {}})).toBeUndefined();
|
|
87
|
+
});
|
|
88
|
+
});
|
|
89
|
+
|
|
90
|
+
describe('db-snowflake queryMetadata wiring (offline)', () => {
|
|
91
|
+
afterEach(() => jest.restoreAllMocks());
|
|
92
|
+
|
|
93
|
+
it('applies per-call metadata as a JSON parameters.QUERY_TAG on the data statement', async () => {
|
|
94
|
+
const {calls} = installFakeSnowflake();
|
|
95
|
+
const conn = new SnowflakeConnection('sf', {connOptions: CONN_OPTIONS});
|
|
96
|
+
await conn.runSQL('SELECT 1 AS T', {
|
|
97
|
+
queryMetadata: {team: 'finance'},
|
|
98
|
+
});
|
|
99
|
+
expect(lastCall(calls).sqlText).toBe('SELECT 1 AS T');
|
|
100
|
+
expect(tagOf(lastCall(calls))).toEqual({team: 'finance'});
|
|
101
|
+
});
|
|
102
|
+
|
|
103
|
+
it('does not inherit metadata from the connection default (queryOptions)', async () => {
|
|
104
|
+
const {calls} = installFakeSnowflake();
|
|
105
|
+
const conn = new SnowflakeConnection('sf', {
|
|
106
|
+
connOptions: CONN_OPTIONS,
|
|
107
|
+
queryOptions: {queryMetadata: {application_name: 'my-app'}},
|
|
108
|
+
});
|
|
109
|
+
await conn.runSQL('SELECT 1 AS T');
|
|
110
|
+
// queryMetadata is per-call only; a queryOptions default is ignored.
|
|
111
|
+
expect(lastCall(calls).parameters).toBeUndefined();
|
|
112
|
+
});
|
|
113
|
+
|
|
114
|
+
it('sets no parameters when no metadata is present', async () => {
|
|
115
|
+
const {calls} = installFakeSnowflake();
|
|
116
|
+
const conn = new SnowflakeConnection('sf', {connOptions: CONN_OPTIONS});
|
|
117
|
+
await conn.runSQL('SELECT 1 AS T');
|
|
118
|
+
expect(lastCall(calls).parameters).toBeUndefined();
|
|
119
|
+
});
|
|
120
|
+
|
|
121
|
+
it('never injects queryTag into the connection options (per-statement only)', async () => {
|
|
122
|
+
const {calls, spy} = installFakeSnowflake();
|
|
123
|
+
const conn = new SnowflakeConnection('sf', {connOptions: CONN_OPTIONS});
|
|
124
|
+
await conn.runSQL('SELECT 1 AS T', {queryMetadata: {team: 'finance'}});
|
|
125
|
+
// The tag rides parameters.QUERY_TAG, never the connection options.
|
|
126
|
+
const passedConnOptions = spy.mock.calls[0][0] as Record<string, unknown>;
|
|
127
|
+
expect(passedConnOptions['queryTag']).toBeUndefined();
|
|
128
|
+
expect(tagOf(lastCall(calls))).toEqual({team: 'finance'});
|
|
129
|
+
});
|
|
130
|
+
});
|