@powersync/service-jpgwire 0.19.0 → 0.20.1
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/pgwire_types.d.ts +21 -1
- package/dist/pgwire_types.js +120 -158
- package/dist/pgwire_types.js.map +1 -1
- package/dist/socket_adapter.js +20 -17
- package/dist/socket_adapter.js.map +1 -1
- package/dist/util.d.ts +3 -1
- package/dist/util.js +2 -2
- package/dist/util.js.map +1 -1
- package/package.json +1 -1
package/dist/pgwire_types.d.ts
CHANGED
|
@@ -1,6 +1,26 @@
|
|
|
1
|
+
export declare enum PgTypeOid {
|
|
2
|
+
TEXT = 25,
|
|
3
|
+
UUID = 2950,
|
|
4
|
+
VARCHAR = 1043,
|
|
5
|
+
BOOL = 16,
|
|
6
|
+
BYTEA = 17,
|
|
7
|
+
INT2 = 21,
|
|
8
|
+
INT4 = 23,
|
|
9
|
+
OID = 26,
|
|
10
|
+
INT8 = 20,
|
|
11
|
+
FLOAT4 = 700,
|
|
12
|
+
FLOAT8 = 701,
|
|
13
|
+
DATE = 1082,
|
|
14
|
+
TIMESTAMP = 1114,
|
|
15
|
+
TIMESTAMPTZ = 1184,
|
|
16
|
+
JSON = 114,
|
|
17
|
+
JSONB = 3802,
|
|
18
|
+
PG_LSN = 3220
|
|
19
|
+
}
|
|
1
20
|
export declare class PgType {
|
|
21
|
+
static getArrayType(typeOid: number): number | undefined;
|
|
2
22
|
static decode(text: string, typeOid: number): any;
|
|
3
|
-
static _elemTypeOid(arrayTypeOid: number):
|
|
23
|
+
static _elemTypeOid(arrayTypeOid: number): number | undefined;
|
|
4
24
|
static _decodeArray(text: string, elemTypeOid: number): any;
|
|
5
25
|
static _decodeBytea(text: string): Uint8Array;
|
|
6
26
|
static _encodeBytea(bytes: Uint8Array): string;
|
package/dist/pgwire_types.js
CHANGED
|
@@ -1,184 +1,146 @@
|
|
|
1
1
|
// Adapted from https://github.com/kagis/pgwire/blob/0dc927f9f8990a903f238737326e53ba1c8d094f/mod.js#L2218
|
|
2
2
|
import { JsonContainer } from '@powersync/service-jsonbig';
|
|
3
3
|
import { dateToSqlite, lsnMakeComparable, timestampToSqlite, timestamptzToSqlite } from './util.js';
|
|
4
|
+
export var PgTypeOid;
|
|
5
|
+
(function (PgTypeOid) {
|
|
6
|
+
PgTypeOid[PgTypeOid["TEXT"] = 25] = "TEXT";
|
|
7
|
+
PgTypeOid[PgTypeOid["UUID"] = 2950] = "UUID";
|
|
8
|
+
PgTypeOid[PgTypeOid["VARCHAR"] = 1043] = "VARCHAR";
|
|
9
|
+
PgTypeOid[PgTypeOid["BOOL"] = 16] = "BOOL";
|
|
10
|
+
PgTypeOid[PgTypeOid["BYTEA"] = 17] = "BYTEA";
|
|
11
|
+
PgTypeOid[PgTypeOid["INT2"] = 21] = "INT2";
|
|
12
|
+
PgTypeOid[PgTypeOid["INT4"] = 23] = "INT4";
|
|
13
|
+
PgTypeOid[PgTypeOid["OID"] = 26] = "OID";
|
|
14
|
+
PgTypeOid[PgTypeOid["INT8"] = 20] = "INT8";
|
|
15
|
+
PgTypeOid[PgTypeOid["FLOAT4"] = 700] = "FLOAT4";
|
|
16
|
+
PgTypeOid[PgTypeOid["FLOAT8"] = 701] = "FLOAT8";
|
|
17
|
+
PgTypeOid[PgTypeOid["DATE"] = 1082] = "DATE";
|
|
18
|
+
PgTypeOid[PgTypeOid["TIMESTAMP"] = 1114] = "TIMESTAMP";
|
|
19
|
+
PgTypeOid[PgTypeOid["TIMESTAMPTZ"] = 1184] = "TIMESTAMPTZ";
|
|
20
|
+
PgTypeOid[PgTypeOid["JSON"] = 114] = "JSON";
|
|
21
|
+
PgTypeOid[PgTypeOid["JSONB"] = 3802] = "JSONB";
|
|
22
|
+
PgTypeOid[PgTypeOid["PG_LSN"] = 3220] = "PG_LSN";
|
|
23
|
+
})(PgTypeOid || (PgTypeOid = {}));
|
|
24
|
+
// Generate using:
|
|
25
|
+
// select '[' || typarray || ', ' || oid || '], // ' || typname from pg_catalog.pg_type WHERE typarray != 0;
|
|
26
|
+
const ARRAY_TO_ELEM_OID = new Map([
|
|
27
|
+
[1000, 16], // bool
|
|
28
|
+
[1001, 17], // bytea
|
|
29
|
+
[1002, 18], // char
|
|
30
|
+
[1003, 19], // name
|
|
31
|
+
[1016, 20], // int8
|
|
32
|
+
[1005, 21], // int2
|
|
33
|
+
[1006, 22], // int2vector
|
|
34
|
+
[1007, 23], // int4
|
|
35
|
+
[1008, 24], // regproc
|
|
36
|
+
[1009, 25], // text
|
|
37
|
+
[1028, 26], // oid
|
|
38
|
+
[1010, 27], // tid
|
|
39
|
+
[1011, 28], // xid
|
|
40
|
+
[1012, 29], // cid
|
|
41
|
+
[1013, 30], // oidvector
|
|
42
|
+
[210, 71], // pg_type
|
|
43
|
+
[270, 75], // pg_attribute
|
|
44
|
+
[272, 81], // pg_proc
|
|
45
|
+
[273, 83], // pg_class
|
|
46
|
+
[199, 114], // json
|
|
47
|
+
[143, 142], // xml
|
|
48
|
+
[271, 5069], // xid8
|
|
49
|
+
[1017, 600], // point
|
|
50
|
+
[1018, 601], // lseg
|
|
51
|
+
[1019, 602], // path
|
|
52
|
+
[1020, 603], // box
|
|
53
|
+
[1027, 604], // polygon
|
|
54
|
+
[629, 628], // line
|
|
55
|
+
[1021, 700], // float4
|
|
56
|
+
[1022, 701], // float8
|
|
57
|
+
[0, 705], // unknown
|
|
58
|
+
[719, 718], // circle
|
|
59
|
+
[791, 790], // money
|
|
60
|
+
[1040, 829], // macaddr
|
|
61
|
+
[1041, 869], // inet
|
|
62
|
+
[651, 650], // cidr
|
|
63
|
+
[775, 774], // macaddr8
|
|
64
|
+
[1034, 1033], // aclitem
|
|
65
|
+
[1014, 1042], // bpchar
|
|
66
|
+
[1015, 1043], // varchar
|
|
67
|
+
[1182, 1082], // date
|
|
68
|
+
[1183, 1083], // time
|
|
69
|
+
[1115, 1114], // timestamp
|
|
70
|
+
[1185, 1184], // timestamptz
|
|
71
|
+
[1187, 1186], // interval
|
|
72
|
+
[1270, 1266], // timetz
|
|
73
|
+
[1561, 1560], // bit
|
|
74
|
+
[1563, 1562], // varbit
|
|
75
|
+
[1231, 1700], // numeric
|
|
76
|
+
[2201, 1790], // refcursor
|
|
77
|
+
[2207, 2202], // regprocedure
|
|
78
|
+
[2208, 2203], // regoper
|
|
79
|
+
[2209, 2204], // regoperator
|
|
80
|
+
[2210, 2205], // regclass
|
|
81
|
+
[4192, 4191], // regcollation
|
|
82
|
+
[2211, 2206], // regtype
|
|
83
|
+
[4097, 4096], // regrole
|
|
84
|
+
[4090, 4089], // regnamespace
|
|
85
|
+
[2951, 2950], // uuid
|
|
86
|
+
[3221, 3220], // pg_lsn
|
|
87
|
+
[3643, 3614], // tsvector
|
|
88
|
+
[3644, 3642], // gtsvector
|
|
89
|
+
[3645, 3615], // tsquery
|
|
90
|
+
[3735, 3734], // regconfig
|
|
91
|
+
[3770, 3769], // regdictionary
|
|
92
|
+
[3807, 3802], // jsonb
|
|
93
|
+
[4073, 4072] // jsonpath
|
|
94
|
+
]);
|
|
95
|
+
const ELEM_OID_TO_ARRAY = new Map();
|
|
96
|
+
ARRAY_TO_ELEM_OID.forEach((value, key) => {
|
|
97
|
+
ELEM_OID_TO_ARRAY.set(value, key);
|
|
98
|
+
});
|
|
4
99
|
export class PgType {
|
|
100
|
+
static getArrayType(typeOid) {
|
|
101
|
+
return ELEM_OID_TO_ARRAY.get(typeOid);
|
|
102
|
+
}
|
|
5
103
|
static decode(text, typeOid) {
|
|
6
|
-
switch (typeOid
|
|
7
|
-
|
|
8
|
-
case
|
|
9
|
-
case
|
|
10
|
-
case
|
|
104
|
+
switch (typeOid) {
|
|
105
|
+
// add line here when register new type
|
|
106
|
+
case PgTypeOid.TEXT:
|
|
107
|
+
case PgTypeOid.UUID:
|
|
108
|
+
case PgTypeOid.VARCHAR:
|
|
11
109
|
return text;
|
|
12
|
-
case
|
|
110
|
+
case PgTypeOid.BOOL:
|
|
13
111
|
return text == 't';
|
|
14
|
-
case
|
|
112
|
+
case PgTypeOid.BYTEA:
|
|
15
113
|
return this._decodeBytea(text);
|
|
16
|
-
case
|
|
17
|
-
case
|
|
18
|
-
case
|
|
19
|
-
case
|
|
114
|
+
case PgTypeOid.INT2:
|
|
115
|
+
case PgTypeOid.INT4:
|
|
116
|
+
case PgTypeOid.OID:
|
|
117
|
+
case PgTypeOid.INT8:
|
|
20
118
|
return BigInt(text);
|
|
21
|
-
case
|
|
22
|
-
case
|
|
119
|
+
case PgTypeOid.FLOAT4:
|
|
120
|
+
case PgTypeOid.FLOAT8:
|
|
23
121
|
return Number(text);
|
|
24
|
-
case
|
|
122
|
+
case PgTypeOid.DATE:
|
|
25
123
|
return dateToSqlite(text);
|
|
26
|
-
case
|
|
124
|
+
case PgTypeOid.TIMESTAMP:
|
|
27
125
|
return timestampToSqlite(text);
|
|
28
|
-
case
|
|
126
|
+
case PgTypeOid.TIMESTAMPTZ:
|
|
29
127
|
return timestamptzToSqlite(text);
|
|
30
|
-
case
|
|
31
|
-
case
|
|
128
|
+
case PgTypeOid.JSON:
|
|
129
|
+
case PgTypeOid.JSONB:
|
|
32
130
|
// Don't parse the contents
|
|
33
131
|
return new JsonContainer(text);
|
|
34
|
-
case
|
|
132
|
+
case PgTypeOid.PG_LSN:
|
|
35
133
|
return lsnMakeComparable(text);
|
|
36
134
|
}
|
|
37
135
|
const elemTypeid = this._elemTypeOid(typeOid);
|
|
38
|
-
if (elemTypeid) {
|
|
136
|
+
if (elemTypeid != null) {
|
|
39
137
|
return this._decodeArray(text, elemTypeid);
|
|
40
138
|
}
|
|
41
139
|
return text; // unknown type
|
|
42
140
|
}
|
|
43
141
|
static _elemTypeOid(arrayTypeOid) {
|
|
44
|
-
// select 'case ' || typarray || ': return ' || oid || '; // ' || typname from pg_catalog.pg_type WHERE
|
|
45
|
-
|
|
46
|
-
) {
|
|
47
|
-
case 1000:
|
|
48
|
-
return 16; // bool
|
|
49
|
-
case 1001:
|
|
50
|
-
return 17; // bytea
|
|
51
|
-
case 1002:
|
|
52
|
-
return 18; // char
|
|
53
|
-
case 1003:
|
|
54
|
-
return 19; // name
|
|
55
|
-
case 1016:
|
|
56
|
-
return 20; // int8
|
|
57
|
-
case 1005:
|
|
58
|
-
return 21; // int2
|
|
59
|
-
case 1006:
|
|
60
|
-
return 22; // int2vector
|
|
61
|
-
case 1007:
|
|
62
|
-
return 23; // int4
|
|
63
|
-
case 1008:
|
|
64
|
-
return 24; // regproc
|
|
65
|
-
case 1009:
|
|
66
|
-
return 25; // text
|
|
67
|
-
case 1028:
|
|
68
|
-
return 26; // oid
|
|
69
|
-
case 1010:
|
|
70
|
-
return 27; // tid
|
|
71
|
-
case 1011:
|
|
72
|
-
return 28; // xid
|
|
73
|
-
case 1012:
|
|
74
|
-
return 29; // cid
|
|
75
|
-
case 1013:
|
|
76
|
-
return 30; // oidvector
|
|
77
|
-
case 210:
|
|
78
|
-
return 71; // pg_type
|
|
79
|
-
case 270:
|
|
80
|
-
return 75; // pg_attribute
|
|
81
|
-
case 272:
|
|
82
|
-
return 81; // pg_proc
|
|
83
|
-
case 273:
|
|
84
|
-
return 83; // pg_class
|
|
85
|
-
case 199:
|
|
86
|
-
return 114; // json
|
|
87
|
-
case 143:
|
|
88
|
-
return 142; // xml
|
|
89
|
-
case 271:
|
|
90
|
-
return 5069; // xid8
|
|
91
|
-
case 1017:
|
|
92
|
-
return 600; // point
|
|
93
|
-
case 1018:
|
|
94
|
-
return 601; // lseg
|
|
95
|
-
case 1019:
|
|
96
|
-
return 602; // path
|
|
97
|
-
case 1020:
|
|
98
|
-
return 603; // box
|
|
99
|
-
case 1027:
|
|
100
|
-
return 604; // polygon
|
|
101
|
-
case 629:
|
|
102
|
-
return 628; // line
|
|
103
|
-
case 1021:
|
|
104
|
-
return 700; // float4
|
|
105
|
-
case 1022:
|
|
106
|
-
return 701; // float8
|
|
107
|
-
case 0:
|
|
108
|
-
return 705; // unknown
|
|
109
|
-
case 719:
|
|
110
|
-
return 718; // circle
|
|
111
|
-
case 791:
|
|
112
|
-
return 790; // money
|
|
113
|
-
case 1040:
|
|
114
|
-
return 829; // macaddr
|
|
115
|
-
case 1041:
|
|
116
|
-
return 869; // inet
|
|
117
|
-
case 651:
|
|
118
|
-
return 650; // cidr
|
|
119
|
-
case 775:
|
|
120
|
-
return 774; // macaddr8
|
|
121
|
-
case 1034:
|
|
122
|
-
return 1033; // aclitem
|
|
123
|
-
case 1014:
|
|
124
|
-
return 1042; // bpchar
|
|
125
|
-
case 1015:
|
|
126
|
-
return 1043; // varchar
|
|
127
|
-
case 1182:
|
|
128
|
-
return 1082; // date
|
|
129
|
-
case 1183:
|
|
130
|
-
return 1083; // time
|
|
131
|
-
case 1115:
|
|
132
|
-
return 1114; // timestamp
|
|
133
|
-
case 1185:
|
|
134
|
-
return 1184; // timestamptz
|
|
135
|
-
case 1187:
|
|
136
|
-
return 1186; // interval
|
|
137
|
-
case 1270:
|
|
138
|
-
return 1266; // timetz
|
|
139
|
-
case 1561:
|
|
140
|
-
return 1560; // bit
|
|
141
|
-
case 1563:
|
|
142
|
-
return 1562; // varbit
|
|
143
|
-
case 1231:
|
|
144
|
-
return 1700; // numeric
|
|
145
|
-
case 2201:
|
|
146
|
-
return 1790; // refcursor
|
|
147
|
-
case 2207:
|
|
148
|
-
return 2202; // regprocedure
|
|
149
|
-
case 2208:
|
|
150
|
-
return 2203; // regoper
|
|
151
|
-
case 2209:
|
|
152
|
-
return 2204; // regoperator
|
|
153
|
-
case 2210:
|
|
154
|
-
return 2205; // regclass
|
|
155
|
-
case 4192:
|
|
156
|
-
return 4191; // regcollation
|
|
157
|
-
case 2211:
|
|
158
|
-
return 2206; // regtype
|
|
159
|
-
case 4097:
|
|
160
|
-
return 4096; // regrole
|
|
161
|
-
case 4090:
|
|
162
|
-
return 4089; // regnamespace
|
|
163
|
-
case 2951:
|
|
164
|
-
return 2950; // uuid
|
|
165
|
-
case 3221:
|
|
166
|
-
return 3220; // pg_lsn
|
|
167
|
-
case 3643:
|
|
168
|
-
return 3614; // tsvector
|
|
169
|
-
case 3644:
|
|
170
|
-
return 3642; // gtsvector
|
|
171
|
-
case 3645:
|
|
172
|
-
return 3615; // tsquery
|
|
173
|
-
case 3735:
|
|
174
|
-
return 3734; // regconfig
|
|
175
|
-
case 3770:
|
|
176
|
-
return 3769; // regdictionary
|
|
177
|
-
case 3807:
|
|
178
|
-
return 3802; // jsonb
|
|
179
|
-
case 4073:
|
|
180
|
-
return 4072; // jsonpath
|
|
181
|
-
}
|
|
142
|
+
// select 'case ' || typarray || ': return ' || oid || '; // ' || typname from pg_catalog.pg_type WHERE typarray != 0;
|
|
143
|
+
return ARRAY_TO_ELEM_OID.get(arrayTypeOid);
|
|
182
144
|
}
|
|
183
145
|
static _decodeArray(text, elemTypeOid) {
|
|
184
146
|
text = text.replace(/^\[.+=/, ''); // skip dimensions
|
package/dist/pgwire_types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pgwire_types.js","sourceRoot":"","sources":["../src/pgwire_types.ts"],"names":[],"mappings":"AAAA,0GAA0G;AAE1G,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAEpG,MAAM,
|
|
1
|
+
{"version":3,"file":"pgwire_types.js","sourceRoot":"","sources":["../src/pgwire_types.ts"],"names":[],"mappings":"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"}
|
package/dist/socket_adapter.js
CHANGED
|
@@ -5,14 +5,15 @@ import tls from 'node:tls';
|
|
|
5
5
|
import { recordBytesRead } from './metrics.js';
|
|
6
6
|
// pgwire doesn't natively support configuring timeouts, but we just hardcode a default.
|
|
7
7
|
// Timeout idle connections after 6 minutes (we ping at least every 5 minutes).
|
|
8
|
-
const POWERSYNC_SOCKET_DEFAULT_TIMEOUT =
|
|
8
|
+
const POWERSYNC_SOCKET_DEFAULT_TIMEOUT = 360_000;
|
|
9
9
|
// Timeout for the initial connection (pre-TLS)
|
|
10
10
|
// Must be less than the timeout for a HTTP request
|
|
11
|
-
const POWERSYNC_SOCKET_CONNECT_TIMEOUT =
|
|
11
|
+
const POWERSYNC_SOCKET_CONNECT_TIMEOUT = 20_000;
|
|
12
12
|
// TCP keepalive delay in milliseconds.
|
|
13
13
|
// This can help detect dead connections earlier.
|
|
14
|
-
const POWERSYNC_SOCKET_KEEPALIVE_INITIAL_DELAY =
|
|
14
|
+
const POWERSYNC_SOCKET_KEEPALIVE_INITIAL_DELAY = 40_000;
|
|
15
15
|
export class SocketAdapter {
|
|
16
|
+
options;
|
|
16
17
|
static async connect(options) {
|
|
17
18
|
// Custom timeout handling
|
|
18
19
|
const socket = net.connect({
|
|
@@ -42,22 +43,10 @@ export class SocketAdapter {
|
|
|
42
43
|
}
|
|
43
44
|
// END POWERSYNC
|
|
44
45
|
}
|
|
46
|
+
_socket;
|
|
47
|
+
_error;
|
|
45
48
|
constructor(socket, options) {
|
|
46
49
|
this.options = options;
|
|
47
|
-
this._readResume = () => {
|
|
48
|
-
// noop
|
|
49
|
-
return;
|
|
50
|
-
};
|
|
51
|
-
this._writeResume = () => {
|
|
52
|
-
// noop
|
|
53
|
-
return;
|
|
54
|
-
};
|
|
55
|
-
this._readPauseAsync = (resolve) => {
|
|
56
|
-
this._readResume = resolve;
|
|
57
|
-
};
|
|
58
|
-
this._writePauseAsync = (resolve) => {
|
|
59
|
-
this._writeResume = resolve;
|
|
60
|
-
};
|
|
61
50
|
this._error = null;
|
|
62
51
|
this._socket = socket;
|
|
63
52
|
this._socket.on('readable', (_) => this._readResume());
|
|
@@ -72,6 +61,20 @@ export class SocketAdapter {
|
|
|
72
61
|
this._writeResume();
|
|
73
62
|
});
|
|
74
63
|
}
|
|
64
|
+
_readResume = () => {
|
|
65
|
+
// noop
|
|
66
|
+
return;
|
|
67
|
+
};
|
|
68
|
+
_writeResume = () => {
|
|
69
|
+
// noop
|
|
70
|
+
return;
|
|
71
|
+
};
|
|
72
|
+
_readPauseAsync = (resolve) => {
|
|
73
|
+
this._readResume = resolve;
|
|
74
|
+
};
|
|
75
|
+
_writePauseAsync = (resolve) => {
|
|
76
|
+
this._writeResume = resolve;
|
|
77
|
+
};
|
|
75
78
|
setTimeout(timeout) {
|
|
76
79
|
this._socket.setTimeout(timeout);
|
|
77
80
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"socket_adapter.js","sourceRoot":"","sources":["../src/socket_adapter.ts"],"names":[],"mappings":"AAAA,uEAAuE;AAEvE,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AACnC,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,GAAG,MAAM,UAAU,CAAC;AAC3B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/C,wFAAwF;AACxF,+EAA+E;AAC/E,MAAM,gCAAgC,GAAG,
|
|
1
|
+
{"version":3,"file":"socket_adapter.js","sourceRoot":"","sources":["../src/socket_adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -31,6 +31,7 @@ export declare function clientTlsOptions(options: PgWireConnectionOptions): tls.
|
|
|
31
31
|
export declare function makeTlsOptions(options: PgWireConnectionOptions): false | tls.ConnectionOptions;
|
|
32
32
|
export declare function connectPgWire(config: PgWireConnectionOptions, options?: {
|
|
33
33
|
type?: 'standard' | 'replication';
|
|
34
|
+
applicationName: string;
|
|
34
35
|
}): Promise<pgwire.PgConnection>;
|
|
35
36
|
export interface PgPoolOptions {
|
|
36
37
|
/**
|
|
@@ -45,6 +46,7 @@ export interface PgPoolOptions {
|
|
|
45
46
|
* Idle timeout in ms before a connection is closed.
|
|
46
47
|
*/
|
|
47
48
|
idleTimeout?: number | undefined;
|
|
49
|
+
applicationName?: string;
|
|
48
50
|
}
|
|
49
51
|
/**
|
|
50
52
|
* Open a postgres pool.
|
|
@@ -86,4 +88,4 @@ export declare function dateToSqlite(source?: string): string | null;
|
|
|
86
88
|
*
|
|
87
89
|
* This converts it to objects.
|
|
88
90
|
*/
|
|
89
|
-
export declare function pgwireRows(rs: pgwire.PgResult):
|
|
91
|
+
export declare function pgwireRows<T = Record<string, any>>(rs: pgwire.PgResult): T[];
|
package/dist/util.js
CHANGED
|
@@ -49,7 +49,7 @@ export function makeTlsOptions(options) {
|
|
|
49
49
|
}
|
|
50
50
|
export async function connectPgWire(config, options) {
|
|
51
51
|
let connectionOptions = {
|
|
52
|
-
application_name: '
|
|
52
|
+
application_name: options?.applicationName ?? 'powersync',
|
|
53
53
|
// tlsOptions below contains the original hostname
|
|
54
54
|
hostname: config.resolved_ip ?? config.hostname,
|
|
55
55
|
port: config.port,
|
|
@@ -104,7 +104,7 @@ export function connectPgWirePool(config, options) {
|
|
|
104
104
|
const idleTimeout = options?.idleTimeout;
|
|
105
105
|
const maxSize = options?.maxSize ?? 5;
|
|
106
106
|
let connectionOptions = {
|
|
107
|
-
application_name: '
|
|
107
|
+
application_name: options?.applicationName ?? 'powersync',
|
|
108
108
|
// tlsOptions below contains the original hostname
|
|
109
109
|
hostname: config.resolved_ip ?? config.hostname,
|
|
110
110
|
port: config.port,
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAGpC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AA0C3C,MAAM,UAAU,gBAAgB,CAAC,OAAgC;IAC/D,IAAI,OAAO,CAAC,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC7D,OAAO;YACL,IAAI,EAAE,OAAO,CAAC,kBAAkB;YAChC,GAAG,EAAE,OAAO,CAAC,kBAAkB;SAChC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,OAAgC;IAC7D,IAAI,OAAO,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;QACjC,OAAO,KAAK,CAAC;IACf,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,IAAI,aAAa,EAAE,CAAC;QAC5C,+CAA+C;QAC/C,0BAA0B;QAC1B,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,MAAM,IAAI,aAAa;YACnC,+BAA+B;YAC/B,6EAA6E;YAC7E,UAAU;YACV,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,UAAU,EAAE,OAAO,CAAC,cAAc,IAAI,OAAO,CAAC,QAAQ;YACtD,GAAG,gBAAgB,CAAC,OAAO,CAAC;SAC7B,CAAC;IACJ,CAAC;SAAM,IAAI,OAAO,CAAC,OAAO,IAAI,WAAW,EAAE,CAAC;QAC1C,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QACD,OAAO;YACL,EAAE,EAAE,OAAO,CAAC,MAAO;YACnB,IAAI,EAAE,OAAO,CAAC,QAAQ;YACtB,UAAU,EAAE,OAAO,CAAC,QAAQ;YAC5B,yBAAyB;YACzB,mBAAmB,EAAE,GAAG,EAAE,CAAC,SAAS;YACpC,GAAG,gBAAgB,CAAC,OAAO,CAAC;SAC7B,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,IAAI,KAAK,CAAC,wBAAwB,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAC7D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|