pqb 0.72.2 → 0.73.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.
- package/dist/index.d.ts +14 -6
- package/dist/index.js +25 -8
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +25 -9
- package/dist/index.mjs.map +1 -1
- package/dist/internal.d.ts +13 -6
- package/dist/internal.js +28 -7
- package/dist/internal.js.map +1 -1
- package/dist/internal.mjs +24 -9
- package/dist/internal.mjs.map +1 -1
- package/package.json +1 -1
package/dist/internal.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AdapterClass, ArrayColumn, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BoxColumn, ByteaColumn, CidrColumn, CircleColumn, CitextColumn, Column, CustomTypeColumn, DateColumn, DecimalColumn, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, Expression, InetColumn, IntegerColumn, IntervalColumn, JSONColumn, JSONTextColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MoneyColumn, Operators, PathColumn, PointColumn, PolygonColumn, PostgisGeographyPointColumn, QueryHookUtils, QueryHooks, RawSql, RealColumn, SerialColumn, SmallIntColumn, SmallSerialColumn, StringColumn, TextColumn, TimeColumn, TimestampColumn, TimestampTZColumn, TransactionAdapterClass, TsQueryColumn, TsVectorColumn, UUIDColumn, UnknownColumn, VarCharColumn, VirtualColumn, XMLColumn, _appendQuery, _appendQueryOnUpsertCreate, _clone, _createDbSqlMethod, _hookSelectColumns, _initQueryBuilder, _onUpsertUpdate, _orCreate, _prependWith, _prependWithOnUpsertCreate, _queryCreate, _queryCreateMany, _queryCreateManyFrom, _queryDefaults, _queryDelete, _queryFindBy, _queryFindByOptional, _queryHookAfterCreate, _queryHookAfterUpdate, _queryInsert, _queryInsertMany, _queryJoinOn, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUpdate, _queryUpdateOrThrow, _queryUpsert, _queryWhere, _queryWhereExists, _queryWhereIn, addCode, addTopCte, addTopCteSql, applyMixins, assignDbDataToColumn, backtickQuote, cloneQueryBaseUnscoped, codeToString, colors, columnsShapeToCode, constraintInnerToCode, constraintToCode, consumeColumnName, deepCompare, defaultSchemaConfig, emptyArray, emptyObject, escapeForMigration, escapeString, excludeInnerToCode, excludeToCode, exhaustive, getCallerFilePath, getClonedQueryData, getColumnBaseType, getColumnTypes, getDateAsDateFn, getDateAsNumberFn, getDriverErrorCode, getFreeAlias, getFreeSetAlias, getImportPath, getPrimaryKeys, getQueryAs, getQuerySchema, getShapeFromSelect, getSqlText, getStackTrace, getSupportedDefaultPrivileges, indexInnerToCode, indexToCode, internalSchemaConfig, isExpression, isQueryReturnsAll, isRawSQL, logColors, logParamToLogObject, makeColumnNullable, makeColumnTypes, makeColumnsByType, makeConnectRetryConfig, noop, objectHasValues, omit, parseTableData, parseTableDataInput, pathToLog, pick, pluralize, prepareSubQueryForSql, primaryKeyInnerToCode, pushQueryOnForOuter, pushQueryValueImmutable, pushTableDataCode, queryToSql, quoteIdentifier, quoteObjectKey, quoteTableWithSchema, raw, rawSqlToCode, rawSqlToSql, referencesArgsToCode, returnArg, setColumnData, setColumnEncode, setColumnParse, setColumnParseNull, setCurrentColumnName, setDataValue, setDefaultLanguage, setFreeAlias, setQueryObjectValueImmutable, singleQuote, sqlToRawSql, tableDataMethods, toArray, toCamelCase, toPascalCase, toSnakeCase, wrapAdapterFnWithConnectRetry } from "./index.mjs";
|
|
1
|
+
import { AdapterClass, ArrayColumn, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BoxColumn, ByteaColumn, CidrColumn, CircleColumn, CitextColumn, Column, CustomTypeColumn, DateColumn, DecimalColumn, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, Expression, InetColumn, IntegerColumn, IntervalColumn, JSONColumn, JSONTextColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MoneyColumn, Operators, PathColumn, PointColumn, PolygonColumn, PostgisGeographyPointColumn, QueryHookUtils, QueryHooks, RawSql, RealColumn, SerialColumn, SmallIntColumn, SmallSerialColumn, StringColumn, TextColumn, TimeColumn, TimestampColumn, TimestampTZColumn, TransactionAdapterClass, TsQueryColumn, TsVectorColumn, UUIDColumn, UnknownColumn, VarCharColumn, VirtualColumn, XMLColumn, _appendQuery, _appendQueryOnUpsertCreate, _clone, _createDbSqlMethod, _hookSelectColumns, _initQueryBuilder, _onUpsertUpdate, _orCreate, _prependWith, _prependWithOnUpsertCreate, _queryCreate, _queryCreateMany, _queryCreateManyFrom, _queryDefaults, _queryDelete, _queryFindBy, _queryFindByOptional, _queryHookAfterCreate, _queryHookAfterUpdate, _queryInsert, _queryInsertForEachFrom, _queryInsertMany, _queryJoinOn, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUpdate, _queryUpdateOrThrow, _queryUpsert, _queryWhere, _queryWhereExists, _queryWhereIn, addCode, addTopCte, addTopCteSql, applyMixins, assignDbDataToColumn, backtickQuote, cloneQueryBaseUnscoped, codeToString, colors, columnsShapeToCode, constraintInnerToCode, constraintToCode, consumeColumnName, deepCompare, defaultSchemaConfig, emptyArray, emptyObject, escapeForMigration, escapeString, excludeInnerToCode, excludeToCode, exhaustive, getCallerFilePath, getClonedQueryData, getColumnBaseType, getColumnTypes, getDateAsDateFn, getDateAsNumberFn, getDriverErrorCode, getFreeAlias, getFreeSetAlias, getImportPath, getPrimaryKeys, getQueryAs, getQuerySchema, getShapeFromSelect, getSqlText, getStackTrace, getSupportedDefaultPrivileges, indexInnerToCode, indexToCode, internalSchemaConfig, isExpression, isQueryReturnsAll, isRawSQL, logColors, logParamToLogObject, makeColumnNullable, makeColumnTypes, makeColumnsByType, makeConnectRetryConfig, noop, objectHasValues, omit, parseTableData, parseTableDataInput, pathToLog, pick, pluralize, prepareSubQueryForSql, primaryKeyInnerToCode, pushQueryOnForOuter, pushQueryValueImmutable, pushTableDataCode, queryToSql, quoteIdentifier, quoteObjectKey, quoteTableWithSchema, raw, rawSqlToCode, rawSqlToSql, referencesArgsToCode, returnArg, setColumnData, setColumnEncode, setColumnParse, setColumnParseNull, setCurrentColumnName, setDataValue, setDefaultLanguage, setFreeAlias, setQueryObjectValueImmutable, singleQuote, sqlToRawSql, tableDataMethods, toArray, toCamelCase, toPascalCase, toSnakeCase, wrapAdapterFnWithConnectRetry } from "./index.mjs";
|
|
2
2
|
import "node:url";
|
|
3
3
|
import "node:path";
|
|
4
4
|
import "node:timers/promises";
|
|
@@ -2735,7 +2735,8 @@ const processJoinItem = (ctx, table, query, args, quotedAs) => {
|
|
|
2735
2735
|
if (alias) target += ` ${alias}`;
|
|
2736
2736
|
if (r && s) target = subJoinToSql(ctx, j, `"${joinTable}"`, !forbidLateral, joinAs, true);
|
|
2737
2737
|
else on = whereToSql(ctx, j, j.q, joinAs);
|
|
2738
|
-
} else if ("
|
|
2738
|
+
} else if ("x" in args) target = args.x.makeSQL(ctx, quotedAs);
|
|
2739
|
+
else if ("w" in args) {
|
|
2739
2740
|
const { w } = args;
|
|
2740
2741
|
target = `"${w}"`;
|
|
2741
2742
|
if ("r" in args) {
|
|
@@ -3427,8 +3428,12 @@ const then = async (q, adapter, state, beforeHooks, afterHooks, afterSaveHooks,
|
|
|
3427
3428
|
} catch (err) {
|
|
3428
3429
|
let error;
|
|
3429
3430
|
if (err instanceof adapter.errorClass) {
|
|
3430
|
-
|
|
3431
|
-
|
|
3431
|
+
const code = getDriverErrorCode$1(err);
|
|
3432
|
+
const notFound = err.message.match(/"(.*):not-found:(\d+):(\d+)"$/);
|
|
3433
|
+
if (code === "22P02" && notFound) {
|
|
3434
|
+
const [, message, expected, actual] = notFound;
|
|
3435
|
+
error = Number(expected) === 1 && !message ? new NotFoundError(q) : new NotFoundError(q, `Expected to find at least ${expected} record(s)${message ? ` ${message}` : ""}, but found ${actual}`);
|
|
3436
|
+
} else {
|
|
3432
3437
|
error = new q.error();
|
|
3433
3438
|
adapter.assignError(error, err);
|
|
3434
3439
|
}
|
|
@@ -4309,7 +4314,10 @@ const moveMutativeQueryToCteBase = (toSql, ctx, query, type = query.q.type) => {
|
|
|
4309
4314
|
const addTableHook = (ctx, q, data, select, hookPurpose, dontAddTableHook) => {
|
|
4310
4315
|
if (data.ensureCount !== void 0 && ctx.cteName) {
|
|
4311
4316
|
const cteHooks = setCteHooks(ctx, true);
|
|
4312
|
-
(cteHooks.ensureCount ??= {})[ctx.cteName] = {
|
|
4317
|
+
(cteHooks.ensureCount ??= {})[ctx.cteName] = {
|
|
4318
|
+
count: data.ensureCount.expected,
|
|
4319
|
+
message: data.ensureCount.message
|
|
4320
|
+
};
|
|
4313
4321
|
}
|
|
4314
4322
|
const afterCreate = data.afterCreate;
|
|
4315
4323
|
const afterUpdate = data.afterUpdate;
|
|
@@ -4474,8 +4482,10 @@ const selectToSqlList = (ctx, table, query, quotedAs, hookSelect = query.hookSel
|
|
|
4474
4482
|
list.push(`${sql} "${as}"`);
|
|
4475
4483
|
if (jsonList) jsonList[as] = value.result.value;
|
|
4476
4484
|
aliases?.push(as);
|
|
4477
|
-
} else if (delayedRelationSelect && isRelationQuery(value))
|
|
4478
|
-
|
|
4485
|
+
} else if (delayedRelationSelect && isRelationQuery(value)) {
|
|
4486
|
+
if (delayedRelationSelect.query.q.type !== "delete") ctx.selectedCount--;
|
|
4487
|
+
setMutativeQueriesSelectRelationsSqlState(delayedRelationSelect, as, value);
|
|
4488
|
+
} else {
|
|
4479
4489
|
pushSubQuerySql(ctx, query, value, as, list, quotedAs, aliases);
|
|
4480
4490
|
if (jsonList) jsonList[as] = value.q.returnType === "value" || value.q.returnType === "valueOrThrow" ? value.q.expr?.result.value || value.result?.value : void 0;
|
|
4481
4491
|
}
|
|
@@ -5671,7 +5681,12 @@ const toSql = (table, type, topCtx, isSubSql, cteName, calledByThen, dontAddTabl
|
|
|
5671
5681
|
if (ctx.topCtx.cteHooks.hasSelect) {
|
|
5672
5682
|
if (prependedSelectParenthesis) result.text += ")";
|
|
5673
5683
|
const { tableHooks, ensureCount } = ctx.topCtx.cteHooks;
|
|
5674
|
-
const keyValues = [...tableHooks ? Object.entries(tableHooks).map(([cteName, data]) => `'${cteName}', (SELECT json_agg(${makeRowToJson(ctx, cteName, data.shape, false, true)}) FROM "${cteName}")`) : emptyArray$1, ...ensureCount ? Object.entries(ensureCount).map(([cteName, item]) =>
|
|
5684
|
+
const keyValues = [...tableHooks ? Object.entries(tableHooks).map(([cteName, data]) => `'${cteName}', (SELECT json_agg(${makeRowToJson(ctx, cteName, data.shape, false, true)}) FROM "${cteName}")`) : emptyArray$1, ...ensureCount ? Object.entries(ensureCount).map(([cteName, item]) => {
|
|
5685
|
+
const expected = "count" in item ? item.count : 1;
|
|
5686
|
+
const message = (item.message || "").replace(/'/g, "''");
|
|
5687
|
+
const notFound = "count" in item && item.count > 1 ? `(SELECT '${message}:not-found:${expected}:' || (SELECT count(*) FROM "${cteName}"))::int` : `(SELECT '${message}:not-found:${expected}:0')::int`;
|
|
5688
|
+
return `'#${cteName}', CASE WHEN ${"count" in item ? `(SELECT count(*) FROM "${cteName}") < ${item.count}` : `(SELECT "${cteName}"."${item.jsonNotNull}" FROM "${cteName}") IS NULL`} THEN ${notFound} END`;
|
|
5689
|
+
}) : emptyArray$1];
|
|
5675
5690
|
result.text += ` UNION ALL SELECT ${"NULL, ".repeat(ctx.selectedCount || 0)}json_build_object(${keyValues.join(", ")})`;
|
|
5676
5691
|
}
|
|
5677
5692
|
}
|
|
@@ -6148,6 +6163,6 @@ const getFromSelectColumns = (q, from, obj, many) => {
|
|
|
6148
6163
|
const _queryInsertManyFrom = (q, query, data) => {
|
|
6149
6164
|
return insertFrom(q, query, true, false, data);
|
|
6150
6165
|
};
|
|
6151
|
-
export { AdapterClass, ArrayColumn, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BoxColumn, ByteaColumn, CannotMutateReadOnlyTableError, CidrColumn, CircleColumn, CitextColumn, Column, CustomTypeColumn, DateColumn, DecimalColumn, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, Expression, InetColumn, IntegerColumn, IntervalColumn, JSONColumn, JSONTextColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MoneyColumn, Operators, OrchidOrmError, PathColumn, PointColumn, PolygonColumn, PostgisGeographyPointColumn, QueryHookUtils, QueryHooks, RawSql, RealColumn, SerialColumn, SmallIntColumn, SmallSerialColumn, StringColumn, TextColumn, TimeColumn, TimestampColumn, TimestampTZColumn, TransactionAdapterClass, TsQueryColumn, TsVectorColumn, UUIDColumn, UnknownColumn, VarCharColumn, VirtualColumn, XMLColumn, _appendQuery, _appendQueryOnUpsertCreate, _clone, _createDbSqlMethod, _hookSelectColumns, _initQueryBuilder, _onUpsertUpdate, _orCreate, _prependWith, _prependWithOnUpsertCreate, _queryCreate, _queryCreateMany, _queryCreateManyFrom, _queryDefaults, _queryDelete, _queryFindBy, _queryFindByOptional, _queryHookAfterCreate, _queryHookAfterUpdate, _queryInsert, _queryInsertMany, _queryInsertManyFrom, _queryJoinOn, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUpdate, _queryUpdateOrThrow, _queryUpsert, _queryWhere, _queryWhereExists, _queryWhereIn, addCode, addTopCte, addTopCteSql, applyMixins, assignDbDataToColumn, backtickQuote, cloneQueryBaseUnscoped, codeToString, colors, columnsShapeToCode, constraintInnerToCode, constraintToCode, consumeColumnName, deepCompare, defaultSchemaConfig, emptyArray, emptyObject, escapeForMigration, escapeString, excludeInnerToCode, excludeToCode, exhaustive, getCallerFilePath, getClonedQueryData, getColumnBaseType, getColumnTypes, getDateAsDateFn, getDateAsNumberFn, getDriverErrorCode, getForeignKeyTableInstance, getFreeAlias, getFreeSetAlias, getImportPath, getPrimaryKeys, getQueryAs, getQuerySchema, getShapeFromSelect, getSqlText, getStackTrace, getSupportedDefaultPrivileges, indexInnerToCode, indexToCode, internalSchemaConfig, isExpression, isQueryReturnsAll, isRawSQL, logColors, logParamToLogObject, makeColumnNullable, makeColumnTypes, makeColumnsByType, makeConnectRetryConfig, noop, objectHasValues, omit, parseTableData, parseTableDataInput, pathToLog, pick, pluralize, prepareSubQueryForSql, primaryKeyInnerToCode, pushQueryOnForOuter, pushQueryValueImmutable, pushTableDataCode, queryToSql, quoteIdentifier, quoteObjectKey, quoteTableWithSchema, raw, rawSqlToCode, rawSqlToSql, referencesArgsToCode, returnArg, setColumnData, setColumnEncode, setColumnParse, setColumnParseNull, setCurrentColumnName, setDataValue, setDefaultLanguage, setFreeAlias, setQueryObjectValueImmutable, singleQuote, sqlToRawSql, tableDataMethods, toArray, toCamelCase, toPascalCase, toSnakeCase, wrapAdapterFnWithConnectRetry };
|
|
6166
|
+
export { AdapterClass, ArrayColumn, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BoxColumn, ByteaColumn, CannotMutateReadOnlyTableError, CidrColumn, CircleColumn, CitextColumn, Column, CustomTypeColumn, DateColumn, DecimalColumn, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, Expression, InetColumn, IntegerColumn, IntervalColumn, JSONColumn, JSONTextColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MoneyColumn, Operators, OrchidOrmError, PathColumn, PointColumn, PolygonColumn, PostgisGeographyPointColumn, QueryHookUtils, QueryHooks, RawSql, RealColumn, SerialColumn, SmallIntColumn, SmallSerialColumn, StringColumn, TextColumn, TimeColumn, TimestampColumn, TimestampTZColumn, TransactionAdapterClass, TsQueryColumn, TsVectorColumn, UUIDColumn, UnknownColumn, VarCharColumn, VirtualColumn, XMLColumn, _appendQuery, _appendQueryOnUpsertCreate, _clone, _createDbSqlMethod, _hookSelectColumns, _initQueryBuilder, _onUpsertUpdate, _orCreate, _prependWith, _prependWithOnUpsertCreate, _queryCreate, _queryCreateMany, _queryCreateManyFrom, _queryDefaults, _queryDelete, _queryFindBy, _queryFindByOptional, _queryHookAfterCreate, _queryHookAfterUpdate, _queryInsert, _queryInsertForEachFrom, _queryInsertMany, _queryInsertManyFrom, _queryJoinOn, _queryRows, _querySelect, _queryTake, _queryTakeOptional, _queryUpdate, _queryUpdateOrThrow, _queryUpsert, _queryWhere, _queryWhereExists, _queryWhereIn, addCode, addTopCte, addTopCteSql, applyMixins, assignDbDataToColumn, backtickQuote, cloneQueryBaseUnscoped, codeToString, colors, columnsShapeToCode, constraintInnerToCode, constraintToCode, consumeColumnName, deepCompare, defaultSchemaConfig, emptyArray, emptyObject, escapeForMigration, escapeString, excludeInnerToCode, excludeToCode, exhaustive, getCallerFilePath, getClonedQueryData, getColumnBaseType, getColumnTypes, getDateAsDateFn, getDateAsNumberFn, getDriverErrorCode, getForeignKeyTableInstance, getFreeAlias, getFreeSetAlias, getImportPath, getPrimaryKeys, getQueryAs, getQuerySchema, getShapeFromSelect, getSqlText, getStackTrace, getSupportedDefaultPrivileges, indexInnerToCode, indexToCode, internalSchemaConfig, isExpression, isQueryReturnsAll, isRawSQL, logColors, logParamToLogObject, makeColumnNullable, makeColumnTypes, makeColumnsByType, makeConnectRetryConfig, noop, objectHasValues, omit, parseTableData, parseTableDataInput, pathToLog, pick, pluralize, prepareSubQueryForSql, primaryKeyInnerToCode, pushQueryOnForOuter, pushQueryValueImmutable, pushTableDataCode, queryToSql, quoteIdentifier, quoteObjectKey, quoteTableWithSchema, raw, rawSqlToCode, rawSqlToSql, referencesArgsToCode, returnArg, setColumnData, setColumnEncode, setColumnParse, setColumnParseNull, setCurrentColumnName, setDataValue, setDefaultLanguage, setFreeAlias, setQueryObjectValueImmutable, singleQuote, sqlToRawSql, tableDataMethods, toArray, toCamelCase, toPascalCase, toSnakeCase, wrapAdapterFnWithConnectRetry };
|
|
6152
6167
|
|
|
6153
6168
|
//# sourceMappingURL=internal.mjs.map
|