@typed-sql/mysql 2.0.0 → 2.1.0

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 (89) hide show
  1. package/CHANGELOG.md +129 -0
  2. package/README.md +12 -0
  3. package/dist/packages/mysql/src/bulk.d.ts.map +1 -1
  4. package/dist/packages/mysql/src/bulk.js +9 -3
  5. package/dist/packages/mysql/src/bulk.js.map +1 -1
  6. package/dist/packages/mysql/src/capabilities.d.ts +30 -0
  7. package/dist/packages/mysql/src/capabilities.d.ts.map +1 -0
  8. package/dist/packages/mysql/src/capabilities.js +233 -0
  9. package/dist/packages/mysql/src/capabilities.js.map +1 -0
  10. package/dist/packages/mysql/src/catalog/generated/26.7.d.ts +4 -0
  11. package/dist/packages/mysql/src/catalog/generated/26.7.d.ts.map +1 -0
  12. package/dist/packages/mysql/src/catalog/generated/26.7.js +3 -0
  13. package/dist/packages/mysql/src/catalog/generated/26.7.js.map +1 -0
  14. package/dist/packages/mysql/src/catalog/generated/8.4.d.ts +4 -0
  15. package/dist/packages/mysql/src/catalog/generated/8.4.d.ts.map +1 -0
  16. package/dist/packages/mysql/src/catalog/generated/8.4.js +3 -0
  17. package/dist/packages/mysql/src/catalog/generated/8.4.js.map +1 -0
  18. package/dist/packages/mysql/src/catalog/generated/9.7.d.ts +4 -0
  19. package/dist/packages/mysql/src/catalog/generated/9.7.d.ts.map +1 -0
  20. package/dist/packages/mysql/src/catalog/generated/9.7.js +3 -0
  21. package/dist/packages/mysql/src/catalog/generated/9.7.js.map +1 -0
  22. package/dist/packages/mysql/src/catalog/index.d.ts +15 -0
  23. package/dist/packages/mysql/src/catalog/index.d.ts.map +1 -0
  24. package/dist/packages/mysql/src/catalog/index.js +129 -0
  25. package/dist/packages/mysql/src/catalog/index.js.map +1 -0
  26. package/dist/packages/mysql/src/catalog/types.d.ts +50 -0
  27. package/dist/packages/mysql/src/catalog/types.d.ts.map +1 -0
  28. package/dist/packages/mysql/src/catalog/types.js +2 -0
  29. package/dist/packages/mysql/src/catalog/types.js.map +1 -0
  30. package/dist/packages/mysql/src/index.d.ts +9 -1
  31. package/dist/packages/mysql/src/index.d.ts.map +1 -1
  32. package/dist/packages/mysql/src/index.js +37 -15
  33. package/dist/packages/mysql/src/index.js.map +1 -1
  34. package/dist/packages/mysql/src/mysql2.d.ts +9 -1
  35. package/dist/packages/mysql/src/mysql2.d.ts.map +1 -1
  36. package/dist/packages/mysql/src/mysql2.js +86 -3
  37. package/dist/packages/mysql/src/mysql2.js.map +1 -1
  38. package/dist/packages/mysql/src/parser/index.d.ts +8 -0
  39. package/dist/packages/mysql/src/parser/index.d.ts.map +1 -0
  40. package/dist/packages/mysql/src/parser/index.js +4 -0
  41. package/dist/packages/mysql/src/parser/index.js.map +1 -0
  42. package/dist/packages/mysql/src/parser/parser.d.ts +14 -0
  43. package/dist/packages/mysql/src/parser/parser.d.ts.map +1 -0
  44. package/dist/packages/mysql/src/parser/parser.js +1276 -0
  45. package/dist/packages/mysql/src/parser/parser.js.map +1 -0
  46. package/dist/packages/mysql/src/parser/tokenizer.d.ts +18 -0
  47. package/dist/packages/mysql/src/parser/tokenizer.d.ts.map +1 -0
  48. package/dist/packages/mysql/src/parser/tokenizer.js +385 -0
  49. package/dist/packages/mysql/src/parser/tokenizer.js.map +1 -0
  50. package/dist/packages/mysql/src/parser/types.d.ts +313 -0
  51. package/dist/packages/mysql/src/parser/types.d.ts.map +1 -0
  52. package/dist/packages/mysql/src/parser/types.js +9 -0
  53. package/dist/packages/mysql/src/parser/types.js.map +1 -0
  54. package/dist/packages/mysql/src/parser/walk.d.ts +13 -0
  55. package/dist/packages/mysql/src/parser/walk.d.ts.map +1 -0
  56. package/dist/packages/mysql/src/parser/walk.js +190 -0
  57. package/dist/packages/mysql/src/parser/walk.js.map +1 -0
  58. package/dist/packages/mysql/src/prepared.d.ts +6 -3
  59. package/dist/packages/mysql/src/prepared.d.ts.map +1 -1
  60. package/dist/packages/mysql/src/prepared.js +15 -14
  61. package/dist/packages/mysql/src/prepared.js.map +1 -1
  62. package/dist/packages/mysql/src/provider.d.ts +21 -5
  63. package/dist/packages/mysql/src/provider.d.ts.map +1 -1
  64. package/dist/packages/mysql/src/provider.js +647 -44
  65. package/dist/packages/mysql/src/provider.js.map +1 -1
  66. package/dist/packages/mysql/src/resolver.d.ts +5 -1
  67. package/dist/packages/mysql/src/resolver.d.ts.map +1 -1
  68. package/dist/packages/mysql/src/resolver.js +1207 -95
  69. package/dist/packages/mysql/src/resolver.js.map +1 -1
  70. package/dist/packages/mysql/src/routing.d.ts.map +1 -1
  71. package/dist/packages/mysql/src/routing.js +3 -2
  72. package/dist/packages/mysql/src/routing.js.map +1 -1
  73. package/dist/packages/mysql/src/runtime.d.ts +33 -0
  74. package/dist/packages/mysql/src/runtime.d.ts.map +1 -1
  75. package/dist/packages/mysql/src/runtime.js +166 -12
  76. package/dist/packages/mysql/src/runtime.js.map +1 -1
  77. package/dist/packages/mysql/src/semantics.d.ts +1 -1
  78. package/dist/packages/mysql/src/semantics.d.ts.map +1 -1
  79. package/dist/packages/mysql/src/semantics.js +27 -3
  80. package/dist/packages/mysql/src/semantics.js.map +1 -1
  81. package/dist/packages/mysql/src/support.d.ts +43 -0
  82. package/dist/packages/mysql/src/support.d.ts.map +1 -0
  83. package/dist/packages/mysql/src/support.js +102 -0
  84. package/dist/packages/mysql/src/support.js.map +1 -0
  85. package/dist/packages/mysql/src/type-policy.d.ts +2 -0
  86. package/dist/packages/mysql/src/type-policy.d.ts.map +1 -1
  87. package/dist/packages/mysql/src/type-policy.js +24 -50
  88. package/dist/packages/mysql/src/type-policy.js.map +1 -1
  89. package/package.json +8 -5
@@ -0,0 +1,3 @@
1
+ const catalog = JSON.parse(`{"coercions":[{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"bigint","target":"decimal"},{"contexts":["explicit","string"],"safety":"lossless","source":"bigint","target":"varchar"},{"contexts":["assignment","comparison","explicit","string"],"safety":"lossless","source":"binary","target":"varbinary"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"boolean","target":"bigint"},{"contexts":["assignment","comparison","explicit","string"],"safety":"lossless","source":"char","target":"varchar"},{"contexts":["assignment","comparison","explicit"],"safety":"lossless","source":"date","target":"datetime"},{"contexts":["explicit","string"],"safety":"lossless","source":"date","target":"varchar"},{"contexts":["assignment","explicit"],"safety":"lossy","source":"datetime","target":"date"},{"contexts":["explicit","string"],"safety":"lossless","source":"datetime","target":"varchar"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossy","source":"decimal","target":"double"},{"contexts":["explicit","string"],"safety":"lossless","source":"decimal","target":"varchar"},{"contexts":["explicit","string"],"safety":"lossy","source":"double","target":"varchar"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"float","target":"double"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"int","target":"bigint"},{"contexts":["comparison","explicit","string"],"safety":"warning","source":"json","target":"varchar"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"mediumint","target":"bigint"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"smallint","target":"bigint"},{"contexts":["arithmetic","comparison","explicit"],"safety":"warning","source":"text","target":"double"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"tinyint","target":"bigint"},{"contexts":["assignment","comparison","explicit","string"],"safety":"lossless","source":"varbinary","target":"blob"},{"contexts":["arithmetic","comparison","explicit"],"safety":"warning","source":"varchar","target":"double"},{"contexts":["assignment","comparison","explicit","string"],"safety":"lossless","source":"varchar","target":"text"}],"collations":[{"binary":true,"characterSet":"ascii","name":"ascii_bin","unicode":false},{"binary":false,"characterSet":"ascii","name":"ascii_general_ci","unicode":false},{"binary":true,"characterSet":"binary","name":"binary","unicode":false},{"binary":true,"characterSet":"latin1","name":"latin1_bin","unicode":false},{"binary":false,"characterSet":"latin1","name":"latin1_swedish_ci","unicode":false},{"binary":true,"characterSet":"utf8mb3","name":"utf8mb3_bin","unicode":true},{"binary":false,"characterSet":"utf8mb3","name":"utf8mb3_general_ci","unicode":true},{"binary":false,"characterSet":"utf8mb4","name":"utf8mb4_0900_ai_ci","unicode":true},{"binary":false,"characterSet":"utf8mb4","name":"utf8mb4_0900_as_ci","unicode":true},{"binary":false,"characterSet":"utf8mb4","name":"utf8mb4_0900_as_cs","unicode":true},{"binary":true,"characterSet":"utf8mb4","name":"utf8mb4_0900_bin","unicode":true},{"binary":true,"characterSet":"utf8mb4","name":"utf8mb4_bin","unicode":true},{"binary":false,"characterSet":"utf8mb4","name":"utf8mb4_general_ci","unicode":true},{"binary":false,"characterSet":"utf8mb4","name":"utf8mb4_unicode_ci","unicode":true}],"formatVersion":1,"operators":[{"name":"bitwise","operators":["&","<<",">>","^","|"],"result":"bitwise"},{"name":"comparison","operators":["!=","<","<=","<=>","<>","=",">",">=","IS","IS NOT","LIKE","NOT LIKE"],"result":"boolean"},{"name":"json","operators":["->"],"result":"json"},{"name":"json-text","operators":["->>"],"result":"json-text"},{"name":"logical","operators":["AND","OR","XOR"],"result":"boolean"},{"name":"numeric","operators":["%","*","+","-","/"],"result":"numeric"}],"routines":[{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":0,"name":"bigint-window","nullability":"never","result":"bigint","routines":["DENSE_RANK","NTILE","RANK","ROW_NUMBER"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"bytes","nullability":"arguments","result":"bytes","routines":["FROM_BASE64","RANDOM_BYTES","UNHEX"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":null,"minimumArguments":1,"name":"coalesce","nullability":"arguments","result":"coalesce","routines":["COALESCE"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"coercibility","nullability":"never","result":"coercibility","routines":["COERCIBILITY"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":null,"minimumArguments":1,"name":"concat","nullability":"arguments","result":"concat","routines":["CONCAT"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"count","nullability":"never","result":"count","routines":["COUNT"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":0,"name":"date","nullability":"never","result":"date","routines":["CURDATE","CURRENT_DATE","CURRENT_TIMESTAMP","NOW"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"decimal-aggregate","nullability":"always","result":"decimal-aggregate","routines":["AVG","SUM"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":2,"minimumArguments":0,"name":"double","nullability":"arguments","result":"double","routines":["ABS","ACOS","ASIN","ATAN","ATAN2","CEIL","CEILING","COS","COT","EXP","FLOOR","LN","LOG","LOG10","LOG2","POW","POWER","RAND","ROUND","SIN","SQRT","TAN"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":0,"minimumArguments":0,"name":"double-window","nullability":"never","result":"double","routines":["CUME_DIST","PERCENT_RANK"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"extrema","nullability":"always","result":"extrema","routines":["MAX","MIN"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":2,"minimumArguments":1,"name":"first-argument","nullability":"arguments","result":"first-argument","routines":["ANY_VALUE","IFNULL","NULLIF"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":3,"minimumArguments":1,"name":"integer","nullability":"arguments","result":"integer","routines":["ASCII","BIT_LENGTH","CHARACTER_LENGTH","CHAR_LENGTH","JSON_LENGTH","LENGTH","LOCATE","SIGN"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":null,"minimumArguments":1,"name":"json","nullability":"arguments","result":"json","routines":["JSON_ARRAY","JSON_ARRAYAGG","JSON_EXTRACT","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_VALUE"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":null,"minimumArguments":0,"name":"string","nullability":"arguments","result":"string","routines":["CHARSET","COLLATION","CONCAT_WS","CURRENT_USER","DATABASE","GROUP_CONCAT","LCASE","LOWER","REPLACE","SUBSTR","SUBSTRING","TRIM","UCASE","UPPER","USER","UUID","VERSION"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":3,"minimumArguments":1,"name":"value-window","nullability":"arguments","result":"value-window","routines":["FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE"]}],"series":"8.4","types":[{"aliases":[],"category":"numeric-integer","mapping":"bigint","name":"bigint","signedness":"both"},{"aliases":[],"category":"binary","mapping":"bytes","name":"binary","signedness":"none"},{"aliases":[],"category":"binary","mapping":"bytes","name":"bit","signedness":"none"},{"aliases":["longblob","mediumblob","tinyblob"],"category":"binary","mapping":"bytes","name":"blob","signedness":"none"},{"aliases":["bool"],"category":"boolean","mapping":"boolean","name":"boolean","signedness":"none"},{"aliases":["character"],"category":"string","mapping":"string","name":"char","signedness":"none"},{"aliases":[],"category":"temporal","mapping":"date","name":"date","signedness":"none"},{"aliases":["timestamp"],"category":"temporal","mapping":"date","name":"datetime","signedness":"none"},{"aliases":["dec","fixed","numeric"],"category":"numeric-decimal","mapping":"numeric","name":"decimal","signedness":"both"},{"aliases":["real"],"category":"numeric-approximate","mapping":"number","name":"double","signedness":"both"},{"aliases":[],"category":"collection","mapping":"string","name":"enum","signedness":"none"},{"aliases":[],"category":"numeric-approximate","mapping":"number","name":"float","signedness":"both"},{"aliases":["geometrycollection","linestring","multilinestring","multipoint","multipolygon","point","polygon"],"category":"spatial","mapping":"bytes","name":"geometry","signedness":"none"},{"aliases":["integer"],"category":"numeric-integer","mapping":"number","name":"int","signedness":"both"},{"aliases":[],"category":"json","mapping":"json","name":"json","signedness":"none"},{"aliases":[],"category":"numeric-integer","mapping":"number","name":"mediumint","signedness":"both"},{"aliases":[],"category":"collection","mapping":"string","name":"set","signedness":"none"},{"aliases":[],"category":"numeric-integer","mapping":"number","name":"smallint","signedness":"both"},{"aliases":["longtext","mediumtext","tinytext"],"category":"string","mapping":"string","name":"text","signedness":"none"},{"aliases":[],"category":"temporal","mapping":"string","name":"time","signedness":"none"},{"aliases":[],"category":"numeric-integer","mapping":"number","name":"tinyint","signedness":"both"},{"aliases":[],"category":"binary","mapping":"bytes","name":"varbinary","signedness":"none"},{"aliases":["character varying"],"category":"string","mapping":"string","name":"varchar","signedness":"none"},{"aliases":[],"category":"temporal","mapping":"number","name":"year","signedness":"none"}],"revision":"sha256:50c82ad62bcb90a45c7a8854c1fab535e2a9de97d539b83fd928dcc9360bd174"}`);
2
+ export default catalog;
3
+ //# sourceMappingURL=8.4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"8.4.js","sourceRoot":"","sources":["../../../../../../src/catalog/generated/8.4.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,gpUAAgpU,CAC7nU,CAAC;AAEtB,eAAe,OAAO,CAAC"}
@@ -0,0 +1,4 @@
1
+ import type { MySqlCoreCatalog } from "../types.js";
2
+ declare const catalog: MySqlCoreCatalog;
3
+ export default catalog;
4
+ //# sourceMappingURL=9.7.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"9.7.d.ts","sourceRoot":"","sources":["../../../../../../src/catalog/generated/9.7.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,QAAA,MAAM,OAAO,EAER,gBAAgB,CAAC;eAEP,OAAO"}
@@ -0,0 +1,3 @@
1
+ const catalog = JSON.parse(`{"coercions":[{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"bigint","target":"decimal"},{"contexts":["explicit","string"],"safety":"lossless","source":"bigint","target":"varchar"},{"contexts":["assignment","comparison","explicit","string"],"safety":"lossless","source":"binary","target":"varbinary"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"boolean","target":"bigint"},{"contexts":["assignment","comparison","explicit","string"],"safety":"lossless","source":"char","target":"varchar"},{"contexts":["assignment","comparison","explicit"],"safety":"lossless","source":"date","target":"datetime"},{"contexts":["explicit","string"],"safety":"lossless","source":"date","target":"varchar"},{"contexts":["assignment","explicit"],"safety":"lossy","source":"datetime","target":"date"},{"contexts":["explicit","string"],"safety":"lossless","source":"datetime","target":"varchar"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossy","source":"decimal","target":"double"},{"contexts":["explicit","string"],"safety":"lossless","source":"decimal","target":"varchar"},{"contexts":["explicit","string"],"safety":"lossy","source":"double","target":"varchar"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"float","target":"double"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"int","target":"bigint"},{"contexts":["comparison","explicit","string"],"safety":"warning","source":"json","target":"varchar"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"mediumint","target":"bigint"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"smallint","target":"bigint"},{"contexts":["arithmetic","comparison","explicit"],"safety":"warning","source":"text","target":"double"},{"contexts":["arithmetic","assignment","comparison","explicit"],"safety":"lossless","source":"tinyint","target":"bigint"},{"contexts":["assignment","comparison","explicit","string"],"safety":"lossless","source":"varbinary","target":"blob"},{"contexts":["arithmetic","comparison","explicit"],"safety":"warning","source":"varchar","target":"double"},{"contexts":["assignment","comparison","explicit","string"],"safety":"lossless","source":"varchar","target":"text"}],"collations":[{"binary":true,"characterSet":"ascii","name":"ascii_bin","unicode":false},{"binary":false,"characterSet":"ascii","name":"ascii_general_ci","unicode":false},{"binary":true,"characterSet":"binary","name":"binary","unicode":false},{"binary":true,"characterSet":"latin1","name":"latin1_bin","unicode":false},{"binary":false,"characterSet":"latin1","name":"latin1_swedish_ci","unicode":false},{"binary":true,"characterSet":"utf8mb3","name":"utf8mb3_bin","unicode":true},{"binary":false,"characterSet":"utf8mb3","name":"utf8mb3_general_ci","unicode":true},{"binary":false,"characterSet":"utf8mb4","name":"utf8mb4_0900_ai_ci","unicode":true},{"binary":false,"characterSet":"utf8mb4","name":"utf8mb4_0900_as_ci","unicode":true},{"binary":false,"characterSet":"utf8mb4","name":"utf8mb4_0900_as_cs","unicode":true},{"binary":true,"characterSet":"utf8mb4","name":"utf8mb4_0900_bin","unicode":true},{"binary":true,"characterSet":"utf8mb4","name":"utf8mb4_bin","unicode":true},{"binary":false,"characterSet":"utf8mb4","name":"utf8mb4_general_ci","unicode":true},{"binary":false,"characterSet":"utf8mb4","name":"utf8mb4_unicode_ci","unicode":true}],"formatVersion":1,"operators":[{"name":"bitwise","operators":["&","<<",">>","^","|"],"result":"bitwise"},{"name":"comparison","operators":["!=","<","<=","<=>","<>","=",">",">=","IS","IS NOT","LIKE","NOT LIKE"],"result":"boolean"},{"name":"json","operators":["->"],"result":"json"},{"name":"json-text","operators":["->>"],"result":"json-text"},{"name":"logical","operators":["AND","OR","XOR"],"result":"boolean"},{"name":"numeric","operators":["%","*","+","-","/"],"result":"numeric"}],"routines":[{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":0,"name":"bigint-window","nullability":"never","result":"bigint","routines":["DENSE_RANK","NTILE","RANK","ROW_NUMBER"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"bytes","nullability":"arguments","result":"bytes","routines":["FROM_BASE64","RANDOM_BYTES","UNHEX"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":null,"minimumArguments":1,"name":"coalesce","nullability":"arguments","result":"coalesce","routines":["COALESCE"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"coercibility","nullability":"never","result":"coercibility","routines":["COERCIBILITY"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":null,"minimumArguments":1,"name":"concat","nullability":"arguments","result":"concat","routines":["CONCAT"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"count","nullability":"never","result":"count","routines":["COUNT"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":0,"name":"date","nullability":"never","result":"date","routines":["CURDATE","CURRENT_DATE","CURRENT_TIMESTAMP","NOW"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"decimal-aggregate","nullability":"always","result":"decimal-aggregate","routines":["AVG","SUM"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":2,"minimumArguments":0,"name":"double","nullability":"arguments","result":"double","routines":["ABS","ACOS","ASIN","ATAN","ATAN2","CEIL","CEILING","COS","COT","EXP","FLOOR","LN","LOG","LOG10","LOG2","POW","POWER","RAND","ROUND","SIN","SQRT","TAN"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":0,"minimumArguments":0,"name":"double-window","nullability":"never","result":"double","routines":["CUME_DIST","PERCENT_RANK"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"extrema","nullability":"always","result":"extrema","routines":["MAX","MIN"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":2,"minimumArguments":1,"name":"first-argument","nullability":"arguments","result":"first-argument","routines":["ANY_VALUE","IFNULL","NULLIF"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":3,"minimumArguments":1,"name":"integer","nullability":"arguments","result":"integer","routines":["ASCII","BIT_LENGTH","CHARACTER_LENGTH","CHAR_LENGTH","JSON_LENGTH","LENGTH","LOCATE","SIGN"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":null,"minimumArguments":1,"name":"json","nullability":"arguments","result":"json","routines":["JSON_ARRAY","JSON_ARRAYAGG","JSON_EXTRACT","JSON_OBJECT","JSON_OBJECTAGG","JSON_QUERY","JSON_VALUE"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":null,"minimumArguments":0,"name":"string","nullability":"arguments","result":"string","routines":["CHARSET","COLLATION","CONCAT_WS","CURRENT_USER","DATABASE","GROUP_CONCAT","LCASE","LOWER","REPLACE","SUBSTR","SUBSTRING","TRIM","UCASE","UPPER","USER","UUID","VERSION"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":3,"minimumArguments":1,"name":"value-window","nullability":"arguments","result":"value-window","routines":["FIRST_VALUE","LAG","LAST_VALUE","LEAD","NTH_VALUE"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"vector-dimension","nullability":"arguments","result":"integer","routines":["VECTOR_DIM"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"vector-from-string","nullability":"arguments","result":"vector","routines":["STRING_TO_VECTOR","TO_VECTOR"]},{"editions":["commercial","community","enterprise","source"],"maximumArguments":1,"minimumArguments":1,"name":"vector-to-string","nullability":"arguments","result":"string","routines":["FROM_VECTOR","VECTOR_TO_STRING"]}],"series":"9.7","types":[{"aliases":[],"category":"numeric-integer","mapping":"bigint","name":"bigint","signedness":"both"},{"aliases":[],"category":"binary","mapping":"bytes","name":"binary","signedness":"none"},{"aliases":[],"category":"binary","mapping":"bytes","name":"bit","signedness":"none"},{"aliases":["longblob","mediumblob","tinyblob"],"category":"binary","mapping":"bytes","name":"blob","signedness":"none"},{"aliases":["bool"],"category":"boolean","mapping":"boolean","name":"boolean","signedness":"none"},{"aliases":["character"],"category":"string","mapping":"string","name":"char","signedness":"none"},{"aliases":[],"category":"temporal","mapping":"date","name":"date","signedness":"none"},{"aliases":["timestamp"],"category":"temporal","mapping":"date","name":"datetime","signedness":"none"},{"aliases":["dec","fixed","numeric"],"category":"numeric-decimal","mapping":"numeric","name":"decimal","signedness":"both"},{"aliases":["real"],"category":"numeric-approximate","mapping":"number","name":"double","signedness":"both"},{"aliases":[],"category":"collection","mapping":"string","name":"enum","signedness":"none"},{"aliases":[],"category":"numeric-approximate","mapping":"number","name":"float","signedness":"both"},{"aliases":["geometrycollection","linestring","multilinestring","multipoint","multipolygon","point","polygon"],"category":"spatial","mapping":"bytes","name":"geometry","signedness":"none"},{"aliases":["integer"],"category":"numeric-integer","mapping":"number","name":"int","signedness":"both"},{"aliases":[],"category":"json","mapping":"json","name":"json","signedness":"none"},{"aliases":[],"category":"numeric-integer","mapping":"number","name":"mediumint","signedness":"both"},{"aliases":[],"category":"collection","mapping":"string","name":"set","signedness":"none"},{"aliases":[],"category":"numeric-integer","mapping":"number","name":"smallint","signedness":"both"},{"aliases":["longtext","mediumtext","tinytext"],"category":"string","mapping":"string","name":"text","signedness":"none"},{"aliases":[],"category":"temporal","mapping":"string","name":"time","signedness":"none"},{"aliases":[],"category":"numeric-integer","mapping":"number","name":"tinyint","signedness":"both"},{"aliases":[],"category":"binary","mapping":"bytes","name":"varbinary","signedness":"none"},{"aliases":["character varying"],"category":"string","mapping":"string","name":"varchar","signedness":"none"},{"aliases":[],"category":"vector","mapping":"bytes","name":"vector","signedness":"none"},{"aliases":[],"category":"temporal","mapping":"number","name":"year","signedness":"none"}],"revision":"sha256:ac6c29a80f62ea62b506a79004cc5ad6a97cf0053a4b6a9f70e7d8c96a0ad586"}`);
2
+ export default catalog;
3
+ //# sourceMappingURL=9.7.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"9.7.js","sourceRoot":"","sources":["../../../../../../src/catalog/generated/9.7.ts"],"names":[],"mappings":"AAGA,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,02VAA02V,CACv1V,CAAC;AAEtB,eAAe,OAAO,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { SchemaSnapshot } from "@typed-sql/schema";
2
+ import type { MySqlCatalogCoercion, MySqlCatalogCollation, MySqlCatalogOperatorFamily, MySqlCatalogRoutineFamily, MySqlCatalogType, MySqlCoercionContext, MySqlCoreCatalog } from "./types.js";
3
+ export type { MySqlCatalogCoercion, MySqlCatalogCollation, MySqlCatalogOperatorFamily, MySqlCatalogRoutineFamily, MySqlCatalogType, MySqlCatalogTypeMapping, MySqlCoercionContext, MySqlCoercionSafety, MySqlCoreCatalog, MySqlOperatorResultRule, MySqlRoutineResultRule, MySqlTypeCategory, } from "./types.js";
4
+ export declare const MYSQL_CORE_CATALOG_FORMAT_VERSION: 1;
5
+ export declare function normalizeMySqlType(value: string): string;
6
+ export declare function mySqlCoreCatalog(series: string): MySqlCoreCatalog | undefined;
7
+ export declare function mySqlCoreCatalogForSchema(schema: SchemaSnapshot | undefined): MySqlCoreCatalog | undefined;
8
+ export declare function mySqlCatalogType(databaseType: string, schema?: SchemaSnapshot): MySqlCatalogType | undefined;
9
+ export declare function mySqlCatalogCoercion(source: string, target: string, schema?: SchemaSnapshot): MySqlCatalogCoercion | undefined;
10
+ export declare function mySqlCatalogCanCoerce(source: string, target: string, context: MySqlCoercionContext, schema?: SchemaSnapshot): boolean;
11
+ export declare function mySqlCatalogOperator(operator: string, schema?: SchemaSnapshot): MySqlCatalogOperatorFamily | undefined;
12
+ export declare function mySqlCatalogRoutine(routine: string, schema?: SchemaSnapshot): MySqlCatalogRoutineFamily | undefined;
13
+ export declare function mySqlCatalogCollation(collation: string, schema?: SchemaSnapshot): MySqlCatalogCollation | undefined;
14
+ export declare function mySqlCatalogHasRoutineInAnotherSeries(routine: string, schema?: SchemaSnapshot): boolean;
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/catalog/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAKxD,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,oBAAoB,EACpB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAEpB,YAAY,EACV,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,gBAAgB,EAChB,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,uBAAuB,EACvB,sBAAsB,EACtB,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,iCAAiC,EAAG,CAAU,CAAC;AA8E5D,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CASxD;AAQD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAE7E;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,SAAS,GAAG,gBAAgB,GAAG,SAAS,CAG1G;AAQD,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,gBAAgB,GAAG,SAAS,CAG5G;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,cAAc,GACtB,oBAAoB,GAAG,SAAS,CAOlC;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,oBAAoB,EAC7B,MAAM,CAAC,EAAE,cAAc,GACtB,OAAO,CAKT;AAED,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,MAAM,CAAC,EAAE,cAAc,GACtB,0BAA0B,GAAG,SAAS,CAGxC;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,yBAAyB,GAAG,SAAS,CAGnH;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,qBAAqB,GAAG,SAAS,CAGnH;AAED,wBAAgB,qCAAqC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,OAAO,CAIvG"}
@@ -0,0 +1,129 @@
1
+ import { parseMySqlVersion } from "../support.js";
2
+ import catalog84 from "./generated/8.4.js";
3
+ import catalog97 from "./generated/9.7.js";
4
+ import catalog267 from "./generated/26.7.js";
5
+ export const MYSQL_CORE_CATALOG_FORMAT_VERSION = 1;
6
+ function deepFreeze(value, seen = new Set()) {
7
+ if (typeof value !== "object" || value === null || seen.has(value))
8
+ return value;
9
+ seen.add(value);
10
+ for (const child of Object.values(value))
11
+ deepFreeze(child, seen);
12
+ return Object.freeze(value);
13
+ }
14
+ const catalogs = new Map([catalog84, catalog97, catalog267].map((catalog) => [catalog.series, deepFreeze(catalog)]));
15
+ const indexes = new WeakMap();
16
+ function withoutTypeParameters(value) {
17
+ const parts = [];
18
+ let offset = 0;
19
+ while (offset < value.length) {
20
+ const opening = value.indexOf("(", offset);
21
+ if (opening < 0) {
22
+ parts.push(value.slice(offset));
23
+ break;
24
+ }
25
+ const closing = value.indexOf(")", opening + 1);
26
+ if (closing < 0) {
27
+ parts.push(value.slice(offset));
28
+ break;
29
+ }
30
+ parts.push(value.slice(offset, opening));
31
+ offset = closing + 1;
32
+ }
33
+ return parts.join("");
34
+ }
35
+ function collapseWhitespace(value) {
36
+ const characters = [];
37
+ let pendingSpace = false;
38
+ for (const character of value) {
39
+ if (character.trim().length === 0) {
40
+ pendingSpace = characters.length > 0;
41
+ continue;
42
+ }
43
+ if (pendingSpace)
44
+ characters.push(" ");
45
+ characters.push(character);
46
+ pendingSpace = false;
47
+ }
48
+ return characters.join("");
49
+ }
50
+ function index(catalog) {
51
+ const cached = indexes.get(catalog);
52
+ if (cached !== undefined)
53
+ return cached;
54
+ const created = {
55
+ types: new Map(catalog.types.flatMap((type) => [type.name, ...type.aliases].map((alias) => [alias, type]))),
56
+ coercions: new Map(catalog.coercions.map((coercion) => [`${coercion.source}>${coercion.target}`, coercion])),
57
+ operators: new Map(catalog.operators.flatMap((family) => family.operators.map((operator) => [operator, family]))),
58
+ routines: new Map(catalog.routines.flatMap((family) => family.routines.map((routine) => [routine, family]))),
59
+ collations: new Map(catalog.collations.map((collation) => [collation.name, collation])),
60
+ };
61
+ indexes.set(catalog, created);
62
+ return created;
63
+ }
64
+ export function normalizeMySqlType(value) {
65
+ let normalized = collapseWhitespace(withoutTypeParameters(value.toLowerCase()));
66
+ for (const modifier of ["signed", "unsigned", "zerofill"]) {
67
+ if (normalized.endsWith(` ${modifier}`)) {
68
+ normalized = normalized.slice(0, -(modifier.length + 1));
69
+ break;
70
+ }
71
+ }
72
+ return normalized === "double precision" ? "double" : normalized;
73
+ }
74
+ function seriesForSchema(schema) {
75
+ const evidence = schema?.server?.versionKey ?? schema?.version;
76
+ const version = evidence === undefined ? undefined : parseMySqlVersion(evidence);
77
+ return version === undefined ? undefined : `${version[0]}.${version[1]}`;
78
+ }
79
+ export function mySqlCoreCatalog(series) {
80
+ return catalogs.get(series);
81
+ }
82
+ export function mySqlCoreCatalogForSchema(schema) {
83
+ const series = seriesForSchema(schema);
84
+ return series === undefined ? undefined : mySqlCoreCatalog(series);
85
+ }
86
+ function selected(schema) {
87
+ const evidence = schema?.server?.versionKey ?? schema?.version;
88
+ if (evidence === undefined)
89
+ return catalog84;
90
+ return mySqlCoreCatalogForSchema(schema);
91
+ }
92
+ export function mySqlCatalogType(databaseType, schema) {
93
+ const catalog = selected(schema);
94
+ return catalog === undefined ? undefined : index(catalog).types.get(normalizeMySqlType(databaseType));
95
+ }
96
+ export function mySqlCatalogCoercion(source, target, schema) {
97
+ const catalog = selected(schema);
98
+ if (catalog === undefined)
99
+ return undefined;
100
+ const catalogIndex = index(catalog);
101
+ const sourceType = catalogIndex.types.get(normalizeMySqlType(source))?.name ?? normalizeMySqlType(source);
102
+ const targetType = catalogIndex.types.get(normalizeMySqlType(target))?.name ?? normalizeMySqlType(target);
103
+ return catalogIndex.coercions.get(`${sourceType}>${targetType}`);
104
+ }
105
+ export function mySqlCatalogCanCoerce(source, target, context, schema) {
106
+ const sourceType = mySqlCatalogType(source, schema)?.name ?? normalizeMySqlType(source);
107
+ const targetType = mySqlCatalogType(target, schema)?.name ?? normalizeMySqlType(target);
108
+ if (sourceType === targetType)
109
+ return true;
110
+ return mySqlCatalogCoercion(sourceType, targetType, schema)?.contexts.includes(context) ?? false;
111
+ }
112
+ export function mySqlCatalogOperator(operator, schema) {
113
+ const catalog = selected(schema);
114
+ return catalog === undefined ? undefined : index(catalog).operators.get(operator.toUpperCase());
115
+ }
116
+ export function mySqlCatalogRoutine(routine, schema) {
117
+ const catalog = selected(schema);
118
+ return catalog === undefined ? undefined : index(catalog).routines.get(routine.toUpperCase());
119
+ }
120
+ export function mySqlCatalogCollation(collation, schema) {
121
+ const catalog = selected(schema);
122
+ return catalog === undefined ? undefined : index(catalog).collations.get(collation.toLowerCase());
123
+ }
124
+ export function mySqlCatalogHasRoutineInAnotherSeries(routine, schema) {
125
+ const current = mySqlCoreCatalogForSchema(schema);
126
+ const normalized = routine.toUpperCase();
127
+ return [...catalogs.values()].some((catalog) => catalog !== current && index(catalog).routines.has(normalized));
128
+ }
129
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/catalog/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ export type MySqlCatalogTypeMapping = "bigint" | "boolean" | "bytes" | "date" | "json" | "number" | "numeric" | "string" | "unknown";
2
+ export type MySqlTypeCategory = "binary" | "boolean" | "collection" | "json" | "numeric-approximate" | "numeric-decimal" | "numeric-integer" | "spatial" | "string" | "temporal" | "vector";
3
+ export type MySqlCoercionContext = "arithmetic" | "assignment" | "comparison" | "explicit" | "string";
4
+ export type MySqlCoercionSafety = "lossless" | "warning" | "lossy";
5
+ export type MySqlOperatorResultRule = "bitwise" | "boolean" | "json" | "json-text" | "numeric";
6
+ export type MySqlRoutineResultRule = "bigint" | "bytes" | "coalesce" | "coercibility" | "collation-name" | "concat" | "count" | "date" | "decimal-aggregate" | "double" | "extrema" | "first-argument" | "integer" | "json" | "string" | "vector" | "value-window";
7
+ export interface MySqlCatalogType {
8
+ readonly name: string;
9
+ readonly aliases: readonly string[];
10
+ readonly mapping: MySqlCatalogTypeMapping;
11
+ readonly category: MySqlTypeCategory;
12
+ readonly signedness: "signed" | "unsigned" | "both" | "none";
13
+ }
14
+ export interface MySqlCatalogCoercion {
15
+ readonly source: string;
16
+ readonly target: string;
17
+ readonly contexts: readonly MySqlCoercionContext[];
18
+ readonly safety: MySqlCoercionSafety;
19
+ }
20
+ export interface MySqlCatalogOperatorFamily {
21
+ readonly name: string;
22
+ readonly operators: readonly string[];
23
+ readonly result: MySqlOperatorResultRule;
24
+ }
25
+ export interface MySqlCatalogRoutineFamily {
26
+ readonly name: string;
27
+ readonly routines: readonly string[];
28
+ readonly result: MySqlRoutineResultRule;
29
+ readonly minimumArguments: number;
30
+ readonly maximumArguments: number | null;
31
+ readonly nullability: "arguments" | "never" | "always";
32
+ readonly editions: readonly ("commercial" | "community" | "enterprise" | "source")[];
33
+ }
34
+ export interface MySqlCatalogCollation {
35
+ readonly name: string;
36
+ readonly characterSet: string;
37
+ readonly unicode: boolean;
38
+ readonly binary: boolean;
39
+ }
40
+ export interface MySqlCoreCatalog {
41
+ readonly formatVersion: 1;
42
+ readonly series: "8.4" | "9.7" | "26.7";
43
+ readonly revision: string;
44
+ readonly types: readonly MySqlCatalogType[];
45
+ readonly coercions: readonly MySqlCatalogCoercion[];
46
+ readonly operators: readonly MySqlCatalogOperatorFamily[];
47
+ readonly routines: readonly MySqlCatalogRoutineFamily[];
48
+ readonly collations: readonly MySqlCatalogCollation[];
49
+ }
50
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/catalog/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/catalog/types.ts"],"names":[],"mappings":""}
@@ -3,21 +3,29 @@ import { type SchemaSnapshot } from "@typed-sql/schema";
3
3
  import { type MySqlTypePolicy } from "./type-policy.js";
4
4
  export type { MySqlBulkCapability, MySqlBulkProgress, MySqlBulkResult, MySqlLoadDataOptions, } from "./bulk.js";
5
5
  export { mysqlBulk } from "./bulk.js";
6
+ export type { MySqlCoreCatalog } from "./catalog/index.js";
7
+ export { MYSQL_CORE_CATALOG_FORMAT_VERSION, mySqlCoreCatalog } from "./catalog/index.js";
8
+ export { MySqlRuntimeCompatibilityError, MySqlWarningError, MySqlWarningInspectionError } from "./runtime.js";
6
9
  export { MYSQL_DIALECT_VERSION } from "./version.js";
7
10
  export type MySqlSchemaSnapshot = SchemaSnapshot & {
8
11
  readonly dialect: "mysql";
9
12
  };
10
13
  export interface MySqlDialectOptions {
11
14
  readonly typePolicy?: MySqlTypePolicy;
15
+ readonly versionPolicy?: import("./support.js").MySqlVersionPolicy;
12
16
  }
13
17
  export declare function mysql(options?: MySqlDialectOptions): DialectPlugin<MySqlSchemaSnapshot, MySqlTypePolicy>;
14
18
  export { sql } from "@typed-sql/core";
15
19
  export type { SchemaSnapshot } from "@typed-sql/schema";
16
20
  export { parseSchemaSnapshot } from "@typed-sql/schema";
17
- export type { MySqlQueryable, MySqlSchemaProviderOptions } from "./provider.js";
21
+ export type { MySqlServerEdition, MySqlServerEvidenceOptions } from "./capabilities.js";
22
+ export { mySqlServerEvidence, resolveMySqlCapabilities } from "./capabilities.js";
23
+ export type { MySqlIntrospectionCatalog, MySqlIntrospectionDiagnostic, MySqlIntrospectionResult, MySqlQueryable, MySqlSchemaProviderOptions, } from "./provider.js";
18
24
  export { introspectMySql, MySqlSchemaProvider, mysqlCatalogQueries } from "./provider.js";
19
25
  export type { MySqlQuerySemanticResolverOptions, MySqlRoutedDatabaseOptions } from "./routing.js";
20
26
  export { createMySqlQuerySemanticResolver, createMySqlRoutedDatabase, isMySqlRetryableTransactionError, } from "./routing.js";
27
+ export type { MySqlVersionPolicy, MySqlVersionSupport } from "./support.js";
28
+ export { MYSQL_SUPPORT_POLICY, mySqlVersionSupport, parseMySqlVersion } from "./support.js";
21
29
  export type { MySqlTypePolicy } from "./type-policy.js";
22
30
  export { defaultMySqlTypePolicy, defaultMySqlTypePolicy as typePolicy, isKnownMySqlType, mapMySqlType, } from "./type-policy.js";
23
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAA4B,KAAK,aAAa,EAAyB,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAG7E,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGhF,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;CACvC;AAyBD,wBAAgB,KAAK,CAAC,OAAO,GAAE,mBAAwB,GAAG,aAAa,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAsC5G;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,eAAe,CAAC;AAChF,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC1F,YAAY,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAClG,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,IAAI,UAAU,EACpC,gBAAgB,EAChB,YAAY,GACb,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,aAAa,EAEnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAuB,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAU7E,OAAO,EAA0B,KAAK,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGhF,YAAY,EACV,mBAAmB,EACnB,iBAAiB,EACjB,eAAe,EACf,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,iCAAiC,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAC9G,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,MAAM,MAAM,mBAAmB,GAAG,cAAc,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjF,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,cAAc,EAAE,kBAAkB,CAAC;CACpE;AAkBD,wBAAgB,KAAK,CAAC,OAAO,GAAE,mBAAwB,GAAG,aAAa,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAgE5G;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AACtC,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,mBAAmB,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAClF,YAAY,EACV,yBAAyB,EACzB,4BAA4B,EAC5B,wBAAwB,EACxB,cAAc,EACd,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAC1F,YAAY,EAAE,iCAAiC,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAClG,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,cAAc,CAAC;AACtB,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAC5E,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC5F,YAAY,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EACL,sBAAsB,EACtB,sBAAsB,IAAI,UAAU,EACpC,gBAAgB,EAChB,YAAY,GACb,MAAM,kBAAkB,CAAC"}
@@ -1,22 +1,15 @@
1
- import { parseStatement, SqlParseError } from "@typed-sql/ast";
2
- import { DIALECT_CONTRACT_VERSION, unknownQuerySemantics } from "@typed-sql/core";
1
+ import { applyDialectCapabilityStates, DIALECT_CONTRACT_VERSION, unknownQuerySemantics, } from "@typed-sql/core";
3
2
  import { parseSchemaSnapshot } from "@typed-sql/schema";
3
+ import { assertMySqlServerEvidence, MYSQL_CAPABILITIES, resolveMySqlCapabilities, unmodeledMySqlSqlModes, } from "./capabilities.js";
4
+ import { parseStatement, SqlParseError } from "./parser/index.js";
4
5
  import { resolveMySqlStatement } from "./resolver.js";
5
6
  import { analyzeMySqlSemantics } from "./semantics.js";
6
7
  import { defaultMySqlTypePolicy } from "./type-policy.js";
7
8
  import { MYSQL_DIALECT_VERSION } from "./version.js";
8
9
  export { mysqlBulk } from "./bulk.js";
10
+ export { MYSQL_CORE_CATALOG_FORMAT_VERSION, mySqlCoreCatalog } from "./catalog/index.js";
11
+ export { MySqlRuntimeCompatibilityError, MySqlWarningError, MySqlWarningInspectionError } from "./runtime.js";
9
12
  export { MYSQL_DIALECT_VERSION } from "./version.js";
10
- const capabilities = Object.freeze({
11
- aggregateFilter: false,
12
- arrays: false,
13
- distinctOn: false,
14
- fullJoins: false,
15
- lockingReads: true,
16
- recursiveCtes: false,
17
- returning: false,
18
- setOperations: false,
19
- });
20
13
  function validateMySqlSnapshot(value) {
21
14
  const snapshot = parseSchemaSnapshot(value);
22
15
  if (snapshot.dialect !== "mysql")
@@ -24,16 +17,23 @@ function validateMySqlSnapshot(value) {
24
17
  if (snapshot.dialectVersion !== undefined && snapshot.dialectVersion !== MYSQL_DIALECT_VERSION) {
25
18
  throw new TypeError(`@typed-sql/mysql grammar ${MYSQL_DIALECT_VERSION} cannot use snapshot dialectVersion ${snapshot.dialectVersion}`);
26
19
  }
20
+ if (snapshot.server !== undefined && snapshot.server.product !== "mysql") {
21
+ throw new TypeError(`@typed-sql/mysql cannot use ${snapshot.server.product} server evidence`);
22
+ }
23
+ if (snapshot.server !== undefined)
24
+ assertMySqlServerEvidence(snapshot.server);
27
25
  return snapshot;
28
26
  }
29
27
  export function mysql(options = {}) {
30
28
  const defaultTypePolicy = options.typePolicy ?? defaultMySqlTypePolicy;
29
+ const versionPolicy = options.versionPolicy ?? "stable";
31
30
  return Object.freeze({
32
31
  contractVersion: DIALECT_CONTRACT_VERSION,
33
32
  id: "mysql",
34
33
  grammarVersion: MYSQL_DIALECT_VERSION,
35
34
  sqlModule: "@typed-sql/mysql",
36
- capabilities,
35
+ capabilities: MYSQL_CAPABILITIES,
36
+ resolveCapabilities: (snapshot) => resolveMySqlCapabilities(snapshot, versionPolicy),
37
37
  defaultTypePolicy,
38
38
  placeholder(index) {
39
39
  if (!Number.isInteger(index) || index < 1)
@@ -45,14 +45,34 @@ export function mysql(options = {}) {
45
45
  },
46
46
  analyze(sql, snapshot, policy = defaultTypePolicy) {
47
47
  try {
48
- const statement = parseStatement(sql, { syntax: "mysql" });
48
+ const sqlMode = snapshot.server?.settings.sqlMode;
49
+ const unmodeledModes = typeof sqlMode === "string" ? unmodeledMySqlSqlModes(sqlMode) : [];
50
+ if (unmodeledModes.length > 0) {
51
+ const range = { start: 0, end: sql.length, line: 1, column: 1 };
52
+ return {
53
+ columns: [],
54
+ parameters: [],
55
+ diagnostics: [
56
+ {
57
+ code: "TSQ407",
58
+ message: `Exact MySQL analysis does not cover these sql_mode values: ${unmodeledModes.join(", ")}.`,
59
+ severity: "error",
60
+ range,
61
+ suggestion: "Use a modeled SQL mode or remove the query from exact static analysis.",
62
+ },
63
+ ],
64
+ semantics: unknownQuerySemantics(range, "The recorded MySQL SQL mode is not modeled."),
65
+ };
66
+ }
67
+ const statement = parseStatement(sql, { ...(typeof sqlMode === "string" ? { sqlMode } : {}) });
49
68
  const resolved = resolveMySqlStatement(statement, snapshot, { typePolicy: policy });
50
- return {
69
+ const analysis = {
51
70
  ...resolved,
52
71
  semantics: resolved.diagnostics.some(({ severity }) => severity === "error")
53
72
  ? unknownQuerySemantics(statement.range, "MySQL semantic analysis reported an error.")
54
73
  : analyzeMySqlSemantics(statement, snapshot),
55
74
  };
75
+ return applyDialectCapabilityStates(analysis, resolveMySqlCapabilities(snapshot, versionPolicy), statement.range);
56
76
  }
57
77
  catch (error) {
58
78
  if (!(error instanceof SqlParseError))
@@ -70,7 +90,9 @@ export function mysql(options = {}) {
70
90
  }
71
91
  export { sql } from "@typed-sql/core";
72
92
  export { parseSchemaSnapshot } from "@typed-sql/schema";
93
+ export { mySqlServerEvidence, resolveMySqlCapabilities } from "./capabilities.js";
73
94
  export { introspectMySql, MySqlSchemaProvider, mysqlCatalogQueries } from "./provider.js";
74
95
  export { createMySqlQuerySemanticResolver, createMySqlRoutedDatabase, isMySqlRetryableTransactionError, } from "./routing.js";
96
+ export { MYSQL_SUPPORT_POLICY, mySqlVersionSupport, parseMySqlVersion } from "./support.js";
75
97
  export { defaultMySqlTypePolicy, defaultMySqlTypePolicy as typePolicy, isKnownMySqlType, mapMySqlType, } from "./type-policy.js";
76
98
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAsB,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAuB,MAAM,mBAAmB,CAAC;AAC7E,OAAO,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,sBAAsB,EAAwB,MAAM,kBAAkB,CAAC;AAChF,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAQrD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAOrD,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IACjC,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE,KAAK;IACb,UAAU,EAAE,KAAK;IACjB,SAAS,EAAE,KAAK;IAChB,YAAY,EAAE,IAAI;IAClB,aAAa,EAAE,KAAK;IACpB,SAAS,EAAE,KAAK;IAChB,aAAa,EAAE,KAAK;CACrB,CAAC,CAAC;AAEH,SAAS,qBAAqB,CAAC,KAAc;IAC3C,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,CAAC;IAC5C,IAAI,QAAQ,CAAC,OAAO,KAAK,OAAO;QAC9B,MAAM,IAAI,SAAS,CAAC,iCAAiC,QAAQ,CAAC,OAAO,kBAAkB,CAAC,CAAC;IAC3F,IAAI,QAAQ,CAAC,cAAc,KAAK,SAAS,IAAI,QAAQ,CAAC,cAAc,KAAK,qBAAqB,EAAE,CAAC;QAC/F,MAAM,IAAI,SAAS,CACjB,4BAA4B,qBAAqB,uCAAuC,QAAQ,CAAC,cAAc,EAAE,CAClH,CAAC;IACJ,CAAC;IACD,OAAO,QAA+B,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,OAAO,GAAwB,EAAE;IACrD,MAAM,iBAAiB,GAAG,OAAO,CAAC,UAAU,IAAI,sBAAsB,CAAC;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,eAAe,EAAE,wBAAwB;QACzC,EAAE,EAAE,OAAO;QACX,cAAc,EAAE,qBAAqB;QACrC,SAAS,EAAE,kBAAkB;QAC7B,YAAY;QACZ,iBAAiB;QACjB,WAAW,CAAC,KAAa;YACvB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC;gBAAE,MAAM,IAAI,UAAU,CAAC,oCAAoC,CAAC,CAAC;YACtG,OAAO,GAAG,CAAC;QACb,CAAC;QACD,eAAe,CAAC,UAAkB;YAChC,OAAO,KAAK,UAAU,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC;QACnD,CAAC;QACD,OAAO,CAAC,GAAW,EAAE,QAA6B,EAAE,MAAM,GAAG,iBAAiB;YAC5E,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,cAAc,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;gBAC3D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC,CAAC;gBACpF,OAAO;oBACL,GAAG,QAAQ;oBACX,SAAS,EAAE,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,QAAQ,KAAK,OAAO,CAAC;wBAC1E,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,KAAK,EAAE,4CAA4C,CAAC;wBACtF,CAAC,CAAC,qBAAqB,CAAC,SAAS,EAAE,QAAQ,CAAC;iBAC/C,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,CAAC,KAAK,YAAY,aAAa,CAAC;oBAAE,MAAM,KAAK,CAAC;gBACnD,OAAO;oBACL,OAAO,EAAE,EAAE;oBACX,UAAU,EAAE,EAAE;oBACd,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAgB,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC;oBAC3G,SAAS,EAAE,qBAAqB,CAAC,KAAK,CAAC,KAAK,EAAE,mDAAmD,CAAC;iBACnG,CAAC;YACJ,CAAC;QACH,CAAC;QACD,gBAAgB,EAAE,qBAAqB;KACxC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,EAAE,GAAG,EAAE,MAAM,iBAAiB,CAAC;AAEtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AAE1F,OAAO,EACL,gCAAgC,EAChC,yBAAyB,EACzB,gCAAgC,GACjC,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,sBAAsB,EACtB,sBAAsB,IAAI,UAAU,EACpC,gBAAgB,EAChB,YAAY,GACb,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/index.ts"],"names":[],"mappings":"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"}
@@ -6,12 +6,20 @@ import { type MySqlDatabase, type MySqlPoolLike } from "./runtime.js";
6
6
  import { type MySqlTypePolicy } from "./type-policy.js";
7
7
  export interface MySql2Options {
8
8
  readonly connectionUri: string | (() => string | Promise<string>);
9
- readonly poolConfig?: Omit<PoolOptions, "uri" | "supportBigNumbers" | "bigNumberStrings" | "decimalNumbers" | "dateStrings" | "jsonStrings" | "typeCast" | "rowsAsArray">;
9
+ readonly poolConfig?: Omit<PoolOptions, "uri" | "supportBigNumbers" | "bigNumberStrings" | "decimalNumbers" | "dateStrings" | "jsonStrings" | "typeCast" | "rowsAsArray" | "maxPreparedStatements" | "multipleStatements">;
10
10
  readonly typePolicy?: MySqlTypePolicy;
11
11
  readonly decimal?: (value: string) => unknown;
12
12
  /** Test or host-injected loader. Applications normally leave this unset. */
13
13
  readonly driverImporter?: () => Promise<typeof import("mysql2/promise")>;
14
14
  readonly observer?: DatabaseObserver;
15
+ readonly compatibilitySnapshot?: MySqlSchemaSnapshot & {
16
+ readonly formatVersion: 2;
17
+ };
18
+ readonly decoderPlanCacheCapacity?: number;
19
+ readonly preparedStatementLimit?: number;
20
+ readonly preparedCardinalityVariantLimit?: number;
21
+ readonly onWarning?: import("./runtime.js").MySqlDatabaseOptions["onWarning"];
22
+ readonly rejectWarnings?: boolean;
15
23
  }
16
24
  export interface MySql2SchemaProviderOptions {
17
25
  readonly connectionUri?: string | (() => string | Promise<string>);
@@ -1 +1 @@
1
- {"version":3,"file":"mysql2.d.ts","sourceRoot":"","sources":["../../../../src/mysql2.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysql2.d.ts","sourceRoot":"","sources":["../../../../src/mysql2.ts"],"names":[],"mappings":"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"}