orange-orm 4.5.0-beta.0 → 4.5.0-beta.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.
Files changed (261) hide show
  1. package/README.md +6 -1
  2. package/docs/changelog.md +4 -0
  3. package/package.json +8 -5
  4. package/src/client/index.js +3 -2
  5. package/src/client/index.mjs +253 -137
  6. package/src/createDomain.js +11 -16
  7. package/src/d1/newDatabase.js +23 -37
  8. package/src/d1/newPool.js +6 -6
  9. package/src/d1/pool/newGenericPool.js +2 -1
  10. package/src/emitEvent.js +6 -4
  11. package/src/emptyFilter.js +12 -12
  12. package/src/getManyDto/newQuery.js +5 -5
  13. package/src/getManyDto/query/newSingleQuery.js +5 -5
  14. package/src/getManyDto.js +25 -24
  15. package/src/hostExpress/cycle.ts +211 -0
  16. package/src/hostExpress/executePath.js +360 -357
  17. package/src/hostLocal.js +8 -8
  18. package/src/index.js +11 -16
  19. package/src/mssql/newDatabase.js +19 -31
  20. package/src/mssql/newPool.js +2 -2
  21. package/src/mssql/newTransaction.js +4 -3
  22. package/src/mssql/pool/newGenericPool.js +1 -1
  23. package/src/mySql/deleteFromSql.js +1 -1
  24. package/src/mySql/insert.js +5 -5
  25. package/src/mySql/insertSql.js +2 -3
  26. package/src/mySql/lastInsertedSql.js +3 -4
  27. package/src/mySql/newDatabase.js +20 -34
  28. package/src/mySql/newPool.js +10 -10
  29. package/src/mySql/newTransaction.js +2 -2
  30. package/src/mySql/pool/newGenericPool.js +2 -3
  31. package/src/mySql/quote.js +1 -0
  32. package/src/newImmutable.js +1 -2
  33. package/src/oracle/deleteFromSql.js +1 -1
  34. package/src/oracle/formatDateOut.js +1 -1
  35. package/src/oracle/insert.js +6 -6
  36. package/src/oracle/insertSql.js +6 -14
  37. package/src/oracle/lastInsertedSql.js +3 -3
  38. package/src/oracle/mergeSql.js +3 -6
  39. package/src/oracle/newDatabase.js +18 -33
  40. package/src/oracle/newInsertCommandCore.js +3 -3
  41. package/src/oracle/newPool.js +10 -10
  42. package/src/oracle/newTransaction.js +2 -1
  43. package/src/oracle/pool/newGenericPool.js +2 -2
  44. package/src/oracle/quote.js +1 -0
  45. package/src/oracle/wrapQuery.js +0 -3
  46. package/src/patchRow.js +2 -2
  47. package/src/patchTable.js +6 -5
  48. package/src/pg/deleteFromSql.js +1 -1
  49. package/src/pg/formatDateOut.js +1 -2
  50. package/src/pg/insert.js +3 -3
  51. package/src/pg/insertSql.js +2 -7
  52. package/src/pg/lastInsertedSql.js +1 -2
  53. package/src/pg/newDatabase.js +20 -37
  54. package/src/pg/newPool.js +10 -10
  55. package/src/pg/newTransaction.js +2 -1
  56. package/src/pg/pool/newPgPool.js +23 -4
  57. package/src/pg/pool/parseSearchPathParam.js +10 -0
  58. package/src/pg/quote.js +2 -0
  59. package/src/pg/schema.js +2 -2
  60. package/src/{mySql/pool/defaults.js → poolDefaults.js} +0 -2
  61. package/src/query.js +2 -2
  62. package/src/sap/deleteFromSql.js +1 -1
  63. package/src/sap/formatDateOut.js +1 -1
  64. package/src/sap/insert.js +5 -5
  65. package/src/sap/insertSql.js +4 -5
  66. package/src/sap/lastInsertedSql.js +3 -3
  67. package/src/sap/mergeSql.js +1 -2
  68. package/src/sap/newDatabase.js +23 -34
  69. package/src/sap/newPool.js +2 -2
  70. package/src/sap/newTransaction.js +2 -1
  71. package/src/sap/quote.js +1 -0
  72. package/src/sqlite/deleteFromSql.js +1 -1
  73. package/src/sqlite/insert.js +5 -5
  74. package/src/sqlite/insertSql.js +2 -2
  75. package/src/sqlite/lastInsertedSql.js +2 -2
  76. package/src/sqlite/newDatabase.js +16 -32
  77. package/src/sqlite/newPool.js +10 -10
  78. package/src/sqlite/newTransaction.js +2 -1
  79. package/src/sqlite/pool/newGenericPool.js +2 -1
  80. package/src/sqlite/quote.js +1 -0
  81. package/src/table/aggregate.js +1 -1
  82. package/src/table/begin.js +5 -5
  83. package/src/table/cascadeDelete.js +2 -2
  84. package/src/table/column/binary/newDecode.js +2 -2
  85. package/src/table/column/binary/newEncode.js +3 -4
  86. package/src/table/column/boolean/newDecode.js +1 -1
  87. package/src/table/column/boolean/newEncode.js +6 -6
  88. package/src/table/column/date/formatOut.js +3 -5
  89. package/src/table/column/date/newDecode.js +2 -2
  90. package/src/table/column/date/newEncode.js +8 -8
  91. package/src/table/column/date/tryParseISO.js +6 -8
  92. package/src/table/column/date.js +1 -1
  93. package/src/table/column/dateWithTimeZone/newEncode.js +3 -4
  94. package/src/table/column/dateWithTimeZone.js +1 -1
  95. package/src/table/column/encodeFilterArg.js +3 -3
  96. package/src/table/column/equal.js +3 -3
  97. package/src/table/column/extractAlias.js +0 -2
  98. package/src/table/column/greaterThan.js +3 -3
  99. package/src/table/column/greaterThanOrEqual.js +3 -3
  100. package/src/table/column/guid/newDecode.js +1 -1
  101. package/src/table/column/guid/newEncode.js +3 -3
  102. package/src/table/column/in.js +3 -3
  103. package/src/table/column/json/formatOut.js +3 -3
  104. package/src/table/column/json/newDecode.js +3 -3
  105. package/src/table/column/json/newEncode.js +6 -6
  106. package/src/table/column/json.js +2 -1
  107. package/src/table/column/lessThan.js +3 -3
  108. package/src/table/column/lessThanOrEqual.js +4 -4
  109. package/src/table/column/negotiateRawSqlFilter.js +9 -9
  110. package/src/table/column/newBoolean.js +9 -9
  111. package/src/table/column/newColumn.js +21 -21
  112. package/src/table/column/newDecodeCore.js +1 -1
  113. package/src/table/column/notEqual.js +3 -3
  114. package/src/table/column/numeric/newDecode.js +2 -2
  115. package/src/table/column/numeric/newEncode.js +3 -3
  116. package/src/table/column/string/contains.js +2 -1
  117. package/src/table/column/string/containsCore.js +5 -5
  118. package/src/table/column/string/endsWith.js +1 -1
  119. package/src/table/column/string/endsWithCore.js +4 -4
  120. package/src/table/column/string/iContains.js +2 -1
  121. package/src/table/column/string/iEndsWith.js +1 -1
  122. package/src/table/column/string/iEqual.js +3 -3
  123. package/src/table/column/string/iStartsWith.js +1 -1
  124. package/src/table/column/string/newEncode.js +3 -3
  125. package/src/table/column/string/startsWith.js +1 -1
  126. package/src/table/column/string/startsWithCore.js +4 -4
  127. package/src/table/column/string.js +14 -14
  128. package/src/table/commands/beginCommand.js +2 -2
  129. package/src/table/commands/compressChanges.js +2 -2
  130. package/src/table/commands/delete/newSingleCommand.js +5 -5
  131. package/src/table/commands/delete/singleCommand/joinSql.js +12 -12
  132. package/src/table/commands/delete/singleCommand/newSingleCommandCore.js +2 -2
  133. package/src/table/commands/delete/singleCommand/selectSql.js +6 -6
  134. package/src/table/commands/delete/singleCommand/subFilter.js +11 -11
  135. package/src/table/commands/delete/singleCommand/whereSql.js +2 -2
  136. package/src/table/commands/getChangeSet.js +2 -2
  137. package/src/table/commands/insert/getSqlTemplate.js +16 -16
  138. package/src/table/commands/lastCommandMatches.js +2 -2
  139. package/src/table/commands/newDeleteCommand.js +5 -5
  140. package/src/table/commands/newGetLastInsertedCommand.js +4 -4
  141. package/src/table/commands/newGetLastInsertedCommandCore.js +5 -5
  142. package/src/table/commands/newInsertCommand.js +0 -1
  143. package/src/table/commands/newInsertCommandCore.js +3 -3
  144. package/src/table/commands/newRow.js +4 -4
  145. package/src/table/commands/newUpdateCommand.js +4 -4
  146. package/src/table/commands/newUpdateCommandCore.js +4 -4
  147. package/src/table/commands/pushCommand.js +2 -2
  148. package/src/table/commit.js +13 -11
  149. package/src/table/count.js +8 -8
  150. package/src/table/delete.js +4 -4
  151. package/src/table/deleteSessionContext.js +4 -13
  152. package/src/table/executeQueries/executeChanges.js +3 -3
  153. package/src/table/executeQueries/executeQueriesCore.js +2 -2
  154. package/src/table/executeQueries/executeQuery.js +2 -2
  155. package/src/table/executeQueries/resolveExecuteQuery.js +4 -4
  156. package/src/table/executeQueries.js +4 -4
  157. package/src/table/getFromDbById.js +1 -1
  158. package/src/table/getMany.js +7 -7
  159. package/src/table/getManyDto.js +3 -4
  160. package/src/table/getSessionContext.js +4 -4
  161. package/src/table/getSessionSingleton.js +3 -2
  162. package/src/table/groupBy/newQuery.js +4 -4
  163. package/src/table/groupBy.js +9 -9
  164. package/src/table/insert.js +10 -13
  165. package/src/table/joinRelation/getRelatives.js +6 -6
  166. package/src/table/newGetRelated.js +3 -3
  167. package/src/table/newManyRelation.js +9 -9
  168. package/src/table/newOneRelation.js +9 -9
  169. package/src/table/newPrimaryKeyFilter.js +6 -6
  170. package/src/table/newQuery.js +5 -5
  171. package/src/table/newRelatedTable.js +2 -2
  172. package/src/table/newRowCache.js +17 -17
  173. package/src/table/newThrow.js +2 -2
  174. package/src/table/oneRelation/getRelatives.js +5 -5
  175. package/src/table/popChanges.js +3 -3
  176. package/src/table/promise.js +2 -8
  177. package/src/table/query/extractLimit.js +2 -2
  178. package/src/table/query/extractOffset.js +2 -2
  179. package/src/table/query/extractOrderBy.js +2 -2
  180. package/src/table/query/newSingleQuery.js +7 -7
  181. package/src/table/query/singleQuery/columnSql/joinLegToColumnSql.js +5 -5
  182. package/src/table/query/singleQuery/columnSql/newJoinedColumnSql.js +2 -2
  183. package/src/table/query/singleQuery/columnSql/newShallowColumnSql.js +4 -4
  184. package/src/table/query/singleQuery/joinSql/joinLegToJoinSql.js +2 -2
  185. package/src/table/query/singleQuery/joinSql/joinLegToShallowJoinSql.js +2 -2
  186. package/src/table/query/singleQuery/joinSql/newDiscriminatorSql.js +2 -2
  187. package/src/table/query/singleQuery/joinSql/newShallowJoinSql.js +5 -5
  188. package/src/table/query/singleQuery/joinSql/newShallowJoinSqlCore.js +6 -5
  189. package/src/table/query/singleQuery/joinSql/oneLegToJoinSql.js +2 -2
  190. package/src/table/query/singleQuery/joinSql/oneLegToShallowJoinSql.js +2 -2
  191. package/src/table/query/singleQuery/negotiateExclusive.js +2 -2
  192. package/src/table/query/singleQuery/newColumnSql.js +3 -3
  193. package/src/table/query/singleQuery/newDiscriminatorSql.js +2 -2
  194. package/src/table/query/singleQuery/newJoinSql.js +6 -6
  195. package/src/table/query/singleQuery/newWhereSql.js +3 -3
  196. package/src/table/quote.js +4 -4
  197. package/src/table/relatedTable/aggregate.js +2 -2
  198. package/src/table/relatedTable/all.js +5 -5
  199. package/src/table/relatedTable/any.js +3 -3
  200. package/src/table/relatedTable/childColumn.js +12 -12
  201. package/src/table/relatedTable/columnAggregate.js +3 -3
  202. package/src/table/relatedTable/columnAggregateGroup.js +11 -11
  203. package/src/table/relatedTable/joinSql.js +5 -5
  204. package/src/table/relatedTable/joinSqlArray.js +3 -3
  205. package/src/table/relatedTable/none.js +3 -3
  206. package/src/table/relatedTable/relatedColumn.js +13 -13
  207. package/src/table/relatedTable/selectSql.js +2 -2
  208. package/src/table/relatedTable/subFilter.js +4 -4
  209. package/src/table/relatedTable/where.js +3 -3
  210. package/src/table/relatedTable/whereSql.js +2 -2
  211. package/src/table/relation/manyCache/synchronizeAdded.js +2 -2
  212. package/src/table/relation/manyCache/synchronizeChanged.js +3 -3
  213. package/src/table/relation/manyCache/synchronizeRemoved.js +2 -2
  214. package/src/table/relation/newForeignKeyFilter.js +2 -2
  215. package/src/table/relation/newManyCache.js +16 -16
  216. package/src/table/relation/newOneCache.js +6 -6
  217. package/src/table/releaseDbClient.js +4 -4
  218. package/src/table/resultToPromise.js +1 -3
  219. package/src/table/resultToRows/dbRowToRow.js +8 -8
  220. package/src/table/resultToRows/dbRowsToRows.js +2 -2
  221. package/src/table/resultToRows/decodeDbRow.js +2 -2
  222. package/src/table/resultToRows/delete/removeFromCache.js +6 -6
  223. package/src/table/resultToRows/delete.js +6 -6
  224. package/src/table/resultToRows/newDecodeDbRow.js +19 -18
  225. package/src/table/resultToRows/toDto.js +3 -3
  226. package/src/table/resultToRows.js +3 -3
  227. package/src/table/rollback.js +21 -11
  228. package/src/table/rowArray/negotiateNextTick.js +1 -2
  229. package/src/table/setSessionSingleton.js +6 -3
  230. package/src/table/tryGetFirstFromDb.js +4 -4
  231. package/src/table/tryGetFromCacheById.js +3 -3
  232. package/src/table/tryGetFromDbById/extractStrategy.js +2 -2
  233. package/src/table/tryGetFromDbById.js +8 -6
  234. package/src/table/tryGetSessionContext.js +5 -10
  235. package/src/table/tryReleaseDbClient.js +2 -2
  236. package/src/table/updateField.js +4 -4
  237. package/src/table/where.js +2 -2
  238. package/src/table.js +58 -51
  239. package/src/tedious/deleteFromSql.js +1 -1
  240. package/src/tedious/formatDateOut.js +1 -1
  241. package/src/tedious/getManyDto/newQueryCore.js +5 -5
  242. package/src/tedious/getManyDto/query/newSingleQuery.js +5 -5
  243. package/src/tedious/getManyDto/query/newSubQueries/joinLegToQuery.js +3 -3
  244. package/src/tedious/getManyDto/query/newSubQueries/manyLegToQuery.js +3 -3
  245. package/src/tedious/getManyDto/query/newSubQueries/oneLegToQuery.js +4 -4
  246. package/src/tedious/getManyDto/query/newSubQueries.js +8 -8
  247. package/src/tedious/getManyDto/query/singleQuery/newShallowColumnSql.js +5 -6
  248. package/src/tedious/getManyDto.js +6 -6
  249. package/src/tedious/insert.js +3 -3
  250. package/src/tedious/insertSql.js +3 -3
  251. package/src/tedious/newDatabase.js +17 -30
  252. package/src/tedious/newPool.js +10 -10
  253. package/src/tedious/newTransaction.js +3 -4
  254. package/src/tedious/pool/newGenericPool.js +1 -1
  255. package/src/tedious/quote.js +1 -0
  256. package/src/d1/pool/defaults.js +0 -45
  257. package/src/mssql/pool/defaults.js +0 -45
  258. package/src/oracle/pool/defaults.js +0 -45
  259. package/src/pg/pool/defaults.js +0 -45
  260. package/src/sqlite/pool/defaults.js +0 -45
  261. package/src/tedious/pool/defaults.js +0 -45
package/README.md CHANGED
@@ -359,6 +359,11 @@ npm install pg
359
359
  import map from './map';
360
360
  const db = map.postgres('postgres://postgres:postgres@postgres/postgres');
361
361
  ```
362
+ With schema
363
+ ```javascript
364
+ import map from './map';
365
+ const db = map.postgres('postgres://postgres:postgres@postgres/postgres?search_path=custom');
366
+ ```
362
367
  __Oracle__
363
368
  ```bash
364
369
  npm install oracledb
@@ -1862,7 +1867,7 @@ Supported functions include:
1862
1867
  - avg
1863
1868
 
1864
1869
  __On each row__
1865
- In this example, we are counting the number of lines calculating total amount for each order. This is represented as the property <i>numberOfLines</i>. You can call these aggregated properties whatever you want.
1870
+ In this example, we are counting the number of lines on each order. This is represented as the property <i>numberOfLines</i>. You can name these aggregated properties whatever you want.
1866
1871
  You can also elevate associated data to the a parent level for easier access. In the example below, <i>balance</i> of the customer is elevated to the root level.
1867
1872
 
1868
1873
  ```javascript
package/docs/changelog.md CHANGED
@@ -1,4 +1,8 @@
1
1
  ## Changelog
2
+ __4.4.2__
3
+ Support for schema in connection string. Postgrs only. [#116](https://github.com/alfateam/orange-orm/issues/118)
4
+ __4.4.1__
5
+ Support for date-only ISO strings. [#116](https://github.com/alfateam/orange-orm/issues/116)
2
6
  __4.4.0__
3
7
  More performance gains.
4
8
  __4.3.0__
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "orange-orm",
3
- "version": "4.5.0-beta.0",
3
+ "version": "4.5.0-beta.1",
4
4
  "main": "./src/index.js",
5
5
  "browser": "./src/client/index.mjs",
6
6
  "bin": {
@@ -19,6 +19,7 @@
19
19
  "mssql",
20
20
  "Microsoft Sql Server",
21
21
  "PostgreSql",
22
+ "Cloudflare D1",
22
23
  "Postgres",
23
24
  "pg",
24
25
  "sap",
@@ -58,16 +59,14 @@
58
59
  "@types/tedious": "^4.0.14",
59
60
  "ajv": "^6.10.2",
60
61
  "axios": "^1.6.2",
61
- "deferred": "^0.7.5",
62
62
  "fast-json-patch": "^3.1.1",
63
63
  "findup-sync": "^5.0.0",
64
64
  "glob": "^10.3.4",
65
65
  "module-definition": "^4.0.0",
66
66
  "node-cls": "^1.0.5",
67
- "promise": "^8.0.3",
68
67
  "rfdc": "^1.2.0",
69
68
  "uuid": "^8.3.2",
70
- "wrangler": "^3.86.0"
69
+ "wrangler": "^3.107.2"
71
70
  },
72
71
  "peerDependencies": {
73
72
  "msnodesqlv8": "^4.1.0",
@@ -100,6 +99,9 @@
100
99
  },
101
100
  "tedious": {
102
101
  "optional": true
102
+ },
103
+ "oracledb": {
104
+ "optional": true
103
105
  }
104
106
  },
105
107
  "devDependencies": {
@@ -114,6 +116,7 @@
114
116
  "eslint": "^8.57.0",
115
117
  "eslint-plugin-jest": "^27.1.7",
116
118
  "express": "^4.18.2",
119
+ "miniflare": "^3.20250129.0",
117
120
  "msnodesqlv8": "^4.1.0",
118
121
  "mysql2": "^3.9.4",
119
122
  "oracledb": "^6.3.0",
@@ -124,7 +127,7 @@
124
127
  "sqlite3": "^5.0.2",
125
128
  "tedious": "^18.2.0",
126
129
  "typescript": "^5.4.5",
127
- "vitest": "^0.34.1"
130
+ "vitest": "^0.34.6"
128
131
  },
129
132
  "engines": {
130
133
  "node": ">= 8.0.0"
@@ -170,13 +170,14 @@ function rdbClient(options = {}) {
170
170
  if (!db.createTransaction)
171
171
  throw new Error('Transaction not supported through http');
172
172
  const transaction = db.createTransaction(_options);
173
+
173
174
  try {
174
175
  const nextClient = client({ transaction });
175
176
  await fn(nextClient);
176
- await transaction(db.commit);
177
+ await transaction(transaction.commit);
177
178
  }
178
179
  catch (e) {
179
- await transaction(db.rollback.bind(null, e));
180
+ await transaction(transaction.rollback.bind(null, e));
180
181
  }
181
182
  }
182
183