pqb 0.67.4 → 0.67.6
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 +63 -18
- package/dist/index.js +64 -3
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +61 -4
- package/dist/index.mjs.map +1 -1
- package/dist/internal.d.ts +36 -15
- package/dist/internal.js +18 -0
- package/dist/internal.mjs +2 -2
- package/dist/postgres-js.js +1 -1
- package/dist/postgres-js.js.map +1 -1
- package/dist/postgres-js.mjs +1 -1
- package/dist/postgres-js.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.mjs
CHANGED
|
@@ -8010,12 +8010,12 @@ var FnExpression = class extends Expression {
|
|
|
8010
8010
|
if (options.distinct && !options.withinGroup) sql.push("DISTINCT ");
|
|
8011
8011
|
const q = this.q;
|
|
8012
8012
|
sql.push(this.args.map((arg) => {
|
|
8013
|
-
if (typeof arg === "string") return arg === "*" ? "*" :
|
|
8013
|
+
if (typeof arg === "string") return arg === "*" ? "*" : fnArgToSql(ctx, q, arg, quotedAs);
|
|
8014
8014
|
else if (arg instanceof Expression) return arg.toSQL(ctx, quotedAs);
|
|
8015
8015
|
else if ("pairs" in arg) {
|
|
8016
8016
|
const args = [];
|
|
8017
8017
|
const { pairs } = arg;
|
|
8018
|
-
for (const key in pairs) args.push(`${addValue(values, key)}::text, ${
|
|
8018
|
+
for (const key in pairs) args.push(`${addValue(values, key)}::text, ${fnArgToSql(ctx, q, pairs[key], quotedAs)}`);
|
|
8019
8019
|
return args.join(", ");
|
|
8020
8020
|
} else return addValue(values, arg.value);
|
|
8021
8021
|
}).join(", "));
|
|
@@ -8039,6 +8039,13 @@ var FnExpression = class extends Expression {
|
|
|
8039
8039
|
return sql.join("");
|
|
8040
8040
|
}
|
|
8041
8041
|
};
|
|
8042
|
+
const fnArgToSql = (ctx, data, arg, quotedAs) => {
|
|
8043
|
+
if (typeof arg === "string") {
|
|
8044
|
+
if (arg.endsWith(".*") || data.valuesJoinedAs?.[arg]) return columnToSql(ctx, data, data.shape, arg, quotedAs);
|
|
8045
|
+
return selectedColumnToSql(ctx, data, data.shape, arg, quotedAs);
|
|
8046
|
+
}
|
|
8047
|
+
return arg.toSQL(ctx, quotedAs);
|
|
8048
|
+
};
|
|
8042
8049
|
function makeFnExpression(self, type, fn, args, options) {
|
|
8043
8050
|
const q = extendQuery(self, type.operators);
|
|
8044
8051
|
q.baseQuery.type = ExpressionTypeMethod.prototype.type;
|
|
@@ -9835,6 +9842,34 @@ const getSqlText = (sql) => {
|
|
|
9835
9842
|
if ("text" in sql) return sql.text;
|
|
9836
9843
|
throw new Error(`Batch SQL is not supported in this query`);
|
|
9837
9844
|
};
|
|
9845
|
+
const queryToSql = (query) => {
|
|
9846
|
+
const sql = query.toSQL();
|
|
9847
|
+
if ("batch" in sql) throw new OrchidOrmInternalError(query, "Batch SQL is not supported in query definitions");
|
|
9848
|
+
return sql;
|
|
9849
|
+
};
|
|
9850
|
+
const rawSqlToSql = (sql) => {
|
|
9851
|
+
if (typeof sql === "string") return { text: sql };
|
|
9852
|
+
const values = [];
|
|
9853
|
+
return {
|
|
9854
|
+
text: sql.toSQL({ values }),
|
|
9855
|
+
values
|
|
9856
|
+
};
|
|
9857
|
+
};
|
|
9858
|
+
const sqlToRawSql = (sql) => {
|
|
9859
|
+
const { values } = sql;
|
|
9860
|
+
if (!values?.length) return raw({ raw: sql.text });
|
|
9861
|
+
const rawValues = {};
|
|
9862
|
+
for (let i = 0; i < values.length; i++) rawValues[`queryValue${i + 1}`] = values[i];
|
|
9863
|
+
return raw({ raw: replaceSqlPlaceholders(sql.text, values.length) }).values(rawValues);
|
|
9864
|
+
};
|
|
9865
|
+
const replaceSqlPlaceholders = (sql, valuesCount) => {
|
|
9866
|
+
const parts = sql.split("'");
|
|
9867
|
+
for (let i = 0; i < parts.length; i += 2) parts[i] = parts[i].replace(/\$(\d+)/g, (match, index) => {
|
|
9868
|
+
const number = Number(index);
|
|
9869
|
+
return number > 0 && number <= valuesCount ? `$queryValue${number}` : match;
|
|
9870
|
+
});
|
|
9871
|
+
return parts.join("'");
|
|
9872
|
+
};
|
|
9838
9873
|
var QuerySql = class {
|
|
9839
9874
|
sql(...args) {
|
|
9840
9875
|
const sql = raw(...args);
|
|
@@ -12543,6 +12578,25 @@ function getSupportedDefaultPrivileges(version) {
|
|
|
12543
12578
|
supportedPrivilegesCache.set(version, result);
|
|
12544
12579
|
return result;
|
|
12545
12580
|
}
|
|
12581
|
+
const makeRefreshMaterializedViewSql = (query, options) => {
|
|
12582
|
+
if (options?.concurrently && options.withData === false) throw new Error("Cannot refresh a materialized view concurrently with WITH NO DATA");
|
|
12583
|
+
const sql = ["REFRESH MATERIALIZED VIEW"];
|
|
12584
|
+
if (options?.concurrently) sql.push("CONCURRENTLY");
|
|
12585
|
+
sql.push(quoteTableWithSchema(query));
|
|
12586
|
+
if (options?.withData === true) sql.push("WITH DATA");
|
|
12587
|
+
else if (options?.withData === false) sql.push("WITH NO DATA");
|
|
12588
|
+
return {
|
|
12589
|
+
text: sql.join(" "),
|
|
12590
|
+
values: []
|
|
12591
|
+
};
|
|
12592
|
+
};
|
|
12593
|
+
/**
|
|
12594
|
+
* Refresh a materialized view.
|
|
12595
|
+
*/
|
|
12596
|
+
const refreshMaterializedView = async (query, options) => {
|
|
12597
|
+
const sql = makeRefreshMaterializedViewSql(query, options);
|
|
12598
|
+
await (query.internal.asyncStorage.getStore()?.transactionAdapter || query.q.adapter).query(sql.text, sql.values);
|
|
12599
|
+
};
|
|
12546
12600
|
var QueryJsonMethods = class {
|
|
12547
12601
|
/**
|
|
12548
12602
|
* Wraps the query in a way to select a single JSON string.
|
|
@@ -13801,7 +13855,7 @@ const performQuery = async (q, args, method) => {
|
|
|
13801
13855
|
}
|
|
13802
13856
|
};
|
|
13803
13857
|
var Db = class extends QueryMethods {
|
|
13804
|
-
constructor(adapterNotInTransaction, qb, table = void 0, shape, columnTypes, asyncStorage, options, tableData = {}) {
|
|
13858
|
+
constructor(adapterNotInTransaction, qb, table = void 0, shape, columnTypes, asyncStorage, options, tableData = {}, viewData) {
|
|
13805
13859
|
super();
|
|
13806
13860
|
this.adapterNotInTransaction = adapterNotInTransaction;
|
|
13807
13861
|
this.qb = qb;
|
|
@@ -13867,7 +13921,10 @@ var Db = class extends QueryMethods {
|
|
|
13867
13921
|
noPrimaryKey: options.noPrimaryKey === "ignore",
|
|
13868
13922
|
comment: options.comment,
|
|
13869
13923
|
readOnly: options.readOnly,
|
|
13924
|
+
materialized: options.materialized,
|
|
13925
|
+
generatorIgnored: options.generatorIgnore,
|
|
13870
13926
|
nowSQL: options.nowSQL,
|
|
13927
|
+
viewData,
|
|
13871
13928
|
tableData,
|
|
13872
13929
|
selectAllCount
|
|
13873
13930
|
};
|
|
@@ -14398,6 +14455,6 @@ const testTransaction = {
|
|
|
14398
14455
|
if (db.internal[trxForTest]?.length === 0) return db.q.adapter.close();
|
|
14399
14456
|
}
|
|
14400
14457
|
};
|
|
14401
|
-
export { AdapterClass, ArrayColumn, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BoxColumn, ByteaColumn, CidrColumn, CircleColumn, CitextColumn, Column, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DecimalColumn, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, Expression, InetColumn, IntegerBaseColumn, IntegerColumn, IntervalColumn, JSONColumn, JSONTextColumn, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MoneyColumn, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, Operators, OrchidOrmInternalError, PathColumn, PointColumn, PolygonColumn, PostgisGeographyPointColumn, QueryError, QueryHookUtils, QueryHooks, RawSql, RealColumn, SerialColumn, SmallIntColumn, SmallSerialColumn, StringColumn, TextBaseColumn, TextColumn, TimeColumn, TimestampColumn, TimestampTZColumn, TransactionAdapterClass, TsQueryColumn, TsVectorColumn, UUIDColumn, UnknownColumn, VarCharColumn, VirtualColumn, XMLColumn, _appendQuery, _appendQueryOnUpsertCreate, _clone, _createDbSqlMethod, _hookSelectColumns, _initQueryBuilder, _orCreate, _prependWith, _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, consumeColumnName, copyTableData, createDbWithAdapter, deepCompare, defaultSchemaConfig, emptyArray, emptyObject, escapeForMigration, escapeString, excludeInnerToCode, exhaustive, getCallerFilePath, getClonedQueryData, getColumnBaseType, getColumnInfo, getColumnTypes, getDateAsDateFn, getDateAsNumberFn, getDriverErrorCode, getFreeAlias, getFreeSetAlias, getImportPath, getPrimaryKeys, getQueryAs, getQuerySchema, getShapeFromSelect, getSqlText, getStackTrace, getSupportedDefaultPrivileges, indexInnerToCode, internalSchemaConfig, isExpression, isQueryReturnsAll, isRawSQL, logColors, logParamToLogObject, makeColumnNullable, makeColumnTypes, makeColumnsByType, makeConnectRetryConfig, noop, objectHasValues, omit, parseTableData, parseTableDataInput, pathToLog, pick, pluralize, prepareSubQueryForSql, primaryKeyInnerToCode, pushQueryOnForOuter, pushQueryValueImmutable, pushTableDataCode, quoteIdentifier, quoteObjectKey, quoteTableWithSchema, raw, rawSqlToCode, referencesArgsToCode, returnArg, setColumnData, setColumnEncode, setColumnParse, setColumnParseNull, setCurrentColumnName, setDataValue, setDefaultLanguage, setFreeAlias, setQueryObjectValueImmutable, singleQuote, tableDataMethods, testTransaction, toArray, toCamelCase, toPascalCase, toSnakeCase, wrapAdapterFnWithConnectRetry };
|
|
14458
|
+
export { AdapterClass, ArrayColumn, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BoxColumn, ByteaColumn, CidrColumn, CircleColumn, CitextColumn, Column, CustomTypeColumn, DateBaseColumn, DateColumn, DateTimeBaseClass, DateTimeTzBaseClass, Db, DecimalColumn, DomainColumn, DoublePrecisionColumn, DynamicRawSQL, EnumColumn, Expression, InetColumn, IntegerBaseColumn, IntegerColumn, IntervalColumn, JSONColumn, JSONTextColumn, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MoneyColumn, NotFoundError, NumberAsStringBaseColumn, NumberBaseColumn, Operators, OrchidOrmInternalError, PathColumn, PointColumn, PolygonColumn, PostgisGeographyPointColumn, QueryError, QueryHookUtils, QueryHooks, RawSql, RealColumn, SerialColumn, SmallIntColumn, SmallSerialColumn, StringColumn, TextBaseColumn, TextColumn, TimeColumn, TimestampColumn, TimestampTZColumn, TransactionAdapterClass, TsQueryColumn, TsVectorColumn, UUIDColumn, UnknownColumn, VarCharColumn, VirtualColumn, XMLColumn, _appendQuery, _appendQueryOnUpsertCreate, _clone, _createDbSqlMethod, _hookSelectColumns, _initQueryBuilder, _orCreate, _prependWith, _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, consumeColumnName, copyTableData, createDbWithAdapter, deepCompare, defaultSchemaConfig, emptyArray, emptyObject, escapeForMigration, escapeString, excludeInnerToCode, exhaustive, getCallerFilePath, getClonedQueryData, getColumnBaseType, getColumnInfo, getColumnTypes, getDateAsDateFn, getDateAsNumberFn, getDriverErrorCode, getFreeAlias, getFreeSetAlias, getImportPath, getPrimaryKeys, getQueryAs, getQuerySchema, getShapeFromSelect, getSqlText, getStackTrace, getSupportedDefaultPrivileges, indexInnerToCode, 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, refreshMaterializedView, returnArg, setColumnData, setColumnEncode, setColumnParse, setColumnParseNull, setCurrentColumnName, setDataValue, setDefaultLanguage, setFreeAlias, setQueryObjectValueImmutable, singleQuote, sqlToRawSql, tableDataMethods, testTransaction, toArray, toCamelCase, toPascalCase, toSnakeCase, wrapAdapterFnWithConnectRetry };
|
|
14402
14459
|
|
|
14403
14460
|
//# sourceMappingURL=index.mjs.map
|