@neverinfamous/mysql-mcp 2.3.0 → 3.0.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 (347) hide show
  1. package/.dockerignore +1 -0
  2. package/.gitattributes +18 -0
  3. package/.github/workflows/codeql.yml +2 -10
  4. package/.github/workflows/docker-publish.yml +15 -13
  5. package/CHANGELOG.md +287 -1
  6. package/DOCKER_README.md +100 -265
  7. package/Dockerfile +5 -0
  8. package/README.md +124 -59
  9. package/VERSION +1 -1
  10. package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
  11. package/dist/__tests__/mocks/adapter.js +2 -0
  12. package/dist/__tests__/mocks/adapter.js.map +1 -1
  13. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  14. package/dist/adapters/DatabaseAdapter.js +50 -9
  15. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  16. package/dist/adapters/mysql/MySQLAdapter.d.ts +6 -0
  17. package/dist/adapters/mysql/MySQLAdapter.d.ts.map +1 -1
  18. package/dist/adapters/mysql/MySQLAdapter.js +8 -0
  19. package/dist/adapters/mysql/MySQLAdapter.js.map +1 -1
  20. package/dist/adapters/mysql/SchemaManager.js +16 -15
  21. package/dist/adapters/mysql/SchemaManager.js.map +1 -1
  22. package/dist/adapters/mysql/prompts/index.js +10 -20
  23. package/dist/adapters/mysql/prompts/index.js.map +1 -1
  24. package/dist/adapters/mysql/prompts/proxysqlSetup.js +1 -1
  25. package/dist/adapters/mysql/resources/docstore.d.ts.map +1 -1
  26. package/dist/adapters/mysql/resources/docstore.js +10 -7
  27. package/dist/adapters/mysql/resources/docstore.js.map +1 -1
  28. package/dist/adapters/mysql/resources/events.js +11 -8
  29. package/dist/adapters/mysql/resources/events.js.map +1 -1
  30. package/dist/adapters/mysql/resources/indexes.d.ts.map +1 -1
  31. package/dist/adapters/mysql/resources/indexes.js +12 -15
  32. package/dist/adapters/mysql/resources/indexes.js.map +1 -1
  33. package/dist/adapters/mysql/resources/innodb.d.ts.map +1 -1
  34. package/dist/adapters/mysql/resources/innodb.js +20 -17
  35. package/dist/adapters/mysql/resources/innodb.js.map +1 -1
  36. package/dist/adapters/mysql/resources/locks.d.ts.map +1 -1
  37. package/dist/adapters/mysql/resources/locks.js +9 -6
  38. package/dist/adapters/mysql/resources/locks.js.map +1 -1
  39. package/dist/adapters/mysql/resources/performance.d.ts.map +1 -1
  40. package/dist/adapters/mysql/resources/performance.js +15 -15
  41. package/dist/adapters/mysql/resources/performance.js.map +1 -1
  42. package/dist/adapters/mysql/resources/spatial.d.ts.map +1 -1
  43. package/dist/adapters/mysql/resources/spatial.js +9 -6
  44. package/dist/adapters/mysql/resources/spatial.js.map +1 -1
  45. package/dist/adapters/mysql/resources/sysschema.d.ts.map +1 -1
  46. package/dist/adapters/mysql/resources/sysschema.js +12 -9
  47. package/dist/adapters/mysql/resources/sysschema.js.map +1 -1
  48. package/dist/adapters/mysql/tools/admin/backup.d.ts.map +1 -1
  49. package/dist/adapters/mysql/tools/admin/backup.js +170 -121
  50. package/dist/adapters/mysql/tools/admin/backup.js.map +1 -1
  51. package/dist/adapters/mysql/tools/admin/maintenance.d.ts.map +1 -1
  52. package/dist/adapters/mysql/tools/admin/maintenance.js +106 -57
  53. package/dist/adapters/mysql/tools/admin/maintenance.js.map +1 -1
  54. package/dist/adapters/mysql/tools/admin/monitoring.d.ts.map +1 -1
  55. package/dist/adapters/mysql/tools/admin/monitoring.js +183 -101
  56. package/dist/adapters/mysql/tools/admin/monitoring.js.map +1 -1
  57. package/dist/adapters/mysql/tools/cluster/group-replication.d.ts.map +1 -1
  58. package/dist/adapters/mysql/tools/cluster/group-replication.js +164 -120
  59. package/dist/adapters/mysql/tools/cluster/group-replication.js.map +1 -1
  60. package/dist/adapters/mysql/tools/cluster/innodb-cluster.d.ts.map +1 -1
  61. package/dist/adapters/mysql/tools/cluster/innodb-cluster.js +212 -145
  62. package/dist/adapters/mysql/tools/cluster/innodb-cluster.js.map +1 -1
  63. package/dist/adapters/mysql/tools/codemode/index.d.ts.map +1 -1
  64. package/dist/adapters/mysql/tools/codemode/index.js +6 -4
  65. package/dist/adapters/mysql/tools/codemode/index.js.map +1 -1
  66. package/dist/adapters/mysql/tools/core.d.ts.map +1 -1
  67. package/dist/adapters/mysql/tools/core.js +152 -29
  68. package/dist/adapters/mysql/tools/core.js.map +1 -1
  69. package/dist/adapters/mysql/tools/docstore.d.ts.map +1 -1
  70. package/dist/adapters/mysql/tools/docstore.js +340 -163
  71. package/dist/adapters/mysql/tools/docstore.js.map +1 -1
  72. package/dist/adapters/mysql/tools/events.d.ts.map +1 -1
  73. package/dist/adapters/mysql/tools/events.js +284 -198
  74. package/dist/adapters/mysql/tools/events.js.map +1 -1
  75. package/dist/adapters/mysql/tools/json/core.d.ts.map +1 -1
  76. package/dist/adapters/mysql/tools/json/core.js +11 -39
  77. package/dist/adapters/mysql/tools/json/core.js.map +1 -1
  78. package/dist/adapters/mysql/tools/json/enhanced.d.ts.map +1 -1
  79. package/dist/adapters/mysql/tools/json/enhanced.js +15 -33
  80. package/dist/adapters/mysql/tools/json/enhanced.js.map +1 -1
  81. package/dist/adapters/mysql/tools/json/helpers.d.ts.map +1 -1
  82. package/dist/adapters/mysql/tools/json/helpers.js +13 -24
  83. package/dist/adapters/mysql/tools/json/helpers.js.map +1 -1
  84. package/dist/adapters/mysql/tools/partitioning.js +3 -0
  85. package/dist/adapters/mysql/tools/partitioning.js.map +1 -1
  86. package/dist/adapters/mysql/tools/performance/analysis.d.ts.map +1 -1
  87. package/dist/adapters/mysql/tools/performance/analysis.js +89 -60
  88. package/dist/adapters/mysql/tools/performance/analysis.js.map +1 -1
  89. package/dist/adapters/mysql/tools/performance/optimization.d.ts.map +1 -1
  90. package/dist/adapters/mysql/tools/performance/optimization.js +151 -127
  91. package/dist/adapters/mysql/tools/performance/optimization.js.map +1 -1
  92. package/dist/adapters/mysql/tools/proxysql.d.ts +1 -1
  93. package/dist/adapters/mysql/tools/proxysql.d.ts.map +1 -1
  94. package/dist/adapters/mysql/tools/proxysql.js +289 -176
  95. package/dist/adapters/mysql/tools/proxysql.js.map +1 -1
  96. package/dist/adapters/mysql/tools/replication.js +75 -49
  97. package/dist/adapters/mysql/tools/replication.js.map +1 -1
  98. package/dist/adapters/mysql/tools/roles.d.ts.map +1 -1
  99. package/dist/adapters/mysql/tools/roles.js +224 -182
  100. package/dist/adapters/mysql/tools/roles.js.map +1 -1
  101. package/dist/adapters/mysql/tools/router.d.ts.map +1 -1
  102. package/dist/adapters/mysql/tools/router.js +168 -67
  103. package/dist/adapters/mysql/tools/router.js.map +1 -1
  104. package/dist/adapters/mysql/tools/schema/constraints.d.ts.map +1 -1
  105. package/dist/adapters/mysql/tools/schema/constraints.js +21 -3
  106. package/dist/adapters/mysql/tools/schema/constraints.js.map +1 -1
  107. package/dist/adapters/mysql/tools/schema/management.d.ts.map +1 -1
  108. package/dist/adapters/mysql/tools/schema/management.js +61 -14
  109. package/dist/adapters/mysql/tools/schema/management.js.map +1 -1
  110. package/dist/adapters/mysql/tools/schema/routines.d.ts.map +1 -1
  111. package/dist/adapters/mysql/tools/schema/routines.js +27 -4
  112. package/dist/adapters/mysql/tools/schema/routines.js.map +1 -1
  113. package/dist/adapters/mysql/tools/schema/scheduled_events.d.ts.map +1 -1
  114. package/dist/adapters/mysql/tools/schema/scheduled_events.js +24 -3
  115. package/dist/adapters/mysql/tools/schema/scheduled_events.js.map +1 -1
  116. package/dist/adapters/mysql/tools/schema/triggers.d.ts.map +1 -1
  117. package/dist/adapters/mysql/tools/schema/triggers.js +23 -2
  118. package/dist/adapters/mysql/tools/schema/triggers.js.map +1 -1
  119. package/dist/adapters/mysql/tools/schema/views.d.ts.map +1 -1
  120. package/dist/adapters/mysql/tools/schema/views.js +47 -7
  121. package/dist/adapters/mysql/tools/schema/views.js.map +1 -1
  122. package/dist/adapters/mysql/tools/security/audit.d.ts.map +1 -1
  123. package/dist/adapters/mysql/tools/security/audit.js +102 -34
  124. package/dist/adapters/mysql/tools/security/audit.js.map +1 -1
  125. package/dist/adapters/mysql/tools/security/data-protection.d.ts.map +1 -1
  126. package/dist/adapters/mysql/tools/security/data-protection.js +264 -205
  127. package/dist/adapters/mysql/tools/security/data-protection.js.map +1 -1
  128. package/dist/adapters/mysql/tools/security/encryption.d.ts.map +1 -1
  129. package/dist/adapters/mysql/tools/security/encryption.js +137 -104
  130. package/dist/adapters/mysql/tools/security/encryption.js.map +1 -1
  131. package/dist/adapters/mysql/tools/shell/backup.d.ts.map +1 -1
  132. package/dist/adapters/mysql/tools/shell/backup.js +71 -59
  133. package/dist/adapters/mysql/tools/shell/backup.js.map +1 -1
  134. package/dist/adapters/mysql/tools/shell/restore.d.ts.map +1 -1
  135. package/dist/adapters/mysql/tools/shell/restore.js +61 -47
  136. package/dist/adapters/mysql/tools/shell/restore.js.map +1 -1
  137. package/dist/adapters/mysql/tools/spatial/geometry.d.ts.map +1 -1
  138. package/dist/adapters/mysql/tools/spatial/geometry.js +19 -5
  139. package/dist/adapters/mysql/tools/spatial/geometry.js.map +1 -1
  140. package/dist/adapters/mysql/tools/spatial/operations.d.ts.map +1 -1
  141. package/dist/adapters/mysql/tools/spatial/operations.js +42 -17
  142. package/dist/adapters/mysql/tools/spatial/operations.js.map +1 -1
  143. package/dist/adapters/mysql/tools/spatial/queries.d.ts.map +1 -1
  144. package/dist/adapters/mysql/tools/spatial/queries.js +109 -57
  145. package/dist/adapters/mysql/tools/spatial/queries.js.map +1 -1
  146. package/dist/adapters/mysql/tools/spatial/setup.d.ts.map +1 -1
  147. package/dist/adapters/mysql/tools/spatial/setup.js +103 -50
  148. package/dist/adapters/mysql/tools/spatial/setup.js.map +1 -1
  149. package/dist/adapters/mysql/tools/stats/comparative.d.ts.map +1 -1
  150. package/dist/adapters/mysql/tools/stats/comparative.js +128 -79
  151. package/dist/adapters/mysql/tools/stats/comparative.js.map +1 -1
  152. package/dist/adapters/mysql/tools/stats/descriptive.d.ts.map +1 -1
  153. package/dist/adapters/mysql/tools/stats/descriptive.js +174 -102
  154. package/dist/adapters/mysql/tools/stats/descriptive.js.map +1 -1
  155. package/dist/adapters/mysql/tools/sysschema/activity.d.ts.map +1 -1
  156. package/dist/adapters/mysql/tools/sysschema/activity.js +50 -25
  157. package/dist/adapters/mysql/tools/sysschema/activity.js.map +1 -1
  158. package/dist/adapters/mysql/tools/sysschema/performance.d.ts.map +1 -1
  159. package/dist/adapters/mysql/tools/sysschema/performance.js +121 -66
  160. package/dist/adapters/mysql/tools/sysschema/performance.js.map +1 -1
  161. package/dist/adapters/mysql/tools/sysschema/resources.d.ts.map +1 -1
  162. package/dist/adapters/mysql/tools/sysschema/resources.js +101 -64
  163. package/dist/adapters/mysql/tools/sysschema/resources.js.map +1 -1
  164. package/dist/adapters/mysql/tools/text/fulltext.d.ts.map +1 -1
  165. package/dist/adapters/mysql/tools/text/fulltext.js +18 -32
  166. package/dist/adapters/mysql/tools/text/fulltext.js.map +1 -1
  167. package/dist/adapters/mysql/tools/transactions.d.ts.map +1 -1
  168. package/dist/adapters/mysql/tools/transactions.js +48 -23
  169. package/dist/adapters/mysql/tools/transactions.js.map +1 -1
  170. package/dist/adapters/mysql/types/proxysql-types.d.ts +15 -0
  171. package/dist/adapters/mysql/types/proxysql-types.d.ts.map +1 -1
  172. package/dist/adapters/mysql/types/proxysql-types.js +33 -1
  173. package/dist/adapters/mysql/types/proxysql-types.js.map +1 -1
  174. package/dist/adapters/mysql/types/router-types.d.ts +1 -1
  175. package/dist/adapters/mysql/types/router-types.js +1 -1
  176. package/dist/adapters/mysql/types/router-types.js.map +1 -1
  177. package/dist/adapters/mysql/types/shell-types.js +2 -2
  178. package/dist/adapters/mysql/types/shell-types.js.map +1 -1
  179. package/dist/adapters/mysql/types.d.ts +485 -21
  180. package/dist/adapters/mysql/types.d.ts.map +1 -1
  181. package/dist/adapters/mysql/types.js +546 -19
  182. package/dist/adapters/mysql/types.js.map +1 -1
  183. package/dist/auth/scopes.js +1 -1
  184. package/dist/auth/scopes.js.map +1 -1
  185. package/dist/codemode/api.d.ts +3 -2
  186. package/dist/codemode/api.d.ts.map +1 -1
  187. package/dist/codemode/api.js +80 -5
  188. package/dist/codemode/api.js.map +1 -1
  189. package/dist/codemode/sandbox-factory.js +1 -1
  190. package/dist/codemode/sandbox-factory.js.map +1 -1
  191. package/dist/codemode/types.d.ts +26 -0
  192. package/dist/codemode/types.d.ts.map +1 -1
  193. package/dist/codemode/types.js +2 -0
  194. package/dist/codemode/types.js.map +1 -1
  195. package/dist/codemode/worker-sandbox.d.ts +4 -2
  196. package/dist/codemode/worker-sandbox.d.ts.map +1 -1
  197. package/dist/codemode/worker-sandbox.js +66 -7
  198. package/dist/codemode/worker-sandbox.js.map +1 -1
  199. package/dist/codemode/worker-script.d.ts +3 -0
  200. package/dist/codemode/worker-script.d.ts.map +1 -1
  201. package/dist/codemode/worker-script.js +128 -75
  202. package/dist/codemode/worker-script.js.map +1 -1
  203. package/dist/constants/ServerInstructions.d.ts +1 -1
  204. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  205. package/dist/constants/ServerInstructions.js +37 -31
  206. package/dist/constants/ServerInstructions.js.map +1 -1
  207. package/dist/filtering/ToolConstants.d.ts +1 -1
  208. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  209. package/dist/filtering/ToolConstants.js +1 -2
  210. package/dist/filtering/ToolConstants.js.map +1 -1
  211. package/dist/pool/ConnectionPool.d.ts.map +1 -1
  212. package/dist/pool/ConnectionPool.js.map +1 -1
  213. package/dist/transports/http.d.ts.map +1 -1
  214. package/dist/transports/http.js +6 -0
  215. package/dist/transports/http.js.map +1 -1
  216. package/dist/utils/validators.d.ts +1 -1
  217. package/dist/utils/validators.d.ts.map +1 -1
  218. package/dist/utils/validators.js.map +1 -1
  219. package/package.json +4 -4
  220. package/releases/v2.3.0-release-notes.md +20 -20
  221. package/releases/v2.3.1-release-notes.md +34 -0
  222. package/releases/v3.0.0-release-notes.md +81 -0
  223. package/src/__tests__/mocks/adapter.ts +3 -0
  224. package/src/__tests__/perf.test.ts +6 -6
  225. package/src/adapters/DatabaseAdapter.ts +58 -9
  226. package/src/adapters/__tests__/DatabaseAdapter.test.ts +89 -8
  227. package/src/adapters/mysql/MySQLAdapter.ts +17 -2
  228. package/src/adapters/mysql/SchemaManager.ts +21 -21
  229. package/src/adapters/mysql/__tests__/MySQLAdapter.test.ts +1 -1
  230. package/src/adapters/mysql/prompts/index.ts +12 -22
  231. package/src/adapters/mysql/prompts/proxysqlSetup.ts +1 -1
  232. package/src/adapters/mysql/resources/docstore.ts +13 -10
  233. package/src/adapters/mysql/resources/events.ts +12 -12
  234. package/src/adapters/mysql/resources/indexes.ts +17 -19
  235. package/src/adapters/mysql/resources/innodb.ts +23 -22
  236. package/src/adapters/mysql/resources/locks.ts +9 -7
  237. package/src/adapters/mysql/resources/performance.ts +23 -18
  238. package/src/adapters/mysql/resources/spatial.ts +9 -7
  239. package/src/adapters/mysql/resources/sysschema.ts +12 -11
  240. package/src/adapters/mysql/tools/__tests__/core.test.ts +126 -55
  241. package/src/adapters/mysql/tools/__tests__/docstore.test.ts +459 -88
  242. package/src/adapters/mysql/tools/__tests__/events.test.ts +281 -103
  243. package/src/adapters/mysql/tools/__tests__/proxysql.test.ts +128 -28
  244. package/src/adapters/mysql/tools/__tests__/replication.test.ts +48 -2
  245. package/src/adapters/mysql/tools/__tests__/roles.test.ts +15 -18
  246. package/src/adapters/mysql/tools/__tests__/router.test.ts +32 -5
  247. package/src/adapters/mysql/tools/__tests__/security.test.ts +126 -2
  248. package/src/adapters/mysql/tools/__tests__/security_injection.test.ts +84 -76
  249. package/src/adapters/mysql/tools/__tests__/security_integration.test.ts +47 -50
  250. package/src/adapters/mysql/tools/__tests__/spatial.test.ts +11 -10
  251. package/src/adapters/mysql/tools/__tests__/spatial_handler.test.ts +54 -38
  252. package/src/adapters/mysql/tools/__tests__/stats.test.ts +285 -152
  253. package/src/adapters/mysql/tools/__tests__/transactions.test.ts +13 -13
  254. package/src/adapters/mysql/tools/admin/__tests__/backup.test.ts +171 -25
  255. package/src/adapters/mysql/tools/admin/__tests__/maintenance.test.ts +240 -4
  256. package/src/adapters/mysql/tools/admin/__tests__/monitoring-summary.test.ts +274 -0
  257. package/src/adapters/mysql/tools/admin/__tests__/monitoring.test.ts +94 -5
  258. package/src/adapters/mysql/tools/admin/backup.ts +193 -143
  259. package/src/adapters/mysql/tools/admin/maintenance.ts +118 -69
  260. package/src/adapters/mysql/tools/admin/monitoring.ts +201 -125
  261. package/src/adapters/mysql/tools/cluster/__tests__/group-replication.test.ts +69 -0
  262. package/src/adapters/mysql/tools/cluster/__tests__/innodb-cluster.test.ts +141 -0
  263. package/src/adapters/mysql/tools/cluster/group-replication.ts +172 -132
  264. package/src/adapters/mysql/tools/cluster/innodb-cluster.ts +231 -157
  265. package/src/adapters/mysql/tools/codemode/__tests__/codemode-tool.test.ts +227 -0
  266. package/src/adapters/mysql/tools/codemode/index.ts +5 -3
  267. package/src/adapters/mysql/tools/core.ts +152 -38
  268. package/src/adapters/mysql/tools/docstore.ts +422 -205
  269. package/src/adapters/mysql/tools/events.ts +334 -233
  270. package/src/adapters/mysql/tools/json/__tests__/core.test.ts +20 -0
  271. package/src/adapters/mysql/tools/json/__tests__/enhanced.test.ts +82 -50
  272. package/src/adapters/mysql/tools/json/__tests__/helpers.test.ts +42 -3
  273. package/src/adapters/mysql/tools/json/core.ts +21 -42
  274. package/src/adapters/mysql/tools/json/enhanced.ts +22 -37
  275. package/src/adapters/mysql/tools/json/helpers.ts +21 -25
  276. package/src/adapters/mysql/tools/partitioning.ts +3 -0
  277. package/src/adapters/mysql/tools/performance/__tests__/analysis.test.ts +98 -5
  278. package/src/adapters/mysql/tools/performance/__tests__/optimization-coverage.test.ts +515 -0
  279. package/src/adapters/mysql/tools/performance/__tests__/optimization.test.ts +187 -0
  280. package/src/adapters/mysql/tools/performance/analysis.ts +95 -69
  281. package/src/adapters/mysql/tools/performance/optimization.ts +182 -153
  282. package/src/adapters/mysql/tools/proxysql.ts +314 -209
  283. package/src/adapters/mysql/tools/replication.ts +84 -57
  284. package/src/adapters/mysql/tools/roles.ts +274 -226
  285. package/src/adapters/mysql/tools/router.ts +181 -85
  286. package/src/adapters/mysql/tools/schema/__tests__/constraints.test.ts +13 -0
  287. package/src/adapters/mysql/tools/schema/__tests__/management.test.ts +60 -25
  288. package/src/adapters/mysql/tools/schema/__tests__/scheduled_events.test.ts +11 -0
  289. package/src/adapters/mysql/tools/schema/__tests__/triggers.test.ts +25 -4
  290. package/src/adapters/mysql/tools/schema/__tests__/views.test.ts +46 -14
  291. package/src/adapters/mysql/tools/schema/constraints.ts +22 -3
  292. package/src/adapters/mysql/tools/schema/management.ts +60 -15
  293. package/src/adapters/mysql/tools/schema/routines.ts +26 -4
  294. package/src/adapters/mysql/tools/schema/scheduled_events.ts +25 -3
  295. package/src/adapters/mysql/tools/schema/triggers.ts +27 -2
  296. package/src/adapters/mysql/tools/schema/views.ts +46 -8
  297. package/src/adapters/mysql/tools/security/__tests__/audit.test.ts +90 -4
  298. package/src/adapters/mysql/tools/security/audit.ts +113 -39
  299. package/src/adapters/mysql/tools/security/data-protection.ts +293 -233
  300. package/src/adapters/mysql/tools/security/encryption.ts +172 -139
  301. package/src/adapters/mysql/tools/shell/__tests__/backup.test.ts +29 -0
  302. package/src/adapters/mysql/tools/shell/backup.ts +90 -73
  303. package/src/adapters/mysql/tools/shell/restore.ts +62 -48
  304. package/src/adapters/mysql/tools/spatial/__tests__/operations.test.ts +22 -14
  305. package/src/adapters/mysql/tools/spatial/__tests__/queries.test.ts +65 -51
  306. package/src/adapters/mysql/tools/spatial/geometry.ts +23 -7
  307. package/src/adapters/mysql/tools/spatial/operations.ts +60 -31
  308. package/src/adapters/mysql/tools/spatial/queries.ts +142 -65
  309. package/src/adapters/mysql/tools/spatial/setup.ts +121 -55
  310. package/src/adapters/mysql/tools/stats/__tests__/comparative.test.ts +12 -10
  311. package/src/adapters/mysql/tools/stats/comparative.ts +150 -98
  312. package/src/adapters/mysql/tools/stats/descriptive.ts +204 -127
  313. package/src/adapters/mysql/tools/sysschema/__tests__/error-paths.test.ts +222 -0
  314. package/src/adapters/mysql/tools/sysschema/__tests__/performance.test.ts +45 -0
  315. package/src/adapters/mysql/tools/sysschema/__tests__/resources.test.ts +6 -3
  316. package/src/adapters/mysql/tools/sysschema/activity.ts +52 -27
  317. package/src/adapters/mysql/tools/sysschema/performance.ts +132 -68
  318. package/src/adapters/mysql/tools/sysschema/resources.ts +105 -67
  319. package/src/adapters/mysql/tools/text/__tests__/fulltext.test.ts +45 -17
  320. package/src/adapters/mysql/tools/text/fulltext.ts +27 -38
  321. package/src/adapters/mysql/tools/transactions.ts +49 -24
  322. package/src/adapters/mysql/types/proxysql-types.ts +38 -1
  323. package/src/adapters/mysql/types/router-types.ts +1 -1
  324. package/src/adapters/mysql/types/shell-types.ts +2 -2
  325. package/src/adapters/mysql/types.ts +632 -19
  326. package/src/auth/__tests__/scopes.test.ts +2 -2
  327. package/src/auth/scopes.ts +1 -1
  328. package/src/codemode/__tests__/api.test.ts +417 -0
  329. package/src/codemode/__tests__/sandbox-factory.test.ts +158 -0
  330. package/src/codemode/__tests__/sandbox.test.ts +301 -0
  331. package/src/codemode/__tests__/security.test.ts +368 -0
  332. package/src/codemode/__tests__/worker-sandbox.test.ts +179 -0
  333. package/src/codemode/__tests__/worker-script.test.ts +226 -0
  334. package/src/codemode/api.ts +89 -5
  335. package/src/codemode/sandbox-factory.ts +1 -1
  336. package/src/codemode/types.ts +34 -0
  337. package/src/codemode/worker-sandbox.ts +74 -7
  338. package/src/codemode/worker-script.ts +157 -86
  339. package/src/constants/ServerInstructions.ts +37 -31
  340. package/src/filtering/ToolConstants.ts +1 -2
  341. package/src/filtering/__tests__/ToolFilter.test.ts +9 -9
  342. package/src/pool/ConnectionPool.ts +4 -1
  343. package/src/transports/__tests__/http.test.ts +15 -3
  344. package/src/transports/http.ts +12 -0
  345. package/src/utils/validators.ts +2 -1
  346. package/vitest.config.ts +3 -1
  347. package/CODE_MODE.md +0 -245
@@ -161,8 +161,9 @@ export class SchemaManager {
161
161
  ? "TABLE_SCHEMA = ?"
162
162
  : "TABLE_SCHEMA = DATABASE()";
163
163
  const params = schemaName ? [schemaName, shortTableName] : [shortTableName];
164
- // Get column information
165
- const columnsResult = await this.executor.executeQuery(`
164
+ // Performance optimization: run column and table queries in parallel
165
+ const [columnsResult, tableResult] = await Promise.all([
166
+ this.executor.executeQuery(`
166
167
  SELECT
167
168
  COLUMN_NAME as name,
168
169
  DATA_TYPE as type,
@@ -177,7 +178,19 @@ export class SchemaManager {
177
178
  WHERE ${schemaClause}
178
179
  AND TABLE_NAME = ?
179
180
  ORDER BY ORDINAL_POSITION
180
- `, params);
181
+ `, params),
182
+ this.executor.executeQuery(`
183
+ SELECT
184
+ TABLE_TYPE as type,
185
+ ENGINE as engine,
186
+ TABLE_ROWS as rowCount,
187
+ TABLE_COLLATION as collation,
188
+ TABLE_COMMENT as comment
189
+ FROM information_schema.TABLES
190
+ WHERE ${schemaClause}
191
+ AND TABLE_NAME = ?
192
+ `, params),
193
+ ]);
181
194
  const columns = (columnsResult.rows ?? []).map((row) => ({
182
195
  name: row["name"],
183
196
  type: row["type"],
@@ -189,18 +202,6 @@ export class SchemaManager {
189
202
  collation: row["collation"],
190
203
  comment: row["comment"],
191
204
  }));
192
- // Get table info
193
- const tableResult = await this.executor.executeQuery(`
194
- SELECT
195
- TABLE_TYPE as type,
196
- ENGINE as engine,
197
- TABLE_ROWS as rowCount,
198
- TABLE_COLLATION as collation,
199
- TABLE_COMMENT as comment
200
- FROM information_schema.TABLES
201
- WHERE ${schemaClause}
202
- AND TABLE_NAME = ?
203
- `, params);
204
205
  const tableRow = tableResult.rows?.[0];
205
206
  const result = {
206
207
  name: tableName,
@@ -1 +1 @@
1
- {"version":3,"file":"SchemaManager.js","sourceRoot":"","sources":["../../../src/adapters/mysql/SchemaManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SchemaManager.js","sourceRoot":"","sources":["../../../src/adapters/mysql/SchemaManager.ts"],"names":[],"mappings":"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"}
@@ -222,31 +222,21 @@ function createSchemaDesignPrompt() {
222
222
  ],
223
223
  handler: (args, _context) => {
224
224
  return Promise.resolve(`
225
- You are a MySQL database architect. Design a schema for: ${args["entity"]}
225
+ Design a MySQL schema for: ${args["entity"]}
226
226
 
227
227
  ${args["requirements"] ? `Requirements: ${args["requirements"]}` : ""}
228
228
 
229
- Please provide:
230
- 1. CREATE TABLE statement with:
231
- - Appropriate data types
232
- - Primary key
233
- - Indexes for common queries
234
- - Foreign key relationships if applicable
235
- - Engine: InnoDB (for transactions)
236
- - Charset: utf8mb4 (for full Unicode support)
237
-
238
- 2. Explanation of design choices
239
-
240
- 3. Sample INSERT statements
229
+ Provide a CREATE TABLE statement with:
230
+ - Appropriate data types
231
+ - Primary key
232
+ - Indexes for common queries
233
+ - Foreign key relationships if applicable
234
+ - Engine: InnoDB (for transactions)
235
+ - Charset: utf8mb4 (for full Unicode support)
241
236
 
242
- 4. Common SELECT queries with indexes
237
+ Follow these conventions: underscore_case columns, created_at/updated_at timestamps, UNSIGNED for positive integers, JSON columns where appropriate.
243
238
 
244
- Best practices to follow:
245
- - Use underscore_case for column names
246
- - Include created_at and updated_at timestamps
247
- - Use UNSIGNED for positive-only integers
248
- - Consider JSON columns for flexible data
249
- - Add appropriate indexes based on query patterns
239
+ Briefly explain key design decisions.
250
240
  `);
251
241
  },
252
242
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/prompts/index.ts"],"names":[],"mappings":"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"}
@@ -75,7 +75,7 @@ PROXYSQL_PASSWORD=admin
75
75
  Use ProxySQL tools to verify:
76
76
  - \`proxysql_status\` - Check ProxySQL is running
77
77
  - \`proxysql_servers\` - List configured servers
78
- - \`proxysql_hostgroups\` - View hostgroup configuration
78
+ - \`proxysql_connection_pool\` - View connection pool stats (filterable by hostgroup_id)
79
79
  - \`proxysql_query_rules\` - Review routing rules
80
80
  - \`proxysql_query_digest\` - Analyze query patterns
81
81
 
@@ -1 +1 @@
1
- {"version":3,"file":"docstore.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/docstore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CA8DpB"}
1
+ {"version":3,"file":"docstore.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/docstore.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CAiEpB"}
@@ -11,12 +11,12 @@ export function createDocstoreResource(adapter) {
11
11
  },
12
12
  handler: async (_uri, _context) => {
13
13
  try {
14
- // Check if X Plugin is enabled
15
- const pluginResult = await adapter.executeQuery("SELECT PLUGIN_STATUS FROM information_schema.PLUGINS WHERE PLUGIN_NAME = 'mysqlx'");
16
- const pluginRow = pluginResult.rows?.[0];
17
- const xPluginEnabled = pluginRow?.["PLUGIN_STATUS"] === "ACTIVE";
18
- // Get collections (tables with _id column and doc JSON column)
19
- const collectionsResult = await adapter.executeQuery(`
14
+ // Performance optimization: run both independent queries in parallel
15
+ const [pluginResult, collectionsResult] = await Promise.all([
16
+ // Check if X Plugin is enabled
17
+ adapter.executeQuery("SELECT PLUGIN_STATUS FROM information_schema.PLUGINS WHERE PLUGIN_NAME = 'mysqlx'"),
18
+ // Get collections (tables with _id column and doc JSON column)
19
+ adapter.executeQuery(`
20
20
  SELECT
21
21
  t.TABLE_NAME as collection_name,
22
22
  t.TABLE_ROWS as row_count,
@@ -37,7 +37,10 @@ export function createDocstoreResource(adapter) {
37
37
  AND c2.COLUMN_NAME = '_id'
38
38
  )
39
39
  ORDER BY t.TABLE_NAME
40
- `);
40
+ `),
41
+ ]);
42
+ const pluginRow = pluginResult.rows?.[0];
43
+ const xPluginEnabled = pluginRow?.["PLUGIN_STATUS"] === "ACTIVE";
41
44
  return {
42
45
  xPluginEnabled,
43
46
  collectionCount: collectionsResult.rows?.length ?? 0,
@@ -1 +1 @@
1
- {"version":3,"file":"docstore.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/docstore.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,sBAAsB,CACpC,OAAqB;IAErB,OAAO;QACL,GAAG,EAAE,kBAAkB;QACvB,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;YAC/B,QAAQ,EAAE,GAAG;SACd;QACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,QAAwB,EAAE,EAAE;YACxD,IAAI,CAAC;gBACH,+BAA+B;gBAC/B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAC7C,mFAAmF,CACpF,CAAC;gBACF,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,cAAc,GAAG,SAAS,EAAE,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC;gBAEjE,+DAA+D;gBAC/D,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;iBAqB5C,CAAC,CAAC;gBAEX,OAAO;oBACL,cAAc;oBACd,eAAe,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;oBACpD,WAAW,EAAE,iBAAiB,CAAC,IAAI,IAAI,EAAE;oBACzC,IAAI,EAAE,cAAc;wBAClB,CAAC,CAAC,yDAAyD;wBAC3D,CAAC,CAAC,4DAA4D;iBACjE,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,cAAc,EAAE,KAAK;oBACrB,eAAe,EAAE,CAAC;oBAClB,WAAW,EAAE,EAAE;oBACf,KAAK,EAAE,+CAA+C;iBACvD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"docstore.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/docstore.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,sBAAsB,CACpC,OAAqB;IAErB,OAAO;QACL,GAAG,EAAE,kBAAkB;QACvB,IAAI,EAAE,4BAA4B;QAClC,KAAK,EAAE,sBAAsB;QAC7B,WAAW,EAAE,uDAAuD;QACpE,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;YAC/B,QAAQ,EAAE,GAAG;SACd;QACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,QAAwB,EAAE,EAAE;YACxD,IAAI,CAAC;gBACH,qEAAqE;gBACrE,MAAM,CAAC,YAAY,EAAE,iBAAiB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC1D,+BAA+B;oBAC/B,OAAO,CAAC,YAAY,CAClB,mFAAmF,CACpF;oBACD,+DAA+D;oBAC/D,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;;;;;;;;;;iBAqBd,CAAC;iBACT,CAAC,CAAC;gBAEH,MAAM,SAAS,GAAG,YAAY,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACzC,MAAM,cAAc,GAAG,SAAS,EAAE,CAAC,eAAe,CAAC,KAAK,QAAQ,CAAC;gBAEjE,OAAO;oBACL,cAAc;oBACd,eAAe,EAAE,iBAAiB,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;oBACpD,WAAW,EAAE,iBAAiB,CAAC,IAAI,IAAI,EAAE;oBACzC,IAAI,EAAE,cAAc;wBAClB,CAAC,CAAC,yDAAyD;wBAC3D,CAAC,CAAC,4DAA4D;iBACjE,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,cAAc,EAAE,KAAK;oBACrB,eAAe,EAAE,CAAC;oBAClB,WAAW,EAAE,EAAE;oBACf,KAAK,EAAE,+CAA+C;iBACvD,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -10,13 +10,12 @@ export function createEventsResource(adapter) {
10
10
  priority: 0.6,
11
11
  },
12
12
  handler: async (_uri, _context) => {
13
- // Get scheduler status
14
- const schedulerResult = await adapter.executeQuery("SHOW VARIABLES LIKE 'event_scheduler'");
15
- const schedulerRow = schedulerResult.rows?.[0];
16
- const schedulerVal = schedulerRow?.["Value"];
17
- const schedulerStatus = typeof schedulerVal === "string" ? schedulerVal : "OFF";
18
- // Get all events
19
- const eventsResult = await adapter.executeQuery(`
13
+ // Performance optimization: run both independent queries in parallel
14
+ const [schedulerResult, eventsResult] = await Promise.all([
15
+ // Get scheduler status
16
+ adapter.executeQuery("SHOW VARIABLES LIKE 'event_scheduler'"),
17
+ // Get all events
18
+ adapter.executeQuery(`
20
19
  SELECT
21
20
  EVENT_SCHEMA as schema_name,
22
21
  EVENT_NAME as name,
@@ -28,7 +27,11 @@ export function createEventsResource(adapter) {
28
27
  LAST_EXECUTED as last_executed
29
28
  FROM information_schema.EVENTS
30
29
  ORDER BY EVENT_SCHEMA, EVENT_NAME
31
- `);
30
+ `),
31
+ ]);
32
+ const schedulerRow = schedulerResult.rows?.[0];
33
+ const schedulerVal = schedulerRow?.["Value"];
34
+ const schedulerStatus = typeof schedulerVal === "string" ? schedulerVal : "OFF";
32
35
  return {
33
36
  schedulerEnabled: schedulerStatus === "ON",
34
37
  schedulerStatus,
@@ -1 +1 @@
1
- {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/events.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,oBAAoB,CAClC,OAAqB;IAErB,OAAO;QACL,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,sDAAsD;QACnE,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;YAC/B,QAAQ,EAAE,GAAG;SACd;QACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,QAAwB,EAAE,EAAE;YACxD,uBAAuB;YACvB,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,YAAY,CAChD,uCAAuC,CACxC,CAAC;YACF,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,eAAe,GACnB,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;YAE1D,iBAAiB;YACjB,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;aAYzC,CAAC,CAAC;YAET,OAAO;gBACL,gBAAgB,EAAE,eAAe,KAAK,IAAI;gBAC1C,eAAe;gBACf,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;gBAC1C,MAAM,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE;aAChC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/events.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,oBAAoB,CAClC,OAAqB;IAErB,OAAO;QACL,GAAG,EAAE,gBAAgB;QACrB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EAAE,sDAAsD;QACnE,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;YAC/B,QAAQ,EAAE,GAAG;SACd;QACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,QAAwB,EAAE,EAAE;YACxD,qEAAqE;YACrE,MAAM,CAAC,eAAe,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACxD,uBAAuB;gBACvB,OAAO,CAAC,YAAY,CAAC,uCAAuC,CAAC;gBAC7D,iBAAiB;gBACjB,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;aAYhB,CAAC;aACP,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC/C,MAAM,YAAY,GAAG,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC;YAC7C,MAAM,eAAe,GACnB,OAAO,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC;YAE1D,OAAO;gBACL,gBAAgB,EAAE,eAAe,KAAK,IAAI;gBAC1C,eAAe;gBACf,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;gBAC1C,MAAM,EAAE,YAAY,CAAC,IAAI,IAAI,EAAE;aAChC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/indexes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CAmGpB"}
1
+ {"version":3,"file":"indexes.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/indexes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CAiGpB"}
@@ -16,7 +16,7 @@ export function createIndexesResource(adapter) {
16
16
  if (!database) {
17
17
  return { error: "No database selected" };
18
18
  }
19
- // Get index statistics
19
+ // Get index statistics (required)
20
20
  const indexResult = await adapter.executeQuery(`
21
21
  SELECT
22
22
  TABLE_NAME as table_name,
@@ -30,10 +30,13 @@ export function createIndexesResource(adapter) {
30
30
  WHERE TABLE_SCHEMA = ?
31
31
  ORDER BY TABLE_NAME, INDEX_NAME, SEQ_IN_INDEX
32
32
  `, [database]);
33
- // Try to get index usage from performance_schema if available
33
+ // Performance optimization: run unused + duplicate queries in parallel
34
+ // Both are optional — they may fail on older MySQL versions
34
35
  let unusedIndexes = [];
36
+ let duplicateIndexes = [];
35
37
  try {
36
- const unusedResult = await adapter.executeQuery(`
38
+ const [unusedResult, dupResult] = await Promise.all([
39
+ adapter.executeQuery(`
37
40
  SELECT
38
41
  object_schema as schema_name,
39
42
  object_name as table_name,
@@ -43,16 +46,8 @@ export function createIndexesResource(adapter) {
43
46
  AND index_name IS NOT NULL
44
47
  AND index_name != 'PRIMARY'
45
48
  AND count_star = 0
46
- `, [database]);
47
- unusedIndexes = unusedResult.rows ?? [];
48
- }
49
- catch {
50
- // Performance schema may not be available
51
- }
52
- // Get duplicate/redundant indexes
53
- let duplicateIndexes = [];
54
- try {
55
- const dupResult = await adapter.executeQuery(`
49
+ `, [database]),
50
+ adapter.executeQuery(`
56
51
  SELECT
57
52
  a.TABLE_NAME as table_name,
58
53
  a.INDEX_NAME as redundant_index,
@@ -69,11 +64,13 @@ export function createIndexesResource(adapter) {
69
64
  AND a.SEQ_IN_INDEX = 1
70
65
  AND (a.INDEX_NAME != 'PRIMARY' AND b.INDEX_NAME != 'PRIMARY')
71
66
  GROUP BY a.TABLE_NAME, a.INDEX_NAME, a.COLUMN_NAME, b.INDEX_NAME
72
- `, [database]);
67
+ `, [database]),
68
+ ]);
69
+ unusedIndexes = unusedResult.rows ?? [];
73
70
  duplicateIndexes = dupResult.rows ?? [];
74
71
  }
75
72
  catch {
76
- // May fail on older MySQL versions
73
+ // Performance schema may not be available on older MySQL versions
77
74
  }
78
75
  return {
79
76
  database,
@@ -1 +1 @@
1
- {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/indexes.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,qBAAqB,CACnC,OAAqB;IAErB,OAAO;QACL,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,iEAAiE;QACnE,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;YAC/B,QAAQ,EAAE,GAAG;SACd;QACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,QAAwB,EAAE,EAAE;YACxD,uBAAuB;YACvB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAY,IAAI,EAAE,CAAC;YAE9D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;YAC3C,CAAC;YAED,uBAAuB;YACvB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAC5C;;;;;;;;;;;;aAYK,EACL,CAAC,QAAQ,CAAC,CACX,CAAC;YAEF,8DAA8D;YAC9D,IAAI,aAAa,GAAc,EAAE,CAAC;YAClC,IAAI,CAAC;gBACH,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,YAAY,CAC7C;;;;;;;;;;iBAUO,EACP,CAAC,QAAQ,CAAC,CACX,CAAC;gBACF,aAAa,GAAG,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,0CAA0C;YAC5C,CAAC;YAED,kCAAkC;YAClC,IAAI,gBAAgB,GAAc,EAAE,CAAC;YACrC,IAAI,CAAC;gBACH,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,YAAY,CAC1C;;;;;;;;;;;;;;;;;iBAiBO,EACP,CAAC,QAAQ,CAAC,CACX,CAAC;gBACF,gBAAgB,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,mCAAmC;YACrC,CAAC;YAED,OAAO;gBACL,QAAQ;gBACR,aAAa,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM;gBAC9C,OAAO,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;gBAC/B,cAAc,EAAE,aAAa;gBAC7B,oBAAoB,EAAE,gBAAgB;aACvC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"indexes.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/indexes.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,qBAAqB,CACnC,OAAqB;IAErB,OAAO;QACL,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,kBAAkB;QACxB,KAAK,EAAE,wBAAwB;QAC/B,WAAW,EACT,iEAAiE;QACnE,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;YAC/B,QAAQ,EAAE,GAAG;SACd;QACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,QAAwB,EAAE,EAAE;YACxD,uBAAuB;YACvB,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC,yBAAyB,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAI,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAY,IAAI,EAAE,CAAC;YAE9D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC;YAC3C,CAAC;YAED,kCAAkC;YAClC,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,YAAY,CAC5C;;;;;;;;;;;;aAYK,EACL,CAAC,QAAQ,CAAC,CACX,CAAC;YAEF,uEAAuE;YACvE,4DAA4D;YAC5D,IAAI,aAAa,GAAc,EAAE,CAAC;YAClC,IAAI,gBAAgB,GAAc,EAAE,CAAC;YAErC,IAAI,CAAC;gBACH,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAClD,OAAO,CAAC,YAAY,CAClB;;;;;;;;;;iBAUK,EACL,CAAC,QAAQ,CAAC,CACX;oBACD,OAAO,CAAC,YAAY,CAClB;;;;;;;;;;;;;;;;;iBAiBK,EACL,CAAC,QAAQ,CAAC,CACX;iBACF,CAAC,CAAC;gBACH,aAAa,GAAG,YAAY,CAAC,IAAI,IAAI,EAAE,CAAC;gBACxC,gBAAgB,GAAG,SAAS,CAAC,IAAI,IAAI,EAAE,CAAC;YAC1C,CAAC;YAAC,MAAM,CAAC;gBACP,kEAAkE;YACpE,CAAC;YAED,OAAO;gBACL,QAAQ;gBACR,aAAa,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM;gBAC9C,OAAO,EAAE,WAAW,CAAC,IAAI,IAAI,EAAE;gBAC/B,cAAc,EAAE,aAAa;gBAC7B,oBAAoB,EAAE,gBAAgB;aACvC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"innodb.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/innodb.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CAiHpB"}
1
+ {"version":3,"file":"innodb.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/innodb.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CAkHpB"}
@@ -10,35 +10,38 @@ export function createInnodbResource(adapter) {
10
10
  priority: 0.7,
11
11
  },
12
12
  handler: async (_uri, _context) => {
13
- // Get buffer pool status
14
- const bufferPoolResult = await adapter.executeQuery(`
13
+ // Performance optimization: run all three independent queries in parallel
14
+ const [bufferPoolResult, configResult, opsResult] = await Promise.all([
15
+ // Get buffer pool status
16
+ adapter.executeQuery(`
15
17
  SHOW GLOBAL STATUS WHERE Variable_name LIKE 'Innodb_buffer_pool%'
16
- `);
17
- const bufferPool = {};
18
- for (const row of bufferPoolResult.rows ?? []) {
19
- bufferPool[row["Variable_name"]] = parseInt(row["Value"], 10);
20
- }
21
- // Get buffer pool size configuration
22
- const configResult = await adapter.executeQuery(`
18
+ `),
19
+ // Get buffer pool size configuration
20
+ adapter.executeQuery(`
23
21
  SHOW GLOBAL VARIABLES WHERE Variable_name IN (
24
22
  'innodb_buffer_pool_size', 'innodb_buffer_pool_instances',
25
23
  'innodb_log_file_size', 'innodb_log_files_in_group',
26
24
  'innodb_flush_log_at_trx_commit', 'innodb_file_per_table'
27
25
  )
28
- `);
29
- const config = {};
30
- for (const row of configResult.rows ?? []) {
31
- config[row["Variable_name"]] = row["Value"];
32
- }
33
- // Get row operations
34
- const opsResult = await adapter.executeQuery(`
26
+ `),
27
+ // Get row operations
28
+ adapter.executeQuery(`
35
29
  SHOW GLOBAL STATUS WHERE Variable_name IN (
36
30
  'Innodb_rows_read', 'Innodb_rows_inserted',
37
31
  'Innodb_rows_updated', 'Innodb_rows_deleted',
38
32
  'Innodb_data_reads', 'Innodb_data_writes',
39
33
  'Innodb_os_log_written', 'Innodb_log_writes'
40
34
  )
41
- `);
35
+ `),
36
+ ]);
37
+ const bufferPool = {};
38
+ for (const row of bufferPoolResult.rows ?? []) {
39
+ bufferPool[row["Variable_name"]] = parseInt(row["Value"], 10);
40
+ }
41
+ const config = {};
42
+ for (const row of configResult.rows ?? []) {
43
+ config[row["Variable_name"]] = row["Value"];
44
+ }
42
45
  const operations = {};
43
46
  for (const row of opsResult.rows ?? []) {
44
47
  operations[row["Variable_name"]] = parseInt(row["Value"], 10);
@@ -1 +1 @@
1
- {"version":3,"file":"innodb.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/innodb.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"innodb.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/innodb.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"locks.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/locks.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,kBAAkB,CAyD7E"}
1
+ {"version":3,"file":"locks.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/locks.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,GAAG,kBAAkB,CA2D7E"}
@@ -11,8 +11,10 @@ export function createLocksResource(adapter) {
11
11
  },
12
12
  handler: async (_uri, _context) => {
13
13
  try {
14
- // Get current lock waits from performance_schema
15
- const lockWaitsResult = await adapter.executeQuery(`
14
+ // Performance optimization: run both independent queries in parallel
15
+ const [lockWaitsResult, lockStatusResult] = await Promise.all([
16
+ // Get current lock waits from performance_schema
17
+ adapter.executeQuery(`
16
18
  SELECT
17
19
  r.trx_id AS waiting_trx_id,
18
20
  r.trx_mysql_thread_id AS waiting_thread,
@@ -25,11 +27,12 @@ export function createLocksResource(adapter) {
25
27
  JOIN information_schema.innodb_trx r ON r.trx_id = w.REQUESTING_ENGINE_TRANSACTION_ID
26
28
  JOIN information_schema.innodb_trx b ON b.trx_id = w.BLOCKING_ENGINE_TRANSACTION_ID
27
29
  LIMIT 20
28
- `);
29
- // Get global lock status
30
- const lockStatusResult = await adapter.executeQuery(`
30
+ `),
31
+ // Get global lock status
32
+ adapter.executeQuery(`
31
33
  SHOW STATUS LIKE 'Innodb_row_lock%'
32
- `);
34
+ `),
35
+ ]);
33
36
  const lockStats = {};
34
37
  for (const row of lockStatusResult.rows ?? []) {
35
38
  const varName = row["Variable_name"];
@@ -1 +1 @@
1
- {"version":3,"file":"locks.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/locks.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,mBAAmB,CAAC,OAAqB;IACvD,OAAO;QACL,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;YAC/B,QAAQ,EAAE,GAAG;SACd;QACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,QAAwB,EAAE,EAAE;YACxD,IAAI,CAAC;gBACH,iDAAiD;gBACjD,MAAM,eAAe,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;;iBAa1C,CAAC,CAAC;gBAEX,yBAAyB;gBACzB,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;;iBAE3C,CAAC,CAAC;gBAEX,MAAM,SAAS,GAA4B,EAAE,CAAC;gBAC9C,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;oBAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;oBACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAChC,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAED,OAAO;oBACL,gBAAgB,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;oBACnD,SAAS,EAAE,eAAe,CAAC,IAAI,IAAI,EAAE;oBACrC,cAAc,EAAE,SAAS;iBAC1B,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,gBAAgB,EAAE,CAAC;oBACnB,SAAS,EAAE,EAAE;oBACb,cAAc,EAAE,EAAE;oBAClB,KAAK,EAAE,qCAAqC;iBAC7C,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"locks.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/locks.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,mBAAmB,CAAC,OAAqB;IACvD,OAAO;QACL,GAAG,EAAE,eAAe;QACpB,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,uBAAuB;QAC9B,WAAW,EAAE,qDAAqD;QAClE,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;YAC/B,QAAQ,EAAE,GAAG;SACd;QACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,QAAwB,EAAE,EAAE;YACxD,IAAI,CAAC;gBACH,qEAAqE;gBACrE,MAAM,CAAC,eAAe,EAAE,gBAAgB,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBAC5D,iDAAiD;oBACjD,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;;iBAad,CAAC;oBACR,yBAAyB;oBACzB,OAAO,CAAC,YAAY,CAAC;;iBAEd,CAAC;iBACT,CAAC,CAAC;gBAEH,MAAM,SAAS,GAA4B,EAAE,CAAC;gBAC9C,KAAK,MAAM,GAAG,IAAI,gBAAgB,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;oBAC9C,MAAM,OAAO,GAAG,GAAG,CAAC,eAAe,CAAC,CAAC;oBACrC,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;wBAChC,SAAS,CAAC,OAAO,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;oBACpC,CAAC;gBACH,CAAC;gBAED,OAAO;oBACL,gBAAgB,EAAE,eAAe,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;oBACnD,SAAS,EAAE,eAAe,CAAC,IAAI,IAAI,EAAE;oBACrC,cAAc,EAAE,SAAS;iBAC1B,CAAC;YACJ,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO;oBACL,gBAAgB,EAAE,CAAC;oBACnB,SAAS,EAAE,EAAE;oBACb,cAAc,EAAE,EAAE;oBAClB,KAAK,EAAE,qCAAqC;iBAC7C,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/performance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CAmGpB"}
1
+ {"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/performance.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CAwGpB"}
@@ -10,8 +10,9 @@ export function createPerformanceResource(adapter) {
10
10
  priority: 0.8,
11
11
  },
12
12
  handler: async (_uri, _context) => {
13
- // Get performance-related status variables
14
- const statusResult = await adapter.executeQuery(`
13
+ // Performance optimization: run both queries in parallel
14
+ // The performance_schema query may fail, but we handle that gracefully
15
+ const statusPromise = adapter.executeQuery(`
15
16
  SHOW GLOBAL STATUS WHERE Variable_name IN (
16
17
  'Queries', 'Questions', 'Slow_queries',
17
18
  'Select_full_join', 'Select_range_check', 'Select_scan',
@@ -21,14 +22,8 @@ export function createPerformanceResource(adapter) {
21
22
  'Handler_read_rnd_next', 'Handler_write'
22
23
  )
23
24
  `);
24
- const status = {};
25
- for (const row of statusResult.rows ?? []) {
26
- status[row["Variable_name"]] = parseInt(row["Value"], 10);
27
- }
28
- // Get performance schema if available (MySQL 5.6+)
29
- let topQueries = [];
30
- try {
31
- const perfResult = await adapter.executeQuery(`
25
+ const perfPromise = adapter
26
+ .executeQuery(`
32
27
  SELECT
33
28
  DIGEST_TEXT as query_pattern,
34
29
  COUNT_STAR as execution_count,
@@ -41,12 +36,17 @@ export function createPerformanceResource(adapter) {
41
36
  WHERE DIGEST_TEXT IS NOT NULL
42
37
  ORDER BY SUM_TIMER_WAIT DESC
43
38
  LIMIT 10
44
- `);
45
- topQueries = perfResult.rows ?? [];
46
- }
47
- catch {
48
- // Performance schema may not be available
39
+ `)
40
+ .catch(() => ({ rows: [] }));
41
+ const [statusResult, perfResult] = await Promise.all([
42
+ statusPromise,
43
+ perfPromise,
44
+ ]);
45
+ const status = {};
46
+ for (const row of statusResult.rows ?? []) {
47
+ status[row["Variable_name"]] = parseInt(row["Value"], 10);
49
48
  }
49
+ const topQueries = perfResult.rows ?? [];
50
50
  // Calculate derived metrics
51
51
  const tmpTablesCreated = status["Created_tmp_tables"] ?? 0;
52
52
  const tmpDiskRatio = tmpTablesCreated > 0
@@ -1 +1 @@
1
- {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/performance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"performance.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/performance.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"spatial.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/spatial.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CA+CpB"}
1
+ {"version":3,"file":"spatial.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/spatial.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CAiDpB"}
@@ -10,8 +10,10 @@ export function createSpatialResource(adapter) {
10
10
  priority: 0.5,
11
11
  },
12
12
  handler: async (_uri, _context) => {
13
- // Get spatial columns
14
- const columnsResult = await adapter.executeQuery(`
13
+ // Performance optimization: run both independent queries in parallel
14
+ const [columnsResult, indexesResult] = await Promise.all([
15
+ // Get spatial columns
16
+ adapter.executeQuery(`
15
17
  SELECT
16
18
  TABLE_SCHEMA as schema_name,
17
19
  TABLE_NAME as table_name,
@@ -23,9 +25,9 @@ export function createSpatialResource(adapter) {
23
25
  'multipoint', 'multilinestring', 'multipolygon', 'geometrycollection')
24
26
  AND TABLE_SCHEMA = DATABASE()
25
27
  ORDER BY TABLE_NAME, COLUMN_NAME
26
- `);
27
- // Get spatial indexes
28
- const indexesResult = await adapter.executeQuery(`
28
+ `),
29
+ // Get spatial indexes
30
+ adapter.executeQuery(`
29
31
  SELECT
30
32
  TABLE_NAME as table_name,
31
33
  INDEX_NAME as index_name,
@@ -34,7 +36,8 @@ export function createSpatialResource(adapter) {
34
36
  WHERE INDEX_TYPE = 'SPATIAL'
35
37
  AND TABLE_SCHEMA = DATABASE()
36
38
  ORDER BY TABLE_NAME, INDEX_NAME
37
- `);
39
+ `),
40
+ ]);
38
41
  return {
39
42
  spatialColumnCount: columnsResult.rows?.length ?? 0,
40
43
  spatialColumns: columnsResult.rows ?? [],
@@ -1 +1 @@
1
- {"version":3,"file":"spatial.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/spatial.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,qBAAqB,CACnC,OAAqB;IAErB,OAAO;QACL,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;YAC/B,QAAQ,EAAE,GAAG;SACd;QACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,QAAwB,EAAE,EAAE;YACxD,sBAAsB;YACtB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;aAY1C,CAAC,CAAC;YAET,sBAAsB;YACtB,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,YAAY,CAAC;;;;;;;;;aAS1C,CAAC,CAAC;YAET,OAAO;gBACL,kBAAkB,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;gBACnD,cAAc,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE;gBACxC,iBAAiB,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;gBAClD,cAAc,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE;aACzC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"spatial.js","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/spatial.ts"],"names":[],"mappings":"AASA,MAAM,UAAU,qBAAqB,CACnC,OAAqB;IAErB,OAAO;QACL,GAAG,EAAE,iBAAiB;QACtB,IAAI,EAAE,iBAAiB;QACvB,KAAK,EAAE,2BAA2B;QAClC,WAAW,EAAE,6CAA6C;QAC1D,QAAQ,EAAE,kBAAkB;QAC5B,WAAW,EAAE;YACX,QAAQ,EAAE,CAAC,MAAM,EAAE,WAAW,CAAC;YAC/B,QAAQ,EAAE,GAAG;SACd;QACD,OAAO,EAAE,KAAK,EAAE,IAAY,EAAE,QAAwB,EAAE,EAAE;YACxD,qEAAqE;YACrE,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBACvD,sBAAsB;gBACtB,OAAO,CAAC,YAAY,CAAC;;;;;;;;;;;;aAYhB,CAAC;gBACN,sBAAsB;gBACtB,OAAO,CAAC,YAAY,CAAC;;;;;;;;;aAShB,CAAC;aACP,CAAC,CAAC;YAEH,OAAO;gBACL,kBAAkB,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;gBACnD,cAAc,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE;gBACxC,iBAAiB,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC;gBAClD,cAAc,EAAE,aAAa,CAAC,IAAI,IAAI,EAAE;aACzC,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sysschema.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/sysschema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CAkDpB"}
1
+ {"version":3,"file":"sysschema.d.ts","sourceRoot":"","sources":["../../../../src/adapters/mysql/resources/sysschema.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EACV,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AAEjC,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,YAAY,GACpB,kBAAkB,CAmDpB"}