@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.
- package/README.md +1 -0
- package/built/schema/log-parse-config.schema.json +4 -4
- package/built/src/drivers/AwsDriver.d.ts +25 -1
- package/built/src/drivers/AwsDriver.js +189 -0
- package/built/src/drivers/AwsDriver.js.map +1 -1
- package/built/src/drivers/BaseDriver.js.map +1 -1
- package/built/src/drivers/DBDriverResolver.js.map +1 -1
- package/built/src/drivers/KeycloakDriver.js.map +1 -1
- package/built/src/drivers/MqttDriver.js.map +1 -1
- package/built/src/drivers/MySQLDriver.d.ts +10 -1
- package/built/src/drivers/MySQLDriver.js +130 -0
- package/built/src/drivers/MySQLDriver.js.map +1 -1
- package/built/src/drivers/OracleDriver.d.ts +14 -1
- package/built/src/drivers/OracleDriver.js +217 -2
- package/built/src/drivers/OracleDriver.js.map +1 -1
- package/built/src/drivers/PostgresDriver.d.ts +9 -1
- package/built/src/drivers/PostgresDriver.js +90 -2
- package/built/src/drivers/PostgresDriver.js.map +1 -1
- package/built/src/drivers/RDSBaseDriver.d.ts +26 -1
- package/built/src/drivers/RDSBaseDriver.js +601 -0
- package/built/src/drivers/RDSBaseDriver.js.map +1 -1
- package/built/src/drivers/RedisDriver.js.map +1 -1
- package/built/src/drivers/SQLServerDriver.d.ts +18 -1
- package/built/src/drivers/SQLServerDriver.js +282 -6
- package/built/src/drivers/SQLServerDriver.js.map +1 -1
- package/built/src/drivers/SQLiteDriver.d.ts +7 -1
- package/built/src/drivers/SQLiteDriver.js +33 -1
- package/built/src/drivers/SQLiteDriver.js.map +1 -1
- package/built/src/drivers/aws/AwsCloudFormationServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsDynamoServiceClient.d.ts +61 -5
- package/built/src/drivers/aws/AwsDynamoServiceClient.js +404 -108
- package/built/src/drivers/aws/AwsDynamoServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsS3ServiceClient.js +18 -6
- package/built/src/drivers/aws/AwsS3ServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsSQSServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsSecretsManagerServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsServiceClient.js.map +1 -1
- package/built/src/drivers/aws/AwsSsmServiceClient.js.map +1 -1
- package/built/src/drivers/aws/dynamoDbRdhSummary.d.ts +16 -0
- package/built/src/drivers/aws/dynamoDbRdhSummary.js +81 -0
- package/built/src/drivers/aws/dynamoDbRdhSummary.js.map +1 -0
- package/built/src/drivers/aws/dynamoDbResultMetadata.d.ts +9 -0
- package/built/src/drivers/aws/dynamoDbResultMetadata.js +71 -0
- package/built/src/drivers/aws/dynamoDbResultMetadata.js.map +1 -0
- package/built/src/drivers/index.d.ts +1 -0
- package/built/src/drivers/index.js +1 -0
- package/built/src/drivers/index.js.map +1 -1
- package/built/src/drivers/keycloak/resourceTreeBuilder.js.map +1 -1
- package/built/src/drivers/keycloak/scanResultBuilder.js.map +1 -1
- package/built/src/drivers/memcache/helper.js.map +1 -1
- package/built/src/drivers/providers/index.d.ts +3 -0
- package/built/src/drivers/providers/index.js +7 -0
- package/built/src/drivers/providers/index.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbMetricServiceAdapter.d.ts +8 -0
- package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbMetricServiceAdapter.js +421 -0
- package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbMetricServiceAdapter.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbOverviewMetricServiceAdapter.d.ts +7 -0
- package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbOverviewMetricServiceAdapter.js +84 -0
- package/built/src/drivers/providers/metrics/adapters/dynamodb/DynamoDbOverviewMetricServiceAdapter.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/dynamodb/index.d.ts +2 -0
- package/built/src/drivers/providers/metrics/adapters/dynamodb/index.js +6 -0
- package/built/src/drivers/providers/metrics/adapters/dynamodb/index.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/index.d.ts +6 -0
- package/built/src/drivers/providers/metrics/adapters/index.js +10 -0
- package/built/src/drivers/providers/metrics/adapters/index.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/logs/CloudWatchLogsMetricServiceAdapter.d.ts +7 -0
- package/built/src/drivers/providers/metrics/adapters/logs/CloudWatchLogsMetricServiceAdapter.js +132 -0
- package/built/src/drivers/providers/metrics/adapters/logs/CloudWatchLogsMetricServiceAdapter.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/logs/index.d.ts +1 -0
- package/built/src/drivers/providers/metrics/adapters/logs/index.js +5 -0
- package/built/src/drivers/providers/metrics/adapters/logs/index.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/overview/index.d.ts +1 -0
- package/built/src/drivers/providers/metrics/adapters/overview/index.js +5 -0
- package/built/src/drivers/providers/metrics/adapters/overview/index.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/overview/overviewMetricAdapterUtils.d.ts +26 -0
- package/built/src/drivers/providers/metrics/adapters/overview/overviewMetricAdapterUtils.js +80 -0
- package/built/src/drivers/providers/metrics/adapters/overview/overviewMetricAdapterUtils.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/s3/S3MetricServiceAdapter.d.ts +21 -0
- package/built/src/drivers/providers/metrics/adapters/s3/S3MetricServiceAdapter.js +478 -0
- package/built/src/drivers/providers/metrics/adapters/s3/S3MetricServiceAdapter.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/s3/S3OverviewMetricServiceAdapter.d.ts +13 -0
- package/built/src/drivers/providers/metrics/adapters/s3/S3OverviewMetricServiceAdapter.js +172 -0
- package/built/src/drivers/providers/metrics/adapters/s3/S3OverviewMetricServiceAdapter.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/s3/index.d.ts +2 -0
- package/built/src/drivers/providers/metrics/adapters/s3/index.js +6 -0
- package/built/src/drivers/providers/metrics/adapters/s3/index.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/ses/SesMetricServiceAdapter.d.ts +13 -0
- package/built/src/drivers/providers/metrics/adapters/ses/SesMetricServiceAdapter.js +183 -0
- package/built/src/drivers/providers/metrics/adapters/ses/SesMetricServiceAdapter.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/ses/index.d.ts +1 -0
- package/built/src/drivers/providers/metrics/adapters/ses/index.js +5 -0
- package/built/src/drivers/providers/metrics/adapters/ses/index.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/sqs/SqsMetricServiceAdapter.d.ts +7 -0
- package/built/src/drivers/providers/metrics/adapters/sqs/SqsMetricServiceAdapter.js +174 -0
- package/built/src/drivers/providers/metrics/adapters/sqs/SqsMetricServiceAdapter.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/sqs/SqsOverviewMetricServiceAdapter.d.ts +7 -0
- package/built/src/drivers/providers/metrics/adapters/sqs/SqsOverviewMetricServiceAdapter.js +81 -0
- package/built/src/drivers/providers/metrics/adapters/sqs/SqsOverviewMetricServiceAdapter.js.map +1 -0
- package/built/src/drivers/providers/metrics/adapters/sqs/index.d.ts +2 -0
- package/built/src/drivers/providers/metrics/adapters/sqs/index.js +6 -0
- package/built/src/drivers/providers/metrics/adapters/sqs/index.js.map +1 -0
- package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsAvailability.d.ts +23 -0
- package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsAvailability.js +69 -0
- package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsAvailability.js.map +1 -0
- package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsCollector.d.ts +24 -0
- package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsCollector.js +49 -0
- package/built/src/drivers/providers/metrics/cloudwatch/CloudWatchMetricsCollector.js.map +1 -0
- package/built/src/drivers/providers/metrics/cloudwatch/alignSeriesByTimestamp.d.ts +2 -0
- package/built/src/drivers/providers/metrics/cloudwatch/alignSeriesByTimestamp.js +16 -0
- package/built/src/drivers/providers/metrics/cloudwatch/alignSeriesByTimestamp.js.map +1 -0
- package/built/src/drivers/providers/metrics/cloudwatch/cloudWatchMetricsTransport.d.ts +21 -0
- package/built/src/drivers/providers/metrics/cloudwatch/cloudWatchMetricsTransport.js +193 -0
- package/built/src/drivers/providers/metrics/cloudwatch/cloudWatchMetricsTransport.js.map +1 -0
- package/built/src/drivers/providers/metrics/cloudwatch/collectAcrossMetricEndpoints.d.ts +6 -0
- package/built/src/drivers/providers/metrics/cloudwatch/collectAcrossMetricEndpoints.js +99 -0
- package/built/src/drivers/providers/metrics/cloudwatch/collectAcrossMetricEndpoints.js.map +1 -0
- package/built/src/drivers/providers/metrics/cloudwatch/deriveMetricSeries.d.ts +2 -0
- package/built/src/drivers/providers/metrics/cloudwatch/deriveMetricSeries.js +100 -0
- package/built/src/drivers/providers/metrics/cloudwatch/deriveMetricSeries.js.map +1 -0
- package/built/src/drivers/providers/metrics/cloudwatch/index.d.ts +7 -0
- package/built/src/drivers/providers/metrics/cloudwatch/index.js +11 -0
- package/built/src/drivers/providers/metrics/cloudwatch/index.js.map +1 -0
- package/built/src/drivers/providers/metrics/cloudwatch/metricPeriod.d.ts +2 -0
- package/built/src/drivers/providers/metrics/cloudwatch/metricPeriod.js +16 -0
- package/built/src/drivers/providers/metrics/cloudwatch/metricPeriod.js.map +1 -0
- package/built/src/drivers/providers/metrics/index.d.ts +3 -0
- package/built/src/drivers/providers/metrics/index.js +7 -0
- package/built/src/drivers/providers/metrics/index.js.map +1 -0
- package/built/src/drivers/providers/metrics/metricServiceAdapterRegistry.d.ts +8 -0
- package/built/src/drivers/providers/metrics/metricServiceAdapterRegistry.js +27 -0
- package/built/src/drivers/providers/metrics/metricServiceAdapterRegistry.js.map +1 -0
- package/built/src/drivers/providers/performance/DynamoDbPerformanceTuningProvider.d.ts +60 -0
- package/built/src/drivers/providers/performance/DynamoDbPerformanceTuningProvider.js +751 -0
- package/built/src/drivers/providers/performance/DynamoDbPerformanceTuningProvider.js.map +1 -0
- package/built/src/drivers/providers/performance/MySQLPerformanceTuningProvider.d.ts +29 -0
- package/built/src/drivers/providers/performance/MySQLPerformanceTuningProvider.js +350 -0
- package/built/src/drivers/providers/performance/MySQLPerformanceTuningProvider.js.map +1 -0
- package/built/src/drivers/providers/performance/OraclePerformanceTuningProvider.d.ts +37 -0
- package/built/src/drivers/providers/performance/OraclePerformanceTuningProvider.js +393 -0
- package/built/src/drivers/providers/performance/OraclePerformanceTuningProvider.js.map +1 -0
- package/built/src/drivers/providers/performance/PerformanceTuningContextProvider.d.ts +57 -0
- package/built/src/drivers/providers/performance/PerformanceTuningContextProvider.js +3 -0
- package/built/src/drivers/providers/performance/PerformanceTuningContextProvider.js.map +1 -0
- package/built/src/drivers/providers/performance/PostgresPerformanceTuningProvider.d.ts +24 -0
- package/built/src/drivers/providers/performance/PostgresPerformanceTuningProvider.js +328 -0
- package/built/src/drivers/providers/performance/PostgresPerformanceTuningProvider.js.map +1 -0
- package/built/src/drivers/providers/performance/SQLServerPerformanceTuningProvider.d.ts +29 -0
- package/built/src/drivers/providers/performance/SQLServerPerformanceTuningProvider.js +420 -0
- package/built/src/drivers/providers/performance/SQLServerPerformanceTuningProvider.js.map +1 -0
- package/built/src/drivers/providers/performance/dynamoDbCapacity.d.ts +38 -0
- package/built/src/drivers/providers/performance/dynamoDbCapacity.js +111 -0
- package/built/src/drivers/providers/performance/dynamoDbCapacity.js.map +1 -0
- package/built/src/drivers/providers/performance/dynamoDbCloudWatchMetrics.d.ts +20 -0
- package/built/src/drivers/providers/performance/dynamoDbCloudWatchMetrics.js +221 -0
- package/built/src/drivers/providers/performance/dynamoDbCloudWatchMetrics.js.map +1 -0
- package/built/src/drivers/providers/performance/dynamoPartiqlAccessPattern.d.ts +18 -0
- package/built/src/drivers/providers/performance/dynamoPartiqlAccessPattern.js +736 -0
- package/built/src/drivers/providers/performance/dynamoPartiqlAccessPattern.js.map +1 -0
- package/built/src/drivers/providers/performance/index.d.ts +23 -0
- package/built/src/drivers/providers/performance/index.js +27 -0
- package/built/src/drivers/providers/performance/index.js.map +1 -0
- package/built/src/drivers/providers/performance/mysqlActualPlanTextParser.d.ts +26 -0
- package/built/src/drivers/providers/performance/mysqlActualPlanTextParser.js +181 -0
- package/built/src/drivers/providers/performance/mysqlActualPlanTextParser.js.map +1 -0
- package/built/src/drivers/providers/performance/mysqlCatalogMapper.d.ts +11 -0
- package/built/src/drivers/providers/performance/mysqlCatalogMapper.js +218 -0
- package/built/src/drivers/providers/performance/mysqlCatalogMapper.js.map +1 -0
- package/built/src/drivers/providers/performance/mysqlPlanParser.d.ts +11 -0
- package/built/src/drivers/providers/performance/mysqlPlanParser.js +209 -0
- package/built/src/drivers/providers/performance/mysqlPlanParser.js.map +1 -0
- package/built/src/drivers/providers/performance/oracleActualPlanTextParser.d.ts +10 -0
- package/built/src/drivers/providers/performance/oracleActualPlanTextParser.js +245 -0
- package/built/src/drivers/providers/performance/oracleActualPlanTextParser.js.map +1 -0
- package/built/src/drivers/providers/performance/oracleCatalogMapper.d.ts +11 -0
- package/built/src/drivers/providers/performance/oracleCatalogMapper.js +226 -0
- package/built/src/drivers/providers/performance/oracleCatalogMapper.js.map +1 -0
- package/built/src/drivers/providers/performance/oraclePlanParser.d.ts +18 -0
- package/built/src/drivers/providers/performance/oraclePlanParser.js +223 -0
- package/built/src/drivers/providers/performance/oraclePlanParser.js.map +1 -0
- package/built/src/drivers/providers/performance/performanceTuningDiagnosticHelpers.d.ts +2 -0
- package/built/src/drivers/providers/performance/performanceTuningDiagnosticHelpers.js +13 -0
- package/built/src/drivers/providers/performance/performanceTuningDiagnosticHelpers.js.map +1 -0
- package/built/src/drivers/providers/performance/planNodeMath.d.ts +20 -0
- package/built/src/drivers/providers/performance/planNodeMath.js +82 -0
- package/built/src/drivers/providers/performance/planNodeMath.js.map +1 -0
- package/built/src/drivers/providers/performance/postgresCatalogMapper.d.ts +20 -0
- package/built/src/drivers/providers/performance/postgresCatalogMapper.js +287 -0
- package/built/src/drivers/providers/performance/postgresCatalogMapper.js.map +1 -0
- package/built/src/drivers/providers/performance/postgresPlanParser.d.ts +13 -0
- package/built/src/drivers/providers/performance/postgresPlanParser.js +258 -0
- package/built/src/drivers/providers/performance/postgresPlanParser.js.map +1 -0
- package/built/src/drivers/providers/performance/sqlServerActualPlanXmlParser.d.ts +10 -0
- package/built/src/drivers/providers/performance/sqlServerActualPlanXmlParser.js +252 -0
- package/built/src/drivers/providers/performance/sqlServerActualPlanXmlParser.js.map +1 -0
- package/built/src/drivers/providers/performance/sqlServerCatalogMapper.d.ts +20 -0
- package/built/src/drivers/providers/performance/sqlServerCatalogMapper.js +254 -0
- package/built/src/drivers/providers/performance/sqlServerCatalogMapper.js.map +1 -0
- package/built/src/drivers/providers/performance/sqlServerPlanParser.d.ts +10 -0
- package/built/src/drivers/providers/performance/sqlServerPlanParser.js +199 -0
- package/built/src/drivers/providers/performance/sqlServerPlanParser.js.map +1 -0
- package/built/src/drivers/providers/performance/vendorRowCoercion.d.ts +6 -0
- package/built/src/drivers/providers/performance/vendorRowCoercion.js +42 -0
- package/built/src/drivers/providers/performance/vendorRowCoercion.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/RdbDashboardProvider.d.ts +8 -0
- package/built/src/drivers/providers/rdbDashboard/RdbDashboardProvider.js +3 -0
- package/built/src/drivers/providers/rdbDashboard/RdbDashboardProvider.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/RdbSampleAccumulator.d.ts +22 -0
- package/built/src/drivers/providers/rdbDashboard/RdbSampleAccumulator.js +331 -0
- package/built/src/drivers/providers/rdbDashboard/RdbSampleAccumulator.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/index.d.ts +9 -0
- package/built/src/drivers/providers/rdbDashboard/index.js +13 -0
- package/built/src/drivers/providers/rdbDashboard/index.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/rdbDashboardErrors.d.ts +3 -0
- package/built/src/drivers/providers/rdbDashboard/rdbDashboardErrors.js +10 -0
- package/built/src/drivers/providers/rdbDashboard/rdbDashboardErrors.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/rdbDashboardValueUtils.d.ts +7 -0
- package/built/src/drivers/providers/rdbDashboard/rdbDashboardValueUtils.js +31 -0
- package/built/src/drivers/providers/rdbDashboard/rdbDashboardValueUtils.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/validateRdbDashboard.d.ts +3 -0
- package/built/src/drivers/providers/rdbDashboard/validateRdbDashboard.js +73 -0
- package/built/src/drivers/providers/rdbDashboard/validateRdbDashboard.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/MySQLRdbDashboardProvider.d.ts +16 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/MySQLRdbDashboardProvider.js +247 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/MySQLRdbDashboardProvider.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/index.d.ts +3 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/index.js +7 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/index.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardCatalog.d.ts +4 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardCatalog.js +279 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardCatalog.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardQueries.d.ts +5 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardQueries.js +41 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/mysql/mysqlDashboardQueries.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/OracleRdbDashboardProvider.d.ts +21 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/OracleRdbDashboardProvider.js +420 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/OracleRdbDashboardProvider.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/index.d.ts +3 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/index.js +7 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/index.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardCatalog.d.ts +12 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardCatalog.js +117 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardCatalog.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardQueries.d.ts +8 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardQueries.js +60 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/oracle/oracleDashboardQueries.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/PostgresRdbDashboardProvider.d.ts +13 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/PostgresRdbDashboardProvider.js +216 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/PostgresRdbDashboardProvider.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/index.d.ts +3 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/index.js +7 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/index.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardCatalog.d.ts +4 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardCatalog.js +218 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardCatalog.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardQueries.d.ts +3 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardQueries.js +70 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/postgres/postgresDashboardQueries.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/SQLiteRdbDashboardProvider.d.ts +20 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/SQLiteRdbDashboardProvider.js +259 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/SQLiteRdbDashboardProvider.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/index.d.ts +3 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/index.js +7 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/index.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardCatalog.d.ts +5 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardCatalog.js +135 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardCatalog.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardQueries.d.ts +4 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardQueries.js +14 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlite/sqliteDashboardQueries.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/SQLServerRdbDashboardProvider.d.ts +16 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/SQLServerRdbDashboardProvider.js +301 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/SQLServerRdbDashboardProvider.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/index.d.ts +3 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/index.js +7 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/index.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardCatalog.d.ts +4 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardCatalog.js +130 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardCatalog.js.map +1 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardQueries.d.ts +6 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardQueries.js +91 -0
- package/built/src/drivers/providers/rdbDashboard/vendors/sqlserver/sqlServerDashboardQueries.js.map +1 -0
- package/built/src/helpers/ProposalHelper.js.map +1 -1
- package/built/src/helpers/SQLHelper.d.ts +1 -1
- package/built/src/helpers/SQLHelper.js +3 -1
- package/built/src/helpers/SQLHelper.js.map +1 -1
- package/built/src/helpers/dynamoDbBillingMode.d.ts +6 -0
- package/built/src/helpers/dynamoDbBillingMode.js +16 -0
- package/built/src/helpers/dynamoDbBillingMode.js.map +1 -0
- package/built/src/helpers/index.d.ts +1 -0
- package/built/src/helpers/index.js +1 -0
- package/built/src/helpers/index.js.map +1 -1
- package/built/src/helpers/prompts/Auth0PromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/AwsPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/KeycloakPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/MemcachePromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/MqttPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/RdsPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/RedisPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/SchemaPromptHelper.js.map +1 -1
- package/built/src/helpers/prompts/promptFormatUtils.js.map +1 -1
- package/built/src/helpers/sql/mutationQuery.js.map +1 -1
- package/built/src/helpers/sql/parameterNormalizer.js +2 -2
- package/built/src/helpers/sql/parameterNormalizer.js.map +1 -1
- package/built/src/helpers/sql/queryParser.js +272 -48
- package/built/src/helpers/sql/queryParser.js.map +1 -1
- package/built/src/helpers/sql/quote.d.ts +2 -0
- package/built/src/helpers/sql/quote.js +9 -2
- package/built/src/helpers/sql/quote.js.map +1 -1
- package/built/src/helpers/sql/selectQuery.js.map +1 -1
- package/built/src/resource/aws.d.ts +2 -1
- package/built/src/resource/aws.js +76 -2
- package/built/src/resource/aws.js.map +1 -1
- package/built/src/resource/base.d.ts +2 -1
- package/built/src/resource/base.js.map +1 -1
- package/built/src/resource/fromJson.js.map +1 -1
- package/built/src/resource/iam.js.map +1 -1
- package/built/src/resource/index.js.map +1 -1
- package/built/src/resource/keyValue.js.map +1 -1
- package/built/src/types/drivers/EstimatedBindParameter.d.ts +12 -0
- package/built/src/types/drivers/EstimatedBindParameter.js +3 -0
- package/built/src/types/drivers/EstimatedBindParameter.js.map +1 -0
- package/built/src/types/drivers/StatementStatistics.d.ts +13 -0
- package/built/src/types/drivers/StatementStatistics.js +10 -0
- package/built/src/types/drivers/StatementStatistics.js.map +1 -0
- package/built/src/types/drivers/index.d.ts +5 -0
- package/built/src/types/drivers/index.js +5 -0
- package/built/src/types/drivers/index.js.map +1 -1
- package/built/src/types/drivers/metrics/CloudWatchMetrics.d.ts +168 -0
- package/built/src/types/drivers/metrics/CloudWatchMetrics.js +3 -0
- package/built/src/types/drivers/metrics/CloudWatchMetrics.js.map +1 -0
- package/built/src/types/drivers/metrics/index.d.ts +1 -0
- package/built/src/types/drivers/metrics/index.js +5 -0
- package/built/src/types/drivers/metrics/index.js.map +1 -0
- package/built/src/types/drivers/performance/DynamoDbPerformanceTuningCapabilities.d.ts +12 -0
- package/built/src/types/drivers/performance/DynamoDbPerformanceTuningCapabilities.js +3 -0
- package/built/src/types/drivers/performance/DynamoDbPerformanceTuningCapabilities.js.map +1 -0
- package/built/src/types/drivers/performance/DynamoDbPerformanceTuningContext.d.ts +302 -0
- package/built/src/types/drivers/performance/DynamoDbPerformanceTuningContext.js +7 -0
- package/built/src/types/drivers/performance/DynamoDbPerformanceTuningContext.js.map +1 -0
- package/built/src/types/drivers/performance/DynamoDbPerformanceTuningDiagnostic.d.ts +13 -0
- package/built/src/types/drivers/performance/DynamoDbPerformanceTuningDiagnostic.js +3 -0
- package/built/src/types/drivers/performance/DynamoDbPerformanceTuningDiagnostic.js.map +1 -0
- package/built/src/types/drivers/performance/PerformanceTuningCapabilities.d.ts +17 -0
- package/built/src/types/drivers/performance/PerformanceTuningCapabilities.js +3 -0
- package/built/src/types/drivers/performance/PerformanceTuningCapabilities.js.map +1 -0
- package/built/src/types/drivers/performance/PerformanceTuningContext.d.ts +263 -0
- package/built/src/types/drivers/performance/PerformanceTuningContext.js +3 -0
- package/built/src/types/drivers/performance/PerformanceTuningContext.js.map +1 -0
- package/built/src/types/drivers/performance/PerformanceTuningDiagnostic.d.ts +28 -0
- package/built/src/types/drivers/performance/PerformanceTuningDiagnostic.js +3 -0
- package/built/src/types/drivers/performance/PerformanceTuningDiagnostic.js.map +1 -0
- package/built/src/types/drivers/performance/PlanNode.d.ts +37 -0
- package/built/src/types/drivers/performance/PlanNode.js +3 -0
- package/built/src/types/drivers/performance/PlanNode.js.map +1 -0
- package/built/src/types/drivers/performance/index.d.ts +7 -0
- package/built/src/types/drivers/performance/index.js +11 -0
- package/built/src/types/drivers/performance/index.js.map +1 -0
- package/built/src/types/drivers/rdbDashboard/RdbDashboardCapabilities.d.ts +30 -0
- package/built/src/types/drivers/rdbDashboard/RdbDashboardCapabilities.js +3 -0
- package/built/src/types/drivers/rdbDashboard/RdbDashboardCapabilities.js.map +1 -0
- package/built/src/types/drivers/rdbDashboard/RdbDashboardDefinition.d.ts +134 -0
- package/built/src/types/drivers/rdbDashboard/RdbDashboardDefinition.js +14 -0
- package/built/src/types/drivers/rdbDashboard/RdbDashboardDefinition.js.map +1 -0
- package/built/src/types/drivers/rdbDashboard/RdbDashboardSample.d.ts +69 -0
- package/built/src/types/drivers/rdbDashboard/RdbDashboardSample.js +3 -0
- package/built/src/types/drivers/rdbDashboard/RdbDashboardSample.js.map +1 -0
- package/built/src/types/drivers/rdbDashboard/index.d.ts +3 -0
- package/built/src/types/drivers/rdbDashboard/index.js +7 -0
- package/built/src/types/drivers/rdbDashboard/index.js.map +1 -0
- package/built/src/types/helpers/index.js.map +1 -1
- package/built/src/types/index.d.ts +1 -0
- package/built/src/types/index.js +1 -0
- package/built/src/types/index.js.map +1 -1
- package/built/src/types/observability/dashboardLaunchCapability.d.ts +11 -0
- package/built/src/types/observability/dashboardLaunchCapability.js +22 -0
- package/built/src/types/observability/dashboardLaunchCapability.js.map +1 -0
- package/built/src/types/observability/index.d.ts +1 -0
- package/built/src/types/observability/index.js +5 -0
- package/built/src/types/observability/index.js.map +1 -0
- package/built/src/types/resource/AwsCfnStackAttributes.js.map +1 -1
- package/built/src/types/resource/AwsDynamoTableAttributes.d.ts +13 -0
- package/built/src/types/resource/AwsServiceType.d.ts +1 -1
- package/built/src/types/resource/AwsSupplyCredentialType.js.map +1 -1
- package/built/src/types/resource/ConnectionSetting.js.map +1 -1
- package/built/src/types/resource/OracleColumnType.js.map +1 -1
- package/built/src/types/resource/RedisKeyType.d.ts +1 -1
- package/built/src/types/resource/ResourceType.js.map +1 -1
- package/built/src/types/resource/SQLServerColumnType.js.map +1 -1
- package/built/src/utils/bindParameterEstimator.d.ts +22 -0
- package/built/src/utils/bindParameterEstimator.js +400 -0
- package/built/src/utils/bindParameterEstimator.js.map +1 -0
- package/built/src/utils/cfn/applicationDiagram.js.map +1 -1
- package/built/src/utils/cfn/applicationRelations.js.map +1 -1
- package/built/src/utils/cfn/cfnDependencyGraphDiagram.js.map +1 -1
- package/built/src/utils/cfn/deploymentTopology.js.map +1 -1
- package/built/src/utils/cfn/diagramFileModel.js.map +1 -1
- package/built/src/utils/cfn/drawio/cfnDependencyGraphDiagram.js.map +1 -1
- package/built/src/utils/cfn/drawio/commonCells.js.map +1 -1
- package/built/src/utils/cfn/drawio/multiAzInfrastructureDiagram.js.map +1 -1
- package/built/src/utils/cfn/drawioApplicationDiagram.js.map +1 -1
- package/built/src/utils/cfn/drawioInfrastructureDiagrams.js.map +1 -1
- package/built/src/utils/cfn/drawioXml.js.map +1 -1
- package/built/src/utils/cfn/generateDiagram.js.map +1 -1
- package/built/src/utils/cfn/icons.js.map +1 -1
- package/built/src/utils/cfn/index.js.map +1 -1
- package/built/src/utils/cfn/intrinsics.js.map +1 -1
- package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtection.js.map +1 -1
- package/built/src/utils/cfn/multiAzDeploymentTrafficPathsAndProtectionDiagram.js.map +1 -1
- package/built/src/utils/cfn/naming.js.map +1 -1
- package/built/src/utils/cfn/resourceDependencies.js.map +1 -1
- package/built/src/utils/cfn/templateParsing.js.map +1 -1
- package/built/src/utils/cfn/viewpoints.js.map +1 -1
- package/built/src/utils/csv.js.map +1 -1
- package/built/src/utils/dbType.js.map +1 -1
- package/built/src/utils/diagramLayout/elkLayoutEngine.js.map +1 -1
- package/built/src/utils/diagramLayout/index.js.map +1 -1
- package/built/src/utils/diagramLayout/normalizeLayout.js.map +1 -1
- package/built/src/utils/drawio/drawioXml.js.map +1 -1
- package/built/src/utils/drawio/index.js.map +1 -1
- package/built/src/utils/dynamoDbPerformanceTuningContextValidator.d.ts +3 -0
- package/built/src/utils/dynamoDbPerformanceTuningContextValidator.js +440 -0
- package/built/src/utils/dynamoDbPerformanceTuningContextValidator.js.map +1 -0
- package/built/src/utils/er/erDiagramDrawioGenerator.js.map +1 -1
- package/built/src/utils/er/erDiagramDrawioGeneratorAuto.js.map +1 -1
- package/built/src/utils/er/erDiagramGenerator.js.map +1 -1
- package/built/src/utils/er/index.d.ts +1 -0
- package/built/src/utils/er/index.js +3 -1
- package/built/src/utils/er/index.js.map +1 -1
- package/built/src/utils/er/performanceQueryDiagram.d.ts +18 -0
- package/built/src/utils/er/performanceQueryDiagram.js +381 -0
- package/built/src/utils/er/performanceQueryDiagram.js.map +1 -0
- package/built/src/utils/index.d.ts +5 -0
- package/built/src/utils/index.js +5 -0
- package/built/src/utils/index.js.map +1 -1
- package/built/src/utils/log/buildSqlExecutions.js.map +1 -1
- package/built/src/utils/log/constant/base.js.map +1 -1
- package/built/src/utils/log/constant/logEventSplitPreset.js.map +1 -1
- package/built/src/utils/log/constant/sqlLogParsePreset.js.map +1 -1
- package/built/src/utils/log/detect/presetDetector.js.map +1 -1
- package/built/src/utils/log/extract/runExtractors.js.map +1 -1
- package/built/src/utils/log/logSummary.js.map +1 -1
- package/built/src/utils/log/rdh/convertExtractedSqlRdhResult.js.map +1 -1
- package/built/src/utils/log/sql/removeSqlComments.js.map +1 -1
- package/built/src/utils/log/validator.js.map +1 -1
- package/built/src/utils/performanceTuningContext.d.ts +45 -0
- package/built/src/utils/performanceTuningContext.js +149 -0
- package/built/src/utils/performanceTuningContext.js.map +1 -0
- package/built/src/utils/performanceTuningContextValidator.d.ts +3 -0
- package/built/src/utils/performanceTuningContextValidator.js +364 -0
- package/built/src/utils/performanceTuningContextValidator.js.map +1 -0
- package/built/src/utils/statementStatistics.d.ts +11 -0
- package/built/src/utils/statementStatistics.js +39 -0
- package/built/src/utils/statementStatistics.js.map +1 -0
- package/package.json +37 -31
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AwsDynamoServiceClient = void 0;
|
|
3
|
+
exports.AwsDynamoServiceClient = exports.DYNAMODB_COMPLETE_READ_TIMEOUT_MS = exports.DYNAMODB_COMPLETE_READ_MAX_EVALUATED_ITEMS = exports.DYNAMODB_COMPLETE_READ_MAX_PAGES = exports.DYNAMODB_OBSERVED_READ_MAX_ITEMS = void 0;
|
|
4
4
|
const tslib_1 = require("tslib");
|
|
5
5
|
const client_dynamodb_1 = require("@aws-sdk/client-dynamodb");
|
|
6
6
|
const lib_dynamodb_1 = require("@aws-sdk/lib-dynamodb");
|
|
@@ -12,6 +12,27 @@ const utils_1 = require("../../utils");
|
|
|
12
12
|
const AwsServiceClient_1 = require("./AwsServiceClient");
|
|
13
13
|
const helpers_1 = require("../../helpers");
|
|
14
14
|
const util_dynamodb_1 = require("@aws-sdk/util-dynamodb");
|
|
15
|
+
const dynamoDbCapacity_1 = require("../providers/performance/dynamoDbCapacity");
|
|
16
|
+
const dynamoDbRdhSummary_1 = require("./dynamoDbRdhSummary");
|
|
17
|
+
const dynamoDbResultMetadata_1 = require("./dynamoDbResultMetadata");
|
|
18
|
+
exports.DYNAMODB_OBSERVED_READ_MAX_ITEMS = 100;
|
|
19
|
+
exports.DYNAMODB_COMPLETE_READ_MAX_PAGES = 10;
|
|
20
|
+
exports.DYNAMODB_COMPLETE_READ_MAX_EVALUATED_ITEMS = 1000;
|
|
21
|
+
exports.DYNAMODB_COMPLETE_READ_TIMEOUT_MS = 30000;
|
|
22
|
+
function withTimeout(promise, timeoutMs) {
|
|
23
|
+
if (!timeoutMs)
|
|
24
|
+
return promise;
|
|
25
|
+
return new Promise((resolve, reject) => {
|
|
26
|
+
const timer = setTimeout(() => reject(new Error('Run Observed Read timed out.')), timeoutMs);
|
|
27
|
+
promise.then((value) => {
|
|
28
|
+
clearTimeout(timer);
|
|
29
|
+
resolve(value);
|
|
30
|
+
}, (err) => {
|
|
31
|
+
clearTimeout(timer);
|
|
32
|
+
reject(err);
|
|
33
|
+
});
|
|
34
|
+
});
|
|
35
|
+
}
|
|
15
36
|
class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
16
37
|
constructor(conRes, config, awsDriver) {
|
|
17
38
|
super(conRes, config, awsDriver);
|
|
@@ -65,6 +86,30 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
65
86
|
return res.Table.ItemCount;
|
|
66
87
|
});
|
|
67
88
|
}
|
|
89
|
+
describeTable(tableName) {
|
|
90
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
91
|
+
const res = yield this.client.send(new client_dynamodb_1.DescribeTableCommand({ TableName: tableName }));
|
|
92
|
+
return res.Table;
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
describeTimeToLive(tableName) {
|
|
96
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
97
|
+
const res = yield this.client.send(new client_dynamodb_1.DescribeTimeToLiveCommand({ TableName: tableName }));
|
|
98
|
+
return res.TimeToLiveDescription;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
describeContributorInsights(tableName, indexName) {
|
|
102
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
const res = yield this.client.send(new client_dynamodb_1.DescribeContributorInsightsCommand({
|
|
104
|
+
TableName: tableName,
|
|
105
|
+
IndexName: indexName,
|
|
106
|
+
}));
|
|
107
|
+
return {
|
|
108
|
+
status: res.ContributorInsightsStatus,
|
|
109
|
+
mode: res.ContributorInsightsMode,
|
|
110
|
+
};
|
|
111
|
+
});
|
|
112
|
+
}
|
|
68
113
|
listTables() {
|
|
69
114
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
70
115
|
let tableNames = yield this.listTableNames();
|
|
@@ -109,7 +154,7 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
109
154
|
}
|
|
110
155
|
getInfomationSchemas() {
|
|
111
156
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
112
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
157
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
|
|
113
158
|
if (!this.conRes) {
|
|
114
159
|
return null;
|
|
115
160
|
}
|
|
@@ -125,17 +170,22 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
125
170
|
TableSizeBytes: table.TableSizeBytes,
|
|
126
171
|
ItemCount: table.ItemCount,
|
|
127
172
|
TableArn: table.TableArn,
|
|
173
|
+
BillingMode: (_c = table.BillingModeSummary) === null || _c === void 0 ? void 0 : _c.BillingMode,
|
|
174
|
+
OnDemandMaxReadRequestUnits: (_d = table.OnDemandThroughput) === null || _d === void 0 ? void 0 : _d.MaxReadRequestUnits,
|
|
175
|
+
OnDemandMaxWriteRequestUnits: (_e = table.OnDemandThroughput) === null || _e === void 0 ? void 0 : _e.MaxWriteRequestUnits,
|
|
128
176
|
ttl: table.ttl,
|
|
129
|
-
lsi: (
|
|
177
|
+
lsi: (_g = (_f = table.LocalSecondaryIndexes) === null || _f === void 0 ? void 0 : _f.map((it) => {
|
|
130
178
|
return {
|
|
131
179
|
IndexName: it.IndexName,
|
|
132
180
|
KeySchema: it.KeySchema,
|
|
133
181
|
IndexSizeBytes: it.IndexSizeBytes,
|
|
134
182
|
ItemCount: it.ItemCount,
|
|
135
183
|
IndexArn: it.IndexArn,
|
|
184
|
+
Projection: it.Projection,
|
|
136
185
|
};
|
|
137
|
-
})) !== null &&
|
|
138
|
-
gsi: (
|
|
186
|
+
})) !== null && _g !== void 0 ? _g : [],
|
|
187
|
+
gsi: (_j = (_h = table.GlobalSecondaryIndexes) === null || _h === void 0 ? void 0 : _h.map((it) => {
|
|
188
|
+
var _a, _b, _c, _d;
|
|
139
189
|
return {
|
|
140
190
|
IndexName: it.IndexName,
|
|
141
191
|
KeySchema: it.KeySchema,
|
|
@@ -143,17 +193,22 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
143
193
|
IndexSizeBytes: it.IndexSizeBytes,
|
|
144
194
|
ItemCount: it.ItemCount,
|
|
145
195
|
IndexArn: it.IndexArn,
|
|
196
|
+
Projection: it.Projection,
|
|
197
|
+
ReadCapacityUnits: (_a = it.ProvisionedThroughput) === null || _a === void 0 ? void 0 : _a.ReadCapacityUnits,
|
|
198
|
+
WriteCapacityUnits: (_b = it.ProvisionedThroughput) === null || _b === void 0 ? void 0 : _b.WriteCapacityUnits,
|
|
199
|
+
OnDemandMaxReadRequestUnits: (_c = it.OnDemandThroughput) === null || _c === void 0 ? void 0 : _c.MaxReadRequestUnits,
|
|
200
|
+
OnDemandMaxWriteRequestUnits: (_d = it.OnDemandThroughput) === null || _d === void 0 ? void 0 : _d.MaxWriteRequestUnits,
|
|
146
201
|
};
|
|
147
|
-
})) !== null &&
|
|
202
|
+
})) !== null && _j !== void 0 ? _j : [],
|
|
148
203
|
});
|
|
149
|
-
const cols = (
|
|
204
|
+
const cols = (_l = (_k = table.AttributeDefinitions) === null || _k === void 0 ? void 0 : _k.map((attr) => {
|
|
150
205
|
var _a, _b;
|
|
151
206
|
const pk = (_a = table.KeySchema) === null || _a === void 0 ? void 0 : _a.some((it) => it.AttributeName === attr.AttributeName &&
|
|
152
207
|
it.KeyType === 'HASH');
|
|
153
208
|
const sk = (_b = table.KeySchema) === null || _b === void 0 ? void 0 : _b.some((it) => it.AttributeName === attr.AttributeName &&
|
|
154
209
|
it.KeyType === 'RANGE');
|
|
155
210
|
return new resource_1.DbDynamoTableColumn(attr.AttributeName, attr.AttributeType, pk, sk);
|
|
156
|
-
})) !== null &&
|
|
211
|
+
})) !== null && _l !== void 0 ? _l : [];
|
|
157
212
|
cols
|
|
158
213
|
.sort((a, b) => {
|
|
159
214
|
const n = (it) => (it.pk ? -2 : it.sk ? -1 : 0);
|
|
@@ -168,7 +223,7 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
168
223
|
return a.name.localeCompare(b.name);
|
|
169
224
|
})
|
|
170
225
|
.forEach((it) => dynamoTable.addChild(it));
|
|
171
|
-
(
|
|
226
|
+
(_m = table.ExtraItems) === null || _m === void 0 ? void 0 : _m.forEach((item) => {
|
|
172
227
|
if (!dynamoTable.getChildByName(item.name)) {
|
|
173
228
|
const attrType = Object.keys(item.value)[0];
|
|
174
229
|
dynamoTable.addChild(new resource_1.DbDynamoTableColumn(item.name, attrType, false, false));
|
|
@@ -214,81 +269,88 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
214
269
|
};
|
|
215
270
|
});
|
|
216
271
|
}
|
|
217
|
-
|
|
218
|
-
return tslib_1.__awaiter(this,
|
|
219
|
-
var
|
|
220
|
-
let
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
LastEvaluatedKey = params.ExclusiveStartKey;
|
|
224
|
-
}
|
|
225
|
-
const Items = [];
|
|
272
|
+
collectScanItems(_a) {
|
|
273
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* ({ limit, exclusiveStartKey, fetchPage, }) {
|
|
274
|
+
var _b;
|
|
275
|
+
let lastEvaluatedKey = exclusiveStartKey;
|
|
276
|
+
const items = [];
|
|
277
|
+
const tracker = new dynamoDbCapacity_1.DynamoDbExecutionMetaTracker();
|
|
226
278
|
do {
|
|
227
|
-
const
|
|
228
|
-
const response = yield
|
|
229
|
-
|
|
230
|
-
CapacityUnits += (_b = (_a = response.ConsumedCapacity) === null || _a === void 0 ? void 0 : _a.CapacityUnits) !== null && _b !== void 0 ? _b : 0;
|
|
231
|
-
Items.push(...response.Items);
|
|
232
|
-
if (params.Limit && Items.length >= params.Limit) {
|
|
279
|
+
const remainingLimit = limit ? limit - items.length : undefined;
|
|
280
|
+
const response = yield fetchPage(remainingLimit, lastEvaluatedKey);
|
|
281
|
+
if (!response) {
|
|
233
282
|
break;
|
|
234
283
|
}
|
|
235
|
-
|
|
284
|
+
tracker.recordResponse(response, { trackNativeCounts: true });
|
|
285
|
+
lastEvaluatedKey = response.LastEvaluatedKey;
|
|
286
|
+
items.push(...((_b = response.Items) !== null && _b !== void 0 ? _b : []));
|
|
287
|
+
if (limit && items.length >= limit) {
|
|
288
|
+
break;
|
|
289
|
+
}
|
|
290
|
+
} while (lastEvaluatedKey);
|
|
236
291
|
return {
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
292
|
+
items,
|
|
293
|
+
lastEvaluatedKey,
|
|
294
|
+
meta: tracker.build(!!lastEvaluatedKey),
|
|
295
|
+
};
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
scanItems(params) {
|
|
299
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
300
|
+
var _a;
|
|
301
|
+
const { items, lastEvaluatedKey, meta } = yield this.collectScanItems({
|
|
302
|
+
limit: params.Limit,
|
|
303
|
+
exclusiveStartKey: params.ExclusiveStartKey,
|
|
304
|
+
fetchPage: (remainingLimit, exclusiveStartKey) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
305
|
+
return yield this.docClient.send(new lib_dynamodb_1.ScanCommand(Object.assign(Object.assign({}, params), { Limit: remainingLimit, ExclusiveStartKey: exclusiveStartKey, ReturnConsumedCapacity: 'INDEXES' })));
|
|
306
|
+
}),
|
|
307
|
+
});
|
|
308
|
+
return {
|
|
309
|
+
Items: items,
|
|
310
|
+
LastEvaluatedKey: lastEvaluatedKey,
|
|
311
|
+
Count: items.length,
|
|
312
|
+
CapacityUnits: (_a = meta.capacityBreakdown) === null || _a === void 0 ? void 0 : _a.capacityUnits,
|
|
313
|
+
meta,
|
|
241
314
|
};
|
|
242
315
|
});
|
|
243
316
|
}
|
|
244
317
|
queryItems(params) {
|
|
245
318
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
246
|
-
var _a
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
}
|
|
252
|
-
const Items = [];
|
|
253
|
-
do {
|
|
254
|
-
const command = new lib_dynamodb_1.QueryCommand(Object.assign(Object.assign({}, params), { Limit: params.Limit ? params.Limit - Items.length : undefined, ExclusiveStartKey: LastEvaluatedKey ? LastEvaluatedKey : undefined, ReturnConsumedCapacity: 'TOTAL' }));
|
|
255
|
-
const response = yield this.docClient.send(command);
|
|
256
|
-
LastEvaluatedKey = response.LastEvaluatedKey;
|
|
257
|
-
CapacityUnits += (_b = (_a = response.ConsumedCapacity) === null || _a === void 0 ? void 0 : _a.CapacityUnits) !== null && _b !== void 0 ? _b : 0;
|
|
258
|
-
Items.push(...response.Items);
|
|
259
|
-
if (params.Limit && Items.length >= params.Limit) {
|
|
260
|
-
break;
|
|
261
|
-
}
|
|
262
|
-
} while (LastEvaluatedKey);
|
|
319
|
+
var _a;
|
|
320
|
+
const { items, lastEvaluatedKey, meta } = yield this.collectScanItems({
|
|
321
|
+
limit: params.Limit,
|
|
322
|
+
exclusiveStartKey: params.ExclusiveStartKey,
|
|
323
|
+
fetchPage: (remainingLimit, exclusiveStartKey) => this.docClient.send(new lib_dynamodb_1.QueryCommand(Object.assign(Object.assign({}, params), { Limit: remainingLimit, ExclusiveStartKey: exclusiveStartKey, ReturnConsumedCapacity: 'INDEXES' }))),
|
|
324
|
+
});
|
|
263
325
|
return {
|
|
264
|
-
Items,
|
|
265
|
-
LastEvaluatedKey,
|
|
266
|
-
Count:
|
|
267
|
-
CapacityUnits,
|
|
326
|
+
Items: items,
|
|
327
|
+
LastEvaluatedKey: lastEvaluatedKey,
|
|
328
|
+
Count: items.length,
|
|
329
|
+
CapacityUnits: (_a = meta.capacityBreakdown) === null || _a === void 0 ? void 0 : _a.capacityUnits,
|
|
330
|
+
meta,
|
|
268
331
|
};
|
|
269
332
|
});
|
|
270
333
|
}
|
|
271
334
|
queryItemsAtClient(params) {
|
|
272
335
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
273
|
-
var _a, _b;
|
|
274
336
|
const { TableName, IndexName } = params;
|
|
275
337
|
let LastEvaluatedKey = undefined;
|
|
276
|
-
let CapacityUnits = 0;
|
|
277
338
|
const qst = {
|
|
278
339
|
ast: { type: 'select' },
|
|
279
|
-
names: { tableName: TableName },
|
|
340
|
+
names: { tableName: TableName, indexName: IndexName },
|
|
280
341
|
};
|
|
281
342
|
const dbTable = this.getDbTable(qst);
|
|
282
343
|
const Items = [];
|
|
283
344
|
const allAttributeTypes = new Map();
|
|
284
345
|
const startTime = new Date().getTime();
|
|
346
|
+
const tracker = new dynamoDbCapacity_1.DynamoDbExecutionMetaTracker();
|
|
285
347
|
do {
|
|
286
348
|
const command = new client_dynamodb_1.QueryCommand(Object.assign(Object.assign({}, params), { TableName,
|
|
287
|
-
IndexName, Limit: params.Limit ? params.Limit - Items.length : undefined, ExclusiveStartKey: LastEvaluatedKey ? LastEvaluatedKey : undefined, ReturnConsumedCapacity: '
|
|
349
|
+
IndexName, Limit: params.Limit ? params.Limit - Items.length : undefined, ExclusiveStartKey: LastEvaluatedKey ? LastEvaluatedKey : undefined, ReturnConsumedCapacity: 'INDEXES' }));
|
|
288
350
|
try {
|
|
289
351
|
const response = yield this.client.send(command);
|
|
352
|
+
tracker.recordResponse(response, { trackNativeCounts: true });
|
|
290
353
|
LastEvaluatedKey = response.LastEvaluatedKey;
|
|
291
|
-
CapacityUnits += (_b = (_a = response.ConsumedCapacity) === null || _a === void 0 ? void 0 : _a.CapacityUnits) !== null && _b !== void 0 ? _b : 0;
|
|
292
354
|
Items.push(...response.Items);
|
|
293
355
|
response.Items.forEach((item) => {
|
|
294
356
|
Object.keys(item)
|
|
@@ -323,9 +385,66 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
323
385
|
},
|
|
324
386
|
qst,
|
|
325
387
|
elapsedTimeMilli,
|
|
326
|
-
capacityUnits: CapacityUnits,
|
|
327
388
|
dbTable,
|
|
328
389
|
allAttributeTypes,
|
|
390
|
+
meta: tracker.build(!!LastEvaluatedKey),
|
|
391
|
+
apiOperation: 'Query',
|
|
392
|
+
});
|
|
393
|
+
rs.meta.queryInput = JSON.stringify(params, null, 2);
|
|
394
|
+
return rs;
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
scanItemsAtClient(params) {
|
|
398
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
399
|
+
const { TableName, IndexName } = params;
|
|
400
|
+
const qst = {
|
|
401
|
+
ast: { type: 'select' },
|
|
402
|
+
names: { tableName: TableName, indexName: IndexName },
|
|
403
|
+
};
|
|
404
|
+
const dbTable = this.getDbTable(qst);
|
|
405
|
+
const startTime = new Date().getTime();
|
|
406
|
+
const { items: Items, meta } = yield this.collectScanItems({
|
|
407
|
+
limit: params.Limit,
|
|
408
|
+
exclusiveStartKey: params.ExclusiveStartKey,
|
|
409
|
+
fetchPage: (remainingLimit, exclusiveStartKey) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
410
|
+
try {
|
|
411
|
+
return yield this.client.send(new client_dynamodb_1.ScanCommand(Object.assign(Object.assign({}, params), { TableName, Limit: remainingLimit, ExclusiveStartKey: exclusiveStartKey, ReturnConsumedCapacity: 'INDEXES' })));
|
|
412
|
+
}
|
|
413
|
+
catch (e) {
|
|
414
|
+
if (e.name === 'ResourceNotFoundException') {
|
|
415
|
+
return undefined;
|
|
416
|
+
}
|
|
417
|
+
throw e;
|
|
418
|
+
}
|
|
419
|
+
}),
|
|
420
|
+
});
|
|
421
|
+
const allAttributeTypes = new Map();
|
|
422
|
+
Items.forEach((item) => {
|
|
423
|
+
Object.keys(item)
|
|
424
|
+
.filter((it) => !allAttributeTypes.has(it))
|
|
425
|
+
.forEach((it) => {
|
|
426
|
+
const colType = this.parseDynamoAttrTypeByNameAndItem(it, item);
|
|
427
|
+
allAttributeTypes.set(it, colType);
|
|
428
|
+
});
|
|
429
|
+
});
|
|
430
|
+
const elapsedTimeMilli = new Date().getTime() - startTime;
|
|
431
|
+
const rs = this.itemsToResultSetData({
|
|
432
|
+
Count: Items.length,
|
|
433
|
+
Items,
|
|
434
|
+
params: {
|
|
435
|
+
sql: '',
|
|
436
|
+
conditions: {},
|
|
437
|
+
meta: {
|
|
438
|
+
type: 'select',
|
|
439
|
+
tableName: TableName,
|
|
440
|
+
},
|
|
441
|
+
},
|
|
442
|
+
qst,
|
|
443
|
+
elapsedTimeMilli,
|
|
444
|
+
dbTable,
|
|
445
|
+
allAttributeTypes,
|
|
446
|
+
meta,
|
|
447
|
+
apiOperation: 'Scan',
|
|
329
448
|
});
|
|
330
449
|
rs.meta.queryInput = JSON.stringify(params, null, 2);
|
|
331
450
|
return rs;
|
|
@@ -333,23 +452,23 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
333
452
|
}
|
|
334
453
|
executeStatementAtDocClient(params) {
|
|
335
454
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
336
|
-
var _a
|
|
455
|
+
var _a;
|
|
337
456
|
this.interrupted = false;
|
|
338
457
|
let LastEvaluatedKey = undefined;
|
|
339
458
|
let NextToken = params.NextToken;
|
|
340
|
-
let CapacityUnits = 0;
|
|
341
459
|
const allAttributeNames = new Set();
|
|
342
460
|
const Items = [];
|
|
461
|
+
const tracker = new dynamoDbCapacity_1.DynamoDbExecutionMetaTracker();
|
|
343
462
|
do {
|
|
344
463
|
if (this.interrupted) {
|
|
345
464
|
this.interrupted = false;
|
|
346
465
|
throw new Error('INTERRUPT');
|
|
347
466
|
}
|
|
348
|
-
const command = new lib_dynamodb_1.ExecuteStatementCommand(Object.assign(Object.assign({}, params), { Limit: params.Limit ? params.Limit - Items.length : undefined, NextToken, ReturnConsumedCapacity: '
|
|
467
|
+
const command = new lib_dynamodb_1.ExecuteStatementCommand(Object.assign(Object.assign({}, params), { Limit: params.Limit ? params.Limit - Items.length : undefined, NextToken, ReturnConsumedCapacity: 'INDEXES' }));
|
|
349
468
|
const response = yield this.docClient.send(command);
|
|
469
|
+
tracker.recordResponse(response);
|
|
350
470
|
LastEvaluatedKey = response.LastEvaluatedKey;
|
|
351
471
|
NextToken = response.NextToken;
|
|
352
|
-
CapacityUnits += (_b = (_a = response.ConsumedCapacity) === null || _a === void 0 ? void 0 : _a.CapacityUnits) !== null && _b !== void 0 ? _b : 0;
|
|
353
472
|
Items.push(...response.Items);
|
|
354
473
|
response.Items.forEach((item) => {
|
|
355
474
|
Object.keys(item)
|
|
@@ -362,37 +481,39 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
362
481
|
break;
|
|
363
482
|
}
|
|
364
483
|
} while (LastEvaluatedKey || NextToken);
|
|
484
|
+
const meta = tracker.build(!!(LastEvaluatedKey || NextToken));
|
|
365
485
|
return {
|
|
366
486
|
Items,
|
|
367
487
|
LastEvaluatedKey,
|
|
368
488
|
NextToken,
|
|
369
489
|
Count: Items.length,
|
|
370
|
-
CapacityUnits,
|
|
490
|
+
CapacityUnits: (_a = meta.capacityBreakdown) === null || _a === void 0 ? void 0 : _a.capacityUnits,
|
|
371
491
|
extra: {
|
|
372
492
|
allAttributeNames: [...allAttributeNames],
|
|
373
493
|
},
|
|
494
|
+
meta,
|
|
374
495
|
};
|
|
375
496
|
});
|
|
376
497
|
}
|
|
377
498
|
executeStatementAtClient(params) {
|
|
378
499
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
379
|
-
var _a
|
|
500
|
+
var _a;
|
|
380
501
|
this.interrupted = false;
|
|
381
502
|
let LastEvaluatedKey = undefined;
|
|
382
503
|
let NextToken = params.NextToken;
|
|
383
|
-
let CapacityUnits = 0;
|
|
384
504
|
const allAttributeTypes = new Map();
|
|
385
505
|
const Items = [];
|
|
506
|
+
const tracker = new dynamoDbCapacity_1.DynamoDbExecutionMetaTracker();
|
|
386
507
|
do {
|
|
387
508
|
if (this.interrupted) {
|
|
388
509
|
this.interrupted = false;
|
|
389
510
|
throw new Error('INTERRUPT');
|
|
390
511
|
}
|
|
391
|
-
const command = new client_dynamodb_1.ExecuteStatementCommand(Object.assign(Object.assign({}, params), { Limit: params.Limit ? params.Limit - Items.length : undefined, NextToken, ReturnConsumedCapacity: '
|
|
512
|
+
const command = new client_dynamodb_1.ExecuteStatementCommand(Object.assign(Object.assign({}, params), { Limit: params.Limit ? params.Limit - Items.length : undefined, NextToken, ReturnConsumedCapacity: 'INDEXES' }));
|
|
392
513
|
const response = yield this.client.send(command);
|
|
514
|
+
tracker.recordResponse(response);
|
|
393
515
|
LastEvaluatedKey = response.LastEvaluatedKey;
|
|
394
516
|
NextToken = response.NextToken;
|
|
395
|
-
CapacityUnits += (_b = (_a = response.ConsumedCapacity) === null || _a === void 0 ? void 0 : _a.CapacityUnits) !== null && _b !== void 0 ? _b : 0;
|
|
396
517
|
Items.push(...response.Items);
|
|
397
518
|
response.Items.forEach((item) => {
|
|
398
519
|
Object.keys(item)
|
|
@@ -406,15 +527,17 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
406
527
|
break;
|
|
407
528
|
}
|
|
408
529
|
} while (LastEvaluatedKey || NextToken);
|
|
530
|
+
const meta = tracker.build(!!(LastEvaluatedKey || NextToken));
|
|
409
531
|
return {
|
|
410
532
|
Items,
|
|
411
533
|
LastEvaluatedKey,
|
|
412
534
|
NextToken,
|
|
413
535
|
Count: Items.length,
|
|
414
|
-
CapacityUnits,
|
|
536
|
+
CapacityUnits: (_a = meta.capacityBreakdown) === null || _a === void 0 ? void 0 : _a.capacityUnits,
|
|
415
537
|
extra: {
|
|
416
538
|
allAttributeTypes,
|
|
417
539
|
},
|
|
540
|
+
meta,
|
|
418
541
|
};
|
|
419
542
|
});
|
|
420
543
|
}
|
|
@@ -462,7 +585,7 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
462
585
|
if (binds && binds.length > 0) {
|
|
463
586
|
input.Parameters = (0, util_dynamodb_1.marshall)(binds);
|
|
464
587
|
}
|
|
465
|
-
const {
|
|
588
|
+
const { Count, Items, extra: { allAttributeTypes }, meta, } = yield this.executeStatementAtClient(input);
|
|
466
589
|
const elapsedTimeMilli = new Date().getTime() - startTime;
|
|
467
590
|
return this.itemsToResultSetData({
|
|
468
591
|
Count,
|
|
@@ -470,32 +593,168 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
470
593
|
params,
|
|
471
594
|
qst,
|
|
472
595
|
elapsedTimeMilli,
|
|
473
|
-
capacityUnits,
|
|
474
596
|
dbTable,
|
|
475
597
|
allAttributeTypes,
|
|
598
|
+
meta,
|
|
599
|
+
apiOperation: 'ExecuteStatement',
|
|
476
600
|
});
|
|
477
601
|
});
|
|
478
602
|
}
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
603
|
+
observeNativeQueryRead(params) {
|
|
604
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
605
|
+
var _a, _b, _c, _d, _e, _f;
|
|
606
|
+
const limit = Math.min((_a = params.maxEvaluatedItems) !== null && _a !== void 0 ? _a : exports.DYNAMODB_OBSERVED_READ_MAX_ITEMS, exports.DYNAMODB_OBSERVED_READ_MAX_ITEMS);
|
|
607
|
+
const startTime = Date.now();
|
|
608
|
+
const command = new client_dynamodb_1.QueryCommand(Object.assign(Object.assign({}, params.input), { Limit: limit, ExclusiveStartKey: undefined, ReturnConsumedCapacity: 'INDEXES' }));
|
|
609
|
+
const response = yield withTimeout(this.client.send(command, { abortSignal: params.signal }), params.timeoutMs);
|
|
610
|
+
return {
|
|
611
|
+
returnedItemCount: (_d = (_b = response.Count) !== null && _b !== void 0 ? _b : (_c = response.Items) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0,
|
|
612
|
+
scannedItemCount: response.ScannedCount,
|
|
613
|
+
hasMorePages: !!response.LastEvaluatedKey,
|
|
614
|
+
capacityBreakdown: (0, dynamoDbCapacity_1.aggregateConsumedCapacity)([response.ConsumedCapacity]),
|
|
615
|
+
clientElapsedTimeMs: Date.now() - startTime,
|
|
616
|
+
requestCount: 1,
|
|
617
|
+
retryCount: Math.max(0, ((_f = (_e = response.$metadata) === null || _e === void 0 ? void 0 : _e.attempts) !== null && _f !== void 0 ? _f : 1) - 1),
|
|
618
|
+
};
|
|
619
|
+
});
|
|
620
|
+
}
|
|
621
|
+
observePartiqlRead(params) {
|
|
622
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
623
|
+
var _a, _b, _c, _d, _e, _f;
|
|
624
|
+
const qst = (0, helpers_1.parseQuery)(params.statement);
|
|
625
|
+
if (!qst || ((_a = qst.ast) === null || _a === void 0 ? void 0 : _a.type) !== 'select') {
|
|
626
|
+
throw new Error('Run Observed Read only supports a single SELECT statement.');
|
|
627
|
+
}
|
|
628
|
+
const limit = Math.min((_b = params.maxEvaluatedItems) !== null && _b !== void 0 ? _b : exports.DYNAMODB_OBSERVED_READ_MAX_ITEMS, exports.DYNAMODB_OBSERVED_READ_MAX_ITEMS);
|
|
629
|
+
const startTime = Date.now();
|
|
630
|
+
const input = {
|
|
631
|
+
Statement: params.statement,
|
|
632
|
+
Limit: limit,
|
|
633
|
+
ReturnConsumedCapacity: 'INDEXES',
|
|
634
|
+
};
|
|
635
|
+
if (params.parameters && params.parameters.length > 0) {
|
|
636
|
+
input.Parameters = (0, util_dynamodb_1.marshall)(params.parameters);
|
|
637
|
+
}
|
|
638
|
+
const response = yield withTimeout(this.client.send(new client_dynamodb_1.ExecuteStatementCommand(input), {
|
|
639
|
+
abortSignal: params.signal,
|
|
640
|
+
}), params.timeoutMs);
|
|
641
|
+
return {
|
|
642
|
+
returnedItemCount: (_d = (_c = response.Items) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0,
|
|
643
|
+
scannedItemCount: undefined,
|
|
644
|
+
hasMorePages: !!(response.LastEvaluatedKey || response.NextToken),
|
|
645
|
+
capacityBreakdown: (0, dynamoDbCapacity_1.aggregateConsumedCapacity)([response.ConsumedCapacity]),
|
|
646
|
+
clientElapsedTimeMs: Date.now() - startTime,
|
|
647
|
+
requestCount: 1,
|
|
648
|
+
retryCount: Math.max(0, ((_f = (_e = response.$metadata) === null || _e === void 0 ? void 0 : _e.attempts) !== null && _f !== void 0 ? _f : 1) - 1),
|
|
649
|
+
};
|
|
650
|
+
});
|
|
651
|
+
}
|
|
652
|
+
observeNativeQueryReadComplete(params) {
|
|
653
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
654
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
655
|
+
const maxPages = Math.min((_a = params.maxPages) !== null && _a !== void 0 ? _a : exports.DYNAMODB_COMPLETE_READ_MAX_PAGES, exports.DYNAMODB_COMPLETE_READ_MAX_PAGES);
|
|
656
|
+
const maxEvaluatedItems = Math.min((_b = params.maxEvaluatedItems) !== null && _b !== void 0 ? _b : exports.DYNAMODB_COMPLETE_READ_MAX_EVALUATED_ITEMS, exports.DYNAMODB_COMPLETE_READ_MAX_EVALUATED_ITEMS);
|
|
657
|
+
const timeoutMs = Math.min((_c = params.timeoutMs) !== null && _c !== void 0 ? _c : exports.DYNAMODB_COMPLETE_READ_TIMEOUT_MS, exports.DYNAMODB_COMPLETE_READ_TIMEOUT_MS);
|
|
658
|
+
const startedAt = Date.now();
|
|
659
|
+
let exclusiveStartKey;
|
|
660
|
+
let returnedItemCount = 0;
|
|
661
|
+
let scannedItemCount = 0;
|
|
662
|
+
let pageCount = 0;
|
|
663
|
+
let hasMorePages = false;
|
|
664
|
+
const tracker = new dynamoDbCapacity_1.DynamoDbExecutionMetaTracker();
|
|
665
|
+
do {
|
|
666
|
+
const remainingItems = maxEvaluatedItems - scannedItemCount;
|
|
667
|
+
if (remainingItems <= 0 || pageCount >= maxPages)
|
|
668
|
+
break;
|
|
669
|
+
const response = yield withTimeout(this.client.send(new client_dynamodb_1.QueryCommand(Object.assign(Object.assign({}, params.input), { Limit: Math.min(exports.DYNAMODB_OBSERVED_READ_MAX_ITEMS, remainingItems), ExclusiveStartKey: exclusiveStartKey, ReturnConsumedCapacity: 'INDEXES' })), { abortSignal: params.signal }), Math.max(1, timeoutMs - (Date.now() - startedAt)));
|
|
670
|
+
tracker.recordResponse(response, { trackNativeCounts: true });
|
|
671
|
+
pageCount += 1;
|
|
672
|
+
returnedItemCount += (_f = (_d = response.Count) !== null && _d !== void 0 ? _d : (_e = response.Items) === null || _e === void 0 ? void 0 : _e.length) !== null && _f !== void 0 ? _f : 0;
|
|
673
|
+
scannedItemCount +=
|
|
674
|
+
(_k = (_h = (_g = response.ScannedCount) !== null && _g !== void 0 ? _g : response.Count) !== null && _h !== void 0 ? _h : (_j = response.Items) === null || _j === void 0 ? void 0 : _j.length) !== null && _k !== void 0 ? _k : 0;
|
|
675
|
+
exclusiveStartKey = response.LastEvaluatedKey;
|
|
676
|
+
hasMorePages = !!exclusiveStartKey;
|
|
677
|
+
} while (hasMorePages);
|
|
678
|
+
const meta = tracker.build(hasMorePages);
|
|
679
|
+
return {
|
|
680
|
+
returnedItemCount,
|
|
681
|
+
scannedItemCount,
|
|
682
|
+
hasMorePages,
|
|
683
|
+
capacityBreakdown: meta.capacityBreakdown,
|
|
684
|
+
clientElapsedTimeMs: Date.now() - startedAt,
|
|
685
|
+
requestCount: meta.requestCount,
|
|
686
|
+
retryCount: meta.retryCount,
|
|
687
|
+
};
|
|
688
|
+
});
|
|
689
|
+
}
|
|
690
|
+
observePartiqlReadComplete(params) {
|
|
691
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
692
|
+
var _a, _b, _c, _d, _e;
|
|
693
|
+
const qst = (0, helpers_1.parseQuery)(params.statement);
|
|
694
|
+
if (!qst || ((_a = qst.ast) === null || _a === void 0 ? void 0 : _a.type) !== 'select') {
|
|
695
|
+
throw new Error('Complete-result Benchmark only supports a single SELECT statement.');
|
|
696
|
+
}
|
|
697
|
+
const maxPages = Math.min((_b = params.maxPages) !== null && _b !== void 0 ? _b : exports.DYNAMODB_COMPLETE_READ_MAX_PAGES, exports.DYNAMODB_COMPLETE_READ_MAX_PAGES);
|
|
698
|
+
const timeoutMs = Math.min((_c = params.timeoutMs) !== null && _c !== void 0 ? _c : exports.DYNAMODB_COMPLETE_READ_TIMEOUT_MS, exports.DYNAMODB_COMPLETE_READ_TIMEOUT_MS);
|
|
699
|
+
const startedAt = Date.now();
|
|
700
|
+
let nextToken;
|
|
701
|
+
let returnedItemCount = 0;
|
|
702
|
+
let pageCount = 0;
|
|
703
|
+
let hasMorePages = false;
|
|
704
|
+
const tracker = new dynamoDbCapacity_1.DynamoDbExecutionMetaTracker();
|
|
705
|
+
do {
|
|
706
|
+
if (pageCount >= maxPages)
|
|
707
|
+
break;
|
|
708
|
+
const input = {
|
|
709
|
+
Statement: params.statement,
|
|
710
|
+
Limit: exports.DYNAMODB_OBSERVED_READ_MAX_ITEMS,
|
|
711
|
+
NextToken: nextToken,
|
|
712
|
+
ReturnConsumedCapacity: 'INDEXES',
|
|
713
|
+
};
|
|
714
|
+
if (params.parameters && params.parameters.length > 0)
|
|
715
|
+
input.Parameters = (0, util_dynamodb_1.marshall)(params.parameters);
|
|
716
|
+
const response = yield withTimeout(this.client.send(new client_dynamodb_1.ExecuteStatementCommand(input), {
|
|
717
|
+
abortSignal: params.signal,
|
|
718
|
+
}), Math.max(1, timeoutMs - (Date.now() - startedAt)));
|
|
719
|
+
tracker.recordResponse(response);
|
|
720
|
+
pageCount += 1;
|
|
721
|
+
returnedItemCount += (_e = (_d = response.Items) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0;
|
|
722
|
+
nextToken = response.NextToken;
|
|
723
|
+
hasMorePages = !!(response.NextToken || response.LastEvaluatedKey);
|
|
724
|
+
if (!nextToken && hasMorePages)
|
|
725
|
+
break;
|
|
726
|
+
} while (hasMorePages);
|
|
727
|
+
const meta = tracker.build(hasMorePages);
|
|
728
|
+
return {
|
|
729
|
+
returnedItemCount,
|
|
730
|
+
scannedItemCount: undefined,
|
|
731
|
+
hasMorePages,
|
|
732
|
+
capacityBreakdown: meta.capacityBreakdown,
|
|
733
|
+
clientElapsedTimeMs: Date.now() - startedAt,
|
|
734
|
+
requestCount: meta.requestCount,
|
|
735
|
+
retryCount: meta.retryCount,
|
|
736
|
+
};
|
|
737
|
+
});
|
|
738
|
+
}
|
|
739
|
+
static classifyPartiqlOperationFromText(sql) {
|
|
740
|
+
const withoutLeadingComments = sql.replace(/^(\s*(?:--[^\n]*\n|\/\*[\s\S]*?\*\/))*\s*/, '');
|
|
741
|
+
const m = withoutLeadingComments.match(/^(select|insert|update|delete)\b/i);
|
|
742
|
+
return m
|
|
743
|
+
? m[1].toLowerCase()
|
|
744
|
+
: undefined;
|
|
745
|
+
}
|
|
746
|
+
itemsToResultSetData({ Count, Items, params, qst, elapsedTimeMilli, dbTable, allAttributeTypes, meta, apiOperation, }) {
|
|
747
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
748
|
+
const materializedItems = Items !== null && Items !== void 0 ? Items : [];
|
|
749
|
+
const record = Count === 0 ? {} : (_a = materializedItems[0]) !== null && _a !== void 0 ? _a : {};
|
|
750
|
+
const indexName = (_b = qst === null || qst === void 0 ? void 0 : qst.names) === null || _b === void 0 ? void 0 : _b.indexName;
|
|
751
|
+
const accessPath = (0, dynamoDbResultMetadata_1.resolveDynamoDbAccessPath)(dbTable, indexName);
|
|
484
752
|
const createRdhKeyFromName = (name) => {
|
|
485
753
|
const col = dbTable === null || dbTable === void 0 ? void 0 : dbTable.getChildByName(name);
|
|
486
754
|
const type = (col === null || col === void 0 ? void 0 : col.attrType)
|
|
487
755
|
? (0, types_1.parseDynamoAttrType)(col.attrType)
|
|
488
756
|
: allAttributeTypes.get(name);
|
|
489
|
-
|
|
490
|
-
let required = false;
|
|
491
|
-
if ((col === null || col === void 0 ? void 0 : col.name) === (pkAndSk === null || pkAndSk === void 0 ? void 0 : pkAndSk.pk)) {
|
|
492
|
-
comment = '(pk)';
|
|
493
|
-
required = true;
|
|
494
|
-
}
|
|
495
|
-
if ((col === null || col === void 0 ? void 0 : col.name) === (pkAndSk === null || pkAndSk === void 0 ? void 0 : pkAndSk.sk)) {
|
|
496
|
-
comment = '(sk)';
|
|
497
|
-
required = true;
|
|
498
|
-
}
|
|
757
|
+
const { comment, required } = (0, dynamoDbResultMetadata_1.describeDynamoDbResultKey)(dbTable, indexName, name);
|
|
499
758
|
return (0, rdh_1.createRdhKey)({
|
|
500
759
|
name,
|
|
501
760
|
type,
|
|
@@ -504,43 +763,31 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
504
763
|
});
|
|
505
764
|
};
|
|
506
765
|
const keys = Object.keys(record).map((it) => createRdhKeyFromName(it));
|
|
766
|
+
const keyNames = new Set(keys.map((key) => key.name));
|
|
507
767
|
for (const [attrName, colType] of allAttributeTypes) {
|
|
508
|
-
if (!
|
|
768
|
+
if (!keyNames.has(attrName)) {
|
|
509
769
|
keys.push((0, rdh_1.createRdhKey)({
|
|
510
770
|
name: attrName,
|
|
511
771
|
type: colType,
|
|
512
772
|
}));
|
|
773
|
+
keyNames.add(attrName);
|
|
513
774
|
}
|
|
514
775
|
}
|
|
515
|
-
if (((
|
|
516
|
-
((
|
|
517
|
-
((
|
|
776
|
+
if (((_c = qst === null || qst === void 0 ? void 0 : qst.ast) === null || _c === void 0 ? void 0 : _c.type) === 'select' &&
|
|
777
|
+
((_d = qst === null || qst === void 0 ? void 0 : qst.ast) === null || _d === void 0 ? void 0 : _d.columns) &&
|
|
778
|
+
((_e = qst === null || qst === void 0 ? void 0 : qst.ast) === null || _e === void 0 ? void 0 : _e.columns.length) === 1) {
|
|
518
779
|
const { expr } = qst.ast.columns[0];
|
|
519
780
|
if (expr.type === 'ref' && expr.name === '*') {
|
|
520
781
|
if (Count === 0 && keys.length === 0) {
|
|
521
|
-
|
|
522
|
-
keys.push(createRdhKeyFromName(
|
|
523
|
-
}
|
|
524
|
-
if (pkAndSk === null || pkAndSk === void 0 ? void 0 : pkAndSk.sk) {
|
|
525
|
-
keys.push(createRdhKeyFromName(pkAndSk === null || pkAndSk === void 0 ? void 0 : pkAndSk.sk));
|
|
782
|
+
for (const keyName of (0, dynamoDbResultMetadata_1.getDynamoDbResultKeyNames)(dbTable, indexName)) {
|
|
783
|
+
keys.push(createRdhKeyFromName(keyName));
|
|
526
784
|
}
|
|
527
785
|
}
|
|
528
|
-
keys.sort((a, b) =>
|
|
529
|
-
const n = (it) => it.name === (pkAndSk === null || pkAndSk === void 0 ? void 0 : pkAndSk.pk) ? -2 : it.name === (pkAndSk === null || pkAndSk === void 0 ? void 0 : pkAndSk.sk) ? -1 : 0;
|
|
530
|
-
const an = n(a);
|
|
531
|
-
const bn = n(b);
|
|
532
|
-
if (an < bn) {
|
|
533
|
-
return -1;
|
|
534
|
-
}
|
|
535
|
-
if (an > bn) {
|
|
536
|
-
return 1;
|
|
537
|
-
}
|
|
538
|
-
return a.name.localeCompare(b.name);
|
|
539
|
-
});
|
|
786
|
+
keys.sort((a, b) => (0, dynamoDbResultMetadata_1.compareDynamoDbResultKeys)(dbTable, indexName, a.name, b.name));
|
|
540
787
|
}
|
|
541
788
|
}
|
|
542
|
-
rdb = new rdh_1.ResultSetDataBuilder(keys);
|
|
543
|
-
|
|
789
|
+
const rdb = new rdh_1.ResultSetDataBuilder(keys);
|
|
790
|
+
materializedItems.forEach((item) => {
|
|
544
791
|
const values = (0, util_dynamodb_1.unmarshall)(item);
|
|
545
792
|
Object.entries(values).forEach(([key, value]) => {
|
|
546
793
|
const attrType = Object.keys(item[key])[0];
|
|
@@ -556,14 +803,63 @@ class AwsDynamoServiceClient extends AwsServiceClient_1.AwsServiceClient {
|
|
|
556
803
|
connectionName: this.conRes.name,
|
|
557
804
|
params,
|
|
558
805
|
rdb,
|
|
559
|
-
type: (
|
|
806
|
+
type: (_f = qst === null || qst === void 0 ? void 0 : qst.ast) === null || _f === void 0 ? void 0 : _f.type,
|
|
560
807
|
qst,
|
|
561
808
|
dbTable,
|
|
562
809
|
});
|
|
810
|
+
const operation = (_h = (_g = qst === null || qst === void 0 ? void 0 : qst.ast) === null || _g === void 0 ? void 0 : _g.type) !== null && _h !== void 0 ? _h : AwsDynamoServiceClient.classifyPartiqlOperationFromText(params.sql);
|
|
811
|
+
const isKnownWrite = operation === 'insert' ||
|
|
812
|
+
operation === 'update' ||
|
|
813
|
+
operation === 'delete';
|
|
814
|
+
const selectedRows = isKnownWrite ? undefined : rdb.rs.rows.length;
|
|
815
|
+
const affectedRows = undefined;
|
|
816
|
+
const capacityUnits = (_j = meta === null || meta === void 0 ? void 0 : meta.capacityBreakdown) === null || _j === void 0 ? void 0 : _j.capacityUnits;
|
|
817
|
+
if ((meta === null || meta === void 0 ? void 0 : meta.reportedCount) !== undefined &&
|
|
818
|
+
selectedRows !== undefined &&
|
|
819
|
+
meta.reportedCount !== selectedRows) {
|
|
820
|
+
console.warn(`[AwsDynamoServiceClient] DynamoDB-reported Count (${meta.reportedCount}) does not match the number of items materialized into ResultSetData (${selectedRows}) for table "${(_m = (_k = dbTable === null || dbTable === void 0 ? void 0 : dbTable.name) !== null && _k !== void 0 ? _k : (_l = params.meta) === null || _l === void 0 ? void 0 : _l.tableName) !== null && _m !== void 0 ? _m : 'unknown'}".`);
|
|
821
|
+
}
|
|
822
|
+
const dynamoDb = meta
|
|
823
|
+
? {
|
|
824
|
+
apiOperation,
|
|
825
|
+
accessPath,
|
|
826
|
+
returnedItemCount: selectedRows,
|
|
827
|
+
evaluatedItemCount: meta.scannedCount,
|
|
828
|
+
successfulResponseCount: meta.requestCount,
|
|
829
|
+
sdkRetryCount: meta.retryCount,
|
|
830
|
+
continuationTokenPresent: meta.hasMorePages,
|
|
831
|
+
consumedCapacity: meta.capacityBreakdown
|
|
832
|
+
? {
|
|
833
|
+
totalCapacityUnits: meta.capacityBreakdown.capacityUnits,
|
|
834
|
+
totalReadCapacityUnits: meta.capacityBreakdown.readCapacityUnits,
|
|
835
|
+
totalWriteCapacityUnits: meta.capacityBreakdown.writeCapacityUnits,
|
|
836
|
+
table: meta.capacityBreakdown.table,
|
|
837
|
+
localSecondaryIndexes: meta.capacityBreakdown.localSecondaryIndexes,
|
|
838
|
+
globalSecondaryIndexes: meta.capacityBreakdown.globalSecondaryIndexes,
|
|
839
|
+
}
|
|
840
|
+
: undefined,
|
|
841
|
+
}
|
|
842
|
+
: undefined;
|
|
563
843
|
rdb.setSummary({
|
|
844
|
+
info: (0, dynamoDbRdhSummary_1.buildDynamoDbRdhSummaryInfo)({
|
|
845
|
+
operation,
|
|
846
|
+
elapsedTimeMilli,
|
|
847
|
+
selectedRows,
|
|
848
|
+
affectedRows,
|
|
849
|
+
scannedRows: meta === null || meta === void 0 ? void 0 : meta.scannedCount,
|
|
850
|
+
requestCount: meta === null || meta === void 0 ? void 0 : meta.requestCount,
|
|
851
|
+
retryCount: meta === null || meta === void 0 ? void 0 : meta.retryCount,
|
|
852
|
+
capacityUnits,
|
|
853
|
+
readCapacityUnits: (_o = meta === null || meta === void 0 ? void 0 : meta.capacityBreakdown) === null || _o === void 0 ? void 0 : _o.readCapacityUnits,
|
|
854
|
+
writeCapacityUnits: (_p = meta === null || meta === void 0 ? void 0 : meta.capacityBreakdown) === null || _p === void 0 ? void 0 : _p.writeCapacityUnits,
|
|
855
|
+
hasMoreRows: meta === null || meta === void 0 ? void 0 : meta.hasMorePages,
|
|
856
|
+
accessPath,
|
|
857
|
+
}),
|
|
564
858
|
elapsedTimeMilli,
|
|
565
|
-
selectedRows
|
|
859
|
+
selectedRows,
|
|
860
|
+
affectedRows,
|
|
566
861
|
capacityUnits,
|
|
862
|
+
dynamoDb,
|
|
567
863
|
});
|
|
568
864
|
return rdb.build();
|
|
569
865
|
}
|