af-db-ts 2.0.19 → 2.0.73

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 (307) hide show
  1. package/dist/cjs/__tests__/db/ms/@gen-types/test-table_schema.js +3 -0
  2. package/dist/cjs/__tests__/db/ms/@gen-types/test-table_schema.js.map +1 -0
  3. package/dist/cjs/__tests__/db/ms/ddl/column-schema-for-test-table-schema-ms.json +216 -0
  4. package/dist/cjs/__tests__/db/ms/ms-get-sql.spec.js +190 -0
  5. package/dist/cjs/__tests__/db/ms/ms-get-sql.spec.js.map +1 -0
  6. package/dist/cjs/__tests__/db/ms/ms-prepare-sql-value.spec.js +584 -0
  7. package/dist/cjs/__tests__/db/ms/ms-prepare-sql-value.spec.js.map +1 -0
  8. package/dist/cjs/__tests__/db/ms/ms-table-schema.spec.js +107 -0
  9. package/dist/cjs/__tests__/db/ms/ms-table-schema.spec.js.map +1 -0
  10. package/dist/cjs/__tests__/db/pg/@gen-types/test-hard_case.js +3 -0
  11. package/dist/cjs/__tests__/db/pg/@gen-types/test-hard_case.js.map +1 -0
  12. package/dist/cjs/__tests__/db/pg/@gen-types/test-only_one_serial.js +3 -0
  13. package/dist/cjs/__tests__/db/pg/@gen-types/test-only_one_serial.js.map +1 -0
  14. package/dist/cjs/__tests__/db/pg/@gen-types/test-only_one_uniq.js +3 -0
  15. package/dist/cjs/__tests__/db/pg/@gen-types/test-only_one_uniq.js.map +1 -0
  16. package/dist/cjs/__tests__/db/pg/@gen-types/test-serial_and_uniq.js +3 -0
  17. package/dist/cjs/__tests__/db/pg/@gen-types/test-serial_and_uniq.js.map +1 -0
  18. package/dist/cjs/__tests__/db/pg/@gen-types/test-table_schema.js +3 -0
  19. package/dist/cjs/__tests__/db/pg/@gen-types/test-table_schema.js.map +1 -0
  20. package/dist/cjs/__tests__/db/pg/ddl/column-schema-for-test-table-schema-pg.json +170 -0
  21. package/dist/cjs/__tests__/db/pg/gen-table-interfaces-4-test-pg.js +36 -0
  22. package/dist/cjs/__tests__/db/pg/gen-table-interfaces-4-test-pg.js.map +1 -0
  23. package/dist/cjs/__tests__/db/pg/pg-get-sql.spec.js +261 -0
  24. package/dist/cjs/__tests__/db/pg/pg-get-sql.spec.js.map +1 -0
  25. package/dist/cjs/__tests__/db/pg/pg-insert.spec.js +294 -0
  26. package/dist/cjs/__tests__/db/pg/pg-insert.spec.js.map +1 -0
  27. package/dist/cjs/__tests__/db/pg/pg-prepare-sql-value.spec.js +575 -0
  28. package/dist/cjs/__tests__/db/pg/pg-prepare-sql-value.spec.js.map +1 -0
  29. package/dist/cjs/__tests__/db/pg/pg-table-schema.spec.js +117 -0
  30. package/dist/cjs/__tests__/db/pg/pg-table-schema.spec.js.map +1 -0
  31. package/dist/cjs/src/@types/i-data-types-ms.js +3 -0
  32. package/dist/cjs/src/@types/i-data-types-ms.js.map +1 -0
  33. package/dist/cjs/src/@types/i-data-types-pg.js +7 -0
  34. package/dist/cjs/src/@types/i-data-types-pg.js.map +1 -0
  35. package/dist/cjs/src/@types/i-pg.js +0 -21
  36. package/dist/cjs/src/@types/i-pg.js.map +1 -1
  37. package/dist/cjs/src/common.js +6 -5
  38. package/dist/cjs/src/common.js.map +1 -1
  39. package/dist/cjs/src/index.js +75 -54
  40. package/dist/cjs/src/index.js.map +1 -1
  41. package/dist/cjs/src/ms/gen-table-interfaces-ms.js +64 -0
  42. package/dist/cjs/src/ms/gen-table-interfaces-ms.js.map +1 -0
  43. package/dist/cjs/src/ms/get-sql/insert.js +37 -0
  44. package/dist/cjs/src/ms/get-sql/insert.js.map +1 -0
  45. package/dist/cjs/src/ms/get-sql/merge.js +93 -0
  46. package/dist/cjs/src/ms/get-sql/merge.js.map +1 -0
  47. package/dist/cjs/src/ms/get-sql/update.js +32 -0
  48. package/dist/cjs/src/ms/get-sql/update.js.map +1 -0
  49. package/dist/cjs/src/{mssql → ms}/pool-ms.js +6 -23
  50. package/dist/cjs/src/ms/pool-ms.js.map +1 -0
  51. package/dist/cjs/src/ms/prepare-value.js +178 -0
  52. package/dist/cjs/src/ms/prepare-value.js.map +1 -0
  53. package/dist/cjs/src/{mssql → ms}/query-ms.js +1 -1
  54. package/dist/cjs/src/ms/query-ms.js.map +1 -0
  55. package/dist/cjs/src/ms/table-schema-ms.js +241 -0
  56. package/dist/cjs/src/ms/table-schema-ms.js.map +1 -0
  57. package/dist/cjs/src/ms/utils-ms.js +92 -0
  58. package/dist/cjs/src/ms/utils-ms.js.map +1 -0
  59. package/dist/cjs/src/ms/wrap-transaction-ms.js +32 -0
  60. package/dist/cjs/src/ms/wrap-transaction-ms.js.map +1 -0
  61. package/dist/cjs/src/pg/gen-table-interfaces-pg.js +83 -0
  62. package/dist/cjs/src/pg/gen-table-interfaces-pg.js.map +1 -0
  63. package/dist/cjs/src/pg/get-sql/insert.js +38 -0
  64. package/dist/cjs/src/pg/get-sql/insert.js.map +1 -0
  65. package/dist/cjs/src/pg/get-sql/merge.js +60 -0
  66. package/dist/cjs/src/pg/get-sql/merge.js.map +1 -0
  67. package/dist/cjs/src/pg/get-sql/update.js +32 -0
  68. package/dist/cjs/src/pg/get-sql/update.js.map +1 -0
  69. package/dist/cjs/src/pg/{insert.js → insert-pg.js} +10 -10
  70. package/dist/cjs/src/pg/insert-pg.js.map +1 -0
  71. package/dist/cjs/src/pg/is-table-or-view-exists.js +1 -2
  72. package/dist/cjs/src/pg/is-table-or-view-exists.js.map +1 -1
  73. package/dist/cjs/src/pg/{pg-pool.js → pool-pg.js} +6 -7
  74. package/dist/cjs/src/pg/pool-pg.js.map +1 -0
  75. package/dist/cjs/src/pg/prepare-value.js +116 -69
  76. package/dist/cjs/src/pg/prepare-value.js.map +1 -1
  77. package/dist/cjs/src/pg/query-pg.js +2 -2
  78. package/dist/cjs/src/pg/query-pg.js.map +1 -1
  79. package/dist/cjs/src/pg/table-schema-pg.js +183 -0
  80. package/dist/cjs/src/pg/table-schema-pg.js.map +1 -0
  81. package/dist/cjs/src/pg/utils-pg.js +99 -0
  82. package/dist/cjs/src/pg/utils-pg.js.map +1 -0
  83. package/dist/cjs/src/utils/utils-array.js +152 -0
  84. package/dist/cjs/src/utils/utils-array.js.map +1 -0
  85. package/dist/cjs/src/utils/utils-dt.js +121 -0
  86. package/dist/cjs/src/utils/utils-dt.js.map +1 -0
  87. package/dist/cjs/src/utils/utils-num.js +127 -0
  88. package/dist/cjs/src/utils/utils-num.js.map +1 -0
  89. package/dist/cjs/src/utils/utils.js +66 -0
  90. package/dist/cjs/src/utils/utils.js.map +1 -0
  91. package/dist/esm/src/@types/i-data-types-ms.js +2 -0
  92. package/dist/esm/src/@types/i-data-types-ms.js.map +1 -0
  93. package/dist/esm/src/@types/i-data-types-pg.js +6 -0
  94. package/dist/esm/src/@types/i-data-types-pg.js.map +1 -0
  95. package/dist/esm/src/@types/i-pg.js +1 -20
  96. package/dist/esm/src/@types/i-pg.js.map +1 -1
  97. package/dist/esm/src/common.js +3 -2
  98. package/dist/esm/src/common.js.map +1 -1
  99. package/dist/esm/src/index.js +24 -15
  100. package/dist/esm/src/index.js.map +1 -1
  101. package/dist/esm/src/ms/gen-table-interfaces-ms.js +36 -0
  102. package/dist/esm/src/ms/gen-table-interfaces-ms.js.map +1 -0
  103. package/dist/esm/src/ms/get-sql/insert.js +33 -0
  104. package/dist/esm/src/ms/get-sql/insert.js.map +1 -0
  105. package/dist/esm/src/ms/get-sql/merge.js +89 -0
  106. package/dist/esm/src/ms/get-sql/merge.js.map +1 -0
  107. package/dist/esm/src/ms/get-sql/update.js +28 -0
  108. package/dist/esm/src/ms/get-sql/update.js.map +1 -0
  109. package/dist/esm/src/{mssql → ms}/pool-ms.js +5 -20
  110. package/dist/esm/src/ms/pool-ms.js.map +1 -0
  111. package/dist/esm/src/ms/prepare-value.js +149 -0
  112. package/dist/esm/src/ms/prepare-value.js.map +1 -0
  113. package/dist/esm/src/{mssql → ms}/query-ms.js +1 -1
  114. package/dist/esm/src/ms/query-ms.js.map +1 -0
  115. package/dist/esm/src/ms/table-schema-ms.js +213 -0
  116. package/dist/esm/src/ms/table-schema-ms.js.map +1 -0
  117. package/dist/esm/src/ms/utils-ms.js +65 -0
  118. package/dist/esm/src/ms/utils-ms.js.map +1 -0
  119. package/dist/esm/src/ms/wrap-transaction-ms.js +28 -0
  120. package/dist/esm/src/ms/wrap-transaction-ms.js.map +1 -0
  121. package/dist/esm/src/pg/gen-table-interfaces-pg.js +55 -0
  122. package/dist/esm/src/pg/gen-table-interfaces-pg.js.map +1 -0
  123. package/dist/esm/src/pg/get-sql/insert.js +34 -0
  124. package/dist/esm/src/pg/get-sql/insert.js.map +1 -0
  125. package/dist/esm/src/pg/get-sql/merge.js +56 -0
  126. package/dist/esm/src/pg/get-sql/merge.js.map +1 -0
  127. package/dist/esm/src/pg/get-sql/update.js +28 -0
  128. package/dist/esm/src/pg/get-sql/update.js.map +1 -0
  129. package/dist/esm/src/pg/{insert.js → insert-pg.js} +10 -10
  130. package/dist/esm/src/pg/insert-pg.js.map +1 -0
  131. package/dist/esm/src/pg/is-table-or-view-exists.js +1 -2
  132. package/dist/esm/src/pg/is-table-or-view-exists.js.map +1 -1
  133. package/dist/esm/src/pg/{pg-pool.js → pool-pg.js} +6 -7
  134. package/dist/esm/src/pg/pool-pg.js.map +1 -0
  135. package/dist/esm/src/pg/prepare-value.js +113 -67
  136. package/dist/esm/src/pg/prepare-value.js.map +1 -1
  137. package/dist/esm/src/pg/query-pg.js +1 -1
  138. package/dist/esm/src/pg/query-pg.js.map +1 -1
  139. package/dist/esm/src/pg/table-schema-pg.js +178 -0
  140. package/dist/esm/src/pg/table-schema-pg.js.map +1 -0
  141. package/dist/esm/src/pg/utils-pg.js +93 -0
  142. package/dist/esm/src/pg/utils-pg.js.map +1 -0
  143. package/dist/esm/src/utils/utils-array.js +125 -0
  144. package/dist/esm/src/utils/utils-array.js.map +1 -0
  145. package/dist/esm/src/utils/utils-dt.js +114 -0
  146. package/dist/esm/src/utils/utils-dt.js.map +1 -0
  147. package/dist/esm/src/utils/utils-num.js +117 -0
  148. package/dist/esm/src/utils/utils-num.js.map +1 -0
  149. package/dist/esm/src/utils/utils.js +58 -0
  150. package/dist/esm/src/utils/utils.js.map +1 -0
  151. package/dist/types/src/@types/i-common.d.ts +35 -3
  152. package/dist/types/src/@types/i-common.d.ts.map +1 -1
  153. package/dist/types/src/@types/i-data-types-ms.d.ts +3 -0
  154. package/dist/types/src/@types/i-data-types-ms.d.ts.map +1 -0
  155. package/dist/types/src/@types/i-data-types-pg.d.ts +35 -0
  156. package/dist/types/src/@types/i-data-types-pg.d.ts.map +1 -0
  157. package/dist/types/src/@types/i-ms.d.ts +26 -126
  158. package/dist/types/src/@types/i-ms.d.ts.map +1 -1
  159. package/dist/types/src/@types/i-pg.d.ts +11 -35
  160. package/dist/types/src/@types/i-pg.d.ts.map +1 -1
  161. package/dist/types/src/common.d.ts +1 -0
  162. package/dist/types/src/common.d.ts.map +1 -1
  163. package/dist/types/src/index.d.ts +28 -16
  164. package/dist/types/src/index.d.ts.map +1 -1
  165. package/dist/types/src/ms/gen-table-interfaces-ms.d.ts +3 -0
  166. package/dist/types/src/ms/gen-table-interfaces-ms.d.ts.map +1 -0
  167. package/dist/types/src/ms/get-sql/insert.d.ts +9 -0
  168. package/dist/types/src/ms/get-sql/insert.d.ts.map +1 -0
  169. package/dist/types/src/ms/get-sql/merge.d.ts +14 -0
  170. package/dist/types/src/ms/get-sql/merge.d.ts.map +1 -0
  171. package/dist/types/src/ms/get-sql/update.d.ts +9 -0
  172. package/dist/types/src/ms/get-sql/update.d.ts.map +1 -0
  173. package/dist/types/src/{mssql → ms}/pool-ms.d.ts +0 -8
  174. package/dist/types/src/ms/pool-ms.d.ts.map +1 -0
  175. package/dist/types/src/ms/prepare-value.d.ts +12 -0
  176. package/dist/types/src/ms/prepare-value.d.ts.map +1 -0
  177. package/dist/types/src/ms/query-ms.d.ts +3 -0
  178. package/dist/types/src/ms/query-ms.d.ts.map +1 -0
  179. package/dist/types/src/ms/table-schema-ms.d.ts +9 -0
  180. package/dist/types/src/ms/table-schema-ms.d.ts.map +1 -0
  181. package/dist/types/src/ms/utils-ms.d.ts +3 -0
  182. package/dist/types/src/ms/utils-ms.d.ts.map +1 -0
  183. package/dist/types/src/ms/wrap-transaction-ms.d.ts +5 -0
  184. package/dist/types/src/ms/wrap-transaction-ms.d.ts.map +1 -0
  185. package/dist/types/src/pg/gen-table-interfaces-pg.d.ts +3 -0
  186. package/dist/types/src/pg/gen-table-interfaces-pg.d.ts.map +1 -0
  187. package/dist/types/src/pg/get-sql/insert.d.ts +9 -0
  188. package/dist/types/src/pg/get-sql/insert.d.ts.map +1 -0
  189. package/dist/types/src/pg/get-sql/merge.d.ts +10 -0
  190. package/dist/types/src/pg/get-sql/merge.d.ts.map +1 -0
  191. package/dist/types/src/pg/get-sql/update.d.ts +9 -0
  192. package/dist/types/src/pg/get-sql/update.d.ts.map +1 -0
  193. package/dist/types/src/pg/{insert.d.ts → insert-pg.d.ts} +3 -3
  194. package/dist/types/src/pg/insert-pg.d.ts.map +1 -0
  195. package/dist/types/src/pg/{pg-pool.d.ts → pool-pg.d.ts} +1 -1
  196. package/dist/types/src/pg/{pg-pool.d.ts.map → pool-pg.d.ts.map} +1 -1
  197. package/dist/types/src/pg/prepare-value.d.ts +3 -1
  198. package/dist/types/src/pg/prepare-value.d.ts.map +1 -1
  199. package/dist/types/src/pg/query-pg.d.ts +3 -2
  200. package/dist/types/src/pg/query-pg.d.ts.map +1 -1
  201. package/dist/types/src/pg/table-schema-pg.d.ts +12 -0
  202. package/dist/types/src/pg/table-schema-pg.d.ts.map +1 -0
  203. package/dist/types/src/pg/utils-pg.d.ts +5 -0
  204. package/dist/types/src/pg/utils-pg.d.ts.map +1 -0
  205. package/dist/types/src/utils/utils-array.d.ts +5 -0
  206. package/dist/types/src/utils/utils-array.d.ts.map +1 -0
  207. package/dist/types/src/utils/utils-dt.d.ts +15 -0
  208. package/dist/types/src/utils/utils-dt.d.ts.map +1 -0
  209. package/dist/types/src/utils/utils-num.d.ts +9 -0
  210. package/dist/types/src/utils/utils-num.d.ts.map +1 -0
  211. package/dist/types/src/utils/utils.d.ts +18 -0
  212. package/dist/types/src/utils/utils.d.ts.map +1 -0
  213. package/package.json +13 -13
  214. package/src/@types/i-common.ts +42 -4
  215. package/src/@types/i-data-types-ms.ts +81 -0
  216. package/src/@types/i-data-types-pg.ts +120 -0
  217. package/src/@types/i-ms.ts +29 -153
  218. package/src/@types/i-pg.ts +11 -36
  219. package/src/common.ts +4 -2
  220. package/src/index.ts +101 -59
  221. package/src/ms/gen-table-interfaces-ms.ts +52 -0
  222. package/src/ms/get-sql/insert.ts +45 -0
  223. package/src/ms/get-sql/merge.ts +118 -0
  224. package/src/ms/get-sql/update.ts +46 -0
  225. package/src/{mssql → ms}/pool-ms.ts +0 -16
  226. package/src/ms/prepare-value.ts +175 -0
  227. package/src/{mssql → ms}/query-ms.ts +2 -2
  228. package/src/ms/table-schema-ms.ts +231 -0
  229. package/src/ms/utils-ms.ts +72 -0
  230. package/src/ms/wrap-transaction-ms.ts +27 -0
  231. package/src/pg/gen-table-interfaces-pg.ts +74 -0
  232. package/src/pg/get-sql/insert.ts +46 -0
  233. package/src/pg/get-sql/merge.ts +70 -0
  234. package/src/pg/get-sql/update.ts +46 -0
  235. package/src/pg/{insert.ts → insert-pg.ts} +9 -9
  236. package/src/pg/prepare-value.ts +129 -67
  237. package/src/pg/query-pg.ts +4 -3
  238. package/src/pg/table-schema-pg.ts +196 -0
  239. package/src/pg/utils-pg.ts +97 -0
  240. package/src/utils/utils-array.ts +133 -0
  241. package/src/utils/utils-dt.ts +123 -0
  242. package/src/utils/utils-num.ts +131 -0
  243. package/src/utils/utils.ts +64 -0
  244. package/dist/cjs/__tests__/02_getValueForSqlMs.spec.js +0 -50
  245. package/dist/cjs/__tests__/02_getValueForSqlMs.spec.js.map +0 -1
  246. package/dist/cjs/src/mssql/get-value-for-sql.js +0 -277
  247. package/dist/cjs/src/mssql/get-value-for-sql.js.map +0 -1
  248. package/dist/cjs/src/mssql/pool-ms.js.map +0 -1
  249. package/dist/cjs/src/mssql/query-ms.js.map +0 -1
  250. package/dist/cjs/src/mssql/sql.js +0 -427
  251. package/dist/cjs/src/mssql/sql.js.map +0 -1
  252. package/dist/cjs/src/mssql/utils.js +0 -36
  253. package/dist/cjs/src/mssql/utils.js.map +0 -1
  254. package/dist/cjs/src/pg/get-merge-sql.js +0 -52
  255. package/dist/cjs/src/pg/get-merge-sql.js.map +0 -1
  256. package/dist/cjs/src/pg/get-update-sql.js +0 -30
  257. package/dist/cjs/src/pg/get-update-sql.js.map +0 -1
  258. package/dist/cjs/src/pg/insert.js.map +0 -1
  259. package/dist/cjs/src/pg/pg-pool.js.map +0 -1
  260. package/dist/cjs/src/pg/table-schema.js +0 -179
  261. package/dist/cjs/src/pg/table-schema.js.map +0 -1
  262. package/dist/cjs/src/utils.js +0 -17
  263. package/dist/cjs/src/utils.js.map +0 -1
  264. package/dist/esm/src/mssql/get-value-for-sql.js +0 -272
  265. package/dist/esm/src/mssql/get-value-for-sql.js.map +0 -1
  266. package/dist/esm/src/mssql/pool-ms.js.map +0 -1
  267. package/dist/esm/src/mssql/query-ms.js.map +0 -1
  268. package/dist/esm/src/mssql/sql.js +0 -390
  269. package/dist/esm/src/mssql/sql.js.map +0 -1
  270. package/dist/esm/src/mssql/utils.js +0 -31
  271. package/dist/esm/src/mssql/utils.js.map +0 -1
  272. package/dist/esm/src/pg/get-merge-sql.js +0 -48
  273. package/dist/esm/src/pg/get-merge-sql.js.map +0 -1
  274. package/dist/esm/src/pg/get-update-sql.js +0 -26
  275. package/dist/esm/src/pg/get-update-sql.js.map +0 -1
  276. package/dist/esm/src/pg/insert.js.map +0 -1
  277. package/dist/esm/src/pg/pg-pool.js.map +0 -1
  278. package/dist/esm/src/pg/table-schema.js +0 -174
  279. package/dist/esm/src/pg/table-schema.js.map +0 -1
  280. package/dist/esm/src/utils.js +0 -14
  281. package/dist/esm/src/utils.js.map +0 -1
  282. package/dist/types/src/mssql/get-value-for-sql.d.ts +0 -11
  283. package/dist/types/src/mssql/get-value-for-sql.d.ts.map +0 -1
  284. package/dist/types/src/mssql/pool-ms.d.ts.map +0 -1
  285. package/dist/types/src/mssql/query-ms.d.ts +0 -3
  286. package/dist/types/src/mssql/query-ms.d.ts.map +0 -1
  287. package/dist/types/src/mssql/sql.d.ts +0 -57
  288. package/dist/types/src/mssql/sql.d.ts.map +0 -1
  289. package/dist/types/src/mssql/utils.d.ts +0 -10
  290. package/dist/types/src/mssql/utils.d.ts.map +0 -1
  291. package/dist/types/src/pg/get-merge-sql.d.ts +0 -9
  292. package/dist/types/src/pg/get-merge-sql.d.ts.map +0 -1
  293. package/dist/types/src/pg/get-update-sql.d.ts +0 -3
  294. package/dist/types/src/pg/get-update-sql.d.ts.map +0 -1
  295. package/dist/types/src/pg/insert.d.ts.map +0 -1
  296. package/dist/types/src/pg/table-schema.d.ts +0 -12
  297. package/dist/types/src/pg/table-schema.d.ts.map +0 -1
  298. package/dist/types/src/utils.d.ts +0 -9
  299. package/dist/types/src/utils.d.ts.map +0 -1
  300. package/src/mssql/get-value-for-sql.ts +0 -325
  301. package/src/mssql/sql.ts +0 -430
  302. package/src/mssql/utils.ts +0 -31
  303. package/src/pg/get-merge-sql.ts +0 -62
  304. package/src/pg/get-update-sql.ts +0 -32
  305. package/src/pg/table-schema.ts +0 -189
  306. package/src/utils.ts +0 -14
  307. /package/src/pg/{pg-pool.ts → pool-pg.ts} +0 -0
@@ -1,427 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.getRowsAffectedMs = exports.getSqlValuesExpressionMs = exports.getSqlSetExpressionMs = exports.serializeMs = exports.wrapTransactionMs = exports.getRecordSchemaMs = exports.getRecordValuesForSqlMs = exports.prepareDataForSqlMs = exports.prepareRecordForSqlMs = exports.correctRecordSchemaMs = exports.prepareSqlStringMs = exports.sql = void 0;
27
- // noinspection SqlResolve
28
- const sql = __importStar(require("mssql"));
29
- exports.sql = sql;
30
- const af_echo_ts_1 = require("af-echo-ts");
31
- const cache = __importStar(require("memory-cache"));
32
- const af_tools_ts_1 = require("af-tools-ts");
33
- const db = __importStar(require("./pool-ms"));
34
- const utils_1 = require("./utils");
35
- const get_value_for_sql_1 = require("./get-value-for-sql");
36
- const utils_2 = require("../utils");
37
- /**
38
- * Подготовка строки для передачи в SQL
39
- */
40
- const prepareSqlStringMs = (args) => {
41
- const { value, defaultValue = null, length = 0, nullable = false, noQuotes = false, escapeOnlySingleQuotes = false } = args;
42
- if (value == null) {
43
- if (nullable) {
44
- return 'NULL';
45
- }
46
- if (defaultValue) {
47
- return (0, utils_1.q)(defaultValue, noQuotes);
48
- }
49
- return ''; // Это нештатная ситуация, т.к. поле не получит никакого значения ( ,, )
50
- }
51
- if (value === '') {
52
- if (noQuotes) {
53
- return ''; // Это нештатная ситуация, т.к. поле не получит никакого значения ( ,, )
54
- }
55
- return `''`;
56
- }
57
- let val = (0, utils_1.mssqlEscape)(String(value), escapeOnlySingleQuotes);
58
- if (length > 0) {
59
- val = val.substring(0, length);
60
- }
61
- return (0, utils_1.q)(val, noQuotes);
62
- };
63
- exports.prepareSqlStringMs = prepareSqlStringMs;
64
- const FIELD_SCHEMA_PROPS = ['index', 'name', 'length', 'type', 'scale', 'precision', 'nullable', 'caseSensitive',
65
- 'identity', 'mergeIdentity', 'readOnly', 'inputDateFormat', 'defaultValue'];
66
- /**
67
- * Корректировка схемы таблицы
68
- * Поля с суффиксом _json получают тип "json". Остальные корректировки берутся из fieldTypeCorrection
69
- * Например, для полей типа datetime можно передавать свойство inputDateFormat
70
- */
71
- const correctRecordSchemaMs = (recordSchemaAssoc,
72
- // объект корректировок
73
- fieldTypeCorrection) => {
74
- (0, af_tools_ts_1.each)(recordSchemaAssoc, (fieldSchema, fieldName) => {
75
- if (/_json$/i.test(fieldName)) {
76
- fieldSchema.type = 'json';
77
- }
78
- switch (fieldSchema.type) {
79
- case sql.NChar:
80
- case sql.NText:
81
- case sql.NVarChar:
82
- if (fieldSchema.length) {
83
- fieldSchema.length = Math.floor(fieldSchema.length / 2);
84
- }
85
- break;
86
- case sql.UniqueIdentifier:
87
- fieldSchema.length = 36;
88
- break;
89
- default:
90
- }
91
- });
92
- if (fieldTypeCorrection && typeof fieldTypeCorrection === 'object') {
93
- (0, af_tools_ts_1.each)(fieldTypeCorrection, (correction, fieldName) => {
94
- FIELD_SCHEMA_PROPS.forEach((prop) => {
95
- if (correction[prop] !== undefined) {
96
- if (!recordSchemaAssoc[fieldName]) {
97
- recordSchemaAssoc[fieldName] = {};
98
- }
99
- recordSchemaAssoc[fieldName][prop] = correction[prop];
100
- }
101
- });
102
- });
103
- }
104
- };
105
- exports.correctRecordSchemaMs = correctRecordSchemaMs;
106
- /**
107
- * Подготовка значений записи для использования в SQL
108
- *
109
- * Все поля записи обрабатываются функцией getValueForSqlMs
110
- */
111
- const prepareRecordForSqlMs = (record, args) => {
112
- const { recordSchema, addValues4NotNullableFields, addMissingFields } = args;
113
- const { dateTimeOptions, needValidate, escapeOnlySingleQuotes, dialect } = args;
114
- const options = {
115
- value: null,
116
- fieldSchema: '',
117
- needValidate,
118
- escapeOnlySingleQuotes,
119
- dialect,
120
- dateTimeOptions: { ...(recordSchema.dateTimeOptions || {}), ...(dateTimeOptions || {}) },
121
- };
122
- recordSchema.forEach((fieldSchema) => {
123
- const { name = '_#foo#_', readOnly } = fieldSchema;
124
- if (readOnly) {
125
- return;
126
- }
127
- if (Object.prototype.hasOwnProperty.call(record, name)) {
128
- record[name] = (0, get_value_for_sql_1.getValueForSqlMs)({ ...options, value: record[name], fieldSchema });
129
- }
130
- else if ((!fieldSchema.nullable && addValues4NotNullableFields) || addMissingFields) {
131
- record[name] = (0, get_value_for_sql_1.getValueForSqlMs)({ ...options, value: null, fieldSchema });
132
- }
133
- });
134
- };
135
- exports.prepareRecordForSqlMs = prepareRecordForSqlMs;
136
- /**
137
- * Подготовка данных для SQL
138
- *
139
- * Все поля всех записей обрабатываются функцией getValueForSqlMs
140
- */
141
- const prepareDataForSqlMs = (recordSet, args) => {
142
- if (recordSet._isPreparedForSQL) {
143
- return;
144
- }
145
- recordSet.forEach((record) => {
146
- (0, exports.prepareRecordForSqlMs)(record, args);
147
- });
148
- recordSet._isPreparedForSQL = true;
149
- };
150
- exports.prepareDataForSqlMs = prepareDataForSqlMs;
151
- /**
152
- * Возвращает рекорд, в котором все значения преобразованы в строки и подготовлены для прямой вставки в SQL
153
- * В частности, если значение типа строка, то оно уже заключено в одинарные кавычки
154
- */
155
- const getRecordValuesForSqlMs = (record, recordSchema) => {
156
- const recordValuesForSQL = {};
157
- recordSchema.forEach((fieldSchema) => {
158
- const { name = '_#foo#_', readOnly } = fieldSchema;
159
- if (readOnly) {
160
- return;
161
- }
162
- if (Object.prototype.hasOwnProperty.call(record, name)) {
163
- recordValuesForSQL[name] = (0, get_value_for_sql_1.getValueForSqlMs)({
164
- value: record[name],
165
- fieldSchema,
166
- escapeOnlySingleQuotes: true,
167
- dateTimeOptions: recordSchema.dateTimeOptions,
168
- dialect: recordSchema.dialect,
169
- });
170
- }
171
- });
172
- return recordValuesForSQL;
173
- };
174
- exports.getRecordValuesForSqlMs = getRecordValuesForSqlMs;
175
- /**
176
- * Возвращает схему полей таблицы БД. Либо в виде объекта, либо в виде массива
177
- * Если asArray = true, то вернет TRecordSchemaMs, при этом удалит поля, указанные в omitFields
178
- * Иначе вернет TRecordSchemaAssocMs
179
- */
180
- const getRecordSchemaMs = async (
181
- // ID соединения (borf|cep|hr|global)
182
- connectionId,
183
- // Субъект в выражении FROM для таблицы, схему которой нужно вернуть
184
- commonSchemaAndTable,
185
- // Массив имен полей, которые нужно удалить из схемы (не учитывается, если asArray = false)
186
- options = {}) => {
187
- commonSchemaAndTable = utils_2.schemaTable.to.common(commonSchemaAndTable);
188
- const propertyPath = `schemas.${connectionId}.${commonSchemaAndTable}`;
189
- const schemaTableMs = utils_2.schemaTable.to.pg(commonSchemaAndTable);
190
- let result = cache.get(propertyPath);
191
- if (result) {
192
- return result;
193
- }
194
- const { omitFields, pickFields, fieldTypeCorrection, mergeRules: { mergeIdentity = [], excludeFromInsert = [], noUpdateIfNull = false, correction: mergeCorrection, withClause, } = {}, noReturnMergeResult, dateTimeOptions, } = options;
195
- const cPool = await db.getPoolConnectionMs(connectionId, { prefix: 'getRecordSchemaMs' });
196
- const request = new sql.Request(cPool);
197
- request.stream = false;
198
- let res;
199
- try {
200
- res = await request.query(`SELECT TOP(1) *
201
- FROM ${schemaTableMs}`);
202
- }
203
- catch (err) {
204
- af_echo_ts_1.echo.error(`getRecordSchemaMs SQL ERROR`);
205
- af_echo_ts_1.echo.error(err);
206
- throw err;
207
- }
208
- const { columns } = res.recordset;
209
- const readOnlyFields = Object.entries(columns).filter(([, { readOnly: ro }]) => ro).map(([f]) => f);
210
- const omitFields2 = [...readOnlyFields, ...(Array.isArray(omitFields) ? omitFields : [])];
211
- let schemaAssoc = (0, af_tools_ts_1.omit)(columns, omitFields2);
212
- schemaAssoc = Array.isArray(pickFields) ? (0, af_tools_ts_1.pick)(schemaAssoc, pickFields) : schemaAssoc;
213
- (0, exports.correctRecordSchemaMs)(schemaAssoc, fieldTypeCorrection);
214
- const schema = Object.values(schemaAssoc)
215
- .sort((a, b) => {
216
- const ai = ((a === null || a === void 0 ? void 0 : a.index) || 0);
217
- const bi = ((b === null || b === void 0 ? void 0 : b.index) || 0);
218
- if (ai > bi)
219
- return 1;
220
- if (ai < bi)
221
- return -1;
222
- return 0;
223
- });
224
- schema.dateTimeOptions = dateTimeOptions;
225
- const fields = schema.map((o) => o === null || o === void 0 ? void 0 : o.name).filter(Boolean);
226
- const fieldsList = fields.map((fName) => `[${fName}]`)
227
- .join(', ');
228
- const onClause = `(${mergeIdentity.map((fName) => (`target.[${fName}] = source.[${fName}]`))
229
- .join(' AND ')})`;
230
- const insertFields = fields.filter((fName) => (!excludeFromInsert.includes(fName)));
231
- const insertSourceList = insertFields.map((fName) => (`source.[${fName}]`))
232
- .join(', ');
233
- const insertFieldsList = insertFields.map((fName) => `[${fName}]`)
234
- .join(', ');
235
- const updateFields = fields.filter((fName) => (!mergeIdentity.includes(fName)));
236
- let updateFieldsList;
237
- if (noUpdateIfNull) {
238
- updateFieldsList = updateFields.map((fName) => (`target.[${fName}] = COALESCE(source.[${fName}], target.[${fName}])`)).join(', ');
239
- }
240
- else {
241
- updateFieldsList = updateFields.map((fName) => (`target.[${fName}] = source.[${fName}]`)).join(', ');
242
- }
243
- const dbConfig = db.getDbConfigMs(connectionId, false, true);
244
- const dbSchemaAndTable = `[${dbConfig.database}].${schemaTableMs}`;
245
- result = {
246
- connectionId,
247
- dbConfig,
248
- schemaAndTable: commonSchemaAndTable,
249
- schemaTableMs,
250
- dbSchemaAndTable,
251
- columns,
252
- schemaAssoc,
253
- schema,
254
- fields,
255
- insertFields,
256
- insertFieldsList,
257
- withClause,
258
- updateFields,
259
- mergeIdentity,
260
- getMergeSQL(packet, prepareOptions = {}) {
261
- if (prepareOptions.isPrepareForSQL) {
262
- (0, exports.prepareDataForSqlMs)(packet, { recordSchema: this.schema, ...prepareOptions });
263
- }
264
- const values = `(${packet.map((r) => (fields.map((fName) => (r[fName]))
265
- .join(',')))
266
- .join(`)\n,(`)})`;
267
- let mergeSQL = `
268
- MERGE ${schemaTableMs} ${withClause || ''} AS target
269
- USING
270
- (
271
- SELECT * FROM
272
- ( VALUES
273
- ${values}
274
- )
275
- AS s (
276
- ${fieldsList}
277
- )
278
- )
279
- AS source
280
- ON ${onClause}
281
- WHEN MATCHED THEN
282
- UPDATE SET
283
- ${updateFieldsList}
284
- WHEN NOT MATCHED THEN
285
- INSERT (
286
- ${insertFieldsList}
287
- )
288
- VALUES (
289
- ${insertSourceList}
290
- )`;
291
- if (!noReturnMergeResult) {
292
- mergeSQL = `
293
- ${'DECLARE'} @t TABLE ( act VARCHAR(20));
294
- DECLARE @total AS INTEGER;
295
- DECLARE @i AS INTEGER;
296
- DECLARE @u AS INTEGER;
297
- ${mergeSQL}
298
- OUTPUT $action INTO @t;
299
- SET @total = @@ROWCOUNT;
300
- SELECT @i = COUNT(*) FROM @t WHERE act = 'INSERT';
301
- SELECT @u = COUNT(*) FROM @t WHERE act != 'INSERT';
302
- SELECT @total as total, @i as inserted, @u as updated;
303
- `;
304
- }
305
- else {
306
- mergeSQL += `;\n`;
307
- }
308
- return typeof mergeCorrection === 'function' ? mergeCorrection(mergeSQL) : mergeSQL;
309
- },
310
- getInsertSQL(packet, addOutputInserted = false) {
311
- if (!Array.isArray(packet)) {
312
- packet = [packet];
313
- }
314
- const values = `(${packet.map((r) => (insertFields.map((fName) => (r[fName] === undefined ? 'NULL' : r[fName]))
315
- .join(',')))
316
- .join(`)\n,(`)})`;
317
- return `INSERT INTO ${schemaTableMs} (${insertFieldsList}) ${addOutputInserted ? ' OUTPUT inserted.* ' : ''} VALUES ${values}`;
318
- },
319
- getUpdateSQL(record) {
320
- const recordForSQL = (0, exports.getRecordValuesForSqlMs)(record, this.schema);
321
- const setArray = [];
322
- updateFields.forEach((fName) => {
323
- if (recordForSQL[fName] !== undefined) {
324
- setArray.push(`[${fName}] = ${recordForSQL[fName]}`);
325
- }
326
- });
327
- const where = `(${mergeIdentity.map((fName) => (`[${fName}] = ${recordForSQL[fName]}`))
328
- .join(' AND ')})`;
329
- return `UPDATE ${schemaTableMs}
330
- SET ${setArray.join(', ')}
331
- WHERE ${where};`;
332
- },
333
- };
334
- cache.put(propertyPath, result);
335
- return result;
336
- };
337
- exports.getRecordSchemaMs = getRecordSchemaMs;
338
- /**
339
- * Оборачивает инструкции SQL в транзакцию
340
- */
341
- const wrapTransactionMs = (strSQL) => `BEGIN TRY
342
- BEGIN TRANSACTION;
343
-
344
- ${strSQL}
345
-
346
- COMMIT TRANSACTION;
347
- END TRY
348
- BEGIN CATCH
349
- DECLARE @ErrorMessage NVARCHAR(MAX)
350
- , @ErrorSeverity INT
351
- , @ErrorState INT;
352
-
353
- SELECT
354
- @ErrorMessage = ERROR_MESSAGE() + ' Line ' + CAST(ERROR_LINE() AS NVARCHAR(5))
355
- , @ErrorSeverity = ERROR_SEVERITY()
356
- , @ErrorState = ERROR_STATE();
357
-
358
- IF @@trancount > 0
359
- BEGIN
360
- ROLLBACK TRANSACTION;
361
- END;
362
-
363
- RAISERROR(@ErrorMessage, @ErrorSeverity, @ErrorState);
364
- END CATCH;`;
365
- exports.wrapTransactionMs = wrapTransactionMs;
366
- /**
367
- * Возвращает проверенное и серилизованное значение
368
- */
369
- const serializeMs = (args) => {
370
- const val = (0, get_value_for_sql_1.getValueForSqlMs)(args);
371
- if (val == null || val === 'NULL') {
372
- return null;
373
- }
374
- if (typeof val === 'number') {
375
- return val;
376
- }
377
- return String(val).replace(/(^')|('$)/g, '');
378
- };
379
- exports.serializeMs = serializeMs;
380
- /**
381
- * Возвращает подготовленное выражение SET для использования в UPDATE
382
- */
383
- const getSqlSetExpressionMs = (record, recordSchema) => {
384
- const setArray = [];
385
- const { dateTimeOptions } = recordSchema;
386
- recordSchema.forEach((fieldSchema) => {
387
- const { name = '_#foo#_' } = fieldSchema;
388
- if (Object.prototype.hasOwnProperty.call(record, name)) {
389
- setArray.push(`[${name}] = ${(0, get_value_for_sql_1.getValueForSqlMs)({
390
- value: record[name],
391
- fieldSchema,
392
- dateTimeOptions,
393
- escapeOnlySingleQuotes: true,
394
- })}`);
395
- }
396
- });
397
- return `SET ${setArray.join(', ')}`;
398
- };
399
- exports.getSqlSetExpressionMs = getSqlSetExpressionMs;
400
- /**
401
- * Возвращает подготовленное выражение (...поля...) VALUES (...значения...) для использования в INSERT
402
- *
403
- * addOutputInserted - Если true, добавляется выражение OUTPUT inserted.* перед VALUES
404
- */
405
- const getSqlValuesExpressionMs = (record, recordSchema, addOutputInserted = false) => {
406
- const fieldsArray = [];
407
- const valuesArray = [];
408
- const { dateTimeOptions } = recordSchema;
409
- recordSchema.forEach((fieldSchema) => {
410
- const { name = '_#foo#_' } = fieldSchema;
411
- if (Object.prototype.hasOwnProperty.call(record, name)) {
412
- fieldsArray.push(name);
413
- const val = (0, get_value_for_sql_1.getValueForSqlMs)({
414
- value: record[name],
415
- fieldSchema,
416
- dateTimeOptions,
417
- escapeOnlySingleQuotes: true,
418
- });
419
- valuesArray.push(String(val));
420
- }
421
- });
422
- return `([${fieldsArray.join('], [')}]) ${addOutputInserted ? ' OUTPUT inserted.* ' : ''} VALUES (${valuesArray.join(', ')})`;
423
- };
424
- exports.getSqlValuesExpressionMs = getSqlValuesExpressionMs;
425
- const getRowsAffectedMs = (qResult) => (qResult.rowsAffected && qResult.rowsAffected.reduce((a, v) => a + v, 0)) || 0;
426
- exports.getRowsAffectedMs = getRowsAffectedMs;
427
- //# sourceMappingURL=sql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sql.js","sourceRoot":"","sources":["../../../../src/mssql/sql.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.mssqlEscape = exports.q = void 0;
4
- /**
5
- * Оборачивает строку в одинарные кавычки, если второй аргумент не true
6
- */
7
- const q = (val, noQuotes) => (noQuotes ? val : `'${val}'`);
8
- exports.q = q;
9
- /**
10
- * Экранирование одинарной кавычки и символа % для использования строки в SQL запросе
11
- * onlySingleQuotes - true - не экранировать %
12
- */
13
- const mssqlEscape = (str, onlySingleQuotes = false) => {
14
- if (str == null) {
15
- str = '';
16
- }
17
- switch (typeof str) {
18
- case 'number':
19
- str = String(str);
20
- break;
21
- case 'string':
22
- break;
23
- case 'boolean':
24
- str = str ? '1' : '0';
25
- break;
26
- default:
27
- str = String(str || '');
28
- }
29
- str = str.replace(/'/g, `''`);
30
- if (onlySingleQuotes) {
31
- return str;
32
- }
33
- return str.replace(/%/g, '%%');
34
- };
35
- exports.mssqlEscape = mssqlEscape;
36
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/mssql/utils.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACI,MAAM,CAAC,GAAG,CAAC,GAAW,EAAE,QAAkB,EAAU,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC;AAA/E,QAAA,CAAC,KAA8E;AAE5F;;;GAGG;AACI,MAAM,WAAW,GAAG,CAAC,GAAQ,EAAE,mBAA4B,KAAK,EAAU,EAAE;IACjF,IAAI,GAAG,IAAI,IAAI,EAAE;QACf,GAAG,GAAG,EAAE,CAAC;KACV;IACD,QAAQ,OAAO,GAAG,EAAE;QAClB,KAAK,QAAQ;YACX,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAClB,MAAM;QACR,KAAK,QAAQ;YACX,MAAM;QACR,KAAK,SAAS;YACZ,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;YACtB,MAAM;QACR;YACE,GAAG,GAAG,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;KAC3B;IACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC9B,IAAI,gBAAgB,EAAE;QACpB,OAAO,GAAG,CAAC;KACZ;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AACjC,CAAC,CAAC;AArBW,QAAA,WAAW,eAqBtB"}
@@ -1,52 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getMergeSqlPg = void 0;
4
- const table_schema_1 = require("./table-schema");
5
- const prepare_value_1 = require("./prepare-value");
6
- const utils_1 = require("../utils");
7
- const getMergeSqlPg = async (arg) => {
8
- const { connectionId, targetSchemaAndTable, recordset, omitFields = [], noUpdateIfNull } = arg;
9
- if (!(recordset === null || recordset === void 0 ? void 0 : recordset.length)) {
10
- return '';
11
- }
12
- const schemaTablePg = utils_1.schemaTable.to.pg(targetSchemaAndTable);
13
- const tableSchema = await (0, table_schema_1.getTableSchemaPg)(connectionId, targetSchemaAndTable);
14
- const { recordSchema, pk, fieldsWoSerials, defaults } = tableSchema;
15
- let insertFieldsList = fieldsWoSerials;
16
- if (omitFields.length) {
17
- const set = new Set(omitFields);
18
- insertFieldsList = fieldsWoSerials.filter((fieldName) => !set.has(fieldName));
19
- }
20
- const insertValues = recordset.map((record) => {
21
- const preparedValues = [];
22
- insertFieldsList.forEach((fieldName) => {
23
- const value = record[fieldName];
24
- let pgSqlValue = (0, prepare_value_1.prepareSqlValuePg)({ value, fieldDef: recordSchema[fieldName] });
25
- if (defaults[fieldName] != null && pgSqlValue === 'null') {
26
- pgSqlValue = defaults[fieldName];
27
- }
28
- preparedValues.push(pgSqlValue);
29
- });
30
- return `(${preparedValues.join(', ')})`;
31
- }).join(',\n').trim();
32
- const upsertFields = insertFieldsList.map((f) => {
33
- const vArr = [`EXCLUDED."${f}"`];
34
- if (noUpdateIfNull) {
35
- vArr.push(`${schemaTablePg}."${f}"`);
36
- }
37
- if (defaults[f]) {
38
- vArr.push(defaults[f]);
39
- }
40
- return `"${f}" = ${vArr.length > 1 ? `COALESCE(${vArr.join(', ')})` : vArr[0]}`;
41
- }).join(',\n');
42
- // noinspection UnnecessaryLocalVariableJS
43
- const mergeSQL = `${'INSERT'} INTO ${schemaTablePg}
44
- (${insertFieldsList.map((f) => `"${f}"`).join(', ')})
45
- VALUES ${insertValues}
46
- ON CONFLICT (${pk.map((f) => `"${f}"`).join(', ')})
47
- DO UPDATE SET ${upsertFields}
48
- `;
49
- return mergeSQL;
50
- };
51
- exports.getMergeSqlPg = getMergeSqlPg;
52
- //# sourceMappingURL=get-merge-sql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-merge-sql.js","sourceRoot":"","sources":["../../../../src/pg/get-merge-sql.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getUpdateSqlPg = void 0;
4
- const table_schema_1 = require("./table-schema");
5
- const prepare_value_1 = require("./prepare-value");
6
- const utils_1 = require("../utils");
7
- const getUpdateSqlPg = async (connectionId, commonSchemaAndTable, record, customSets = {}) => {
8
- const tableSchema = await (0, table_schema_1.getTableSchemaPg)(connectionId, commonSchemaAndTable);
9
- const { recordSchema, pk, fieldsWoSerials } = tableSchema;
10
- const sqlValue = (fieldName) => (0, prepare_value_1.prepareSqlValuePg)({ value: record[fieldName], fieldDef: recordSchema[fieldName] });
11
- const preparedRecord = {};
12
- fieldsWoSerials.forEach((f) => {
13
- if (pk.includes(f)) {
14
- return;
15
- }
16
- if (customSets[f] !== undefined) {
17
- preparedRecord[f] = customSets[f];
18
- }
19
- else if (record[f] !== undefined) {
20
- preparedRecord[f] = sqlValue(f);
21
- }
22
- });
23
- const sets = Object.entries(preparedRecord).map(([f, v]) => `"${f}" = ${v}`).join(', ');
24
- const where = pk.map((f) => `"${f}" = ${sqlValue(f)}`).join(' AND ');
25
- return `${'UPDATE'} ${utils_1.schemaTable.to.pg(commonSchemaAndTable)} SET
26
- ${sets}
27
- WHERE ${where};`;
28
- };
29
- exports.getUpdateSqlPg = getUpdateSqlPg;
30
- //# sourceMappingURL=get-update-sql.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-update-sql.js","sourceRoot":"","sources":["../../../../src/pg/get-update-sql.ts"],"names":[],"mappings":";;;AAAA,iDAAkD;AAClD,mDAAoD;AAGpD,oCAAuC;AAEhC,MAAM,cAAc,GAAG,KAAK,EACjC,YAAoB,EACpB,oBAA4B,EAC5B,MAAiB,EACjB,aAAwB,EAAE,EACT,EAAE;IACnB,MAAM,WAAW,GAAmB,MAAM,IAAA,+BAAgB,EAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;IAC/F,MAAM,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC;IAC1D,MAAM,QAAQ,GAAG,CAAC,SAAiB,EAAE,EAAE,CAAC,IAAA,iCAAiB,EAAC,EAAE,KAAK,EAAE,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC3H,MAAM,cAAc,GAAc,EAAE,CAAC;IACrC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QAC5B,IAAI,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;YAClB,OAAO;SACR;QACD,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;YAC/B,cAAc,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;SACnC;aAAM,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;YAClC,cAAc,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;SACjC;IACH,CAAC,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxF,MAAM,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACrE,OAAO,GAAG,QAAQ,IAAI,mBAAW,CAAC,EAAE,CAAC,EAAE,CAAC,oBAAoB,CAAC;MACzD,IAAI;UACA,KAAK,GAAG,CAAC;AACnB,CAAC,CAAC;AAzBW,QAAA,cAAc,kBAyBzB"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../../src/pg/insert.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"pg-pool.js","sourceRoot":"","sources":["../../../../src/pg/pg-pool.ts"],"names":[],"mappings":"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"}