@gscdump/engine 6.0.0 → 7.1.0
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.
|
@@ -29,12 +29,9 @@ function withMinimumImpressions(state, options) {
|
|
|
29
29
|
}
|
|
30
30
|
function orderByClause(state, prefix = "", columnOverride) {
|
|
31
31
|
const ties = dimensionOrder(state.dimensions, state.orderBy?.column, prefix);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
return sql.raw(`ORDER BY ${prefix}${safeCol} ${safeDir}${ties}`);
|
|
36
|
-
}
|
|
37
|
-
return sql.raw(`ORDER BY ${prefix}clicks DESC${ties}`);
|
|
32
|
+
const column = typeof columnOverride === "object" ? columnOverride : sql.raw(`${prefix}${(columnOverride ?? state.orderBy?.column ?? "clicks").replace(/\W/g, "")}`);
|
|
33
|
+
const safeDir = state.orderBy?.dir.toUpperCase() === "ASC" ? "ASC" : "DESC";
|
|
34
|
+
return sql`ORDER BY ${column} ${sql.raw(`${safeDir}${ties}`)}`;
|
|
38
35
|
}
|
|
39
36
|
function dimensionOrder(dimensions, primary, prefix = "") {
|
|
40
37
|
return [...new Set(dimensions)].filter((d) => d !== primary).map((d) => `, ${prefix}"${d.replace(/\W/g, "")}" ASC`).join("");
|
|
@@ -227,7 +224,9 @@ function resolveToSQL(state, options) {
|
|
|
227
224
|
let body = wherePredicates.length > 0 ? sql`SELECT ${joinComma(selectExprs)} FROM ${table} WHERE ${joinAnd(wherePredicates)}` : sql`SELECT ${joinComma(selectExprs)} FROM ${table}`;
|
|
228
225
|
if (groupByExprs.length > 0) body = sql`${body} GROUP BY ${joinComma(groupByExprs)}`;
|
|
229
226
|
if (having.length > 0) body = sql`${body} HAVING ${joinAnd(having)}`;
|
|
230
|
-
const
|
|
227
|
+
const sortColumn = state.orderBy?.column ?? "clicks";
|
|
228
|
+
const sortAggregate = adapter.isMetricDimension(sortColumn) && !metrics.includes(sortColumn) ? adapter.metricSql(sortColumn, tableKey) : void 0;
|
|
229
|
+
const mainQuery = sql`${body} ${orderByClause(state, "", sortAggregate)} ${limitOffsetClause(state)}`;
|
|
231
230
|
let countQuery;
|
|
232
231
|
if (groupByExprs.length > 0) {
|
|
233
232
|
let inner = wherePredicates.length > 0 ? sql`SELECT ${joinComma(groupByExprs)} FROM ${table} WHERE ${joinAnd(wherePredicates)} GROUP BY ${joinComma(groupByExprs)}` : sql`SELECT ${joinComma(groupByExprs)} FROM ${table} GROUP BY ${joinComma(groupByExprs)}`;
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gscdump/engine",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "7.1.0",
|
|
5
5
|
"description": "Append-only Parquet/DuckDB storage engine + planner + adapters for the gscdump pipeline. Node + edge runtimes; opt-in heavy peers.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Harlan Wilton",
|
|
@@ -189,10 +189,10 @@
|
|
|
189
189
|
}
|
|
190
190
|
},
|
|
191
191
|
"dependencies": {
|
|
192
|
-
"@gscdump/contracts": "^
|
|
193
|
-
"@gscdump/lakehouse": "^
|
|
192
|
+
"@gscdump/contracts": "^7.1.0",
|
|
193
|
+
"@gscdump/lakehouse": "^7.1.0",
|
|
194
194
|
"drizzle-orm": "1.0.0-rc.4",
|
|
195
|
-
"gscdump": "^
|
|
195
|
+
"gscdump": "^7.1.0",
|
|
196
196
|
"pathe": "^2.0.3",
|
|
197
197
|
"proper-lockfile": "^4.1.2"
|
|
198
198
|
},
|