@kensio/yulin 1.20.7 → 1.20.8
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/dist/sdk/router/resolve-sim-sdk-command-router.d.ts.map +1 -1
- package/dist/sdk/router/resolve-sim-sdk-command-router.js +5 -0
- package/dist/sdk/router/resolve-sim-sdk-command-router.js.map +1 -1
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.d.ts +30 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.d.ts.map +1 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.js +48 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-creator.js.map +1 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-properties.d.ts +33 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-properties.d.ts.map +1 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-properties.js +67 -0
- package/dist/service/athena/cfn/named-query/sim-cfn-athena-named-query-properties.js.map +1 -0
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.d.ts +29 -0
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.d.ts.map +1 -0
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.js +67 -0
- package/dist/service/athena/cfn/sim-athena-cfn-resource-factory.js.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-property-values.d.ts +29 -0
- package/dist/service/athena/cfn/sim-cfn-athena-property-values.d.ts.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-property-values.js +74 -0
- package/dist/service/athena/cfn/sim-cfn-athena-property-values.js.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-error.d.ts +21 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-error.d.ts.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-error.js +34 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-error.js.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-types.d.ts +13 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-types.d.ts.map +1 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-types.js +13 -0
- package/dist/service/athena/cfn/sim-cfn-athena-resource-types.js.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-configuration-properties.d.ts +12 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-configuration-properties.d.ts.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-configuration-properties.js +46 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-configuration-properties.js.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.d.ts +34 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.d.ts.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.js +65 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-creator.js.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-properties.d.ts +46 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-properties.d.ts.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-properties.js +77 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-properties.js.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-property-rules.d.ts +27 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-property-rules.d.ts.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-property-rules.js +75 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-property-rules.js.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.d.ts +18 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.d.ts.map +1 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.js +49 -0
- package/dist/service/athena/cfn/work-group/sim-cfn-athena-work-group-unsimulated-properties.js.map +1 -0
- package/dist/service/athena/command/authorize/sim-athena-authorizer.d.ts +36 -0
- package/dist/service/athena/command/authorize/sim-athena-authorizer.d.ts.map +1 -0
- package/dist/service/athena/command/authorize/sim-athena-authorizer.js +56 -0
- package/dist/service/athena/command/authorize/sim-athena-authorizer.js.map +1 -0
- package/dist/service/athena/command/execution/execution.command.d.ts +130 -0
- package/dist/service/athena/command/execution/execution.command.d.ts.map +1 -0
- package/dist/service/athena/command/execution/execution.command.js +2 -0
- package/dist/service/athena/command/execution/execution.command.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-described-execution.d.ts +11 -0
- package/dist/service/athena/command/execution/sim-athena-described-execution.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-described-execution.js +50 -0
- package/dist/service/athena/command/execution/sim-athena-described-execution.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-execution-reads.d.ts +30 -0
- package/dist/service/athena/command/execution/sim-athena-execution-reads.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-execution-reads.js +43 -0
- package/dist/service/athena/command/execution/sim-athena-execution-reads.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-execution-writes.d.ts +43 -0
- package/dist/service/athena/command/execution/sim-athena-execution-writes.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-execution-writes.js +42 -0
- package/dist/service/athena/command/execution/sim-athena-execution-writes.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-output-location.d.ts +17 -0
- package/dist/service/athena/command/execution/sim-athena-query-output-location.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-output-location.js +28 -0
- package/dist/service/athena/command/execution/sim-athena-query-output-location.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-results-page.d.ts +10 -0
- package/dist/service/athena/command/execution/sim-athena-query-results-page.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-results-page.js +36 -0
- package/dist/service/athena/command/execution/sim-athena-query-results-page.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-rows.d.ts +16 -0
- package/dist/service/athena/command/execution/sim-athena-query-rows.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-rows.js +28 -0
- package/dist/service/athena/command/execution/sim-athena-query-rows.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-start.d.ts +24 -0
- package/dist/service/athena/command/execution/sim-athena-query-start.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-start.js +60 -0
- package/dist/service/athena/command/execution/sim-athena-query-start.js.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-stop.d.ts +16 -0
- package/dist/service/athena/command/execution/sim-athena-query-stop.d.ts.map +1 -0
- package/dist/service/athena/command/execution/sim-athena-query-stop.js +23 -0
- package/dist/service/athena/command/execution/sim-athena-query-stop.js.map +1 -0
- package/dist/service/athena/command/named-query/named-query.command.d.ts +104 -0
- package/dist/service/athena/command/named-query/named-query.command.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/named-query.command.js +2 -0
- package/dist/service/athena/command/named-query/named-query.command.js.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-described-named-query.d.ts +7 -0
- package/dist/service/athena/command/named-query/sim-athena-described-named-query.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-described-named-query.js +14 -0
- package/dist/service/athena/command/named-query/sim-athena-described-named-query.js.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-batch.d.ts +14 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-batch.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-batch.js +56 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-batch.js.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-field.d.ts +5 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-field.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-field.js +11 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-field.js.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-reads.d.ts +33 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-reads.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-reads.js +55 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-reads.js.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-writes.d.ts +33 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-writes.d.ts.map +1 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-writes.js +50 -0
- package/dist/service/athena/command/named-query/sim-athena-named-query-writes.js.map +1 -0
- package/dist/service/athena/command/sim-athena-command.types.d.ts +4 -0
- package/dist/service/athena/command/sim-athena-command.types.d.ts.map +1 -0
- package/dist/service/athena/command/sim-athena-command.types.js +2 -0
- package/dist/service/athena/command/sim-athena-command.types.js.map +1 -0
- package/dist/service/athena/command/sim-athena-commands.d.ts +42 -0
- package/dist/service/athena/command/sim-athena-commands.d.ts.map +1 -0
- package/dist/service/athena/command/sim-athena-commands.js +65 -0
- package/dist/service/athena/command/sim-athena-commands.js.map +1 -0
- package/dist/service/athena/command/sim-athena-page.d.ts +49 -0
- package/dist/service/athena/command/sim-athena-page.d.ts.map +1 -0
- package/dist/service/athena/command/sim-athena-page.js +75 -0
- package/dist/service/athena/command/sim-athena-page.js.map +1 -0
- package/dist/service/athena/command/sim-athena-request-options.d.ts +12 -0
- package/dist/service/athena/command/sim-athena-request-options.d.ts.map +1 -0
- package/dist/service/athena/command/sim-athena-request-options.js +2 -0
- package/dist/service/athena/command/sim-athena-request-options.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-described-work-group.d.ts +14 -0
- package/dist/service/athena/command/work-group/sim-athena-described-work-group.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-described-work-group.js +66 -0
- package/dist/service/athena/command/work-group/sim-athena-described-work-group.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-creation.d.ts +12 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-creation.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-creation.js +22 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-creation.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-deletion.d.ts +12 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-deletion.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-deletion.js +24 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-deletion.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-input.d.ts +26 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-input.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-input.js +93 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-input.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-reads.d.ts +26 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-reads.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-reads.js +39 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-reads.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-update.d.ts +12 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-update.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-update.js +26 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-update.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-updates-input.d.ts +11 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-updates-input.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-updates-input.js +35 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-updates-input.js.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-writes.d.ts +40 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-writes.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-writes.js +53 -0
- package/dist/service/athena/command/work-group/sim-athena-work-group-writes.js.map +1 -0
- package/dist/service/athena/command/work-group/work-group.command.d.ts +164 -0
- package/dist/service/athena/command/work-group/work-group.command.d.ts.map +1 -0
- package/dist/service/athena/command/work-group/work-group.command.js +2 -0
- package/dist/service/athena/command/work-group/work-group.command.js.map +1 -0
- package/dist/service/athena/error/sim-athena.error.d.ts +33 -0
- package/dist/service/athena/error/sim-athena.error.d.ts.map +1 -0
- package/dist/service/athena/error/sim-athena.error.js +34 -0
- package/dist/service/athena/error/sim-athena.error.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-no-result-destination.d.ts +11 -0
- package/dist/service/athena/execution/sim-athena-no-result-destination.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-no-result-destination.js +15 -0
- package/dist/service/athena/execution/sim-athena-no-result-destination.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-output-location.d.ts +24 -0
- package/dist/service/athena/execution/sim-athena-output-location.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-output-location.js +49 -0
- package/dist/service/athena/execution/sim-athena-output-location.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-execution-store.d.ts +24 -0
- package/dist/service/athena/execution/sim-athena-query-execution-store.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-execution-store.js +36 -0
- package/dist/service/athena/execution/sim-athena-query-execution-store.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-execution.d.ts +58 -0
- package/dist/service/athena/execution/sim-athena-query-execution.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-execution.js +81 -0
- package/dist/service/athena/execution/sim-athena-query-execution.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-runner.d.ts +48 -0
- package/dist/service/athena/execution/sim-athena-query-runner.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-runner.js +87 -0
- package/dist/service/athena/execution/sim-athena-query-runner.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-state.d.ts +12 -0
- package/dist/service/athena/execution/sim-athena-query-state.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-state.js +18 -0
- package/dist/service/athena/execution/sim-athena-query-state.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-status.d.ts +28 -0
- package/dist/service/athena/execution/sim-athena-query-status.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-status.js +48 -0
- package/dist/service/athena/execution/sim-athena-query-status.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-tokens.d.ts +30 -0
- package/dist/service/athena/execution/sim-athena-query-tokens.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-query-tokens.js +49 -0
- package/dist/service/athena/execution/sim-athena-query-tokens.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-result-csv.d.ts +11 -0
- package/dist/service/athena/execution/sim-athena-result-csv.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-result-csv.js +20 -0
- package/dist/service/athena/execution/sim-athena-result-csv.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-result-writer.d.ts +42 -0
- package/dist/service/athena/execution/sim-athena-result-writer.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-result-writer.js +31 -0
- package/dist/service/athena/execution/sim-athena-result-writer.js.map +1 -0
- package/dist/service/athena/execution/sim-athena-write-failure.d.ts +9 -0
- package/dist/service/athena/execution/sim-athena-write-failure.d.ts.map +1 -0
- package/dist/service/athena/execution/sim-athena-write-failure.js +12 -0
- package/dist/service/athena/execution/sim-athena-write-failure.js.map +1 -0
- package/dist/service/athena/index.d.ts +21 -0
- package/dist/service/athena/index.d.ts.map +1 -0
- package/dist/service/athena/index.js +18 -0
- package/dist/service/athena/index.js.map +1 -0
- package/dist/service/athena/named-query/sim-athena-named-query-store.d.ts +42 -0
- package/dist/service/athena/named-query/sim-athena-named-query-store.d.ts.map +1 -0
- package/dist/service/athena/named-query/sim-athena-named-query-store.js +62 -0
- package/dist/service/athena/named-query/sim-athena-named-query-store.js.map +1 -0
- package/dist/service/athena/named-query/sim-athena-named-query.d.ts +30 -0
- package/dist/service/athena/named-query/sim-athena-named-query.d.ts.map +1 -0
- package/dist/service/athena/named-query/sim-athena-named-query.js +28 -0
- package/dist/service/athena/named-query/sim-athena-named-query.js.map +1 -0
- package/dist/service/athena/result/sim-athena-declared-result.d.ts +44 -0
- package/dist/service/athena/result/sim-athena-declared-result.d.ts.map +1 -0
- package/dist/service/athena/result/sim-athena-declared-result.js +2 -0
- package/dist/service/athena/result/sim-athena-declared-result.js.map +1 -0
- package/dist/service/athena/result/sim-athena-query-results.d.ts +48 -0
- package/dist/service/athena/result/sim-athena-query-results.d.ts.map +1 -0
- package/dist/service/athena/result/sim-athena-query-results.js +59 -0
- package/dist/service/athena/result/sim-athena-query-results.js.map +1 -0
- package/dist/service/athena/result/sim-athena-resolved-result.d.ts +20 -0
- package/dist/service/athena/result/sim-athena-resolved-result.d.ts.map +1 -0
- package/dist/service/athena/result/sim-athena-resolved-result.js +52 -0
- package/dist/service/athena/result/sim-athena-resolved-result.js.map +1 -0
- package/dist/service/athena/sdk/sim-athena-sdk-command-router.d.ts +18 -0
- package/dist/service/athena/sdk/sim-athena-sdk-command-router.d.ts.map +1 -0
- package/dist/service/athena/sdk/sim-athena-sdk-command-router.js +80 -0
- package/dist/service/athena/sdk/sim-athena-sdk-command-router.js.map +1 -0
- package/dist/service/athena/sim-athena-arn.d.ts +11 -0
- package/dist/service/athena/sim-athena-arn.d.ts.map +1 -0
- package/dist/service/athena/sim-athena-arn.js +13 -0
- package/dist/service/athena/sim-athena-arn.js.map +1 -0
- package/dist/service/athena/sim-athena-executions.d.ts +81 -0
- package/dist/service/athena/sim-athena-executions.d.ts.map +1 -0
- package/dist/service/athena/sim-athena-executions.js +112 -0
- package/dist/service/athena/sim-athena-executions.js.map +1 -0
- package/dist/service/athena/sim-athena.d.ts +93 -0
- package/dist/service/athena/sim-athena.d.ts.map +1 -0
- package/dist/service/athena/sim-athena.js +128 -0
- package/dist/service/athena/sim-athena.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-result-configuration.d.ts +59 -0
- package/dist/service/athena/workgroup/sim-athena-result-configuration.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-result-configuration.js +61 -0
- package/dist/service/athena/workgroup/sim-athena-result-configuration.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-configuration.d.ts +52 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-configuration.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-configuration.js +67 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-configuration.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-name.d.ts +17 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-name.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-name.js +41 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-name.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-store.d.ts +31 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-store.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-store.js +45 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-store.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-updates.d.ts +32 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-updates.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-updates.js +2 -0
- package/dist/service/athena/workgroup/sim-athena-work-group-updates.js.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group.d.ts +54 -0
- package/dist/service/athena/workgroup/sim-athena-work-group.d.ts.map +1 -0
- package/dist/service/athena/workgroup/sim-athena-work-group.js +59 -0
- package/dist/service/athena/workgroup/sim-athena-work-group.js.map +1 -0
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.d.ts +18 -0
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.js +22 -0
- package/dist/service/aws/factory/sim-aws-self-contained-service-builder.js.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts +6 -0
- package/dist/service/aws/factory/sim-aws-service-factory.d.ts.map +1 -1
- package/dist/service/aws/factory/sim-aws-service-factory.js +8 -0
- package/dist/service/aws/factory/sim-aws-service-factory.js.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.d.ts +6 -0
- package/dist/service/aws/sim-aws-account-region-scope.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-account-region-scope.js +8 -0
- package/dist/service/aws/sim-aws-account-region-scope.js.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.d.ts +6 -0
- package/dist/service/aws/sim-aws-service-accessors.d.ts.map +1 -1
- package/dist/service/aws/sim-aws-service-accessors.js +8 -0
- package/dist/service/aws/sim-aws-service-accessors.js.map +1 -1
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-cfn-value-adapter.js +19 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-named-query-cfn.d.ts +23 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-named-query-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-named-query-cfn.js +25 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-named-query-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-work-group-cfn.d.ts +26 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-work-group-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-work-group-cfn.js +28 -0
- package/dist/service/cloudformation/resource/cfn/athena/sim-athena-work-group-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-cfn-value-adapter.d.ts +6 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-cfn-value-adapter.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-cfn-value-adapter.js +19 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-cfn-value-adapter.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-database-cfn.d.ts +27 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-database-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-database-cfn.js +27 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-database-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn-id.d.ts +21 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn-id.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn-id.js +22 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn-id.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn.d.ts +27 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn.d.ts.map +1 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn.js +30 -0
- package/dist/service/cloudformation/resource/cfn/glue/sim-glue-table-cfn.js.map +1 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js +4 -0
- package/dist/service/cloudformation/resource/cfn/sim-cfn-service-value-adapters.js.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.d.ts.map +1 -1
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js +8 -0
- package/dist/service/cloudformation/resource/resolve/service/sim-cfn-service-factories.js.map +1 -1
- package/dist/service/glue/arn/sim-glue-arn.d.ts +22 -0
- package/dist/service/glue/arn/sim-glue-arn.d.ts.map +1 -0
- package/dist/service/glue/arn/sim-glue-arn.js +29 -0
- package/dist/service/glue/arn/sim-glue-arn.js.map +1 -0
- package/dist/service/glue/arn/sim-glue-authorized-resources.d.ts +17 -0
- package/dist/service/glue/arn/sim-glue-authorized-resources.d.ts.map +1 -0
- package/dist/service/glue/arn/sim-glue-authorized-resources.js +29 -0
- package/dist/service/glue/arn/sim-glue-authorized-resources.js.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-creator.d.ts +27 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-creator.d.ts.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-creator.js +43 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-creator.js.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-properties.d.ts +31 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-properties.d.ts.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-properties.js +61 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-properties.js.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-rules.d.ts +18 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-rules.d.ts.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-rules.js +43 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-rules.js.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-unsimulated-properties.d.ts +10 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-unsimulated-properties.d.ts.map +1 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-unsimulated-properties.js +25 -0
- package/dist/service/glue/cfn/database/sim-cfn-glue-database-unsimulated-properties.js.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-catalog-id.d.ts +18 -0
- package/dist/service/glue/cfn/sim-cfn-glue-catalog-id.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-catalog-id.js +20 -0
- package/dist/service/glue/cfn/sim-cfn-glue-catalog-id.js.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-ignored.d.ts +19 -0
- package/dist/service/glue/cfn/sim-cfn-glue-ignored.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-ignored.js +22 -0
- package/dist/service/glue/cfn/sim-cfn-glue-ignored.js.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-property-error.d.ts +5 -0
- package/dist/service/glue/cfn/sim-cfn-glue-property-error.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-property-error.js +8 -0
- package/dist/service/glue/cfn/sim-cfn-glue-property-error.js.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-record.d.ts +37 -0
- package/dist/service/glue/cfn/sim-cfn-glue-record.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-record.js +63 -0
- package/dist/service/glue/cfn/sim-cfn-glue-record.js.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-values.d.ts +40 -0
- package/dist/service/glue/cfn/sim-cfn-glue-values.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-cfn-glue-values.js +74 -0
- package/dist/service/glue/cfn/sim-cfn-glue-values.js.map +1 -0
- package/dist/service/glue/cfn/sim-glue-cfn-resource-factory.d.ts +28 -0
- package/dist/service/glue/cfn/sim-glue-cfn-resource-factory.d.ts.map +1 -0
- package/dist/service/glue/cfn/sim-glue-cfn-resource-factory.js +54 -0
- package/dist/service/glue/cfn/sim-glue-cfn-resource-factory.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-columns.d.ts +20 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-columns.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-columns.js +51 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-columns.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-storage-descriptor.d.ts +19 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-storage-descriptor.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-storage-descriptor.js +63 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-storage-descriptor.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-creator.d.ts +30 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-creator.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-creator.js +47 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-creator.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-input.d.ts +16 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-input.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-input.js +26 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-input.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-properties.d.ts +31 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-properties.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-properties.js +55 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-properties.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-rules.d.ts +12 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-rules.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-rules.js +37 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-rules.js.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-unsimulated-properties.d.ts +19 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-unsimulated-properties.d.ts.map +1 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-unsimulated-properties.js +75 -0
- package/dist/service/glue/cfn/table/sim-cfn-glue-table-unsimulated-properties.js.map +1 -0
- package/dist/service/glue/command/authorize/sim-glue-authorize-resources.d.ts +18 -0
- package/dist/service/glue/command/authorize/sim-glue-authorize-resources.d.ts.map +1 -0
- package/dist/service/glue/command/authorize/sim-glue-authorize-resources.js +26 -0
- package/dist/service/glue/command/authorize/sim-glue-authorize-resources.js.map +1 -0
- package/dist/service/glue/command/authorize/sim-glue-authorizer.d.ts +45 -0
- package/dist/service/glue/command/authorize/sim-glue-authorizer.d.ts.map +1 -0
- package/dist/service/glue/command/authorize/sim-glue-authorizer.js +59 -0
- package/dist/service/glue/command/authorize/sim-glue-authorizer.js.map +1 -0
- package/dist/service/glue/command/database/database.command.d.ts +86 -0
- package/dist/service/glue/command/database/database.command.d.ts.map +1 -0
- package/dist/service/glue/command/database/database.command.js +2 -0
- package/dist/service/glue/command/database/database.command.js.map +1 -0
- package/dist/service/glue/command/database/sim-glue-database-commands.d.ts +42 -0
- package/dist/service/glue/command/database/sim-glue-database-commands.d.ts.map +1 -0
- package/dist/service/glue/command/database/sim-glue-database-commands.js +74 -0
- package/dist/service/glue/command/database/sim-glue-database-commands.js.map +1 -0
- package/dist/service/glue/command/database/sim-glue-database-detail.d.ts +10 -0
- package/dist/service/glue/command/database/sim-glue-database-detail.d.ts.map +1 -0
- package/dist/service/glue/command/database/sim-glue-database-detail.js +18 -0
- package/dist/service/glue/command/database/sim-glue-database-detail.js.map +1 -0
- package/dist/service/glue/command/sim-glue-catalog-id.d.ts +11 -0
- package/dist/service/glue/command/sim-glue-catalog-id.d.ts.map +1 -0
- package/dist/service/glue/command/sim-glue-catalog-id.js +18 -0
- package/dist/service/glue/command/sim-glue-catalog-id.js.map +1 -0
- package/dist/service/glue/command/sim-glue-request-options.d.ts +12 -0
- package/dist/service/glue/command/sim-glue-request-options.d.ts.map +1 -0
- package/dist/service/glue/command/sim-glue-request-options.js +2 -0
- package/dist/service/glue/command/sim-glue-request-options.js.map +1 -0
- package/dist/service/glue/command/table/sim-glue-table-commands.d.ts +43 -0
- package/dist/service/glue/command/table/sim-glue-table-commands.d.ts.map +1 -0
- package/dist/service/glue/command/table/sim-glue-table-commands.js +86 -0
- package/dist/service/glue/command/table/sim-glue-table-commands.js.map +1 -0
- package/dist/service/glue/command/table/sim-glue-table-detail.d.ts +14 -0
- package/dist/service/glue/command/table/sim-glue-table-detail.d.ts.map +1 -0
- package/dist/service/glue/command/table/sim-glue-table-detail.js +28 -0
- package/dist/service/glue/command/table/sim-glue-table-detail.js.map +1 -0
- package/dist/service/glue/command/table/table.command.d.ts +105 -0
- package/dist/service/glue/command/table/table.command.d.ts.map +1 -0
- package/dist/service/glue/command/table/table.command.js +2 -0
- package/dist/service/glue/command/table/table.command.js.map +1 -0
- package/dist/service/glue/database/sim-glue-catalog-name.d.ts +8 -0
- package/dist/service/glue/database/sim-glue-catalog-name.d.ts.map +1 -0
- package/dist/service/glue/database/sim-glue-catalog-name.js +26 -0
- package/dist/service/glue/database/sim-glue-catalog-name.js.map +1 -0
- package/dist/service/glue/database/sim-glue-database-store.d.ts +37 -0
- package/dist/service/glue/database/sim-glue-database-store.d.ts.map +1 -0
- package/dist/service/glue/database/sim-glue-database-store.js +54 -0
- package/dist/service/glue/database/sim-glue-database-store.js.map +1 -0
- package/dist/service/glue/database/sim-glue-database.d.ts +31 -0
- package/dist/service/glue/database/sim-glue-database.d.ts.map +1 -0
- package/dist/service/glue/database/sim-glue-database.js +33 -0
- package/dist/service/glue/database/sim-glue-database.js.map +1 -0
- package/dist/service/glue/error/sim-glue.error.d.ts +38 -0
- package/dist/service/glue/error/sim-glue.error.d.ts.map +1 -0
- package/dist/service/glue/error/sim-glue.error.js +41 -0
- package/dist/service/glue/error/sim-glue.error.js.map +1 -0
- package/dist/service/glue/index.d.ts +14 -0
- package/dist/service/glue/index.d.ts.map +1 -0
- package/dist/service/glue/index.js +9 -0
- package/dist/service/glue/index.js.map +1 -0
- package/dist/service/glue/sdk/sim-glue-sdk-command-router.d.ts +14 -0
- package/dist/service/glue/sdk/sim-glue-sdk-command-router.d.ts.map +1 -0
- package/dist/service/glue/sdk/sim-glue-sdk-command-router.js +52 -0
- package/dist/service/glue/sdk/sim-glue-sdk-command-router.js.map +1 -0
- package/dist/service/glue/sim-glue.d.ts +74 -0
- package/dist/service/glue/sim-glue.d.ts.map +1 -0
- package/dist/service/glue/sim-glue.js +128 -0
- package/dist/service/glue/sim-glue.js.map +1 -0
- package/dist/service/glue/table/sim-glue-table-input-shape.d.ts +37 -0
- package/dist/service/glue/table/sim-glue-table-input-shape.d.ts.map +1 -0
- package/dist/service/glue/table/sim-glue-table-input-shape.js +26 -0
- package/dist/service/glue/table/sim-glue-table-input-shape.js.map +1 -0
- package/dist/service/glue/table/sim-glue-table-schema.d.ts +51 -0
- package/dist/service/glue/table/sim-glue-table-schema.d.ts.map +1 -0
- package/dist/service/glue/table/sim-glue-table-schema.js +2 -0
- package/dist/service/glue/table/sim-glue-table-schema.js.map +1 -0
- package/dist/service/glue/table/sim-glue-table-store.d.ts +35 -0
- package/dist/service/glue/table/sim-glue-table-store.d.ts.map +1 -0
- package/dist/service/glue/table/sim-glue-table-store.js +71 -0
- package/dist/service/glue/table/sim-glue-table-store.js.map +1 -0
- package/dist/service/glue/table/sim-glue-table.d.ts +55 -0
- package/dist/service/glue/table/sim-glue-table.d.ts.map +1 -0
- package/dist/service/glue/table/sim-glue-table.js +58 -0
- package/dist/service/glue/table/sim-glue-table.js.map +1 -0
- package/dist/service/glue/write/sim-glue-catalog-writer.d.ts +35 -0
- package/dist/service/glue/write/sim-glue-catalog-writer.d.ts.map +1 -0
- package/dist/service/glue/write/sim-glue-catalog-writer.js +40 -0
- package/dist/service/glue/write/sim-glue-catalog-writer.js.map +1 -0
- package/dist/util/record/defined-entries.d.ts +10 -0
- package/dist/util/record/defined-entries.d.ts.map +1 -0
- package/dist/util/record/defined-entries.js +12 -0
- package/dist/util/record/defined-entries.js.map +1 -0
- package/package.json +11 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { SimAwsCaller } from "../../aws/caller/sim-aws-caller.js";
|
|
2
|
+
import type { SimAthenaResolvedResult } from "../result/sim-athena-resolved-result.js";
|
|
3
|
+
import type { SimAthenaQueryExecution } from "./sim-athena-query-execution.js";
|
|
4
|
+
/**
|
|
5
|
+
* The narrow slice of simulated S3 that writing a result needs.
|
|
6
|
+
*
|
|
7
|
+
* `SimS3` structurally implements this interface, the way
|
|
8
|
+
* `SimFirehoseObjectDestination` is implemented by the same class.
|
|
9
|
+
*/
|
|
10
|
+
export interface SimAthenaResultDestination {
|
|
11
|
+
putObject(command: {
|
|
12
|
+
input: {
|
|
13
|
+
Bucket: string;
|
|
14
|
+
Key: string;
|
|
15
|
+
Body: Uint8Array;
|
|
16
|
+
};
|
|
17
|
+
}, options?: {
|
|
18
|
+
caller: SimAwsCaller;
|
|
19
|
+
}): Promise<unknown>;
|
|
20
|
+
}
|
|
21
|
+
interface SimAthenaResultWriterProperties {
|
|
22
|
+
readonly s3: SimAthenaResultDestination;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Writes one query's result set to the output location it ran under.
|
|
26
|
+
*
|
|
27
|
+
* The write goes through simulated S3 as the caller that started the query.
|
|
28
|
+
* Athena writes a result under the identity that asked for it rather than
|
|
29
|
+
* under a role of its own, so a caller who cannot write to the Bucket fails
|
|
30
|
+
* the query here. That is the same shape as Firehose delivery, which writes
|
|
31
|
+
* under its delivery stream's role.
|
|
32
|
+
*/
|
|
33
|
+
export declare class SimAthenaResultWriter {
|
|
34
|
+
private readonly s3;
|
|
35
|
+
constructor(properties: SimAthenaResultWriterProperties);
|
|
36
|
+
/**
|
|
37
|
+
* Write one query's results, and answer with where they went.
|
|
38
|
+
*/
|
|
39
|
+
write(execution: SimAthenaQueryExecution, result: SimAthenaResolvedResult, caller: SimAwsCaller | undefined): Promise<void>;
|
|
40
|
+
}
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=sim-athena-result-writer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-result-writer.d.ts","sourceRoot":"","sources":["../../../../src/service/athena/execution/sim-athena-result-writer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AAEvF,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAG/E;;;;;GAKG;AACH,MAAM,WAAW,0BAA0B;IACzC,SAAS,CACP,OAAO,EAAE;QAAE,KAAK,EAAE;YAAE,MAAM,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,IAAI,EAAE,UAAU,CAAA;SAAE,CAAA;KAAE,EACrE,OAAO,CAAC,EAAE;QAAE,MAAM,EAAE,YAAY,CAAA;KAAE,GACjC,OAAO,CAAC,OAAO,CAAC,CAAC;CACrB;AAED,UAAU,+BAA+B;IACvC,QAAQ,CAAC,EAAE,EAAE,0BAA0B,CAAC;CACzC;AAED;;;;;;;;GAQG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAA6B;IAEhD,YAAY,UAAU,EAAE,+BAA+B,EAEtD;IAED;;OAEG;IACG,KAAK,CACT,SAAS,EAAE,uBAAuB,EAClC,MAAM,EAAE,uBAAuB,EAC/B,MAAM,EAAE,YAAY,GAAG,SAAS,GAC/B,OAAO,CAAC,IAAI,CAAC,CAaf;CACF"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { SimAthenaOutputLocation } from "./sim-athena-output-location.js";
|
|
2
|
+
import { simAthenaResultCsv } from "./sim-athena-result-csv.js";
|
|
3
|
+
/**
|
|
4
|
+
* Writes one query's result set to the output location it ran under.
|
|
5
|
+
*
|
|
6
|
+
* The write goes through simulated S3 as the caller that started the query.
|
|
7
|
+
* Athena writes a result under the identity that asked for it rather than
|
|
8
|
+
* under a role of its own, so a caller who cannot write to the Bucket fails
|
|
9
|
+
* the query here. That is the same shape as Firehose delivery, which writes
|
|
10
|
+
* under its delivery stream's role.
|
|
11
|
+
*/
|
|
12
|
+
export class SimAthenaResultWriter {
|
|
13
|
+
s3;
|
|
14
|
+
constructor(properties) {
|
|
15
|
+
this.s3 = properties.s3;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Write one query's results, and answer with where they went.
|
|
19
|
+
*/
|
|
20
|
+
async write(execution, result, caller) {
|
|
21
|
+
const location = new SimAthenaOutputLocation(execution.outputLocation);
|
|
22
|
+
const body = new TextEncoder().encode(simAthenaResultCsv(result));
|
|
23
|
+
const input = {
|
|
24
|
+
Bucket: location.bucketName,
|
|
25
|
+
Key: location.keyFor(execution.queryExecutionId),
|
|
26
|
+
Body: body,
|
|
27
|
+
};
|
|
28
|
+
await this.s3.putObject({ input }, caller === undefined ? undefined : { caller });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=sim-athena-result-writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-result-writer.js","sourceRoot":"","sources":["../../../../src/service/athena/execution/sim-athena-result-writer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAmBhE;;;;;;;;GAQG;AACH,MAAM,OAAO,qBAAqB;IACf,EAAE,CAA6B;IAEhD,YAAY,UAA2C;QACrD,IAAI,CAAC,EAAE,GAAG,UAAU,CAAC,EAAE,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,SAAkC,EAClC,MAA+B,EAC/B,MAAgC;QAEhC,MAAM,QAAQ,GAAG,IAAI,uBAAuB,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACvE,MAAM,IAAI,GAAG,IAAI,WAAW,EAAE,CAAC,MAAM,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GAAG;YACZ,MAAM,EAAE,QAAQ,CAAC,UAAU;YAC3B,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC;YAChD,IAAI,EAAE,IAAI;SACX,CAAC;QAEF,MAAM,IAAI,CAAC,EAAE,CAAC,SAAS,CACrB,EAAE,KAAK,EAAE,EACT,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAC9C,CAAC;IACJ,CAAC;CACF"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a query that answered rows still failed.
|
|
3
|
+
*
|
|
4
|
+
* Real Athena fails a query it cannot write the results of, and says so on the
|
|
5
|
+
* execution rather than raising at a caller who has already been answered and
|
|
6
|
+
* has gone away to poll.
|
|
7
|
+
*/
|
|
8
|
+
export declare function simAthenaWriteFailureReason(error: unknown): string;
|
|
9
|
+
//# sourceMappingURL=sim-athena-write-failure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-write-failure.d.ts","sourceRoot":"","sources":["../../../../src/service/athena/execution/sim-athena-write-failure.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAIlE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Why a query that answered rows still failed.
|
|
3
|
+
*
|
|
4
|
+
* Real Athena fails a query it cannot write the results of, and says so on the
|
|
5
|
+
* execution rather than raising at a caller who has already been answered and
|
|
6
|
+
* has gone away to poll.
|
|
7
|
+
*/
|
|
8
|
+
export function simAthenaWriteFailureReason(error) {
|
|
9
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
10
|
+
return `Query results could not be written to the output location: ${message}`;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=sim-athena-write-failure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-write-failure.js","sourceRoot":"","sources":["../../../../src/service/athena/execution/sim-athena-write-failure.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEvE,OAAO,8DAA8D,OAAO,EAAE,CAAC;AACjF,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export { SimAthena } from "./sim-athena.js";
|
|
2
|
+
export type { SimAthenaRequestOptions } from "./command/sim-athena-request-options.js";
|
|
3
|
+
export { athenaWorkGroupArn } from "./sim-athena-arn.js";
|
|
4
|
+
export { SimAthenaWorkGroup, type SimAthenaWorkGroupState, } from "./workgroup/sim-athena-work-group.js";
|
|
5
|
+
export { primaryWorkGroupName, requestedWorkGroupName, requiredWorkGroupName, } from "./workgroup/sim-athena-work-group-name.js";
|
|
6
|
+
export { SimAthenaWorkGroupConfiguration, type SimAthenaEngineVersion, } from "./workgroup/sim-athena-work-group-configuration.js";
|
|
7
|
+
export type { SimAthenaResultConfigurationUpdates, SimAthenaWorkGroupConfigurationUpdates, } from "./workgroup/sim-athena-work-group-updates.js";
|
|
8
|
+
export { SimAthenaResultConfiguration, type SimAthenaResultAcl, type SimAthenaResultEncryption, } from "./workgroup/sim-athena-result-configuration.js";
|
|
9
|
+
export { SimAthenaWorkGroupStore } from "./workgroup/sim-athena-work-group-store.js";
|
|
10
|
+
export { SimAthenaNamedQuery } from "./named-query/sim-athena-named-query.js";
|
|
11
|
+
export { SimAthenaQueryExecution } from "./execution/sim-athena-query-execution.js";
|
|
12
|
+
export { SimAthenaQueryExecutionStore } from "./execution/sim-athena-query-execution-store.js";
|
|
13
|
+
export { isSettledQueryState, type SimAthenaQueryState, } from "./execution/sim-athena-query-state.js";
|
|
14
|
+
export { SimAthenaOutputLocation } from "./execution/sim-athena-output-location.js";
|
|
15
|
+
export { SimAthenaQueryResults, type SimAthenaResultRequest, } from "./result/sim-athena-query-results.js";
|
|
16
|
+
export type { SimAthenaDeclaredColumn, SimAthenaDeclaredResult, } from "./result/sim-athena-declared-result.js";
|
|
17
|
+
export { SimAthenaResolvedResult } from "./result/sim-athena-resolved-result.js";
|
|
18
|
+
export { SimAthenaNamedQueryStore } from "./named-query/sim-athena-named-query-store.js";
|
|
19
|
+
export { athenaNamedQueryResourceType, athenaWorkGroupResourceType, } from "./cfn/sim-cfn-athena-resource-types.js";
|
|
20
|
+
export { SimAthenaAccessDeniedException, SimAthenaError, type SimAthenaErrorMetadata, SimAthenaInvalidRequestException, } from "./error/sim-athena.error.js";
|
|
21
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/service/athena/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,YAAY,EAAE,uBAAuB,EAAE,MAAM,yCAAyC,CAAC;AACvF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,KAAK,uBAAuB,GAC7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,+BAA+B,EAC/B,KAAK,sBAAsB,GAC5B,MAAM,oDAAoD,CAAC;AAC5D,YAAY,EACV,mCAAmC,EACnC,sCAAsC,GACvC,MAAM,8CAA8C,CAAC;AACtD,OAAO,EACL,4BAA4B,EAC5B,KAAK,kBAAkB,EACvB,KAAK,yBAAyB,GAC/B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EACL,mBAAmB,EACnB,KAAK,mBAAmB,GACzB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EACL,qBAAqB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,uBAAuB,EACvB,uBAAuB,GACxB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,8BAA8B,EAC9B,cAAc,EACd,KAAK,sBAAsB,EAC3B,gCAAgC,GACjC,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export { SimAthena } from "./sim-athena.js";
|
|
2
|
+
export { athenaWorkGroupArn } from "./sim-athena-arn.js";
|
|
3
|
+
export { SimAthenaWorkGroup, } from "./workgroup/sim-athena-work-group.js";
|
|
4
|
+
export { primaryWorkGroupName, requestedWorkGroupName, requiredWorkGroupName, } from "./workgroup/sim-athena-work-group-name.js";
|
|
5
|
+
export { SimAthenaWorkGroupConfiguration, } from "./workgroup/sim-athena-work-group-configuration.js";
|
|
6
|
+
export { SimAthenaResultConfiguration, } from "./workgroup/sim-athena-result-configuration.js";
|
|
7
|
+
export { SimAthenaWorkGroupStore } from "./workgroup/sim-athena-work-group-store.js";
|
|
8
|
+
export { SimAthenaNamedQuery } from "./named-query/sim-athena-named-query.js";
|
|
9
|
+
export { SimAthenaQueryExecution } from "./execution/sim-athena-query-execution.js";
|
|
10
|
+
export { SimAthenaQueryExecutionStore } from "./execution/sim-athena-query-execution-store.js";
|
|
11
|
+
export { isSettledQueryState, } from "./execution/sim-athena-query-state.js";
|
|
12
|
+
export { SimAthenaOutputLocation } from "./execution/sim-athena-output-location.js";
|
|
13
|
+
export { SimAthenaQueryResults, } from "./result/sim-athena-query-results.js";
|
|
14
|
+
export { SimAthenaResolvedResult } from "./result/sim-athena-resolved-result.js";
|
|
15
|
+
export { SimAthenaNamedQueryStore } from "./named-query/sim-athena-named-query-store.js";
|
|
16
|
+
export { athenaNamedQueryResourceType, athenaWorkGroupResourceType, } from "./cfn/sim-cfn-athena-resource-types.js";
|
|
17
|
+
export { SimAthenaAccessDeniedException, SimAthenaError, SimAthenaInvalidRequestException, } from "./error/sim-athena.error.js";
|
|
18
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/service/athena/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EACL,kBAAkB,GAEnB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,2CAA2C,CAAC;AACnD,OAAO,EACL,+BAA+B,GAEhC,MAAM,oDAAoD,CAAC;AAK5D,OAAO,EACL,4BAA4B,GAG7B,MAAM,gDAAgD,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,4CAA4C,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EAAE,4BAA4B,EAAE,MAAM,iDAAiD,CAAC;AAC/F,OAAO,EACL,mBAAmB,GAEpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AACpF,OAAO,EACL,qBAAqB,GAEtB,MAAM,sCAAsC,CAAC;AAK9C,OAAO,EAAE,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACjF,OAAO,EAAE,wBAAwB,EAAE,MAAM,+CAA+C,CAAC;AACzF,OAAO,EACL,4BAA4B,EAC5B,2BAA2B,GAC5B,MAAM,wCAAwC,CAAC;AAChD,OAAO,EACL,8BAA8B,EAC9B,cAAc,EAEd,gCAAgC,GACjC,MAAM,6BAA6B,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { SimAthenaNamedQuery } from "./sim-athena-named-query.js";
|
|
2
|
+
/**
|
|
3
|
+
* The named queries of one simulated Athena scope.
|
|
4
|
+
*
|
|
5
|
+
* Keyed by id rather than by name. Athena lets two named queries share a name,
|
|
6
|
+
* and the id is what every command after creation names one by.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SimAthenaNamedQueryStore {
|
|
9
|
+
private readonly namedQueries;
|
|
10
|
+
/**
|
|
11
|
+
* Every named query in this scope, in creation order.
|
|
12
|
+
*/
|
|
13
|
+
get all(): readonly SimAthenaNamedQuery[];
|
|
14
|
+
/**
|
|
15
|
+
* Store a named query.
|
|
16
|
+
*/
|
|
17
|
+
put(namedQuery: SimAthenaNamedQuery): void;
|
|
18
|
+
/**
|
|
19
|
+
* Find a named query by id.
|
|
20
|
+
*/
|
|
21
|
+
find(namedQueryId: string): SimAthenaNamedQuery | undefined;
|
|
22
|
+
/**
|
|
23
|
+
* Resolve a named query by id, or refuse.
|
|
24
|
+
*/
|
|
25
|
+
require(namedQueryId: string): SimAthenaNamedQuery;
|
|
26
|
+
/**
|
|
27
|
+
* Every named query belonging to one workgroup, in creation order.
|
|
28
|
+
*/
|
|
29
|
+
inWorkGroup(workGroupName: string): readonly SimAthenaNamedQuery[];
|
|
30
|
+
/**
|
|
31
|
+
* Forget a deleted named query.
|
|
32
|
+
*/
|
|
33
|
+
remove(namedQueryId: string): void;
|
|
34
|
+
/**
|
|
35
|
+
* Forget every named query belonging to a workgroup.
|
|
36
|
+
*
|
|
37
|
+
* `DeleteWorkGroup` with `RecursiveDeleteOption` takes the workgroup's named
|
|
38
|
+
* queries with it, which is what the flag is for.
|
|
39
|
+
*/
|
|
40
|
+
removeInWorkGroup(workGroupName: string): void;
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=sim-athena-named-query-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-named-query-store.d.ts","sourceRoot":"","sources":["../../../../src/service/athena/named-query/sim-athena-named-query-store.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAEvE;;;;;GAKG;AACH,qBAAa,wBAAwB;IACnC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA0C;IAEvE;;OAEG;IACH,IAAI,GAAG,IAAI,SAAS,mBAAmB,EAAE,CAExC;IAED;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,mBAAmB,GAAG,IAAI,CAEzC;IAED;;OAEG;IACH,IAAI,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS,CAE1D;IAED;;OAEG;IACH,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,mBAAmB,CAUjD;IAED;;OAEG;IACH,WAAW,CAAC,aAAa,EAAE,MAAM,GAAG,SAAS,mBAAmB,EAAE,CAIjE;IAED;;OAEG;IACH,MAAM,CAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAEjC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAI7C;CACF"}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { SimAthenaInvalidRequestException } from "../error/sim-athena.error.js";
|
|
2
|
+
/**
|
|
3
|
+
* The named queries of one simulated Athena scope.
|
|
4
|
+
*
|
|
5
|
+
* Keyed by id rather than by name. Athena lets two named queries share a name,
|
|
6
|
+
* and the id is what every command after creation names one by.
|
|
7
|
+
*/
|
|
8
|
+
export class SimAthenaNamedQueryStore {
|
|
9
|
+
namedQueries = new Map();
|
|
10
|
+
/**
|
|
11
|
+
* Every named query in this scope, in creation order.
|
|
12
|
+
*/
|
|
13
|
+
get all() {
|
|
14
|
+
return this.namedQueries.values().toArray();
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Store a named query.
|
|
18
|
+
*/
|
|
19
|
+
put(namedQuery) {
|
|
20
|
+
this.namedQueries.set(namedQuery.namedQueryId, namedQuery);
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Find a named query by id.
|
|
24
|
+
*/
|
|
25
|
+
find(namedQueryId) {
|
|
26
|
+
return this.namedQueries.get(namedQueryId);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Resolve a named query by id, or refuse.
|
|
30
|
+
*/
|
|
31
|
+
require(namedQueryId) {
|
|
32
|
+
const found = this.find(namedQueryId);
|
|
33
|
+
if (found === undefined) {
|
|
34
|
+
throw new SimAthenaInvalidRequestException(`NamedQuery ${namedQueryId} is not found.`);
|
|
35
|
+
}
|
|
36
|
+
return found;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Every named query belonging to one workgroup, in creation order.
|
|
40
|
+
*/
|
|
41
|
+
inWorkGroup(workGroupName) {
|
|
42
|
+
return this.all.filter((namedQuery) => namedQuery.workGroupName === workGroupName);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Forget a deleted named query.
|
|
46
|
+
*/
|
|
47
|
+
remove(namedQueryId) {
|
|
48
|
+
this.namedQueries.delete(namedQueryId);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Forget every named query belonging to a workgroup.
|
|
52
|
+
*
|
|
53
|
+
* `DeleteWorkGroup` with `RecursiveDeleteOption` takes the workgroup's named
|
|
54
|
+
* queries with it, which is what the flag is for.
|
|
55
|
+
*/
|
|
56
|
+
removeInWorkGroup(workGroupName) {
|
|
57
|
+
for (const namedQuery of this.inWorkGroup(workGroupName)) {
|
|
58
|
+
this.remove(namedQuery.namedQueryId);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
//# sourceMappingURL=sim-athena-named-query-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-named-query-store.js","sourceRoot":"","sources":["../../../../src/service/athena/named-query/sim-athena-named-query-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAGhF;;;;;GAKG;AACH,MAAM,OAAO,wBAAwB;IAClB,YAAY,GAAG,IAAI,GAAG,EAA+B,CAAC;IAEvE;;OAEG;IACH,IAAI,GAAG;QACL,OAAO,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,UAA+B;QACjC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,YAAoB;QACvB,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,YAAoB;QAC1B,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAEtC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,gCAAgC,CACxC,cAAc,YAAY,gBAAgB,CAC3C,CAAC;QACJ,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,aAAqB;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CACpB,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,aAAa,KAAK,aAAa,CAC3D,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,YAAoB;QACzB,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;IACzC,CAAC;IAED;;;;;OAKG;IACH,iBAAiB,CAAC,aAAqB;QACrC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;IACH,CAAC;CACF"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
interface SimAthenaNamedQueryProperties {
|
|
2
|
+
readonly namedQueryId: string;
|
|
3
|
+
readonly name: string;
|
|
4
|
+
readonly database: string;
|
|
5
|
+
readonly queryString: string;
|
|
6
|
+
readonly workGroupName: string;
|
|
7
|
+
readonly description?: string | undefined;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* One simulated Athena named query.
|
|
11
|
+
*
|
|
12
|
+
* A named query is SQL saved under a name so the console and the SDK can find
|
|
13
|
+
* it again. Nothing runs it. Athena stores the text and hands it back, and so
|
|
14
|
+
* does this.
|
|
15
|
+
*
|
|
16
|
+
* The query text is never parsed. A named query holding SQL no engine would
|
|
17
|
+
* accept is stored here exactly as a caller sent it, which the docs page lists
|
|
18
|
+
* under Limitations.
|
|
19
|
+
*/
|
|
20
|
+
export declare class SimAthenaNamedQuery {
|
|
21
|
+
readonly namedQueryId: string;
|
|
22
|
+
readonly name: string;
|
|
23
|
+
readonly database: string;
|
|
24
|
+
readonly queryString: string;
|
|
25
|
+
readonly workGroupName: string;
|
|
26
|
+
readonly description: string | undefined;
|
|
27
|
+
constructor(properties: SimAthenaNamedQueryProperties);
|
|
28
|
+
}
|
|
29
|
+
export {};
|
|
30
|
+
//# sourceMappingURL=sim-athena-named-query.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-named-query.d.ts","sourceRoot":"","sources":["../../../../src/service/athena/named-query/sim-athena-named-query.ts"],"names":[],"mappings":"AAAA,UAAU,6BAA6B;IACrC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC3C;AAED;;;;;;;;;;GAUG;AACH,qBAAa,mBAAmB;IAC9B,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,IAAI,EAAE,MAAM,CAAC;IAC7B,SAAgB,QAAQ,EAAE,MAAM,CAAC;IACjC,SAAgB,WAAW,EAAE,MAAM,CAAC;IACpC,SAAgB,aAAa,EAAE,MAAM,CAAC;IACtC,SAAgB,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;IAEhD,YAAY,UAAU,EAAE,6BAA6B,EAOpD;CACF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One simulated Athena named query.
|
|
3
|
+
*
|
|
4
|
+
* A named query is SQL saved under a name so the console and the SDK can find
|
|
5
|
+
* it again. Nothing runs it. Athena stores the text and hands it back, and so
|
|
6
|
+
* does this.
|
|
7
|
+
*
|
|
8
|
+
* The query text is never parsed. A named query holding SQL no engine would
|
|
9
|
+
* accept is stored here exactly as a caller sent it, which the docs page lists
|
|
10
|
+
* under Limitations.
|
|
11
|
+
*/
|
|
12
|
+
export class SimAthenaNamedQuery {
|
|
13
|
+
namedQueryId;
|
|
14
|
+
name;
|
|
15
|
+
database;
|
|
16
|
+
queryString;
|
|
17
|
+
workGroupName;
|
|
18
|
+
description;
|
|
19
|
+
constructor(properties) {
|
|
20
|
+
this.namedQueryId = properties.namedQueryId;
|
|
21
|
+
this.name = properties.name;
|
|
22
|
+
this.database = properties.database;
|
|
23
|
+
this.queryString = properties.queryString;
|
|
24
|
+
this.workGroupName = properties.workGroupName;
|
|
25
|
+
this.description = properties.description;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=sim-athena-named-query.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-named-query.js","sourceRoot":"","sources":["../../../../src/service/athena/named-query/sim-athena-named-query.ts"],"names":[],"mappings":"AASA;;;;;;;;;;GAUG;AACH,MAAM,OAAO,mBAAmB;IACd,YAAY,CAAS;IACrB,IAAI,CAAS;IACb,QAAQ,CAAS;IACjB,WAAW,CAAS;IACpB,aAAa,CAAS;IACtB,WAAW,CAAqB;IAEhD,YAAY,UAAyC;QACnD,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,YAAY,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;QAC5B,IAAI,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;QACpC,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC1C,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;IAC5C,CAAC;CACF"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* One column of a declared result.
|
|
3
|
+
*/
|
|
4
|
+
export interface SimAthenaDeclaredColumn {
|
|
5
|
+
readonly name: string;
|
|
6
|
+
/**
|
|
7
|
+
* The Athena type the column reports. Defaults to `varchar`.
|
|
8
|
+
*/
|
|
9
|
+
readonly type?: string | undefined;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* What a test says one query answers with.
|
|
13
|
+
*
|
|
14
|
+
* Nothing here is derived from the SQL. The simulation reads a query only as a
|
|
15
|
+
* key to match a declaration on, so the rows, the columns and the bytes
|
|
16
|
+
* scanned are all a test's own statement about what the query did.
|
|
17
|
+
*/
|
|
18
|
+
export interface SimAthenaDeclaredResult {
|
|
19
|
+
/**
|
|
20
|
+
* The columns the result set carries, in order. A bare string is a column
|
|
21
|
+
* of that name and the default type.
|
|
22
|
+
*/
|
|
23
|
+
readonly columns?: readonly (string | SimAthenaDeclaredColumn)[] | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* The rows, each holding one value per column.
|
|
26
|
+
*/
|
|
27
|
+
readonly rows?: readonly (readonly string[])[] | undefined;
|
|
28
|
+
/**
|
|
29
|
+
* How many bytes the query scanned.
|
|
30
|
+
*
|
|
31
|
+
* This is what a workgroup's `BytesScannedCutoffPerQuery` is measured
|
|
32
|
+
* against, so it is how a test drives the cost guardrail.
|
|
33
|
+
*/
|
|
34
|
+
readonly bytesScanned?: number | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* Fail the query with this reason rather than answering it.
|
|
37
|
+
*
|
|
38
|
+
* Nothing here reads SQL, so a query that should fail cannot be discovered.
|
|
39
|
+
* A test says so instead, which is what makes a client's failure handling
|
|
40
|
+
* reachable.
|
|
41
|
+
*/
|
|
42
|
+
readonly failsWith?: string | undefined;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=sim-athena-declared-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-declared-result.d.ts","sourceRoot":"","sources":["../../../../src/service/athena/result/sim-athena-declared-result.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;OAGG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,uBAAuB,CAAC,EAAE,GAAG,SAAS,CAAC;IAE7E;;OAEG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;IAE3D;;;;;OAKG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAE3C;;;;;;OAMG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACzC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-declared-result.js","sourceRoot":"","sources":["../../../../src/service/athena/result/sim-athena-declared-result.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { SimAthenaDeclaredResult } from "./sim-athena-declared-result.js";
|
|
2
|
+
import { SimAthenaResolvedResult } from "./sim-athena-resolved-result.js";
|
|
3
|
+
/**
|
|
4
|
+
* What a result rule is matched against.
|
|
5
|
+
*/
|
|
6
|
+
export interface SimAthenaResultRequest {
|
|
7
|
+
readonly queryString?: string | undefined;
|
|
8
|
+
readonly workGroupName?: string | undefined;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* The results one simulated Athena scope answers queries with.
|
|
12
|
+
*
|
|
13
|
+
* A rule for an exact query wins, then a rule for a workgroup, then the
|
|
14
|
+
* default. That ordering is `SimDeclaredResultRules`, which simulated Bedrock
|
|
15
|
+
* answers prompts with and simulated Rekognition answers images with. What is
|
|
16
|
+
* Athena's own is which key each tier holds.
|
|
17
|
+
*
|
|
18
|
+
* The query is the specific tier and the workgroup the broad one. A workgroup
|
|
19
|
+
* rule covers every query a stack's rollups run, which is what a test
|
|
20
|
+
* asserting on the code around the call wants. A query rule picks out the one
|
|
21
|
+
* statement a test is about.
|
|
22
|
+
*
|
|
23
|
+
* Matching is exact, with no pattern syntax, for the reason it is exact in
|
|
24
|
+
* Rekognition. A partial match forces a specificity rule, and a specificity
|
|
25
|
+
* rule is where a surprising answer comes from. The SQL is never parsed, so
|
|
26
|
+
* two queries differing only in whitespace are two different keys.
|
|
27
|
+
*/
|
|
28
|
+
export declare class SimAthenaQueryResults {
|
|
29
|
+
#private;
|
|
30
|
+
/**
|
|
31
|
+
* Answer with this result for any query no other rule matches.
|
|
32
|
+
*/
|
|
33
|
+
byDefault(result: SimAthenaDeclaredResult): void;
|
|
34
|
+
/**
|
|
35
|
+
* Answer with this result for this exact query text.
|
|
36
|
+
*/
|
|
37
|
+
onQuery(queryString: string, result: SimAthenaDeclaredResult): void;
|
|
38
|
+
/**
|
|
39
|
+
* Answer with this result for any query in this workgroup, where no query
|
|
40
|
+
* rule matched it first.
|
|
41
|
+
*/
|
|
42
|
+
onWorkGroup(workGroupName: string, result: SimAthenaDeclaredResult): void;
|
|
43
|
+
/**
|
|
44
|
+
* The result one query is answered with.
|
|
45
|
+
*/
|
|
46
|
+
resultFor(request: SimAthenaResultRequest): SimAthenaResolvedResult;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=sim-athena-query-results.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-query-results.d.ts","sourceRoot":"","sources":["../../../../src/service/athena/result/sim-athena-query-results.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAE1E;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1C,QAAQ,CAAC,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC7C;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,qBAAa,qBAAqB;;IAKhC;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAE/C;IAED;;OAEG;IACH,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAKlE;IAED;;;OAGG;IACH,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,uBAAuB,GAAG,IAAI,CAKxE;IAED;;OAEG;IACH,SAAS,CAAC,OAAO,EAAE,sBAAsB,GAAG,uBAAuB,CAKlE;CACF"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { SimDeclaredResultRules } from "../../../util/rule/sim-declared-result-rules.js";
|
|
2
|
+
import { SimAthenaInvalidRequestException } from "../error/sim-athena.error.js";
|
|
3
|
+
import { SimAthenaResolvedResult } from "./sim-athena-resolved-result.js";
|
|
4
|
+
/**
|
|
5
|
+
* The results one simulated Athena scope answers queries with.
|
|
6
|
+
*
|
|
7
|
+
* A rule for an exact query wins, then a rule for a workgroup, then the
|
|
8
|
+
* default. That ordering is `SimDeclaredResultRules`, which simulated Bedrock
|
|
9
|
+
* answers prompts with and simulated Rekognition answers images with. What is
|
|
10
|
+
* Athena's own is which key each tier holds.
|
|
11
|
+
*
|
|
12
|
+
* The query is the specific tier and the workgroup the broad one. A workgroup
|
|
13
|
+
* rule covers every query a stack's rollups run, which is what a test
|
|
14
|
+
* asserting on the code around the call wants. A query rule picks out the one
|
|
15
|
+
* statement a test is about.
|
|
16
|
+
*
|
|
17
|
+
* Matching is exact, with no pattern syntax, for the reason it is exact in
|
|
18
|
+
* Rekognition. A partial match forces a specificity rule, and a specificity
|
|
19
|
+
* rule is where a surprising answer comes from. The SQL is never parsed, so
|
|
20
|
+
* two queries differing only in whitespace are two different keys.
|
|
21
|
+
*/
|
|
22
|
+
export class SimAthenaQueryResults {
|
|
23
|
+
#rules = new SimDeclaredResultRules(new SimAthenaResolvedResult({}));
|
|
24
|
+
/**
|
|
25
|
+
* Answer with this result for any query no other rule matches.
|
|
26
|
+
*/
|
|
27
|
+
byDefault(result) {
|
|
28
|
+
this.#rules.byDefault(new SimAthenaResolvedResult(result));
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Answer with this result for this exact query text.
|
|
32
|
+
*/
|
|
33
|
+
onQuery(queryString, result) {
|
|
34
|
+
this.#rules.onLeadingKey(requiredRuleKey(queryString, "a query"), new SimAthenaResolvedResult(result));
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Answer with this result for any query in this workgroup, where no query
|
|
38
|
+
* rule matched it first.
|
|
39
|
+
*/
|
|
40
|
+
onWorkGroup(workGroupName, result) {
|
|
41
|
+
this.#rules.onTrailingKey(requiredRuleKey(workGroupName, "a workgroup name"), new SimAthenaResolvedResult(result));
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* The result one query is answered with.
|
|
45
|
+
*/
|
|
46
|
+
resultFor(request) {
|
|
47
|
+
return this.#rules.resultFor({
|
|
48
|
+
leading: request.queryString,
|
|
49
|
+
trailing: request.workGroupName,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
function requiredRuleKey(key, described) {
|
|
54
|
+
if (key.length === 0) {
|
|
55
|
+
throw new SimAthenaInvalidRequestException(`A simulated Athena result rule needs ${described} to match`);
|
|
56
|
+
}
|
|
57
|
+
return key;
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=sim-athena-query-results.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-query-results.js","sourceRoot":"","sources":["../../../../src/service/athena/result/sim-athena-query-results.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,iDAAiD,CAAC;AACzF,OAAO,EAAE,gCAAgC,EAAE,MAAM,8BAA8B,CAAC;AAEhF,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAU1E;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,OAAO,qBAAqB;IACvB,MAAM,GAAG,IAAI,sBAAsB,CAC1C,IAAI,uBAAuB,CAAC,EAAE,CAAC,CAChC,CAAC;IAEF;;OAEG;IACH,SAAS,CAAC,MAA+B;QACvC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,uBAAuB,CAAC,MAAM,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,WAAmB,EAAE,MAA+B;QAC1D,IAAI,CAAC,MAAM,CAAC,YAAY,CACtB,eAAe,CAAC,WAAW,EAAE,SAAS,CAAC,EACvC,IAAI,uBAAuB,CAAC,MAAM,CAAC,CACpC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,WAAW,CAAC,aAAqB,EAAE,MAA+B;QAChE,IAAI,CAAC,MAAM,CAAC,aAAa,CACvB,eAAe,CAAC,aAAa,EAAE,kBAAkB,CAAC,EAClD,IAAI,uBAAuB,CAAC,MAAM,CAAC,CACpC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,OAA+B;QACvC,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3B,OAAO,EAAE,OAAO,CAAC,WAAW;YAC5B,QAAQ,EAAE,OAAO,CAAC,aAAa;SAChC,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,eAAe,CAAC,GAAW,EAAE,SAAiB;IACrD,IAAI,GAAG,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,gCAAgC,CACxC,wCAAwC,SAAS,WAAW,CAC7D,CAAC;IACJ,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { SimAthenaDeclaredColumn, SimAthenaDeclaredResult } from "./sim-athena-declared-result.js";
|
|
2
|
+
/**
|
|
3
|
+
* One declared result, read into the shape the query lifecycle works with.
|
|
4
|
+
*
|
|
5
|
+
* A declaration is deliberately loose, since a test writing one cares about
|
|
6
|
+
* the rows. This fills in what it left out, and it is the only place that
|
|
7
|
+
* knows how.
|
|
8
|
+
*/
|
|
9
|
+
export declare class SimAthenaResolvedResult {
|
|
10
|
+
readonly columns: readonly SimAthenaDeclaredColumn[];
|
|
11
|
+
readonly rows: readonly (readonly string[])[];
|
|
12
|
+
readonly bytesScanned: number;
|
|
13
|
+
readonly failsWith: string | undefined;
|
|
14
|
+
constructor(declared: SimAthenaDeclaredResult);
|
|
15
|
+
/**
|
|
16
|
+
* Whether this result says the query should fail.
|
|
17
|
+
*/
|
|
18
|
+
get fails(): boolean;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=sim-athena-resolved-result.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-resolved-result.d.ts","sourceRoot":"","sources":["../../../../src/service/athena/result/sim-athena-resolved-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACxB,MAAM,iCAAiC,CAAC;AAOzC;;;;;;GAMG;AACH,qBAAa,uBAAuB;IAClC,SAAgB,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5D,SAAgB,IAAI,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACrD,SAAgB,YAAY,EAAE,MAAM,CAAC;IACrC,SAAgB,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAE9C,YAAY,QAAQ,EAAE,uBAAuB,EAK5C;IAED;;OAEG;IACH,IAAI,KAAK,IAAI,OAAO,CAEnB;CACF"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The type a column reports when a declaration names none.
|
|
3
|
+
*/
|
|
4
|
+
const defaultColumnType = "varchar";
|
|
5
|
+
/**
|
|
6
|
+
* One declared result, read into the shape the query lifecycle works with.
|
|
7
|
+
*
|
|
8
|
+
* A declaration is deliberately loose, since a test writing one cares about
|
|
9
|
+
* the rows. This fills in what it left out, and it is the only place that
|
|
10
|
+
* knows how.
|
|
11
|
+
*/
|
|
12
|
+
export class SimAthenaResolvedResult {
|
|
13
|
+
columns;
|
|
14
|
+
rows;
|
|
15
|
+
bytesScanned;
|
|
16
|
+
failsWith;
|
|
17
|
+
constructor(declared) {
|
|
18
|
+
this.rows = declared.rows ?? [];
|
|
19
|
+
this.columns = resolvedColumns(declared, this.rows);
|
|
20
|
+
this.bytesScanned = declared.bytesScanned ?? 0;
|
|
21
|
+
this.failsWith = declared.failsWith;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Whether this result says the query should fail.
|
|
25
|
+
*/
|
|
26
|
+
get fails() {
|
|
27
|
+
return this.failsWith !== undefined;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The columns a result set reports.
|
|
32
|
+
*
|
|
33
|
+
* A declaration naming none is given one per value in the first row, called
|
|
34
|
+
* `_col0` upward, which is what Athena calls a column a query left unnamed.
|
|
35
|
+
*/
|
|
36
|
+
function resolvedColumns(declared, rows) {
|
|
37
|
+
const columns = declared.columns;
|
|
38
|
+
if (columns !== undefined) {
|
|
39
|
+
return columns.map(namedColumn);
|
|
40
|
+
}
|
|
41
|
+
return (rows[0] ?? []).map((_value, index) => ({
|
|
42
|
+
name: `_col${String(index)}`,
|
|
43
|
+
type: defaultColumnType,
|
|
44
|
+
}));
|
|
45
|
+
}
|
|
46
|
+
function namedColumn(column) {
|
|
47
|
+
if (typeof column === "string") {
|
|
48
|
+
return { name: column, type: defaultColumnType };
|
|
49
|
+
}
|
|
50
|
+
return { name: column.name, type: column.type ?? defaultColumnType };
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=sim-athena-resolved-result.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-resolved-result.js","sourceRoot":"","sources":["../../../../src/service/athena/result/sim-athena-resolved-result.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAEpC;;;;;;GAMG;AACH,MAAM,OAAO,uBAAuB;IAClB,OAAO,CAAqC;IAC5C,IAAI,CAAiC;IACrC,YAAY,CAAS;IACrB,SAAS,CAAqB;IAE9C,YAAY,QAAiC;QAC3C,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,OAAO,GAAG,eAAe,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;IACtC,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,eAAe,CACtB,QAAiC,EACjC,IAAoC;IAEpC,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IAEjC,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;QAC1B,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;IAClC,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7C,IAAI,EAAE,OAAO,MAAM,CAAC,KAAK,CAAC,EAAE;QAC5B,IAAI,EAAE,iBAAiB;KACxB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,WAAW,CAClB,MAAwC;IAExC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;IACnD,CAAC;IAED,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,iBAAiB,EAAE,CAAC;AACvE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type SimSdkCommandRoute, type SimSdkCommandRouter } from "../../../sdk/index.js";
|
|
2
|
+
import type { SimAthena } from "../sim-athena.js";
|
|
3
|
+
/**
|
|
4
|
+
* Routes intercepted SDK Commands to one scoped simulated Athena.
|
|
5
|
+
*/
|
|
6
|
+
export declare class SimAthenaSdkCommandRouter implements SimSdkCommandRouter {
|
|
7
|
+
private readonly routes;
|
|
8
|
+
constructor(simAthena: SimAthena);
|
|
9
|
+
/**
|
|
10
|
+
* The SDK Command names simulated Athena handles.
|
|
11
|
+
*/
|
|
12
|
+
supportedCommandNames(): readonly string[];
|
|
13
|
+
/**
|
|
14
|
+
* Find the route for an intercepted SDK Command, if this service has one.
|
|
15
|
+
*/
|
|
16
|
+
route(commandName: string): SimSdkCommandRoute | undefined;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=sim-athena-sdk-command-router.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sim-athena-sdk-command-router.d.ts","sourceRoot":"","sources":["../../../../src/service/athena/sdk/sim-athena-sdk-command-router.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAElD;;GAEG;AACH,qBAAa,yBAA0B,YAAW,mBAAmB;IACnE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0C;IAEjE,YAAY,SAAS,EAAE,SAAS,EAmH/B;IAED;;OAEG;IACH,qBAAqB,IAAI,SAAS,MAAM,EAAE,CAEzC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,EAAE,MAAM,GAAG,kBAAkB,GAAG,SAAS,CAEzD;CACF"}
|