@gscdump/engine-duckdb-wasm 0.36.0 → 0.36.2

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.
Files changed (2) hide show
  1. package/dist/index.mjs +10 -1
  2. package/package.json +4 -4
package/dist/index.mjs CHANGED
@@ -38,6 +38,15 @@ function tableForDimensions(dims) {
38
38
  if (set.has("device")) return "dates";
39
39
  return "pages";
40
40
  }
41
+ function tableForTopNBreakdown(query) {
42
+ const dims = [query.dimension];
43
+ for (const facet of query.facets ?? []) {
44
+ const hasPage = query.dimension === "page" || facet.column === "page";
45
+ const hasQuery = query.dimension === "query" || query.dimension === "queryCanonical" || facet.column === "query" || facet.column === "queryCanonical";
46
+ if (hasPage && hasQuery) dims.push(facet.column);
47
+ }
48
+ return tableForDimensions(dims);
49
+ }
41
50
  function metricExpr(metric) {
42
51
  const expr = METRIC_SQL[metric];
43
52
  if (!expr) throw new Error(`[archetype-sql] unknown metric: ${metric}`);
@@ -189,7 +198,7 @@ function compileArchetypeSql(query) {
189
198
  };
190
199
  }
191
200
  case "top-n-breakdown": {
192
- const table = tableForDimensions([query.dimension]);
201
+ const table = tableForTopNBreakdown(query);
193
202
  const where = rangePredicate(query);
194
203
  const cmp = compareRangePredicate(query);
195
204
  const dir = query.orderBy.dir === "asc" ? "ASC" : "DESC";
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gscdump/engine-duckdb-wasm",
3
3
  "type": "module",
4
- "version": "0.36.0",
4
+ "version": "0.36.2",
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.36.0",
49
- "gscdump": "0.36.0",
50
- "@gscdump/engine": "0.36.0"
48
+ "@gscdump/engine": "0.36.2",
49
+ "gscdump": "0.36.2",
50
+ "@gscdump/contracts": "0.36.2"
51
51
  },
52
52
  "devDependencies": {
53
53
  "@duckdb/duckdb-wasm": "^1.32.0",