diff --git a/apps/frontend/package.json b/apps/frontend/package.json index 0e24cb69a..d2b066de3 100644 --- a/apps/frontend/package.json +++ b/apps/frontend/package.json @@ -43,7 +43,7 @@ "chart.js": "^4.3.0", "classnames": "^2.3.2", "date-fns": "^2.30.0", - "delay": "^5.0.0", + "delay": "^6.0.0", "eslint": "^8.41.0", "eslint-config-prettier": "^8.8.0", "eslint-plugin-svelte3": "^4.0.0", diff --git a/package.json b/package.json index 3f31d48e4..3bd3eb2ff 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "undb", - "version": "0.4.5", + "version": "0.4.6", "devDependencies": { "@commitlint/cli": "^17.6.3", "@commitlint/config-conventional": "^17.6.3", diff --git a/packages/database/sqlite/src/repository/record/record-sqlite.reference-query-visitor.ts b/packages/database/sqlite/src/repository/record/record-sqlite.reference-query-visitor.ts index d128c112a..070143a96 100644 --- a/packages/database/sqlite/src/repository/record/record-sqlite.reference-query-visitor.ts +++ b/packages/database/sqlite/src/repository/record/record-sqlite.reference-query-visitor.ts @@ -332,7 +332,8 @@ export class RecordSqliteReferenceQueryVisitor extends AbstractReferenceFieldVis ...averageFields.map((f) => this.knex.raw(`avg(${fta}.${f.averageAggregateField.id}) as ${f.id}`)), ) .from(closure.name) - .groupBy(ClosureTable.PARENT_ID, ClosureTable.CHILD_ID) + .where(ClosureTable.DEPTH, 1) + .groupBy(ClosureTable.PARENT_ID) .as(uta) const nestSubQuery = knex @@ -359,12 +360,7 @@ export class RecordSqliteReferenceQueryVisitor extends AbstractReferenceFieldVis (c) => `${uta}.${c.id.value} as ${c.id.value}`, ), ) - .leftJoin(subQuery, function () { - this.on(`${TABLE_ALIAS}.${INTERNAL_COLUMN_ID_NAME}`, `${uta}.${ClosureTable.PARENT_ID}`).andOn( - `${uta}.${ClosureTable.DEPTH}`, - knex.raw('?', [1]), - ) - }) + .leftJoin(subQuery, `${TABLE_ALIAS}.${INTERNAL_COLUMN_ID_NAME}`, `${uta}.${ClosureTable.PARENT_ID}`) } parent(field: CoreParentField): void { if (this.#visited.has(field.id.value)) { @@ -389,7 +385,8 @@ export class RecordSqliteReferenceQueryVisitor extends AbstractReferenceFieldVis ...displayColumns.map((f) => knex.raw(`json_array(${fta}.${f.id.value}) as ${f.id.value}`)), ) .from(closure.name) - .groupBy(ClosureTable.CHILD_ID, ClosureTable.PARENT_ID) + .where(ClosureTable.DEPTH, 1) + .groupBy(ClosureTable.CHILD_ID) .as(uta) const nestSubQuery = knex @@ -411,12 +408,7 @@ export class RecordSqliteReferenceQueryVisitor extends AbstractReferenceFieldVis this.#getFieldExpand(uta, column), ...lookupFields.map((c) => this.#getFieldExpand(uta, c)), ) - .leftJoin(subQuery, function () { - this.on(`${uta}.${ClosureTable.CHILD_ID}`, `${TABLE_ALIAS}.${INTERNAL_COLUMN_ID_NAME}`).andOn( - `${uta}.${ClosureTable.DEPTH}`, - knex.raw('?', [1]), - ) - }) + .leftJoin(subQuery, `${uta}.${ClosureTable.CHILD_ID}`, `${TABLE_ALIAS}.${INTERNAL_COLUMN_ID_NAME}`) this.#visited.add(field.id.value) } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f126a8b85..66246dfb7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -361,8 +361,8 @@ importers: specifier: ^2.30.0 version: 2.30.0 delay: - specifier: ^5.0.0 - version: 5.0.0 + specifier: ^6.0.0 + version: 6.0.0 eslint: specifier: ^8.41.0 version: 8.41.0 @@ -5280,9 +5280,9 @@ packages: resolution: {integrity: sha512-+uO4+qr7msjNNWKYPHqN/3+Dx3NFkmIzayk2L1MyZQlvgZb/J1A0fo410dpKrN2SnqFjt8n4JL8fDJE0wIgjFQ==} dev: true - /delay@5.0.0: - resolution: {integrity: sha512-ReEBKkIfe4ya47wlPYf/gu5ib6yUG0/Aez0JQZQz94kiWtRQvZIQbTiehsnwHvLSWJnQdhVeqYue7Id1dKr0qw==} - engines: {node: '>=10'} + /delay@6.0.0: + resolution: {integrity: sha512-2NJozoOHQ4NuZuVIr5CWd0iiLVIRSDepakaovIN+9eIDHEhdCAEvSy2cuf1DCrPPQLvHmbqTHODlhHg8UCy4zw==} + engines: {node: '>=16'} dev: true /delayed-stream@1.0.0: