orange-orm 4.5.1-beta.3 → 4.5.2

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.
Files changed (74) hide show
  1. package/README.md +11 -11
  2. package/docs/changelog.md +6 -0
  3. package/package.json +4 -15
  4. package/{dist/index.browser.mjs → src/client/index.mjs} +259 -145
  5. package/src/client/merge.js +9 -0
  6. package/src/{rollup.config.browser.js → client/rollup.config.js} +1 -1
  7. package/src/d1/newTransaction.js +1 -0
  8. package/src/index.js +3 -16
  9. package/src/map.d.ts +2 -12
  10. package/src/mssql/newTransaction.js +1 -0
  11. package/src/mssql/pool/newGenericPool.js +2 -9
  12. package/src/mySql/newTransaction.js +1 -0
  13. package/src/mySql/pool/newGenericPool.js +2 -11
  14. package/src/oracle/newTransaction.js +1 -0
  15. package/src/oracle/pool/newGenericPool.js +5 -13
  16. package/src/patchTable.js +4 -1
  17. package/src/pg/newDatabase.js +5 -0
  18. package/src/pg/newTransaction.js +1 -0
  19. package/src/pg/pool/newPgPool.js +3 -15
  20. package/src/sap/newTransaction.js +1 -0
  21. package/src/sqlite/newTransaction.js +1 -0
  22. package/src/{sqlite3 → sqlite}/pool/newGenericPool.js +2 -10
  23. package/src/table/clearCache.js +7 -0
  24. package/src/table/column/binary/newDecode.js +2 -13
  25. package/src/table/column/binary/newEncode.js +6 -16
  26. package/src/table/column/columnAggregate.js +15 -0
  27. package/src/table/column/columnAggregateGroup.js +35 -0
  28. package/src/table/column/newColumn.js +13 -0
  29. package/src/table/getSessionCache.js +8 -0
  30. package/src/table/newRowCache.js +4 -4
  31. package/src/table/relatedTable/columnAggregate.js +1 -1
  32. package/src/table/relation/newManyCache.js +4 -4
  33. package/src/table/resultToRows/newDecodeDbRow.js +1 -1
  34. package/src/table/setSessionCache.js +8 -0
  35. package/src/table/setSessionSingleton.js +1 -1
  36. package/src/tedious/newTransaction.js +1 -0
  37. package/src/tedious/pool/newGenericPool.js +2 -8
  38. package/src/tedious/wrapQuery.js +17 -40
  39. package/dist/index.mjs +0 -20002
  40. package/src/bunPg/newDatabase.js +0 -137
  41. package/src/bunPg/newPool.js +0 -19
  42. package/src/bunPg/pool/end.js +0 -13
  43. package/src/bunPg/pool/newPgPool.js +0 -98
  44. package/src/bunPg/wrapQuery.js +0 -33
  45. package/src/bunSqlite/newPool.js +0 -19
  46. package/src/bunSqlite/newTransaction.js +0 -87
  47. package/src/bunSqlite/pool/newGenericPool.js +0 -55
  48. package/src/bunSqlite/wrapQuery.js +0 -23
  49. package/src/merge-browser.js +0 -9
  50. package/src/merge-server.js +0 -9
  51. package/src/nodeSqlite/decodeBinary.js +0 -9
  52. package/src/nodeSqlite/encodeBinary.js +0 -17
  53. package/src/nodeSqlite/newDatabase.js +0 -116
  54. package/src/nodeSqlite/newPool.js +0 -19
  55. package/src/nodeSqlite/newTransaction.js +0 -87
  56. package/src/nodeSqlite/pool/newGenericPool.js +0 -50
  57. package/src/nodeSqlite/wrapQuery.js +0 -23
  58. package/src/rollup.config.server.js +0 -32
  59. package/src/runtimes.js +0 -24
  60. package/src/sqlite3/deleteFromSql.js +0 -10
  61. package/src/sqlite3/encodeBoolean.js +0 -7
  62. package/src/sqlite3/encodeBuffer.js +0 -7
  63. package/src/sqlite3/insert.js +0 -21
  64. package/src/sqlite3/insertSql.js +0 -67
  65. package/src/sqlite3/lastInsertedSql.js +0 -12
  66. package/src/sqlite3/limitAndOffset.js +0 -18
  67. package/src/sqlite3/newDatabase.js +0 -116
  68. package/src/sqlite3/newTransaction.js +0 -83
  69. package/src/sqlite3/pool/end.js +0 -13
  70. package/src/sqlite3/quote.js +0 -1
  71. package/src/sqlite3/selectForUpdateSql.js +0 -5
  72. /package/src/{bunSqlite → sqlite}/newDatabase.js +0 -0
  73. /package/src/{sqlite3 → sqlite}/newPool.js +0 -0
  74. /package/src/{sqlite3 → sqlite}/wrapQuery.js +0 -0
@@ -1,31 +1,12 @@
1
1
  var log = require('../table/log');
2
+ var { Request, TYPES } = require('tedious');
2
3
 
3
4
  function wrapQuery(connection) {
4
- let CachedRequest = null;
5
- let CachedTypes = null;
6
-
7
5
  return runQuery;
8
6
 
9
7
  function runQuery(query, onCompleted) {
10
- if (!CachedRequest || !CachedTypes) {
11
- import('tedious')
12
- .then(({ Request, TYPES }) => {
13
- CachedRequest = Request;
14
- CachedTypes = TYPES;
15
- doQuery(query, onCompleted);
16
- })
17
- .catch(err => onCompleted(extractError(err), []));
18
- }
19
- else {
20
- doQuery(query, onCompleted);
21
- }
22
- }
23
-
24
- function doQuery(query, onCompleted) {
25
8
  const result = [];
26
9
  const sql = replaceParamChar(query.sql(), query.parameters);
27
-
28
- // Transaction statements
29
10
  if (sql.length < 18 && query.parameters.length === 0) {
30
11
  if (sql === 'BEGIN TRANSACTION') {
31
12
  log.emitQuery({ sql, parameters: [] });
@@ -49,45 +30,38 @@ function wrapQuery(connection) {
49
30
  return;
50
31
  }
51
32
  }
52
-
53
33
  let keys;
54
- // Now we can safely create Request using CachedRequest
55
- var request = new CachedRequest(sql, onInnerCompleted);
56
- const params = addParameters(request, query.parameters, CachedTypes);
57
-
34
+ var request = new Request(sql, onInnerCompleted);
35
+ const params = addParameters(request, query.parameters);
58
36
  request.on('row', rows => {
59
37
  const tmp = {};
60
38
  if (!keys) {
61
39
  keys = Object.keys(rows);
62
40
  }
63
- keys.forEach(cols => {
41
+ keys.forEach((cols) => {
64
42
  tmp[cols] = rows[cols].value;
65
43
  });
66
44
  result.push(tmp);
67
45
  });
68
-
69
46
  log.emitQuery({ sql, parameters: params });
70
47
  connection.execSql(request);
71
48
 
72
49
  function onInnerCompleted(err) {
73
50
  if (err) {
74
51
  onCompleted(extractError(err));
75
- } else {
76
- onCompleted(null, result);
77
52
  }
53
+ else
54
+ onCompleted(null, result);
78
55
  }
79
56
  }
80
- }
81
57
 
82
- // same helpers as before
83
-
84
- function extractError(e) {
85
- if (e && e.errors) {
86
- return e.errors[0];
87
- }
88
- else {
89
- return e;
58
+ function extractError(e) {
59
+ if (e && e.errors)
60
+ return e.errors[0];
61
+ else
62
+ return e;
90
63
  }
64
+
91
65
  }
92
66
 
93
67
  function replaceParamChar(sql, params) {
@@ -103,7 +77,7 @@ function replaceParamChar(sql, params) {
103
77
  return sql;
104
78
  }
105
79
 
106
- function addParameters(request, params, TYPES) {
80
+ function addParameters(request, params) {
107
81
  const res = [];
108
82
  for (let i = 0; i < params.length; i++) {
109
83
  const p = [`${i}`, toType(params[i]), params[i]];
@@ -119,6 +93,7 @@ function addParameters(request, params, TYPES) {
119
93
  return TYPES.Int;
120
94
  else if (typeof p === 'number')
121
95
  return TYPES.Money;
96
+ // @ts-ignore
122
97
  else if (p instanceof Date && !isNaN(p))
123
98
  return TYPES.Date;
124
99
  else if (Array.isArray(p))
@@ -129,7 +104,9 @@ function addParameters(request, params, TYPES) {
129
104
  return TYPES.NVarChar;
130
105
  else
131
106
  throw new Error('Unknown data type');
107
+
132
108
  }
109
+
133
110
  }
134
111
 
135
- module.exports = wrapQuery;
112
+ module.exports = wrapQuery;