@malloydata/db-snowflake 0.0.393 → 0.0.395

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.
@@ -262,13 +262,16 @@ class SnowflakeConnection extends connection_1.BaseConnection {
262
262
  const parsed = (0, snowflake_table_name_1.parseSnowflakeTableName)(tablePath);
263
263
  if (parsed === undefined || parsed.schema === undefined)
264
264
  return undefined;
265
- const quoteLit = (s) => s.replace(/'/g, "''");
266
265
  const dbQualifier = parsed.database ? `${parsed.database.sql}.` : '';
266
+ // Use parameter binds for the literal segments. Snowflake honors
267
+ // backslash escapes inside string literals, so hand-rolled ANSI
268
+ // quoting wouldn't be safe for decoded identifier text that may
269
+ // contain a backslash.
267
270
  const rows = await this.executor.tryBatch(`select row_count as rc, bytes as by
268
271
  from ${dbQualifier}information_schema.tables
269
- where table_schema = '${quoteLit(parsed.schema.literal)}'
270
- and table_name = '${quoteLit(parsed.table.literal)}'
271
- limit 1`, {}, this.schemaSampleTimeoutMs);
272
+ where table_schema = ?
273
+ and table_name = ?
274
+ limit 1`, {}, this.schemaSampleTimeoutMs, [parsed.schema.literal, parsed.table.literal]);
272
275
  if (!rows || rows.length === 0)
273
276
  return undefined;
274
277
  const row = rows[0];
@@ -1 +1 @@
1
- {"version":3,"file":"snowflake_connection.js","sourceRoot":"","sources":["../src/snowflake_connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"snowflake_connection.js","sourceRoot":"","sources":["../src/snowflake_connection.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;;;AAqEH,gDAOC;AA3DD,+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;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,eAAe,CACtC,GAAG,eAAe,SAAS,SAAS,gCAAgC,CAAC,EAAE,CACxE,CAAC;gBACF,IAAI,QAAQ,KAAK,kBAAkB,EAAE,CAAC;oBACpC,2DAA2D;oBAC3D,wDAAwD;oBACxD,2DAA2D;oBAC3D,6DAA6D;oBAC7D,QAAQ;oBACR,aAAa;wBACX,MAAA,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAC3B,gBAAgB,EAChB,EAAE,EACF,IAAI,CAAC,qBAAqB,CAC3B,CAAC,mCAAI,SAAS,CAAC;gBACpB,CAAC;qBAAM,CAAC;oBACN,wDAAwD;oBACxD,2DAA2D;oBAC3D,2DAA2D;oBAC3D,2CAA2C;oBAC3C,aAAa,GAAG,MAAM,IAAI,CAAC,eAAe,CACxC,gBAAgB,EAChB,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;AA9ZD,kDA8ZC"}
@@ -1,4 +1,4 @@
1
- import type { Connection, ConnectionOptions } from 'snowflake-sdk';
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
4
  export interface ConnectionConfigFile {
@@ -15,10 +15,10 @@ export declare class SnowflakeExecutor {
15
15
  static getConnectionOptionsFromEnv(): ConnectionOptions | undefined;
16
16
  static getConnectionOptionsFromToml(options?: ConnectionConfigFile): ConnectionOptions;
17
17
  done(): Promise<void>;
18
- _execute(sqlText: string, conn: Connection, options?: RunSQLOptions, timeoutMs?: number): Promise<QueryData>;
18
+ _execute(sqlText: string, conn: Connection, options?: RunSQLOptions, timeoutMs?: number, binds?: Binds): Promise<QueryData>;
19
19
  private _setSessionParams;
20
20
  private ensureSessionInitialized;
21
- batch(sqlText: string, options?: RunSQLOptions, timeoutMs?: number): Promise<QueryData>;
21
+ batch(sqlText: string, options?: RunSQLOptions, timeoutMs?: number, binds?: Binds): Promise<QueryData>;
22
22
  /**
23
23
  * Like batch(), but returns undefined on failure instead of throwing.
24
24
  * This keeps the pool connection alive — generic-pool destroys
@@ -27,6 +27,6 @@ export declare class SnowflakeExecutor {
27
27
  * speculative queries where failure is expected and the connection
28
28
  * may hold session state (e.g. temp views) that must be preserved.
29
29
  */
30
- tryBatch(sqlText: string, options?: RunSQLOptions, timeoutMs?: number): Promise<QueryData | undefined>;
30
+ tryBatch(sqlText: string, options?: RunSQLOptions, timeoutMs?: number, binds?: Binds): Promise<QueryData | undefined>;
31
31
  stream(sqlText: string, options?: RunSQLOptions): Promise<AsyncIterableIterator<QueryRecord>>;
32
32
  }
@@ -142,7 +142,7 @@ class SnowflakeExecutor {
142
142
  this.pool_.clear();
143
143
  });
144
144
  }
145
- async _execute(sqlText, conn, options, timeoutMs) {
145
+ async _execute(sqlText, conn, options, timeoutMs, binds) {
146
146
  const abortSignal = options === null || options === void 0 ? void 0 : options.abortSignal;
147
147
  // Fail fast if already aborted before we even start executing
148
148
  if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {
@@ -160,6 +160,7 @@ class SnowflakeExecutor {
160
160
  try {
161
161
  _statement = conn.execute({
162
162
  sqlText,
163
+ binds,
163
164
  complete: (err, _stmt, rows) => {
164
165
  if (abortSignal) {
165
166
  abortSignal.removeEventListener('abort', cancel);
@@ -220,10 +221,10 @@ class SnowflakeExecutor {
220
221
  this.sessionInitialized.set(connection, init);
221
222
  return init;
222
223
  }
223
- async batch(sqlText, options, timeoutMs) {
224
+ async batch(sqlText, options, timeoutMs, binds) {
224
225
  return await this.pool_.use(async (conn) => {
225
226
  await this.ensureSessionInitialized(conn, options, timeoutMs);
226
- return await this._execute(sqlText, conn, options, timeoutMs);
227
+ return await this._execute(sqlText, conn, options, timeoutMs, binds);
227
228
  });
228
229
  }
229
230
  /**
@@ -234,11 +235,11 @@ class SnowflakeExecutor {
234
235
  * speculative queries where failure is expected and the connection
235
236
  * may hold session state (e.g. temp views) that must be preserved.
236
237
  */
237
- async tryBatch(sqlText, options, timeoutMs) {
238
+ async tryBatch(sqlText, options, timeoutMs, binds) {
238
239
  return await this.pool_.use(async (conn) => {
239
240
  await this.ensureSessionInitialized(conn, options, timeoutMs);
240
241
  try {
241
- return await this._execute(sqlText, conn, options, timeoutMs);
242
+ return await this._execute(sqlText, conn, options, timeoutMs, binds);
242
243
  }
243
244
  catch {
244
245
  return undefined;
@@ -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,82 @@
1
+ "use strict";
2
+ /*
3
+ * Copyright Contributors to the Malloy project
4
+ * SPDX-License-Identifier: MIT
5
+ */
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ const snowflake_connection_1 = require("./snowflake_connection");
8
+ const snowflake_executor_1 = require("./snowflake_executor");
9
+ // Unit test for the INFORMATION_SCHEMA.TABLES size probe in
10
+ // SnowflakeConnection. The probe used to interpolate decoded
11
+ // identifier text into a SQL string literal with hand-rolled ANSI
12
+ // quoting (' -> ''). Snowflake also honors backslash escapes in
13
+ // string literals, so a decoded segment containing `\` could break
14
+ // out of the literal. The fix is to send the values as parameter
15
+ // binds. These tests assert that:
16
+ // - the SQL has placeholders, not interpolated literals
17
+ // - the literal text travels in the binds array
18
+ // - the bind values are exactly the decoded identifier text
19
+ // - a backslash-containing decoded segment doesn't end up in SQL
20
+ describe('probeTableSize: parameterized literal segments', () => {
21
+ const openConns = [];
22
+ function makeConnAndSpy() {
23
+ const conn = new snowflake_connection_1.SnowflakeConnection('snowflake_test', {
24
+ // Minimum non-empty options so the executor doesn't try to
25
+ // read connections.toml from disk. The pool is lazy; we never
26
+ // actually open a connection because tryBatch is stubbed.
27
+ connOptions: { account: 'stub', username: 'stub', password: 'stub' },
28
+ // Pool min=0 so the executor doesn't eagerly try to open a
29
+ // real connection to the stub account. tryBatch is stubbed
30
+ // anyway, so the pool is never used.
31
+ poolOptions: { min: 0, max: 1 },
32
+ });
33
+ openConns.push(conn);
34
+ const tryBatch = jest
35
+ .spyOn(snowflake_executor_1.SnowflakeExecutor.prototype, 'tryBatch')
36
+ .mockResolvedValue([{ RC: 1, BY: 1 }]);
37
+ return { conn, tryBatch };
38
+ }
39
+ afterEach(async () => {
40
+ jest.restoreAllMocks();
41
+ // Drain pools so jest doesn't see open handles from background
42
+ // reconnect attempts by snowflake-sdk against the stub account.
43
+ while (openConns.length > 0) {
44
+ const c = openConns.pop();
45
+ await c.close().catch(() => { });
46
+ }
47
+ });
48
+ it('sends decoded literals as binds, not as SQL string literals', async () => {
49
+ const { conn, tryBatch } = makeConnAndSpy();
50
+ // Two-part bare name → both segments upper-case in the catalog.
51
+ await conn.probeTableSize('malloytest.aircraft');
52
+ expect(tryBatch).toHaveBeenCalledTimes(1);
53
+ const [sql, , , binds] = tryBatch.mock.calls[0];
54
+ expect(sql).toContain('table_schema = ?');
55
+ expect(sql).toContain('table_name = ?');
56
+ expect(sql).not.toMatch(/'.*MALLOYTEST.*'/);
57
+ expect(binds).toEqual(['MALLOYTEST', 'AIRCRAFT']);
58
+ });
59
+ it('passes a backslash-containing decoded segment verbatim in the bind', async () => {
60
+ // A quoted Snowflake identifier may contain a literal backslash.
61
+ // The old code would put this directly in a string literal and
62
+ // Snowflake would consume the trailing `\'` as an escape,
63
+ // breaking out of the literal. With binds, the backslash never
64
+ // touches the SQL text.
65
+ const { conn, tryBatch } = makeConnAndSpy();
66
+ await conn.probeTableSize('"foo\\".bar');
67
+ expect(tryBatch).toHaveBeenCalledTimes(1);
68
+ const [sql, , , binds] = tryBatch.mock.calls[0];
69
+ expect(sql).not.toContain('\\');
70
+ expect(sql).toContain('table_schema = ?');
71
+ expect(sql).toContain('table_name = ?');
72
+ expect(binds).toEqual(['foo\\', 'BAR']);
73
+ });
74
+ it('qualifies the catalog with the database part when given a three-part name', async () => {
75
+ const { conn, tryBatch } = makeConnAndSpy();
76
+ await conn.probeTableSize('mydb.sch.t');
77
+ const [sql, , , binds] = tryBatch.mock.calls[0];
78
+ expect(sql).toContain('MYDB.information_schema.tables');
79
+ expect(binds).toEqual(['SCH', 'T']);
80
+ });
81
+ });
82
+ //# sourceMappingURL=snowflake_probe_table_size.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snowflake_probe_table_size.spec.js","sourceRoot":"","sources":["../src/snowflake_probe_table_size.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.393",
3
+ "version": "0.0.395",
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.393",
26
+ "@malloydata/malloy": "0.0.395",
27
27
  "generic-pool": "^3.9.0",
28
28
  "snowflake-sdk": "2.3.1",
29
29
  "toml": "^3.0.0"
@@ -443,16 +443,20 @@ export class SnowflakeConnection
443
443
  ): Promise<TableSizeProbe | undefined> {
444
444
  const parsed = parseSnowflakeTableName(tablePath);
445
445
  if (parsed === undefined || parsed.schema === undefined) return undefined;
446
- const quoteLit = (s: string) => s.replace(/'/g, "''");
447
446
  const dbQualifier = parsed.database ? `${parsed.database.sql}.` : '';
447
+ // Use parameter binds for the literal segments. Snowflake honors
448
+ // backslash escapes inside string literals, so hand-rolled ANSI
449
+ // quoting wouldn't be safe for decoded identifier text that may
450
+ // contain a backslash.
448
451
  const rows = await this.executor.tryBatch(
449
452
  `select row_count as rc, bytes as by
450
453
  from ${dbQualifier}information_schema.tables
451
- where table_schema = '${quoteLit(parsed.schema.literal)}'
452
- and table_name = '${quoteLit(parsed.table.literal)}'
454
+ where table_schema = ?
455
+ and table_name = ?
453
456
  limit 1`,
454
457
  {},
455
- this.schemaSampleTimeoutMs
458
+ this.schemaSampleTimeoutMs,
459
+ [parsed.schema.literal, parsed.table.literal]
456
460
  );
457
461
  if (!rows || rows.length === 0) return undefined;
458
462
  const row = rows[0];
@@ -26,6 +26,7 @@ import type {
26
26
  RowStatement,
27
27
  Connection,
28
28
  ConnectionOptions,
29
+ Binds,
29
30
  } from 'snowflake-sdk';
30
31
  import snowflake from 'snowflake-sdk';
31
32
  import type {Pool, Options as PoolOptions} from 'generic-pool';
@@ -166,7 +167,8 @@ export class SnowflakeExecutor {
166
167
  sqlText: string,
167
168
  conn: Connection,
168
169
  options?: RunSQLOptions,
169
- timeoutMs?: number
170
+ timeoutMs?: number,
171
+ binds?: Binds
170
172
  ): Promise<QueryData> {
171
173
  const abortSignal = options?.abortSignal;
172
174
  // Fail fast if already aborted before we even start executing
@@ -185,6 +187,7 @@ export class SnowflakeExecutor {
185
187
  try {
186
188
  _statement = conn.execute({
187
189
  sqlText,
190
+ binds,
188
191
  complete: (
189
192
  err: SnowflakeError | undefined,
190
193
  _stmt: RowStatement,
@@ -283,11 +286,12 @@ export class SnowflakeExecutor {
283
286
  public async batch(
284
287
  sqlText: string,
285
288
  options?: RunSQLOptions,
286
- timeoutMs?: number
289
+ timeoutMs?: number,
290
+ binds?: Binds
287
291
  ): Promise<QueryData> {
288
292
  return await this.pool_.use(async (conn: Connection) => {
289
293
  await this.ensureSessionInitialized(conn, options, timeoutMs);
290
- return await this._execute(sqlText, conn, options, timeoutMs);
294
+ return await this._execute(sqlText, conn, options, timeoutMs, binds);
291
295
  });
292
296
  }
293
297
 
@@ -302,12 +306,13 @@ export class SnowflakeExecutor {
302
306
  public async tryBatch(
303
307
  sqlText: string,
304
308
  options?: RunSQLOptions,
305
- timeoutMs?: number
309
+ timeoutMs?: number,
310
+ binds?: Binds
306
311
  ): Promise<QueryData | undefined> {
307
312
  return await this.pool_.use(async (conn: Connection) => {
308
313
  await this.ensureSessionInitialized(conn, options, timeoutMs);
309
314
  try {
310
- return await this._execute(sqlText, conn, options, timeoutMs);
315
+ return await this._execute(sqlText, conn, options, timeoutMs, binds);
311
316
  } catch {
312
317
  return undefined;
313
318
  }
@@ -0,0 +1,97 @@
1
+ /*
2
+ * Copyright Contributors to the Malloy project
3
+ * SPDX-License-Identifier: MIT
4
+ */
5
+
6
+ import {SnowflakeConnection} from './snowflake_connection';
7
+ import {SnowflakeExecutor} from './snowflake_executor';
8
+
9
+ // Unit test for the INFORMATION_SCHEMA.TABLES size probe in
10
+ // SnowflakeConnection. The probe used to interpolate decoded
11
+ // identifier text into a SQL string literal with hand-rolled ANSI
12
+ // quoting (' -> ''). Snowflake also honors backslash escapes in
13
+ // string literals, so a decoded segment containing `\` could break
14
+ // out of the literal. The fix is to send the values as parameter
15
+ // binds. These tests assert that:
16
+ // - the SQL has placeholders, not interpolated literals
17
+ // - the literal text travels in the binds array
18
+ // - the bind values are exactly the decoded identifier text
19
+ // - a backslash-containing decoded segment doesn't end up in SQL
20
+ describe('probeTableSize: parameterized literal segments', () => {
21
+ const openConns: SnowflakeConnection[] = [];
22
+ function makeConnAndSpy() {
23
+ const conn = new SnowflakeConnection('snowflake_test', {
24
+ // Minimum non-empty options so the executor doesn't try to
25
+ // read connections.toml from disk. The pool is lazy; we never
26
+ // actually open a connection because tryBatch is stubbed.
27
+ connOptions: {account: 'stub', username: 'stub', password: 'stub'},
28
+ // Pool min=0 so the executor doesn't eagerly try to open a
29
+ // real connection to the stub account. tryBatch is stubbed
30
+ // anyway, so the pool is never used.
31
+ poolOptions: {min: 0, max: 1},
32
+ });
33
+ openConns.push(conn);
34
+ const tryBatch = jest
35
+ .spyOn(SnowflakeExecutor.prototype, 'tryBatch')
36
+ .mockResolvedValue([{RC: 1, BY: 1}]);
37
+ return {conn, tryBatch};
38
+ }
39
+
40
+ afterEach(async () => {
41
+ jest.restoreAllMocks();
42
+ // Drain pools so jest doesn't see open handles from background
43
+ // reconnect attempts by snowflake-sdk against the stub account.
44
+ while (openConns.length > 0) {
45
+ const c = openConns.pop()!;
46
+ await c.close().catch(() => {});
47
+ }
48
+ });
49
+
50
+ it('sends decoded literals as binds, not as SQL string literals', async () => {
51
+ const {conn, tryBatch} = makeConnAndSpy();
52
+ // Two-part bare name → both segments upper-case in the catalog.
53
+ await (
54
+ conn as unknown as {
55
+ probeTableSize: (t: string) => Promise<unknown>;
56
+ }
57
+ ).probeTableSize('malloytest.aircraft');
58
+ expect(tryBatch).toHaveBeenCalledTimes(1);
59
+ const [sql, , , binds] = tryBatch.mock.calls[0];
60
+ expect(sql).toContain('table_schema = ?');
61
+ expect(sql).toContain('table_name = ?');
62
+ expect(sql).not.toMatch(/'.*MALLOYTEST.*'/);
63
+ expect(binds).toEqual(['MALLOYTEST', 'AIRCRAFT']);
64
+ });
65
+
66
+ it('passes a backslash-containing decoded segment verbatim in the bind', async () => {
67
+ // A quoted Snowflake identifier may contain a literal backslash.
68
+ // The old code would put this directly in a string literal and
69
+ // Snowflake would consume the trailing `\'` as an escape,
70
+ // breaking out of the literal. With binds, the backslash never
71
+ // touches the SQL text.
72
+ const {conn, tryBatch} = makeConnAndSpy();
73
+ await (
74
+ conn as unknown as {
75
+ probeTableSize: (t: string) => Promise<unknown>;
76
+ }
77
+ ).probeTableSize('"foo\\".bar');
78
+ expect(tryBatch).toHaveBeenCalledTimes(1);
79
+ const [sql, , , binds] = tryBatch.mock.calls[0];
80
+ expect(sql).not.toContain('\\');
81
+ expect(sql).toContain('table_schema = ?');
82
+ expect(sql).toContain('table_name = ?');
83
+ expect(binds).toEqual(['foo\\', 'BAR']);
84
+ });
85
+
86
+ it('qualifies the catalog with the database part when given a three-part name', async () => {
87
+ const {conn, tryBatch} = makeConnAndSpy();
88
+ await (
89
+ conn as unknown as {
90
+ probeTableSize: (t: string) => Promise<unknown>;
91
+ }
92
+ ).probeTableSize('mydb.sch.t');
93
+ const [sql, , , binds] = tryBatch.mock.calls[0];
94
+ expect(sql).toContain('MYDB.information_schema.tables');
95
+ expect(binds).toEqual(['SCH', 'T']);
96
+ });
97
+ });