@gscdump/engine-duckdb-wasm 0.35.9 → 0.35.11
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/index.mjs +3 -2
- package/package.json +4 -4
package/dist/index.mjs
CHANGED
|
@@ -193,13 +193,14 @@ function compileArchetypeSql(query) {
|
|
|
193
193
|
const where = rangePredicate(query);
|
|
194
194
|
const cmp = compareRangePredicate(query);
|
|
195
195
|
const dir = query.orderBy.dir === "asc" ? "ASC" : "DESC";
|
|
196
|
+
const compareOrder = `COALESCE(c.${query.orderBy.metric}, 0) ${dir}`;
|
|
196
197
|
const metricList = query.metrics.includes(query.orderBy.metric) ? query.metrics : [...query.metrics, query.orderBy.metric];
|
|
197
198
|
const variantSel = query.dimension === "queryCanonical" ? ", COUNT(DISTINCT query) AS variantCount" : "";
|
|
198
199
|
if (query.dimension === "device") {
|
|
199
200
|
if (cmp) {
|
|
200
201
|
const curCols = metricList.map((m) => coalesceMetric(m, "c", m)).join(", ");
|
|
201
202
|
const prevCols = STD_METRICS.map((m) => coalesceMetric(m, "p", prevAlias(m))).join(", ");
|
|
202
|
-
let sql = `WITH cur AS (${deviceUnpivotSql(metricList, where.sql, false)}), prev AS (${deviceUnpivotSql(STD_METRICS, cmp.sql, false)}) SELECT COALESCE(c.device, p.device) AS device, ${curCols}, ${prevCols} FROM cur c FULL OUTER JOIN prev p ON c.device = p.device ORDER BY ${
|
|
203
|
+
let sql = `WITH cur AS (${deviceUnpivotSql(metricList, where.sql, false)}), prev AS (${deviceUnpivotSql(STD_METRICS, cmp.sql, false)}) SELECT COALESCE(c.device, p.device) AS device, ${curCols}, ${prevCols} FROM cur c FULL OUTER JOIN prev p ON c.device = p.device ORDER BY ${compareOrder} LIMIT ?`;
|
|
203
204
|
const params = [
|
|
204
205
|
...where.params,
|
|
205
206
|
...where.params,
|
|
@@ -245,7 +246,7 @@ function compileArchetypeSql(query) {
|
|
|
245
246
|
const variantOut = query.dimension === "queryCanonical" ? ", c.variantCount AS variantCount" : "";
|
|
246
247
|
const mover = query.movers ? moverClause(query.movers) : null;
|
|
247
248
|
const moverWhere = mover ? `WHERE ${mover.where} ` : "";
|
|
248
|
-
const orderSql = mover ? mover.order :
|
|
249
|
+
const orderSql = mover ? mover.order : compareOrder;
|
|
249
250
|
let sql = `WITH cur AS (SELECT ${col} AS k, ${metricSelectList(metricList)}${variantSel} FROM ${table} WHERE ${where.sql}${facet.sql} GROUP BY ${col}), prev AS (SELECT ${col} AS k, ${metricSelectList(STD_METRICS)} FROM ${table} WHERE ${cmp.sql}${facet.sql} GROUP BY ${col}) SELECT COALESCE(c.k, p.k) AS ${query.dimension}, ${curCols}, ${prevCols}${variantOut}${totalCol} FROM cur c FULL OUTER JOIN prev p ON c.k = p.k ${moverWhere}ORDER BY ${orderSql} LIMIT ?`;
|
|
250
251
|
const params = [
|
|
251
252
|
...where.params,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gscdump/engine-duckdb-wasm",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.35.
|
|
4
|
+
"version": "0.35.11",
|
|
5
5
|
"description": "DuckDB-WASM engine adapter for @gscdump/analysis — typed browser analytics against parquet via R2.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Harlan Wilton",
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
},
|
|
46
46
|
"dependencies": {
|
|
47
47
|
"drizzle-orm": "1.0.0-rc.3",
|
|
48
|
-
"@gscdump/contracts": "0.35.
|
|
49
|
-
"@gscdump/engine": "0.35.
|
|
50
|
-
"gscdump": "0.35.
|
|
48
|
+
"@gscdump/contracts": "0.35.11",
|
|
49
|
+
"@gscdump/engine": "0.35.11",
|
|
50
|
+
"gscdump": "0.35.11"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@duckdb/duckdb-wasm": "^1.32.0",
|