@l-v-yonsama/multi-platform-database-drivers 2.0.1 → 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 (454) hide show
  1. package/README.md +1 -0
  2. package/built/schema/log-parse-config.schema.json +4 -4
  3. package/built/src/drivers/AwsDriver.d.ts +25 -1
  4. package/built/src/drivers/AwsDriver.js +189 -0
  5. package/built/src/drivers/AwsDriver.js.map +1 -1
  6. package/built/src/drivers/BaseDriver.js.map +1 -1
  7. package/built/src/drivers/DBDriverResolver.js.map +1 -1
  8. package/built/src/drivers/KeycloakDriver.js.map +1 -1
  9. package/built/src/drivers/MqttDriver.js.map +1 -1
  10. package/built/src/drivers/MySQLDriver.d.ts +10 -1
  11. package/built/src/drivers/MySQLDriver.js +130 -0
  12. package/built/src/drivers/MySQLDriver.js.map +1 -1
  13. package/built/src/drivers/OracleDriver.d.ts +14 -1
  14. package/built/src/drivers/OracleDriver.js +217 -2
  15. package/built/src/drivers/OracleDriver.js.map +1 -1
  16. package/built/src/drivers/PostgresDriver.d.ts +9 -1
  17. package/built/src/drivers/PostgresDriver.js +90 -2
  18. package/built/src/drivers/PostgresDriver.js.map +1 -1
  19. package/built/src/drivers/RDSBaseDriver.d.ts +26 -1
  20. package/built/src/drivers/RDSBaseDriver.js +601 -0
  21. package/built/src/drivers/RDSBaseDriver.js.map +1 -1
  22. package/built/src/drivers/RedisDriver.js.map +1 -1
  23. package/built/src/drivers/SQLServerDriver.d.ts +18 -1
  24. package/built/src/drivers/SQLServerDriver.js +282 -6
  25. package/built/src/drivers/SQLServerDriver.js.map +1 -1
  26. package/built/src/drivers/SQLiteDriver.d.ts +7 -1
  27. package/built/src/drivers/SQLiteDriver.js +33 -1
  28. package/built/src/drivers/SQLiteDriver.js.map +1 -1
  29. package/built/src/drivers/aws/AwsCloudFormationServiceClient.js.map +1 -1
  30. package/built/src/drivers/aws/AwsDynamoServiceClient.d.ts +61 -5
  31. package/built/src/drivers/aws/AwsDynamoServiceClient.js +404 -108
  32. package/built/src/drivers/aws/AwsDynamoServiceClient.js.map +1 -1
  33. package/built/src/drivers/aws/AwsS3ServiceClient.js +18 -6
  34. package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -1
  35. package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -1
  36. package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js.map +1 -1
  37. package/built/src/drivers/aws/AwsServiceClient.js.map +1 -1
  38. package/built/src/drivers/aws/AwsSsmServiceClient.js.map +1 -1
  39. package/built/src/drivers/aws/dynamoDbRdhSummary.d.ts +16 -0
  40. package/built/src/drivers/aws/dynamoDbRdhSummary.js +81 -0
  41. package/built/src/drivers/aws/dynamoDbRdhSummary.js.map +1 -0
  42. package/built/src/drivers/aws/dynamoDbResultMetadata.d.ts +9 -0
  43. package/built/src/drivers/aws/dynamoDbResultMetadata.js +71 -0
  44. package/built/src/drivers/aws/dynamoDbResultMetadata.js.map +1 -0
  45. package/built/src/drivers/index.d.ts +1 -0
  46. package/built/src/drivers/index.js +1 -0
  47. package/built/src/drivers/index.js.map +1 -1
  48. package/built/src/drivers/keycloak/resourceTreeBuilder.js.map +1 -1
  49. package/built/src/drivers/keycloak/scanResultBuilder.js.map +1 -1
  50. package/built/src/drivers/memcache/helper.js.map +1 -1
  51. package/built/src/drivers/providers/index.d.ts +3 -0
  52. package/built/src/drivers/providers/index.js +7 -0
  53. package/built/src/drivers/providers/index.js.map +1 -0
  54. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbMetricServiceAdapter.d.ts +8 -0
  55. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbMetricServiceAdapter.js +421 -0
  56. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbMetricServiceAdapter.js.map +1 -0
  57. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbOverviewMetricServiceAdapter.d.ts +7 -0
  58. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbOverviewMetricServiceAdapter.js +84 -0
  59. package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbOverviewMetricServiceAdapter.js.map +1 -0
  60. package/built/src/drivers/providers/metrics/adapters/dynamodb/index.d.ts +2 -0
  61. package/built/src/drivers/providers/metrics/adapters/dynamodb/index.js +6 -0
  62. package/built/src/drivers/providers/metrics/adapters/dynamodb/index.js.map +1 -0
  63. package/built/src/drivers/providers/metrics/adapters/index.d.ts +6 -0
  64. package/built/src/drivers/providers/metrics/adapters/index.js +10 -0
  65. package/built/src/drivers/providers/metrics/adapters/index.js.map +1 -0
  66. package/built/src/drivers/providers/metrics/adapters/logs/CloudWatchLogsMetricServiceAdapter.d.ts +7 -0
  67. package/built/src/drivers/providers/metrics/adapters/logs/CloudWatchLogsMetricServiceAdapter.js +132 -0
  68. package/built/src/drivers/providers/metrics/adapters/logs/CloudWatchLogsMetricServiceAdapter.js.map +1 -0
  69. package/built/src/drivers/providers/metrics/adapters/logs/index.d.ts +1 -0
  70. package/built/src/drivers/providers/metrics/adapters/logs/index.js +5 -0
  71. package/built/src/drivers/providers/metrics/adapters/logs/index.js.map +1 -0
  72. package/built/src/drivers/providers/metrics/adapters/overview/index.d.ts +1 -0
  73. package/built/src/drivers/providers/metrics/adapters/overview/index.js +5 -0
  74. package/built/src/drivers/providers/metrics/adapters/overview/index.js.map +1 -0
  75. package/built/src/drivers/providers/metrics/adapters/overview/overviewMetricAdapterUtils.d.ts +26 -0
  76. package/built/src/drivers/providers/metrics/adapters/overview/overviewMetricAdapterUtils.js +80 -0
  77. package/built/src/drivers/providers/metrics/adapters/overview/overviewMetricAdapterUtils.js.map +1 -0
  78. package/built/src/drivers/providers/metrics/adapters/s3/S3MetricServiceAdapter.d.ts +21 -0
  79. package/built/src/drivers/providers/metrics/adapters/s3/S3MetricServiceAdapter.js +478 -0
  80. package/built/src/drivers/providers/metrics/adapters/s3/S3MetricServiceAdapter.js.map +1 -0
  81. package/built/src/drivers/providers/metrics/adapters/s3/S3OverviewMetricServiceAdapter.d.ts +13 -0
  82. package/built/src/drivers/providers/metrics/adapters/s3/S3OverviewMetricServiceAdapter.js +172 -0
  83. package/built/src/drivers/providers/metrics/adapters/s3/S3OverviewMetricServiceAdapter.js.map +1 -0
  84. package/built/src/drivers/providers/metrics/adapters/s3/index.d.ts +2 -0
  85. package/built/src/drivers/providers/metrics/adapters/s3/index.js +6 -0
  86. package/built/src/drivers/providers/metrics/adapters/s3/index.js.map +1 -0
  87. package/built/src/drivers/providers/metrics/adapters/ses/SesMetricServiceAdapter.d.ts +13 -0
  88. package/built/src/drivers/providers/metrics/adapters/ses/SesMetricServiceAdapter.js +183 -0
  89. package/built/src/drivers/providers/metrics/adapters/ses/SesMetricServiceAdapter.js.map +1 -0
  90. package/built/src/drivers/providers/metrics/adapters/ses/index.d.ts +1 -0
  91. package/built/src/drivers/providers/metrics/adapters/ses/index.js +5 -0
  92. package/built/src/drivers/providers/metrics/adapters/ses/index.js.map +1 -0
  93. package/built/src/drivers/providers/metrics/adapters/sqs/SqsMetricServiceAdapter.d.ts +7 -0
  94. package/built/src/drivers/providers/metrics/adapters/sqs/SqsMetricServiceAdapter.js +174 -0
  95. package/built/src/drivers/providers/metrics/adapters/sqs/SqsMetricServiceAdapter.js.map +1 -0
  96. package/built/src/drivers/providers/metrics/adapters/sqs/SqsOverviewMetricServiceAdapter.d.ts +7 -0
  97. package/built/src/drivers/providers/metrics/adapters/sqs/SqsOverviewMetricServiceAdapter.js +81 -0
  98. package/built/src/drivers/providers/metrics/adapters/sqs/SqsOverviewMetricServiceAdapter.js.map +1 -0
  99. package/built/src/drivers/providers/metrics/adapters/sqs/index.d.ts +2 -0
  100. package/built/src/drivers/providers/metrics/adapters/sqs/index.js +6 -0
  101. package/built/src/drivers/providers/metrics/adapters/sqs/index.js.map +1 -0
  102. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsAvailability.d.ts +23 -0
  103. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsAvailability.js +69 -0
  104. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsAvailability.js.map +1 -0
  105. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsCollector.d.ts +24 -0
  106. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsCollector.js +49 -0
  107. package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsCollector.js.map +1 -0
  108. package/built/src/drivers/providers/metrics/cloudwatch/alignSeriesByTimestamp.d.ts +2 -0
  109. package/built/src/drivers/providers/metrics/cloudwatch/alignSeriesByTimestamp.js +16 -0
  110. package/built/src/drivers/providers/metrics/cloudwatch/alignSeriesByTimestamp.js.map +1 -0
  111. package/built/src/drivers/providers/metrics/cloudwatch/cloudWatchMetricsTransport.d.ts +21 -0
  112. package/built/src/drivers/providers/metrics/cloudwatch/cloudWatchMetricsTransport.js +193 -0
  113. package/built/src/drivers/providers/metrics/cloudwatch/cloudWatchMetricsTransport.js.map +1 -0
  114. package/built/src/drivers/providers/metrics/cloudwatch/collectAcrossMetricEndpoints.d.ts +6 -0
  115. package/built/src/drivers/providers/metrics/cloudwatch/collectAcrossMetricEndpoints.js +99 -0
  116. package/built/src/drivers/providers/metrics/cloudwatch/collectAcrossMetricEndpoints.js.map +1 -0
  117. package/built/src/drivers/providers/metrics/cloudwatch/deriveMetricSeries.d.ts +2 -0
  118. package/built/src/drivers/providers/metrics/cloudwatch/deriveMetricSeries.js +100 -0
  119. package/built/src/drivers/providers/metrics/cloudwatch/deriveMetricSeries.js.map +1 -0
  120. package/built/src/drivers/providers/metrics/cloudwatch/index.d.ts +7 -0
  121. package/built/src/drivers/providers/metrics/cloudwatch/index.js +11 -0
  122. package/built/src/drivers/providers/metrics/cloudwatch/index.js.map +1 -0
  123. package/built/src/drivers/providers/metrics/cloudwatch/metricPeriod.d.ts +2 -0
  124. package/built/src/drivers/providers/metrics/cloudwatch/metricPeriod.js +16 -0
  125. package/built/src/drivers/providers/metrics/cloudwatch/metricPeriod.js.map +1 -0
  126. package/built/src/drivers/providers/metrics/index.d.ts +3 -0
  127. package/built/src/drivers/providers/metrics/index.js +7 -0
  128. package/built/src/drivers/providers/metrics/index.js.map +1 -0
  129. package/built/src/drivers/providers/metrics/metricServiceAdapterRegistry.d.ts +8 -0
  130. package/built/src/drivers/providers/metrics/metricServiceAdapterRegistry.js +27 -0
  131. package/built/src/drivers/providers/metrics/metricServiceAdapterRegistry.js.map +1 -0
  132. package/built/src/drivers/providers/performance/DynamoDbPerformanceTuningProvider.d.ts +60 -0
  133. package/built/src/drivers/providers/performance/DynamoDbPerformanceTuningProvider.js +751 -0
  134. package/built/src/drivers/providers/performance/DynamoDbPerformanceTuningProvider.js.map +1 -0
  135. package/built/src/drivers/providers/performance/MySQLPerformanceTuningProvider.d.ts +29 -0
  136. package/built/src/drivers/providers/performance/MySQLPerformanceTuningProvider.js +350 -0
  137. package/built/src/drivers/providers/performance/MySQLPerformanceTuningProvider.js.map +1 -0
  138. package/built/src/drivers/providers/performance/OraclePerformanceTuningProvider.d.ts +37 -0
  139. package/built/src/drivers/providers/performance/OraclePerformanceTuningProvider.js +393 -0
  140. package/built/src/drivers/providers/performance/OraclePerformanceTuningProvider.js.map +1 -0
  141. package/built/src/drivers/providers/performance/PerformanceTuningContextProvider.d.ts +57 -0
  142. package/built/src/drivers/providers/performance/PerformanceTuningContextProvider.js +3 -0
  143. package/built/src/drivers/providers/performance/PerformanceTuningContextProvider.js.map +1 -0
  144. package/built/src/drivers/providers/performance/PostgresPerformanceTuningProvider.d.ts +24 -0
  145. package/built/src/drivers/providers/performance/PostgresPerformanceTuningProvider.js +328 -0
  146. package/built/src/drivers/providers/performance/PostgresPerformanceTuningProvider.js.map +1 -0
  147. package/built/src/drivers/providers/performance/SQLServerPerformanceTuningProvider.d.ts +29 -0
  148. package/built/src/drivers/providers/performance/SQLServerPerformanceTuningProvider.js +420 -0
  149. package/built/src/drivers/providers/performance/SQLServerPerformanceTuningProvider.js.map +1 -0
  150. package/built/src/drivers/providers/performance/dynamoDbCapacity.d.ts +38 -0
  151. package/built/src/drivers/providers/performance/dynamoDbCapacity.js +111 -0
  152. package/built/src/drivers/providers/performance/dynamoDbCapacity.js.map +1 -0
  153. package/built/src/drivers/providers/performance/dynamoDbCloudWatchMetrics.d.ts +20 -0
  154. package/built/src/drivers/providers/performance/dynamoDbCloudWatchMetrics.js +221 -0
  155. package/built/src/drivers/providers/performance/dynamoDbCloudWatchMetrics.js.map +1 -0
  156. package/built/src/drivers/providers/performance/dynamoPartiqlAccessPattern.d.ts +18 -0
  157. package/built/src/drivers/providers/performance/dynamoPartiqlAccessPattern.js +736 -0
  158. package/built/src/drivers/providers/performance/dynamoPartiqlAccessPattern.js.map +1 -0
  159. package/built/src/drivers/providers/performance/index.d.ts +23 -0
  160. package/built/src/drivers/providers/performance/index.js +27 -0
  161. package/built/src/drivers/providers/performance/index.js.map +1 -0
  162. package/built/src/drivers/providers/performance/mysqlActualPlanTextParser.d.ts +26 -0
  163. package/built/src/drivers/providers/performance/mysqlActualPlanTextParser.js +181 -0
  164. package/built/src/drivers/providers/performance/mysqlActualPlanTextParser.js.map +1 -0
  165. package/built/src/drivers/providers/performance/mysqlCatalogMapper.d.ts +11 -0
  166. package/built/src/drivers/providers/performance/mysqlCatalogMapper.js +218 -0
  167. package/built/src/drivers/providers/performance/mysqlCatalogMapper.js.map +1 -0
  168. package/built/src/drivers/providers/performance/mysqlPlanParser.d.ts +11 -0
  169. package/built/src/drivers/providers/performance/mysqlPlanParser.js +209 -0
  170. package/built/src/drivers/providers/performance/mysqlPlanParser.js.map +1 -0
  171. package/built/src/drivers/providers/performance/oracleActualPlanTextParser.d.ts +10 -0
  172. package/built/src/drivers/providers/performance/oracleActualPlanTextParser.js +245 -0
  173. package/built/src/drivers/providers/performance/oracleActualPlanTextParser.js.map +1 -0
  174. package/built/src/drivers/providers/performance/oracleCatalogMapper.d.ts +11 -0
  175. package/built/src/drivers/providers/performance/oracleCatalogMapper.js +226 -0
  176. package/built/src/drivers/providers/performance/oracleCatalogMapper.js.map +1 -0
  177. package/built/src/drivers/providers/performance/oraclePlanParser.d.ts +18 -0
  178. package/built/src/drivers/providers/performance/oraclePlanParser.js +223 -0
  179. package/built/src/drivers/providers/performance/oraclePlanParser.js.map +1 -0
  180. package/built/src/drivers/providers/performance/performanceTuningDiagnosticHelpers.d.ts +2 -0
  181. package/built/src/drivers/providers/performance/performanceTuningDiagnosticHelpers.js +13 -0
  182. package/built/src/drivers/providers/performance/performanceTuningDiagnosticHelpers.js.map +1 -0
  183. package/built/src/drivers/providers/performance/planNodeMath.d.ts +20 -0
  184. package/built/src/drivers/providers/performance/planNodeMath.js +82 -0
  185. package/built/src/drivers/providers/performance/planNodeMath.js.map +1 -0
  186. package/built/src/drivers/providers/performance/postgresCatalogMapper.d.ts +20 -0
  187. package/built/src/drivers/providers/performance/postgresCatalogMapper.js +287 -0
  188. package/built/src/drivers/providers/performance/postgresCatalogMapper.js.map +1 -0
  189. package/built/src/drivers/providers/performance/postgresPlanParser.d.ts +13 -0
  190. package/built/src/drivers/providers/performance/postgresPlanParser.js +258 -0
  191. package/built/src/drivers/providers/performance/postgresPlanParser.js.map +1 -0
  192. package/built/src/drivers/providers/performance/sqlServerActualPlanXmlParser.d.ts +10 -0
  193. package/built/src/drivers/providers/performance/sqlServerActualPlanXmlParser.js +252 -0
  194. package/built/src/drivers/providers/performance/sqlServerActualPlanXmlParser.js.map +1 -0
  195. package/built/src/drivers/providers/performance/sqlServerCatalogMapper.d.ts +20 -0
  196. package/built/src/drivers/providers/performance/sqlServerCatalogMapper.js +254 -0
  197. package/built/src/drivers/providers/performance/sqlServerCatalogMapper.js.map +1 -0
  198. package/built/src/drivers/providers/performance/sqlServerPlanParser.d.ts +10 -0
  199. package/built/src/drivers/providers/performance/sqlServerPlanParser.js +199 -0
  200. package/built/src/drivers/providers/performance/sqlServerPlanParser.js.map +1 -0
  201. package/built/src/drivers/providers/performance/vendorRowCoercion.d.ts +6 -0
  202. package/built/src/drivers/providers/performance/vendorRowCoercion.js +42 -0
  203. package/built/src/drivers/providers/performance/vendorRowCoercion.js.map +1 -0
  204. package/built/src/drivers/providers/rdbDashboard/RdbDashboardProvider.d.ts +8 -0
  205. package/built/src/drivers/providers/rdbDashboard/RdbDashboardProvider.js +3 -0
  206. package/built/src/drivers/providers/rdbDashboard/RdbDashboardProvider.js.map +1 -0
  207. package/built/src/drivers/providers/rdbDashboard/RdbSampleAccumulator.d.ts +22 -0
  208. package/built/src/drivers/providers/rdbDashboard/RdbSampleAccumulator.js +331 -0
  209. package/built/src/drivers/providers/rdbDashboard/RdbSampleAccumulator.js.map +1 -0
  210. package/built/src/drivers/providers/rdbDashboard/index.d.ts +9 -0
  211. package/built/src/drivers/providers/rdbDashboard/index.js +13 -0
  212. package/built/src/drivers/providers/rdbDashboard/index.js.map +1 -0
  213. package/built/src/drivers/providers/rdbDashboard/rdbDashboardErrors.d.ts +3 -0
  214. package/built/src/drivers/providers/rdbDashboard/rdbDashboardErrors.js +10 -0
  215. package/built/src/drivers/providers/rdbDashboard/rdbDashboardErrors.js.map +1 -0
  216. package/built/src/drivers/providers/rdbDashboard/rdbDashboardValueUtils.d.ts +7 -0
  217. package/built/src/drivers/providers/rdbDashboard/rdbDashboardValueUtils.js +31 -0
  218. package/built/src/drivers/providers/rdbDashboard/rdbDashboardValueUtils.js.map +1 -0
  219. package/built/src/drivers/providers/rdbDashboard/validateRdbDashboard.d.ts +3 -0
  220. package/built/src/drivers/providers/rdbDashboard/validateRdbDashboard.js +73 -0
  221. package/built/src/drivers/providers/rdbDashboard/validateRdbDashboard.js.map +1 -0
  222. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/MySQLRdbDashboardProvider.d.ts +16 -0
  223. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/MySQLRdbDashboardProvider.js +247 -0
  224. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/MySQLRdbDashboardProvider.js.map +1 -0
  225. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/index.d.ts +3 -0
  226. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/index.js +7 -0
  227. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/index.js.map +1 -0
  228. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardCatalog.d.ts +4 -0
  229. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardCatalog.js +279 -0
  230. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardCatalog.js.map +1 -0
  231. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardQueries.d.ts +5 -0
  232. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardQueries.js +41 -0
  233. package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardQueries.js.map +1 -0
  234. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/OracleRdbDashboardProvider.d.ts +21 -0
  235. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/OracleRdbDashboardProvider.js +420 -0
  236. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/OracleRdbDashboardProvider.js.map +1 -0
  237. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/index.d.ts +3 -0
  238. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/index.js +7 -0
  239. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/index.js.map +1 -0
  240. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardCatalog.d.ts +12 -0
  241. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardCatalog.js +117 -0
  242. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardCatalog.js.map +1 -0
  243. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardQueries.d.ts +8 -0
  244. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardQueries.js +60 -0
  245. package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardQueries.js.map +1 -0
  246. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/PostgresRdbDashboardProvider.d.ts +13 -0
  247. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/PostgresRdbDashboardProvider.js +216 -0
  248. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/PostgresRdbDashboardProvider.js.map +1 -0
  249. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/index.d.ts +3 -0
  250. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/index.js +7 -0
  251. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/index.js.map +1 -0
  252. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardCatalog.d.ts +4 -0
  253. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardCatalog.js +218 -0
  254. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardCatalog.js.map +1 -0
  255. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardQueries.d.ts +3 -0
  256. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardQueries.js +70 -0
  257. package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardQueries.js.map +1 -0
  258. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/SQLiteRdbDashboardProvider.d.ts +20 -0
  259. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/SQLiteRdbDashboardProvider.js +259 -0
  260. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/SQLiteRdbDashboardProvider.js.map +1 -0
  261. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/index.d.ts +3 -0
  262. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/index.js +7 -0
  263. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/index.js.map +1 -0
  264. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardCatalog.d.ts +5 -0
  265. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardCatalog.js +135 -0
  266. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardCatalog.js.map +1 -0
  267. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardQueries.d.ts +4 -0
  268. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardQueries.js +14 -0
  269. package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardQueries.js.map +1 -0
  270. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/SQLServerRdbDashboardProvider.d.ts +16 -0
  271. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/SQLServerRdbDashboardProvider.js +301 -0
  272. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/SQLServerRdbDashboardProvider.js.map +1 -0
  273. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/index.d.ts +3 -0
  274. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/index.js +7 -0
  275. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/index.js.map +1 -0
  276. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardCatalog.d.ts +4 -0
  277. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardCatalog.js +130 -0
  278. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardCatalog.js.map +1 -0
  279. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardQueries.d.ts +6 -0
  280. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardQueries.js +91 -0
  281. package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardQueries.js.map +1 -0
  282. package/built/src/helpers/ProposalHelper.js.map +1 -1
  283. package/built/src/helpers/SQLHelper.d.ts +1 -1
  284. package/built/src/helpers/SQLHelper.js +3 -1
  285. package/built/src/helpers/SQLHelper.js.map +1 -1
  286. package/built/src/helpers/dynamoDbBillingMode.d.ts +6 -0
  287. package/built/src/helpers/dynamoDbBillingMode.js +16 -0
  288. package/built/src/helpers/dynamoDbBillingMode.js.map +1 -0
  289. package/built/src/helpers/index.d.ts +1 -0
  290. package/built/src/helpers/index.js +1 -0
  291. package/built/src/helpers/index.js.map +1 -1
  292. package/built/src/helpers/prompts/Auth0PromptHelper.js.map +1 -1
  293. package/built/src/helpers/prompts/AwsPromptHelper.js.map +1 -1
  294. package/built/src/helpers/prompts/KeycloakPromptHelper.js.map +1 -1
  295. package/built/src/helpers/prompts/MemcachePromptHelper.js.map +1 -1
  296. package/built/src/helpers/prompts/MqttPromptHelper.js.map +1 -1
  297. package/built/src/helpers/prompts/RdsPromptHelper.js.map +1 -1
  298. package/built/src/helpers/prompts/RedisPromptHelper.js.map +1 -1
  299. package/built/src/helpers/prompts/SchemaPromptHelper.js.map +1 -1
  300. package/built/src/helpers/prompts/promptFormatUtils.js.map +1 -1
  301. package/built/src/helpers/sql/mutationQuery.js.map +1 -1
  302. package/built/src/helpers/sql/parameterNormalizer.js +2 -2
  303. package/built/src/helpers/sql/parameterNormalizer.js.map +1 -1
  304. package/built/src/helpers/sql/queryParser.js +272 -48
  305. package/built/src/helpers/sql/queryParser.js.map +1 -1
  306. package/built/src/helpers/sql/quote.d.ts +2 -0
  307. package/built/src/helpers/sql/quote.js +9 -2
  308. package/built/src/helpers/sql/quote.js.map +1 -1
  309. package/built/src/helpers/sql/selectQuery.js.map +1 -1
  310. package/built/src/resource/aws.d.ts +2 -1
  311. package/built/src/resource/aws.js +76 -2
  312. package/built/src/resource/aws.js.map +1 -1
  313. package/built/src/resource/base.d.ts +2 -1
  314. package/built/src/resource/base.js.map +1 -1
  315. package/built/src/resource/fromJson.js.map +1 -1
  316. package/built/src/resource/iam.js.map +1 -1
  317. package/built/src/resource/index.js.map +1 -1
  318. package/built/src/resource/keyValue.js.map +1 -1
  319. package/built/src/types/drivers/EstimatedBindParameter.d.ts +12 -0
  320. package/built/src/types/drivers/EstimatedBindParameter.js +3 -0
  321. package/built/src/types/drivers/EstimatedBindParameter.js.map +1 -0
  322. package/built/src/types/drivers/StatementStatistics.d.ts +13 -0
  323. package/built/src/types/drivers/StatementStatistics.js +10 -0
  324. package/built/src/types/drivers/StatementStatistics.js.map +1 -0
  325. package/built/src/types/drivers/index.d.ts +5 -0
  326. package/built/src/types/drivers/index.js +5 -0
  327. package/built/src/types/drivers/index.js.map +1 -1
  328. package/built/src/types/drivers/metrics/CloudWatchMetrics.d.ts +168 -0
  329. package/built/src/types/drivers/metrics/CloudWatchMetrics.js +3 -0
  330. package/built/src/types/drivers/metrics/CloudWatchMetrics.js.map +1 -0
  331. package/built/src/types/drivers/metrics/index.d.ts +1 -0
  332. package/built/src/types/drivers/metrics/index.js +5 -0
  333. package/built/src/types/drivers/metrics/index.js.map +1 -0
  334. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningCapabilities.d.ts +12 -0
  335. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningCapabilities.js +3 -0
  336. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningCapabilities.js.map +1 -0
  337. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningContext.d.ts +302 -0
  338. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningContext.js +7 -0
  339. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningContext.js.map +1 -0
  340. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningDiagnostic.d.ts +13 -0
  341. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningDiagnostic.js +3 -0
  342. package/built/src/types/drivers/performance/DynamoDbPerformanceTuningDiagnostic.js.map +1 -0
  343. package/built/src/types/drivers/performance/PerformanceTuningCapabilities.d.ts +17 -0
  344. package/built/src/types/drivers/performance/PerformanceTuningCapabilities.js +3 -0
  345. package/built/src/types/drivers/performance/PerformanceTuningCapabilities.js.map +1 -0
  346. package/built/src/types/drivers/performance/PerformanceTuningContext.d.ts +263 -0
  347. package/built/src/types/drivers/performance/PerformanceTuningContext.js +3 -0
  348. package/built/src/types/drivers/performance/PerformanceTuningContext.js.map +1 -0
  349. package/built/src/types/drivers/performance/PerformanceTuningDiagnostic.d.ts +28 -0
  350. package/built/src/types/drivers/performance/PerformanceTuningDiagnostic.js +3 -0
  351. package/built/src/types/drivers/performance/PerformanceTuningDiagnostic.js.map +1 -0
  352. package/built/src/types/drivers/performance/PlanNode.d.ts +37 -0
  353. package/built/src/types/drivers/performance/PlanNode.js +3 -0
  354. package/built/src/types/drivers/performance/PlanNode.js.map +1 -0
  355. package/built/src/types/drivers/performance/index.d.ts +7 -0
  356. package/built/src/types/drivers/performance/index.js +11 -0
  357. package/built/src/types/drivers/performance/index.js.map +1 -0
  358. package/built/src/types/drivers/rdbDashboard/RdbDashboardCapabilities.d.ts +30 -0
  359. package/built/src/types/drivers/rdbDashboard/RdbDashboardCapabilities.js +3 -0
  360. package/built/src/types/drivers/rdbDashboard/RdbDashboardCapabilities.js.map +1 -0
  361. package/built/src/types/drivers/rdbDashboard/RdbDashboardDefinition.d.ts +134 -0
  362. package/built/src/types/drivers/rdbDashboard/RdbDashboardDefinition.js +14 -0
  363. package/built/src/types/drivers/rdbDashboard/RdbDashboardDefinition.js.map +1 -0
  364. package/built/src/types/drivers/rdbDashboard/RdbDashboardSample.d.ts +69 -0
  365. package/built/src/types/drivers/rdbDashboard/RdbDashboardSample.js +3 -0
  366. package/built/src/types/drivers/rdbDashboard/RdbDashboardSample.js.map +1 -0
  367. package/built/src/types/drivers/rdbDashboard/index.d.ts +3 -0
  368. package/built/src/types/drivers/rdbDashboard/index.js +7 -0
  369. package/built/src/types/drivers/rdbDashboard/index.js.map +1 -0
  370. package/built/src/types/helpers/index.js.map +1 -1
  371. package/built/src/types/index.d.ts +1 -0
  372. package/built/src/types/index.js +1 -0
  373. package/built/src/types/index.js.map +1 -1
  374. package/built/src/types/observability/dashboardLaunchCapability.d.ts +11 -0
  375. package/built/src/types/observability/dashboardLaunchCapability.js +22 -0
  376. package/built/src/types/observability/dashboardLaunchCapability.js.map +1 -0
  377. package/built/src/types/observability/index.d.ts +1 -0
  378. package/built/src/types/observability/index.js +5 -0
  379. package/built/src/types/observability/index.js.map +1 -0
  380. package/built/src/types/resource/AwsCfnStackAttributes.js.map +1 -1
  381. package/built/src/types/resource/AwsDynamoTableAttributes.d.ts +13 -0
  382. package/built/src/types/resource/AwsServiceType.d.ts +1 -1
  383. package/built/src/types/resource/AwsSupplyCredentialType.js.map +1 -1
  384. package/built/src/types/resource/ConnectionSetting.js.map +1 -1
  385. package/built/src/types/resource/OracleColumnType.js.map +1 -1
  386. package/built/src/types/resource/RedisKeyType.d.ts +1 -1
  387. package/built/src/types/resource/ResourceType.js.map +1 -1
  388. package/built/src/types/resource/SQLServerColumnType.js.map +1 -1
  389. package/built/src/utils/bindParameterEstimator.d.ts +22 -0
  390. package/built/src/utils/bindParameterEstimator.js +400 -0
  391. package/built/src/utils/bindParameterEstimator.js.map +1 -0
  392. package/built/src/utils/cfn/applicationDiagram.js.map +1 -1
  393. package/built/src/utils/cfn/applicationRelations.js.map +1 -1
  394. package/built/src/utils/cfn/cfnDependencyGraphDiagram.js.map +1 -1
  395. package/built/src/utils/cfn/deploymentTopology.js.map +1 -1
  396. package/built/src/utils/cfn/diagramFileModel.js.map +1 -1
  397. package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js.map +1 -1
  398. package/built/src/utils/cfn/drawio/commonCells.js.map +1 -1
  399. package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js.map +1 -1
  400. package/built/src/utils/cfn/drawioApplicationDiagram.js.map +1 -1
  401. package/built/src/utils/cfn/drawioInfrastructureDiagrams.js.map +1 -1
  402. package/built/src/utils/cfn/drawioXml.js.map +1 -1
  403. package/built/src/utils/cfn/generateDiagram.js.map +1 -1
  404. package/built/src/utils/cfn/icons.js.map +1 -1
  405. package/built/src/utils/cfn/index.js.map +1 -1
  406. package/built/src/utils/cfn/intrinsics.js.map +1 -1
  407. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.js.map +1 -1
  408. package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.js.map +1 -1
  409. package/built/src/utils/cfn/naming.js.map +1 -1
  410. package/built/src/utils/cfn/resourceDependencies.js.map +1 -1
  411. package/built/src/utils/cfn/templateParsing.js.map +1 -1
  412. package/built/src/utils/cfn/viewpoints.js.map +1 -1
  413. package/built/src/utils/csv.js.map +1 -1
  414. package/built/src/utils/dbType.js.map +1 -1
  415. package/built/src/utils/diagramLayout/elkLayoutEngine.js.map +1 -1
  416. package/built/src/utils/diagramLayout/index.js.map +1 -1
  417. package/built/src/utils/diagramLayout/normalizeLayout.js.map +1 -1
  418. package/built/src/utils/drawio/drawioXml.js.map +1 -1
  419. package/built/src/utils/drawio/index.js.map +1 -1
  420. package/built/src/utils/dynamoDbPerformanceTuningContextValidator.d.ts +3 -0
  421. package/built/src/utils/dynamoDbPerformanceTuningContextValidator.js +440 -0
  422. package/built/src/utils/dynamoDbPerformanceTuningContextValidator.js.map +1 -0
  423. package/built/src/utils/er/erDiagramDrawioGenerator.js.map +1 -1
  424. package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js.map +1 -1
  425. package/built/src/utils/er/erDiagramGenerator.js.map +1 -1
  426. package/built/src/utils/er/index.d.ts +1 -0
  427. package/built/src/utils/er/index.js +3 -1
  428. package/built/src/utils/er/index.js.map +1 -1
  429. package/built/src/utils/er/performanceQueryDiagram.d.ts +18 -0
  430. package/built/src/utils/er/performanceQueryDiagram.js +381 -0
  431. package/built/src/utils/er/performanceQueryDiagram.js.map +1 -0
  432. package/built/src/utils/index.d.ts +5 -0
  433. package/built/src/utils/index.js +5 -0
  434. package/built/src/utils/index.js.map +1 -1
  435. package/built/src/utils/log/buildSqlExecutions.js.map +1 -1
  436. package/built/src/utils/log/constant/base.js.map +1 -1
  437. package/built/src/utils/log/constant/logEventSplitPreset.js.map +1 -1
  438. package/built/src/utils/log/constant/sqlLogParsePreset.js.map +1 -1
  439. package/built/src/utils/log/detect/presetDetector.js.map +1 -1
  440. package/built/src/utils/log/extract/runExtractors.js.map +1 -1
  441. package/built/src/utils/log/logSummary.js.map +1 -1
  442. package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js.map +1 -1
  443. package/built/src/utils/log/sql/removeSqlComments.js.map +1 -1
  444. package/built/src/utils/log/validator.js.map +1 -1
  445. package/built/src/utils/performanceTuningContext.d.ts +45 -0
  446. package/built/src/utils/performanceTuningContext.js +149 -0
  447. package/built/src/utils/performanceTuningContext.js.map +1 -0
  448. package/built/src/utils/performanceTuningContextValidator.d.ts +3 -0
  449. package/built/src/utils/performanceTuningContextValidator.js +364 -0
  450. package/built/src/utils/performanceTuningContextValidator.js.map +1 -0
  451. package/built/src/utils/statementStatistics.d.ts +11 -0
  452. package/built/src/utils/statementStatistics.js +39 -0
  453. package/built/src/utils/statementStatistics.js.map +1 -0
  454. package/package.json +37 -31
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamoDbPerformanceTuningProvider.js","sourceRoot":"","sources":["../../../../../src/drivers/providers/performance/DynamoDbPerformanceTuningProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { ResultSetData } from '@l-v-yonsama/rdh';
2
+ import { GeneralResult } from '../../../types/drivers/GeneralResult';
3
+ import { PerformanceTuningCallOptions, PerformanceTuningContextParams } from '../../../types/drivers/performance/PerformanceTuningContext';
4
+ import { PerformanceTuningAvailabilityParams, PerformanceTuningCapabilities } from '../../../types/drivers/performance/PerformanceTuningCapabilities';
5
+ import { QueryParams } from '../../../types/drivers/QueryParams';
6
+ import { PerformanceTuningCollectionOptions, PerformanceTuningContextProvider, PerformanceTuningTableTarget, VendorColumnStatistics, VendorExecutionPlan, VendorPhysicalHealth, VendorTableDefinition, VendorTableStatistics } from './PerformanceTuningContextProvider';
7
+ export interface MySQLPerformanceTuningDriverAccess {
8
+ requestSql(params: QueryParams): Promise<ResultSetData>;
9
+ getTableDDL(params: {
10
+ tableName: string;
11
+ schemaName?: string;
12
+ }): Promise<string>;
13
+ }
14
+ export declare class MySQLPerformanceTuningProvider implements PerformanceTuningContextProvider {
15
+ private readonly driver;
16
+ constructor(driver: MySQLPerformanceTuningDriverAccess);
17
+ checkCapabilities(params: PerformanceTuningAvailabilityParams): Promise<GeneralResult<PerformanceTuningCapabilities>>;
18
+ collectExecutionPlan(params: PerformanceTuningContextParams, options: PerformanceTuningCallOptions & {
19
+ timeoutMs: number;
20
+ }): Promise<GeneralResult<VendorExecutionPlan>>;
21
+ private runCatalogQuery;
22
+ private collectDdl;
23
+ collectTableDefinition(target: PerformanceTuningTableTarget, options: PerformanceTuningCollectionOptions): Promise<GeneralResult<VendorTableDefinition>>;
24
+ collectTableStatistics(target: PerformanceTuningTableTarget, options: PerformanceTuningCollectionOptions): Promise<GeneralResult<VendorTableStatistics>>;
25
+ collectColumnStatistics(target: PerformanceTuningTableTarget & {
26
+ columnNames: string[];
27
+ }, options: PerformanceTuningCollectionOptions): Promise<GeneralResult<VendorColumnStatistics[]>>;
28
+ collectPhysicalHealth(target: PerformanceTuningTableTarget, options: PerformanceTuningCollectionOptions): Promise<GeneralResult<VendorPhysicalHealth>>;
29
+ }
@@ -0,0 +1,350 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MySQLPerformanceTuningProvider = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const mysqlCatalogMapper_1 = require("./mysqlCatalogMapper");
6
+ const mysqlActualPlanTextParser_1 = require("./mysqlActualPlanTextParser");
7
+ const mysqlPlanParser_1 = require("./mysqlPlanParser");
8
+ const performanceTuningDiagnosticHelpers_1 = require("./performanceTuningDiagnosticHelpers");
9
+ const planNodeMath_1 = require("./planNodeMath");
10
+ const targetSchemaOf = (target) => { var _a; return (_a = target.schemaName) !== null && _a !== void 0 ? _a : target.databaseName; };
11
+ class MySQLPerformanceTuningProvider {
12
+ constructor(driver) {
13
+ this.driver = driver;
14
+ }
15
+ checkCapabilities(params) {
16
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
17
+ const capabilities = {
18
+ executionPlan: { available: true, source: 'EXPLAIN FORMAT=JSON' },
19
+ analyzedExecutionPlan: {
20
+ available: true,
21
+ source: 'EXPLAIN ANALYZE (tree text, unparsed)',
22
+ },
23
+ tableDefinition: { available: true, source: 'information_schema / SHOW CREATE TABLE' },
24
+ optimizerStatistics: {
25
+ available: true,
26
+ source: 'information_schema.TABLES / STATISTICS / COLUMN_STATISTICS',
27
+ message: 'Column-level histogram statistics require an explicit ANALYZE TABLE ... UPDATE HISTOGRAM and are commonly absent; STATISTICS.CARDINALITY is used as a fallback for indexed columns.',
28
+ },
29
+ physicalHealth: { available: true, source: 'information_schema.TABLES' },
30
+ };
31
+ return { ok: true, message: '', result: capabilities };
32
+ });
33
+ }
34
+ collectExecutionPlan(params, options) {
35
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
36
+ var _a, _b, _c, _d, _e, _f, _g, _h;
37
+ const binds = (_b = (_a = params.plan) === null || _a === void 0 ? void 0 : _a.binds) === null || _b === void 0 ? void 0 : _b.map((v) => String(v));
38
+ let rdh;
39
+ try {
40
+ rdh = yield this.driver.requestSql({
41
+ sql: `EXPLAIN FORMAT=JSON ${params.statement.sql}`,
42
+ conditions: { rawQueries: true, binds },
43
+ meta: { type: 'performanceTuningContext' },
44
+ });
45
+ }
46
+ catch (e) {
47
+ const detail = e instanceof Error ? e.message : String(e);
48
+ return {
49
+ ok: false,
50
+ message: `Failed to retrieve the execution plan.${detail ? ` ${detail}` : ''}`,
51
+ };
52
+ }
53
+ const rawValue = (_d = (_c = rdh.rows[0]) === null || _c === void 0 ? void 0 : _c.values) === null || _d === void 0 ? void 0 : _d.EXPLAIN;
54
+ if (rawValue === undefined) {
55
+ return { ok: false, message: 'EXPLAIN did not return an EXPLAIN result.' };
56
+ }
57
+ let parsed;
58
+ try {
59
+ parsed = typeof rawValue === 'string' ? JSON.parse(rawValue) : rawValue;
60
+ }
61
+ catch (_j) {
62
+ return { ok: false, message: 'Failed to parse the EXPLAIN JSON output.' };
63
+ }
64
+ const diagnostics = [];
65
+ let planNode;
66
+ let planTableMappings = [];
67
+ try {
68
+ const parsedPlan = (0, mysqlPlanParser_1.parseMysqlPlan)(parsed);
69
+ planNode = parsedPlan.planNode;
70
+ planTableMappings = parsedPlan.mappings;
71
+ diagnostics.push(...parsedPlan.diagnostics);
72
+ }
73
+ catch (_k) {
74
+ diagnostics.push((0, performanceTuningDiagnosticHelpers_1.planUnresolvedDiagnostic)());
75
+ }
76
+ let actualPlanText;
77
+ if (((_e = params.plan) === null || _e === void 0 ? void 0 : _e.mode) === 'analyze') {
78
+ let analyzeRdh;
79
+ try {
80
+ analyzeRdh = yield this.driver.requestSql({
81
+ sql: `EXPLAIN ANALYZE ${params.statement.sql}`,
82
+ conditions: { rawQueries: true, binds },
83
+ meta: { type: 'performanceTuningContext' },
84
+ });
85
+ }
86
+ catch (e) {
87
+ const detail = e instanceof Error ? e.message : String(e);
88
+ return {
89
+ ok: false,
90
+ message: `Failed to retrieve the analyzed execution plan.${detail ? ` ${detail}` : ''}`,
91
+ };
92
+ }
93
+ const analyzeValue = (_g = (_f = analyzeRdh.rows[0]) === null || _f === void 0 ? void 0 : _f.values) === null || _g === void 0 ? void 0 : _g.EXPLAIN;
94
+ actualPlanText = typeof analyzeValue === 'string' ? analyzeValue : undefined;
95
+ }
96
+ const actualPlanTableStats = actualPlanText
97
+ ? (0, mysqlActualPlanTextParser_1.resolveMysqlActualPlanTableStats)(actualPlanText, planTableMappings)
98
+ : undefined;
99
+ const mysqlActualStatsByPlanNodeId = new Map(Array.from((_h = actualPlanTableStats === null || actualPlanTableStats === void 0 ? void 0 : actualPlanTableStats.actualRowsByPlanNodeId) !== null && _h !== void 0 ? _h : []).map(([planNodeId, actualRows]) => {
100
+ const filterRows = actualPlanTableStats === null || actualPlanTableStats === void 0 ? void 0 : actualPlanTableStats.predicateFilterRowsByPlanNodeId.get(planNodeId);
101
+ return [
102
+ planNodeId,
103
+ {
104
+ actualRows,
105
+ tableAccessRows: actualRows,
106
+ predicateFilterInputRows: filterRows === null || filterRows === void 0 ? void 0 : filterRows.inputRows,
107
+ predicateFilterOutputRows: filterRows === null || filterRows === void 0 ? void 0 : filterRows.outputRows,
108
+ },
109
+ ];
110
+ }));
111
+ const planTableMappingsWithActualRows = (0, planNodeMath_1.applyActualPlanTableStats)(planTableMappings, mysqlActualStatsByPlanNodeId, {
112
+ tableAccessRows: 'MySQL EXPLAIN ANALYZE table-access rows (per loop)',
113
+ predicateFilterInputRows: 'MySQL EXPLAIN ANALYZE child table-access rows (per loop)',
114
+ predicateFilterOutputRows: 'MySQL EXPLAIN ANALYZE Filter rows (per loop)',
115
+ });
116
+ return {
117
+ ok: true,
118
+ message: '',
119
+ result: {
120
+ raw: parsed,
121
+ normalizedPlan: planNode,
122
+ planningTimeMs: undefined,
123
+ executionTimeMs: undefined,
124
+ actualPlan: actualPlanText
125
+ ? { source: 'EXPLAIN ANALYZE', format: 'text', content: actualPlanText }
126
+ : undefined,
127
+ dominantCostPlanNode: actualPlanTableStats === null || actualPlanTableStats === void 0 ? void 0 : actualPlanTableStats.dominantCostPlanNode,
128
+ diagnostics,
129
+ planTableMappings: planTableMappingsWithActualRows,
130
+ },
131
+ };
132
+ });
133
+ }
134
+ runCatalogQuery(sql, binds, sectionLabel) {
135
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
136
+ try {
137
+ const rdh = yield this.driver.requestSql({
138
+ sql,
139
+ conditions: { rawQueries: true, binds },
140
+ meta: { type: 'performanceTuningContext' },
141
+ });
142
+ return { ok: true, message: '', result: rdh };
143
+ }
144
+ catch (e) {
145
+ const detail = e instanceof Error ? e.message : String(e);
146
+ return {
147
+ ok: false,
148
+ message: `Failed to collect ${sectionLabel} for this table.${detail ? ` ${detail}` : ''}`,
149
+ };
150
+ }
151
+ });
152
+ }
153
+ collectDdl(target) {
154
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
155
+ try {
156
+ const text = yield this.driver.getTableDDL({
157
+ tableName: target.tableName,
158
+ schemaName: targetSchemaOf(target),
159
+ });
160
+ return { ok: true, message: '', result: text };
161
+ }
162
+ catch (e) {
163
+ return { ok: false, message: e instanceof Error ? e.message : String(e) };
164
+ }
165
+ });
166
+ }
167
+ collectTableDefinition(target, options) {
168
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
169
+ var _a, _b, _c, _d, _e, _f, _g, _h;
170
+ const schema = targetSchemaOf(target);
171
+ const binds = [schema, target.tableName];
172
+ const [columnsResult, constraintsResult, checkConstraintsResult, indexesResult, ddl] = yield Promise.all([
173
+ this.runCatalogQuery(COLUMNS_SQL, binds, 'columns'),
174
+ this.runCatalogQuery(CONSTRAINTS_SQL, binds, 'constraints'),
175
+ this.runCatalogQuery(CHECK_CONSTRAINTS_SQL, binds, 'check constraints'),
176
+ this.runCatalogQuery(INDEXES_SQL, binds, 'indexes'),
177
+ this.collectDdl(target),
178
+ ]);
179
+ if (!columnsResult.ok) {
180
+ return { ok: false, message: columnsResult.message };
181
+ }
182
+ const columns = (0, mysqlCatalogMapper_1.mapMysqlColumnRows)((_b = (_a = columnsResult.result) === null || _a === void 0 ? void 0 : _a.rows.map((r) => r.values)) !== null && _b !== void 0 ? _b : []);
183
+ const constraints = [
184
+ ...(constraintsResult.ok
185
+ ? (0, mysqlCatalogMapper_1.mapMysqlConstraintRows)((_d = (_c = constraintsResult.result) === null || _c === void 0 ? void 0 : _c.rows.map((r) => r.values)) !== null && _d !== void 0 ? _d : [])
186
+ : []),
187
+ ...(checkConstraintsResult.ok
188
+ ? (0, mysqlCatalogMapper_1.mapMysqlCheckConstraintRows)((_f = (_e = checkConstraintsResult.result) === null || _e === void 0 ? void 0 : _e.rows.map((r) => r.values)) !== null && _f !== void 0 ? _f : [])
189
+ : []),
190
+ ];
191
+ const indexes = indexesResult.ok
192
+ ? (0, mysqlCatalogMapper_1.mapMysqlIndexRows)((_h = (_g = indexesResult.result) === null || _g === void 0 ? void 0 : _g.rows.map((r) => r.values)) !== null && _h !== void 0 ? _h : [])
193
+ : [];
194
+ const warnings = [];
195
+ if (!constraintsResult.ok) {
196
+ warnings.push(constraintsResult.message);
197
+ }
198
+ if (!checkConstraintsResult.ok) {
199
+ warnings.push(checkConstraintsResult.message);
200
+ }
201
+ if (!indexesResult.ok) {
202
+ warnings.push(indexesResult.message);
203
+ }
204
+ if (!ddl.ok) {
205
+ warnings.push(`Failed to collect ddl for this table.${ddl.message ? ` ${ddl.message}` : ''}`);
206
+ }
207
+ if (columns.length === 0) {
208
+ return {
209
+ ok: false,
210
+ message: `Table ${target.schemaName ? `${target.schemaName}.` : ''}${target.tableName} was not found (or is not visible to this connection).`,
211
+ };
212
+ }
213
+ return {
214
+ ok: true,
215
+ message: warnings.join(' '),
216
+ result: { ddl: ddl.ok ? ddl.result : undefined, columns, constraints, indexes },
217
+ };
218
+ });
219
+ }
220
+ collectTableStatistics(target, options) {
221
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
222
+ var _a, _b;
223
+ const result = yield this.runCatalogQuery(TABLE_STATISTICS_SQL, [targetSchemaOf(target), target.tableName], 'table statistics');
224
+ if (!result.ok) {
225
+ return { ok: false, message: result.message };
226
+ }
227
+ const mapped = (0, mysqlCatalogMapper_1.mapMysqlTableStatisticsRow)((_b = (_a = result.result) === null || _a === void 0 ? void 0 : _a.rows[0]) === null || _b === void 0 ? void 0 : _b.values);
228
+ if (!mapped) {
229
+ return {
230
+ ok: false,
231
+ message: `Table ${target.schemaName ? `${target.schemaName}.` : ''}${target.tableName} was not found (or is not visible to this connection).`,
232
+ };
233
+ }
234
+ return { ok: true, message: '', result: mapped };
235
+ });
236
+ }
237
+ collectColumnStatistics(target, options) {
238
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
239
+ var _a, _b, _c, _d;
240
+ if (target.columnNames.length === 0) {
241
+ return { ok: true, message: '', result: [] };
242
+ }
243
+ const schema = targetSchemaOf(target);
244
+ const placeholders = target.columnNames.map(() => '?').join(', ');
245
+ const binds = [schema, target.tableName, ...target.columnNames];
246
+ const [cardinalityResult, histogramResult] = yield Promise.all([
247
+ this.runCatalogQuery(CARDINALITY_SQL.replace('$COLUMN_PLACEHOLDERS', placeholders), binds, 'column cardinality'),
248
+ this.runCatalogQuery(HISTOGRAM_SQL.replace('$COLUMN_PLACEHOLDERS', placeholders), binds, 'column histogram statistics'),
249
+ ]);
250
+ if (!cardinalityResult.ok) {
251
+ return { ok: false, message: cardinalityResult.message };
252
+ }
253
+ const cardinalityByColumn = new Map();
254
+ for (const row of (_b = (_a = cardinalityResult.result) === null || _a === void 0 ? void 0 : _a.rows) !== null && _b !== void 0 ? _b : []) {
255
+ const name = row.values.column_name;
256
+ if (name) {
257
+ cardinalityByColumn.set(name, row.values);
258
+ }
259
+ }
260
+ const histogramByColumn = new Map();
261
+ if (histogramResult.ok) {
262
+ for (const row of (_d = (_c = histogramResult.result) === null || _c === void 0 ? void 0 : _c.rows) !== null && _d !== void 0 ? _d : []) {
263
+ const name = row.values.column_name;
264
+ if (name) {
265
+ histogramByColumn.set(name, row.values);
266
+ }
267
+ }
268
+ }
269
+ return {
270
+ ok: true,
271
+ message: histogramResult.ok ? '' : histogramResult.message,
272
+ result: target.columnNames.map((columnName) => (0, mysqlCatalogMapper_1.mapMysqlColumnStatisticsRow)(columnName, cardinalityByColumn.get(columnName), histogramByColumn.get(columnName))),
273
+ };
274
+ });
275
+ }
276
+ collectPhysicalHealth(target, options) {
277
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
278
+ var _a, _b;
279
+ const result = yield this.runCatalogQuery(TABLE_STATISTICS_SQL, [targetSchemaOf(target), target.tableName], 'physical health');
280
+ if (!result.ok) {
281
+ return { ok: false, message: result.message };
282
+ }
283
+ return { ok: true, message: '', result: (0, mysqlCatalogMapper_1.mapMysqlPhysicalHealthRow)((_b = (_a = result.result) === null || _a === void 0 ? void 0 : _a.rows[0]) === null || _b === void 0 ? void 0 : _b.values) };
284
+ });
285
+ }
286
+ }
287
+ exports.MySQLPerformanceTuningProvider = MySQLPerformanceTuningProvider;
288
+ const COLUMNS_SQL = `
289
+ SELECT
290
+ COLUMN_NAME AS name,
291
+ DATA_TYPE AS data_type,
292
+ COLUMN_TYPE AS column_type,
293
+ IS_NULLABLE AS is_nullable,
294
+ COLUMN_DEFAULT AS column_default,
295
+ ORDINAL_POSITION AS ordinal_position,
296
+ COLUMN_COMMENT AS comment
297
+ FROM information_schema.COLUMNS
298
+ WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?
299
+ ORDER BY ORDINAL_POSITION`;
300
+ const CONSTRAINTS_SQL = `
301
+ SELECT
302
+ tc.CONSTRAINT_NAME AS constraint_name,
303
+ tc.CONSTRAINT_TYPE AS constraint_type,
304
+ kcu.COLUMN_NAME AS column_name,
305
+ kcu.ORDINAL_POSITION AS ordinal_position,
306
+ kcu.REFERENCED_TABLE_SCHEMA AS referenced_schema,
307
+ kcu.REFERENCED_TABLE_NAME AS referenced_table,
308
+ kcu.REFERENCED_COLUMN_NAME AS referenced_column
309
+ FROM information_schema.TABLE_CONSTRAINTS tc
310
+ JOIN information_schema.KEY_COLUMN_USAGE kcu
311
+ ON kcu.CONSTRAINT_SCHEMA = tc.CONSTRAINT_SCHEMA
312
+ AND kcu.CONSTRAINT_NAME = tc.CONSTRAINT_NAME
313
+ AND kcu.TABLE_NAME = tc.TABLE_NAME
314
+ WHERE tc.TABLE_SCHEMA = ? AND tc.TABLE_NAME = ?
315
+ AND tc.CONSTRAINT_TYPE IN ('PRIMARY KEY', 'UNIQUE', 'FOREIGN KEY')
316
+ ORDER BY tc.CONSTRAINT_NAME, kcu.ORDINAL_POSITION`;
317
+ const CHECK_CONSTRAINTS_SQL = `
318
+ SELECT cc.CONSTRAINT_NAME AS constraint_name, cc.CHECK_CLAUSE AS check_clause
319
+ FROM information_schema.CHECK_CONSTRAINTS cc
320
+ JOIN information_schema.TABLE_CONSTRAINTS tc
321
+ ON tc.CONSTRAINT_SCHEMA = cc.CONSTRAINT_SCHEMA AND tc.CONSTRAINT_NAME = cc.CONSTRAINT_NAME
322
+ WHERE cc.CONSTRAINT_SCHEMA = ? AND tc.TABLE_NAME = ?`;
323
+ const INDEXES_SQL = `
324
+ SELECT
325
+ INDEX_NAME AS index_name,
326
+ NON_UNIQUE AS non_unique,
327
+ SEQ_IN_INDEX AS seq_in_index,
328
+ COLUMN_NAME AS column_name,
329
+ EXPRESSION AS expression,
330
+ COLLATION AS collation,
331
+ INDEX_TYPE AS index_type
332
+ FROM information_schema.STATISTICS
333
+ WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?
334
+ ORDER BY INDEX_NAME, SEQ_IN_INDEX`;
335
+ const TABLE_STATISTICS_SQL = `
336
+ SELECT TABLE_ROWS AS table_rows, DATA_LENGTH AS data_length, INDEX_LENGTH AS index_length,
337
+ DATA_FREE AS data_free, UPDATE_TIME AS update_time
338
+ FROM information_schema.TABLES
339
+ WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?`;
340
+ const CARDINALITY_SQL = `
341
+ SELECT COLUMN_NAME AS column_name, CARDINALITY AS cardinality
342
+ FROM information_schema.STATISTICS
343
+ WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ? AND SEQ_IN_INDEX = 1
344
+ AND COLUMN_NAME IN ($COLUMN_PLACEHOLDERS)`;
345
+ const HISTOGRAM_SQL = `
346
+ SELECT COLUMN_NAME AS column_name, HISTOGRAM AS histogram
347
+ FROM information_schema.COLUMN_STATISTICS
348
+ WHERE SCHEMA_NAME = ? AND TABLE_NAME = ?
349
+ AND COLUMN_NAME IN ($COLUMN_PLACEHOLDERS)`;
350
+ //# sourceMappingURL=MySQLPerformanceTuningProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MySQLPerformanceTuningProvider.js","sourceRoot":"","sources":["../../../../../src/drivers/providers/performance/MySQLPerformanceTuningProvider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import { ResultSetData } from '@l-v-yonsama/rdh';
2
+ import { GeneralResult } from '../../../types/drivers/GeneralResult';
3
+ import { ActualPlanArtifact, PerformanceTuningCallOptions, PerformanceTuningContextParams } from '../../../types/drivers/performance/PerformanceTuningContext';
4
+ import { PerformanceTuningAvailabilityParams, PerformanceTuningCapabilities } from '../../../types/drivers/performance/PerformanceTuningCapabilities';
5
+ import { QueryParams } from '../../../types/drivers/QueryParams';
6
+ import { PerformanceTuningCollectionOptions, PerformanceTuningContextProvider, PerformanceTuningTableTarget, VendorColumnStatistics, VendorExecutionPlan, VendorPhysicalHealth, VendorTableDefinition, VendorTableStatistics } from './PerformanceTuningContextProvider';
7
+ export interface OraclePerformanceTuningDriverAccess {
8
+ requestSql(params: QueryParams): Promise<ResultSetData>;
9
+ getTableDDL(params: {
10
+ tableName: string;
11
+ schemaName?: string;
12
+ }): Promise<string>;
13
+ collectPerformanceTuningPlanRows(params: QueryParams): Promise<ResultSetData>;
14
+ collectPerformanceTuningActualPlan(params: QueryParams, options?: {
15
+ timeoutMs?: number;
16
+ signal?: AbortSignal;
17
+ }): Promise<ActualPlanArtifact>;
18
+ getCurrentSchema(): Promise<string>;
19
+ }
20
+ export declare class OraclePerformanceTuningProvider implements PerformanceTuningContextProvider {
21
+ private readonly driver;
22
+ constructor(driver: OraclePerformanceTuningDriverAccess);
23
+ private targetSchemaOf;
24
+ checkCapabilities(params: PerformanceTuningAvailabilityParams): Promise<GeneralResult<PerformanceTuningCapabilities>>;
25
+ private resolveIndexOnlyAccessTables;
26
+ collectExecutionPlan(params: PerformanceTuningContextParams, options: PerformanceTuningCallOptions & {
27
+ timeoutMs: number;
28
+ }): Promise<GeneralResult<VendorExecutionPlan>>;
29
+ private runCatalogQuery;
30
+ private collectDdl;
31
+ collectTableDefinition(target: PerformanceTuningTableTarget, options: PerformanceTuningCollectionOptions): Promise<GeneralResult<VendorTableDefinition>>;
32
+ collectTableStatistics(target: PerformanceTuningTableTarget, options: PerformanceTuningCollectionOptions): Promise<GeneralResult<VendorTableStatistics>>;
33
+ collectColumnStatistics(target: PerformanceTuningTableTarget & {
34
+ columnNames: string[];
35
+ }, options: PerformanceTuningCollectionOptions): Promise<GeneralResult<VendorColumnStatistics[]>>;
36
+ collectPhysicalHealth(target: PerformanceTuningTableTarget, options: PerformanceTuningCollectionOptions): Promise<GeneralResult<VendorPhysicalHealth>>;
37
+ }