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
@@ -0,0 +1,117 @@
1
+ "use strict";
2
+ // noinspection SqlDialectInspection
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || function (mod) {
20
+ if (mod && mod.__esModule) return mod;
21
+ var result = {};
22
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
23
+ __setModuleDefault(result, mod);
24
+ return result;
25
+ };
26
+ var __importDefault = (this && this.__importDefault) || function (mod) {
27
+ return (mod && mod.__esModule) ? mod : { "default": mod };
28
+ };
29
+ Object.defineProperty(exports, "__esModule", { value: true });
30
+ const path = __importStar(require("path"));
31
+ const fs_1 = __importDefault(require("fs"));
32
+ const src_1 = require("../../../src");
33
+ const column_schema_for_test_table_schema_pg_json_1 = __importDefault(require("./ddl/column-schema-for-test-table-schema-pg.json"));
34
+ const connectionId = 'test';
35
+ let tableSchema;
36
+ beforeAll(async () => {
37
+ const sql = fs_1.default.readFileSync(path.normalize(path.join(process.cwd(), '__tests__/db/pg/ddl/test.test_table_schema.sql')), 'utf-8');
38
+ await (0, src_1.queryPg)(connectionId, sql);
39
+ await (0, src_1.genTableInterfacePg)('test', 'test.table_schema', path.normalize(path.join(process.cwd(), '__tests__/db/pg/@gen-types')));
40
+ tableSchema = await (0, src_1.getTableSchemaPg)(connectionId, 'test.table_schema');
41
+ });
42
+ describe('getTableSchemaPg()', () => {
43
+ test('pk', async () => {
44
+ expect(tableSchema.pk).toEqual(['i1', 'si1']);
45
+ });
46
+ test('uc', async () => {
47
+ expect(tableSchema.uc).toEqual({
48
+ ux__test__fable_schema__vc_tz: [
49
+ 'dtz1',
50
+ 'vc1',
51
+ ],
52
+ uix__test__fable_schema__time1_bool1: [
53
+ 'bool1',
54
+ 'time1',
55
+ ],
56
+ });
57
+ });
58
+ test('defaults', async () => {
59
+ expect(tableSchema.defaults).toEqual({
60
+ bool1: 'true',
61
+ bool2: 'false',
62
+ dtz1: 'CURRENT_TIMESTAMP',
63
+ i1: '25',
64
+ });
65
+ });
66
+ test('fieldsList', async () => {
67
+ expect(tableSchema.fieldsArray).toEqual([
68
+ 'ser1',
69
+ 'ser2',
70
+ 'i1',
71
+ 'i2',
72
+ 'si1',
73
+ 'vc1',
74
+ 'dtz1',
75
+ 'time1',
76
+ 'bool1',
77
+ 'bool2',
78
+ 'arr_int',
79
+ 'arr_str',
80
+ 'decimal',
81
+ 'numeric',
82
+ 'money',
83
+ 'real',
84
+ 'double_precision',
85
+ 'bytea',
86
+ 'gen1',
87
+ ]);
88
+ });
89
+ test('fieldsWoSerialsAndRO', async () => {
90
+ expect(tableSchema.fieldsWoSerialsAndRO).toEqual([
91
+ 'i1',
92
+ 'i2',
93
+ 'si1',
94
+ 'vc1',
95
+ 'dtz1',
96
+ 'time1',
97
+ 'bool1',
98
+ 'bool2',
99
+ 'arr_int',
100
+ 'arr_str',
101
+ 'decimal',
102
+ 'numeric',
103
+ 'money',
104
+ 'real',
105
+ 'double_precision',
106
+ 'bytea',
107
+ ]);
108
+ });
109
+ test('serialsFields', async () => {
110
+ expect(tableSchema.serialsFields).toEqual(['ser1', 'ser2']);
111
+ });
112
+ test('columnsSchema', async () => {
113
+ const json = JSON.parse(JSON.stringify(column_schema_for_test_table_schema_pg_json_1.default));
114
+ expect(tableSchema.columnsSchema).toStrictEqual(json);
115
+ });
116
+ });
117
+ //# sourceMappingURL=pg-table-schema.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pg-table-schema.spec.js","sourceRoot":"","sources":["../../../../../__tests__/db/pg/pg-table-schema.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=i-data-types-ms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-data-types-ms.js","sourceRoot":"","sources":["../../../../src/@types/i-data-types-ms.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ // Не ясно, откуда взялись
4
+ // '_oid' |
5
+ // '_abstime' |
6
+ // '_name' /
7
+ //# sourceMappingURL=i-data-types-pg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"i-data-types-pg.js","sourceRoot":"","sources":["../../../../src/@types/i-data-types-pg.ts"],"names":[],"mappings":";;AAoHA,0BAA0B;AAC1B,WAAW;AACX,eAAe;AACf,YAAY"}
@@ -1,24 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EDataTypePg = void 0;
4
- var EDataTypePg;
5
- (function (EDataTypePg) {
6
- EDataTypePg["USER_DEFINED"] = "USER-DEFINED";
7
- EDataTypePg["bigint"] = "bigint";
8
- EDataTypePg["boolean"] = "boolean";
9
- EDataTypePg["character"] = "character";
10
- EDataTypePg["varchar"] = "character varying";
11
- EDataTypePg["date"] = "date";
12
- EDataTypePg["integer"] = "integer";
13
- EDataTypePg["json"] = "json";
14
- EDataTypePg["jsonb"] = "jsonb";
15
- EDataTypePg["numeric"] = "numeric";
16
- EDataTypePg["real"] = "real";
17
- EDataTypePg["smallint"] = "smallint";
18
- EDataTypePg["text"] = "text";
19
- EDataTypePg["timestamptz"] = "timestamp with time zone";
20
- EDataTypePg["timestamp"] = "timestamp without time zone";
21
- EDataTypePg["uuid"] = "uuid";
22
- EDataTypePg["ARRAY"] = "ARRAY";
23
- })(EDataTypePg || (exports.EDataTypePg = EDataTypePg = {}));
24
3
  //# sourceMappingURL=i-pg.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"i-pg.js","sourceRoot":"","sources":["../../../../src/@types/i-pg.ts"],"names":[],"mappings":";;;AAEA,IAAY,WAkBX;AAlBD,WAAY,WAAW;IACrB,4CAA+B,CAAA;IAC/B,gCAAmB,CAAA;IACnB,kCAAqB,CAAA;IACrB,sCAAyB,CAAA;IACzB,4CAA+B,CAAA;IAC/B,4BAAe,CAAA;IACf,kCAAqB,CAAA;IACrB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,kCAAqB,CAAA;IACrB,4BAAe,CAAA;IACf,oCAAuB,CAAA;IACvB,4BAAe,CAAA;IACf,uDAA0C,CAAA;IAC1C,wDAA2C,CAAA;IAC3C,4BAAe,CAAA;IACf,8BAAiB,CAAA;AACnB,CAAC,EAlBW,WAAW,2BAAX,WAAW,QAkBtB"}
1
+ {"version":3,"file":"i-pg.js","sourceRoot":"","sources":["../../../../src/@types/i-pg.ts"],"names":[],"mappings":""}
@@ -1,10 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._1_HOUR = exports._3_HOURS = exports.graceExit = exports.closeAllDb = exports.logSqlError = void 0;
3
+ exports._1_HOUR = exports._3_HOURS = exports.graceExit = exports.closeAllDb = exports.logSqlError = exports.NULL = void 0;
4
4
  const af_color_1 = require("af-color");
5
- const pg_pool_1 = require("./pg/pg-pool");
6
- const pool_ms_1 = require("./mssql/pool-ms");
5
+ const pool_pg_1 = require("./pg/pool-pg");
6
+ const pool_ms_1 = require("./ms/pool-ms");
7
7
  const logger_error_1 = require("./logger-error");
8
+ exports.NULL = 'null';
8
9
  const logSqlError = (err, throwError, textSQL, prefix) => {
9
10
  if (prefix) {
10
11
  logger_error_1.logger.error(prefix);
@@ -19,7 +20,7 @@ const logSqlError = (err, throwError, textSQL, prefix) => {
19
20
  };
20
21
  exports.logSqlError = logSqlError;
21
22
  const closeAllDb = async () => {
22
- await (0, pg_pool_1.closeAllPgConnectionsPg)();
23
+ await (0, pool_pg_1.closeAllPgConnectionsPg)();
23
24
  await (0, pool_ms_1.closeAllDbConnectionsMs)();
24
25
  };
25
26
  exports.closeAllDb = closeAllDb;
@@ -27,7 +28,7 @@ exports.closeAllDb = closeAllDb;
27
28
  * Закрывает все соединения с БД и завершает работу скрипта
28
29
  */
29
30
  const graceExit = async () => {
30
- await (0, pg_pool_1.closeAllPgConnectionsPg)();
31
+ await (0, pool_pg_1.closeAllPgConnectionsPg)();
31
32
  await (0, pool_ms_1.closeAllDbConnectionsMs)();
32
33
  process.exit(0);
33
34
  };
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,0CAAuD;AACvD,6CAA0D;AAC1D,iDAAwC;AAEjC,MAAM,WAAW,GAAG,CAAC,GAAgB,EAAE,UAAoB,EAAE,OAAgB,EAAE,MAAe,EAAE,EAAE;IACvG,IAAI,MAAM,EAAE;QACV,qBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;KACtB;IACD,IAAI,OAAO,EAAE;QACX,qBAAM,CAAC,KAAK,CAAC,eAAe,kBAAO,GAAG,OAAO,EAAE,CAAC,CAAC;KAClD;IACD,qBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,EAAE;QACd,MAAM,GAAG,CAAC;KACX;AACH,CAAC,CAAC;AAXW,QAAA,WAAW,eAWtB;AAEK,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,MAAM,IAAA,iCAAuB,GAAE,CAAC;AAClC,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEF;;GAEG;AACI,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;IAClC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEW,QAAA,QAAQ,GAAG,OAAS,GAAG,CAAC,CAAC,CAAC,MAAM;AAChC,QAAA,OAAO,GAAG,OAAS,CAAC,CAAC,MAAM"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/common.ts"],"names":[],"mappings":";;;AAAA,uCAAmC;AACnC,0CAAuD;AACvD,0CAAuD;AACvD,iDAAwC;AAE3B,QAAA,IAAI,GAAG,MAAM,CAAC;AAEpB,MAAM,WAAW,GAAG,CAAC,GAAgB,EAAE,UAAoB,EAAE,OAAgB,EAAE,MAAe,EAAE,EAAE;IACvG,IAAI,MAAM,EAAE,CAAC;QACX,qBAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC;IACD,IAAI,OAAO,EAAE,CAAC;QACZ,qBAAM,CAAC,KAAK,CAAC,eAAe,kBAAO,GAAG,OAAO,EAAE,CAAC,CAAC;IACnD,CAAC;IACD,qBAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClB,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAXW,QAAA,WAAW,eAWtB;AAEK,MAAM,UAAU,GAAG,KAAK,IAAI,EAAE;IACnC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,MAAM,IAAA,iCAAuB,GAAE,CAAC;AAClC,CAAC,CAAC;AAHW,QAAA,UAAU,cAGrB;AAEF;;GAEG;AACI,MAAM,SAAS,GAAG,KAAK,IAAI,EAAE;IAClC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,MAAM,IAAA,iCAAuB,GAAE,CAAC;IAChC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEW,QAAA,QAAQ,GAAG,OAAS,GAAG,CAAC,CAAC,CAAC,MAAM;AAChC,QAAA,OAAO,GAAG,OAAS,CAAC,CAAC,MAAM"}
@@ -1,68 +1,89 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.schemaTable = exports.setLogger = exports.logSqlError = exports.graceExit = exports.closeAllDb = exports.getTableSchemaPg = exports.getFieldsAndValuesPg = exports.queryPg = exports.prepareSqlValuePg = exports.prepareSqlStringPg = exports.closeAllPgConnectionsPg = exports.getDbConfigPg = exports.closePoolPg = exports.getPoolPg = exports.poolsCachePg = exports.isTableOrViewExistsPg = exports.EUpdateLevel = exports.insertPg = exports.getUpdateSqlPg = exports.getMergeSqlPg = exports.mssqlEscape = exports.sql = exports.getRowsAffectedMs = exports.prepareDataForSqlMs = exports.prepareRecordForSqlMs = exports.getSqlValuesExpressionMs = exports.getSqlSetExpressionMs = exports.getRecordValuesForSqlMs = exports.serializeMs = exports.wrapTransactionMs = exports.getRecordSchemaMs = exports.correctRecordSchemaMs = exports.prepareSqlStringMs = exports.queryMs = exports.closeDbConnectionsAndExit = exports.closeAllDbConnections = exports.poolsCacheMs = exports.getPoolMs = exports.getDbConfigMs = exports.closeDbConnectionsMs = exports.closeDbConnectionsAndExitMs = exports.closeAllDbConnectionsMs = exports.getPoolConnectionMs = exports.getValueForSQL = exports.binToHexString = exports.getValueForSqlMs = exports.EDataTypePg = void 0;
4
- var i_pg_1 = require("./@types/i-pg");
5
- Object.defineProperty(exports, "EDataTypePg", { enumerable: true, get: function () { return i_pg_1.EDataTypePg; } });
6
- var get_value_for_sql_1 = require("./mssql/get-value-for-sql");
7
- Object.defineProperty(exports, "getValueForSqlMs", { enumerable: true, get: function () { return get_value_for_sql_1.getValueForSqlMs; } });
8
- Object.defineProperty(exports, "binToHexString", { enumerable: true, get: function () { return get_value_for_sql_1.binToHexString; } });
9
- Object.defineProperty(exports, "getValueForSQL", { enumerable: true, get: function () { return get_value_for_sql_1.getValueForSQL; } });
10
- var pool_ms_1 = require("./mssql/pool-ms");
3
+ exports.getPoolPg = exports.poolsCachePg = exports.isTableOrViewExistsPg = exports.EUpdateLevel = exports.insertPg = exports.getUpdateSqlPg = exports.getMergeSqlPg = exports.getInsertSqlPg = exports.getNormalizedTypePg = exports.getTypeByUdtNamePg = exports.getJsTypeByTypePg = exports.genTableInterfacesPg = exports.genTableInterfacePg = exports.wrapTransactionMs = exports.correctRecordSchemaMs = exports.getTableSchemaMs = exports.queryMs = exports.prepareSqlStringMs = exports.prepareSqlValueMs = exports.getPoolMs = exports.getDbConfigMs = exports.closeDbConnectionsMs = exports.closeDbConnectionsAndExitMs = exports.closeAllDbConnectionsMs = exports.getPoolConnectionMs = exports.poolsCacheMs = exports.getUpdateSqlMs = exports.getMergeSqlMs = exports.getInsertSqlMs = exports.getJsTypeByTypeMs = exports.genTableInterfacesMs = exports.genTableInterfaceMs = exports.prepareBigIntNumber = exports.prepareFloatNumber = exports.parseFloatNumber = exports.prepareIntNumber = exports.parseIntNumber = exports.getDatetimeWithPrecisionAndOffset = exports.dateTimeValue = exports.getTypeOfDateInput = exports.getLuxonDT = exports.q = exports.removePairBrackets = exports.binToHexString = exports.prepareJSON = exports.schemaTable = exports.setLogger = exports.logSqlError = exports.graceExit = exports.closeAllDb = void 0;
4
+ exports.getTableSchemaPg = exports.getFieldsAndValuesPg = exports.queryPg = exports.prepareSqlValuePg = exports.prepareSqlStringPg = exports.closeAllPgConnectionsPg = exports.getDbConfigPg = exports.closePoolPg = void 0;
5
+ var common_1 = require("./common");
6
+ Object.defineProperty(exports, "closeAllDb", { enumerable: true, get: function () { return common_1.closeAllDb; } });
7
+ Object.defineProperty(exports, "graceExit", { enumerable: true, get: function () { return common_1.graceExit; } });
8
+ Object.defineProperty(exports, "logSqlError", { enumerable: true, get: function () { return common_1.logSqlError; } });
9
+ var logger_error_1 = require("./logger-error");
10
+ Object.defineProperty(exports, "setLogger", { enumerable: true, get: function () { return logger_error_1.setLogger; } });
11
+ var utils_1 = require("./utils/utils");
12
+ Object.defineProperty(exports, "schemaTable", { enumerable: true, get: function () { return utils_1.schemaTable; } });
13
+ Object.defineProperty(exports, "prepareJSON", { enumerable: true, get: function () { return utils_1.prepareJSON; } });
14
+ Object.defineProperty(exports, "binToHexString", { enumerable: true, get: function () { return utils_1.binToHexString; } });
15
+ Object.defineProperty(exports, "removePairBrackets", { enumerable: true, get: function () { return utils_1.removePairBrackets; } });
16
+ Object.defineProperty(exports, "q", { enumerable: true, get: function () { return utils_1.q; } });
17
+ var utils_dt_1 = require("./utils/utils-dt");
18
+ Object.defineProperty(exports, "getLuxonDT", { enumerable: true, get: function () { return utils_dt_1.getLuxonDT; } });
19
+ Object.defineProperty(exports, "getTypeOfDateInput", { enumerable: true, get: function () { return utils_dt_1.getTypeOfDateInput; } });
20
+ Object.defineProperty(exports, "dateTimeValue", { enumerable: true, get: function () { return utils_dt_1.dateTimeValue; } });
21
+ Object.defineProperty(exports, "getDatetimeWithPrecisionAndOffset", { enumerable: true, get: function () { return utils_dt_1.getDatetimeWithPrecisionAndOffset; } });
22
+ var utils_num_1 = require("./utils/utils-num");
23
+ Object.defineProperty(exports, "parseIntNumber", { enumerable: true, get: function () { return utils_num_1.parseIntNumber; } });
24
+ Object.defineProperty(exports, "prepareIntNumber", { enumerable: true, get: function () { return utils_num_1.prepareIntNumber; } });
25
+ Object.defineProperty(exports, "parseFloatNumber", { enumerable: true, get: function () { return utils_num_1.parseFloatNumber; } });
26
+ Object.defineProperty(exports, "prepareFloatNumber", { enumerable: true, get: function () { return utils_num_1.prepareFloatNumber; } });
27
+ Object.defineProperty(exports, "prepareBigIntNumber", { enumerable: true, get: function () { return utils_num_1.prepareBigIntNumber; } });
28
+ var gen_table_interfaces_ms_1 = require("./ms/gen-table-interfaces-ms");
29
+ Object.defineProperty(exports, "genTableInterfaceMs", { enumerable: true, get: function () { return gen_table_interfaces_ms_1.genTableInterfaceMs; } });
30
+ Object.defineProperty(exports, "genTableInterfacesMs", { enumerable: true, get: function () { return gen_table_interfaces_ms_1.genTableInterfacesMs; } });
31
+ var utils_ms_1 = require("./ms/utils-ms");
32
+ Object.defineProperty(exports, "getJsTypeByTypeMs", { enumerable: true, get: function () { return utils_ms_1.getJsTypeByTypeMs; } });
33
+ var insert_1 = require("./ms/get-sql/insert");
34
+ Object.defineProperty(exports, "getInsertSqlMs", { enumerable: true, get: function () { return insert_1.getInsertSqlMs; } });
35
+ var merge_1 = require("./ms/get-sql/merge");
36
+ Object.defineProperty(exports, "getMergeSqlMs", { enumerable: true, get: function () { return merge_1.getMergeSqlMs; } });
37
+ var update_1 = require("./ms/get-sql/update");
38
+ Object.defineProperty(exports, "getUpdateSqlMs", { enumerable: true, get: function () { return update_1.getUpdateSqlMs; } });
39
+ var pool_ms_1 = require("./ms/pool-ms");
40
+ Object.defineProperty(exports, "poolsCacheMs", { enumerable: true, get: function () { return pool_ms_1.poolsCacheMs; } });
11
41
  Object.defineProperty(exports, "getPoolConnectionMs", { enumerable: true, get: function () { return pool_ms_1.getPoolConnectionMs; } });
12
42
  Object.defineProperty(exports, "closeAllDbConnectionsMs", { enumerable: true, get: function () { return pool_ms_1.closeAllDbConnectionsMs; } });
13
43
  Object.defineProperty(exports, "closeDbConnectionsAndExitMs", { enumerable: true, get: function () { return pool_ms_1.closeDbConnectionsAndExitMs; } });
14
44
  Object.defineProperty(exports, "closeDbConnectionsMs", { enumerable: true, get: function () { return pool_ms_1.closeDbConnectionsMs; } });
15
45
  Object.defineProperty(exports, "getDbConfigMs", { enumerable: true, get: function () { return pool_ms_1.getDbConfigMs; } });
16
46
  Object.defineProperty(exports, "getPoolMs", { enumerable: true, get: function () { return pool_ms_1.getPoolMs; } });
17
- Object.defineProperty(exports, "poolsCacheMs", { enumerable: true, get: function () { return pool_ms_1.poolsCacheMs; } });
18
- Object.defineProperty(exports, "closeAllDbConnections", { enumerable: true, get: function () { return pool_ms_1.closeAllDbConnections; } });
19
- Object.defineProperty(exports, "closeDbConnectionsAndExit", { enumerable: true, get: function () { return pool_ms_1.closeDbConnectionsAndExit; } });
20
- var query_ms_1 = require("./mssql/query-ms");
47
+ var prepare_value_1 = require("./ms/prepare-value");
48
+ Object.defineProperty(exports, "prepareSqlValueMs", { enumerable: true, get: function () { return prepare_value_1.prepareSqlValueMs; } });
49
+ Object.defineProperty(exports, "prepareSqlStringMs", { enumerable: true, get: function () { return prepare_value_1.prepareSqlStringMs; } });
50
+ var query_ms_1 = require("./ms/query-ms");
21
51
  Object.defineProperty(exports, "queryMs", { enumerable: true, get: function () { return query_ms_1.queryMs; } });
22
- var sql_1 = require("./mssql/sql");
23
- Object.defineProperty(exports, "prepareSqlStringMs", { enumerable: true, get: function () { return sql_1.prepareSqlStringMs; } });
24
- Object.defineProperty(exports, "correctRecordSchemaMs", { enumerable: true, get: function () { return sql_1.correctRecordSchemaMs; } });
25
- Object.defineProperty(exports, "getRecordSchemaMs", { enumerable: true, get: function () { return sql_1.getRecordSchemaMs; } });
26
- Object.defineProperty(exports, "wrapTransactionMs", { enumerable: true, get: function () { return sql_1.wrapTransactionMs; } });
27
- Object.defineProperty(exports, "serializeMs", { enumerable: true, get: function () { return sql_1.serializeMs; } });
28
- Object.defineProperty(exports, "getRecordValuesForSqlMs", { enumerable: true, get: function () { return sql_1.getRecordValuesForSqlMs; } });
29
- Object.defineProperty(exports, "getSqlSetExpressionMs", { enumerable: true, get: function () { return sql_1.getSqlSetExpressionMs; } });
30
- Object.defineProperty(exports, "getSqlValuesExpressionMs", { enumerable: true, get: function () { return sql_1.getSqlValuesExpressionMs; } });
31
- Object.defineProperty(exports, "prepareRecordForSqlMs", { enumerable: true, get: function () { return sql_1.prepareRecordForSqlMs; } });
32
- Object.defineProperty(exports, "prepareDataForSqlMs", { enumerable: true, get: function () { return sql_1.prepareDataForSqlMs; } });
33
- Object.defineProperty(exports, "getRowsAffectedMs", { enumerable: true, get: function () { return sql_1.getRowsAffectedMs; } });
34
- Object.defineProperty(exports, "sql", { enumerable: true, get: function () { return sql_1.sql; } });
35
- var utils_1 = require("./mssql/utils");
36
- Object.defineProperty(exports, "mssqlEscape", { enumerable: true, get: function () { return utils_1.mssqlEscape; } });
37
- var get_merge_sql_1 = require("./pg/get-merge-sql");
38
- Object.defineProperty(exports, "getMergeSqlPg", { enumerable: true, get: function () { return get_merge_sql_1.getMergeSqlPg; } });
39
- var get_update_sql_1 = require("./pg/get-update-sql");
40
- Object.defineProperty(exports, "getUpdateSqlPg", { enumerable: true, get: function () { return get_update_sql_1.getUpdateSqlPg; } });
41
- var insert_1 = require("./pg/insert");
42
- Object.defineProperty(exports, "insertPg", { enumerable: true, get: function () { return insert_1.insertPg; } });
43
- Object.defineProperty(exports, "EUpdateLevel", { enumerable: true, get: function () { return insert_1.EUpdateLevel; } });
52
+ var table_schema_ms_1 = require("./ms/table-schema-ms");
53
+ Object.defineProperty(exports, "getTableSchemaMs", { enumerable: true, get: function () { return table_schema_ms_1.getTableSchemaMs; } });
54
+ Object.defineProperty(exports, "correctRecordSchemaMs", { enumerable: true, get: function () { return table_schema_ms_1.correctRecordSchemaMs; } });
55
+ var wrap_transaction_ms_1 = require("./ms/wrap-transaction-ms");
56
+ Object.defineProperty(exports, "wrapTransactionMs", { enumerable: true, get: function () { return wrap_transaction_ms_1.wrapTransactionMs; } });
57
+ var gen_table_interfaces_pg_1 = require("./pg/gen-table-interfaces-pg");
58
+ Object.defineProperty(exports, "genTableInterfacePg", { enumerable: true, get: function () { return gen_table_interfaces_pg_1.genTableInterfacePg; } });
59
+ Object.defineProperty(exports, "genTableInterfacesPg", { enumerable: true, get: function () { return gen_table_interfaces_pg_1.genTableInterfacesPg; } });
60
+ var utils_pg_1 = require("./pg/utils-pg");
61
+ Object.defineProperty(exports, "getJsTypeByTypePg", { enumerable: true, get: function () { return utils_pg_1.getJsTypeByTypePg; } });
62
+ Object.defineProperty(exports, "getTypeByUdtNamePg", { enumerable: true, get: function () { return utils_pg_1.getTypeByUdtNamePg; } });
63
+ Object.defineProperty(exports, "getNormalizedTypePg", { enumerable: true, get: function () { return utils_pg_1.getNormalizedTypePg; } });
64
+ var insert_2 = require("./pg/get-sql/insert");
65
+ Object.defineProperty(exports, "getInsertSqlPg", { enumerable: true, get: function () { return insert_2.getInsertSqlPg; } });
66
+ var merge_2 = require("./pg/get-sql/merge");
67
+ Object.defineProperty(exports, "getMergeSqlPg", { enumerable: true, get: function () { return merge_2.getMergeSqlPg; } });
68
+ var update_2 = require("./pg/get-sql/update");
69
+ Object.defineProperty(exports, "getUpdateSqlPg", { enumerable: true, get: function () { return update_2.getUpdateSqlPg; } });
70
+ var insert_pg_1 = require("./pg/insert-pg");
71
+ Object.defineProperty(exports, "insertPg", { enumerable: true, get: function () { return insert_pg_1.insertPg; } });
72
+ Object.defineProperty(exports, "EUpdateLevel", { enumerable: true, get: function () { return insert_pg_1.EUpdateLevel; } });
44
73
  var is_table_or_view_exists_1 = require("./pg/is-table-or-view-exists");
45
74
  Object.defineProperty(exports, "isTableOrViewExistsPg", { enumerable: true, get: function () { return is_table_or_view_exists_1.isTableOrViewExistsPg; } });
46
- var pg_pool_1 = require("./pg/pg-pool");
47
- Object.defineProperty(exports, "poolsCachePg", { enumerable: true, get: function () { return pg_pool_1.poolsCachePg; } });
48
- Object.defineProperty(exports, "getPoolPg", { enumerable: true, get: function () { return pg_pool_1.getPoolPg; } });
49
- Object.defineProperty(exports, "closePoolPg", { enumerable: true, get: function () { return pg_pool_1.closePoolPg; } });
50
- Object.defineProperty(exports, "getDbConfigPg", { enumerable: true, get: function () { return pg_pool_1.getDbConfigPg; } });
51
- Object.defineProperty(exports, "closeAllPgConnectionsPg", { enumerable: true, get: function () { return pg_pool_1.closeAllPgConnectionsPg; } });
52
- var prepare_value_1 = require("./pg/prepare-value");
53
- Object.defineProperty(exports, "prepareSqlStringPg", { enumerable: true, get: function () { return prepare_value_1.prepareSqlStringPg; } });
54
- Object.defineProperty(exports, "prepareSqlValuePg", { enumerable: true, get: function () { return prepare_value_1.prepareSqlValuePg; } });
75
+ var pool_pg_1 = require("./pg/pool-pg");
76
+ Object.defineProperty(exports, "poolsCachePg", { enumerable: true, get: function () { return pool_pg_1.poolsCachePg; } });
77
+ Object.defineProperty(exports, "getPoolPg", { enumerable: true, get: function () { return pool_pg_1.getPoolPg; } });
78
+ Object.defineProperty(exports, "closePoolPg", { enumerable: true, get: function () { return pool_pg_1.closePoolPg; } });
79
+ Object.defineProperty(exports, "getDbConfigPg", { enumerable: true, get: function () { return pool_pg_1.getDbConfigPg; } });
80
+ Object.defineProperty(exports, "closeAllPgConnectionsPg", { enumerable: true, get: function () { return pool_pg_1.closeAllPgConnectionsPg; } });
81
+ var prepare_value_2 = require("./pg/prepare-value");
82
+ Object.defineProperty(exports, "prepareSqlStringPg", { enumerable: true, get: function () { return prepare_value_2.prepareSqlStringPg; } });
83
+ Object.defineProperty(exports, "prepareSqlValuePg", { enumerable: true, get: function () { return prepare_value_2.prepareSqlValuePg; } });
55
84
  var query_pg_1 = require("./pg/query-pg");
56
85
  Object.defineProperty(exports, "queryPg", { enumerable: true, get: function () { return query_pg_1.queryPg; } });
57
- var table_schema_1 = require("./pg/table-schema");
58
- Object.defineProperty(exports, "getFieldsAndValuesPg", { enumerable: true, get: function () { return table_schema_1.getFieldsAndValuesPg; } });
59
- Object.defineProperty(exports, "getTableSchemaPg", { enumerable: true, get: function () { return table_schema_1.getTableSchemaPg; } });
60
- var common_1 = require("./common");
61
- Object.defineProperty(exports, "closeAllDb", { enumerable: true, get: function () { return common_1.closeAllDb; } });
62
- Object.defineProperty(exports, "graceExit", { enumerable: true, get: function () { return common_1.graceExit; } });
63
- Object.defineProperty(exports, "logSqlError", { enumerable: true, get: function () { return common_1.logSqlError; } });
64
- var logger_error_1 = require("./logger-error");
65
- Object.defineProperty(exports, "setLogger", { enumerable: true, get: function () { return logger_error_1.setLogger; } });
66
- var utils_2 = require("./utils");
67
- Object.defineProperty(exports, "schemaTable", { enumerable: true, get: function () { return utils_2.schemaTable; } });
86
+ var table_schema_pg_1 = require("./pg/table-schema-pg");
87
+ Object.defineProperty(exports, "getFieldsAndValuesPg", { enumerable: true, get: function () { return table_schema_pg_1.getFieldsAndValuesPg; } });
88
+ Object.defineProperty(exports, "getTableSchemaPg", { enumerable: true, get: function () { return table_schema_pg_1.getTableSchemaPg; } });
68
89
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;AA0CA,sCASuB;AALrB,mGAAA,WAAW,OAAA;AAOb,+DAImC;AAHjC,qHAAA,gBAAgB,OAAA;AAChB,mHAAA,cAAc,OAAA;AACd,mHAAA,cAAc,OAAA;AAGhB,2CAUyB;AATvB,8GAAA,mBAAmB,OAAA;AACnB,kHAAA,uBAAuB,OAAA;AACvB,sHAAA,2BAA2B,OAAA;AAC3B,+GAAA,oBAAoB,OAAA;AACpB,wGAAA,aAAa,OAAA;AACb,oGAAA,SAAS,OAAA;AACT,uGAAA,YAAY,OAAA;AACZ,gHAAA,qBAAqB,OAAA;AACrB,oHAAA,yBAAyB,OAAA;AAG3B,6CAA2C;AAAlC,mGAAA,OAAO,OAAA;AAEhB,mCAaqB;AAZnB,yGAAA,kBAAkB,OAAA;AAClB,4GAAA,qBAAqB,OAAA;AACrB,wGAAA,iBAAiB,OAAA;AACjB,wGAAA,iBAAiB,OAAA;AACjB,kGAAA,WAAW,OAAA;AACX,8GAAA,uBAAuB,OAAA;AACvB,4GAAA,qBAAqB,OAAA;AACrB,+GAAA,wBAAwB,OAAA;AACxB,4GAAA,qBAAqB,OAAA;AACrB,0GAAA,mBAAmB,OAAA;AACnB,wGAAA,iBAAiB,OAAA;AACjB,0FAAA,GAAG,OAAA;AAGL,uCAA4C;AAAnC,oGAAA,WAAW,OAAA;AAEpB,oDAAmD;AAA1C,8GAAA,aAAa,OAAA;AAEtB,sDAAqD;AAA5C,gHAAA,cAAc,OAAA;AAEvB,sCAAqD;AAA5C,kGAAA,QAAQ,OAAA;AAAE,sGAAA,YAAY,OAAA;AAE/B,wEAAqE;AAA5D,gIAAA,qBAAqB,OAAA;AAE9B,wCAMsB;AALpB,uGAAA,YAAY,OAAA;AACZ,oGAAA,SAAS,OAAA;AACT,sGAAA,WAAW,OAAA;AACX,wGAAA,aAAa,OAAA;AACb,kHAAA,uBAAuB,OAAA;AAGzB,oDAA2E;AAAlE,mHAAA,kBAAkB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAE9C,0CAAwC;AAA/B,mGAAA,OAAO,OAAA;AAEhB,kDAA2E;AAAlE,oHAAA,oBAAoB,OAAA;AAAE,gHAAA,gBAAgB,OAAA;AAE/C,mCAA8D;AAArD,oGAAA,UAAU,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,qGAAA,WAAW,OAAA;AAE3C,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAClB,iCAAsC;AAA7B,oGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;AAqBA,mCAIkB;AAHhB,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AAGb,+CAA2C;AAAlC,yGAAA,SAAS,OAAA;AAElB,uCAMuB;AALrB,oGAAA,WAAW,OAAA;AACX,oGAAA,WAAW,OAAA;AACX,uGAAA,cAAc,OAAA;AACd,2GAAA,kBAAkB,OAAA;AAClB,0FAAA,CAAC,OAAA;AAGH,6CAK0B;AAJxB,sGAAA,UAAU,OAAA;AACV,8GAAA,kBAAkB,OAAA;AAClB,yGAAA,aAAa,OAAA;AACb,6HAAA,iCAAiC,OAAA;AAGnC,+CAQ2B;AAPzB,2GAAA,cAAc,OAAA;AACd,6GAAA,gBAAgB,OAAA;AAEhB,6GAAA,gBAAgB,OAAA;AAChB,+GAAA,kBAAkB,OAAA;AAElB,gHAAA,mBAAmB,OAAA;AAgBrB,wEAGsC;AAFpC,8HAAA,mBAAmB,OAAA;AACnB,+HAAA,oBAAoB,OAAA;AAGtB,0CAAkD;AAAzC,6GAAA,iBAAiB,OAAA;AAE1B,8CAAqD;AAA5C,wGAAA,cAAc,OAAA;AAEvB,4CAAmD;AAA1C,sGAAA,aAAa,OAAA;AAEtB,8CAAqD;AAA5C,wGAAA,cAAc,OAAA;AAEvB,wCAQsB;AAPpB,uGAAA,YAAY,OAAA;AACZ,8GAAA,mBAAmB,OAAA;AACnB,kHAAA,uBAAuB,OAAA;AACvB,sHAAA,2BAA2B,OAAA;AAC3B,+GAAA,oBAAoB,OAAA;AACpB,wGAAA,aAAa,OAAA;AACb,oGAAA,SAAS,OAAA;AAGX,oDAG4B;AAF1B,kHAAA,iBAAiB,OAAA;AACjB,mHAAA,kBAAkB,OAAA;AAGpB,0CAAwC;AAA/B,mGAAA,OAAO,OAAA;AAEhB,wDAG8B;AAF5B,mHAAA,gBAAgB,OAAA;AAChB,wHAAA,qBAAqB,OAAA;AAGvB,gEAA6D;AAApD,wHAAA,iBAAiB,OAAA;AAgB1B,wEAGsC;AAFpC,8HAAA,mBAAmB,OAAA;AACnB,+HAAA,oBAAoB,OAAA;AAGtB,0CAIuB;AAHrB,6GAAA,iBAAiB,OAAA;AACjB,8GAAA,kBAAkB,OAAA;AAClB,+GAAA,mBAAmB,OAAA;AAGrB,8CAAqD;AAA5C,wGAAA,cAAc,OAAA;AAEvB,4CAAmD;AAA1C,sGAAA,aAAa,OAAA;AAEtB,8CAAqD;AAA5C,wGAAA,cAAc,OAAA;AAEvB,4CAAwD;AAA/C,qGAAA,QAAQ,OAAA;AAAE,yGAAA,YAAY,OAAA;AAE/B,wEAAqE;AAA5D,gIAAA,qBAAqB,OAAA;AAE9B,wCAMsB;AALpB,uGAAA,YAAY,OAAA;AACZ,oGAAA,SAAS,OAAA;AACT,sGAAA,WAAW,OAAA;AACX,wGAAA,aAAa,OAAA;AACb,kHAAA,uBAAuB,OAAA;AAGzB,oDAG4B;AAF1B,mHAAA,kBAAkB,OAAA;AAClB,kHAAA,iBAAiB,OAAA;AAGnB,0CAAwC;AAA/B,mGAAA,OAAO,OAAA;AAEhB,wDAG8B;AAF5B,uHAAA,oBAAoB,OAAA;AACpB,mHAAA,gBAAgB,OAAA"}
@@ -0,0 +1,64 @@
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.genTableInterfacesMs = exports.genTableInterfaceMs = void 0;
27
+ /* eslint-disable no-await-in-loop */
28
+ const path = __importStar(require("path"));
29
+ const fs = __importStar(require("fs"));
30
+ const af_echo_ts_1 = require("af-echo-ts");
31
+ const table_schema_ms_1 = require("./table-schema-ms");
32
+ const pool_ms_1 = require("./pool-ms");
33
+ const utils_1 = require("../utils/utils");
34
+ const utils_ms_1 = require("./utils-ms");
35
+ const getFieldDefinition = (d) => {
36
+ const fieldName = d.name + (d.isNullable || d.hasDefault ? '?' : '');
37
+ return `${fieldName}: ${(0, utils_ms_1.getJsTypeByTypeMs)(d.dataType, d.arrayType)}${d.isNullable ? ' | null' : ''}`;
38
+ };
39
+ const TABLE_INTERFACES_DIR = __dirname.replace(/\\/g, '/').replace(/\/dist\//, '/');
40
+ const genTableInterfaceMs = async (connectionId, commonSchemaAndTable, tableInterfacesDir = TABLE_INTERFACES_DIR) => {
41
+ const tableSchema = await (0, table_schema_ms_1.getTableSchemaMs)(connectionId, commonSchemaAndTable);
42
+ const interfaceName = `I${utils_1.schemaTable.to.common(commonSchemaAndTable)
43
+ .replace('.', '_')
44
+ .split('_')
45
+ .map((word) => word[0].toUpperCase() + word.substring(1))
46
+ .join('')}Record`;
47
+ const linesArr = Object.values(tableSchema.columnsSchema).map(getFieldDefinition);
48
+ const content = `export interface ${interfaceName} {\n${linesArr.map((v) => ` ${v}`).join(',\n')},\n}\n`;
49
+ const fileName = `${commonSchemaAndTable.replace('.', '-').toLowerCase()}.ts`;
50
+ const filePath = path.resolve(path.join(tableInterfacesDir, fileName));
51
+ fs.writeFileSync(filePath, content);
52
+ };
53
+ exports.genTableInterfaceMs = genTableInterfaceMs;
54
+ const genTableInterfacesMs = async (connectionId, tables, tableInterfacesDir = TABLE_INTERFACES_DIR) => {
55
+ for (let i = 0; i < tables.length; i++) {
56
+ const commonSchemaAndTable = tables[i];
57
+ await (0, exports.genTableInterfaceMs)(connectionId, commonSchemaAndTable, tableInterfacesDir);
58
+ }
59
+ af_echo_ts_1.echo.g(`Generated ${tables.length} table interfaces in folder '.${tableInterfacesDir.replace(process.cwd().replace(/\\/g, '/'), '')}/'`);
60
+ await (0, pool_ms_1.closeAllDbConnectionsMs)();
61
+ process.exit(0);
62
+ };
63
+ exports.genTableInterfacesMs = genTableInterfacesMs;
64
+ //# sourceMappingURL=gen-table-interfaces-ms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gen-table-interfaces-ms.js","sourceRoot":"","sources":["../../../../src/ms/gen-table-interfaces-ms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getInsertSqlMs = void 0;
4
+ const table_schema_ms_1 = require("../table-schema-ms");
5
+ const prepare_value_1 = require("../prepare-value");
6
+ const utils_1 = require("../../utils/utils");
7
+ const getInsertSqlMs = async (arg) => {
8
+ const { commonSchemaAndTable } = arg;
9
+ const tableSchema = await (0, table_schema_ms_1.getTableSchemaMs)(arg.connectionId, commonSchemaAndTable);
10
+ const { columnsSchema, fieldsWoSerialsAndRO, defaults } = tableSchema;
11
+ const insertFieldsArray = fieldsWoSerialsAndRO.filter((f) => (!(arg.excludeFromInsert || []).includes(f)));
12
+ const insertFieldsList = insertFieldsArray.map((f) => `[${f}]`).join(', ');
13
+ const preparedRowsArray = arg.recordset.map((record) => {
14
+ const preparedRecordValuesArray = insertFieldsArray.map((f) => {
15
+ const value = record[f];
16
+ const fieldDef = columnsSchema[f];
17
+ if (value != null) {
18
+ return (0, prepare_value_1.prepareSqlValueMs)({ value, fieldDef });
19
+ }
20
+ const defVal = defaults[f];
21
+ if (!fieldDef.isNullable && defVal != null) {
22
+ return defVal;
23
+ }
24
+ return 'NULL';
25
+ });
26
+ return preparedRecordValuesArray.join(',');
27
+ });
28
+ const values = preparedRowsArray.map((v) => `(${v})`).join('\n,');
29
+ const out = arg.addOutputInserted ? ' OUTPUT inserted.* ' : '';
30
+ const target = utils_1.schemaTable.to.ms(commonSchemaAndTable);
31
+ // noinspection UnnecessaryLocalVariableJS
32
+ const insertSQL = `INSERT INTO ${target} (${insertFieldsList}) ${out}
33
+ VALUES ${values};`;
34
+ return insertSQL;
35
+ };
36
+ exports.getInsertSqlMs = getInsertSqlMs;
37
+ //# sourceMappingURL=insert.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"insert.js","sourceRoot":"","sources":["../../../../../src/ms/get-sql/insert.ts"],"names":[],"mappings":";;;AAAA,wDAAsD;AACtD,oDAAqD;AAGrD,6CAAgD;AAEzC,MAAM,cAAc,GAAG,KAAK,EAAmC,GAMrE,EAAmB,EAAE;IACpB,MAAM,EAAE,oBAAoB,EAAE,GAAG,GAAG,CAAC;IAErC,MAAM,WAAW,GAAmB,MAAM,IAAA,kCAAgB,EAAC,GAAG,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;IACnG,MAAM,EAAE,aAAa,EAAE,oBAAoB,EAAE,QAAQ,EAAE,GAAG,WAAW,CAAC;IAEtE,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3G,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAE3E,MAAM,iBAAiB,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;QACrD,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YAC5D,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACxB,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;YAClC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;gBAClB,OAAO,IAAA,iCAAiB,EAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,IAAI,CAAC,QAAQ,CAAC,UAAU,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;gBAC3C,OAAO,MAAM,CAAC;YAChB,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QACH,OAAO,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7C,CAAC,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClE,MAAM,GAAG,GAAG,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/D,MAAM,MAAM,GAAG,mBAAW,CAAC,EAAE,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC;IACvD,0CAA0C;IAC1C,MAAM,SAAS,GAAG,eAAe,MAAM,KAAK,gBAAgB,KAAK,GAAG;8BACxC,MAAM,GAAG,CAAC;IACtC,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAtCW,QAAA,cAAc,kBAsCzB"}
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMergeSqlMs = void 0;
4
+ const table_schema_ms_1 = require("../table-schema-ms");
5
+ const prepare_value_1 = require("../prepare-value");
6
+ const utils_1 = require("../../utils/utils");
7
+ const getMergeSqlMs = async (arg) => {
8
+ const { connectionId, commonSchemaAndTable, recordset, omitFields = [], } = arg;
9
+ if (!recordset?.length) {
10
+ return '';
11
+ }
12
+ const schemaTableStr = utils_1.schemaTable.to.ms(commonSchemaAndTable);
13
+ const tableSchema = await (0, table_schema_ms_1.getTableSchemaMs)(connectionId, commonSchemaAndTable);
14
+ const { columnsSchema, pk, fieldsWoSerialsAndRO, defaults } = tableSchema;
15
+ let mergeFieldsArr = fieldsWoSerialsAndRO;
16
+ if (omitFields.length) {
17
+ const set = new Set(omitFields);
18
+ mergeFieldsArr = fieldsWoSerialsAndRO.filter((fieldName) => !set.has(fieldName));
19
+ }
20
+ const mergeValues = recordset.map((record) => {
21
+ const preparedValues = [];
22
+ mergeFieldsArr.forEach((f) => {
23
+ const value = record[f];
24
+ let sqlValue = (0, prepare_value_1.prepareSqlValueMs)({ value, fieldDef: columnsSchema[f] });
25
+ if (defaults[f] != null && (sqlValue == null || sqlValue === 'null')) {
26
+ sqlValue = defaults[f];
27
+ }
28
+ preparedValues.push(sqlValue);
29
+ });
30
+ return `(${preparedValues.join(', ')})`;
31
+ }).join(',\n ').trim();
32
+ const { mergeIdentity = pk } = arg;
33
+ if (!mergeIdentity?.length) {
34
+ throw new Error(`The list of fields by which the uniqueness of a record is assessed is empty!`);
35
+ }
36
+ const onClause = mergeIdentity.map((f) => (`target.[${f}] = source.[${f}]`)).join(' AND ');
37
+ const updateFields = mergeFieldsArr.filter((f) => (!mergeIdentity.includes(f)));
38
+ const updateFieldsList = updateFields.map((f) => (`target.[${f}] = ${arg.noUpdateIfNull
39
+ ? `COALESCE(source.[${f}], target.[${f}])`
40
+ : `source.[${f}]`}`)).join(',\n ');
41
+ const insertFieldsArray = mergeFieldsArr.filter((f) => (!(arg.excludeFromInsert || []).includes(f)));
42
+ const mergeFieldsList = mergeFieldsArr.map((f) => `[${f}]`).join(',\n ');
43
+ const insertSourceList = insertFieldsArray.map((f) => (`source.[${f}]`)).join(',\n ');
44
+ const insertFieldsList = insertFieldsArray.map((f) => `[${f}]`).join(',\n ');
45
+ let mergeSQL = `MERGE ${schemaTableStr} ${arg.withClause || ''} AS target
46
+ USING
47
+ (
48
+ SELECT * FROM (
49
+ VALUES
50
+ ${mergeValues}
51
+ )
52
+ AS s (
53
+ ${mergeFieldsList}
54
+ )
55
+ )
56
+ AS source
57
+ ON ${onClause}
58
+
59
+ WHEN MATCHED THEN
60
+ UPDATE SET
61
+ ${updateFieldsList}
62
+
63
+ WHEN NOT MATCHED THEN
64
+ INSERT (
65
+ ${insertFieldsList}
66
+ )
67
+ VALUES (
68
+ ${insertSourceList}
69
+ )`;
70
+ if (!arg.noReturnMergeResult) {
71
+ mergeSQL = `
72
+ ${'DECLARE'} @t TABLE ( act VARCHAR(20));
73
+ DECLARE @total AS INTEGER;
74
+ DECLARE @i AS INTEGER;
75
+ DECLARE @u AS INTEGER;
76
+ ${mergeSQL}
77
+ OUTPUT $action INTO @t;
78
+ SET @total = @@ROWCOUNT;
79
+ SELECT @i = COUNT(*) FROM @t WHERE act = 'INSERT';
80
+ SELECT @u = COUNT(*) FROM @t WHERE act != 'INSERT';
81
+ SELECT @total as total, @i as inserted, @u as updated;
82
+ `;
83
+ }
84
+ else {
85
+ mergeSQL += `;\n`;
86
+ }
87
+ if (typeof arg.mergeCorrection === 'function') {
88
+ mergeSQL = arg.mergeCorrection(mergeSQL);
89
+ }
90
+ return mergeSQL;
91
+ };
92
+ exports.getMergeSqlMs = getMergeSqlMs;
93
+ //# sourceMappingURL=merge.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge.js","sourceRoot":"","sources":["../../../../../src/ms/get-sql/merge.ts"],"names":[],"mappings":"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"}