orange-orm 4.7.6 → 4.7.8-beta.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.mjs +55 -15
- package/docs/changelog.md +2 -0
- package/package.json +1 -1
- package/src/bunPg/wrapQuery.js +1 -2
- package/src/oracle/wrapQuery.js +1 -1
- package/src/pg/wrapQuery.js +1 -1
- package/src/tedious/wrapQuery.js +53 -12
package/dist/index.mjs
CHANGED
|
@@ -14833,11 +14833,10 @@ function requireWrapQuery$8 () {
|
|
|
14833
14833
|
|
|
14834
14834
|
async function runQuery(query, onCompleted) {
|
|
14835
14835
|
try {
|
|
14836
|
-
|
|
14836
|
+
log.emitQuery({ sql: query.sql(), parameters: query.parameters });
|
|
14837
14837
|
const sql = replaceParamChar(query, query.parameters);
|
|
14838
14838
|
let rdb = tryGetSessionContext(context);
|
|
14839
14839
|
let transactionHandler = rdb.transactionHandler;
|
|
14840
|
-
log.emitQuery({ sql, parameters: query.parameters });
|
|
14841
14840
|
|
|
14842
14841
|
if (sql.length < 18 && query.parameters.length === 0) {
|
|
14843
14842
|
if (sql === 'BEGIN TRANSACTION' || sql === 'BEGIN') {
|
|
@@ -15337,13 +15336,13 @@ function requireWrapQuery$7 () {
|
|
|
15337
15336
|
|
|
15338
15337
|
function runQuery(query, onCompleted) {
|
|
15339
15338
|
var params = query.parameters;
|
|
15339
|
+
log.emitQuery({sql: query.sql(), parameters: params});
|
|
15340
15340
|
var sql = replaceParamChar(query, params);
|
|
15341
15341
|
query = {
|
|
15342
15342
|
text: sql,
|
|
15343
15343
|
values: params,
|
|
15344
15344
|
types: query.types
|
|
15345
15345
|
};
|
|
15346
|
-
log.emitQuery({sql, parameters: params});
|
|
15347
15346
|
|
|
15348
15347
|
runOriginalQuery.call(connection, query, onInnerCompleted);
|
|
15349
15348
|
|
|
@@ -18270,27 +18269,28 @@ function requireWrapQuery$1 () {
|
|
|
18270
18269
|
}
|
|
18271
18270
|
|
|
18272
18271
|
function doQuery(query, onCompleted) {
|
|
18273
|
-
const
|
|
18272
|
+
const results = []; // Array to hold multiple result sets
|
|
18273
|
+
let currentResult = []; // Current result set being built
|
|
18274
|
+
let hasResultSet = false; // Track if we're in an actual result set
|
|
18275
|
+
|
|
18276
|
+
log.emitQuery({ sql: query.sql(), parameters: query.parameters });
|
|
18274
18277
|
const sql = replaceParamChar(query.sql(), query.parameters);
|
|
18275
18278
|
|
|
18276
18279
|
// Transaction statements
|
|
18277
18280
|
if (sql.length < 18 && query.parameters.length === 0) {
|
|
18278
18281
|
if (sql === 'BEGIN TRANSACTION') {
|
|
18279
|
-
log.emitQuery({ sql, parameters: [] });
|
|
18280
18282
|
connection.beginTransaction((err) => {
|
|
18281
18283
|
onCompleted(extractError(err), []);
|
|
18282
18284
|
});
|
|
18283
18285
|
return;
|
|
18284
18286
|
}
|
|
18285
18287
|
else if (sql === 'COMMIT') {
|
|
18286
|
-
log.emitQuery({ sql, parameters: [] });
|
|
18287
18288
|
connection.commitTransaction((err) => {
|
|
18288
18289
|
onCompleted(extractError(err), []);
|
|
18289
18290
|
});
|
|
18290
18291
|
return;
|
|
18291
18292
|
}
|
|
18292
18293
|
else if (sql === 'ROLLBACK') {
|
|
18293
|
-
log.emitQuery({ sql, parameters: [] });
|
|
18294
18294
|
connection.rollbackTransaction((err) => {
|
|
18295
18295
|
onCompleted(extractError(err), []);
|
|
18296
18296
|
});
|
|
@@ -18299,9 +18299,8 @@ function requireWrapQuery$1 () {
|
|
|
18299
18299
|
}
|
|
18300
18300
|
|
|
18301
18301
|
let keys;
|
|
18302
|
-
// Now we can safely create Request using CachedRequest
|
|
18303
18302
|
var request = new CachedRequest(sql, onInnerCompleted);
|
|
18304
|
-
|
|
18303
|
+
addParameters(request, query.parameters, CachedTypes);
|
|
18305
18304
|
|
|
18306
18305
|
request.on('row', rows => {
|
|
18307
18306
|
const tmp = {};
|
|
@@ -18311,24 +18310,65 @@ function requireWrapQuery$1 () {
|
|
|
18311
18310
|
keys.forEach(cols => {
|
|
18312
18311
|
tmp[cols] = rows[cols].value;
|
|
18313
18312
|
});
|
|
18314
|
-
|
|
18313
|
+
currentResult.push(tmp);
|
|
18314
|
+
hasResultSet = true; // We're definitely in a result set
|
|
18315
|
+
});
|
|
18316
|
+
|
|
18317
|
+
// Handle column metadata - indicates a result set is starting
|
|
18318
|
+
request.on('columnMetadata', (_columns) => {
|
|
18319
|
+
hasResultSet = true; // A result set is starting (even if it ends up empty)
|
|
18320
|
+
});
|
|
18321
|
+
|
|
18322
|
+
// Handle end of each result set
|
|
18323
|
+
request.on('doneInProc', (_rowCount, _more) => {
|
|
18324
|
+
// End of a result set within a stored procedure
|
|
18325
|
+
// Add to results if we had a result set (even if empty)
|
|
18326
|
+
if (hasResultSet) {
|
|
18327
|
+
results.push(currentResult);
|
|
18328
|
+
currentResult = [];
|
|
18329
|
+
keys = null; // Reset keys for next result set
|
|
18330
|
+
hasResultSet = false; // Reset for next potential result set
|
|
18331
|
+
}
|
|
18332
|
+
});
|
|
18333
|
+
|
|
18334
|
+
request.on('doneProc', (_rowCount, _more) => {
|
|
18335
|
+
// End of stored procedure execution
|
|
18336
|
+
// Add to results if we had a result set (even if empty)
|
|
18337
|
+
if (hasResultSet) {
|
|
18338
|
+
results.push(currentResult);
|
|
18339
|
+
currentResult = [];
|
|
18340
|
+
hasResultSet = false; // Reset for next potential result set
|
|
18341
|
+
}
|
|
18315
18342
|
});
|
|
18316
18343
|
|
|
18317
|
-
log.emitQuery({ sql, parameters: params });
|
|
18318
18344
|
connection.execSql(request);
|
|
18319
18345
|
|
|
18320
18346
|
function onInnerCompleted(err) {
|
|
18321
18347
|
if (err) {
|
|
18322
18348
|
onCompleted(extractError(err));
|
|
18323
18349
|
} else {
|
|
18324
|
-
|
|
18350
|
+
// If we have any remaining result set, add it
|
|
18351
|
+
if (hasResultSet) {
|
|
18352
|
+
results.push(currentResult);
|
|
18353
|
+
}
|
|
18354
|
+
|
|
18355
|
+
// Return based on number of actual result sets
|
|
18356
|
+
if (results.length === 0) {
|
|
18357
|
+
// No result sets - return empty array
|
|
18358
|
+
onCompleted(null, []);
|
|
18359
|
+
} else if (results.length === 1) {
|
|
18360
|
+
// Single result set - return as single-depth array (even if empty)
|
|
18361
|
+
onCompleted(null, results[0]);
|
|
18362
|
+
} else {
|
|
18363
|
+
// Multiple result sets - return as array of arrays
|
|
18364
|
+
onCompleted(null, results);
|
|
18365
|
+
}
|
|
18325
18366
|
}
|
|
18326
18367
|
}
|
|
18327
18368
|
}
|
|
18328
18369
|
}
|
|
18329
18370
|
|
|
18330
|
-
//
|
|
18331
|
-
|
|
18371
|
+
// Helper functions remain the same
|
|
18332
18372
|
function extractError(e) {
|
|
18333
18373
|
if (e && e.errors) {
|
|
18334
18374
|
return e.errors[0];
|
|
@@ -19697,8 +19737,8 @@ function requireWrapQuery () {
|
|
|
19697
19737
|
|
|
19698
19738
|
function runQuery(query, onCompleted) {
|
|
19699
19739
|
var params = query.parameters;
|
|
19740
|
+
log.emitQuery({sql: query.sql(), parameters: params});
|
|
19700
19741
|
var sql = replaceParamChar(query, params);
|
|
19701
|
-
log.emitQuery({ sql, parameters: params });
|
|
19702
19742
|
|
|
19703
19743
|
runOriginalQuery.call(connection, sql, params, {
|
|
19704
19744
|
fetchTypeHandler: function(metaData) {
|
package/docs/changelog.md
CHANGED
package/package.json
CHANGED
package/src/bunPg/wrapQuery.js
CHANGED
|
@@ -7,11 +7,10 @@ function wrapQuery(context, connection) {
|
|
|
7
7
|
|
|
8
8
|
async function runQuery(query, onCompleted) {
|
|
9
9
|
try {
|
|
10
|
-
|
|
10
|
+
log.emitQuery({ sql: query.sql(), parameters: query.parameters });
|
|
11
11
|
const sql = replaceParamChar(query, query.parameters);
|
|
12
12
|
let rdb = tryGetSessionContext(context);
|
|
13
13
|
let transactionHandler = rdb.transactionHandler;
|
|
14
|
-
log.emitQuery({ sql, parameters: query.parameters });
|
|
15
14
|
|
|
16
15
|
if (sql.length < 18 && query.parameters.length === 0) {
|
|
17
16
|
if (sql === 'BEGIN TRANSACTION' || sql === 'BEGIN') {
|
package/src/oracle/wrapQuery.js
CHANGED
|
@@ -7,8 +7,8 @@ function wrapQuery(_context, connection) {
|
|
|
7
7
|
|
|
8
8
|
function runQuery(query, onCompleted) {
|
|
9
9
|
var params = query.parameters;
|
|
10
|
+
log.emitQuery({sql: query.sql(), parameters: params});
|
|
10
11
|
var sql = replaceParamChar(query, params);
|
|
11
|
-
log.emitQuery({ sql, parameters: params });
|
|
12
12
|
|
|
13
13
|
runOriginalQuery.call(connection, sql, params, {
|
|
14
14
|
fetchTypeHandler: function(metaData) {
|
package/src/pg/wrapQuery.js
CHANGED
|
@@ -7,13 +7,13 @@ function wrapQuery(_context, connection) {
|
|
|
7
7
|
|
|
8
8
|
function runQuery(query, onCompleted) {
|
|
9
9
|
var params = query.parameters;
|
|
10
|
+
log.emitQuery({sql: query.sql(), parameters: params});
|
|
10
11
|
var sql = replaceParamChar(query, params);
|
|
11
12
|
query = {
|
|
12
13
|
text: sql,
|
|
13
14
|
values: params,
|
|
14
15
|
types: query.types
|
|
15
16
|
};
|
|
16
|
-
log.emitQuery({sql, parameters: params});
|
|
17
17
|
|
|
18
18
|
runOriginalQuery.call(connection, query, onInnerCompleted);
|
|
19
19
|
|
package/src/tedious/wrapQuery.js
CHANGED
|
@@ -22,27 +22,28 @@ function wrapQuery(_context, connection) {
|
|
|
22
22
|
}
|
|
23
23
|
|
|
24
24
|
function doQuery(query, onCompleted) {
|
|
25
|
-
const
|
|
25
|
+
const results = []; // Array to hold multiple result sets
|
|
26
|
+
let currentResult = []; // Current result set being built
|
|
27
|
+
let hasResultSet = false; // Track if we're in an actual result set
|
|
28
|
+
|
|
29
|
+
log.emitQuery({ sql: query.sql(), parameters: query.parameters });
|
|
26
30
|
const sql = replaceParamChar(query.sql(), query.parameters);
|
|
27
31
|
|
|
28
32
|
// Transaction statements
|
|
29
33
|
if (sql.length < 18 && query.parameters.length === 0) {
|
|
30
34
|
if (sql === 'BEGIN TRANSACTION') {
|
|
31
|
-
log.emitQuery({ sql, parameters: [] });
|
|
32
35
|
connection.beginTransaction((err) => {
|
|
33
36
|
onCompleted(extractError(err), []);
|
|
34
37
|
});
|
|
35
38
|
return;
|
|
36
39
|
}
|
|
37
40
|
else if (sql === 'COMMIT') {
|
|
38
|
-
log.emitQuery({ sql, parameters: [] });
|
|
39
41
|
connection.commitTransaction((err) => {
|
|
40
42
|
onCompleted(extractError(err), []);
|
|
41
43
|
});
|
|
42
44
|
return;
|
|
43
45
|
}
|
|
44
46
|
else if (sql === 'ROLLBACK') {
|
|
45
|
-
log.emitQuery({ sql, parameters: [] });
|
|
46
47
|
connection.rollbackTransaction((err) => {
|
|
47
48
|
onCompleted(extractError(err), []);
|
|
48
49
|
});
|
|
@@ -51,9 +52,8 @@ function wrapQuery(_context, connection) {
|
|
|
51
52
|
}
|
|
52
53
|
|
|
53
54
|
let keys;
|
|
54
|
-
// Now we can safely create Request using CachedRequest
|
|
55
55
|
var request = new CachedRequest(sql, onInnerCompleted);
|
|
56
|
-
|
|
56
|
+
addParameters(request, query.parameters, CachedTypes);
|
|
57
57
|
|
|
58
58
|
request.on('row', rows => {
|
|
59
59
|
const tmp = {};
|
|
@@ -63,24 +63,65 @@ function wrapQuery(_context, connection) {
|
|
|
63
63
|
keys.forEach(cols => {
|
|
64
64
|
tmp[cols] = rows[cols].value;
|
|
65
65
|
});
|
|
66
|
-
|
|
66
|
+
currentResult.push(tmp);
|
|
67
|
+
hasResultSet = true; // We're definitely in a result set
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
// Handle column metadata - indicates a result set is starting
|
|
71
|
+
request.on('columnMetadata', (_columns) => {
|
|
72
|
+
hasResultSet = true; // A result set is starting (even if it ends up empty)
|
|
73
|
+
});
|
|
74
|
+
|
|
75
|
+
// Handle end of each result set
|
|
76
|
+
request.on('doneInProc', (_rowCount, _more) => {
|
|
77
|
+
// End of a result set within a stored procedure
|
|
78
|
+
// Add to results if we had a result set (even if empty)
|
|
79
|
+
if (hasResultSet) {
|
|
80
|
+
results.push(currentResult);
|
|
81
|
+
currentResult = [];
|
|
82
|
+
keys = null; // Reset keys for next result set
|
|
83
|
+
hasResultSet = false; // Reset for next potential result set
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
request.on('doneProc', (_rowCount, _more) => {
|
|
88
|
+
// End of stored procedure execution
|
|
89
|
+
// Add to results if we had a result set (even if empty)
|
|
90
|
+
if (hasResultSet) {
|
|
91
|
+
results.push(currentResult);
|
|
92
|
+
currentResult = [];
|
|
93
|
+
hasResultSet = false; // Reset for next potential result set
|
|
94
|
+
}
|
|
67
95
|
});
|
|
68
96
|
|
|
69
|
-
log.emitQuery({ sql, parameters: params });
|
|
70
97
|
connection.execSql(request);
|
|
71
98
|
|
|
72
99
|
function onInnerCompleted(err) {
|
|
73
100
|
if (err) {
|
|
74
101
|
onCompleted(extractError(err));
|
|
75
102
|
} else {
|
|
76
|
-
|
|
103
|
+
// If we have any remaining result set, add it
|
|
104
|
+
if (hasResultSet) {
|
|
105
|
+
results.push(currentResult);
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
// Return based on number of actual result sets
|
|
109
|
+
if (results.length === 0) {
|
|
110
|
+
// No result sets - return empty array
|
|
111
|
+
onCompleted(null, []);
|
|
112
|
+
} else if (results.length === 1) {
|
|
113
|
+
// Single result set - return as single-depth array (even if empty)
|
|
114
|
+
onCompleted(null, results[0]);
|
|
115
|
+
} else {
|
|
116
|
+
// Multiple result sets - return as array of arrays
|
|
117
|
+
onCompleted(null, results);
|
|
118
|
+
}
|
|
77
119
|
}
|
|
78
120
|
}
|
|
79
121
|
}
|
|
80
122
|
}
|
|
81
123
|
|
|
82
|
-
//
|
|
83
|
-
|
|
124
|
+
// Helper functions remain the same
|
|
84
125
|
function extractError(e) {
|
|
85
126
|
if (e && e.errors) {
|
|
86
127
|
return e.errors[0];
|
|
@@ -132,4 +173,4 @@ function addParameters(request, params, TYPES) {
|
|
|
132
173
|
}
|
|
133
174
|
}
|
|
134
175
|
|
|
135
|
-
module.exports = wrapQuery;
|
|
176
|
+
module.exports = wrapQuery;
|