drizzle-orm 1.0.0-beta.1-84d9a79 → 1.0.0-beta.1-9fb1d0d

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 (1221) hide show
  1. package/aws-data-api/common/index.d.cts +1 -1
  2. package/aws-data-api/common/index.d.ts +1 -1
  3. package/aws-data-api/pg/driver.cjs +1 -1
  4. package/aws-data-api/pg/driver.cjs.map +1 -1
  5. package/aws-data-api/pg/driver.js +1 -1
  6. package/aws-data-api/pg/driver.js.map +1 -1
  7. package/aws-data-api/pg/session.cjs.map +1 -1
  8. package/aws-data-api/pg/session.d.cts +6 -6
  9. package/aws-data-api/pg/session.d.ts +6 -6
  10. package/aws-data-api/pg/session.js.map +1 -1
  11. package/better-sqlite3/driver.cjs +1 -1
  12. package/better-sqlite3/driver.cjs.map +1 -1
  13. package/better-sqlite3/driver.js +1 -1
  14. package/better-sqlite3/driver.js.map +1 -1
  15. package/better-sqlite3/session.cjs.map +1 -1
  16. package/better-sqlite3/session.d.cts +6 -6
  17. package/better-sqlite3/session.d.ts +6 -6
  18. package/better-sqlite3/session.js.map +1 -1
  19. package/bun-sql/driver.cjs +1 -1
  20. package/bun-sql/driver.cjs.map +1 -1
  21. package/bun-sql/driver.js +1 -1
  22. package/bun-sql/driver.js.map +1 -1
  23. package/bun-sql/migrator.cjs.map +1 -1
  24. package/bun-sql/migrator.d.cts +2 -2
  25. package/bun-sql/migrator.d.ts +2 -2
  26. package/bun-sql/migrator.js.map +1 -1
  27. package/bun-sql/session.cjs.map +1 -1
  28. package/bun-sql/session.d.cts +7 -7
  29. package/bun-sql/session.d.ts +7 -7
  30. package/bun-sql/session.js.map +1 -1
  31. package/bun-sqlite/driver.cjs +1 -1
  32. package/bun-sqlite/driver.cjs.map +1 -1
  33. package/bun-sqlite/driver.js +1 -1
  34. package/bun-sqlite/driver.js.map +1 -1
  35. package/bun-sqlite/session.cjs.map +1 -1
  36. package/bun-sqlite/session.d.cts +6 -6
  37. package/bun-sqlite/session.d.ts +6 -6
  38. package/bun-sqlite/session.js.map +1 -1
  39. package/column-builder.cjs +9 -2
  40. package/column-builder.cjs.map +1 -1
  41. package/column-builder.d.cts +50 -65
  42. package/column-builder.d.ts +50 -65
  43. package/column-builder.js +7 -1
  44. package/column-builder.js.map +1 -1
  45. package/column.cjs +37 -21
  46. package/column.cjs.map +1 -1
  47. package/column.d.cts +20 -32
  48. package/column.d.ts +20 -32
  49. package/column.js +35 -20
  50. package/column.js.map +1 -1
  51. package/d1/driver.cjs +1 -1
  52. package/d1/driver.cjs.map +1 -1
  53. package/d1/driver.js +1 -1
  54. package/d1/driver.js.map +1 -1
  55. package/d1/session.cjs.map +1 -1
  56. package/d1/session.d.cts +6 -6
  57. package/d1/session.d.ts +6 -6
  58. package/d1/session.js.map +1 -1
  59. package/durable-sqlite/driver.cjs +1 -1
  60. package/durable-sqlite/driver.cjs.map +1 -1
  61. package/durable-sqlite/driver.js +1 -1
  62. package/durable-sqlite/driver.js.map +1 -1
  63. package/durable-sqlite/session.cjs.map +1 -1
  64. package/durable-sqlite/session.d.cts +6 -6
  65. package/durable-sqlite/session.d.ts +6 -6
  66. package/durable-sqlite/session.js.map +1 -1
  67. package/expo-sqlite/driver.cjs +1 -1
  68. package/expo-sqlite/driver.cjs.map +1 -1
  69. package/expo-sqlite/driver.js +1 -1
  70. package/expo-sqlite/driver.js.map +1 -1
  71. package/expo-sqlite/session.cjs.map +1 -1
  72. package/expo-sqlite/session.d.cts +6 -6
  73. package/expo-sqlite/session.d.ts +6 -6
  74. package/expo-sqlite/session.js.map +1 -1
  75. package/gel/driver.cjs +1 -1
  76. package/gel/driver.cjs.map +1 -1
  77. package/gel/driver.d.cts +2 -2
  78. package/gel/driver.d.ts +2 -2
  79. package/gel/driver.js +1 -1
  80. package/gel/driver.js.map +1 -1
  81. package/gel/session.cjs.map +1 -1
  82. package/gel/session.d.cts +6 -6
  83. package/gel/session.d.ts +6 -6
  84. package/gel/session.js.map +1 -1
  85. package/gel-core/columns/bigint.cjs +1 -1
  86. package/gel-core/columns/bigint.cjs.map +1 -1
  87. package/gel-core/columns/bigint.d.cts +7 -12
  88. package/gel-core/columns/bigint.d.ts +7 -12
  89. package/gel-core/columns/bigint.js +1 -1
  90. package/gel-core/columns/bigint.js.map +1 -1
  91. package/gel-core/columns/bigintT.cjs +1 -1
  92. package/gel-core/columns/bigintT.cjs.map +1 -1
  93. package/gel-core/columns/bigintT.d.cts +7 -12
  94. package/gel-core/columns/bigintT.d.ts +7 -12
  95. package/gel-core/columns/bigintT.js +1 -1
  96. package/gel-core/columns/bigintT.js.map +1 -1
  97. package/gel-core/columns/boolean.cjs.map +1 -1
  98. package/gel-core/columns/boolean.d.cts +6 -11
  99. package/gel-core/columns/boolean.d.ts +6 -11
  100. package/gel-core/columns/boolean.js.map +1 -1
  101. package/gel-core/columns/bytes.cjs +1 -1
  102. package/gel-core/columns/bytes.cjs.map +1 -1
  103. package/gel-core/columns/bytes.d.cts +7 -12
  104. package/gel-core/columns/bytes.d.ts +7 -12
  105. package/gel-core/columns/bytes.js +1 -1
  106. package/gel-core/columns/bytes.js.map +1 -1
  107. package/gel-core/columns/common.cjs +9 -9
  108. package/gel-core/columns/common.cjs.map +1 -1
  109. package/gel-core/columns/common.d.cts +24 -41
  110. package/gel-core/columns/common.d.ts +24 -41
  111. package/gel-core/columns/common.js +9 -9
  112. package/gel-core/columns/common.js.map +1 -1
  113. package/gel-core/columns/custom.cjs.map +1 -1
  114. package/gel-core/columns/custom.d.cts +10 -14
  115. package/gel-core/columns/custom.d.ts +10 -14
  116. package/gel-core/columns/custom.js.map +1 -1
  117. package/gel-core/columns/date-duration.cjs +1 -1
  118. package/gel-core/columns/date-duration.cjs.map +1 -1
  119. package/gel-core/columns/date-duration.d.cts +7 -12
  120. package/gel-core/columns/date-duration.d.ts +7 -12
  121. package/gel-core/columns/date-duration.js +1 -1
  122. package/gel-core/columns/date-duration.js.map +1 -1
  123. package/gel-core/columns/date.common.cjs.map +1 -1
  124. package/gel-core/columns/date.common.d.cts +2 -2
  125. package/gel-core/columns/date.common.d.ts +2 -2
  126. package/gel-core/columns/date.common.js.map +1 -1
  127. package/gel-core/columns/decimal.cjs +1 -1
  128. package/gel-core/columns/decimal.cjs.map +1 -1
  129. package/gel-core/columns/decimal.d.cts +8 -13
  130. package/gel-core/columns/decimal.d.ts +8 -13
  131. package/gel-core/columns/decimal.js +1 -1
  132. package/gel-core/columns/decimal.js.map +1 -1
  133. package/gel-core/columns/double-precision.cjs +1 -1
  134. package/gel-core/columns/double-precision.cjs.map +1 -1
  135. package/gel-core/columns/double-precision.d.cts +7 -12
  136. package/gel-core/columns/double-precision.d.ts +7 -12
  137. package/gel-core/columns/double-precision.js +1 -1
  138. package/gel-core/columns/double-precision.js.map +1 -1
  139. package/gel-core/columns/duration.cjs +1 -1
  140. package/gel-core/columns/duration.cjs.map +1 -1
  141. package/gel-core/columns/duration.d.cts +7 -12
  142. package/gel-core/columns/duration.d.ts +7 -12
  143. package/gel-core/columns/duration.js +1 -1
  144. package/gel-core/columns/duration.js.map +1 -1
  145. package/gel-core/columns/int.common.cjs.map +1 -1
  146. package/gel-core/columns/int.common.d.cts +2 -2
  147. package/gel-core/columns/int.common.d.ts +2 -2
  148. package/gel-core/columns/int.common.js.map +1 -1
  149. package/gel-core/columns/integer.cjs +1 -1
  150. package/gel-core/columns/integer.cjs.map +1 -1
  151. package/gel-core/columns/integer.d.cts +7 -12
  152. package/gel-core/columns/integer.d.ts +7 -12
  153. package/gel-core/columns/integer.js +1 -1
  154. package/gel-core/columns/integer.js.map +1 -1
  155. package/gel-core/columns/json.cjs +1 -1
  156. package/gel-core/columns/json.cjs.map +1 -1
  157. package/gel-core/columns/json.d.cts +8 -13
  158. package/gel-core/columns/json.d.ts +8 -13
  159. package/gel-core/columns/json.js +1 -1
  160. package/gel-core/columns/json.js.map +1 -1
  161. package/gel-core/columns/localdate.cjs +1 -1
  162. package/gel-core/columns/localdate.cjs.map +1 -1
  163. package/gel-core/columns/localdate.d.cts +7 -12
  164. package/gel-core/columns/localdate.d.ts +7 -12
  165. package/gel-core/columns/localdate.js +1 -1
  166. package/gel-core/columns/localdate.js.map +1 -1
  167. package/gel-core/columns/localtime.cjs +1 -1
  168. package/gel-core/columns/localtime.cjs.map +1 -1
  169. package/gel-core/columns/localtime.d.cts +7 -12
  170. package/gel-core/columns/localtime.d.ts +7 -12
  171. package/gel-core/columns/localtime.js +1 -1
  172. package/gel-core/columns/localtime.js.map +1 -1
  173. package/gel-core/columns/real.cjs +1 -1
  174. package/gel-core/columns/real.cjs.map +1 -1
  175. package/gel-core/columns/real.d.cts +8 -13
  176. package/gel-core/columns/real.d.ts +8 -13
  177. package/gel-core/columns/real.js +1 -1
  178. package/gel-core/columns/real.js.map +1 -1
  179. package/gel-core/columns/relative-duration.cjs +1 -1
  180. package/gel-core/columns/relative-duration.cjs.map +1 -1
  181. package/gel-core/columns/relative-duration.d.cts +7 -12
  182. package/gel-core/columns/relative-duration.d.ts +7 -12
  183. package/gel-core/columns/relative-duration.js +1 -1
  184. package/gel-core/columns/relative-duration.js.map +1 -1
  185. package/gel-core/columns/smallint.cjs +1 -1
  186. package/gel-core/columns/smallint.cjs.map +1 -1
  187. package/gel-core/columns/smallint.d.cts +7 -12
  188. package/gel-core/columns/smallint.d.ts +7 -12
  189. package/gel-core/columns/smallint.js +1 -1
  190. package/gel-core/columns/smallint.js.map +1 -1
  191. package/gel-core/columns/text.cjs.map +1 -1
  192. package/gel-core/columns/text.d.cts +6 -12
  193. package/gel-core/columns/text.d.ts +6 -12
  194. package/gel-core/columns/text.js.map +1 -1
  195. package/gel-core/columns/timestamp.cjs +1 -1
  196. package/gel-core/columns/timestamp.cjs.map +1 -1
  197. package/gel-core/columns/timestamp.d.cts +8 -13
  198. package/gel-core/columns/timestamp.d.ts +8 -13
  199. package/gel-core/columns/timestamp.js +1 -1
  200. package/gel-core/columns/timestamp.js.map +1 -1
  201. package/gel-core/columns/timestamptz.cjs +1 -1
  202. package/gel-core/columns/timestamptz.cjs.map +1 -1
  203. package/gel-core/columns/timestamptz.d.cts +8 -13
  204. package/gel-core/columns/timestamptz.d.ts +8 -13
  205. package/gel-core/columns/timestamptz.js +1 -1
  206. package/gel-core/columns/timestamptz.js.map +1 -1
  207. package/gel-core/columns/uuid.cjs +1 -1
  208. package/gel-core/columns/uuid.cjs.map +1 -1
  209. package/gel-core/columns/uuid.d.cts +7 -12
  210. package/gel-core/columns/uuid.d.ts +7 -12
  211. package/gel-core/columns/uuid.js +1 -1
  212. package/gel-core/columns/uuid.js.map +1 -1
  213. package/gel-core/db.cjs +10 -15
  214. package/gel-core/db.cjs.map +1 -1
  215. package/gel-core/db.d.cts +8 -8
  216. package/gel-core/db.d.ts +8 -8
  217. package/gel-core/db.js +10 -15
  218. package/gel-core/db.js.map +1 -1
  219. package/gel-core/dialect.cjs +13 -13
  220. package/gel-core/dialect.cjs.map +1 -1
  221. package/gel-core/dialect.d.cts +1 -3
  222. package/gel-core/dialect.d.ts +1 -3
  223. package/gel-core/dialect.js +14 -14
  224. package/gel-core/dialect.js.map +1 -1
  225. package/gel-core/query-builders/delete.cjs.map +1 -1
  226. package/gel-core/query-builders/delete.js.map +1 -1
  227. package/gel-core/query-builders/insert.cjs +1 -1
  228. package/gel-core/query-builders/insert.cjs.map +1 -1
  229. package/gel-core/query-builders/insert.d.cts +2 -2
  230. package/gel-core/query-builders/insert.d.ts +2 -2
  231. package/gel-core/query-builders/insert.js +2 -2
  232. package/gel-core/query-builders/insert.js.map +1 -1
  233. package/gel-core/query-builders/query.cjs +2 -12
  234. package/gel-core/query-builders/query.cjs.map +1 -1
  235. package/gel-core/query-builders/query.d.cts +2 -6
  236. package/gel-core/query-builders/query.d.ts +2 -6
  237. package/gel-core/query-builders/query.js +2 -12
  238. package/gel-core/query-builders/query.js.map +1 -1
  239. package/gel-core/query-builders/select.types.cjs.map +1 -1
  240. package/gel-core/query-builders/select.types.d.cts +1 -1
  241. package/gel-core/query-builders/select.types.d.ts +1 -1
  242. package/gel-core/query-builders/update.cjs.map +1 -1
  243. package/gel-core/query-builders/update.d.cts +3 -3
  244. package/gel-core/query-builders/update.d.ts +3 -3
  245. package/gel-core/query-builders/update.js.map +1 -1
  246. package/gel-core/session.cjs.map +1 -1
  247. package/gel-core/session.d.cts +7 -7
  248. package/gel-core/session.d.ts +7 -7
  249. package/gel-core/session.js.map +1 -1
  250. package/gel-core/table.cjs.map +1 -1
  251. package/gel-core/table.d.cts +9 -11
  252. package/gel-core/table.d.ts +9 -11
  253. package/gel-core/table.js +3 -1
  254. package/gel-core/table.js.map +1 -1
  255. package/gel-core/utils.d.cts +1 -1
  256. package/gel-core/utils.d.ts +1 -1
  257. package/gel-core/view.cjs.map +1 -1
  258. package/gel-core/view.d.cts +3 -4
  259. package/gel-core/view.d.ts +3 -4
  260. package/gel-core/view.js.map +1 -1
  261. package/libsql/driver-core.cjs +1 -1
  262. package/libsql/driver-core.cjs.map +1 -1
  263. package/libsql/driver-core.js +1 -1
  264. package/libsql/driver-core.js.map +1 -1
  265. package/libsql/session.cjs.map +1 -1
  266. package/libsql/session.d.cts +6 -6
  267. package/libsql/session.d.ts +6 -6
  268. package/libsql/session.js.map +1 -1
  269. package/mysql-core/columns/bigint.cjs +2 -2
  270. package/mysql-core/columns/bigint.cjs.map +1 -1
  271. package/mysql-core/columns/bigint.d.cts +19 -25
  272. package/mysql-core/columns/bigint.d.ts +19 -25
  273. package/mysql-core/columns/bigint.js +2 -2
  274. package/mysql-core/columns/bigint.js.map +1 -1
  275. package/mysql-core/columns/binary.cjs +5 -4
  276. package/mysql-core/columns/binary.cjs.map +1 -1
  277. package/mysql-core/columns/binary.d.cts +13 -14
  278. package/mysql-core/columns/binary.d.ts +13 -14
  279. package/mysql-core/columns/binary.js +5 -4
  280. package/mysql-core/columns/binary.js.map +1 -1
  281. package/mysql-core/columns/boolean.cjs.map +1 -1
  282. package/mysql-core/columns/boolean.d.cts +6 -11
  283. package/mysql-core/columns/boolean.d.ts +6 -11
  284. package/mysql-core/columns/boolean.js.map +1 -1
  285. package/mysql-core/columns/char.cjs +5 -4
  286. package/mysql-core/columns/char.cjs.map +1 -1
  287. package/mysql-core/columns/char.d.cts +18 -23
  288. package/mysql-core/columns/char.d.ts +18 -23
  289. package/mysql-core/columns/char.js +5 -4
  290. package/mysql-core/columns/char.js.map +1 -1
  291. package/mysql-core/columns/common.cjs +3 -1
  292. package/mysql-core/columns/common.cjs.map +1 -1
  293. package/mysql-core/columns/common.d.cts +10 -18
  294. package/mysql-core/columns/common.d.ts +10 -18
  295. package/mysql-core/columns/common.js +3 -1
  296. package/mysql-core/columns/common.js.map +1 -1
  297. package/mysql-core/columns/custom.cjs.map +1 -1
  298. package/mysql-core/columns/custom.d.cts +9 -14
  299. package/mysql-core/columns/custom.d.ts +9 -14
  300. package/mysql-core/columns/custom.js.map +1 -1
  301. package/mysql-core/columns/date.cjs +2 -2
  302. package/mysql-core/columns/date.cjs.map +1 -1
  303. package/mysql-core/columns/date.common.cjs +1 -1
  304. package/mysql-core/columns/date.common.cjs.map +1 -1
  305. package/mysql-core/columns/date.common.d.cts +3 -3
  306. package/mysql-core/columns/date.common.d.ts +3 -3
  307. package/mysql-core/columns/date.common.js +1 -1
  308. package/mysql-core/columns/date.common.js.map +1 -1
  309. package/mysql-core/columns/date.d.cts +16 -24
  310. package/mysql-core/columns/date.d.ts +16 -24
  311. package/mysql-core/columns/date.js +2 -2
  312. package/mysql-core/columns/date.js.map +1 -1
  313. package/mysql-core/columns/datetime.cjs +2 -2
  314. package/mysql-core/columns/datetime.cjs.map +1 -1
  315. package/mysql-core/columns/datetime.d.cts +16 -24
  316. package/mysql-core/columns/datetime.d.ts +16 -24
  317. package/mysql-core/columns/datetime.js +2 -2
  318. package/mysql-core/columns/datetime.js.map +1 -1
  319. package/mysql-core/columns/decimal.cjs +3 -3
  320. package/mysql-core/columns/decimal.cjs.map +1 -1
  321. package/mysql-core/columns/decimal.d.cts +22 -33
  322. package/mysql-core/columns/decimal.d.ts +22 -33
  323. package/mysql-core/columns/decimal.js +3 -3
  324. package/mysql-core/columns/decimal.js.map +1 -1
  325. package/mysql-core/columns/double.cjs +1 -1
  326. package/mysql-core/columns/double.cjs.map +1 -1
  327. package/mysql-core/columns/double.d.cts +11 -15
  328. package/mysql-core/columns/double.d.ts +11 -15
  329. package/mysql-core/columns/double.js +1 -1
  330. package/mysql-core/columns/double.js.map +1 -1
  331. package/mysql-core/columns/enum.cjs +2 -2
  332. package/mysql-core/columns/enum.cjs.map +1 -1
  333. package/mysql-core/columns/enum.d.cts +18 -23
  334. package/mysql-core/columns/enum.d.ts +18 -23
  335. package/mysql-core/columns/enum.js +2 -2
  336. package/mysql-core/columns/enum.js.map +1 -1
  337. package/mysql-core/columns/float.cjs +1 -1
  338. package/mysql-core/columns/float.cjs.map +1 -1
  339. package/mysql-core/columns/float.d.cts +11 -15
  340. package/mysql-core/columns/float.d.ts +11 -15
  341. package/mysql-core/columns/float.js +1 -1
  342. package/mysql-core/columns/float.js.map +1 -1
  343. package/mysql-core/columns/int.cjs +1 -1
  344. package/mysql-core/columns/int.cjs.map +1 -1
  345. package/mysql-core/columns/int.d.cts +11 -15
  346. package/mysql-core/columns/int.d.ts +11 -15
  347. package/mysql-core/columns/int.js +1 -1
  348. package/mysql-core/columns/int.js.map +1 -1
  349. package/mysql-core/columns/json.cjs +1 -1
  350. package/mysql-core/columns/json.cjs.map +1 -1
  351. package/mysql-core/columns/json.d.cts +7 -12
  352. package/mysql-core/columns/json.d.ts +7 -12
  353. package/mysql-core/columns/json.js +1 -1
  354. package/mysql-core/columns/json.js.map +1 -1
  355. package/mysql-core/columns/mediumint.cjs +1 -1
  356. package/mysql-core/columns/mediumint.cjs.map +1 -1
  357. package/mysql-core/columns/mediumint.d.cts +9 -13
  358. package/mysql-core/columns/mediumint.d.ts +9 -13
  359. package/mysql-core/columns/mediumint.js +1 -1
  360. package/mysql-core/columns/mediumint.js.map +1 -1
  361. package/mysql-core/columns/real.cjs +1 -1
  362. package/mysql-core/columns/real.cjs.map +1 -1
  363. package/mysql-core/columns/real.d.cts +8 -13
  364. package/mysql-core/columns/real.d.ts +8 -13
  365. package/mysql-core/columns/real.js +1 -1
  366. package/mysql-core/columns/real.js.map +1 -1
  367. package/mysql-core/columns/serial.cjs +1 -1
  368. package/mysql-core/columns/serial.cjs.map +1 -1
  369. package/mysql-core/columns/serial.d.cts +11 -12
  370. package/mysql-core/columns/serial.d.ts +11 -12
  371. package/mysql-core/columns/serial.js +1 -1
  372. package/mysql-core/columns/serial.js.map +1 -1
  373. package/mysql-core/columns/smallint.cjs +1 -1
  374. package/mysql-core/columns/smallint.cjs.map +1 -1
  375. package/mysql-core/columns/smallint.d.cts +9 -13
  376. package/mysql-core/columns/smallint.d.ts +9 -13
  377. package/mysql-core/columns/smallint.js +1 -1
  378. package/mysql-core/columns/smallint.js.map +1 -1
  379. package/mysql-core/columns/text.cjs +19 -1
  380. package/mysql-core/columns/text.cjs.map +1 -1
  381. package/mysql-core/columns/text.d.cts +17 -23
  382. package/mysql-core/columns/text.d.ts +17 -23
  383. package/mysql-core/columns/text.js +19 -1
  384. package/mysql-core/columns/text.js.map +1 -1
  385. package/mysql-core/columns/time.cjs +1 -1
  386. package/mysql-core/columns/time.cjs.map +1 -1
  387. package/mysql-core/columns/time.d.cts +8 -13
  388. package/mysql-core/columns/time.d.ts +8 -13
  389. package/mysql-core/columns/time.js +1 -1
  390. package/mysql-core/columns/time.js.map +1 -1
  391. package/mysql-core/columns/timestamp.cjs +2 -2
  392. package/mysql-core/columns/timestamp.cjs.map +1 -1
  393. package/mysql-core/columns/timestamp.d.cts +14 -22
  394. package/mysql-core/columns/timestamp.d.ts +14 -22
  395. package/mysql-core/columns/timestamp.js +2 -2
  396. package/mysql-core/columns/timestamp.js.map +1 -1
  397. package/mysql-core/columns/tinyint.cjs +1 -1
  398. package/mysql-core/columns/tinyint.cjs.map +1 -1
  399. package/mysql-core/columns/tinyint.d.cts +9 -13
  400. package/mysql-core/columns/tinyint.d.ts +9 -13
  401. package/mysql-core/columns/tinyint.js +1 -1
  402. package/mysql-core/columns/tinyint.js.map +1 -1
  403. package/mysql-core/columns/varbinary.cjs +2 -3
  404. package/mysql-core/columns/varbinary.cjs.map +1 -1
  405. package/mysql-core/columns/varbinary.d.cts +7 -12
  406. package/mysql-core/columns/varbinary.d.ts +7 -12
  407. package/mysql-core/columns/varbinary.js +2 -3
  408. package/mysql-core/columns/varbinary.js.map +1 -1
  409. package/mysql-core/columns/varchar.cjs +2 -3
  410. package/mysql-core/columns/varchar.cjs.map +1 -1
  411. package/mysql-core/columns/varchar.d.cts +12 -21
  412. package/mysql-core/columns/varchar.d.ts +12 -21
  413. package/mysql-core/columns/varchar.js +2 -3
  414. package/mysql-core/columns/varchar.js.map +1 -1
  415. package/mysql-core/columns/year.cjs +1 -1
  416. package/mysql-core/columns/year.cjs.map +1 -1
  417. package/mysql-core/columns/year.d.cts +7 -12
  418. package/mysql-core/columns/year.d.ts +7 -12
  419. package/mysql-core/columns/year.js +1 -1
  420. package/mysql-core/columns/year.js.map +1 -1
  421. package/mysql-core/db.cjs +10 -29
  422. package/mysql-core/db.cjs.map +1 -1
  423. package/mysql-core/db.d.cts +7 -7
  424. package/mysql-core/db.d.ts +7 -7
  425. package/mysql-core/db.js +10 -29
  426. package/mysql-core/db.js.map +1 -1
  427. package/mysql-core/dialect.cjs +8 -12
  428. package/mysql-core/dialect.cjs.map +1 -1
  429. package/mysql-core/dialect.d.cts +1 -3
  430. package/mysql-core/dialect.d.ts +1 -3
  431. package/mysql-core/dialect.js +9 -13
  432. package/mysql-core/dialect.js.map +1 -1
  433. package/mysql-core/query-builders/insert.cjs +1 -1
  434. package/mysql-core/query-builders/insert.cjs.map +1 -1
  435. package/mysql-core/query-builders/insert.d.cts +5 -5
  436. package/mysql-core/query-builders/insert.d.ts +5 -5
  437. package/mysql-core/query-builders/insert.js +2 -2
  438. package/mysql-core/query-builders/insert.js.map +1 -1
  439. package/mysql-core/query-builders/query.cjs +2 -12
  440. package/mysql-core/query-builders/query.cjs.map +1 -1
  441. package/mysql-core/query-builders/query.d.cts +2 -6
  442. package/mysql-core/query-builders/query.d.ts +2 -6
  443. package/mysql-core/query-builders/query.js +2 -12
  444. package/mysql-core/query-builders/query.js.map +1 -1
  445. package/mysql-core/query-builders/select.types.cjs.map +1 -1
  446. package/mysql-core/query-builders/select.types.d.cts +1 -1
  447. package/mysql-core/query-builders/select.types.d.ts +1 -1
  448. package/mysql-core/query-builders/update.cjs.map +1 -1
  449. package/mysql-core/query-builders/update.d.cts +3 -2
  450. package/mysql-core/query-builders/update.d.ts +3 -2
  451. package/mysql-core/query-builders/update.js.map +1 -1
  452. package/mysql-core/session.cjs.map +1 -1
  453. package/mysql-core/session.d.cts +7 -7
  454. package/mysql-core/session.d.ts +7 -7
  455. package/mysql-core/session.js.map +1 -1
  456. package/mysql-core/table.cjs.map +1 -1
  457. package/mysql-core/table.d.cts +10 -13
  458. package/mysql-core/table.d.ts +10 -13
  459. package/mysql-core/table.js +3 -1
  460. package/mysql-core/table.js.map +1 -1
  461. package/mysql-core/utils.d.cts +1 -1
  462. package/mysql-core/utils.d.ts +1 -1
  463. package/mysql-core/view.cjs.map +1 -1
  464. package/mysql-core/view.d.cts +3 -4
  465. package/mysql-core/view.d.ts +3 -4
  466. package/mysql-core/view.js.map +1 -1
  467. package/mysql-proxy/driver.cjs +1 -1
  468. package/mysql-proxy/driver.cjs.map +1 -1
  469. package/mysql-proxy/driver.js +1 -1
  470. package/mysql-proxy/driver.js.map +1 -1
  471. package/mysql-proxy/session.cjs.map +1 -1
  472. package/mysql-proxy/session.d.cts +6 -6
  473. package/mysql-proxy/session.d.ts +6 -6
  474. package/mysql-proxy/session.js.map +1 -1
  475. package/mysql2/driver.cjs +1 -1
  476. package/mysql2/driver.cjs.map +1 -1
  477. package/mysql2/driver.d.cts +2 -2
  478. package/mysql2/driver.d.ts +2 -2
  479. package/mysql2/driver.js +1 -1
  480. package/mysql2/driver.js.map +1 -1
  481. package/mysql2/session.cjs.map +1 -1
  482. package/mysql2/session.d.cts +6 -6
  483. package/mysql2/session.d.ts +6 -6
  484. package/mysql2/session.js.map +1 -1
  485. package/neon/neon-auth.d.cts +18 -25
  486. package/neon/neon-auth.d.ts +18 -25
  487. package/neon-http/driver.cjs +1 -1
  488. package/neon-http/driver.cjs.map +1 -1
  489. package/neon-http/driver.d.cts +2 -2
  490. package/neon-http/driver.d.ts +2 -2
  491. package/neon-http/driver.js +1 -1
  492. package/neon-http/driver.js.map +1 -1
  493. package/neon-http/session.cjs.map +1 -1
  494. package/neon-http/session.d.cts +5 -5
  495. package/neon-http/session.d.ts +5 -5
  496. package/neon-http/session.js.map +1 -1
  497. package/neon-serverless/driver.cjs +1 -1
  498. package/neon-serverless/driver.cjs.map +1 -1
  499. package/neon-serverless/driver.d.cts +2 -2
  500. package/neon-serverless/driver.d.ts +2 -2
  501. package/neon-serverless/driver.js +1 -1
  502. package/neon-serverless/driver.js.map +1 -1
  503. package/neon-serverless/session.cjs.map +1 -1
  504. package/neon-serverless/session.d.cts +6 -6
  505. package/neon-serverless/session.d.ts +6 -6
  506. package/neon-serverless/session.js.map +1 -1
  507. package/node-postgres/driver.cjs +1 -1
  508. package/node-postgres/driver.cjs.map +1 -1
  509. package/node-postgres/driver.d.cts +2 -2
  510. package/node-postgres/driver.d.ts +2 -2
  511. package/node-postgres/driver.js +1 -1
  512. package/node-postgres/driver.js.map +1 -1
  513. package/node-postgres/session.cjs.map +1 -1
  514. package/node-postgres/session.d.cts +6 -6
  515. package/node-postgres/session.d.ts +6 -6
  516. package/node-postgres/session.js.map +1 -1
  517. package/op-sqlite/driver.cjs +1 -1
  518. package/op-sqlite/driver.cjs.map +1 -1
  519. package/op-sqlite/driver.js +1 -1
  520. package/op-sqlite/driver.js.map +1 -1
  521. package/op-sqlite/session.cjs.map +1 -1
  522. package/op-sqlite/session.d.cts +6 -6
  523. package/op-sqlite/session.d.ts +6 -6
  524. package/op-sqlite/session.js.map +1 -1
  525. package/operations.cjs.map +1 -1
  526. package/operations.d.cts +3 -3
  527. package/operations.d.ts +3 -3
  528. package/package.json +122 -155
  529. package/pg-core/columns/bigint.cjs +3 -6
  530. package/pg-core/columns/bigint.cjs.map +1 -1
  531. package/pg-core/columns/bigint.d.cts +14 -21
  532. package/pg-core/columns/bigint.d.ts +14 -21
  533. package/pg-core/columns/bigint.js +3 -6
  534. package/pg-core/columns/bigint.js.map +1 -1
  535. package/pg-core/columns/bigserial.cjs +2 -2
  536. package/pg-core/columns/bigserial.cjs.map +1 -1
  537. package/pg-core/columns/bigserial.d.cts +16 -19
  538. package/pg-core/columns/bigserial.d.ts +16 -19
  539. package/pg-core/columns/bigserial.js +2 -2
  540. package/pg-core/columns/bigserial.js.map +1 -1
  541. package/pg-core/columns/boolean.cjs.map +1 -1
  542. package/pg-core/columns/boolean.d.cts +6 -11
  543. package/pg-core/columns/boolean.d.ts +6 -11
  544. package/pg-core/columns/boolean.js.map +1 -1
  545. package/pg-core/columns/bytea.cjs +1 -1
  546. package/pg-core/columns/bytea.cjs.map +1 -1
  547. package/pg-core/columns/bytea.d.cts +7 -12
  548. package/pg-core/columns/bytea.d.ts +7 -12
  549. package/pg-core/columns/bytea.js +1 -1
  550. package/pg-core/columns/bytea.js.map +1 -1
  551. package/pg-core/columns/char.cjs +5 -4
  552. package/pg-core/columns/char.cjs.map +1 -1
  553. package/pg-core/columns/char.d.cts +18 -29
  554. package/pg-core/columns/char.d.ts +18 -29
  555. package/pg-core/columns/char.js +5 -4
  556. package/pg-core/columns/char.js.map +1 -1
  557. package/pg-core/columns/cidr.cjs +1 -1
  558. package/pg-core/columns/cidr.cjs.map +1 -1
  559. package/pg-core/columns/cidr.d.cts +7 -12
  560. package/pg-core/columns/cidr.d.ts +7 -12
  561. package/pg-core/columns/cidr.js +1 -1
  562. package/pg-core/columns/cidr.js.map +1 -1
  563. package/pg-core/columns/common.cjs +9 -9
  564. package/pg-core/columns/common.cjs.map +1 -1
  565. package/pg-core/columns/common.d.cts +24 -41
  566. package/pg-core/columns/common.d.ts +24 -41
  567. package/pg-core/columns/common.js +9 -9
  568. package/pg-core/columns/common.js.map +1 -1
  569. package/pg-core/columns/custom.cjs.map +1 -1
  570. package/pg-core/columns/custom.d.cts +11 -18
  571. package/pg-core/columns/custom.d.ts +11 -18
  572. package/pg-core/columns/custom.js.map +1 -1
  573. package/pg-core/columns/date.cjs +2 -2
  574. package/pg-core/columns/date.cjs.map +1 -1
  575. package/pg-core/columns/date.common.cjs.map +1 -1
  576. package/pg-core/columns/date.common.d.cts +2 -2
  577. package/pg-core/columns/date.common.d.ts +2 -2
  578. package/pg-core/columns/date.common.js.map +1 -1
  579. package/pg-core/columns/date.d.cts +14 -22
  580. package/pg-core/columns/date.d.ts +14 -22
  581. package/pg-core/columns/date.js +2 -2
  582. package/pg-core/columns/date.js.map +1 -1
  583. package/pg-core/columns/double-precision.cjs +1 -1
  584. package/pg-core/columns/double-precision.cjs.map +1 -1
  585. package/pg-core/columns/double-precision.d.cts +7 -12
  586. package/pg-core/columns/double-precision.d.ts +7 -12
  587. package/pg-core/columns/double-precision.js +1 -1
  588. package/pg-core/columns/double-precision.js.map +1 -1
  589. package/pg-core/columns/enum.cjs +2 -2
  590. package/pg-core/columns/enum.cjs.map +1 -1
  591. package/pg-core/columns/enum.d.cts +23 -40
  592. package/pg-core/columns/enum.d.ts +23 -40
  593. package/pg-core/columns/enum.js +2 -2
  594. package/pg-core/columns/enum.js.map +1 -1
  595. package/pg-core/columns/inet.cjs +1 -1
  596. package/pg-core/columns/inet.cjs.map +1 -1
  597. package/pg-core/columns/inet.d.cts +7 -12
  598. package/pg-core/columns/inet.d.ts +7 -12
  599. package/pg-core/columns/inet.js +1 -1
  600. package/pg-core/columns/inet.js.map +1 -1
  601. package/pg-core/columns/int.common.cjs.map +1 -1
  602. package/pg-core/columns/int.common.d.cts +2 -2
  603. package/pg-core/columns/int.common.d.ts +2 -2
  604. package/pg-core/columns/int.common.js.map +1 -1
  605. package/pg-core/columns/integer.cjs +1 -1
  606. package/pg-core/columns/integer.cjs.map +1 -1
  607. package/pg-core/columns/integer.d.cts +7 -12
  608. package/pg-core/columns/integer.d.ts +7 -12
  609. package/pg-core/columns/integer.js +1 -1
  610. package/pg-core/columns/integer.js.map +1 -1
  611. package/pg-core/columns/interval.cjs +1 -1
  612. package/pg-core/columns/interval.cjs.map +1 -1
  613. package/pg-core/columns/interval.d.cts +8 -13
  614. package/pg-core/columns/interval.d.ts +8 -13
  615. package/pg-core/columns/interval.js +1 -1
  616. package/pg-core/columns/interval.js.map +1 -1
  617. package/pg-core/columns/json.cjs +1 -1
  618. package/pg-core/columns/json.cjs.map +1 -1
  619. package/pg-core/columns/json.d.cts +9 -16
  620. package/pg-core/columns/json.d.ts +9 -16
  621. package/pg-core/columns/json.js +1 -1
  622. package/pg-core/columns/json.js.map +1 -1
  623. package/pg-core/columns/jsonb.cjs +1 -1
  624. package/pg-core/columns/jsonb.cjs.map +1 -1
  625. package/pg-core/columns/jsonb.d.cts +9 -16
  626. package/pg-core/columns/jsonb.d.ts +9 -16
  627. package/pg-core/columns/jsonb.js +1 -1
  628. package/pg-core/columns/jsonb.js.map +1 -1
  629. package/pg-core/columns/line.cjs +2 -2
  630. package/pg-core/columns/line.cjs.map +1 -1
  631. package/pg-core/columns/line.d.cts +14 -22
  632. package/pg-core/columns/line.d.ts +14 -22
  633. package/pg-core/columns/line.js +2 -2
  634. package/pg-core/columns/line.js.map +1 -1
  635. package/pg-core/columns/macaddr.cjs +1 -1
  636. package/pg-core/columns/macaddr.cjs.map +1 -1
  637. package/pg-core/columns/macaddr.d.cts +7 -12
  638. package/pg-core/columns/macaddr.d.ts +7 -12
  639. package/pg-core/columns/macaddr.js +1 -1
  640. package/pg-core/columns/macaddr.js.map +1 -1
  641. package/pg-core/columns/macaddr8.cjs +1 -1
  642. package/pg-core/columns/macaddr8.cjs.map +1 -1
  643. package/pg-core/columns/macaddr8.d.cts +7 -12
  644. package/pg-core/columns/macaddr8.d.ts +7 -12
  645. package/pg-core/columns/macaddr8.js +1 -1
  646. package/pg-core/columns/macaddr8.js.map +1 -1
  647. package/pg-core/columns/numeric.cjs +2 -2
  648. package/pg-core/columns/numeric.cjs.map +1 -1
  649. package/pg-core/columns/numeric.d.cts +23 -39
  650. package/pg-core/columns/numeric.d.ts +23 -39
  651. package/pg-core/columns/numeric.js +2 -2
  652. package/pg-core/columns/numeric.js.map +1 -1
  653. package/pg-core/columns/point.cjs +2 -2
  654. package/pg-core/columns/point.cjs.map +1 -1
  655. package/pg-core/columns/point.d.cts +12 -20
  656. package/pg-core/columns/point.d.ts +12 -20
  657. package/pg-core/columns/point.js +2 -2
  658. package/pg-core/columns/point.js.map +1 -1
  659. package/pg-core/columns/postgis_extension/geometry.cjs +2 -2
  660. package/pg-core/columns/postgis_extension/geometry.cjs.map +1 -1
  661. package/pg-core/columns/postgis_extension/geometry.d.cts +14 -22
  662. package/pg-core/columns/postgis_extension/geometry.d.ts +14 -22
  663. package/pg-core/columns/postgis_extension/geometry.js +2 -2
  664. package/pg-core/columns/postgis_extension/geometry.js.map +1 -1
  665. package/pg-core/columns/real.cjs +1 -1
  666. package/pg-core/columns/real.cjs.map +1 -1
  667. package/pg-core/columns/real.d.cts +9 -16
  668. package/pg-core/columns/real.d.ts +9 -16
  669. package/pg-core/columns/real.js +1 -1
  670. package/pg-core/columns/real.js.map +1 -1
  671. package/pg-core/columns/serial.cjs +1 -1
  672. package/pg-core/columns/serial.cjs.map +1 -1
  673. package/pg-core/columns/serial.d.cts +9 -12
  674. package/pg-core/columns/serial.d.ts +9 -12
  675. package/pg-core/columns/serial.js +1 -1
  676. package/pg-core/columns/serial.js.map +1 -1
  677. package/pg-core/columns/smallint.cjs +1 -1
  678. package/pg-core/columns/smallint.cjs.map +1 -1
  679. package/pg-core/columns/smallint.d.cts +7 -12
  680. package/pg-core/columns/smallint.d.ts +7 -12
  681. package/pg-core/columns/smallint.js +1 -1
  682. package/pg-core/columns/smallint.js.map +1 -1
  683. package/pg-core/columns/smallserial.cjs +1 -1
  684. package/pg-core/columns/smallserial.cjs.map +1 -1
  685. package/pg-core/columns/smallserial.d.cts +9 -12
  686. package/pg-core/columns/smallserial.d.ts +9 -12
  687. package/pg-core/columns/smallserial.js +1 -1
  688. package/pg-core/columns/smallserial.js.map +1 -1
  689. package/pg-core/columns/text.cjs +7 -3
  690. package/pg-core/columns/text.cjs.map +1 -1
  691. package/pg-core/columns/text.d.cts +14 -18
  692. package/pg-core/columns/text.d.ts +14 -18
  693. package/pg-core/columns/text.js +7 -3
  694. package/pg-core/columns/text.js.map +1 -1
  695. package/pg-core/columns/time.cjs +1 -1
  696. package/pg-core/columns/time.cjs.map +1 -1
  697. package/pg-core/columns/time.d.cts +10 -17
  698. package/pg-core/columns/time.d.ts +10 -17
  699. package/pg-core/columns/time.js +1 -1
  700. package/pg-core/columns/time.js.map +1 -1
  701. package/pg-core/columns/timestamp.cjs +2 -2
  702. package/pg-core/columns/timestamp.cjs.map +1 -1
  703. package/pg-core/columns/timestamp.d.cts +17 -29
  704. package/pg-core/columns/timestamp.d.ts +17 -29
  705. package/pg-core/columns/timestamp.js +2 -2
  706. package/pg-core/columns/timestamp.js.map +1 -1
  707. package/pg-core/columns/uuid.cjs +1 -1
  708. package/pg-core/columns/uuid.cjs.map +1 -1
  709. package/pg-core/columns/uuid.d.cts +7 -12
  710. package/pg-core/columns/uuid.d.ts +7 -12
  711. package/pg-core/columns/uuid.js +1 -1
  712. package/pg-core/columns/uuid.js.map +1 -1
  713. package/pg-core/columns/varchar.cjs +1 -2
  714. package/pg-core/columns/varchar.cjs.map +1 -1
  715. package/pg-core/columns/varchar.d.cts +14 -27
  716. package/pg-core/columns/varchar.d.ts +14 -27
  717. package/pg-core/columns/varchar.js +1 -2
  718. package/pg-core/columns/varchar.js.map +1 -1
  719. package/pg-core/columns/vector_extension/bit.cjs +4 -4
  720. package/pg-core/columns/vector_extension/bit.cjs.map +1 -1
  721. package/pg-core/columns/vector_extension/bit.d.cts +12 -25
  722. package/pg-core/columns/vector_extension/bit.d.ts +12 -25
  723. package/pg-core/columns/vector_extension/bit.js +4 -4
  724. package/pg-core/columns/vector_extension/bit.js.map +1 -1
  725. package/pg-core/columns/vector_extension/halfvec.cjs +4 -4
  726. package/pg-core/columns/vector_extension/halfvec.cjs.map +1 -1
  727. package/pg-core/columns/vector_extension/halfvec.d.cts +11 -26
  728. package/pg-core/columns/vector_extension/halfvec.d.ts +11 -26
  729. package/pg-core/columns/vector_extension/halfvec.js +4 -4
  730. package/pg-core/columns/vector_extension/halfvec.js.map +1 -1
  731. package/pg-core/columns/vector_extension/sparsevec.cjs +1 -1
  732. package/pg-core/columns/vector_extension/sparsevec.cjs.map +1 -1
  733. package/pg-core/columns/vector_extension/sparsevec.d.cts +7 -11
  734. package/pg-core/columns/vector_extension/sparsevec.d.ts +7 -11
  735. package/pg-core/columns/vector_extension/sparsevec.js +1 -1
  736. package/pg-core/columns/vector_extension/sparsevec.js.map +1 -1
  737. package/pg-core/columns/vector_extension/vector.cjs +4 -4
  738. package/pg-core/columns/vector_extension/vector.cjs.map +1 -1
  739. package/pg-core/columns/vector_extension/vector.d.cts +11 -26
  740. package/pg-core/columns/vector_extension/vector.d.ts +11 -26
  741. package/pg-core/columns/vector_extension/vector.js +4 -4
  742. package/pg-core/columns/vector_extension/vector.js.map +1 -1
  743. package/pg-core/db.cjs +10 -15
  744. package/pg-core/db.cjs.map +1 -1
  745. package/pg-core/db.d.cts +8 -8
  746. package/pg-core/db.d.ts +8 -8
  747. package/pg-core/db.js +10 -15
  748. package/pg-core/db.js.map +1 -1
  749. package/pg-core/dialect.cjs +13 -13
  750. package/pg-core/dialect.cjs.map +1 -1
  751. package/pg-core/dialect.d.cts +1 -3
  752. package/pg-core/dialect.d.ts +1 -3
  753. package/pg-core/dialect.js +14 -14
  754. package/pg-core/dialect.js.map +1 -1
  755. package/pg-core/query-builders/delete.cjs.map +1 -1
  756. package/pg-core/query-builders/delete.js.map +1 -1
  757. package/pg-core/query-builders/insert.cjs +1 -1
  758. package/pg-core/query-builders/insert.cjs.map +1 -1
  759. package/pg-core/query-builders/insert.d.cts +2 -2
  760. package/pg-core/query-builders/insert.d.ts +2 -2
  761. package/pg-core/query-builders/insert.js +2 -2
  762. package/pg-core/query-builders/insert.js.map +1 -1
  763. package/pg-core/query-builders/query.cjs +2 -12
  764. package/pg-core/query-builders/query.cjs.map +1 -1
  765. package/pg-core/query-builders/query.d.cts +2 -6
  766. package/pg-core/query-builders/query.d.ts +2 -6
  767. package/pg-core/query-builders/query.js +2 -12
  768. package/pg-core/query-builders/query.js.map +1 -1
  769. package/pg-core/query-builders/select.types.cjs.map +1 -1
  770. package/pg-core/query-builders/select.types.d.cts +1 -1
  771. package/pg-core/query-builders/select.types.d.ts +1 -1
  772. package/pg-core/query-builders/update.cjs.map +1 -1
  773. package/pg-core/query-builders/update.d.cts +3 -3
  774. package/pg-core/query-builders/update.d.ts +3 -3
  775. package/pg-core/query-builders/update.js.map +1 -1
  776. package/pg-core/session.cjs.map +1 -1
  777. package/pg-core/session.d.cts +7 -7
  778. package/pg-core/session.d.ts +7 -7
  779. package/pg-core/session.js.map +1 -1
  780. package/pg-core/table.cjs.map +1 -1
  781. package/pg-core/table.d.cts +9 -11
  782. package/pg-core/table.d.ts +9 -11
  783. package/pg-core/table.js +3 -1
  784. package/pg-core/table.js.map +1 -1
  785. package/pg-core/utils.cjs +3 -1
  786. package/pg-core/utils.cjs.map +1 -1
  787. package/pg-core/utils.d.cts +1 -1
  788. package/pg-core/utils.d.ts +1 -1
  789. package/pg-core/utils.js +4 -2
  790. package/pg-core/utils.js.map +1 -1
  791. package/pg-core/view.cjs.map +1 -1
  792. package/pg-core/view.d.cts +5 -6
  793. package/pg-core/view.d.ts +5 -6
  794. package/pg-core/view.js.map +1 -1
  795. package/pg-proxy/driver.cjs +1 -1
  796. package/pg-proxy/driver.cjs.map +1 -1
  797. package/pg-proxy/driver.js +1 -1
  798. package/pg-proxy/driver.js.map +1 -1
  799. package/pg-proxy/session.cjs.map +1 -1
  800. package/pg-proxy/session.d.cts +6 -6
  801. package/pg-proxy/session.d.ts +6 -6
  802. package/pg-proxy/session.js.map +1 -1
  803. package/pglite/driver.cjs +1 -1
  804. package/pglite/driver.cjs.map +1 -1
  805. package/pglite/driver.d.cts +2 -2
  806. package/pglite/driver.d.ts +2 -2
  807. package/pglite/driver.js +1 -1
  808. package/pglite/driver.js.map +1 -1
  809. package/pglite/session.cjs.map +1 -1
  810. package/pglite/session.d.cts +6 -6
  811. package/pglite/session.d.ts +6 -6
  812. package/pglite/session.js.map +1 -1
  813. package/planetscale-serverless/driver.cjs +1 -1
  814. package/planetscale-serverless/driver.cjs.map +1 -1
  815. package/planetscale-serverless/driver.js +1 -1
  816. package/planetscale-serverless/driver.js.map +1 -1
  817. package/planetscale-serverless/session.cjs.map +1 -1
  818. package/planetscale-serverless/session.d.cts +7 -7
  819. package/planetscale-serverless/session.d.ts +7 -7
  820. package/planetscale-serverless/session.js.map +1 -1
  821. package/postgres-js/driver.cjs +1 -1
  822. package/postgres-js/driver.cjs.map +1 -1
  823. package/postgres-js/driver.d.cts +1 -1
  824. package/postgres-js/driver.d.ts +1 -1
  825. package/postgres-js/driver.js +1 -1
  826. package/postgres-js/driver.js.map +1 -1
  827. package/postgres-js/session.cjs.map +1 -1
  828. package/postgres-js/session.d.cts +7 -7
  829. package/postgres-js/session.d.ts +7 -7
  830. package/postgres-js/session.js.map +1 -1
  831. package/prisma/mysql/driver.cjs +7 -1
  832. package/prisma/mysql/driver.cjs.map +1 -1
  833. package/prisma/mysql/driver.js +7 -1
  834. package/prisma/mysql/driver.js.map +1 -1
  835. package/prisma/mysql/session.cjs.map +1 -1
  836. package/prisma/mysql/session.d.cts +2 -2
  837. package/prisma/mysql/session.d.ts +2 -2
  838. package/prisma/mysql/session.js.map +1 -1
  839. package/prisma/pg/driver.cjs +1 -1
  840. package/prisma/pg/driver.cjs.map +1 -1
  841. package/prisma/pg/driver.js +1 -1
  842. package/prisma/pg/driver.js.map +1 -1
  843. package/prisma/pg/session.cjs.map +1 -1
  844. package/prisma/pg/session.d.cts +2 -2
  845. package/prisma/pg/session.d.ts +2 -2
  846. package/prisma/pg/session.js.map +1 -1
  847. package/prisma/sqlite/driver.cjs +7 -1
  848. package/prisma/sqlite/driver.cjs.map +1 -1
  849. package/prisma/sqlite/driver.js +7 -1
  850. package/prisma/sqlite/driver.js.map +1 -1
  851. package/prisma/sqlite/session.cjs.map +1 -1
  852. package/prisma/sqlite/session.d.cts +3 -3
  853. package/prisma/sqlite/session.d.ts +3 -3
  854. package/prisma/sqlite/session.js.map +1 -1
  855. package/query-builders/select.types.cjs.map +1 -1
  856. package/query-builders/select.types.d.cts +2 -2
  857. package/query-builders/select.types.d.ts +2 -2
  858. package/relations.cjs +174 -163
  859. package/relations.cjs.map +1 -1
  860. package/relations.d.cts +170 -190
  861. package/relations.d.ts +170 -190
  862. package/relations.js +170 -163
  863. package/relations.js.map +1 -1
  864. package/singlestore-core/columns/bigint.cjs +2 -2
  865. package/singlestore-core/columns/bigint.cjs.map +1 -1
  866. package/singlestore-core/columns/bigint.d.cts +17 -24
  867. package/singlestore-core/columns/bigint.d.ts +17 -24
  868. package/singlestore-core/columns/bigint.js +2 -2
  869. package/singlestore-core/columns/bigint.js.map +1 -1
  870. package/singlestore-core/columns/binary.cjs +5 -4
  871. package/singlestore-core/columns/binary.cjs.map +1 -1
  872. package/singlestore-core/columns/binary.d.cts +13 -15
  873. package/singlestore-core/columns/binary.d.ts +13 -15
  874. package/singlestore-core/columns/binary.js +5 -4
  875. package/singlestore-core/columns/binary.js.map +1 -1
  876. package/singlestore-core/columns/boolean.cjs.map +1 -1
  877. package/singlestore-core/columns/boolean.d.cts +6 -12
  878. package/singlestore-core/columns/boolean.d.ts +6 -12
  879. package/singlestore-core/columns/boolean.js.map +1 -1
  880. package/singlestore-core/columns/char.cjs +5 -4
  881. package/singlestore-core/columns/char.cjs.map +1 -1
  882. package/singlestore-core/columns/char.d.cts +18 -24
  883. package/singlestore-core/columns/char.d.ts +18 -24
  884. package/singlestore-core/columns/char.js +5 -4
  885. package/singlestore-core/columns/char.js.map +1 -1
  886. package/singlestore-core/columns/common.cjs +3 -2
  887. package/singlestore-core/columns/common.cjs.map +1 -1
  888. package/singlestore-core/columns/common.d.cts +14 -18
  889. package/singlestore-core/columns/common.d.ts +14 -18
  890. package/singlestore-core/columns/common.js +3 -2
  891. package/singlestore-core/columns/common.js.map +1 -1
  892. package/singlestore-core/columns/custom.cjs.map +1 -1
  893. package/singlestore-core/columns/custom.d.cts +10 -15
  894. package/singlestore-core/columns/custom.d.ts +10 -15
  895. package/singlestore-core/columns/custom.js.map +1 -1
  896. package/singlestore-core/columns/date.cjs +2 -2
  897. package/singlestore-core/columns/date.cjs.map +1 -1
  898. package/singlestore-core/columns/date.common.cjs.map +1 -1
  899. package/singlestore-core/columns/date.common.d.cts +3 -3
  900. package/singlestore-core/columns/date.common.d.ts +3 -3
  901. package/singlestore-core/columns/date.common.js.map +1 -1
  902. package/singlestore-core/columns/date.d.cts +16 -26
  903. package/singlestore-core/columns/date.d.ts +16 -26
  904. package/singlestore-core/columns/date.js +2 -2
  905. package/singlestore-core/columns/date.js.map +1 -1
  906. package/singlestore-core/columns/datetime.cjs +3 -5
  907. package/singlestore-core/columns/datetime.cjs.map +1 -1
  908. package/singlestore-core/columns/datetime.d.cts +25 -27
  909. package/singlestore-core/columns/datetime.d.ts +25 -27
  910. package/singlestore-core/columns/datetime.js +3 -5
  911. package/singlestore-core/columns/datetime.js.map +1 -1
  912. package/singlestore-core/columns/decimal.cjs +3 -3
  913. package/singlestore-core/columns/decimal.cjs.map +1 -1
  914. package/singlestore-core/columns/decimal.d.cts +22 -36
  915. package/singlestore-core/columns/decimal.d.ts +22 -36
  916. package/singlestore-core/columns/decimal.js +3 -3
  917. package/singlestore-core/columns/decimal.js.map +1 -1
  918. package/singlestore-core/columns/double.cjs +1 -1
  919. package/singlestore-core/columns/double.cjs.map +1 -1
  920. package/singlestore-core/columns/double.d.cts +11 -16
  921. package/singlestore-core/columns/double.d.ts +11 -16
  922. package/singlestore-core/columns/double.js +1 -1
  923. package/singlestore-core/columns/double.js.map +1 -1
  924. package/singlestore-core/columns/enum.cjs +1 -1
  925. package/singlestore-core/columns/enum.cjs.map +1 -1
  926. package/singlestore-core/columns/enum.d.cts +14 -15
  927. package/singlestore-core/columns/enum.d.ts +14 -15
  928. package/singlestore-core/columns/enum.js +1 -1
  929. package/singlestore-core/columns/enum.js.map +1 -1
  930. package/singlestore-core/columns/float.cjs +1 -1
  931. package/singlestore-core/columns/float.cjs.map +1 -1
  932. package/singlestore-core/columns/float.d.cts +11 -16
  933. package/singlestore-core/columns/float.d.ts +11 -16
  934. package/singlestore-core/columns/float.js +1 -1
  935. package/singlestore-core/columns/float.js.map +1 -1
  936. package/singlestore-core/columns/int.cjs +1 -1
  937. package/singlestore-core/columns/int.cjs.map +1 -1
  938. package/singlestore-core/columns/int.d.cts +11 -16
  939. package/singlestore-core/columns/int.d.ts +11 -16
  940. package/singlestore-core/columns/int.js +1 -1
  941. package/singlestore-core/columns/int.js.map +1 -1
  942. package/singlestore-core/columns/json.cjs +1 -1
  943. package/singlestore-core/columns/json.cjs.map +1 -1
  944. package/singlestore-core/columns/json.d.cts +7 -13
  945. package/singlestore-core/columns/json.d.ts +7 -13
  946. package/singlestore-core/columns/json.js +1 -1
  947. package/singlestore-core/columns/json.js.map +1 -1
  948. package/singlestore-core/columns/mediumint.cjs +1 -1
  949. package/singlestore-core/columns/mediumint.cjs.map +1 -1
  950. package/singlestore-core/columns/mediumint.d.cts +9 -14
  951. package/singlestore-core/columns/mediumint.d.ts +9 -14
  952. package/singlestore-core/columns/mediumint.js +1 -1
  953. package/singlestore-core/columns/mediumint.js.map +1 -1
  954. package/singlestore-core/columns/real.cjs +1 -1
  955. package/singlestore-core/columns/real.cjs.map +1 -1
  956. package/singlestore-core/columns/real.d.cts +8 -14
  957. package/singlestore-core/columns/real.d.ts +8 -14
  958. package/singlestore-core/columns/real.js +1 -1
  959. package/singlestore-core/columns/real.js.map +1 -1
  960. package/singlestore-core/columns/serial.cjs +1 -1
  961. package/singlestore-core/columns/serial.cjs.map +1 -1
  962. package/singlestore-core/columns/serial.d.cts +11 -13
  963. package/singlestore-core/columns/serial.d.ts +11 -13
  964. package/singlestore-core/columns/serial.js +1 -1
  965. package/singlestore-core/columns/serial.js.map +1 -1
  966. package/singlestore-core/columns/smallint.cjs +1 -1
  967. package/singlestore-core/columns/smallint.cjs.map +1 -1
  968. package/singlestore-core/columns/smallint.d.cts +9 -14
  969. package/singlestore-core/columns/smallint.d.ts +9 -14
  970. package/singlestore-core/columns/smallint.js +1 -1
  971. package/singlestore-core/columns/smallint.js.map +1 -1
  972. package/singlestore-core/columns/text.cjs +19 -1
  973. package/singlestore-core/columns/text.cjs.map +1 -1
  974. package/singlestore-core/columns/text.d.cts +17 -24
  975. package/singlestore-core/columns/text.d.ts +17 -24
  976. package/singlestore-core/columns/text.js +19 -1
  977. package/singlestore-core/columns/text.js.map +1 -1
  978. package/singlestore-core/columns/time.cjs +1 -1
  979. package/singlestore-core/columns/time.cjs.map +1 -1
  980. package/singlestore-core/columns/time.d.cts +7 -13
  981. package/singlestore-core/columns/time.d.ts +7 -13
  982. package/singlestore-core/columns/time.js +1 -1
  983. package/singlestore-core/columns/time.js.map +1 -1
  984. package/singlestore-core/columns/timestamp.cjs +2 -2
  985. package/singlestore-core/columns/timestamp.cjs.map +1 -1
  986. package/singlestore-core/columns/timestamp.d.cts +14 -24
  987. package/singlestore-core/columns/timestamp.d.ts +14 -24
  988. package/singlestore-core/columns/timestamp.js +2 -2
  989. package/singlestore-core/columns/timestamp.js.map +1 -1
  990. package/singlestore-core/columns/tinyint.cjs +1 -1
  991. package/singlestore-core/columns/tinyint.cjs.map +1 -1
  992. package/singlestore-core/columns/tinyint.d.cts +9 -14
  993. package/singlestore-core/columns/tinyint.d.ts +9 -14
  994. package/singlestore-core/columns/tinyint.js +1 -1
  995. package/singlestore-core/columns/tinyint.js.map +1 -1
  996. package/singlestore-core/columns/varbinary.cjs +2 -3
  997. package/singlestore-core/columns/varbinary.cjs.map +1 -1
  998. package/singlestore-core/columns/varbinary.d.cts +7 -13
  999. package/singlestore-core/columns/varbinary.d.ts +7 -13
  1000. package/singlestore-core/columns/varbinary.js +2 -3
  1001. package/singlestore-core/columns/varbinary.js.map +1 -1
  1002. package/singlestore-core/columns/varchar.cjs +1 -2
  1003. package/singlestore-core/columns/varchar.cjs.map +1 -1
  1004. package/singlestore-core/columns/varchar.d.cts +12 -24
  1005. package/singlestore-core/columns/varchar.d.ts +12 -24
  1006. package/singlestore-core/columns/varchar.js +1 -2
  1007. package/singlestore-core/columns/varchar.js.map +1 -1
  1008. package/singlestore-core/columns/vector.cjs +5 -5
  1009. package/singlestore-core/columns/vector.cjs.map +1 -1
  1010. package/singlestore-core/columns/vector.d.cts +17 -14
  1011. package/singlestore-core/columns/vector.d.ts +17 -14
  1012. package/singlestore-core/columns/vector.js +5 -5
  1013. package/singlestore-core/columns/vector.js.map +1 -1
  1014. package/singlestore-core/columns/year.cjs +1 -1
  1015. package/singlestore-core/columns/year.cjs.map +1 -1
  1016. package/singlestore-core/columns/year.d.cts +7 -13
  1017. package/singlestore-core/columns/year.d.ts +7 -13
  1018. package/singlestore-core/columns/year.js +1 -1
  1019. package/singlestore-core/columns/year.js.map +1 -1
  1020. package/singlestore-core/dialect.cjs +2 -2
  1021. package/singlestore-core/dialect.cjs.map +1 -1
  1022. package/singlestore-core/dialect.js +2 -2
  1023. package/singlestore-core/dialect.js.map +1 -1
  1024. package/singlestore-core/query-builders/insert.cjs.map +1 -1
  1025. package/singlestore-core/query-builders/insert.d.cts +3 -3
  1026. package/singlestore-core/query-builders/insert.d.ts +3 -3
  1027. package/singlestore-core/query-builders/insert.js.map +1 -1
  1028. package/singlestore-core/query-builders/select.types.cjs.map +1 -1
  1029. package/singlestore-core/query-builders/select.types.d.cts +1 -1
  1030. package/singlestore-core/query-builders/select.types.d.ts +1 -1
  1031. package/singlestore-core/query-builders/update.cjs.map +1 -1
  1032. package/singlestore-core/query-builders/update.d.cts +3 -2
  1033. package/singlestore-core/query-builders/update.d.ts +3 -2
  1034. package/singlestore-core/query-builders/update.js.map +1 -1
  1035. package/singlestore-core/table.cjs.map +1 -1
  1036. package/singlestore-core/table.d.cts +10 -13
  1037. package/singlestore-core/table.d.ts +10 -13
  1038. package/singlestore-core/table.js +3 -1
  1039. package/singlestore-core/table.js.map +1 -1
  1040. package/singlestore-core/utils.d.cts +1 -1
  1041. package/singlestore-core/utils.d.ts +1 -1
  1042. package/singlestore-core/view.cjs.map +1 -1
  1043. package/singlestore-core/view.d.cts +2 -3
  1044. package/singlestore-core/view.d.ts +2 -3
  1045. package/singlestore-core/view.js.map +1 -1
  1046. package/sql/sql.cjs +2 -2
  1047. package/sql/sql.cjs.map +1 -1
  1048. package/sql/sql.js +3 -3
  1049. package/sql/sql.js.map +1 -1
  1050. package/sql-js/driver.cjs +1 -1
  1051. package/sql-js/driver.cjs.map +1 -1
  1052. package/sql-js/driver.js +1 -1
  1053. package/sql-js/driver.js.map +1 -1
  1054. package/sql-js/session.cjs.map +1 -1
  1055. package/sql-js/session.d.cts +6 -6
  1056. package/sql-js/session.d.ts +6 -6
  1057. package/sql-js/session.js.map +1 -1
  1058. package/sqlite-core/columns/blob.cjs +3 -3
  1059. package/sqlite-core/columns/blob.cjs.map +1 -1
  1060. package/sqlite-core/columns/blob.d.cts +20 -31
  1061. package/sqlite-core/columns/blob.d.ts +20 -31
  1062. package/sqlite-core/columns/blob.js +3 -3
  1063. package/sqlite-core/columns/blob.js.map +1 -1
  1064. package/sqlite-core/columns/common.cjs +3 -1
  1065. package/sqlite-core/columns/common.cjs.map +1 -1
  1066. package/sqlite-core/columns/common.d.cts +6 -14
  1067. package/sqlite-core/columns/common.d.ts +6 -14
  1068. package/sqlite-core/columns/common.js +3 -1
  1069. package/sqlite-core/columns/common.js.map +1 -1
  1070. package/sqlite-core/columns/custom.cjs.map +1 -1
  1071. package/sqlite-core/columns/custom.d.cts +10 -14
  1072. package/sqlite-core/columns/custom.d.ts +10 -14
  1073. package/sqlite-core/columns/custom.js.map +1 -1
  1074. package/sqlite-core/columns/integer.cjs +2 -2
  1075. package/sqlite-core/columns/integer.cjs.map +1 -1
  1076. package/sqlite-core/columns/integer.d.cts +28 -44
  1077. package/sqlite-core/columns/integer.d.ts +28 -44
  1078. package/sqlite-core/columns/integer.js +2 -2
  1079. package/sqlite-core/columns/integer.js.map +1 -1
  1080. package/sqlite-core/columns/numeric.cjs +2 -2
  1081. package/sqlite-core/columns/numeric.cjs.map +1 -1
  1082. package/sqlite-core/columns/numeric.d.cts +19 -29
  1083. package/sqlite-core/columns/numeric.d.ts +19 -29
  1084. package/sqlite-core/columns/numeric.js +2 -2
  1085. package/sqlite-core/columns/numeric.js.map +1 -1
  1086. package/sqlite-core/columns/real.cjs +1 -1
  1087. package/sqlite-core/columns/real.cjs.map +1 -1
  1088. package/sqlite-core/columns/real.d.cts +7 -12
  1089. package/sqlite-core/columns/real.d.ts +7 -12
  1090. package/sqlite-core/columns/real.js +1 -1
  1091. package/sqlite-core/columns/real.js.map +1 -1
  1092. package/sqlite-core/columns/text.cjs +2 -3
  1093. package/sqlite-core/columns/text.cjs.map +1 -1
  1094. package/sqlite-core/columns/text.d.cts +20 -35
  1095. package/sqlite-core/columns/text.d.ts +20 -35
  1096. package/sqlite-core/columns/text.js +2 -3
  1097. package/sqlite-core/columns/text.js.map +1 -1
  1098. package/sqlite-core/db.cjs +13 -18
  1099. package/sqlite-core/db.cjs.map +1 -1
  1100. package/sqlite-core/db.d.cts +7 -7
  1101. package/sqlite-core/db.d.ts +7 -7
  1102. package/sqlite-core/db.js +13 -18
  1103. package/sqlite-core/db.js.map +1 -1
  1104. package/sqlite-core/dialect.cjs +8 -12
  1105. package/sqlite-core/dialect.cjs.map +1 -1
  1106. package/sqlite-core/dialect.d.cts +3 -5
  1107. package/sqlite-core/dialect.d.ts +3 -5
  1108. package/sqlite-core/dialect.js +9 -13
  1109. package/sqlite-core/dialect.js.map +1 -1
  1110. package/sqlite-core/query-builders/_query.cjs.map +1 -1
  1111. package/sqlite-core/query-builders/_query.d.cts +3 -3
  1112. package/sqlite-core/query-builders/_query.d.ts +3 -3
  1113. package/sqlite-core/query-builders/_query.js.map +1 -1
  1114. package/sqlite-core/query-builders/delete.cjs.map +1 -1
  1115. package/sqlite-core/query-builders/delete.d.cts +1 -1
  1116. package/sqlite-core/query-builders/delete.d.ts +1 -1
  1117. package/sqlite-core/query-builders/delete.js.map +1 -1
  1118. package/sqlite-core/query-builders/insert.cjs +1 -1
  1119. package/sqlite-core/query-builders/insert.cjs.map +1 -1
  1120. package/sqlite-core/query-builders/insert.d.cts +8 -7
  1121. package/sqlite-core/query-builders/insert.d.ts +8 -7
  1122. package/sqlite-core/query-builders/insert.js +2 -2
  1123. package/sqlite-core/query-builders/insert.js.map +1 -1
  1124. package/sqlite-core/query-builders/query.cjs +2 -18
  1125. package/sqlite-core/query-builders/query.cjs.map +1 -1
  1126. package/sqlite-core/query-builders/query.d.cts +2 -6
  1127. package/sqlite-core/query-builders/query.d.ts +2 -6
  1128. package/sqlite-core/query-builders/query.js +2 -18
  1129. package/sqlite-core/query-builders/query.js.map +1 -1
  1130. package/sqlite-core/query-builders/select.cjs.map +1 -1
  1131. package/sqlite-core/query-builders/select.d.cts +3 -3
  1132. package/sqlite-core/query-builders/select.d.ts +3 -3
  1133. package/sqlite-core/query-builders/select.js.map +1 -1
  1134. package/sqlite-core/query-builders/select.types.cjs.map +1 -1
  1135. package/sqlite-core/query-builders/select.types.d.cts +1 -1
  1136. package/sqlite-core/query-builders/select.types.d.ts +1 -1
  1137. package/sqlite-core/query-builders/update.cjs.map +1 -1
  1138. package/sqlite-core/query-builders/update.d.cts +6 -5
  1139. package/sqlite-core/query-builders/update.d.ts +6 -5
  1140. package/sqlite-core/query-builders/update.js.map +1 -1
  1141. package/sqlite-core/session.cjs.map +1 -1
  1142. package/sqlite-core/session.d.cts +6 -6
  1143. package/sqlite-core/session.d.ts +6 -6
  1144. package/sqlite-core/session.js.map +1 -1
  1145. package/sqlite-core/table.cjs.map +1 -1
  1146. package/sqlite-core/table.d.cts +9 -11
  1147. package/sqlite-core/table.d.ts +9 -11
  1148. package/sqlite-core/table.js +3 -1
  1149. package/sqlite-core/table.js.map +1 -1
  1150. package/sqlite-core/utils.d.cts +1 -1
  1151. package/sqlite-core/utils.d.ts +1 -1
  1152. package/sqlite-core/view.cjs.map +1 -1
  1153. package/sqlite-core/view.d.cts +3 -4
  1154. package/sqlite-core/view.d.ts +3 -4
  1155. package/sqlite-core/view.js.map +1 -1
  1156. package/sqlite-proxy/driver.cjs +1 -1
  1157. package/sqlite-proxy/driver.cjs.map +1 -1
  1158. package/sqlite-proxy/driver.js +1 -1
  1159. package/sqlite-proxy/driver.js.map +1 -1
  1160. package/sqlite-proxy/session.cjs.map +1 -1
  1161. package/sqlite-proxy/session.d.cts +6 -6
  1162. package/sqlite-proxy/session.d.ts +6 -6
  1163. package/sqlite-proxy/session.js.map +1 -1
  1164. package/supabase/rls.d.cts +30 -43
  1165. package/supabase/rls.d.ts +30 -43
  1166. package/table.cjs +13 -12
  1167. package/table.cjs.map +1 -1
  1168. package/table.d.cts +26 -35
  1169. package/table.d.ts +26 -35
  1170. package/table.js +11 -10
  1171. package/table.js.map +1 -1
  1172. package/tidb-serverless/driver.cjs +1 -1
  1173. package/tidb-serverless/driver.cjs.map +1 -1
  1174. package/tidb-serverless/driver.js +1 -1
  1175. package/tidb-serverless/driver.js.map +1 -1
  1176. package/tidb-serverless/session.cjs.map +1 -1
  1177. package/tidb-serverless/session.d.cts +7 -7
  1178. package/tidb-serverless/session.d.ts +7 -7
  1179. package/tidb-serverless/session.js.map +1 -1
  1180. package/utils.cjs +5 -0
  1181. package/utils.cjs.map +1 -1
  1182. package/utils.d.cts +2 -2
  1183. package/utils.d.ts +2 -2
  1184. package/utils.js +5 -0
  1185. package/utils.js.map +1 -1
  1186. package/vercel-postgres/driver.cjs +1 -1
  1187. package/vercel-postgres/driver.cjs.map +1 -1
  1188. package/vercel-postgres/driver.d.cts +2 -2
  1189. package/vercel-postgres/driver.d.ts +2 -2
  1190. package/vercel-postgres/driver.js +1 -1
  1191. package/vercel-postgres/driver.js.map +1 -1
  1192. package/vercel-postgres/session.cjs.map +1 -1
  1193. package/vercel-postgres/session.d.cts +6 -6
  1194. package/vercel-postgres/session.d.ts +6 -6
  1195. package/vercel-postgres/session.js.map +1 -1
  1196. package/version.cjs +1 -1
  1197. package/version.d.cts +1 -1
  1198. package/version.d.ts +1 -1
  1199. package/version.js +1 -1
  1200. package/xata-http/driver.cjs +1 -1
  1201. package/xata-http/driver.cjs.map +1 -1
  1202. package/xata-http/driver.d.cts +2 -2
  1203. package/xata-http/driver.d.ts +2 -2
  1204. package/xata-http/driver.js +1 -1
  1205. package/xata-http/driver.js.map +1 -1
  1206. package/xata-http/session.cjs.map +1 -1
  1207. package/xata-http/session.d.cts +6 -6
  1208. package/xata-http/session.d.ts +6 -6
  1209. package/xata-http/session.js.map +1 -1
  1210. package/knex/index.cjs +0 -2
  1211. package/knex/index.cjs.map +0 -1
  1212. package/knex/index.d.cts +0 -9
  1213. package/knex/index.d.ts +0 -9
  1214. package/knex/index.js +0 -1
  1215. package/knex/index.js.map +0 -1
  1216. package/kysely/index.cjs +0 -17
  1217. package/kysely/index.cjs.map +0 -1
  1218. package/kysely/index.d.cts +0 -16
  1219. package/kysely/index.d.ts +0 -16
  1220. package/kysely/index.js +0 -1
  1221. package/kysely/index.js.map +0 -1
package/table.d.ts CHANGED
@@ -1,31 +1,27 @@
1
- import type { Column, GetColumnData } from "./column.js";
1
+ import type { Column, Columns, GetColumnData } from "./column.js";
2
2
  import { entityKind } from "./entity.js";
3
3
  import type { OptionalKeyOnly, RequiredKeyOnly } from "./operations.js";
4
- import type { SQLWrapper, View } from "./sql/sql.js";
4
+ import type { SQL, SQLWrapper, View } from "./sql/sql.js";
5
5
  import type { Simplify, Update } from "./utils.js";
6
- export interface TableConfig<TColumn extends Column = Column<any>> {
6
+ export interface TableConfig<TColumns extends Columns = Columns> {
7
7
  name: string;
8
8
  schema: string | undefined;
9
- columns: Record<string, TColumn>;
9
+ columns: TColumns;
10
10
  dialect: string;
11
11
  }
12
12
  export type UpdateTableConfig<T extends TableConfig, TUpdate extends Partial<TableConfig>> = Required<Update<T, TUpdate>>;
13
- export interface Table<T extends TableConfig = TableConfig> extends SQLWrapper {
13
+ export interface TableTypeConfig<T extends TableConfig> {
14
+ readonly brand: 'Table';
15
+ readonly name: T['name'];
16
+ readonly schema: T['schema'];
17
+ readonly columns: T['columns'];
18
+ readonly dialect: T['dialect'];
14
19
  }
15
20
  export declare class Table<T extends TableConfig = TableConfig> implements SQLWrapper {
16
21
  static readonly [entityKind]: string;
17
- readonly _: {
18
- readonly brand: 'Table';
19
- readonly config: T;
20
- readonly name: T['name'];
21
- readonly schema: T['schema'];
22
- readonly columns: T['columns'];
23
- readonly inferSelect: InferSelectModel<Table<T>>;
24
- readonly inferInsert: InferInsertModel<Table<T>>;
25
- };
26
- readonly $inferSelect: InferSelectModel<Table<T>>;
27
- readonly $inferInsert: InferInsertModel<Table<T>>;
22
+ readonly _: TableTypeConfig<T>;
28
23
  constructor(name: string, schema: string | undefined, baseName: string);
24
+ getSQL: (() => SQL);
29
25
  }
30
26
  export declare function isTable(table: unknown): table is Table;
31
27
  /**
@@ -49,38 +45,33 @@ export type AnyTable<TPartial extends Partial<TableConfig>> = Table<UpdateTableC
49
45
  export declare function getTableName<T extends Table>(table: T): T['_']['name'];
50
46
  export declare function getTableUniqueName<T extends Table | View, TResult extends string = T extends Table ? T['_']['schema'] extends undefined ? `public.${T['_']['name']}` : `${T['_']['schema']}.${T['_']['name']}` : `${string}.${T['_']['name']}`>(table: T): TResult;
51
47
  export type MapColumnName<TName extends string, TColumn extends Column, TDBColumNames extends boolean> = TDBColumNames extends true ? TColumn['_']['name'] : TName;
52
- export type InferModelFromColumns<TColumns extends Record<string, Column>, TInferMode extends 'select' | 'insert' = 'select', TConfig extends {
53
- dbColumnNames: boolean;
48
+ export type InferModelFromColumns<TColumns extends Columns, TInferMode extends 'select' | 'insert' = 'select', TConfig extends {
54
49
  override?: boolean;
55
50
  } = {
56
51
  dbColumnNames: false;
57
52
  override: false;
58
53
  }> = Simplify<TInferMode extends 'insert' ? {
59
- [Key in keyof TColumns & string as RequiredKeyOnly<MapColumnName<Key, TColumns[Key], TConfig['dbColumnNames']>, TColumns[Key]>]: GetColumnData<TColumns[Key], 'query'>;
54
+ [Key in keyof TColumns & string as RequiredKeyOnly<Key, TColumns[Key]>]: GetColumnData<TColumns[Key], 'query'>;
60
55
  } & {
61
- [Key in keyof TColumns & string as OptionalKeyOnly<MapColumnName<Key, TColumns[Key], TConfig['dbColumnNames']>, TColumns[Key], TConfig['override']>]?: GetColumnData<TColumns[Key], 'query'> | undefined;
56
+ [Key in keyof TColumns & string as OptionalKeyOnly<Key, TColumns[Key], TConfig['override']>]?: GetColumnData<TColumns[Key], 'query'> | undefined;
62
57
  } : {
63
- [Key in keyof TColumns & string as MapColumnName<Key, TColumns[Key], TConfig['dbColumnNames']>]: GetColumnData<TColumns[Key], 'query'>;
58
+ [Key in keyof TColumns & string]: GetColumnData<TColumns[Key], 'query'>;
64
59
  }>;
65
60
  /** @deprecated Use one of the alternatives: {@link InferSelectModel} / {@link InferInsertModel}, or `table.$inferSelect` / `table.$inferInsert`
66
61
  */
67
- export type InferModel<TTable extends Table, TInferMode extends 'select' | 'insert' = 'select', TConfig extends {
68
- dbColumnNames: boolean;
69
- } = {
70
- dbColumnNames: false;
71
- }> = InferModelFromColumns<TTable['_']['columns'], TInferMode, TConfig>;
72
- export type InferSelectModel<TTable extends Table, TConfig extends {
73
- dbColumnNames: boolean;
74
- } = {
75
- dbColumnNames: false;
76
- }> = InferModelFromColumns<TTable['_']['columns'], 'select', TConfig>;
77
- export type InferInsertModel<TTable extends Table, TConfig extends {
78
- dbColumnNames: boolean;
62
+ export type InferModel<TTable extends Table, TInferMode extends 'select' | 'insert' = 'select'> = InferModelFromColumns<TTable['_']['columns'], TInferMode>;
63
+ export type InferSelectModel<TTable extends Table> = InferModelFromColumns<TTable['_']['columns'], 'select'>;
64
+ export type InferInsertModel<TTable extends Table, TOverride extends {
79
65
  override?: boolean;
80
66
  } = {
81
- dbColumnNames: false;
82
67
  override: false;
83
- }> = InferModelFromColumns<TTable['_']['columns'], 'insert', TConfig>;
68
+ }> = InferModelFromColumns<TTable['_']['columns'], 'insert', TOverride>;
84
69
  export type InferEnum<T> = T extends {
85
70
  enumValues: readonly (infer U)[];
86
71
  } ? U : never;
72
+ export interface InferTableColumnsModels<TColumns extends Columns> {
73
+ readonly $inferSelect: InferModelFromColumns<TColumns, 'select'>;
74
+ readonly $inferInsert: InferModelFromColumns<TColumns, 'insert', {
75
+ override: false;
76
+ }>;
77
+ }
package/table.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { entityKind } from "./entity.js";
2
2
  import { TableName } from "./table.utils.js";
3
- const Schema = Symbol.for("drizzle:Schema");
4
- const Columns = Symbol.for("drizzle:Columns");
3
+ const TableSchema = Symbol.for("drizzle:Schema");
4
+ const TableColumns = Symbol.for("drizzle:Columns");
5
5
  const ExtraConfigColumns = Symbol.for("drizzle:ExtraConfigColumns");
6
6
  const OriginalName = Symbol.for("drizzle:OriginalName");
7
7
  const BaseName = Symbol.for("drizzle:BaseName");
@@ -13,9 +13,9 @@ class Table {
13
13
  /** @internal */
14
14
  static Symbol = {
15
15
  Name: TableName,
16
- Schema,
16
+ Schema: TableSchema,
17
17
  OriginalName,
18
- Columns,
18
+ Columns: TableColumns,
19
19
  ExtraConfigColumns,
20
20
  BaseName,
21
21
  IsAlias,
@@ -32,9 +32,9 @@ class Table {
32
32
  */
33
33
  [OriginalName];
34
34
  /** @internal */
35
- [Schema];
35
+ [TableSchema];
36
36
  /** @internal */
37
- [Columns];
37
+ [TableColumns];
38
38
  /** @internal */
39
39
  [ExtraConfigColumns];
40
40
  /**
@@ -50,9 +50,10 @@ class Table {
50
50
  [ExtraConfigBuilder] = void 0;
51
51
  constructor(name, schema, baseName) {
52
52
  this[TableName] = this[OriginalName] = name;
53
- this[Schema] = schema;
53
+ this[TableSchema] = schema;
54
54
  this[BaseName] = baseName;
55
55
  }
56
+ getSQL = void 0;
56
57
  }
57
58
  function isTable(table) {
58
59
  return typeof table === "object" && table !== null && IsDrizzleTable in table;
@@ -61,17 +62,17 @@ function getTableName(table) {
61
62
  return table[TableName];
62
63
  }
63
64
  function getTableUniqueName(table) {
64
- return `${table[Schema] ?? "public"}.${table[TableName]}`;
65
+ return `${table[TableSchema] ?? "public"}.${table[TableName]}`;
65
66
  }
66
67
  export {
67
68
  BaseName,
68
- Columns,
69
69
  ExtraConfigBuilder,
70
70
  ExtraConfigColumns,
71
71
  IsAlias,
72
72
  OriginalName,
73
- Schema,
74
73
  Table,
74
+ TableColumns,
75
+ TableSchema,
75
76
  getTableName,
76
77
  getTableUniqueName,
77
78
  isTable
package/table.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/table.ts"],"sourcesContent":["import type { Column, GetColumnData } from './column.ts';\nimport { entityKind } from './entity.ts';\nimport type { OptionalKeyOnly, RequiredKeyOnly } from './operations.ts';\nimport type { SQLWrapper, View } from './sql/sql.ts';\nimport { TableName } from './table.utils.ts';\nimport type { Simplify, Update } from './utils.ts';\n\nexport interface TableConfig<TColumn extends Column = Column<any>> {\n\tname: string;\n\tschema: string | undefined;\n\tcolumns: Record<string, TColumn>;\n\tdialect: string;\n}\n\nexport type UpdateTableConfig<T extends TableConfig, TUpdate extends Partial<TableConfig>> = Required<\n\tUpdate<T, TUpdate>\n>;\n\n/** @internal */\nexport const Schema = Symbol.for('drizzle:Schema');\n\n/** @internal */\nexport const Columns = Symbol.for('drizzle:Columns');\n\n/** @internal */\nexport const ExtraConfigColumns = Symbol.for('drizzle:ExtraConfigColumns');\n\n/** @internal */\nexport const OriginalName = Symbol.for('drizzle:OriginalName');\n\n/** @internal */\nexport const BaseName = Symbol.for('drizzle:BaseName');\n\n/** @internal */\nexport const IsAlias = Symbol.for('drizzle:IsAlias');\n\n/** @internal */\nexport const ExtraConfigBuilder = Symbol.for('drizzle:ExtraConfigBuilder');\n\nconst IsDrizzleTable = Symbol.for('drizzle:IsDrizzleTable');\n\nexport interface Table<\n\t// eslint-disable-next-line @typescript-eslint/no-unused-vars\n\tT extends TableConfig = TableConfig,\n> extends SQLWrapper {\n\t// SQLWrapper runtime implementation is defined in 'sql/sql.ts'\n}\n\nexport class Table<T extends TableConfig = TableConfig> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Table';\n\n\tdeclare readonly _: {\n\t\treadonly brand: 'Table';\n\t\treadonly config: T;\n\t\treadonly name: T['name'];\n\t\treadonly schema: T['schema'];\n\t\treadonly columns: T['columns'];\n\t\treadonly inferSelect: InferSelectModel<Table<T>>;\n\t\treadonly inferInsert: InferInsertModel<Table<T>>;\n\t};\n\n\tdeclare readonly $inferSelect: InferSelectModel<Table<T>>;\n\tdeclare readonly $inferInsert: InferInsertModel<Table<T>>;\n\n\t/** @internal */\n\tstatic readonly Symbol = {\n\t\tName: TableName as typeof TableName,\n\t\tSchema: Schema as typeof Schema,\n\t\tOriginalName: OriginalName as typeof OriginalName,\n\t\tColumns: Columns as typeof Columns,\n\t\tExtraConfigColumns: ExtraConfigColumns as typeof ExtraConfigColumns,\n\t\tBaseName: BaseName as typeof BaseName,\n\t\tIsAlias: IsAlias as typeof IsAlias,\n\t\tExtraConfigBuilder: ExtraConfigBuilder as typeof ExtraConfigBuilder,\n\t};\n\n\t/**\n\t * @internal\n\t * Can be changed if the table is aliased.\n\t */\n\t[TableName]: string;\n\n\t/**\n\t * @internal\n\t * Used to store the original name of the table, before any aliasing.\n\t */\n\t[OriginalName]: string;\n\n\t/** @internal */\n\t[Schema]: string | undefined;\n\n\t/** @internal */\n\t[Columns]!: T['columns'];\n\n\t/** @internal */\n\t[ExtraConfigColumns]!: Record<string, unknown>;\n\n\t/**\n\t * @internal\n\t * Used to store the table name before the transformation via the `tableCreator` functions.\n\t */\n\t[BaseName]: string;\n\n\t/** @internal */\n\t[IsAlias] = false;\n\n\t/** @internal */\n\t[IsDrizzleTable] = true;\n\n\t/** @internal */\n\t[ExtraConfigBuilder]: ((self: any) => Record<string, unknown> | unknown[]) | undefined = undefined;\n\n\tconstructor(name: string, schema: string | undefined, baseName: string) {\n\t\tthis[TableName] = this[OriginalName] = name;\n\t\tthis[Schema] = schema;\n\t\tthis[BaseName] = baseName;\n\t}\n}\n\nexport function isTable(table: unknown): table is Table {\n\treturn typeof table === 'object' && table !== null && IsDrizzleTable in table;\n}\n\n/**\n * Any table with a specified boundary.\n *\n * @example\n\t```ts\n\t// Any table with a specific name\n\ttype AnyUsersTable = AnyTable<{ name: 'users' }>;\n\t```\n *\n * To describe any table with any config, simply use `Table` without any type arguments, like this:\n *\n\t```ts\n\tfunction needsTable(table: Table) {\n\t\t...\n\t}\n\t```\n */\nexport type AnyTable<TPartial extends Partial<TableConfig>> = Table<UpdateTableConfig<TableConfig, TPartial>>;\n\nexport function getTableName<T extends Table>(table: T): T['_']['name'] {\n\treturn table[TableName];\n}\n\nexport function getTableUniqueName<\n\tT extends Table | View,\n\tTResult extends string = T extends Table ? T['_']['schema'] extends undefined ? `public.${T['_']['name']}`\n\t\t: `${T['_']['schema']}.${T['_']['name']}`\n\t\t// Views don't have type-level schema names, to be added\n\t\t: `${string}.${T['_']['name']}`,\n>(\n\ttable: T,\n): TResult {\n\treturn `${table[Schema] ?? 'public'}.${table[TableName]}` as TResult;\n}\n\nexport type MapColumnName<TName extends string, TColumn extends Column, TDBColumNames extends boolean> =\n\tTDBColumNames extends true ? TColumn['_']['name']\n\t\t: TName;\n\nexport type InferModelFromColumns<\n\tTColumns extends Record<string, Column>,\n\tTInferMode extends 'select' | 'insert' = 'select',\n\tTConfig extends { dbColumnNames: boolean; override?: boolean } = { dbColumnNames: false; override: false },\n> = Simplify<\n\tTInferMode extends 'insert' ?\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as RequiredKeyOnly<\n\t\t\t\t\t\tMapColumnName<Key, TColumns[Key], TConfig['dbColumnNames']>,\n\t\t\t\t\t\tTColumns[Key]\n\t\t\t\t\t>\n\t\t\t\t]: GetColumnData<TColumns[Key], 'query'>;\n\t\t\t}\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as OptionalKeyOnly<\n\t\t\t\t\t\tMapColumnName<Key, TColumns[Key], TConfig['dbColumnNames']>,\n\t\t\t\t\t\tTColumns[Key],\n\t\t\t\t\t\tTConfig['override']\n\t\t\t\t\t>\n\t\t\t\t]?: GetColumnData<TColumns[Key], 'query'> | undefined;\n\t\t\t}\n\t\t: {\n\t\t\t[\n\t\t\t\tKey in keyof TColumns & string as MapColumnName<\n\t\t\t\t\tKey,\n\t\t\t\t\tTColumns[Key],\n\t\t\t\t\tTConfig['dbColumnNames']\n\t\t\t\t>\n\t\t\t]: GetColumnData<TColumns[Key], 'query'>;\n\t\t}\n>;\n\n/** @deprecated Use one of the alternatives: {@link InferSelectModel} / {@link InferInsertModel}, or `table.$inferSelect` / `table.$inferInsert`\n */\nexport type InferModel<\n\tTTable extends Table,\n\tTInferMode extends 'select' | 'insert' = 'select',\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = InferModelFromColumns<TTable['_']['columns'], TInferMode, TConfig>;\n\nexport type InferSelectModel<\n\tTTable extends Table,\n\tTConfig extends { dbColumnNames: boolean } = { dbColumnNames: false },\n> = InferModelFromColumns<TTable['_']['columns'], 'select', TConfig>;\n\nexport type InferInsertModel<\n\tTTable extends Table,\n\tTConfig extends { dbColumnNames: boolean; override?: boolean } = { dbColumnNames: false; override: false },\n> = InferModelFromColumns<TTable['_']['columns'], 'insert', TConfig>;\n\nexport type InferEnum<T> = T extends { enumValues: readonly (infer U)[] } ? U\n\t: never;\n"],"mappings":"AACA,SAAS,kBAAkB;AAG3B,SAAS,iBAAiB;AAenB,MAAM,SAAS,OAAO,IAAI,gBAAgB;AAG1C,MAAM,UAAU,OAAO,IAAI,iBAAiB;AAG5C,MAAM,qBAAqB,OAAO,IAAI,4BAA4B;AAGlE,MAAM,eAAe,OAAO,IAAI,sBAAsB;AAGtD,MAAM,WAAW,OAAO,IAAI,kBAAkB;AAG9C,MAAM,UAAU,OAAO,IAAI,iBAAiB;AAG5C,MAAM,qBAAqB,OAAO,IAAI,4BAA4B;AAEzE,MAAM,iBAAiB,OAAO,IAAI,wBAAwB;AASnD,MAAM,MAAiE;AAAA,EAC7E,QAAiB,UAAU,IAAY;AAAA;AAAA,EAgBvC,OAAgB,SAAS;AAAA,IACxB,MAAM;AAAA,IACN;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,CAAC,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAMV,CAAC,YAAY;AAAA;AAAA,EAGb,CAAC,MAAM;AAAA;AAAA,EAGP,CAAC,OAAO;AAAA;AAAA,EAGR,CAAC,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnB,CAAC,QAAQ;AAAA;AAAA,EAGT,CAAC,OAAO,IAAI;AAAA;AAAA,EAGZ,CAAC,cAAc,IAAI;AAAA;AAAA,EAGnB,CAAC,kBAAkB,IAAsE;AAAA,EAEzF,YAAY,MAAc,QAA4B,UAAkB;AACvE,SAAK,SAAS,IAAI,KAAK,YAAY,IAAI;AACvC,SAAK,MAAM,IAAI;AACf,SAAK,QAAQ,IAAI;AAAA,EAClB;AACD;AAEO,SAAS,QAAQ,OAAgC;AACvD,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,kBAAkB;AACzE;AAqBO,SAAS,aAA8B,OAA0B;AACvE,SAAO,MAAM,SAAS;AACvB;AAEO,SAAS,mBAOf,OACU;AACV,SAAO,GAAG,MAAM,MAAM,KAAK,QAAQ,IAAI,MAAM,SAAS,CAAC;AACxD;","names":[]}
1
+ {"version":3,"sources":["../src/table.ts"],"sourcesContent":["import type { Column, Columns, GetColumnData } from './column.ts';\nimport { entityKind } from './entity.ts';\nimport type { OptionalKeyOnly, RequiredKeyOnly } from './operations.ts';\nimport type { SQL, SQLWrapper, View } from './sql/sql.ts';\nimport { TableName } from './table.utils.ts';\nimport type { Simplify, Update } from './utils.ts';\n\nexport interface TableConfig<TColumns extends Columns = Columns> {\n\tname: string;\n\tschema: string | undefined;\n\tcolumns: TColumns;\n\tdialect: string;\n}\n\nexport type UpdateTableConfig<T extends TableConfig, TUpdate extends Partial<TableConfig>> = Required<\n\tUpdate<T, TUpdate>\n>;\n\n/** @internal */\nexport const TableSchema = Symbol.for('drizzle:Schema');\n\n/** @internal */\nexport const TableColumns = Symbol.for('drizzle:Columns');\n\n/** @internal */\nexport const ExtraConfigColumns = Symbol.for('drizzle:ExtraConfigColumns');\n\n/** @internal */\nexport const OriginalName = Symbol.for('drizzle:OriginalName');\n\n/** @internal */\nexport const BaseName = Symbol.for('drizzle:BaseName');\n\n/** @internal */\nexport const IsAlias = Symbol.for('drizzle:IsAlias');\n\n/** @internal */\nexport const ExtraConfigBuilder = Symbol.for('drizzle:ExtraConfigBuilder');\n\nconst IsDrizzleTable = Symbol.for('drizzle:IsDrizzleTable');\n\nexport interface TableTypeConfig<T extends TableConfig> {\n\treadonly brand: 'Table';\n\treadonly name: T['name'];\n\treadonly schema: T['schema'];\n\treadonly columns: T['columns'];\n\treadonly dialect: T['dialect'];\n}\n\nexport class Table<T extends TableConfig = TableConfig> implements SQLWrapper {\n\tstatic readonly [entityKind]: string = 'Table';\n\n\tdeclare readonly _: TableTypeConfig<T>;\n\n\t/** @internal */\n\tstatic readonly Symbol = {\n\t\tName: TableName as typeof TableName,\n\t\tSchema: TableSchema as typeof TableSchema,\n\t\tOriginalName: OriginalName as typeof OriginalName,\n\t\tColumns: TableColumns as typeof TableColumns,\n\t\tExtraConfigColumns: ExtraConfigColumns as typeof ExtraConfigColumns,\n\t\tBaseName: BaseName as typeof BaseName,\n\t\tIsAlias: IsAlias as typeof IsAlias,\n\t\tExtraConfigBuilder: ExtraConfigBuilder as typeof ExtraConfigBuilder,\n\t};\n\n\t/**\n\t * @internal\n\t * Can be changed if the table is aliased.\n\t */\n\t[TableName]: string;\n\n\t/**\n\t * @internal\n\t * Used to store the original name of the table, before any aliasing.\n\t */\n\t[OriginalName]: string;\n\n\t/** @internal */\n\t[TableSchema]: string | undefined;\n\n\t/** @internal */\n\t[TableColumns]!: T['columns'];\n\n\t/** @internal */\n\t[ExtraConfigColumns]!: Record<string, unknown>;\n\n\t/**\n\t * @internal\n\t * Used to store the table name before the transformation via the `tableCreator` functions.\n\t */\n\t[BaseName]: string;\n\n\t/** @internal */\n\t[IsAlias] = false;\n\n\t/** @internal */\n\t[IsDrizzleTable] = true;\n\n\t/** @internal */\n\t[ExtraConfigBuilder]: ((self: any) => Record<string, unknown> | unknown[]) | undefined = undefined;\n\n\tconstructor(name: string, schema: string | undefined, baseName: string) {\n\t\tthis[TableName] = this[OriginalName] = name;\n\t\tthis[TableSchema] = schema;\n\t\tthis[BaseName] = baseName;\n\t}\n\n\tgetSQL = undefined as unknown as (() => SQL);\n}\n\nexport function isTable(table: unknown): table is Table {\n\treturn typeof table === 'object' && table !== null && IsDrizzleTable in table;\n}\n\n/**\n * Any table with a specified boundary.\n *\n * @example\n\t```ts\n\t// Any table with a specific name\n\ttype AnyUsersTable = AnyTable<{ name: 'users' }>;\n\t```\n *\n * To describe any table with any config, simply use `Table` without any type arguments, like this:\n *\n\t```ts\n\tfunction needsTable(table: Table) {\n\t\t...\n\t}\n\t```\n */\nexport type AnyTable<TPartial extends Partial<TableConfig>> = Table<UpdateTableConfig<TableConfig, TPartial>>;\n\nexport function getTableName<T extends Table>(table: T): T['_']['name'] {\n\treturn table[TableName];\n}\n\nexport function getTableUniqueName<\n\tT extends Table | View,\n\tTResult extends string = T extends Table ? T['_']['schema'] extends undefined ? `public.${T['_']['name']}`\n\t\t: `${T['_']['schema']}.${T['_']['name']}`\n\t\t// Views don't have type-level schema names, to be added\n\t\t: `${string}.${T['_']['name']}`,\n>(\n\ttable: T,\n): TResult {\n\treturn `${table[TableSchema] ?? 'public'}.${table[TableName]}` as TResult;\n}\n\nexport type MapColumnName<TName extends string, TColumn extends Column, TDBColumNames extends boolean> =\n\tTDBColumNames extends true ? TColumn['_']['name']\n\t\t: TName;\n\nexport type InferModelFromColumns<\n\tTColumns extends Columns,\n\tTInferMode extends 'select' | 'insert' = 'select',\n\tTConfig extends { override?: boolean } = { dbColumnNames: false; override: false },\n> = Simplify<\n\tTInferMode extends 'insert' ?\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as RequiredKeyOnly<\n\t\t\t\t\t\tKey,\n\t\t\t\t\t\tTColumns[Key]\n\t\t\t\t\t>\n\t\t\t\t]: GetColumnData<TColumns[Key], 'query'>;\n\t\t\t}\n\t\t\t& {\n\t\t\t\t[\n\t\t\t\t\tKey in keyof TColumns & string as OptionalKeyOnly<\n\t\t\t\t\t\tKey,\n\t\t\t\t\t\tTColumns[Key],\n\t\t\t\t\t\tTConfig['override']\n\t\t\t\t\t>\n\t\t\t\t]?: GetColumnData<TColumns[Key], 'query'> | undefined;\n\t\t\t}\n\t\t: {\n\t\t\t[\n\t\t\t\tKey in keyof TColumns & string\n\t\t\t]: GetColumnData<TColumns[Key], 'query'>;\n\t\t}\n>;\n\n/** @deprecated Use one of the alternatives: {@link InferSelectModel} / {@link InferInsertModel}, or `table.$inferSelect` / `table.$inferInsert`\n */\nexport type InferModel<\n\tTTable extends Table,\n\tTInferMode extends 'select' | 'insert' = 'select',\n> = InferModelFromColumns<TTable['_']['columns'], TInferMode>;\n\nexport type InferSelectModel<\n\tTTable extends Table,\n> = InferModelFromColumns<TTable['_']['columns'], 'select'>;\n\nexport type InferInsertModel<\n\tTTable extends Table,\n\tTOverride extends { override?: boolean } = { override: false },\n> = InferModelFromColumns<TTable['_']['columns'], 'insert', TOverride>;\n\nexport type InferEnum<T> = T extends { enumValues: readonly (infer U)[] } ? U\n\t: never;\n\nexport interface InferTableColumnsModels<TColumns extends Columns> {\n\treadonly $inferSelect: InferModelFromColumns<TColumns, 'select'>;\n\treadonly $inferInsert: InferModelFromColumns<TColumns, 'insert', { override: false }>;\n}\n"],"mappings":"AACA,SAAS,kBAAkB;AAG3B,SAAS,iBAAiB;AAenB,MAAM,cAAc,OAAO,IAAI,gBAAgB;AAG/C,MAAM,eAAe,OAAO,IAAI,iBAAiB;AAGjD,MAAM,qBAAqB,OAAO,IAAI,4BAA4B;AAGlE,MAAM,eAAe,OAAO,IAAI,sBAAsB;AAGtD,MAAM,WAAW,OAAO,IAAI,kBAAkB;AAG9C,MAAM,UAAU,OAAO,IAAI,iBAAiB;AAG5C,MAAM,qBAAqB,OAAO,IAAI,4BAA4B;AAEzE,MAAM,iBAAiB,OAAO,IAAI,wBAAwB;AAUnD,MAAM,MAAiE;AAAA,EAC7E,QAAiB,UAAU,IAAY;AAAA;AAAA,EAKvC,OAAgB,SAAS;AAAA,IACxB,MAAM;AAAA,IACN,QAAQ;AAAA,IACR;AAAA,IACA,SAAS;AAAA,IACT;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,CAAC,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,EAMV,CAAC,YAAY;AAAA;AAAA,EAGb,CAAC,WAAW;AAAA;AAAA,EAGZ,CAAC,YAAY;AAAA;AAAA,EAGb,CAAC,kBAAkB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMnB,CAAC,QAAQ;AAAA;AAAA,EAGT,CAAC,OAAO,IAAI;AAAA;AAAA,EAGZ,CAAC,cAAc,IAAI;AAAA;AAAA,EAGnB,CAAC,kBAAkB,IAAsE;AAAA,EAEzF,YAAY,MAAc,QAA4B,UAAkB;AACvE,SAAK,SAAS,IAAI,KAAK,YAAY,IAAI;AACvC,SAAK,WAAW,IAAI;AACpB,SAAK,QAAQ,IAAI;AAAA,EAClB;AAAA,EAEA,SAAS;AACV;AAEO,SAAS,QAAQ,OAAgC;AACvD,SAAO,OAAO,UAAU,YAAY,UAAU,QAAQ,kBAAkB;AACzE;AAqBO,SAAS,aAA8B,OAA0B;AACvE,SAAO,MAAM,SAAS;AACvB;AAEO,SAAS,mBAOf,OACU;AACV,SAAO,GAAG,MAAM,WAAW,KAAK,QAAQ,IAAI,MAAM,SAAS,CAAC;AAC7D;","names":[]}
@@ -63,7 +63,7 @@ function construct(client, config = {}) {
63
63
  tableNamesMap: tablesConfig.tableNamesMap
64
64
  };
65
65
  }
66
- const relations = config.relations;
66
+ const relations = config.relations ?? {};
67
67
  const session = new import_session.TiDBServerlessSession(client, dialect, void 0, relations, schema, {
68
68
  logger,
69
69
  cache: config.cache
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tidb-serverless/driver.ts"],"sourcesContent":["import { type Config, connect, type Connection } from '@tidbcloud/serverless';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { TiDBServerlessPreparedQueryHKT, TiDBServerlessQueryResultHKT } from './session.ts';\nimport { TiDBServerlessSession } from './session.ts';\n\nexport interface TiDBServerlessSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class TiDBServerlessDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Connection,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t$client: Connection;\n} {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations;\n\tconst session = new TiDBServerlessSession(client, dialect, undefined, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new TiDBServerlessDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'default',\n\t) as TiDBServerlessDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Connection = Connection,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t& ({\n\t\t\tconnection: string | Config;\n\t\t} | {\n\t\t\tclient: TClient;\n\t\t})\n\t\t& DrizzleConfig<TSchema, TRelations>,\n\t]\n): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = connect({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config | string; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? connect({\n\t\t\t\turl: connection,\n\t\t\t})\n\t\t\t: connect(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsD;AACtD,SAAoB;AACpB,oBAA2B;AAE3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAE7B,mBAA6C;AAE7C,qBAAsC;AAO/B,MAAM,+BAGH,wBAAiG;AAAA,EAC1G,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAA6C,CAAC,GAG7C;AACD,QAAM,UAAU,IAAI,4BAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO;AACzB,QAAM,UAAU,IAAI,qCAAsB,QAAQ,SAAS,QAAW,WAAW,QAAQ;AAAA,IACxF;AAAA,IACA,OAAO,OAAO;AAAA,EACf,CAAC;AACD,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,SAAO;AACR;AAEO,SAAS,WAKZ,QAeF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,2BAAQ;AAAA,MACxB,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,eACpC,2BAAQ;AAAA,MACT,KAAK;AAAA,IACN,CAAC,QACC,2BAAQ,UAAW;AAEtB,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAmD;AACnG;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KAIf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AATO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
1
+ {"version":3,"sources":["../../src/tidb-serverless/driver.ts"],"sourcesContent":["import { type Config, connect, type Connection } from '@tidbcloud/serverless';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { TiDBServerlessPreparedQueryHKT, TiDBServerlessQueryResultHKT } from './session.ts';\nimport { TiDBServerlessSession } from './session.ts';\n\nexport interface TiDBServerlessSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class TiDBServerlessDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Connection,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t$client: Connection;\n} {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new TiDBServerlessSession(client, dialect, undefined, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new TiDBServerlessDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'default',\n\t) as TiDBServerlessDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Connection = Connection,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t& ({\n\t\t\tconnection: string | Config;\n\t\t} | {\n\t\t\tclient: TClient;\n\t\t})\n\t\t& DrizzleConfig<TSchema, TRelations>,\n\t]\n): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = connect({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config | string; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? connect({\n\t\t\t\turl: connection,\n\t\t\t})\n\t\t\t: connect(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAAsD;AACtD,SAAoB;AACpB,oBAA2B;AAE3B,oBAA8B;AAC9B,gBAA8B;AAC9B,qBAA6B;AAE7B,mBAA6C;AAE7C,qBAAsC;AAO/B,MAAM,+BAGH,wBAAiG;AAAA,EAC1G,QAA0B,wBAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAA6C,CAAC,GAG7C;AACD,QAAM,UAAU,IAAI,4BAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,4BAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO,aAAa,CAAC;AACvC,QAAM,UAAU,IAAI,qCAAsB,QAAQ,SAAS,QAAW,WAAW,QAAQ;AAAA,IACxF;AAAA,IACA,OAAO,OAAO;AAAA,EACf,CAAC;AACD,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,SAAO;AACR;AAEO,SAAS,WAKZ,QAeF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,eAAW,2BAAQ;AAAA,MACxB,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,UAAI,uBAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,eACpC,2BAAQ;AAAA,MACT,KAAK;AAAA,IACN,CAAC,QACC,2BAAQ,UAAW;AAEtB,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAmD;AACnG;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KAIf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AATO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
@@ -29,7 +29,7 @@ function construct(client, config = {}) {
29
29
  tableNamesMap: tablesConfig.tableNamesMap
30
30
  };
31
31
  }
32
- const relations = config.relations;
32
+ const relations = config.relations ?? {};
33
33
  const session = new TiDBServerlessSession(client, dialect, void 0, relations, schema, {
34
34
  logger,
35
35
  cache: config.cache
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tidb-serverless/driver.ts"],"sourcesContent":["import { type Config, connect, type Connection } from '@tidbcloud/serverless';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { TiDBServerlessPreparedQueryHKT, TiDBServerlessQueryResultHKT } from './session.ts';\nimport { TiDBServerlessSession } from './session.ts';\n\nexport interface TiDBServerlessSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class TiDBServerlessDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Connection,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t$client: Connection;\n} {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations;\n\tconst session = new TiDBServerlessSession(client, dialect, undefined, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new TiDBServerlessDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'default',\n\t) as TiDBServerlessDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Connection = Connection,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t& ({\n\t\t\tconnection: string | Config;\n\t\t} | {\n\t\t\tclient: TClient;\n\t\t})\n\t\t& DrizzleConfig<TSchema, TRelations>,\n\t]\n): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = connect({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config | string; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? connect({\n\t\t\t\turl: connection,\n\t\t\t})\n\t\t\t: connect(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,SAAsB,eAAgC;AACtD,YAAY,QAAQ;AACpB,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAE7B,SAA6B,gBAAgB;AAE7C,SAAS,6BAA6B;AAO/B,MAAM,+BAGH,cAAiG;AAAA,EAC1G,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAA6C,CAAC,GAG7C;AACD,QAAM,UAAU,IAAI,aAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO;AACzB,QAAM,UAAU,IAAI,sBAAsB,QAAQ,SAAS,QAAW,WAAW,QAAQ;AAAA,IACxF;AAAA,IACA,OAAO,OAAO;AAAA,EACf,CAAC;AACD,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,SAAO;AACR;AAEO,SAAS,WAKZ,QAeF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,QAAQ;AAAA,MACxB,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WACpC,QAAQ;AAAA,MACT,KAAK;AAAA,IACN,CAAC,IACC,QAAQ,UAAW;AAEtB,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAmD;AACnG;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KAIf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AATO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
1
+ {"version":3,"sources":["../../src/tidb-serverless/driver.ts"],"sourcesContent":["import { type Config, connect, type Connection } from '@tidbcloud/serverless';\nimport * as V1 from '~/_relations.ts';\nimport { entityKind } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { DefaultLogger } from '~/logger.ts';\nimport { MySqlDatabase } from '~/mysql-core/db.ts';\nimport { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { AnyRelations, EmptyRelations } from '~/relations.ts';\nimport { type DrizzleConfig, isConfig } from '~/utils.ts';\nimport type { TiDBServerlessPreparedQueryHKT, TiDBServerlessQueryResultHKT } from './session.ts';\nimport { TiDBServerlessSession } from './session.ts';\n\nexport interface TiDBServerlessSDriverOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class TiDBServerlessDatabase<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n> extends MySqlDatabase<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TSchema, TRelations> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessDatabase';\n}\n\nfunction construct<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n>(\n\tclient: Connection,\n\tconfig: DrizzleConfig<TSchema, TRelations> = {},\n): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t$client: Connection;\n} {\n\tconst dialect = new MySqlDialect({ casing: config.casing });\n\tlet logger;\n\tif (config.logger === true) {\n\t\tlogger = new DefaultLogger();\n\t} else if (config.logger !== false) {\n\t\tlogger = config.logger;\n\t}\n\n\tlet schema: V1.RelationalSchemaConfig<V1.TablesRelationalConfig> | undefined;\n\tif (config.schema) {\n\t\tconst tablesConfig = V1.extractTablesRelationalConfig(\n\t\t\tconfig.schema,\n\t\t\tV1.createTableRelationsHelpers,\n\t\t);\n\t\tschema = {\n\t\t\tfullSchema: config.schema,\n\t\t\tschema: tablesConfig.tables,\n\t\t\ttableNamesMap: tablesConfig.tableNamesMap,\n\t\t};\n\t}\n\n\tconst relations = config.relations ?? {} as TRelations;\n\tconst session = new TiDBServerlessSession(client, dialect, undefined, relations, schema, {\n\t\tlogger,\n\t\tcache: config.cache,\n\t});\n\tconst db = new TiDBServerlessDatabase(\n\t\tdialect,\n\t\tsession,\n\t\trelations,\n\t\tschema as V1.RelationalSchemaConfig<any>,\n\t\t'default',\n\t) as TiDBServerlessDatabase<TSchema, TRelations>;\n\t(<any> db).$client = client;\n\t(<any> db).$cache = config.cache;\n\tif ((<any> db).$cache) {\n\t\t(<any> db).$cache['invalidate'] = config.cache?.onMutate;\n\t}\n\n\treturn db as any;\n}\n\nexport function drizzle<\n\tTSchema extends Record<string, unknown> = Record<string, never>,\n\tTRelations extends AnyRelations = EmptyRelations,\n\tTClient extends Connection = Connection,\n>(\n\t...params: [\n\t\tTClient | string,\n\t] | [\n\t\tTClient | string,\n\t\tDrizzleConfig<TSchema, TRelations>,\n\t] | [\n\t\t& ({\n\t\t\tconnection: string | Config;\n\t\t} | {\n\t\t\tclient: TClient;\n\t\t})\n\t\t& DrizzleConfig<TSchema, TRelations>,\n\t]\n): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t$client: TClient;\n} {\n\tif (typeof params[0] === 'string') {\n\t\tconst instance = connect({\n\t\t\turl: params[0],\n\t\t});\n\n\t\treturn construct(instance, params[1]) as any;\n\t}\n\n\tif (isConfig(params[0])) {\n\t\tconst { connection, client, ...drizzleConfig } = params[0] as\n\t\t\t& { connection?: Config | string; client?: TClient }\n\t\t\t& DrizzleConfig<TSchema, TRelations>;\n\n\t\tif (client) return construct(client, drizzleConfig) as any;\n\n\t\tconst instance = typeof connection === 'string'\n\t\t\t? connect({\n\t\t\t\turl: connection,\n\t\t\t})\n\t\t\t: connect(connection!);\n\n\t\treturn construct(instance, drizzleConfig) as any;\n\t}\n\n\treturn construct(params[0] as TClient, params[1] as DrizzleConfig<TSchema, TRelations> | undefined) as any;\n}\n\nexport namespace drizzle {\n\texport function mock<\n\t\tTSchema extends Record<string, unknown> = Record<string, never>,\n\t\tTRelations extends AnyRelations = EmptyRelations,\n\t>(\n\t\tconfig?: DrizzleConfig<TSchema, TRelations>,\n\t): TiDBServerlessDatabase<TSchema, TRelations> & {\n\t\t$client: '$client is not available on drizzle.mock()';\n\t} {\n\t\treturn construct({} as any, config) as any;\n\t}\n}\n"],"mappings":"AAAA,SAAsB,eAAgC;AACtD,YAAY,QAAQ;AACpB,SAAS,kBAAkB;AAE3B,SAAS,qBAAqB;AAC9B,SAAS,qBAAqB;AAC9B,SAAS,oBAAoB;AAE7B,SAA6B,gBAAgB;AAE7C,SAAS,6BAA6B;AAO/B,MAAM,+BAGH,cAAiG;AAAA,EAC1G,QAA0B,UAAU,IAAY;AACjD;AAEA,SAAS,UAIR,QACA,SAA6C,CAAC,GAG7C;AACD,QAAM,UAAU,IAAI,aAAa,EAAE,QAAQ,OAAO,OAAO,CAAC;AAC1D,MAAI;AACJ,MAAI,OAAO,WAAW,MAAM;AAC3B,aAAS,IAAI,cAAc;AAAA,EAC5B,WAAW,OAAO,WAAW,OAAO;AACnC,aAAS,OAAO;AAAA,EACjB;AAEA,MAAI;AACJ,MAAI,OAAO,QAAQ;AAClB,UAAM,eAAe,GAAG;AAAA,MACvB,OAAO;AAAA,MACP,GAAG;AAAA,IACJ;AACA,aAAS;AAAA,MACR,YAAY,OAAO;AAAA,MACnB,QAAQ,aAAa;AAAA,MACrB,eAAe,aAAa;AAAA,IAC7B;AAAA,EACD;AAEA,QAAM,YAAY,OAAO,aAAa,CAAC;AACvC,QAAM,UAAU,IAAI,sBAAsB,QAAQ,SAAS,QAAW,WAAW,QAAQ;AAAA,IACxF;AAAA,IACA,OAAO,OAAO;AAAA,EACf,CAAC;AACD,QAAM,KAAK,IAAI;AAAA,IACd;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACD;AACA,EAAO,GAAI,UAAU;AACrB,EAAO,GAAI,SAAS,OAAO;AAC3B,MAAW,GAAI,QAAQ;AACtB,IAAO,GAAI,OAAO,YAAY,IAAI,OAAO,OAAO;AAAA,EACjD;AAEA,SAAO;AACR;AAEO,SAAS,WAKZ,QAeF;AACD,MAAI,OAAO,OAAO,CAAC,MAAM,UAAU;AAClC,UAAM,WAAW,QAAQ;AAAA,MACxB,KAAK,OAAO,CAAC;AAAA,IACd,CAAC;AAED,WAAO,UAAU,UAAU,OAAO,CAAC,CAAC;AAAA,EACrC;AAEA,MAAI,SAAS,OAAO,CAAC,CAAC,GAAG;AACxB,UAAM,EAAE,YAAY,QAAQ,GAAG,cAAc,IAAI,OAAO,CAAC;AAIzD,QAAI,OAAQ,QAAO,UAAU,QAAQ,aAAa;AAElD,UAAM,WAAW,OAAO,eAAe,WACpC,QAAQ;AAAA,MACT,KAAK;AAAA,IACN,CAAC,IACC,QAAQ,UAAW;AAEtB,WAAO,UAAU,UAAU,aAAa;AAAA,EACzC;AAEA,SAAO,UAAU,OAAO,CAAC,GAAc,OAAO,CAAC,CAAmD;AACnG;AAAA,CAEO,CAAUA,aAAV;AACC,WAAS,KAIf,QAGC;AACD,WAAO,UAAU,CAAC,GAAU,MAAM;AAAA,EACnC;AATO,EAAAA,SAAS;AAAA,GADA;","names":["drizzle"]}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tidb-serverless/session.ts"],"sourcesContent":["import type { Connection, ExecuteOptions, FullResult, Tx } from '@tidbcloud/serverless';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\n\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n} from '~/mysql-core/session.ts';\nimport type { AnyRelations, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nconst executeRawConfig = { fullResult: true } satisfies ExecuteOptions;\nconst queryConfig = { arrayMode: true } satisfies ExecuteOptions;\n\nexport class TiDBServerlessPreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'TiDBPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: Tx | Connection,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { fields, client, queryString, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(queryString, params, async () => {\n\t\t\t\treturn await client.execute(queryString, params, executeRawConfig) as FullResult;\n\t\t\t});\n\t\t\tconst insertId = res.lastInsertId ?? 0;\n\t\t\tconst affectedRows = res.rowsAffected ?? 0;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst rows = await this.queryWithCache(queryString, params, async () => {\n\t\t\treturn await client.execute(queryString, params, queryConfig) as unknown[][];\n\t\t});\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => T['execute'])(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { client, queryString, customResultMapper, returningIds, generatedIds } = this;\n\t\tconst res = await client.execute(queryString, params, executeRawConfig) as FullResult;\n\t\tconst insertId = res.lastInsertId ?? 0;\n\t\tconst affectedRows = res.rowsAffected ?? 0;\n\t\t// for each row, I need to check keys from\n\t\tif (returningIds) {\n\t\t\tconst returningResponse = [];\n\t\t\tlet j = 0;\n\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tj++;\n\t\t\t}\n\n\t\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(returningResponse);\n\t\t}\n\n\t\tconst { rows } = res;\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t(rows ?? []) as Record<string, any>[],\n\t\t);\n\t}\n\n\toverride iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the TiDB Cloud Serverless driver');\n\t}\n}\n\nexport interface TiDBServerlessSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class TiDBServerlessSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<\n\tTiDBServerlessQueryResultHKT,\n\tTiDBServerlessPreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTTablesConfig,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessSession';\n\n\tprivate logger: Logger;\n\tprivate client: Tx | Connection;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate baseClient: Connection,\n\t\tdialect: MySqlDialect,\n\t\ttx: Tx | undefined,\n\t\tprivate relations: AnyRelations | undefined,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: TiDBServerlessSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.client = tx ?? baseClient;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new TiDBServerlessPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new TiDBServerlessPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.execute(querySql.sql, querySql.params) as Promise<T[]>;\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst nativeTx = await this.baseClient.begin();\n\t\ttry {\n\t\t\tconst session = new TiDBServerlessSession(\n\t\t\t\tthis.baseClient,\n\t\t\t\tthis.dialect,\n\t\t\t\tnativeTx,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t);\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait nativeTx.commit();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait nativeTx.rollback();\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class TiDBServerlessTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tTiDBServerlessQueryResultHKT,\n\tTiDBServerlessPreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTTablesConfig,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\trelations: AnyRelations | undefined,\n\t\tschema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, schema, nestedIndex, 'default');\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface TiDBServerlessQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: FullResult;\n}\n\nexport interface TiDBServerlessPreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: TiDBServerlessPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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","names":["sql"]}
1
+ {"version":3,"sources":["../../src/tidb-serverless/session.ts"],"sourcesContent":["import type { Connection, ExecuteOptions, FullResult, Tx } from '@tidbcloud/serverless';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\n\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n} from '~/mysql-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nconst executeRawConfig = { fullResult: true } satisfies ExecuteOptions;\nconst queryConfig = { arrayMode: true } satisfies ExecuteOptions;\n\nexport class TiDBServerlessPreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'TiDBPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: Tx | Connection,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { fields, client, queryString, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(queryString, params, async () => {\n\t\t\t\treturn await client.execute(queryString, params, executeRawConfig) as FullResult;\n\t\t\t});\n\t\t\tconst insertId = res.lastInsertId ?? 0;\n\t\t\tconst affectedRows = res.rowsAffected ?? 0;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst rows = await this.queryWithCache(queryString, params, async () => {\n\t\t\treturn await client.execute(queryString, params, queryConfig) as unknown[][];\n\t\t});\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => T['execute'])(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { client, queryString, customResultMapper, returningIds, generatedIds } = this;\n\t\tconst res = await client.execute(queryString, params, executeRawConfig) as FullResult;\n\t\tconst insertId = res.lastInsertId ?? 0;\n\t\tconst affectedRows = res.rowsAffected ?? 0;\n\t\t// for each row, I need to check keys from\n\t\tif (returningIds) {\n\t\t\tconst returningResponse = [];\n\t\t\tlet j = 0;\n\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tj++;\n\t\t\t}\n\n\t\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(returningResponse);\n\t\t}\n\n\t\tconst { rows } = res;\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t(rows ?? []) as Record<string, any>[],\n\t\t);\n\t}\n\n\toverride iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the TiDB Cloud Serverless driver');\n\t}\n}\n\nexport interface TiDBServerlessSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class TiDBServerlessSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<\n\tTiDBServerlessQueryResultHKT,\n\tTiDBServerlessPreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessSession';\n\n\tprivate logger: Logger;\n\tprivate client: Tx | Connection;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate baseClient: Connection,\n\t\tdialect: MySqlDialect,\n\t\ttx: Tx | undefined,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: TiDBServerlessSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.client = tx ?? baseClient;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new TiDBServerlessPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new TiDBServerlessPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.execute(querySql.sql, querySql.params) as Promise<T[]>;\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst nativeTx = await this.baseClient.begin();\n\t\ttry {\n\t\t\tconst session = new TiDBServerlessSession(\n\t\t\t\tthis.baseClient,\n\t\t\t\tthis.dialect,\n\t\t\t\tnativeTx,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t);\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait nativeTx.commit();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait nativeTx.rollback();\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class TiDBServerlessTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tTiDBServerlessQueryResultHKT,\n\tTiDBServerlessPreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\trelations: TRelations,\n\t\tschema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, schema, nestedIndex, 'default');\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface TiDBServerlessQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: FullResult;\n}\n\nexport interface TiDBServerlessPreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: TiDBServerlessPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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","names":["sql"]}
@@ -7,7 +7,7 @@ import type { Logger } from "../logger.cjs";
7
7
  import type { MySqlDialect } from "../mysql-core/dialect.cjs";
8
8
  import type { SelectedFieldsOrdered } from "../mysql-core/query-builders/select.types.cjs";
9
9
  import { MySqlPreparedQuery, type MySqlPreparedQueryConfig, type MySqlPreparedQueryHKT, type MySqlQueryResultHKT, MySqlSession, MySqlTransaction } from "../mysql-core/session.cjs";
10
- import type { AnyRelations, TablesRelationalConfig } from "../relations.cjs";
10
+ import type { AnyRelations } from "../relations.cjs";
11
11
  import { type Query, type SQL } from "../sql/sql.cjs";
12
12
  import { type Assume } from "../utils.cjs";
13
13
  export declare class TiDBServerlessPreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false> extends MySqlPreparedQuery<T> {
@@ -33,7 +33,7 @@ export interface TiDBServerlessSessionOptions {
33
33
  logger?: Logger;
34
34
  cache?: Cache;
35
35
  }
36
- export declare class TiDBServerlessSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends MySqlSession<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TRelations, TTablesConfig, TSchema> {
36
+ export declare class TiDBServerlessSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends MySqlSession<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TRelations, TSchema> {
37
37
  private baseClient;
38
38
  private relations;
39
39
  private schema;
@@ -42,7 +42,7 @@ export declare class TiDBServerlessSession<TFullSchema extends Record<string, un
42
42
  private logger;
43
43
  private client;
44
44
  private cache;
45
- constructor(baseClient: Connection, dialect: MySqlDialect, tx: Tx | undefined, relations: AnyRelations | undefined, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: TiDBServerlessSessionOptions);
45
+ constructor(baseClient: Connection, dialect: MySqlDialect, tx: Tx | undefined, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: TiDBServerlessSessionOptions);
46
46
  prepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered, queryMetadata?: {
47
47
  type: 'select' | 'update' | 'delete' | 'insert';
48
48
  tables: string[];
@@ -50,12 +50,12 @@ export declare class TiDBServerlessSession<TFullSchema extends Record<string, un
50
50
  prepareRelationalQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper: (rows: Record<string, unknown>[]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): MySqlPreparedQuery<T>;
51
51
  all<T = unknown>(query: SQL): Promise<T[]>;
52
52
  count(sql: SQL): Promise<number>;
53
- transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>): Promise<T>;
53
+ transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>): Promise<T>;
54
54
  }
55
- export declare class TiDBServerlessTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends MySqlTransaction<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TRelations, TTablesConfig, TSchema> {
55
+ export declare class TiDBServerlessTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends MySqlTransaction<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TRelations, TSchema> {
56
56
  static readonly [entityKind]: string;
57
- constructor(dialect: MySqlDialect, session: MySqlSession, relations: AnyRelations | undefined, schema: V1.RelationalSchemaConfig<TSchema> | undefined, nestedIndex?: number);
58
- transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>): Promise<T>;
57
+ constructor(dialect: MySqlDialect, session: MySqlSession, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, nestedIndex?: number);
58
+ transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>): Promise<T>;
59
59
  }
60
60
  export interface TiDBServerlessQueryResultHKT extends MySqlQueryResultHKT {
61
61
  type: FullResult;
@@ -7,7 +7,7 @@ import type { Logger } from "../logger.js";
7
7
  import type { MySqlDialect } from "../mysql-core/dialect.js";
8
8
  import type { SelectedFieldsOrdered } from "../mysql-core/query-builders/select.types.js";
9
9
  import { MySqlPreparedQuery, type MySqlPreparedQueryConfig, type MySqlPreparedQueryHKT, type MySqlQueryResultHKT, MySqlSession, MySqlTransaction } from "../mysql-core/session.js";
10
- import type { AnyRelations, TablesRelationalConfig } from "../relations.js";
10
+ import type { AnyRelations } from "../relations.js";
11
11
  import { type Query, type SQL } from "../sql/sql.js";
12
12
  import { type Assume } from "../utils.js";
13
13
  export declare class TiDBServerlessPreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false> extends MySqlPreparedQuery<T> {
@@ -33,7 +33,7 @@ export interface TiDBServerlessSessionOptions {
33
33
  logger?: Logger;
34
34
  cache?: Cache;
35
35
  }
36
- export declare class TiDBServerlessSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends MySqlSession<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TRelations, TTablesConfig, TSchema> {
36
+ export declare class TiDBServerlessSession<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends MySqlSession<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TRelations, TSchema> {
37
37
  private baseClient;
38
38
  private relations;
39
39
  private schema;
@@ -42,7 +42,7 @@ export declare class TiDBServerlessSession<TFullSchema extends Record<string, un
42
42
  private logger;
43
43
  private client;
44
44
  private cache;
45
- constructor(baseClient: Connection, dialect: MySqlDialect, tx: Tx | undefined, relations: AnyRelations | undefined, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: TiDBServerlessSessionOptions);
45
+ constructor(baseClient: Connection, dialect: MySqlDialect, tx: Tx | undefined, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, options?: TiDBServerlessSessionOptions);
46
46
  prepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper?: (rows: unknown[][]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered, queryMetadata?: {
47
47
  type: 'select' | 'update' | 'delete' | 'insert';
48
48
  tables: string[];
@@ -50,12 +50,12 @@ export declare class TiDBServerlessSession<TFullSchema extends Record<string, un
50
50
  prepareRelationalQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(query: Query, fields: SelectedFieldsOrdered | undefined, customResultMapper: (rows: Record<string, unknown>[]) => T['execute'], generatedIds?: Record<string, unknown>[], returningIds?: SelectedFieldsOrdered): MySqlPreparedQuery<T>;
51
51
  all<T = unknown>(query: SQL): Promise<T[]>;
52
52
  count(sql: SQL): Promise<number>;
53
- transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>): Promise<T>;
53
+ transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>): Promise<T>;
54
54
  }
55
- export declare class TiDBServerlessTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TTablesConfig extends TablesRelationalConfig, TSchema extends V1.TablesRelationalConfig> extends MySqlTransaction<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TRelations, TTablesConfig, TSchema> {
55
+ export declare class TiDBServerlessTransaction<TFullSchema extends Record<string, unknown>, TRelations extends AnyRelations, TSchema extends V1.TablesRelationalConfig> extends MySqlTransaction<TiDBServerlessQueryResultHKT, TiDBServerlessPreparedQueryHKT, TFullSchema, TRelations, TSchema> {
56
56
  static readonly [entityKind]: string;
57
- constructor(dialect: MySqlDialect, session: MySqlSession, relations: AnyRelations | undefined, schema: V1.RelationalSchemaConfig<TSchema> | undefined, nestedIndex?: number);
58
- transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>): Promise<T>;
57
+ constructor(dialect: MySqlDialect, session: MySqlSession, relations: TRelations, schema: V1.RelationalSchemaConfig<TSchema> | undefined, nestedIndex?: number);
58
+ transaction<T>(transaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>): Promise<T>;
59
59
  }
60
60
  export interface TiDBServerlessQueryResultHKT extends MySqlQueryResultHKT {
61
61
  type: FullResult;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/tidb-serverless/session.ts"],"sourcesContent":["import type { Connection, ExecuteOptions, FullResult, Tx } from '@tidbcloud/serverless';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\n\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n} from '~/mysql-core/session.ts';\nimport type { AnyRelations, TablesRelationalConfig } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nconst executeRawConfig = { fullResult: true } satisfies ExecuteOptions;\nconst queryConfig = { arrayMode: true } satisfies ExecuteOptions;\n\nexport class TiDBServerlessPreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'TiDBPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: Tx | Connection,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { fields, client, queryString, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(queryString, params, async () => {\n\t\t\t\treturn await client.execute(queryString, params, executeRawConfig) as FullResult;\n\t\t\t});\n\t\t\tconst insertId = res.lastInsertId ?? 0;\n\t\t\tconst affectedRows = res.rowsAffected ?? 0;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst rows = await this.queryWithCache(queryString, params, async () => {\n\t\t\treturn await client.execute(queryString, params, queryConfig) as unknown[][];\n\t\t});\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => T['execute'])(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { client, queryString, customResultMapper, returningIds, generatedIds } = this;\n\t\tconst res = await client.execute(queryString, params, executeRawConfig) as FullResult;\n\t\tconst insertId = res.lastInsertId ?? 0;\n\t\tconst affectedRows = res.rowsAffected ?? 0;\n\t\t// for each row, I need to check keys from\n\t\tif (returningIds) {\n\t\t\tconst returningResponse = [];\n\t\t\tlet j = 0;\n\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tj++;\n\t\t\t}\n\n\t\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(returningResponse);\n\t\t}\n\n\t\tconst { rows } = res;\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t(rows ?? []) as Record<string, any>[],\n\t\t);\n\t}\n\n\toverride iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the TiDB Cloud Serverless driver');\n\t}\n}\n\nexport interface TiDBServerlessSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class TiDBServerlessSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<\n\tTiDBServerlessQueryResultHKT,\n\tTiDBServerlessPreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTTablesConfig,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessSession';\n\n\tprivate logger: Logger;\n\tprivate client: Tx | Connection;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate baseClient: Connection,\n\t\tdialect: MySqlDialect,\n\t\ttx: Tx | undefined,\n\t\tprivate relations: AnyRelations | undefined,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: TiDBServerlessSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.client = tx ?? baseClient;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new TiDBServerlessPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new TiDBServerlessPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.execute(querySql.sql, querySql.params) as Promise<T[]>;\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst nativeTx = await this.baseClient.begin();\n\t\ttry {\n\t\t\tconst session = new TiDBServerlessSession(\n\t\t\t\tthis.baseClient,\n\t\t\t\tthis.dialect,\n\t\t\t\tnativeTx,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t);\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait nativeTx.commit();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait nativeTx.rollback();\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class TiDBServerlessTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTTablesConfig extends TablesRelationalConfig,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tTiDBServerlessQueryResultHKT,\n\tTiDBServerlessPreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTTablesConfig,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\trelations: AnyRelations | undefined,\n\t\tschema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, schema, nestedIndex, 'default');\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new TiDBServerlessTransaction<TFullSchema, TRelations, TTablesConfig, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface TiDBServerlessQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: FullResult;\n}\n\nexport interface TiDBServerlessPreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: TiDBServerlessPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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","names":["sql"]}
1
+ {"version":3,"sources":["../../src/tidb-serverless/session.ts"],"sourcesContent":["import type { Connection, ExecuteOptions, FullResult, Tx } from '@tidbcloud/serverless';\nimport { type Cache, NoopCache } from '~/cache/core/index.ts';\nimport type { WithCacheConfig } from '~/cache/core/types.ts';\nimport { Column } from '~/column.ts';\n\nimport type * as V1 from '~/_relations.ts';\nimport { entityKind, is } from '~/entity.ts';\nimport type { Logger } from '~/logger.ts';\nimport { NoopLogger } from '~/logger.ts';\nimport type { MySqlDialect } from '~/mysql-core/dialect.ts';\nimport type { SelectedFieldsOrdered } from '~/mysql-core/query-builders/select.types.ts';\nimport {\n\tMySqlPreparedQuery,\n\ttype MySqlPreparedQueryConfig,\n\ttype MySqlPreparedQueryHKT,\n\ttype MySqlQueryResultHKT,\n\tMySqlSession,\n\tMySqlTransaction,\n} from '~/mysql-core/session.ts';\nimport type { AnyRelations } from '~/relations.ts';\nimport { fillPlaceholders, type Query, type SQL, sql } from '~/sql/sql.ts';\nimport { type Assume, mapResultRow } from '~/utils.ts';\n\nconst executeRawConfig = { fullResult: true } satisfies ExecuteOptions;\nconst queryConfig = { arrayMode: true } satisfies ExecuteOptions;\n\nexport class TiDBServerlessPreparedQuery<T extends MySqlPreparedQueryConfig, TIsRqbV2 extends boolean = false>\n\textends MySqlPreparedQuery<T>\n{\n\tstatic override readonly [entityKind]: string = 'TiDBPreparedQuery';\n\n\tconstructor(\n\t\tprivate client: Tx | Connection,\n\t\tprivate queryString: string,\n\t\tprivate params: unknown[],\n\t\tprivate logger: Logger,\n\t\tcache: Cache,\n\t\tqueryMetadata: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t} | undefined,\n\t\tcacheConfig: WithCacheConfig | undefined,\n\t\tprivate fields: SelectedFieldsOrdered | undefined,\n\t\tprivate customResultMapper?: (\n\t\t\trows: TIsRqbV2 extends true ? Record<string, unknown>[] : unknown[][],\n\t\t) => T['execute'],\n\t\t// Keys that were used in $default and the value that was generated for them\n\t\tprivate generatedIds?: Record<string, unknown>[],\n\t\t// Keys that should be returned, it has the column with all properries + key from object\n\t\tprivate returningIds?: SelectedFieldsOrdered,\n\t\tprivate isRqbV2Query?: TIsRqbV2,\n\t) {\n\t\tsuper(cache, queryMetadata, cacheConfig);\n\t}\n\n\tasync execute(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tif (this.isRqbV2Query) return this.executeRqbV2(placeholderValues);\n\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { fields, client, queryString, joinsNotNullableMap, customResultMapper, returningIds, generatedIds } = this;\n\t\tif (!fields && !customResultMapper) {\n\t\t\tconst res = await this.queryWithCache(queryString, params, async () => {\n\t\t\t\treturn await client.execute(queryString, params, executeRawConfig) as FullResult;\n\t\t\t});\n\t\t\tconst insertId = res.lastInsertId ?? 0;\n\t\t\tconst affectedRows = res.rowsAffected ?? 0;\n\t\t\t// for each row, I need to check keys from\n\t\t\tif (returningIds) {\n\t\t\t\tconst returningResponse = [];\n\t\t\t\tlet j = 0;\n\t\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t\tj++;\n\t\t\t\t}\n\n\t\t\t\treturn returningResponse;\n\t\t\t}\n\t\t\treturn res;\n\t\t}\n\n\t\tconst rows = await this.queryWithCache(queryString, params, async () => {\n\t\t\treturn await client.execute(queryString, params, queryConfig) as unknown[][];\n\t\t});\n\n\t\tif (customResultMapper) {\n\t\t\treturn (customResultMapper as (rows: unknown[][]) => T['execute'])(rows);\n\t\t}\n\n\t\treturn rows.map((row) => mapResultRow<T['execute']>(fields!, row, joinsNotNullableMap));\n\t}\n\n\tprivate async executeRqbV2(placeholderValues: Record<string, unknown> | undefined = {}): Promise<T['execute']> {\n\t\tconst params = fillPlaceholders(this.params, placeholderValues);\n\n\t\tthis.logger.logQuery(this.queryString, params);\n\n\t\tconst { client, queryString, customResultMapper, returningIds, generatedIds } = this;\n\t\tconst res = await client.execute(queryString, params, executeRawConfig) as FullResult;\n\t\tconst insertId = res.lastInsertId ?? 0;\n\t\tconst affectedRows = res.rowsAffected ?? 0;\n\t\t// for each row, I need to check keys from\n\t\tif (returningIds) {\n\t\t\tconst returningResponse = [];\n\t\t\tlet j = 0;\n\t\t\tfor (let i = insertId; i < insertId + affectedRows; i++) {\n\t\t\t\tfor (const column of returningIds) {\n\t\t\t\t\tconst key = returningIds[0]!.path[0]!;\n\t\t\t\t\tif (is(column.field, Column)) {\n\t\t\t\t\t\t// @ts-ignore\n\t\t\t\t\t\tif (column.field.primary && column.field.autoIncrement) {\n\t\t\t\t\t\t\treturningResponse.push({ [key]: i });\n\t\t\t\t\t\t}\n\t\t\t\t\t\tif (column.field.defaultFn && generatedIds) {\n\t\t\t\t\t\t\t// generatedIds[rowIdx][key]\n\t\t\t\t\t\t\treturningResponse.push({ [key]: generatedIds[j]![key] });\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tj++;\n\t\t\t}\n\n\t\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(returningResponse);\n\t\t}\n\n\t\tconst { rows } = res;\n\t\treturn (customResultMapper as (rows: Record<string, unknown>[]) => T['execute'])(\n\t\t\t(rows ?? []) as Record<string, any>[],\n\t\t);\n\t}\n\n\toverride iterator(_placeholderValues?: Record<string, unknown>): AsyncGenerator<T['iterator']> {\n\t\tthrow new Error('Streaming is not supported by the TiDB Cloud Serverless driver');\n\t}\n}\n\nexport interface TiDBServerlessSessionOptions {\n\tlogger?: Logger;\n\tcache?: Cache;\n}\n\nexport class TiDBServerlessSession<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlSession<\n\tTiDBServerlessQueryResultHKT,\n\tTiDBServerlessPreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessSession';\n\n\tprivate logger: Logger;\n\tprivate client: Tx | Connection;\n\tprivate cache: Cache;\n\n\tconstructor(\n\t\tprivate baseClient: Connection,\n\t\tdialect: MySqlDialect,\n\t\ttx: Tx | undefined,\n\t\tprivate relations: TRelations,\n\t\tprivate schema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tprivate options: TiDBServerlessSessionOptions = {},\n\t) {\n\t\tsuper(dialect);\n\t\tthis.client = tx ?? baseClient;\n\t\tthis.logger = options.logger ?? new NoopLogger();\n\t\tthis.cache = options.cache ?? new NoopCache();\n\t}\n\n\tprepareQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper?: (rows: unknown[][]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t\tqueryMetadata?: {\n\t\t\ttype: 'select' | 'update' | 'delete' | 'insert';\n\t\t\ttables: string[];\n\t\t},\n\t\tcacheConfig?: WithCacheConfig,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new TiDBServerlessPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tqueryMetadata,\n\t\t\tcacheConfig,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t);\n\t}\n\n\tprepareRelationalQuery<T extends MySqlPreparedQueryConfig = MySqlPreparedQueryConfig>(\n\t\tquery: Query,\n\t\tfields: SelectedFieldsOrdered | undefined,\n\t\tcustomResultMapper: (rows: Record<string, unknown>[]) => T['execute'],\n\t\tgeneratedIds?: Record<string, unknown>[],\n\t\treturningIds?: SelectedFieldsOrdered,\n\t): MySqlPreparedQuery<T> {\n\t\treturn new TiDBServerlessPreparedQuery(\n\t\t\tthis.client,\n\t\t\tquery.sql,\n\t\t\tquery.params,\n\t\t\tthis.logger,\n\t\t\tthis.cache,\n\t\t\tundefined,\n\t\t\tundefined,\n\t\t\tfields,\n\t\t\tcustomResultMapper,\n\t\t\tgeneratedIds,\n\t\t\treturningIds,\n\t\t\ttrue,\n\t\t);\n\t}\n\n\toverride all<T = unknown>(query: SQL): Promise<T[]> {\n\t\tconst querySql = this.dialect.sqlToQuery(query);\n\t\tthis.logger.logQuery(querySql.sql, querySql.params);\n\t\treturn this.client.execute(querySql.sql, querySql.params) as Promise<T[]>;\n\t}\n\n\toverride async count(sql: SQL): Promise<number> {\n\t\tconst res = await this.execute<{ rows: [{ count: string }] }>(sql);\n\n\t\treturn Number(\n\t\t\tres['rows'][0]['count'],\n\t\t);\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst nativeTx = await this.baseClient.begin();\n\t\ttry {\n\t\t\tconst session = new TiDBServerlessSession(\n\t\t\t\tthis.baseClient,\n\t\t\t\tthis.dialect,\n\t\t\t\tnativeTx,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t\tthis.options,\n\t\t\t);\n\t\t\tconst tx = new TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\t\tthis.dialect,\n\t\t\t\tsession as MySqlSession<any, any, any, any, any>,\n\t\t\t\tthis.relations,\n\t\t\t\tthis.schema,\n\t\t\t);\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait nativeTx.commit();\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait nativeTx.rollback();\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport class TiDBServerlessTransaction<\n\tTFullSchema extends Record<string, unknown>,\n\tTRelations extends AnyRelations,\n\tTSchema extends V1.TablesRelationalConfig,\n> extends MySqlTransaction<\n\tTiDBServerlessQueryResultHKT,\n\tTiDBServerlessPreparedQueryHKT,\n\tTFullSchema,\n\tTRelations,\n\tTSchema\n> {\n\tstatic override readonly [entityKind]: string = 'TiDBServerlessTransaction';\n\n\tconstructor(\n\t\tdialect: MySqlDialect,\n\t\tsession: MySqlSession,\n\t\trelations: TRelations,\n\t\tschema: V1.RelationalSchemaConfig<TSchema> | undefined,\n\t\tnestedIndex = 0,\n\t) {\n\t\tsuper(dialect, session, relations, schema, nestedIndex, 'default');\n\t}\n\n\toverride async transaction<T>(\n\t\ttransaction: (tx: TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>) => Promise<T>,\n\t): Promise<T> {\n\t\tconst savepointName = `sp${this.nestedIndex + 1}`;\n\t\tconst tx = new TiDBServerlessTransaction<TFullSchema, TRelations, TSchema>(\n\t\t\tthis.dialect,\n\t\t\tthis.session,\n\t\t\tthis.relations,\n\t\t\tthis.schema,\n\t\t\tthis.nestedIndex + 1,\n\t\t);\n\t\tawait tx.execute(sql.raw(`savepoint ${savepointName}`));\n\t\ttry {\n\t\t\tconst result = await transaction(tx);\n\t\t\tawait tx.execute(sql.raw(`release savepoint ${savepointName}`));\n\t\t\treturn result;\n\t\t} catch (err) {\n\t\t\tawait tx.execute(sql.raw(`rollback to savepoint ${savepointName}`));\n\t\t\tthrow err;\n\t\t}\n\t}\n}\n\nexport interface TiDBServerlessQueryResultHKT extends MySqlQueryResultHKT {\n\ttype: FullResult;\n}\n\nexport interface TiDBServerlessPreparedQueryHKT extends MySqlPreparedQueryHKT {\n\ttype: TiDBServerlessPreparedQuery<Assume<this['config'], MySqlPreparedQueryConfig>>;\n}\n"],"mappings":"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","names":["sql"]}
package/utils.cjs CHANGED
@@ -165,6 +165,11 @@ function isConfig(data) {
165
165
  if (type !== "object" && type !== "undefined") return false;
166
166
  return true;
167
167
  }
168
+ if ("relations" in data) {
169
+ const type = typeof data["relations"];
170
+ if (type !== "object" && type !== "undefined") return false;
171
+ return true;
172
+ }
168
173
  if ("casing" in data) {
169
174
  const type = typeof data["casing"];
170
175
  if (type !== "string" && type !== "undefined") return false;