pqb 0.9.2 → 0.9.3

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/CHANGELOG.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # pqb
2
2
 
3
+ ## 0.9.3
4
+
5
+ ### Patch Changes
6
+
7
+ - Change package.json exports for esm support
8
+
3
9
  ## 0.9.2
4
10
 
5
11
  ### Patch Changes
package/dist/index.d.ts CHANGED
@@ -4455,6 +4455,7 @@ declare const columnsByType: Record<string, new (...args: never[]) => ColumnType
4455
4455
 
4456
4456
  declare type Value = any;
4457
4457
  declare const quote: (value: Value) => string;
4458
+ declare const quoteString: (value: string) => string;
4458
4459
 
4459
4460
  declare const pushQueryArray: <T extends {
4460
4461
  query: QueryData;
@@ -4466,4 +4467,4 @@ declare const setQueryObjectValue: <T extends {
4466
4467
  query: QueryData;
4467
4468
  }>(q: T, object: string, key: string, value: unknown) => T;
4468
4469
 
4469
- export { Adapter, AdapterOptions, AddQueryJoinedTable, AddQuerySelect, AddQueryWith, AfterCallback, Aggregate, Aggregate1ArgumentTypes, AggregateArg, AggregateItem, AggregateItemArg, AggregateItemOptions, AggregateOptions, AliasOrTable, AnyColumnType, AnyColumnTypeCreator, ArrayCardinality, ArrayColumn, ArrayData, ArrayOfColumnsObjects, AssertArray, BaseNumberData, BaseRelation, BaseStringData, BeforeCallback, BelongsToRelation, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanExpression, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, Clear, ClearStatement, CoalesceString, Code, ColumnChain, ColumnData, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnInput, ColumnNameOfTable, ColumnOperators, ColumnOutput, ColumnParser, ColumnShapeInput, ColumnShapeOutput, ColumnType, ColumnTypes, ColumnTypesBase, ColumnsObject, ColumnsParsers, ColumnsShape, CommonQueryData, CopyOptions, CopyQueryData, Create, CreateCtx, CreateData, CreateMethodsNames, DateBaseColumn, DateColumn, DateColumnData, DateTimeBaseClass, DateTimeWithTimeZoneBaseClass, Db, DbOptions, DbTableOptions, DecimalBaseColumn, DecimalColumn, DeepPartial, DefaultSelectColumns, Delete, DeleteMethodsNames, DeleteQueryData, DoublePrecisionColumn, DropMode, EMPTY_OBJECT, EmptyObject, EnumColumn, EnumLike, Except, Expression, ExpressionOfType, ExpressionOutput, FilterTuple, For, ForeignKey, ForeignKeyOptions, ForeignKeyTable, ForeignKeyTableWithColumns, From, GetArg, HasAndBelongsToManyRelation, HasManyRelation, HasOneRelation, Having, HavingArg, HavingItem, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsEqual, JSONAny, JSONArray, JSONBigInt, JSONBoolean, JSONColumn, JSONDate, JSONDiscriminatedObject, JSONDiscriminatedUnion, JSONEnum, JSONInstanceOf, JSONIntersection, JSONLazy, JSONLiteral, JSONMap, JSONNaN, JSONNativeEnum, JSONNever, JSONNotNullable, JSONNotNullish, JSONNull, JSONNullable, JSONNullish, JSONNumber, JSONObject, JSONObjectShape, JSONOptional, JSONRecord, JSONRecordKeyType, JSONRequired, JSONSet, JSONString, JSONTextColumn, JSONTuple, JSONTupleItems, JSONType, JSONTypeAny, JSONTypeData, JSONTypes, JSONUndefined, JSONUnion, JSONUnknown, JSONVoid, Join, JoinArgs, JoinCallback, JoinCallbackArg, JoinItem, JoinedTablesBase, Json, JsonItem, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MaybeArray, Merge, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NullableColumn, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, NumberExpression, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operator, Operators, OrderArg, OrderItem, OutputTypeOfTuple, OutputTypeOfTupleWithRest, OwnTypeProps, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, PormError, PormInternalError, Primitive, Query, QueryArraysResult, QueryBase, QueryCallbacks, QueryData, QueryError, QueryErrorName, QueryGet, QueryInput, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryResultRow, QueryReturnType, QueryReturnsAll, QuerySelectAll, QueryThen, QueryUpsert, QueryWithTable, RawExpression, RawMethods, RealColumn, Relation, RelationQuery, RelationQueryBase, RelationQueryData, RelationsBase, Select, SelectAgg, SelectArg, SelectFunctionItem, SelectItem, SelectQueryData, Selectable, SelectableBase, SerialColumn, SetOptional, SetQueryJoinedTables, SetQueryReturns, SetQueryReturnsAll, SetQueryReturnsColumnInfo, SetQueryReturnsOne, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValue, SetQueryReturnsValueOptional, SetQueryReturnsVoid, SetQueryTableAlias, SetQueryWindows, SetQueryWith, SimpleSpread, SingleColumnIndexOptions, SinglePrimaryKey, SmallIntColumn, SmallSerialColumn, SomeIsTrue, SortDir, Spread, Sql, StringColumn, StringExpression, StringKey, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, ThenResult, TimeColumn, TimeInterval, TimeWithTimeZoneColumn, TimestampColumn, TimestampWithTimeZoneColumn, ToSqlCtx, ToSqlOptions, Transaction, TransactionAdapter, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnknownKeysParam, Update, UpdateCtx, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdatedAtDataInjector, UpsertData, UpsertResult, UpsertThis, ValidationContext, VarCharColumn, VirtualColumn, Where, WhereArg, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowFunctionOptions, WindowItem, With, WithDataBase, WithDataItem, WithItem, WithOptions, XMLColumn, addCode, addOr, addOrNot, addParserForRawExpression, addParserForSelectItem, addParserToQuery, addQueryOn, addQueryOrOn, addQuestionMarks, addWhere, addWhereIn, addWhereNot, aggregate1FunctionNames, anyShape, applyMixins, array, arrayToEnum, baseObjectOutputType, checkIfASimpleQuery, cloneQueryArrays, codeToString, columnChainToCode, columnCode, columnDefaultArgumentToCode, columnForeignKeysToCode, columnIndexesToCode, columnTypes, utils as columnUtils, columnsByType, columnsShapeToCode, constructType, createDb, createOperator, defaultsKey, discriminatedUnion, emptyObject, enumType, flatten, foreignKeyArgumentToCode, foreignKeyToCode, getClonedQueryData, getColumnTypes, getQueryAs, getQueryParsers, getRaw, getRawSql, getTableData, getValidEnumValues, getValueKey, handleResult, identity, indexToCode, instanceOf, instantiateColumn, intersection, isQueryReturnsAll, isRaw, isRequiredRelationKey, joinTruthy, jsonTypes, lazy, literal, logColors, logParamToLogObject, makeRegexToFindInSql, makeSql, map, nativeEnum, newTableData, noop, notNullable, notNullish, nullable, nullish, object, optional, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushOrNewArray, pushOrNewArrayToObject, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryMethodByReturnType, queryTypeWithLimitOne, quote, quoteObjectKey, raw, record, relationQueryKey, required, resetTableData, scalarTypes, set, setQueryObjectValue, singleQuote, singleQuoteArray, toArray, toCode, toSql, toSqlCacheKey, tuple, union };
4470
+ export { Adapter, AdapterOptions, AddQueryJoinedTable, AddQuerySelect, AddQueryWith, AfterCallback, Aggregate, Aggregate1ArgumentTypes, AggregateArg, AggregateItem, AggregateItemArg, AggregateItemOptions, AggregateOptions, AliasOrTable, AnyColumnType, AnyColumnTypeCreator, ArrayCardinality, ArrayColumn, ArrayData, ArrayOfColumnsObjects, AssertArray, BaseNumberData, BaseRelation, BaseStringData, BeforeCallback, BelongsToRelation, BigIntColumn, BigSerialColumn, BitColumn, BitVaryingColumn, BooleanColumn, BooleanExpression, BoxColumn, ByteaColumn, CharColumn, CidrColumn, CircleColumn, Clear, ClearStatement, CoalesceString, Code, ColumnChain, ColumnData, ColumnFromDbParams, ColumnInfo, ColumnInfoMethods, ColumnInfoQueryData, ColumnInput, ColumnNameOfTable, ColumnOperators, ColumnOutput, ColumnParser, ColumnShapeInput, ColumnShapeOutput, ColumnType, ColumnTypes, ColumnTypesBase, ColumnsObject, ColumnsParsers, ColumnsShape, CommonQueryData, CopyOptions, CopyQueryData, Create, CreateCtx, CreateData, CreateMethodsNames, DateBaseColumn, DateColumn, DateColumnData, DateTimeBaseClass, DateTimeWithTimeZoneBaseClass, Db, DbOptions, DbTableOptions, DecimalBaseColumn, DecimalColumn, DeepPartial, DefaultSelectColumns, Delete, DeleteMethodsNames, DeleteQueryData, DoublePrecisionColumn, DropMode, EMPTY_OBJECT, EmptyObject, EnumColumn, EnumLike, Except, Expression, ExpressionOfType, ExpressionOutput, FilterTuple, For, ForeignKey, ForeignKeyOptions, ForeignKeyTable, ForeignKeyTableWithColumns, From, GetArg, HasAndBelongsToManyRelation, HasManyRelation, HasOneRelation, Having, HavingArg, HavingItem, IndexColumnOptions, IndexOptions, InetColumn, InsertQueryData, IntegerBaseColumn, IntegerColumn, IntervalColumn, IsEqual, JSONAny, JSONArray, JSONBigInt, JSONBoolean, JSONColumn, JSONDate, JSONDiscriminatedObject, JSONDiscriminatedUnion, JSONEnum, JSONInstanceOf, JSONIntersection, JSONLazy, JSONLiteral, JSONMap, JSONNaN, JSONNativeEnum, JSONNever, JSONNotNullable, JSONNotNullish, JSONNull, JSONNullable, JSONNullish, JSONNumber, JSONObject, JSONObjectShape, JSONOptional, JSONRecord, JSONRecordKeyType, JSONRequired, JSONSet, JSONString, JSONTextColumn, JSONTuple, JSONTupleItems, JSONType, JSONTypeAny, JSONTypeData, JSONTypes, JSONUndefined, JSONUnion, JSONUnknown, JSONVoid, Join, JoinArgs, JoinCallback, JoinCallbackArg, JoinItem, JoinedTablesBase, Json, JsonItem, LimitedTextBaseColumn, LineColumn, LsegColumn, MacAddr8Column, MacAddrColumn, MaybeArray, Merge, MergeQuery, MergeQueryMethods, MoneyColumn, MoreThanOneRowError, NoPrimaryKeyOption, NotFoundError, NullableColumn, NumberAsStringBaseColumn, NumberBaseColumn, NumberColumn, NumberColumnData, NumberExpression, OnConflictItem, OnConflictMergeUpdate, OnConflictQueryBuilder, OnQueryBuilder, Operator, Operators, OrderArg, OrderItem, OutputTypeOfTuple, OutputTypeOfTupleWithRest, OwnTypeProps, PathColumn, PluckResultColumnType, PointColumn, PolygonColumn, PormError, PormInternalError, Primitive, Query, QueryArraysResult, QueryBase, QueryCallbacks, QueryData, QueryError, QueryErrorName, QueryGet, QueryInput, QueryLog, QueryLogObject, QueryLogOptions, QueryLogger, QueryMethods, QueryResult, QueryResultRow, QueryReturnType, QueryReturnsAll, QuerySelectAll, QueryThen, QueryUpsert, QueryWithTable, RawExpression, RawMethods, RealColumn, Relation, RelationQuery, RelationQueryBase, RelationQueryData, RelationsBase, Select, SelectAgg, SelectArg, SelectFunctionItem, SelectItem, SelectQueryData, Selectable, SelectableBase, SerialColumn, SetOptional, SetQueryJoinedTables, SetQueryReturns, SetQueryReturnsAll, SetQueryReturnsColumnInfo, SetQueryReturnsOne, SetQueryReturnsOneOptional, SetQueryReturnsPluck, SetQueryReturnsRowCount, SetQueryReturnsRows, SetQueryReturnsValue, SetQueryReturnsValueOptional, SetQueryReturnsVoid, SetQueryTableAlias, SetQueryWindows, SetQueryWith, SimpleSpread, SingleColumnIndexOptions, SinglePrimaryKey, SmallIntColumn, SmallSerialColumn, SomeIsTrue, SortDir, Spread, Sql, StringColumn, StringExpression, StringKey, TableData, TextBaseColumn, TextColumn, TextColumnData, Then, ThenResult, TimeColumn, TimeInterval, TimeWithTimeZoneColumn, TimestampColumn, TimestampWithTimeZoneColumn, ToSqlCtx, ToSqlOptions, Transaction, TransactionAdapter, TruncateQueryData, TsQueryColumn, TsVectorColumn, TypeParsers, UUIDColumn, UnhandledTypeError, Union, UnionArg, UnionItem, UnionKind, UnknownKeysParam, Update, UpdateCtx, UpdateData, UpdateQueryData, UpdateQueryDataItem, UpdateQueryDataObject, UpdatedAtDataInjector, UpsertData, UpsertResult, UpsertThis, ValidationContext, VarCharColumn, VirtualColumn, Where, WhereArg, WhereInArg, WhereInColumn, WhereInItem, WhereInValues, WhereItem, WhereJsonPathEqualsItem, WhereOnItem, WhereOnJoinItem, WhereQueryBuilder, WhereResult, WindowArg, WindowArgDeclaration, WindowDeclaration, WindowFunctionOptions, WindowItem, With, WithDataBase, WithDataItem, WithItem, WithOptions, XMLColumn, addCode, addOr, addOrNot, addParserForRawExpression, addParserForSelectItem, addParserToQuery, addQueryOn, addQueryOrOn, addQuestionMarks, addWhere, addWhereIn, addWhereNot, aggregate1FunctionNames, anyShape, applyMixins, array, arrayToEnum, baseObjectOutputType, checkIfASimpleQuery, cloneQueryArrays, codeToString, columnChainToCode, columnCode, columnDefaultArgumentToCode, columnForeignKeysToCode, columnIndexesToCode, columnTypes, utils as columnUtils, columnsByType, columnsShapeToCode, constructType, createDb, createOperator, defaultsKey, discriminatedUnion, emptyObject, enumType, flatten, foreignKeyArgumentToCode, foreignKeyToCode, getClonedQueryData, getColumnTypes, getQueryAs, getQueryParsers, getRaw, getRawSql, getTableData, getValidEnumValues, getValueKey, handleResult, identity, indexToCode, instanceOf, instantiateColumn, intersection, isQueryReturnsAll, isRaw, isRequiredRelationKey, joinTruthy, jsonTypes, lazy, literal, logColors, logParamToLogObject, makeRegexToFindInSql, makeSql, map, nativeEnum, newTableData, noop, notNullable, notNullish, nullable, nullish, object, optional, parseRecord, parseResult, primaryKeyToCode, processSelectArg, pushOrNewArray, pushOrNewArrayToObject, pushQueryArray, pushQueryOn, pushQueryOrOn, pushQueryValue, queryMethodByReturnType, queryTypeWithLimitOne, quote, quoteObjectKey, quoteString, raw, record, relationQueryKey, required, resetTableData, scalarTypes, set, setQueryObjectValue, singleQuote, singleQuoteArray, toArray, toCode, toSql, toSqlCacheKey, tuple, union };
package/dist/index.js CHANGED
@@ -505,44 +505,6 @@ class UnhandledTypeError extends PormInternalError {
505
505
  }
506
506
  }
507
507
 
508
- const singleQuoteRegex = /'/g;
509
- const doubleQuoteRegex = /"/g;
510
- const quoteValue$1 = (value) => {
511
- const type = typeof value;
512
- if (type === "number")
513
- return String(value);
514
- else if (type === "string")
515
- return `"${value.replace(doubleQuoteRegex, '\\"').replace(singleQuoteRegex, "''")}"`;
516
- else if (type === "boolean")
517
- return value ? "true" : "false";
518
- else if (value instanceof Date)
519
- return `"${value.toISOString()}"`;
520
- else if (Array.isArray(value))
521
- return quoteArray(value);
522
- else if (type === null || type === void 0)
523
- return "NULL";
524
- else
525
- return `"${JSON.stringify(value).replace(doubleQuoteRegex, '\\"').replace(singleQuoteRegex, "''")}"`;
526
- };
527
- const quoteArray = (array) => `'{${array.map(quoteValue$1).join(",")}}'`;
528
- const quote = (value) => {
529
- const type = typeof value;
530
- if (type === "number")
531
- return `${value}`;
532
- else if (type === "string")
533
- return `'${value.replace(singleQuoteRegex, "''")}'`;
534
- else if (type === "boolean")
535
- return value ? "true" : "false";
536
- else if (value instanceof Date)
537
- return `'${value.toISOString()}'`;
538
- else if (Array.isArray(value))
539
- return quoteArray(value);
540
- else if (value === null || value === void 0)
541
- return "NULL";
542
- else
543
- return `'${JSON.stringify(value).replace(singleQuoteRegex, "''")}'`;
544
- };
545
-
546
508
  const relationQueryKey = Symbol("relationQuery");
547
509
  const isRequiredRelationKey = Symbol("isRequiredRelation");
548
510
 
@@ -673,7 +635,13 @@ const pushSubQuerySql = (query, as, values, list) => {
673
635
  let subQuerySql = `(${makeSql(query, { values }).text})`;
674
636
  const { coalesceValue } = query.query;
675
637
  if (coalesceValue !== void 0) {
676
- const value = typeof coalesceValue === "object" && coalesceValue && isRaw(coalesceValue) ? getRaw(coalesceValue, values) : quote(coalesceValue);
638
+ let value;
639
+ if (typeof coalesceValue === "object" && coalesceValue && isRaw(coalesceValue)) {
640
+ value = getRaw(coalesceValue, values);
641
+ } else {
642
+ values.push(coalesceValue);
643
+ value = `$${values.length}`;
644
+ }
677
645
  subQuerySql = `COALESCE(${subQuerySql}, ${value})`;
678
646
  }
679
647
  list.push(`${subQuerySql} AS ${q(as)}`);
@@ -1042,13 +1010,54 @@ const pushColumnInfoSql = (ctx, table, query) => {
1042
1010
  }
1043
1011
  };
1044
1012
 
1013
+ const singleQuoteRegex = /'/g;
1014
+ const doubleQuoteRegex = /"/g;
1015
+ const quoteValue$1 = (value) => {
1016
+ const type = typeof value;
1017
+ if (type === "number")
1018
+ return String(value);
1019
+ else if (type === "string")
1020
+ return `"${value.replace(doubleQuoteRegex, '\\"').replace(singleQuoteRegex, "''")}"`;
1021
+ else if (type === "boolean")
1022
+ return value ? "true" : "false";
1023
+ else if (value instanceof Date)
1024
+ return `"${value.toISOString()}"`;
1025
+ else if (Array.isArray(value))
1026
+ return quoteArray(value);
1027
+ else if (value === null || value === void 0)
1028
+ return "NULL";
1029
+ else
1030
+ return `"${JSON.stringify(value).replace(doubleQuoteRegex, '\\"').replace(singleQuoteRegex, "''")}"`;
1031
+ };
1032
+ const quoteArray = (array) => `'{${array.map(quoteValue$1).join(",")}}'`;
1033
+ const quote = (value) => {
1034
+ const type = typeof value;
1035
+ if (type === "number")
1036
+ return `${value}`;
1037
+ else if (type === "string")
1038
+ return quoteString(value);
1039
+ else if (type === "boolean")
1040
+ return value ? "true" : "false";
1041
+ else if (value instanceof Date)
1042
+ return `'${value.toISOString()}'`;
1043
+ else if (Array.isArray(value))
1044
+ return quoteArray(value);
1045
+ else if (value === null || value === void 0)
1046
+ return "NULL";
1047
+ else
1048
+ return `'${JSON.stringify(value).replace(singleQuoteRegex, "''")}'`;
1049
+ };
1050
+ const quoteString = (value) => {
1051
+ return `'${value.replace(singleQuoteRegex, "''")}'`;
1052
+ };
1053
+
1045
1054
  const pushCopySql = (ctx, table, query, quotedAs) => {
1046
1055
  const { sql } = ctx;
1047
1056
  const { copy } = query;
1048
1057
  const columns = copy.columns ? `(${copy.columns.map(q).join(", ")})` : "";
1049
1058
  const target = "from" in copy ? copy.from : copy.to;
1050
1059
  sql.push(
1051
- `COPY ${q(table.table)}${columns} ${"from" in copy ? "FROM" : "TO"} ${typeof target === "string" ? quote(target) : `PROGRAM ${quote(target.program)}`}`
1060
+ `COPY ${q(table.table)}${columns} ${"from" in copy ? "FROM" : "TO"} ${typeof target === "string" ? quoteString(target) : `PROGRAM ${quoteString(target.program)}`}`
1052
1061
  );
1053
1062
  if (Object.keys(copy).length > (copy.columns ? 2 : 1)) {
1054
1063
  const options = [];
@@ -1057,15 +1066,15 @@ const pushCopySql = (ctx, table, query, quotedAs) => {
1057
1066
  if (copy.freeze)
1058
1067
  options.push(`FREEZE ${copy.freeze}`);
1059
1068
  if (copy.delimiter)
1060
- options.push(`DELIMITER ${quote(copy.delimiter)}`);
1069
+ options.push(`DELIMITER ${quoteString(copy.delimiter)}`);
1061
1070
  if (copy.null)
1062
- options.push(`NULL ${quote(copy.null)}`);
1071
+ options.push(`NULL ${quoteString(copy.null)}`);
1063
1072
  if (copy.header)
1064
1073
  options.push(`HEADER ${copy.header}`);
1065
1074
  if (copy.quote)
1066
- options.push(`QUOTE ${quote(copy.quote)}`);
1075
+ options.push(`QUOTE ${quoteString(copy.quote)}`);
1067
1076
  if (copy.escape)
1068
- options.push(`ESCAPE ${quote(copy.escape)}`);
1077
+ options.push(`ESCAPE ${quoteString(copy.escape)}`);
1069
1078
  if (copy.forceQuote)
1070
1079
  options.push(
1071
1080
  `FORCE_QUOTE ${copy.forceQuote === "*" ? "*" : `(${copy.forceQuote.map(q).join(", ")})`}`
@@ -1075,7 +1084,7 @@ const pushCopySql = (ctx, table, query, quotedAs) => {
1075
1084
  if (copy.forceNull)
1076
1085
  options.push(`FORCE_NULL (${copy.forceNull.map(q).join(", ")})`);
1077
1086
  if (copy.encoding)
1078
- options.push(`ENCODING ${quote(copy.encoding)}`);
1087
+ options.push(`ENCODING ${quoteString(copy.encoding)}`);
1079
1088
  sql.push(`WITH (${options.join(", ")})`);
1080
1089
  }
1081
1090
  pushWhereStatementSql(ctx, table, query, quotedAs);
@@ -1595,9 +1604,11 @@ const all = {
1595
1604
  )}`
1596
1605
  ),
1597
1606
  jsonPath: () => createOperator(
1598
- (key, [path, op, value], values) => `jsonb_path_query_first(${key}, ${quote(
1599
- path
1600
- )}) #>> '{}' ${op} ${quoteValue(value, values, true)}`
1607
+ (key, [path, op, value], values) => `jsonb_path_query_first(${key}, '${path}') #>> '{}' ${op} ${quoteValue(
1608
+ value,
1609
+ values,
1610
+ true
1611
+ )}`
1601
1612
  ),
1602
1613
  jsonSupersetOf: () => createOperator(
1603
1614
  (key, value, values) => `${key} @> ${quoteValue(value, values, true)}`
@@ -6882,6 +6893,7 @@ exports.queryMethodByReturnType = queryMethodByReturnType;
6882
6893
  exports.queryTypeWithLimitOne = queryTypeWithLimitOne;
6883
6894
  exports.quote = quote;
6884
6895
  exports.quoteObjectKey = quoteObjectKey;
6896
+ exports.quoteString = quoteString;
6885
6897
  exports.raw = raw;
6886
6898
  exports.record = record;
6887
6899
  exports.relationQueryKey = relationQueryKey;