@l-v-yonsama/multi-platform-database-drivers 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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 +38 -32
@@ -1,7 +1,8 @@
1
1
  import { RdhKey, ResultSetData, ResultSetDataBuilder } from '@l-v-yonsama/rdh';
2
2
  import * as mysql from 'mysql2/promise';
3
3
  import { DbSchema, DbTable, RdsDatabase } from '../resource';
4
- import { ConnectionSetting, LimitClauseStyle, QueryParams, TransactionIsolationLevel } from '../types';
4
+ import { ConnectionSetting, GeneralResult, LimitClauseStyle, QueryParams, StatementStatisticsParams, TransactionIsolationLevel } from '../types';
5
+ import { PerformanceTuningContextProvider, RdbDashboardProvider } from './providers';
5
6
  import { RDSBaseDriver } from './RDSBaseDriver';
6
7
  import { QuoteChar } from '../helpers';
7
8
  export declare class MySQLDriver extends RDSBaseDriver {
@@ -31,6 +32,14 @@ export declare class MySQLDriver extends RDSBaseDriver {
31
32
  dbTable: DbTable;
32
33
  }): Promise<ResultSetDataBuilder>;
33
34
  getVersion(): Promise<string>;
35
+ private performanceTuningContextProvider?;
36
+ private rdbDashboardProvider?;
37
+ protected getRdbDashboardProvider(): RdbDashboardProvider;
38
+ protected getPerformanceTuningContextProvider(): PerformanceTuningContextProvider;
39
+ supportsGetStatementStatistics(): boolean;
40
+ checkStatementStatisticsAvailability(databaseName: string): Promise<GeneralResult<void>>;
41
+ private supportsStatementStatisticsSampleColumns;
42
+ getStatementStatistics(params: StatementStatisticsParams): Promise<ResultSetData>;
34
43
  getLocks(dbName: string): Promise<ResultSetData>;
35
44
  getSessions(dbName: string): Promise<ResultSetData>;
36
45
  getInfomationSchemasSub(): Promise<Array<RdsDatabase>>;
@@ -7,7 +7,9 @@ const enum_values_1 = require("enum-values");
7
7
  const mysql = tslib_1.__importStar(require("mysql2/promise"));
8
8
  const resource_1 = require("../resource");
9
9
  const MySQLColumnType_1 = require("../types/resource/MySQLColumnType");
10
+ const providers_1 = require("./providers");
10
11
  const RDSBaseDriver_1 = require("./RDSBaseDriver");
12
+ const utils_1 = require("../utils");
11
13
  class MySQLDriver extends RDSBaseDriver_1.RDSBaseDriver {
12
14
  constructor(conRes) {
13
15
  super(conRes);
@@ -260,6 +262,124 @@ class MySQLDriver extends RDSBaseDriver_1.RDSBaseDriver {
260
262
  return rdb.rs.rows[0].values.version;
261
263
  });
262
264
  }
265
+ getRdbDashboardProvider() {
266
+ if (!this.rdbDashboardProvider) {
267
+ this.rdbDashboardProvider = new providers_1.MySQLRdbDashboardProvider(this);
268
+ }
269
+ return this.rdbDashboardProvider;
270
+ }
271
+ getPerformanceTuningContextProvider() {
272
+ if (!this.performanceTuningContextProvider) {
273
+ this.performanceTuningContextProvider = new providers_1.MySQLPerformanceTuningProvider(this);
274
+ }
275
+ return this.performanceTuningContextProvider;
276
+ }
277
+ supportsGetStatementStatistics() {
278
+ return true;
279
+ }
280
+ checkStatementStatisticsAvailability(databaseName) {
281
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
282
+ var _a, _b;
283
+ try {
284
+ const status = yield this.requestSql({
285
+ sql: 'SELECT @@performance_schema AS performance_schema_enabled',
286
+ });
287
+ const values = (_a = status.rows[0]) === null || _a === void 0 ? void 0 : _a.values;
288
+ const performanceSchemaEnabled = Number((_b = values === null || values === void 0 ? void 0 : values.performance_schema_enabled) !== null && _b !== void 0 ? _b : 0);
289
+ if (performanceSchemaEnabled !== 1) {
290
+ return {
291
+ ok: false,
292
+ message: 'Statement statistics are unavailable. Enable Performance Schema and the statements_digest consumer, then try again.',
293
+ };
294
+ }
295
+ yield this.requestSql({
296
+ sql: `SELECT DIGEST
297
+ FROM performance_schema.events_statements_summary_by_digest
298
+ WHERE FALSE`,
299
+ });
300
+ return { ok: true, message: '' };
301
+ }
302
+ catch (e) {
303
+ const detail = e instanceof Error ? e.message : String(e);
304
+ return {
305
+ ok: false,
306
+ message: 'Statement statistics are unavailable. Enable the statements_digest consumer, grant SELECT access to performance_schema.events_statements_summary_by_digest, and try again.' +
307
+ (detail ? ` ${detail}` : ''),
308
+ };
309
+ }
310
+ });
311
+ }
312
+ supportsStatementStatisticsSampleColumns() {
313
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
314
+ try {
315
+ yield this.requestSql({
316
+ sql: `SELECT QUERY_SAMPLE_TEXT, QUERY_SAMPLE_SEEN
317
+ FROM performance_schema.events_statements_summary_by_digest
318
+ WHERE FALSE`,
319
+ });
320
+ return true;
321
+ }
322
+ catch (e) {
323
+ const code = e === null || e === void 0 ? void 0 : e.code;
324
+ if (code === 'ER_BAD_FIELD_ERROR') {
325
+ return false;
326
+ }
327
+ throw e;
328
+ }
329
+ });
330
+ }
331
+ getStatementStatistics(params) {
332
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
333
+ const availability = yield this.checkStatementStatisticsAvailability(params.databaseName);
334
+ if (!availability.ok) {
335
+ throw new Error(availability.message);
336
+ }
337
+ const normalized = (0, utils_1.normalizeStatementStatisticsParams)(params);
338
+ const orderBy = (0, utils_1.getStatementStatisticsOrderByColumn)(normalized.sortBy);
339
+ const supportsSampleColumns = yield this.supportsStatementStatisticsSampleColumns();
340
+ const sampleColumnsSql = supportsSampleColumns
341
+ ? `,
342
+ QUERY_SAMPLE_TEXT AS query_sample_text,
343
+ QUERY_SAMPLE_SEEN AS query_sample_seen_at,
344
+ (QUERY_SAMPLE_TEXT IS NOT NULL
345
+ AND LENGTH(QUERY_SAMPLE_TEXT) >= @@GLOBAL.performance_schema_max_sql_text_length
346
+ ) AS query_sample_text_may_be_truncated`
347
+ : '';
348
+ const sql = `SELECT
349
+ DIGEST AS statement_id,
350
+ SCHEMA_NAME AS database_name,
351
+ DIGEST_TEXT AS query,
352
+ COUNT_STAR AS execution_count,
353
+ SUM_TIMER_WAIT / 1000000000 AS total_elapsed_time_ms,
354
+ AVG_TIMER_WAIT / 1000000000 AS average_elapsed_time_ms,
355
+ MIN_TIMER_WAIT / 1000000000 AS min_elapsed_time_ms,
356
+ MAX_TIMER_WAIT / 1000000000 AS max_elapsed_time_ms,
357
+ SUM_ROWS_SENT AS rows_processed,
358
+ SUM_ROWS_EXAMINED AS rows_examined,
359
+ NULL AS logical_reads,
360
+ NULL AS physical_reads,
361
+ LAST_SEEN AS last_executed_at,
362
+ FIRST_SEEN AS statistics_since,
363
+ 'performance_schema.events_statements_summary_by_digest' AS source${sampleColumnsSql}
364
+ FROM performance_schema.events_statements_summary_by_digest
365
+ WHERE LOWER(SCHEMA_NAME) = LOWER(?)
366
+ AND DIGEST IS NOT NULL
367
+ AND COUNT_STAR > 0
368
+ AND AVG_TIMER_WAIT / 1000000000 >= ?
369
+ AND DIGEST_TEXT NOT LIKE '%events_statements_summary_by_digest%'
370
+ ORDER BY ${orderBy} DESC
371
+ LIMIT ${normalized.limit}`;
372
+ return yield this.requestSql({
373
+ sql,
374
+ conditions: {
375
+ binds: [
376
+ normalized.databaseName,
377
+ String(normalized.minimumAverageElapsedTimeMs),
378
+ ],
379
+ },
380
+ });
381
+ });
382
+ }
263
383
  getLocks(dbName) {
264
384
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
265
385
  let sql = '';
@@ -332,8 +452,18 @@ ORDER BY ID DESC`;
332
452
  }
333
453
  getInfomationSchemasSub() {
334
454
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
455
+ var _a, _b, _c;
335
456
  const dbResources = new Array();
336
457
  const dbDatabase = new resource_1.RdsDatabase(this.conRes.database);
458
+ dbDatabase.capabilities = Object.assign(Object.assign({}, ((_a = dbDatabase.capabilities) !== null && _a !== void 0 ? _a : {})), { dashboards: [
459
+ ...((_c = (_b = dbDatabase.capabilities) === null || _b === void 0 ? void 0 : _b.dashboards) !== null && _c !== void 0 ? _c : []),
460
+ {
461
+ dashboardId: 'rdb-database',
462
+ providerId: 'rdb.mysql.database',
463
+ variant: 'mysql',
464
+ hints: { databaseName: this.conRes.database },
465
+ },
466
+ ] });
337
467
  dbResources.push(dbDatabase);
338
468
  const dbSchemas = this.filterSchemas(yield this.getSchemas(dbDatabase));
339
469
  dbSchemas.forEach((res) => {
@@ -1 +1 @@
1
- {"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../src/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MySQLDriver.js","sourceRoot":"","sources":["../../../src/drivers/MySQLDriver.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,17 @@
1
1
  import { RdhKey, ResultSetData, ResultSetDataBuilder } from '@l-v-yonsama/rdh';
2
2
  import oracledb from 'oracledb';
3
3
  import { DbSchema, DbTable, RdsDatabase } from '../resource';
4
- import { ConnectionSetting, LimitClauseStyle, QueryParams, TransactionIsolationLevel } from '../types';
4
+ import { ConnectionSetting, ActualPlanArtifact, GeneralResult, LimitClauseStyle, QueryParams, StatementStatisticsParams, TransactionIsolationLevel } from '../types';
5
5
  import { QuoteChar } from '../helpers';
6
6
  import { RDSBaseDriver } from './RDSBaseDriver';
7
+ import { PerformanceTuningContextProvider, RdbDashboardProvider } from './providers';
7
8
  export declare class OracleDriver extends RDSBaseDriver {
8
9
  private con;
9
10
  private autoCommitEnabled;
10
11
  private currentIsolationLevel;
12
+ private rdbDashboardProvider?;
11
13
  constructor(conRes: ConnectionSetting);
14
+ protected getRdbDashboardProvider(): RdbDashboardProvider;
12
15
  begin(): Promise<void>;
13
16
  commit(): Promise<void>;
14
17
  rollback(): Promise<void>;
@@ -29,6 +32,16 @@ export declare class OracleDriver extends RDSBaseDriver {
29
32
  dbTable: DbTable;
30
33
  }): Promise<ResultSetDataBuilder>;
31
34
  getVersion(): Promise<string>;
35
+ private performanceTuningContextProvider?;
36
+ protected getPerformanceTuningContextProvider(): PerformanceTuningContextProvider;
37
+ collectPerformanceTuningPlanRows(params: QueryParams): Promise<ResultSetData>;
38
+ collectPerformanceTuningActualPlan(params: QueryParams, options?: {
39
+ timeoutMs?: number;
40
+ signal?: AbortSignal;
41
+ }): Promise<ActualPlanArtifact>;
42
+ supportsGetStatementStatistics(): boolean;
43
+ checkStatementStatisticsAvailability(databaseName: string): Promise<GeneralResult<void>>;
44
+ getStatementStatistics(params: StatementStatisticsParams): Promise<ResultSetData>;
32
45
  getCurrentSchema(): Promise<string>;
33
46
  getLocks(dbName: string): Promise<ResultSetData>;
34
47
  getSessions(dbName: string): Promise<ResultSetData>;
@@ -9,6 +9,8 @@ const resource_1 = require("../resource");
9
9
  const types_1 = require("../types");
10
10
  const OracleColumnType_1 = require("../types/resource/OracleColumnType");
11
11
  const RDSBaseDriver_1 = require("./RDSBaseDriver");
12
+ const providers_1 = require("./providers");
13
+ const utils_1 = require("../utils");
12
14
  oracledb_1.default.outFormat = oracledb_1.default.OUT_FORMAT_OBJECT;
13
15
  oracledb_1.default.fetchAsString = [oracledb_1.default.CLOB];
14
16
  oracledb_1.default.fetchAsBuffer = [oracledb_1.default.BLOB];
@@ -18,9 +20,16 @@ class OracleDriver extends RDSBaseDriver_1.RDSBaseDriver {
18
20
  this.autoCommitEnabled = true;
19
21
  this.currentIsolationLevel = 'READ COMMITTED';
20
22
  }
23
+ getRdbDashboardProvider() {
24
+ if (!this.rdbDashboardProvider) {
25
+ this.rdbDashboardProvider = new providers_1.OracleRdbDashboardProvider(this);
26
+ }
27
+ return this.rdbDashboardProvider;
28
+ }
21
29
  begin() {
22
30
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
23
31
  var _a;
32
+ this.assertSessionStateAvailable('begin a transaction');
24
33
  this.autoCommitEnabled = false;
25
34
  const { transactionIsolationLevel } = this.conRes;
26
35
  if (transactionIsolationLevel === 'SERIALIZABLE' ||
@@ -36,6 +45,7 @@ class OracleDriver extends RDSBaseDriver_1.RDSBaseDriver {
36
45
  commit() {
37
46
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
38
47
  var _a;
48
+ this.assertSessionStateAvailable('commit a transaction');
39
49
  yield ((_a = this.con) === null || _a === void 0 ? void 0 : _a.commit());
40
50
  this.autoCommitEnabled = true;
41
51
  });
@@ -43,6 +53,7 @@ class OracleDriver extends RDSBaseDriver_1.RDSBaseDriver {
43
53
  rollback() {
44
54
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
45
55
  var _a;
56
+ this.assertSessionStateAvailable('roll back a transaction');
46
57
  yield ((_a = this.con) === null || _a === void 0 ? void 0 : _a.rollback());
47
58
  this.autoCommitEnabled = true;
48
59
  });
@@ -148,6 +159,7 @@ class OracleDriver extends RDSBaseDriver_1.RDSBaseDriver {
148
159
  requestSqlSub(params) {
149
160
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
150
161
  var _a, _b, _c, _d, _e;
162
+ this.assertSessionStateAvailable('run a query');
151
163
  const { sql, conditions, dbTable, meta } = params;
152
164
  if (!this.con) {
153
165
  throw new Error('No connection');
@@ -185,6 +197,7 @@ class OracleDriver extends RDSBaseDriver_1.RDSBaseDriver {
185
197
  explainSqlSub(params) {
186
198
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
187
199
  var _a, _b;
200
+ this.assertSessionStateAvailable('retrieve an execution plan');
188
201
  if (!this.con) {
189
202
  throw new Error('No connection');
190
203
  }
@@ -200,7 +213,12 @@ class OracleDriver extends RDSBaseDriver_1.RDSBaseDriver {
200
213
  }
201
214
  explainAnalyzeSqlSub(params) {
202
215
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
203
- return this.explainSqlSub(params);
216
+ const actualPlan = yield this.collectPerformanceTuningActualPlan(params);
217
+ const rdb = new rdh_1.ResultSetDataBuilder([
218
+ (0, rdh_1.createRdhKey)({ name: 'PLAN_TABLE_OUTPUT', type: rdh_1.GeneralColumnType.TEXT, width: 300 }),
219
+ ]);
220
+ actualPlan.content.split('\n').forEach((line) => rdb.addRow({ PLAN_TABLE_OUTPUT: line }));
221
+ return rdb;
204
222
  });
205
223
  }
206
224
  getVersion() {
@@ -209,6 +227,194 @@ class OracleDriver extends RDSBaseDriver_1.RDSBaseDriver {
209
227
  return (_b = (_a = this.con) === null || _a === void 0 ? void 0 : _a.oracleServerVersionString) !== null && _b !== void 0 ? _b : '';
210
228
  });
211
229
  }
230
+ getPerformanceTuningContextProvider() {
231
+ if (!this.performanceTuningContextProvider) {
232
+ this.performanceTuningContextProvider = new providers_1.OraclePerformanceTuningProvider(this);
233
+ }
234
+ return this.performanceTuningContextProvider;
235
+ }
236
+ collectPerformanceTuningPlanRows(params) {
237
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
238
+ var _a, _b;
239
+ this.assertSessionStateAvailable('retrieve an execution plan');
240
+ if (!this.con) {
241
+ throw new Error('No connection');
242
+ }
243
+ const binds = (_b = (_a = params.conditions) === null || _a === void 0 ? void 0 : _a.binds) !== null && _b !== void 0 ? _b : [];
244
+ const statementId = `dbnpt_${Date.now()}_${Math.floor(Math.random() * 100000)}`;
245
+ yield this.con.execute(`EXPLAIN PLAN SET STATEMENT_ID = '${statementId}' FOR ${params.sql}`, binds, { autoCommit: false });
246
+ try {
247
+ const rdb = yield this.requestSqlSub({
248
+ sql: `SELECT ID, PARENT_ID, DEPTH, OPERATION, OPTIONS, OBJECT_OWNER, OBJECT_NAME, OBJECT_ALIAS, OBJECT_TYPE, COST, CARDINALITY, BYTES, ACCESS_PREDICATES, FILTER_PREDICATES
249
+ FROM PLAN_TABLE WHERE STATEMENT_ID = :1 ORDER BY ID`,
250
+ dbTable: undefined,
251
+ conditions: { binds: [statementId] },
252
+ meta: { type: 'performanceTuningContext' },
253
+ });
254
+ return rdb.rs;
255
+ }
256
+ finally {
257
+ try {
258
+ yield this.con.execute(`DELETE FROM PLAN_TABLE WHERE STATEMENT_ID = :1`, [statementId], { autoCommit: this.autoCommitEnabled });
259
+ }
260
+ catch (_c) {
261
+ }
262
+ }
263
+ });
264
+ }
265
+ collectPerformanceTuningActualPlan(params, options) {
266
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
267
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
268
+ if (!this.con) {
269
+ throw new Error('No connection');
270
+ }
271
+ if (!(0, utils_1.isSingleSelectStatement)(params.sql)) {
272
+ throw new Error('Oracle actual-plan capture is limited to a single SELECT statement');
273
+ }
274
+ if (!this.autoCommitEnabled) {
275
+ throw new Error('Cannot capture an actual plan while a transaction is active');
276
+ }
277
+ if ((_a = options === null || options === void 0 ? void 0 : options.signal) === null || _a === void 0 ? void 0 : _a.aborted) {
278
+ throw new Error('Actual plan capture was cancelled');
279
+ }
280
+ const releaseSessionState = this.beginExclusiveSessionStateOperation('Oracle actual-plan capture');
281
+ const con = this.con;
282
+ const oldCallTimeout = con.callTimeout;
283
+ let previousStatisticsLevel;
284
+ let statisticsLevelChanged = false;
285
+ let captureError;
286
+ let artifact;
287
+ let cleanupError;
288
+ const breakExecution = () => {
289
+ void con.break();
290
+ };
291
+ (_b = options === null || options === void 0 ? void 0 : options.signal) === null || _b === void 0 ? void 0 : _b.addEventListener('abort', breakExecution, { once: true });
292
+ try {
293
+ if ((options === null || options === void 0 ? void 0 : options.timeoutMs) && options.timeoutMs > 0) {
294
+ con.callTimeout = options.timeoutMs;
295
+ }
296
+ const setting = yield con.execute("SELECT VALUE FROM V$PARAMETER WHERE NAME = 'statistics_level'");
297
+ previousStatisticsLevel = String((_e = (_d = (_c = setting.rows) === null || _c === void 0 ? void 0 : _c[0]) === null || _d === void 0 ? void 0 : _d.VALUE) !== null && _e !== void 0 ? _e : '').toUpperCase();
298
+ if (!['BASIC', 'TYPICAL', 'ALL'].includes(previousStatisticsLevel)) {
299
+ throw new Error('Oracle did not return a restorable STATISTICS_LEVEL value');
300
+ }
301
+ yield con.execute('ALTER SESSION SET STATISTICS_LEVEL = ALL');
302
+ statisticsLevelChanged = true;
303
+ yield con.execute(params.sql, (_g = (_f = params.conditions) === null || _f === void 0 ? void 0 : _f.binds) !== null && _g !== void 0 ? _g : [], { autoCommit: false });
304
+ const cursor = yield con.execute(`SELECT PREV_SQL_ID, PREV_CHILD_NUMBER
305
+ FROM V$SESSION
306
+ WHERE AUDSID = SYS_CONTEXT('USERENV', 'SESSIONID')`);
307
+ const sqlId = (_j = (_h = cursor.rows) === null || _h === void 0 ? void 0 : _h[0]) === null || _j === void 0 ? void 0 : _j.PREV_SQL_ID;
308
+ const childNumber = (_l = (_k = cursor.rows) === null || _k === void 0 ? void 0 : _k[0]) === null || _l === void 0 ? void 0 : _l.PREV_CHILD_NUMBER;
309
+ if (!sqlId || childNumber === undefined || childNumber === null) {
310
+ throw new Error('Oracle could not identify the executed cursor for actual-plan capture');
311
+ }
312
+ const display = yield con.execute("SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(:1, :2, 'ALLSTATS LAST'))", [sqlId, childNumber]);
313
+ const content = ((_m = display.rows) !== null && _m !== void 0 ? _m : [])
314
+ .map((row) => row.PLAN_TABLE_OUTPUT)
315
+ .filter((line) => typeof line === 'string')
316
+ .join('\n');
317
+ if (!content) {
318
+ throw new Error('Oracle did not return an ALLSTATS LAST cursor plan');
319
+ }
320
+ artifact = { source: 'DBMS_XPLAN.DISPLAY_CURSOR ALLSTATS LAST', format: 'text', content };
321
+ }
322
+ catch (e) {
323
+ captureError = e;
324
+ }
325
+ finally {
326
+ (_o = options === null || options === void 0 ? void 0 : options.signal) === null || _o === void 0 ? void 0 : _o.removeEventListener('abort', breakExecution);
327
+ if (statisticsLevelChanged && previousStatisticsLevel) {
328
+ try {
329
+ yield con.execute(`ALTER SESSION SET STATISTICS_LEVEL = ${previousStatisticsLevel}`);
330
+ }
331
+ catch (e) {
332
+ cleanupError = e;
333
+ }
334
+ }
335
+ con.callTimeout = oldCallTimeout;
336
+ releaseSessionState();
337
+ }
338
+ if (cleanupError) {
339
+ const disconnectError = yield this.disconnect();
340
+ if (disconnectError) {
341
+ throw new Error(`Failed to restore Oracle actual-plan session state; connection was closed. ${disconnectError}`);
342
+ }
343
+ }
344
+ if (captureError) {
345
+ throw captureError;
346
+ }
347
+ if (cleanupError) {
348
+ throw cleanupError;
349
+ }
350
+ if (!artifact) {
351
+ throw new Error('Oracle actual-plan capture completed without a cursor plan');
352
+ }
353
+ return artifact;
354
+ });
355
+ }
356
+ supportsGetStatementStatistics() {
357
+ return true;
358
+ }
359
+ checkStatementStatisticsAvailability(databaseName) {
360
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
361
+ try {
362
+ yield this.requestSql({
363
+ sql: 'SELECT SQL_ID FROM V$SQLSTATS WHERE 1 = 0',
364
+ });
365
+ return { ok: true, message: '' };
366
+ }
367
+ catch (e) {
368
+ const detail = e instanceof Error ? e.message : String(e);
369
+ return {
370
+ ok: false,
371
+ message: 'Statement statistics are unavailable. Grant read access to V$SQLSTATS and try again.' +
372
+ (detail ? ` ${detail}` : ''),
373
+ };
374
+ }
375
+ });
376
+ }
377
+ getStatementStatistics(params) {
378
+ return tslib_1.__awaiter(this, void 0, void 0, function* () {
379
+ const normalized = (0, utils_1.normalizeStatementStatisticsParams)(params);
380
+ const orderBy = (0, utils_1.getStatementStatisticsOrderByColumn)(normalized.sortBy);
381
+ const sql = `SELECT *
382
+ FROM (
383
+ SELECT
384
+ SQL_ID AS "statement_id",
385
+ SYS_CONTEXT('USERENV', 'DB_NAME') AS "database_name",
386
+ -- SQL_TEXT truncates at 1000 chars; SQL_FULLTEXT (CLOB) returns the
387
+ -- whole statement. The self-referential exclusion filter below
388
+ -- intentionally keeps using SQL_TEXT - it only needs to detect the
389
+ -- string's presence, and comparing a CLOB there gains nothing.
390
+ SQL_FULLTEXT AS "query",
391
+ EXECUTIONS AS "execution_count",
392
+ ELAPSED_TIME / 1000 AS "total_elapsed_time_ms",
393
+ CASE WHEN EXECUTIONS > 0 THEN ELAPSED_TIME / EXECUTIONS / 1000 END AS "average_elapsed_time_ms",
394
+ CAST(NULL AS NUMBER) AS "min_elapsed_time_ms",
395
+ CAST(NULL AS NUMBER) AS "max_elapsed_time_ms",
396
+ ROWS_PROCESSED AS "rows_processed",
397
+ CAST(NULL AS NUMBER) AS "rows_examined",
398
+ BUFFER_GETS AS "logical_reads",
399
+ DISK_READS AS "physical_reads",
400
+ LAST_ACTIVE_TIME AS "last_executed_at",
401
+ CAST(NULL AS TIMESTAMP) AS "statistics_since",
402
+ 'V$SQLSTATS' AS "source"
403
+ FROM V$SQLSTATS
404
+ WHERE EXECUTIONS > 0
405
+ AND ELAPSED_TIME / EXECUTIONS / 1000 >= :1
406
+ AND UPPER(SQL_TEXT) NOT LIKE '%V$SQLSTATS%'
407
+ ORDER BY "${orderBy}" DESC
408
+ )
409
+ WHERE ROWNUM <= ${normalized.limit}`;
410
+ return yield this.requestSql({
411
+ sql,
412
+ conditions: {
413
+ binds: [String(normalized.minimumAverageElapsedTimeMs)],
414
+ },
415
+ });
416
+ });
417
+ }
212
418
  getCurrentSchema() {
213
419
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
214
420
  var _a, _b, _c;
@@ -260,9 +466,18 @@ ORDER BY s.SID DESC`;
260
466
  }
261
467
  getInfomationSchemasSub() {
262
468
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
263
- var _a;
469
+ var _a, _b, _c, _d;
264
470
  const dbResources = new Array();
265
471
  const dbDatabase = new resource_1.RdsDatabase((_a = this.conRes.database) !== null && _a !== void 0 ? _a : this.conRes.name);
472
+ dbDatabase.capabilities = Object.assign(Object.assign({}, ((_b = dbDatabase.capabilities) !== null && _b !== void 0 ? _b : {})), { dashboards: [
473
+ ...((_d = (_c = dbDatabase.capabilities) === null || _c === void 0 ? void 0 : _c.dashboards) !== null && _d !== void 0 ? _d : []),
474
+ {
475
+ dashboardId: 'rdb-database',
476
+ providerId: 'rdb.oracle.database',
477
+ variant: 'oracle',
478
+ hints: { databaseName: dbDatabase.name },
479
+ },
480
+ ] });
266
481
  dbResources.push(dbDatabase);
267
482
  const currentSchemaName = yield this.getCurrentSchema();
268
483
  const dbSchemas = this.filterSchemas(yield this.getSchemas(dbDatabase));