├── .github ├── ISSUE_TEMPLATE │ ├── bug_report.md │ └── feature_request.md └── workflows │ ├── build.yml │ └── homebrew.yml ├── .gitignore ├── CNAME ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── NOTICE ├── README.md └── ddbsh ├── CMakeLists.txt ├── command ├── command.hpp ├── connect.cpp ├── connect.hpp ├── create_backup.cpp ├── create_backup.hpp ├── create_table.cpp ├── create_table.hpp ├── delete.cpp ├── delete.hpp ├── describe.cpp ├── describe.hpp ├── describe_backup.cpp ├── describe_backup.hpp ├── drop_backup.cpp ├── drop_backup.hpp ├── drop_table.cpp ├── drop_table.hpp ├── insert.cpp ├── insert.hpp ├── pitr.cpp ├── pitr.hpp ├── quit.cpp ├── quit.hpp ├── restore_backup.cpp ├── restore_backup.hpp ├── restore_pitr.cpp ├── restore_pitr.hpp ├── select.cpp ├── select.hpp ├── show_backups.cpp ├── show_backups.hpp ├── show_create_table.cpp ├── show_create_table.hpp ├── show_limits.cpp ├── show_limits.hpp ├── show_tables.cpp ├── show_tables.hpp ├── template.cpp ├── template.hpp ├── transact-read.hpp ├── transact-write.hpp ├── transact.hpp ├── update.cpp ├── update.hpp ├── update_delete.hpp ├── update_table.cpp ├── update_table.hpp ├── update_table_replica.hpp ├── update_table_ttl.cpp └── update_table_ttl.hpp ├── ddbsh ├── ddbsh.cpp ├── ddbsh.hpp ├── main.cpp ├── version.cpp └── version.hpp ├── dynamodb ├── consumed_capacity_totalizer.hpp ├── ddbsh_ddb_client_config.cpp ├── ddbsh_ddb_client_config.hpp ├── describe_helper.cpp ├── describe_helper.hpp ├── get_key_schema.cpp ├── get_key_schema.hpp ├── ratelimit.hpp ├── select_helper.cpp ├── select_helper.hpp ├── serialize_attribute.cpp ├── serialize_attribute.hpp ├── table_exists.cpp └── table_exists.hpp ├── expressions ├── logical_and.hpp ├── logical_attribute_exists.hpp ├── logical_attribute_type.hpp ├── logical_begins_with.hpp ├── logical_between.hpp ├── logical_comparison.hpp ├── logical_contains.hpp ├── logical_expression.hpp ├── logical_in.hpp ├── logical_or.hpp ├── symbol_table.hpp ├── update_set_element.hpp └── where.hpp ├── include └── aws-includes.hpp ├── parser ├── input-source.cpp ├── input-source.hpp ├── keywords.cpp ├── keywords.hpp ├── lexer.l ├── parser-defs.hpp └── parser.y ├── tests ├── ddbsh-basic-tests.txt ├── ddbsh-create-drop-tests.txt ├── ddbsh-cross-account.txt ├── ddbsh-delete-tests.txt ├── ddbsh-gt-check.txt ├── ddbsh-gt-completion.txt ├── ddbsh-gt-setup.txt ├── ddbsh-insert-tests.txt ├── ddbsh-load-1.sql ├── ddbsh-load-2.sql ├── ddbsh-load-3.sql ├── ddbsh-load-4.sql ├── ddbsh-pitr-tests.txt ├── ddbsh-return-values.txt ├── ddbsh-select-tests.txt ├── ddbsh-symbol-table.txt ├── ddbsh-tests.txt ├── ddbsh-transactions-tests.txt ├── ddbsh-update-load-1.sql ├── ddbsh-update-load-2.sql ├── ddbsh-update-load-3.sql ├── ddbsh-update-load-4.sql ├── ddbsh-update-tests.txt ├── results │ ├── ddbsh-basic-test-1.exp │ ├── ddbsh-basic-test-10.exp │ ├── ddbsh-basic-test-11.exp │ ├── ddbsh-basic-test-12.exp │ ├── ddbsh-basic-test-13.exp │ ├── ddbsh-basic-test-14.exp │ ├── ddbsh-basic-test-15.exp │ ├── ddbsh-basic-test-16.exp │ ├── ddbsh-basic-test-17.exp │ ├── ddbsh-basic-test-18.exp │ ├── ddbsh-basic-test-19.exp │ ├── ddbsh-basic-test-2.exp │ ├── ddbsh-basic-test-20.exp │ ├── ddbsh-basic-test-21.exp │ ├── ddbsh-basic-test-22.exp │ ├── ddbsh-basic-test-23.exp │ ├── ddbsh-basic-test-24.exp │ ├── ddbsh-basic-test-25.exp │ ├── ddbsh-basic-test-26.exp │ ├── ddbsh-basic-test-27.exp │ ├── ddbsh-basic-test-28.exp │ ├── ddbsh-basic-test-29.exp │ ├── ddbsh-basic-test-3.exp │ ├── ddbsh-basic-test-30.exp │ ├── ddbsh-basic-test-31.exp │ ├── ddbsh-basic-test-32.exp │ ├── ddbsh-basic-test-33.exp │ ├── ddbsh-basic-test-34.exp │ ├── ddbsh-basic-test-35.exp │ ├── ddbsh-basic-test-36.exp │ ├── ddbsh-basic-test-37.exp │ ├── ddbsh-basic-test-38.exp │ ├── ddbsh-basic-test-4.exp │ ├── ddbsh-basic-test-40.exp │ ├── ddbsh-basic-test-41.exp │ ├── ddbsh-basic-test-42.exp │ ├── ddbsh-basic-test-43.exp │ ├── ddbsh-basic-test-44.exp │ ├── ddbsh-basic-test-45.exp │ ├── ddbsh-basic-test-46.exp │ ├── ddbsh-basic-test-47.exp │ ├── ddbsh-basic-test-48.exp │ ├── ddbsh-basic-test-49.exp │ ├── ddbsh-basic-test-5.exp │ ├── ddbsh-basic-test-6.exp │ ├── ddbsh-basic-test-7.exp │ ├── ddbsh-basic-test-8.exp │ ├── ddbsh-cross-account-test-1.exp │ ├── ddbsh-cross-account-test-10.exp │ ├── ddbsh-cross-account-test-11.exp │ ├── ddbsh-cross-account-test-12.exp │ ├── ddbsh-cross-account-test-13.exp │ ├── ddbsh-cross-account-test-14.exp │ ├── ddbsh-cross-account-test-15.exp │ ├── ddbsh-cross-account-test-16.exp │ ├── ddbsh-cross-account-test-17.exp │ ├── ddbsh-cross-account-test-18.exp │ ├── ddbsh-cross-account-test-19.exp │ ├── ddbsh-cross-account-test-2.exp │ ├── ddbsh-cross-account-test-20.exp │ ├── ddbsh-cross-account-test-21.exp │ ├── ddbsh-cross-account-test-22.exp │ ├── ddbsh-cross-account-test-23.exp │ ├── ddbsh-cross-account-test-24.exp │ ├── ddbsh-cross-account-test-25.exp │ ├── ddbsh-cross-account-test-26.exp │ ├── ddbsh-cross-account-test-27.exp │ ├── ddbsh-cross-account-test-28.exp │ ├── ddbsh-cross-account-test-29.exp │ ├── ddbsh-cross-account-test-3.exp │ ├── ddbsh-cross-account-test-30.exp │ ├── ddbsh-cross-account-test-31.exp │ ├── ddbsh-cross-account-test-32.exp │ ├── ddbsh-cross-account-test-33.exp │ ├── ddbsh-cross-account-test-34.exp │ ├── ddbsh-cross-account-test-35.exp │ ├── ddbsh-cross-account-test-36.exp │ ├── ddbsh-cross-account-test-37.exp │ ├── ddbsh-cross-account-test-38.exp │ ├── ddbsh-cross-account-test-4.exp │ ├── ddbsh-cross-account-test-40.exp │ ├── ddbsh-cross-account-test-41.exp │ ├── ddbsh-cross-account-test-42.exp │ ├── ddbsh-cross-account-test-43.exp │ ├── ddbsh-cross-account-test-44.exp │ ├── ddbsh-cross-account-test-45.exp │ ├── ddbsh-cross-account-test-46.exp │ ├── ddbsh-cross-account-test-47.exp │ ├── ddbsh-cross-account-test-48.exp │ ├── ddbsh-cross-account-test-49.exp │ ├── ddbsh-cross-account-test-5.exp │ ├── ddbsh-cross-account-test-6.exp │ ├── ddbsh-cross-account-test-7.exp │ ├── ddbsh-cross-account-test-8.exp │ ├── ddbsh-delete-0.exp │ ├── ddbsh-delete-1.exp │ ├── ddbsh-delete-10.exp │ ├── ddbsh-delete-11.exp │ ├── ddbsh-delete-12.exp │ ├── ddbsh-delete-13.exp │ ├── ddbsh-delete-14.exp │ ├── ddbsh-delete-2.exp │ ├── ddbsh-delete-21.exp │ ├── ddbsh-delete-22.exp │ ├── ddbsh-delete-23.exp │ ├── ddbsh-delete-24.exp │ ├── ddbsh-delete-25.exp │ ├── ddbsh-delete-26.exp │ ├── ddbsh-delete-27.exp │ ├── ddbsh-delete-28.exp │ ├── ddbsh-delete-29.exp │ ├── ddbsh-delete-3.exp │ ├── ddbsh-delete-30.exp │ ├── ddbsh-delete-31.exp │ ├── ddbsh-delete-32.exp │ ├── ddbsh-delete-33.exp │ ├── ddbsh-delete-34.exp │ ├── ddbsh-delete-35.exp │ ├── ddbsh-delete-36.exp │ ├── ddbsh-delete-37.exp │ ├── ddbsh-delete-38.exp │ ├── ddbsh-delete-39.exp │ ├── ddbsh-delete-4.exp │ ├── ddbsh-delete-40.exp │ ├── ddbsh-delete-5.exp │ ├── ddbsh-delete-6.exp │ ├── ddbsh-delete-7.exp │ ├── ddbsh-delete-8.exp │ ├── ddbsh-delete-9.exp │ ├── ddbsh-gt-check-1.exp │ ├── ddbsh-load-1-check.exp │ ├── ddbsh-load-2-check.exp │ ├── ddbsh-load-3-check.exp │ ├── ddbsh-load-4-check.exp │ ├── ddbsh-rv-test-1.exp │ ├── ddbsh-rv-test-2.exp │ ├── ddbsh-rv-test-3.exp │ ├── ddbsh-rv-test-4.exp │ ├── ddbsh-rv-test-5.exp │ ├── ddbsh-rv-test-6.exp │ ├── ddbsh-update-load-1-check.exp │ ├── ddbsh-update-load-2-check.exp │ ├── ddbsh-update-load-3-check.exp │ ├── ddbsh-update-load-4-check.exp │ ├── iins-check-10.exp │ ├── iins-check-11.exp │ ├── iins-check-12.exp │ ├── iins-check-13.exp │ ├── iins-check-14.exp │ ├── iins-check-15.exp │ ├── iins-check-2.exp │ ├── iins-check-3.exp │ ├── iins-check-4.exp │ ├── iins-check-5.exp │ ├── iins-check-6.exp │ ├── iins-check-7.exp │ ├── iins-check-8.exp │ ├── iins-check-9.exp │ ├── iins-check.exp │ ├── isel-1.exp │ ├── isel-10.exp │ ├── isel-100.exp │ ├── isel-101.exp │ ├── isel-102.exp │ ├── isel-103.exp │ ├── isel-104.exp │ ├── isel-105.exp │ ├── isel-106.exp │ ├── isel-107.exp │ ├── isel-108.exp │ ├── isel-109.exp │ ├── isel-11.exp │ ├── isel-110.exp │ ├── isel-111.exp │ ├── isel-112.exp │ ├── isel-113.exp │ ├── isel-114.exp │ ├── isel-115.exp │ ├── isel-116.exp │ ├── isel-117.exp │ ├── isel-118.exp │ ├── isel-119.exp │ ├── isel-12.exp │ ├── isel-120.exp │ ├── isel-121.exp │ ├── isel-122.exp │ ├── isel-123.exp │ ├── isel-124.exp │ ├── isel-125.exp │ ├── isel-126.exp │ ├── isel-127.exp │ ├── isel-128.exp │ ├── isel-129.exp │ ├── isel-13.exp │ ├── isel-130.exp │ ├── isel-131.exp │ ├── isel-132.exp │ ├── isel-133.exp │ ├── isel-134.exp │ ├── isel-135.exp │ ├── isel-136.exp │ ├── isel-137.exp │ ├── isel-138.exp │ ├── isel-139.exp │ ├── isel-14.exp │ ├── isel-140.exp │ ├── isel-141.exp │ ├── isel-142.exp │ ├── isel-143.exp │ ├── isel-144.exp │ ├── isel-145.exp │ ├── isel-146.exp │ ├── isel-147.exp │ ├── isel-148.exp │ ├── isel-149.exp │ ├── isel-15.exp │ ├── isel-150.exp │ ├── isel-151.exp │ ├── isel-152.exp │ ├── isel-153.exp │ ├── isel-154.exp │ ├── isel-155.exp │ ├── isel-156.exp │ ├── isel-157.exp │ ├── isel-158.exp │ ├── isel-159.exp │ ├── isel-16.exp │ ├── isel-160.exp │ ├── isel-161.exp │ ├── isel-162.exp │ ├── isel-163.exp │ ├── isel-164.exp │ ├── isel-165.exp │ ├── isel-166.exp │ ├── isel-167.exp │ ├── isel-168.exp │ ├── isel-169.exp │ ├── isel-17.exp │ ├── isel-170.exp │ ├── isel-171.exp │ ├── isel-172.exp │ ├── isel-173.exp │ ├── isel-174.exp │ ├── isel-175.exp │ ├── isel-176.exp │ ├── isel-177.exp │ ├── isel-178.exp │ ├── isel-179.exp │ ├── isel-18.exp │ ├── isel-180.exp │ ├── isel-181.exp │ ├── isel-182.exp │ ├── isel-183.exp │ ├── isel-184.exp │ ├── isel-185.exp │ ├── isel-186.exp │ ├── isel-187.exp │ ├── isel-188.exp │ ├── isel-189.exp │ ├── isel-19.exp │ ├── isel-190.exp │ ├── isel-191.exp │ ├── isel-192.exp │ ├── isel-193.exp │ ├── isel-194.exp │ ├── isel-195.exp │ ├── isel-196.exp │ ├── isel-197.exp │ ├── isel-198.exp │ ├── isel-199.exp │ ├── isel-2.exp │ ├── isel-20.exp │ ├── isel-200.exp │ ├── isel-201.exp │ ├── isel-202.exp │ ├── isel-203.exp │ ├── isel-204.exp │ ├── isel-205.exp │ ├── isel-206.exp │ ├── isel-207.exp │ ├── isel-208.exp │ ├── isel-209.exp │ ├── isel-21.exp │ ├── isel-210.exp │ ├── isel-211.exp │ ├── isel-212.exp │ ├── isel-213.exp │ ├── isel-214.exp │ ├── isel-215.exp │ ├── isel-216.exp │ ├── isel-217.exp │ ├── isel-218.exp │ ├── isel-219.exp │ ├── isel-22.exp │ ├── isel-220.exp │ ├── isel-221.exp │ ├── isel-222.exp │ ├── isel-23.exp │ ├── isel-24.exp │ ├── isel-25.exp │ ├── isel-26.exp │ ├── isel-27.exp │ ├── isel-28.exp │ ├── isel-29.exp │ ├── isel-3.exp │ ├── isel-30.exp │ ├── isel-31.exp │ ├── isel-32.exp │ ├── isel-33.exp │ ├── isel-34.exp │ ├── isel-35.exp │ ├── isel-36.exp │ ├── isel-37.exp │ ├── isel-38.exp │ ├── isel-39.exp │ ├── isel-4.exp │ ├── isel-40.exp │ ├── isel-41.exp │ ├── isel-42.exp │ ├── isel-43.exp │ ├── isel-44.exp │ ├── isel-45.exp │ ├── isel-46.exp │ ├── isel-47.exp │ ├── isel-48.exp │ ├── isel-49.exp │ ├── isel-5.exp │ ├── isel-50.exp │ ├── isel-51.exp │ ├── isel-52.exp │ ├── isel-53.exp │ ├── isel-54.exp │ ├── isel-55.exp │ ├── isel-56.exp │ ├── isel-57.exp │ ├── isel-58.exp │ ├── isel-59.exp │ ├── isel-6.exp │ ├── isel-60.exp │ ├── isel-61.exp │ ├── isel-62.exp │ ├── isel-63.exp │ ├── isel-64.exp │ ├── isel-65.exp │ ├── isel-66.exp │ ├── isel-67.exp │ ├── isel-68.exp │ ├── isel-69.exp │ ├── isel-7.exp │ ├── isel-70.exp │ ├── isel-71.exp │ ├── isel-72.exp │ ├── isel-73.exp │ ├── isel-74.exp │ ├── isel-75.exp │ ├── isel-76.exp │ ├── isel-77.exp │ ├── isel-78.exp │ ├── isel-79.exp │ ├── isel-8.exp │ ├── isel-80.exp │ ├── isel-81.exp │ ├── isel-82.exp │ ├── isel-83.exp │ ├── isel-84.exp │ ├── isel-85.exp │ ├── isel-86.exp │ ├── isel-87.exp │ ├── isel-88.exp │ ├── isel-89.exp │ ├── isel-9.exp │ ├── isel-90.exp │ ├── isel-91.exp │ ├── isel-92.exp │ ├── isel-93.exp │ ├── isel-94.exp │ ├── isel-95.exp │ ├── isel-96.exp │ ├── isel-97.exp │ ├── isel-98.exp │ ├── isel-99.exp │ ├── itxt-1.exp │ ├── itxt-10.exp │ ├── itxt-13.exp │ ├── itxt-14.exp │ ├── itxt-15.exp │ ├── itxt-2.exp │ ├── itxt-3.exp │ ├── itxt-4.exp │ ├── itxt-5.exp │ ├── itxt-6.exp │ ├── itxt-7.exp │ ├── itxt-8.exp │ ├── itxt-9.exp │ ├── iut-0.exp │ ├── iut-1.exp │ ├── iut-10.exp │ ├── iut-11.exp │ ├── iut-12.exp │ ├── iut-13.exp │ ├── iut-14.exp │ ├── iut-15.exp │ ├── iut-16.exp │ ├── iut-17.exp │ ├── iut-18.exp │ ├── iut-19.exp │ ├── iut-2.exp │ ├── iut-20.exp │ ├── iut-21.exp │ ├── iut-22.exp │ ├── iut-23.exp │ ├── iut-24.exp │ ├── iut-25.exp │ ├── iut-26.exp │ ├── iut-27.exp │ ├── iut-28.exp │ ├── iut-29.exp │ ├── iut-3.exp │ ├── iut-30.exp │ ├── iut-31.exp │ ├── iut-32.exp │ ├── iut-33.exp │ ├── iut-34.exp │ ├── iut-35.exp │ ├── iut-36.exp │ ├── iut-37.exp │ ├── iut-38.exp │ ├── iut-39.exp │ ├── iut-4.exp │ ├── iut-40.exp │ ├── iut-41.exp │ ├── iut-42.exp │ ├── iut-5.exp │ ├── iut-6.exp │ ├── iut-7.exp │ ├── iut-8.exp │ └── iut-9.exp └── test-cleanup.txt ├── util ├── allocation.cpp ├── allocation.hpp ├── ddbsh-common.hpp ├── ll.cpp ├── ll.hpp ├── logging.cpp ├── logging.hpp ├── strip_newlines.cpp ├── strip_newlines.hpp ├── testalloc.cpp ├── trim_double.cpp ├── trim_double.hpp ├── unquote.cpp └── unquote.hpp └── version.h.in /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /.github/workflows/homebrew.yml: -------------------------------------------------------------------------------- 1 | name: Publish formula to homebrew tap 2 | 3 | on: 4 | release: 5 | types: [created] 6 | workflow_dispatch: 7 | 8 | jobs: 9 | update-tap: 10 | runs-on: ubuntu-latest 11 | steps: 12 | - name: Update Homebrew formulae 13 | uses: dynamodb-shell-brew-pr-bot/action-homebrew-bump-formula@v3.11.0 14 | with: 15 | token: "${{ secrets.TOKEN }}" 16 | tap: aws/homebrew-tap 17 | formula: aws-ddbsh 18 | tag: ${{github.event.release.tag_name}} 19 | force: true 20 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Prerequisites 2 | *.d 3 | 4 | # Compiled Object files 5 | *.slo 6 | *.lo 7 | *.o 8 | *.obj 9 | 10 | # Precompiled Headers 11 | *.gch 12 | *.pch 13 | 14 | # Compiled Dynamic libraries 15 | *.so 16 | *.dylib 17 | *.dll 18 | 19 | # Fortran module files 20 | *.mod 21 | *.smod 22 | 23 | # Compiled Static libraries 24 | *.lai 25 | *.la 26 | *.a 27 | *.lib 28 | 29 | # Executables 30 | *.exe 31 | *.out 32 | *.app 33 | 34 | # ignore the build directory in its entirety 35 | build -------------------------------------------------------------------------------- /CNAME: -------------------------------------------------------------------------------- 1 | www.ddbsh.org -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | ## Code of Conduct 2 | This project has adopted the [Amazon Open Source Code of Conduct](https://aws.github.io/code-of-conduct). 3 | For more information see the [Code of Conduct FAQ](https://aws.github.io/code-of-conduct-faq) or contact 4 | opensource-codeofconduct@amazon.com with any additional questions or comments. 5 | -------------------------------------------------------------------------------- /NOTICE: -------------------------------------------------------------------------------- 1 | Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | -------------------------------------------------------------------------------- /ddbsh/command/command.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * command.hpp 6 | * 7 | * The base class of a command. 8 | * 9 | * Amrith Kumar. 2022-08-10 10 | */ 11 | 12 | #ifndef __COMMAND_HPP_DEFINED__ 13 | #define __COMMAND_HPP_DEFINED__ 14 | 15 | #include "aws-includes.hpp" 16 | 17 | #include 18 | 19 | namespace ddbsh 20 | { 21 | class CCommand 22 | { 23 | public: 24 | CCommand() { 25 | m_explain = false; 26 | }; 27 | 28 | virtual int run() { return 0; }; 29 | 30 | virtual ~CCommand() { }; 31 | 32 | virtual void explain() final { 33 | m_explain = true; 34 | }; 35 | 36 | virtual Aws::DynamoDB::Model::TransactGetItem * txget() { 37 | // override where required 38 | return NULL; 39 | }; 40 | 41 | virtual Aws::Vector * txwrite() { 42 | // override where required 43 | return NULL; 44 | }; 45 | 46 | protected: 47 | virtual bool explaining() final { 48 | return m_explain; 49 | }; 50 | 51 | private: 52 | bool m_explain; 53 | }; 54 | }; 55 | 56 | #endif 57 | -------------------------------------------------------------------------------- /ddbsh/command/connect.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * connect.cpp 6 | * 7 | * command handler for connect 8 | * 9 | * Amrith - 2022-08-10 10 | */ 11 | 12 | #include "ddbsh.hpp" 13 | #include "connect.hpp" 14 | #include "logging.hpp" 15 | #include "strip_newlines.hpp" 16 | 17 | using namespace ddbsh; 18 | 19 | int CConnectCommand::run() 20 | { 21 | logdebug("[%s, %d] entering run()\n", __FILENAME__, __LINE__); 22 | CDDBSh * pInstance = CDDBSh::getInstance(); 23 | 24 | pInstance->setRegionAndEndpoint(m_region, m_endpoint); 25 | 26 | printf("CONNECT\n"); 27 | return 0; 28 | } 29 | 30 | CConnectCommand::CConnectCommand(std::string region, std::string endpoint) 31 | { 32 | m_region = region; 33 | m_endpoint = endpoint; 34 | } 35 | 36 | -------------------------------------------------------------------------------- /ddbsh/command/connect.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * connect.hpp 6 | * 7 | * command handler for connect 8 | * 9 | * Amrith - 2022-08-10 10 | */ 11 | 12 | #ifndef __CONNECT_HPP_DEFINED__ 13 | #define __CONNECT_HPP_DEFINED__ 14 | 15 | #include 16 | 17 | #include "command.hpp" 18 | 19 | namespace ddbsh 20 | { 21 | class CConnectCommand: public CCommand 22 | { 23 | public: 24 | CConnectCommand(std::string region, std::string endpoint); 25 | int run(); 26 | 27 | private: 28 | std::string m_region; 29 | std::string m_endpoint; 30 | }; 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /ddbsh/command/create_backup.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * create_backup.hpp 6 | * 7 | * command handler for create_backup command 8 | * 9 | * Amrith - 2022-08-15 10 | */ 11 | 12 | #ifndef __CREATE_BACKUP_COMMAND_HPP_DEFINED__ 13 | #define __CREATE_BACKUP_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | class CCreateBackupCommand: public CCommand 20 | { 21 | public: 22 | CCreateBackupCommand(std::string table_name, std::string backup_name) : 23 | m_table_name {table_name}, 24 | m_backup_name {backup_name} {}; 25 | int run(); 26 | virtual ~CCreateBackupCommand(); 27 | 28 | private: 29 | std::string m_table_name; 30 | std::string m_backup_name; 31 | }; 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /ddbsh/command/describe.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * describe.hpp 6 | * 7 | * command handler for describe 8 | * 9 | * Amrith - 2022-08-15 10 | */ 11 | 12 | #ifndef __DESCRIBE_COMMAND_HPP_DEFINED__ 13 | #define __DESCRIBE_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | class CDescribeCommand: public CCommand 20 | { 21 | public: 22 | CDescribeCommand(std::string table) : m_table {table} {}; 23 | int run(); 24 | virtual ~CDescribeCommand(); 25 | 26 | private: 27 | std::string m_table; 28 | }; 29 | } 30 | #endif 31 | -------------------------------------------------------------------------------- /ddbsh/command/describe_backup.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * describe_backup.hpp 6 | * 7 | * command handler for describe_backup command 8 | * 9 | * Amrith - 2022-08-15 10 | */ 11 | 12 | #ifndef __DESCRIBE_BACKUP_COMMAND_HPP_DEFINED__ 13 | #define __DESCRIBE_BACKUP_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | class CDescribeBackupCommand: public CCommand 20 | { 21 | public: 22 | CDescribeBackupCommand(std::string arn) : 23 | m_backup_arn {arn} {}; 24 | int run(); 25 | virtual ~CDescribeBackupCommand(); 26 | 27 | private: 28 | std::string m_backup_arn; 29 | }; 30 | } 31 | #endif 32 | -------------------------------------------------------------------------------- /ddbsh/command/drop_backup.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * drop_backup.hpp 6 | * 7 | * command handler for drop_backup command 8 | * 9 | * Amrith - 2022-08-15 10 | */ 11 | 12 | #ifndef __DROP_BACKUP_COMMAND_HPP_DEFINED__ 13 | #define __DROP_BACKUP_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | 20 | class CDropBackupCommand: public CCommand 21 | { 22 | public: 23 | CDropBackupCommand(std::string backup_arn) : 24 | m_backup_arn { backup_arn }{}; 25 | int run(); 26 | virtual ~CDropBackupCommand(); 27 | 28 | private: 29 | std::string m_backup_arn; 30 | }; 31 | 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /ddbsh/command/drop_table.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * show_tables.hpp 6 | * 7 | * command handler for show tables 8 | * 9 | * Amrith - 2022-08-11 10 | */ 11 | 12 | #ifndef __DROP_TABLE_COMMAND_HPP_DEFINED__ 13 | #define __DROP_TABLE_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | class CDropTableCommand: public CCommand 20 | { 21 | public: 22 | CDropTableCommand(std::string table, bool exists, bool nowait); 23 | int run(); 24 | virtual ~CDropTableCommand(); 25 | 26 | private: 27 | std::string m_table; 28 | bool m_exists; 29 | bool m_nowait; 30 | }; 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /ddbsh/command/pitr.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * pitr.hpp 6 | * 7 | * command handler for PITR 8 | * 9 | * Amrith - 2022-11-21 10 | */ 11 | 12 | #ifndef __PITR_COMMAND_HPP_DEFINED__ 13 | #define __PITR_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | class CUpdatePITRCommand: public CCommand 20 | { 21 | public: 22 | CUpdatePITRCommand(std::string table, bool value) { 23 | m_table_name = table; 24 | m_pitr = value; 25 | }; 26 | int run(); 27 | virtual ~CUpdatePITRCommand(); 28 | 29 | private: 30 | std::string m_table_name; 31 | bool m_pitr; 32 | }; 33 | } 34 | #endif 35 | -------------------------------------------------------------------------------- /ddbsh/command/quit.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * quit.cpp 6 | * 7 | * command handler for quit 8 | * 9 | * Amrith - 2022-08-10 10 | */ 11 | 12 | #include "ddbsh.hpp" 13 | #include "quit.hpp" 14 | 15 | using namespace ddbsh; 16 | 17 | int CQuitCommand::run() 18 | { 19 | printf("QUIT\n"); 20 | 21 | if (explaining()) 22 | { 23 | printf("There is no good reason to quit. It is inexplicable.\n"); 24 | } 25 | 26 | CDDBSh::getInstance()->quit(); 27 | return 0; 28 | } 29 | 30 | CQuitCommand::~CQuitCommand() 31 | { 32 | } 33 | -------------------------------------------------------------------------------- /ddbsh/command/quit.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * quit.hpp 6 | * 7 | * command handler for quit 8 | * 9 | * Amrith - 2022-08-10 10 | */ 11 | 12 | #ifndef __QUIT_HPP_DEFINED__ 13 | #define __QUIT_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | 20 | class CQuitCommand: public CCommand 21 | { 22 | public: 23 | int run(); 24 | virtual ~CQuitCommand(); 25 | }; 26 | 27 | } 28 | #endif 29 | -------------------------------------------------------------------------------- /ddbsh/command/restore_backup.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * restore_backup.hpp 6 | * 7 | * command handler for restore_backup command 8 | * 9 | * Amrith - 2022-08-15 10 | */ 11 | 12 | #ifndef __RESTORE_BACKUP_COMMAND_HPP_DEFINED__ 13 | #define __RESTORE_BACKUP_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | class CRestoreBackupCommand: public CCommand 20 | { 21 | public: 22 | CRestoreBackupCommand(std::string table, std::string arn) : 23 | m_table_name { table }, 24 | m_backup_arn { arn } {}; 25 | int run(); 26 | virtual ~CRestoreBackupCommand(); 27 | 28 | private: 29 | std::string m_table_name; 30 | std::string m_backup_arn; 31 | }; 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /ddbsh/command/show_backups.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * show_backups.hpp 6 | * 7 | * command handler for show_backups command 8 | * 9 | * Amrith - 2022-08-15 10 | */ 11 | 12 | #ifndef __SHOW_BACKUPS_COMMAND_HPP_DEFINED__ 13 | #define __SHOW_BACKUPS_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | class CShowBackupsCommand: public CCommand 20 | { 21 | public: 22 | CShowBackupsCommand(std::string backup_type, std::string table_name) : 23 | m_backup_type {backup_type}, 24 | m_table_name {table_name} {}; 25 | int run(); 26 | virtual ~CShowBackupsCommand(); 27 | 28 | private: 29 | std::string m_backup_type; 30 | std::string m_table_name; 31 | }; 32 | } 33 | #endif 34 | -------------------------------------------------------------------------------- /ddbsh/command/show_limits.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * show_limits.hpp 6 | * 7 | * command handler for show_limits command 8 | * 9 | * Amrith - 2022-08-15 10 | */ 11 | 12 | #ifndef __SHOW_LIMITS_COMMAND_HPP_DEFINED__ 13 | #define __SHOW_LIMITS_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | class CShowLimitsCommand: public CCommand 20 | { 21 | public: 22 | CShowLimitsCommand() {}; 23 | int run(); 24 | virtual ~CShowLimitsCommand(); 25 | }; 26 | } 27 | #endif 28 | -------------------------------------------------------------------------------- /ddbsh/command/show_tables.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * show_tables.hpp 6 | * 7 | * command handler for show tables 8 | * 9 | * Amrith - 2022-08-11 10 | */ 11 | 12 | #ifndef __SHOW_TABLES_COMMAND_HPP_DEFINED__ 13 | #define __SHOW_TABLES_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | class CShowTablesCommand: public CCommand 20 | { 21 | public: 22 | int run(); 23 | virtual ~CShowTablesCommand(); 24 | CShowTablesCommand(bool brief, char * regexp) : 25 | m_regexp { regexp }, m_brief { brief } {}; 26 | 27 | private: 28 | std::string m_regexp; 29 | bool m_brief; 30 | }; 31 | } 32 | #endif 33 | -------------------------------------------------------------------------------- /ddbsh/command/template.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * template.cpp 6 | * 7 | * command handler for template 8 | * 9 | * Amrith - 2022-08-15 10 | */ 11 | 12 | #include "ddbsh.hpp" 13 | #include "template.hpp" 14 | #include "logging.hpp" 15 | 16 | #include "aws-includes.hpp" 17 | 18 | using namespace ddbsh; 19 | 20 | int CTemplateCommand::run() 21 | { 22 | logdebug("[%s, %d] entering run()\n", __FILENAME__, __LINE__); 23 | Aws::DynamoDB::DynamoDBClient * p_dynamoDBClient; 24 | 25 | p_dynamoDBClient = CDDBSh::getInstance()->getClient(); 26 | 27 | return 0; 28 | } 29 | 30 | CTemplateCommand::~CTemplateCommand() 31 | { 32 | logdebug("[%s, %d] In destructor.\n", __FILENAME__, __LINE__); 33 | } 34 | 35 | -------------------------------------------------------------------------------- /ddbsh/command/template.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * template.hpp 6 | * 7 | * command handler for template command 8 | * 9 | * Amrith - 2022-08-15 10 | */ 11 | 12 | #ifndef __TEMPLATE_COMMAND_HPP_DEFINED__ 13 | #define __TEMPLATE_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | class CTemplateCommand: public CCommand 20 | { 21 | public: 22 | CTemplateCommand(); 23 | int run(); 24 | virtual ~CTemplateCommand(); 25 | }; 26 | } 27 | #endif 28 | -------------------------------------------------------------------------------- /ddbsh/command/transact.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * transact.hpp 6 | * 7 | * The base class of a transact command. This is intended to be 8 | * pure/abstract/base class which read and write transactions can 9 | * inherit from 10 | * 11 | * Amrith Kumar. 2022-12-10 12 | */ 13 | 14 | #ifndef __TRANSACT_HPP_DEFINED__ 15 | #define __TRANSACT_HPP_DEFINED__ 16 | 17 | #include "command.hpp" 18 | 19 | namespace ddbsh 20 | { 21 | class CTransactCommand : public CCommand 22 | { 23 | public: 24 | CTransactCommand() { 25 | logdebug("[%s, %d] In %s.\n", __FILENAME__, __LINE__, __FUNCTION__); 26 | m_committed = false; 27 | m_abort = false; 28 | }; 29 | 30 | virtual void append(CCommand * pCommand) = 0; 31 | virtual void commit() = 0; 32 | virtual void rollback() = 0; 33 | virtual void abort() final { 34 | m_abort = true; 35 | }; 36 | 37 | virtual bool isaborted() final { 38 | return m_abort; 39 | }; 40 | 41 | protected: 42 | bool m_committed; 43 | bool m_abort; 44 | }; 45 | } 46 | #endif 47 | -------------------------------------------------------------------------------- /ddbsh/command/update_delete.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * update_delete.hpp 6 | * 7 | * derived class from CCommand to account for the peculiarities of update and delete. 8 | * 9 | * Amrith - 2022-11-23 10 | */ 11 | 12 | #ifndef __UPDATE_DELETE_HPP_DEFINED__ 13 | #define __UPDATE_DELETE_HPP_DEFINED__ 14 | 15 | namespace ddbsh 16 | { 17 | class CUpdateDeleteCommand: public CCommand 18 | { 19 | public: 20 | CUpdateDeleteCommand() { 21 | m_nread = 0; 22 | m_nmodified = 0; 23 | m_nccf = 0; 24 | }; 25 | 26 | void read() { 27 | m_nread ++; 28 | }; 29 | 30 | void modified() { 31 | m_nmodified ++; 32 | }; 33 | 34 | void ccf() { 35 | m_nccf ++; 36 | }; 37 | 38 | unsigned int nread() { 39 | return m_nread; 40 | }; 41 | 42 | unsigned int nmodified() { 43 | return m_nmodified; 44 | }; 45 | 46 | unsigned int nccf() { 47 | return m_nccf; 48 | }; 49 | 50 | private: 51 | unsigned int m_nread; 52 | unsigned int m_nmodified; 53 | unsigned int m_nccf; 54 | }; 55 | } 56 | #endif 57 | -------------------------------------------------------------------------------- /ddbsh/command/update_table_ttl.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * update_table_ttl.hpp 6 | * 7 | * command handler for update_table_ttl command 8 | * 9 | * Amrith - 2022-08-15 10 | */ 11 | 12 | #ifndef __UPDATE_TABLE_TTL_COMMAND_HPP_DEFINED__ 13 | #define __UPDATE_TABLE_TTL_COMMAND_HPP_DEFINED__ 14 | 15 | #include "command.hpp" 16 | 17 | namespace ddbsh 18 | { 19 | class CUpdateTableTTLCommand: public CCommand 20 | { 21 | public: 22 | CUpdateTableTTLCommand(std::string table_name, 23 | bool enabled) : 24 | m_table_name { table_name }, 25 | m_enabled { enabled } { m_attribute = "" ;}; 26 | CUpdateTableTTLCommand(std::string table_name, 27 | bool enabled, 28 | std::string attribute) : 29 | m_table_name { table_name }, 30 | m_attribute { attribute }, 31 | m_enabled {enabled }{}; 32 | 33 | int run(); 34 | virtual ~CUpdateTableTTLCommand(); 35 | 36 | private: 37 | std::string m_table_name; 38 | bool m_enabled; 39 | std::string m_attribute; 40 | }; 41 | } 42 | #endif 43 | -------------------------------------------------------------------------------- /ddbsh/ddbsh/version.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * version.cpp 6 | * 7 | * Construct a version string 8 | * 9 | * Amrith. 2023-01-27 10 | * 11 | */ 12 | 13 | #include "version.h" 14 | #include "stdio.h" 15 | #include "version.hpp" 16 | 17 | #define VERSION_STRING_LENGTH (64) 18 | static char ddbsh_version_string[VERSION_STRING_LENGTH+1]; 19 | 20 | char * ddbsh_version() 21 | { 22 | if (VERSION_TWEAK > 0) 23 | snprintf(ddbsh_version_string, VERSION_STRING_LENGTH, "%d.%d.%d.%d", 24 | VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH, VERSION_TWEAK); 25 | else if (VERSION_PATCH > 0) 26 | snprintf(ddbsh_version_string, VERSION_STRING_LENGTH, "%d.%d.%d", 27 | VERSION_MAJOR, VERSION_MINOR, VERSION_PATCH); 28 | else 29 | snprintf(ddbsh_version_string, VERSION_STRING_LENGTH, "%d.%d", 30 | VERSION_MAJOR, VERSION_MINOR); 31 | 32 | return ddbsh_version_string; 33 | } 34 | 35 | -------------------------------------------------------------------------------- /ddbsh/ddbsh/version.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * version.hpp 6 | * 7 | * Construct a version string 8 | * 9 | * Amrith. 2023-01-27 10 | * 11 | */ 12 | 13 | #ifndef __DDBSH_VERSION_HPP_DEFINED__ 14 | #define __DDBSH_VERSION_HPP_DEFINED__ 15 | 16 | extern char * ddbsh_version(); 17 | #endif 18 | -------------------------------------------------------------------------------- /ddbsh/dynamodb/ddbsh_ddb_client_config.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * inodel_ddb_client_config.cpp 6 | * 7 | * a wrapper on Aws::Client::ClientConfiguration for ddbsh 8 | * 9 | * Amrith - 2022-08-11 10 | */ 11 | 12 | #include "ddbsh_ddb_client_config.hpp" 13 | #include "version.h" 14 | 15 | using namespace ddbsh; 16 | 17 | CDDBShDDBClientConfig::CDDBShDDBClientConfig(std::string region, std::string endpoint) 18 | { 19 | char userAgent[128]; 20 | sprintf(userAgent, "ddbsh - version %s", ddbsh_version()); 21 | this->userAgent = userAgent; 22 | this->region = region; 23 | if (!endpoint.empty()) 24 | { 25 | Aws::DynamoDB::DynamoDBClientConfiguration config; 26 | config.region = region; 27 | std::shared_ptr endpointProvider = 28 | Aws::MakeShared("ddbsh"); 29 | endpointProvider->InitBuiltInParameters(config); 30 | endpointProvider->OverrideEndpoint(endpoint); 31 | Aws::Endpoint::ResolveEndpointOutcome resolvedEndpoint = endpointProvider->ResolveEndpoint({}); 32 | this->endpointOverride = resolvedEndpoint.GetResult().GetURL(); 33 | } 34 | } 35 | -------------------------------------------------------------------------------- /ddbsh/dynamodb/ddbsh_ddb_client_config.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * inodel_ddb_client_config.hpp 6 | * 7 | * a wrapper on Aws::Client::ClientConfiguration for ddbsh 8 | * 9 | * Amrith - 2022-08-11 10 | */ 11 | 12 | #ifndef __DDBSH_DDB_CLIENT_CONFIG_HPP_DEFINED__ 13 | #define __DDBSH_DDB_CLIENT_CONFIG_HPP_DEFINED__ 14 | 15 | #include 16 | 17 | namespace ddbsh 18 | { 19 | class CDDBShDDBClientConfig : public Aws::DynamoDB::DynamoDBClientConfiguration 20 | { 21 | public: 22 | CDDBShDDBClientConfig(std::string region, std::string endpoint); 23 | }; 24 | }; 25 | #endif 26 | -------------------------------------------------------------------------------- /ddbsh/dynamodb/get_key_schema.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * get_key_schema.hpp 6 | * 7 | * utility function to get PK and RK for a table. 8 | * 9 | * Amrith - 2022-11-06 10 | */ 11 | 12 | #ifndef __GET_KEY_SCHEMA_HPP_DEFINED__ 13 | #define __GET_KEY_SCHEMA_HPP_DEFINED__ 14 | 15 | #include "ddbsh.hpp" 16 | #include "logging.hpp" 17 | #include "describe_helper.hpp" 18 | 19 | int get_key_schema(std::string table, 20 | std::string *pk, 21 | std::string *rk); 22 | 23 | int get_key_schema(std::string table, 24 | std::string index, 25 | std::string *pk, 26 | std::string *rk); 27 | 28 | #endif 29 | 30 | -------------------------------------------------------------------------------- /ddbsh/dynamodb/serialize_attribute.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * serialize_attribute.cpp 6 | * 7 | * strip newline characters from the output of SerializeAttribute 8 | * 9 | * Amrith - 2022-10-31 10 | * 11 | */ 12 | 13 | #include 14 | #include 15 | #include 16 | 17 | std::string serialize_attribute(Aws::DynamoDB::Model::AttributeValue v) 18 | { 19 | std::string value = v.SerializeAttribute(); 20 | value.erase(std::remove(value.begin(), value.end(), '\n'), value.end()); 21 | return value; 22 | }; 23 | 24 | -------------------------------------------------------------------------------- /ddbsh/dynamodb/serialize_attribute.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * serialize_attribute.hpp 6 | * 7 | * strip newline characters from the output of SerializeAttribute 8 | * 9 | * Amrith - 2022-10-31 10 | * 11 | */ 12 | 13 | #ifndef __SERIALIZE_ATTRIBUTE_HPP_DEFINED__ 14 | #define __SERIALIZE_ATTRIBUTE_HPP_DEFINED__ 15 | 16 | #include 17 | #include 18 | #include 19 | 20 | std::string serialize_attribute(Aws::DynamoDB::Model::AttributeValue v); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /ddbsh/dynamodb/table_exists.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * table_exists.hpp 6 | * 7 | * helper to check if a table exists. 8 | * 9 | * Amrith - 2022-08-12 10 | */ 11 | 12 | #ifndef __TABLE_EXISTS_HPP_DEFINED__ 13 | #define __TABLE_EXISTS_HPP_DEFINED__ 14 | 15 | #include 16 | #include 17 | 18 | bool table_exists (std::string name, Aws::DynamoDB::DynamoDBClient * pClient); 19 | bool table_active (std::string name, Aws::DynamoDB::DynamoDBClient * pClient); 20 | void wait_for_table_active(std::string name, Aws::DynamoDB::DynamoDBClient * pClient); 21 | void wait_for_table_gone(std::string name, Aws::DynamoDB::DynamoDBClient * pClient); 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /ddbsh/parser/input-source.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * input-source.hpp 6 | * 7 | * definitions related to the input source (stdin, file, or string) 8 | * 9 | * Amrith - 2022-11-19 10 | */ 11 | 12 | #ifndef __INPUT_SOURCE_HPP_DEFINED__ 13 | #define __INPUT_SOURCE_HPP_DEFINED__ 14 | 15 | extern int (*readinput)(char * buffer, int size); 16 | void setinputstring(char * str); 17 | void setinputfile(FILE * fp); 18 | void setinputstdin(); 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /ddbsh/parser/keywords.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * keywords.hpp 6 | * 7 | * handle all keywords - find a keyword (reserved word) and return its 8 | * corresponding token. 9 | * 10 | * Amrith - 2022-08-08. 11 | */ 12 | 13 | #ifndef __KEYWORDS_HPP_DEFINED__ 14 | #define __KEYWORDS_HPP_DEFINED__ 15 | 16 | #include "parser-defs.hpp" 17 | #include "command.hpp" 18 | 19 | using namespace ddbsh; 20 | #include "parser.hpp" 21 | 22 | typedef struct 23 | { 24 | const char * keyword; 25 | int token; 26 | const char * token_string; 27 | } keywords_t; 28 | 29 | int lookup_keyword (char * text, int * ptoken); 30 | 31 | #endif 32 | 33 | -------------------------------------------------------------------------------- /ddbsh/parser/parser-defs.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | #ifndef __PARSER_H_DEFINED__ 5 | #define __PARSER_H_DEFINED__ 6 | 7 | #include "aws-includes.hpp" 8 | #include "logical_expression.hpp" 9 | #include "logical_comparison.hpp" 10 | #include "logical_and.hpp" 11 | #include "logical_or.hpp" 12 | #include "logical_attribute_exists.hpp" 13 | #include "logical_attribute_type.hpp" 14 | #include "logical_begins_with.hpp" 15 | #include "logical_between.hpp" 16 | #include "logical_comparison.hpp" 17 | #include "logical_contains.hpp" 18 | #include "logical_in.hpp" 19 | #include "ratelimit.hpp" 20 | #include "where.hpp" 21 | #include "symbol_table.hpp" 22 | #include "update_set_element.hpp" 23 | 24 | typedef struct 25 | { 26 | Aws::DynamoDB::Model::BillingMode mode; 27 | Aws::DynamoDB::Model::ProvisionedThroughput throughput; 28 | Aws::DynamoDB::Model::OnDemandThroughput od_throughput; 29 | } billing_mode_and_throughput_t; 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /ddbsh/tests/ddbsh-gt-check.txt: -------------------------------------------------------------------------------- 1 | add_test(NAME ddbsh-gt-check-1 COMMAND ddbshtest -q -c "connect us-west-1; select * from gttest" -T ${RD}/ddbsh-gt-check-1.exp) 2 | 3 | add_test(NAME ddbsh-gt-drop-replica COMMAND ddbshtest -c "connect us-east-2; alter table gttest drop replica us-west-1;") 4 | 5 | -------------------------------------------------------------------------------- /ddbsh/tests/ddbsh-gt-completion.txt: -------------------------------------------------------------------------------- 1 | add_test(NAME ddbsh-gt-completion-cleanup COMMAND ddbshtest -c "connect us-east-2; drop table gttest;") 2 | -------------------------------------------------------------------------------- /ddbsh/tests/ddbsh-gt-setup.txt: -------------------------------------------------------------------------------- 1 | add_test(NAME ddbsh-gt-setup-check COMMAND ddbshtest -c "connect us-east-2; describe gttest;") 2 | set_property(TEST ddbsh-gt-setup-check PROPERTY WILL_FAIL TRUE) 3 | 4 | add_test(NAME ddbsh-gt-setup-mktable COMMAND ddbshtest -c "connect us-east-2; create table gttest ( a number, b number ) primary key (a hash) gsi ( gsi1 on ( b hash ) projecting all );") 5 | 6 | add_test(NAME ddbsh-gt-setup-mkreplica1 COMMAND ddbshtest -c "connect us-east-2; alter table gttest add replica us-west-1;") 7 | 8 | add_test(NAME ddbsh-gt-setup-insert1 COMMAND ddbshtest -c "connect us-east-2; insert into gttest (a, b) values ( 3, 4 ), (4, 5);") 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /ddbsh/tests/ddbsh-load-1.sql: -------------------------------------------------------------------------------- 1 | insert into idt1 ( pk, a, b, c ) values ( 0, 1, 2, 3 ); 2 | insert into idt1 ( pk, a, b, c ) values ( 1, 2, 3, 4 ); 3 | insert into idt1 ( pk, a, b, c ) values ( 2, 3, 4, 5 ); 4 | insert into idt1 ( pk, a, b, c ) values ( 3, 4, 5, 6 ); 5 | insert into idt1 ( pk, a, b, c ) values ( 4, 5, 6, 7 ); 6 | insert into idt1 ( pk, a, b, c ) values ( 5, 6, 7, 8 ); 7 | insert into idt1 ( pk, a, b, c ) values ( 6, 7, 8, 9 ); 8 | insert into idt1 ( pk, a, b, c ) values ( 7, 8, 9, 0 ); 9 | insert into idt1 ( pk, a, b, c ) values ( 8, 9, 0, 1 ); 10 | insert into idt1 ( pk, a, b, c ) values ( 9, 0, 1, 2 ); 11 | -------------------------------------------------------------------------------- /ddbsh/tests/ddbsh-load-3.sql: -------------------------------------------------------------------------------- 1 | insert into idt1 ( pk, gsipk, b, c ) values ( 100, 1, 2, 3 ); 2 | insert into idt1 ( pk, gsipk, b, c ) values ( 101, 2, 3, 4 ); 3 | insert into idt1 ( pk, gsipk, b, c ) values ( 102, 3, 4, 5 ); 4 | insert into idt1 ( pk, gsipk, b, c ) values ( 103, 4, 5, 6 ); 5 | insert into idt1 ( pk, gsipk, b, c ) values ( 104, 5, 6, 7 ); 6 | insert into idt1 ( pk, gsipk, b, c ) values ( 105, 6, 7, 8 ); 7 | insert into idt1 ( pk, gsipk, b, c ) values ( 106, 7, 8, 9 ); 8 | insert into idt1 ( pk, gsipk, b, c ) values ( 107, 8, 9, 0 ); 9 | insert into idt1 ( pk, gsipk, b, c ) values ( 108, 9, 0, 1 ); 10 | insert into idt1 ( pk, gsipk, b, c ) values ( 109, 0, 1, 2 ); 11 | -------------------------------------------------------------------------------- /ddbsh/tests/ddbsh-pitr-tests.txt: -------------------------------------------------------------------------------- 1 | add_test(NAME ipt-drop-table COMMAND ddbshtest -c "drop table if exists ipt1") 2 | 3 | add_test(NAME ipt-create-table COMMAND ddbshtest -c "create table ipt1 ( a number, b number ) \ 4 | primary key ( a hash, b range ) \ 5 | billing mode provisioned ( 10 rcu, 10 wcu )") 6 | 7 | add_test(NAME ipt-pitr-disabled-by-default COMMAND ddbshtest -c "describe ipt1") 8 | set_property(TEST ipt-pitr-disabled-by-default PROPERTY PASS_REGULAR_EXPRESSION "PITR is Disabled.") 9 | 10 | add_test(NAME ipt-pitr-enable-sleep COMMAND sleep 10) 11 | add_test(NAME ipt-pitr-enable COMMAND ddbshtest -c "alter table ipt1 set pitr enabled") 12 | 13 | add_test(NAME ipt-pitr-enabled COMMAND ddbshtest -c "describe ipt1") 14 | set_property(TEST ipt-pitr-enabled PROPERTY PASS_REGULAR_EXPRESSION "PITR is Enabled") 15 | 16 | add_test(NAME ipt-pitr-disable COMMAND ddbshtest -c "alter table ipt1 set pitr disabled") 17 | 18 | add_test(NAME ipt-pitr-disable-sleep COMMAND sleep 10) 19 | add_test(NAME ipt-pitr-disabled COMMAND ddbshtest -c "describe ipt1") 20 | set_property(TEST ipt-pitr-disabled PROPERTY PASS_REGULAR_EXPRESSION "PITR is Disabled.") 21 | -------------------------------------------------------------------------------- /ddbsh/tests/ddbsh-symbol-table.txt: -------------------------------------------------------------------------------- 1 | add_test(NAME ist-drop-1 COMMAND ddbshtest -c "drop table if exists st1") 2 | 3 | add_test(NAME ist-create-1 COMMAND ddbshtest -c "create table st1 ( a number, b number ) \ 4 | primary key ( a hash, b range ) 5 | billing mode provisioned ( 10 RCU, 10 WCU )") 6 | 7 | add_test(NAME ist-1 COMMAND ddbshtest -c "explain select a, b, c from st1") 8 | set_property(TEST ist-1 PROPERTY PASS_REGULAR_EXPRESSION "{\n[ ]*\"#aaaa1\": \"a\",\n[ ]*\"#aaaa2\": \"b\",\n[ ]*\"#aaaa3\": \"c\"\n[ ]*}") 9 | 10 | add_test(NAME ist-2 COMMAND ddbshtest -c "explain select a, b, c from st1 where a = 3 and x = 4") 11 | set_property(TEST ist-2 PROPERTY PASS_REGULAR_EXPRESSION "{\n[ ]*\"#aaaa1\": \"a\",\n[ ]*\"#aaaa2\": \"b\",\n[ ]*\"#aaaa3\": \"c\",\n[ ]*\"#aaaa4\": \"x\"\n[ ]*}") 12 | 13 | -------------------------------------------------------------------------------- /ddbsh/tests/ddbsh-tests.txt: -------------------------------------------------------------------------------- 1 | include(CTest) 2 | 3 | set(RD ${CMAKE_SOURCE_DIR}/tests/results) 4 | include(${CMAKE_SOURCE_DIR}/tests/ddbsh-basic-tests.txt) 5 | # include(${CMAKE_SOURCE_DIR}/tests/ddbsh-gt-setup.txt) 6 | 7 | include(${CMAKE_SOURCE_DIR}/tests/ddbsh-create-drop-tests.txt) 8 | include(${CMAKE_SOURCE_DIR}/tests/ddbsh-pitr-tests.txt) 9 | include(${CMAKE_SOURCE_DIR}/tests/ddbsh-symbol-table.txt) 10 | include(${CMAKE_SOURCE_DIR}/tests/ddbsh-select-tests.txt) 11 | # include(${CMAKE_SOURCE_DIR}/tests/ddbsh-gt-check.txt) 12 | include(${CMAKE_SOURCE_DIR}/tests/ddbsh-update-tests.txt) 13 | include(${CMAKE_SOURCE_DIR}/tests/ddbsh-delete-tests.txt) 14 | include(${CMAKE_SOURCE_DIR}/tests/ddbsh-insert-tests.txt) 15 | include(${CMAKE_SOURCE_DIR}/tests/ddbsh-transactions-tests.txt) 16 | # include(${CMAKE_SOURCE_DIR}/tests/ddbsh-gt-completion.txt) 17 | include(${CMAKE_SOURCE_DIR}/tests/ddbsh-return-values.txt) 18 | include(${CMAKE_SOURCE_DIR}/tests/test-cleanup.txt) 19 | include(${CMAKE_SOURCE_DIR}/tests/ddbsh-cross-account.txt) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/ddbsh-update-load-1.sql: -------------------------------------------------------------------------------- 1 | insert into iut1 ( pk, a, b, c ) values ( 0, 1, 2, 3 ); 2 | insert into iut1 ( pk, a, b, c ) values ( 1, 2, 3, 4 ); 3 | insert into iut1 ( pk, a, b, c ) values ( 2, 3, 4, 5 ); 4 | insert into iut1 ( pk, a, b, c ) values ( 3, 4, 5, 6 ); 5 | insert into iut1 ( pk, a, b, c ) values ( 4, 5, 6, 7 ); 6 | insert into iut1 ( pk, a, b, c ) values ( 5, 6, 7, 8 ); 7 | insert into iut1 ( pk, a, b, c ) values ( 6, 7, 8, 9 ); 8 | insert into iut1 ( pk, a, b, c ) values ( 7, 8, 9, 0 ); 9 | insert into iut1 ( pk, a, b, c ) values ( 8, 9, 0, 1 ); 10 | insert into iut1 ( pk, a, b, c ) values ( 9, 0, 1, 2 ); 11 | -------------------------------------------------------------------------------- /ddbsh/tests/ddbsh-update-load-3.sql: -------------------------------------------------------------------------------- 1 | insert into iut1 ( pk, gsipk, b, c ) values ( 100, 1, 2, 3 ); 2 | insert into iut1 ( pk, gsipk, b, c ) values ( 101, 2, 3, 4 ); 3 | insert into iut1 ( pk, gsipk, b, c ) values ( 102, 3, 4, 5 ); 4 | insert into iut1 ( pk, gsipk, b, c ) values ( 103, 4, 5, 6 ); 5 | insert into iut1 ( pk, gsipk, b, c ) values ( 104, 5, 6, 7 ); 6 | insert into iut1 ( pk, gsipk, b, c ) values ( 105, 6, 7, 8 ); 7 | insert into iut1 ( pk, gsipk, b, c ) values ( 106, 7, 8, 9 ); 8 | insert into iut1 ( pk, gsipk, b, c ) values ( 107, 8, 9, 0 ); 9 | insert into iut1 ( pk, gsipk, b, c ) values ( 108, 9, 0, 1 ); 10 | insert into iut1 ( pk, gsipk, b, c ) values ( 109, 0, 1, 2 ); 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-1.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 4, c: 5} 2 | {a: 4, b: 5, c: 6} 3 | {a: 5, b: 6, c: 7} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-10.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | INSERT 7 | INSERT 8 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-11.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 12, b: 13, c: 14} 6 | {a: 9, b: 10, c: 11} 7 | {a: 4, b: 5, c: 6} 8 | {a: 6, b: 7, c: 8} 9 | {a: 5, b: 6, c: 7} 10 | {a: 11, b: 12, c: 13} 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-12.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-13.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 12, b: 13, c: 14} 6 | {a: 9, b: 10, c: 11} 7 | {a: 4, b: 5, c: 6} 8 | {a: 13, b: 14, c: 15} 9 | {a: 6, b: 7, c: 8} 10 | {a: 5, b: 6, c: 7} 11 | {a: 11, b: 12, c: 13} 12 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-14.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-15.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 14, b: 15, c: 16} 6 | {a: 12, b: 13, c: 14} 7 | {a: 9, b: 10, c: 11} 8 | {a: 4, b: 5, c: 6} 9 | {a: 13, b: 14, c: 15} 10 | {a: 6, b: 7, c: 8} 11 | {a: 5, b: 6, c: 7} 12 | {a: 11, b: 12, c: 13} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-16.exp: -------------------------------------------------------------------------------- 1 | UPDATE (4 read, 4 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-17.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 14, b: 15, c: 16, delete_me: TRUE} 6 | {a: 12, b: 13, c: 14, delete_me: TRUE} 7 | {a: 9, b: 10, c: 11} 8 | {a: 4, b: 5, c: 6} 9 | {a: 13, b: 14, c: 15, delete_me: TRUE} 10 | {a: 6, b: 7, c: 8} 11 | {a: 5, b: 6, c: 7} 12 | {a: 11, b: 12, c: 13, delete_me: TRUE} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-18.exp: -------------------------------------------------------------------------------- 1 | UPDATE (4 read, 4 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-19.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 14, b: 15, delete_me: TRUE} 6 | {a: 12, b: 13, delete_me: TRUE} 7 | {a: 9, b: 10, c: 11} 8 | {a: 4, b: 5, c: 6} 9 | {a: 13, b: 14, delete_me: TRUE} 10 | {a: 6, b: 7, c: 8} 11 | {a: 5, b: 6, c: 7} 12 | {a: 11, b: 12, delete_me: TRUE} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-2.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "ddbsh_test_table_1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ConsistentRead": false 5 | }) 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-20.exp: -------------------------------------------------------------------------------- 1 | REPLACE 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-21.exp: -------------------------------------------------------------------------------- 1 | {a: 13, b: 14, c: 15} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-22.exp: -------------------------------------------------------------------------------- 1 | UPSERT (4 read, 4 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-23.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 14, b: 15, delete_me: TRUE, upserted: TRUE} 6 | {a: 12, b: 13, delete_me: TRUE, upserted: TRUE} 7 | {a: 9, b: 10, c: 11} 8 | {a: 4, b: 5, c: 6} 9 | {a: 13, b: 14, c: 15, upserted: TRUE} 10 | {a: 6, b: 7, c: 8} 11 | {a: 5, b: 6, c: 7} 12 | {a: 11, b: 12, delete_me: TRUE, upserted: TRUE} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-24.exp: -------------------------------------------------------------------------------- 1 | {a: 10, b: 11, c: 12} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-25.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-basic-test-25.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-26.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 9, b: 10, c: 11} 6 | {a: 4, b: 5, c: 6} 7 | {a: 13, b: 14, c: 15, upserted: TRUE} 8 | {a: 6, b: 7, c: 8} 9 | {a: 5, b: 6, c: 7} 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-27.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-basic-test-27.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-28.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 14, b: 15, delete_me: TRUE, upserted: TRUE} 6 | {a: 12, b: 13, delete_me: TRUE, upserted: TRUE} 7 | {a: 9, b: 10, c: 11} 8 | {a: 4, b: 5, c: 6} 9 | {a: 13, b: 14, c: 15, upserted: TRUE} 10 | {a: 6, b: 7, c: 8} 11 | {a: 5, b: 6, c: 7} 12 | {a: 11, b: 12, delete_me: TRUE, upserted: TRUE} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-29.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-basic-test-29.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-3.exp: -------------------------------------------------------------------------------- 1 | {a: 3} 2 | {a: 4} 3 | {a: 5} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-30.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 4, c: 5} 2 | {a: 4, b: 5, c: 6} 3 | {a: 5, b: 6, c: 7} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-31.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-basic-test-31.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-32.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 9, b: 10, c: 11} 6 | {a: 4, b: 5, c: 6} 7 | {a: 13, b: 14, c: 15, upserted: TRUE} 8 | {a: 6, b: 7, c: 8} 9 | {a: 5, b: 6, c: 7} 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-33.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 14, b: 15, delete_me: TRUE, upserted: TRUE} 5 | {a: 12, b: 13, delete_me: TRUE, upserted: TRUE} 6 | {a: 9, b: 10, c: 11} 7 | {a: 13, b: 14, c: 15, upserted: TRUE} 8 | {a: 6, b: 7, c: 8} 9 | {a: 5, b: 6, c: 7} 10 | {a: 11, b: 12, delete_me: TRUE, upserted: TRUE} 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-34.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-35.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-36.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-37.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-38.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-4.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 4} 2 | {a: 4, b: 5} 3 | {a: 5, b: 6} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-40.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-basic-test-40.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-41.exp: -------------------------------------------------------------------------------- 1 | {a: 54, b: 19, c: 24} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-42.exp: -------------------------------------------------------------------------------- 1 | {a: 54, b: 19, c: 24} 2 | {a: 56, b: 21, c: 26} 3 | {a: 10, b: 11, c: 12} 4 | {a: 55, b: 20, c: 25} 5 | {a: 9, b: 10, c: 11} 6 | {a: 53, b: 18, c: 23} 7 | {a: 52, b: 17, c: 22} 8 | {a: 13, b: 14, c: 15, upserted: TRUE} 9 | {a: 50, b: 15, c: 20} 10 | {a: 51, b: 16, c: 21} 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-43.exp: -------------------------------------------------------------------------------- 1 | {a: 69, b: 34, c: 39} 2 | {a: 62, b: 27, c: 32} 3 | {a: 54, b: 19, c: 24} 4 | {a: 56, b: 21, c: 26} 5 | {a: 58, b: 23, c: 28} 6 | {a: 65, b: 30, c: 35} 7 | {a: 14, b: 15, delete_me: TRUE, upserted: TRUE} 8 | {a: 55, b: 20, c: 25} 9 | {a: 12, b: 13, delete_me: TRUE, upserted: TRUE} 10 | {a: 53, b: 18, c: 23} 11 | {a: 52, b: 17, c: 22} 12 | {a: 13, b: 14, c: 15, upserted: TRUE} 13 | {a: 72, b: 37, c: 42} 14 | {a: 66, b: 31, c: 36} 15 | {a: 63, b: 28, c: 33} 16 | {a: 50, b: 15, c: 20} 17 | {a: 59, b: 24, c: 29} 18 | {a: 71, b: 36, c: 41} 19 | {a: 73, b: 38, c: 43} 20 | {a: 61, b: 26, c: 31} 21 | {a: 51, b: 16, c: 21} 22 | {a: 64, b: 29, c: 34} 23 | {a: 68, b: 33, c: 38} 24 | {a: 67, b: 32, c: 37} 25 | {a: 11, b: 12, delete_me: TRUE, upserted: TRUE} 26 | {a: 57, b: 22, c: 27} 27 | {a: 60, b: 25, c: 30} 28 | {a: 74, b: 39, c: 44} 29 | {a: 70, b: 35, c: 40} 30 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-44.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 3, b: 4, c: 5} 4 | {a: 4, b: 5, c: 6} 5 | {a: 6, b: 7, c: 8} 6 | {a: 5, b: 6, c: 7} 7 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-45.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-basic-test-45.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-46.exp: -------------------------------------------------------------------------------- 1 | {a: 58, b: 23, c: 28} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-47.exp: -------------------------------------------------------------------------------- 1 | {a: 54, b: 19, c: 24} 2 | {a: 56, b: 21, c: 26} 3 | {a: 58, b: 23, c: 28} 4 | {a: 55, b: 20, c: 25} 5 | {a: 53, b: 18, c: 23} 6 | {a: 52, b: 17, c: 22} 7 | {a: 13, b: 14, c: 15, upserted: TRUE} 8 | {a: 50, b: 15, c: 20} 9 | {a: 59, b: 24, c: 29} 10 | {a: 51, b: 16, c: 21} 11 | {a: 57, b: 22, c: 27} 12 | {a: 60, b: 25, c: 30} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-48.exp: -------------------------------------------------------------------------------- 1 | {a: 69, b: 34, c: 39} 2 | {a: 62, b: 27, c: 32} 3 | {a: 54, b: 19, c: 24} 4 | {a: 56, b: 21, c: 26} 5 | {a: 58, b: 23, c: 28} 6 | {a: 65, b: 30, c: 35} 7 | {a: 14, b: 15, delete_me: TRUE, upserted: TRUE} 8 | {a: 55, b: 20, c: 25} 9 | {a: 53, b: 18, c: 23} 10 | {a: 52, b: 17, c: 22} 11 | {a: 72, b: 37, c: 42} 12 | {a: 66, b: 31, c: 36} 13 | {a: 63, b: 28, c: 33} 14 | {a: 50, b: 15, c: 20} 15 | {a: 59, b: 24, c: 29} 16 | {a: 71, b: 36, c: 41} 17 | {a: 73, b: 38, c: 43} 18 | {a: 61, b: 26, c: 31} 19 | {a: 51, b: 16, c: 21} 20 | {a: 64, b: 29, c: 34} 21 | {a: 68, b: 33, c: 38} 22 | {a: 67, b: 32, c: 37} 23 | {a: 57, b: 22, c: 27} 24 | {a: 60, b: 25, c: 30} 25 | {a: 74, b: 39, c: 44} 26 | {a: 70, b: 35, c: 40} 27 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-49.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 9, b: 10, c: 11} 6 | {a: 4, b: 5, c: 6} 7 | {a: 6, b: 7, c: 8} 8 | {a: 5, b: 6, c: 7} 9 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-5.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 4, c: 5} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-6.exp: -------------------------------------------------------------------------------- 1 | GetItem({ 2 | "TableName": "ddbsh_test_table_1", 3 | "Key": { 4 | "a": { 5 | "N": "3" 6 | } 7 | }, 8 | "ConsistentRead": false, 9 | "ReturnConsumedCapacity": "NONE" 10 | }) 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-7.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 4, c: 5} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-basic-test-8.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "ddbsh_test_table_1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa2 = :vaaa2", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "b" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "3" 14 | }, 15 | ":vaaa2": { 16 | "N": "4" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-1.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 4, c: 5} 2 | {a: 4, b: 5, c: 6} 3 | {a: 5, b: 6, c: 7} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-10.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | INSERT 7 | INSERT 8 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-11.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 12, b: 13, c: 14} 6 | {a: 9, b: 10, c: 11} 7 | {a: 4, b: 5, c: 6} 8 | {a: 6, b: 7, c: 8} 9 | {a: 5, b: 6, c: 7} 10 | {a: 11, b: 12, c: 13} 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-12.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-13.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 12, b: 13, c: 14} 6 | {a: 9, b: 10, c: 11} 7 | {a: 4, b: 5, c: 6} 8 | {a: 13, b: 14, c: 15} 9 | {a: 6, b: 7, c: 8} 10 | {a: 5, b: 6, c: 7} 11 | {a: 11, b: 12, c: 13} 12 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-14.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-15.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 14, b: 15, c: 16} 6 | {a: 12, b: 13, c: 14} 7 | {a: 9, b: 10, c: 11} 8 | {a: 4, b: 5, c: 6} 9 | {a: 13, b: 14, c: 15} 10 | {a: 6, b: 7, c: 8} 11 | {a: 5, b: 6, c: 7} 12 | {a: 11, b: 12, c: 13} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-16.exp: -------------------------------------------------------------------------------- 1 | UPDATE (4 read, 4 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-17.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 14, b: 15, c: 16, delete_me: TRUE} 6 | {a: 12, b: 13, c: 14, delete_me: TRUE} 7 | {a: 9, b: 10, c: 11} 8 | {a: 4, b: 5, c: 6} 9 | {a: 13, b: 14, c: 15, delete_me: TRUE} 10 | {a: 6, b: 7, c: 8} 11 | {a: 5, b: 6, c: 7} 12 | {a: 11, b: 12, c: 13, delete_me: TRUE} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-18.exp: -------------------------------------------------------------------------------- 1 | UPDATE (4 read, 4 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-19.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 14, b: 15, delete_me: TRUE} 6 | {a: 12, b: 13, delete_me: TRUE} 7 | {a: 9, b: 10, c: 11} 8 | {a: 4, b: 5, c: 6} 9 | {a: 13, b: 14, delete_me: TRUE} 10 | {a: 6, b: 7, c: 8} 11 | {a: 5, b: 6, c: 7} 12 | {a: 11, b: 12, delete_me: TRUE} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-2.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "ddbsh_test_table_1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ConsistentRead": false 5 | }) 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-20.exp: -------------------------------------------------------------------------------- 1 | REPLACE 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-21.exp: -------------------------------------------------------------------------------- 1 | {a: 13, b: 14, c: 15} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-22.exp: -------------------------------------------------------------------------------- 1 | UPSERT (4 read, 4 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-23.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 14, b: 15, delete_me: TRUE, upserted: TRUE} 6 | {a: 12, b: 13, delete_me: TRUE, upserted: TRUE} 7 | {a: 9, b: 10, c: 11} 8 | {a: 4, b: 5, c: 6} 9 | {a: 13, b: 14, c: 15, upserted: TRUE} 10 | {a: 6, b: 7, c: 8} 11 | {a: 5, b: 6, c: 7} 12 | {a: 11, b: 12, delete_me: TRUE, upserted: TRUE} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-24.exp: -------------------------------------------------------------------------------- 1 | {a: 10, b: 11, c: 12} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-25.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-cross-account-test-25.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-26.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 9, b: 10, c: 11} 6 | {a: 4, b: 5, c: 6} 7 | {a: 13, b: 14, c: 15, upserted: TRUE} 8 | {a: 6, b: 7, c: 8} 9 | {a: 5, b: 6, c: 7} 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-27.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-cross-account-test-27.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-28.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 14, b: 15, delete_me: TRUE, upserted: TRUE} 6 | {a: 12, b: 13, delete_me: TRUE, upserted: TRUE} 7 | {a: 9, b: 10, c: 11} 8 | {a: 4, b: 5, c: 6} 9 | {a: 13, b: 14, c: 15, upserted: TRUE} 10 | {a: 6, b: 7, c: 8} 11 | {a: 5, b: 6, c: 7} 12 | {a: 11, b: 12, delete_me: TRUE, upserted: TRUE} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-29.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-cross-account-test-29.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-3.exp: -------------------------------------------------------------------------------- 1 | {a: 3} 2 | {a: 4} 3 | {a: 5} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-30.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 4, c: 5} 2 | {a: 4, b: 5, c: 6} 3 | {a: 5, b: 6, c: 7} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-31.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-cross-account-test-31.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-32.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 9, b: 10, c: 11} 6 | {a: 4, b: 5, c: 6} 7 | {a: 13, b: 14, c: 15, upserted: TRUE} 8 | {a: 6, b: 7, c: 8} 9 | {a: 5, b: 6, c: 7} 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-33.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 14, b: 15, delete_me: TRUE, upserted: TRUE} 5 | {a: 12, b: 13, delete_me: TRUE, upserted: TRUE} 6 | {a: 9, b: 10, c: 11} 7 | {a: 13, b: 14, c: 15, upserted: TRUE} 8 | {a: 6, b: 7, c: 8} 9 | {a: 5, b: 6, c: 7} 10 | {a: 11, b: 12, delete_me: TRUE, upserted: TRUE} 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-34.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-35.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-36.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-37.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-38.exp: -------------------------------------------------------------------------------- 1 | INSERT 2 | INSERT 3 | INSERT 4 | INSERT 5 | INSERT 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-4.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 4} 2 | {a: 4, b: 5} 3 | {a: 5, b: 6} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-40.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-cross-account-test-40.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-41.exp: -------------------------------------------------------------------------------- 1 | {a: 54, b: 19, c: 24} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-42.exp: -------------------------------------------------------------------------------- 1 | {a: 54, b: 19, c: 24} 2 | {a: 56, b: 21, c: 26} 3 | {a: 10, b: 11, c: 12} 4 | {a: 55, b: 20, c: 25} 5 | {a: 9, b: 10, c: 11} 6 | {a: 53, b: 18, c: 23} 7 | {a: 52, b: 17, c: 22} 8 | {a: 13, b: 14, c: 15, upserted: TRUE} 9 | {a: 50, b: 15, c: 20} 10 | {a: 51, b: 16, c: 21} 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-43.exp: -------------------------------------------------------------------------------- 1 | {a: 69, b: 34, c: 39} 2 | {a: 62, b: 27, c: 32} 3 | {a: 54, b: 19, c: 24} 4 | {a: 56, b: 21, c: 26} 5 | {a: 58, b: 23, c: 28} 6 | {a: 65, b: 30, c: 35} 7 | {a: 14, b: 15, delete_me: TRUE, upserted: TRUE} 8 | {a: 55, b: 20, c: 25} 9 | {a: 12, b: 13, delete_me: TRUE, upserted: TRUE} 10 | {a: 53, b: 18, c: 23} 11 | {a: 52, b: 17, c: 22} 12 | {a: 13, b: 14, c: 15, upserted: TRUE} 13 | {a: 72, b: 37, c: 42} 14 | {a: 66, b: 31, c: 36} 15 | {a: 63, b: 28, c: 33} 16 | {a: 50, b: 15, c: 20} 17 | {a: 59, b: 24, c: 29} 18 | {a: 71, b: 36, c: 41} 19 | {a: 73, b: 38, c: 43} 20 | {a: 61, b: 26, c: 31} 21 | {a: 51, b: 16, c: 21} 22 | {a: 64, b: 29, c: 34} 23 | {a: 68, b: 33, c: 38} 24 | {a: 67, b: 32, c: 37} 25 | {a: 11, b: 12, delete_me: TRUE, upserted: TRUE} 26 | {a: 57, b: 22, c: 27} 27 | {a: 60, b: 25, c: 30} 28 | {a: 74, b: 39, c: 44} 29 | {a: 70, b: 35, c: 40} 30 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-44.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 3, b: 4, c: 5} 4 | {a: 4, b: 5, c: 6} 5 | {a: 6, b: 7, c: 8} 6 | {a: 5, b: 6, c: 7} 7 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-45.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-cross-account-test-45.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-46.exp: -------------------------------------------------------------------------------- 1 | {a: 58, b: 23, c: 28} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-47.exp: -------------------------------------------------------------------------------- 1 | {a: 54, b: 19, c: 24} 2 | {a: 56, b: 21, c: 26} 3 | {a: 58, b: 23, c: 28} 4 | {a: 55, b: 20, c: 25} 5 | {a: 53, b: 18, c: 23} 6 | {a: 52, b: 17, c: 22} 7 | {a: 13, b: 14, c: 15, upserted: TRUE} 8 | {a: 50, b: 15, c: 20} 9 | {a: 59, b: 24, c: 29} 10 | {a: 51, b: 16, c: 21} 11 | {a: 57, b: 22, c: 27} 12 | {a: 60, b: 25, c: 30} 13 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-48.exp: -------------------------------------------------------------------------------- 1 | {a: 69, b: 34, c: 39} 2 | {a: 62, b: 27, c: 32} 3 | {a: 54, b: 19, c: 24} 4 | {a: 56, b: 21, c: 26} 5 | {a: 58, b: 23, c: 28} 6 | {a: 65, b: 30, c: 35} 7 | {a: 14, b: 15, delete_me: TRUE, upserted: TRUE} 8 | {a: 55, b: 20, c: 25} 9 | {a: 53, b: 18, c: 23} 10 | {a: 52, b: 17, c: 22} 11 | {a: 72, b: 37, c: 42} 12 | {a: 66, b: 31, c: 36} 13 | {a: 63, b: 28, c: 33} 14 | {a: 50, b: 15, c: 20} 15 | {a: 59, b: 24, c: 29} 16 | {a: 71, b: 36, c: 41} 17 | {a: 73, b: 38, c: 43} 18 | {a: 61, b: 26, c: 31} 19 | {a: 51, b: 16, c: 21} 20 | {a: 64, b: 29, c: 34} 21 | {a: 68, b: 33, c: 38} 22 | {a: 67, b: 32, c: 37} 23 | {a: 57, b: 22, c: 27} 24 | {a: 60, b: 25, c: 30} 25 | {a: 74, b: 39, c: 44} 26 | {a: 70, b: 35, c: 40} 27 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-49.exp: -------------------------------------------------------------------------------- 1 | {a: 7, b: 8, c: 9} 2 | {a: 8, b: 9, c: 10} 3 | {a: 10, b: 11, c: 12} 4 | {a: 3, b: 4, c: 5} 5 | {a: 9, b: 10, c: 11} 6 | {a: 4, b: 5, c: 6} 7 | {a: 6, b: 7, c: 8} 8 | {a: 5, b: 6, c: 7} 9 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-5.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 4, c: 5} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-6.exp: -------------------------------------------------------------------------------- 1 | GetItem({ 2 | "TableName": "ddbsh_test_table_1", 3 | "Key": { 4 | "a": { 5 | "N": "3" 6 | } 7 | }, 8 | "ConsistentRead": false, 9 | "ReturnConsumedCapacity": "NONE" 10 | }) 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-7.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 4, c: 5} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-cross-account-test-8.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "ddbsh_test_table_1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa2 = :vaaa2", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "b" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "3" 14 | }, 15 | ":vaaa2": { 16 | "N": "4" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-1.exp: -------------------------------------------------------------------------------- 1 | DeleteItem({ 2 | "TableName": "idt1", 3 | "Key": { 4 | "pk": { 5 | "N": "0" 6 | } 7 | } 8 | }) 9 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-10.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "idt1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ProjectionExpression": "#abaa1", 5 | "FilterExpression": "NOT (#abaa1 BETWEEN :vbaa1 AND :vbaa2)", 6 | "ExpressionAttributeNames": { 7 | "#abaa1": "pk" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vbaa1": { 11 | "N": "2" 12 | }, 13 | ":vbaa2": { 14 | "N": "9" 15 | } 16 | }, 17 | "ConsistentRead": false 18 | }) 19 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-11.exp: -------------------------------------------------------------------------------- 1 | DELETE (0 read, 0 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-12.exp: -------------------------------------------------------------------------------- 1 | DELETE (0 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-13.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "idt1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ProjectionExpression": "#abaa1", 5 | "FilterExpression": "#abaa2 > :vbaa1 OR #abaa1 > :vbaa2", 6 | "ExpressionAttributeNames": { 7 | "#abaa1": "pk", 8 | "#abaa2": "x" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vbaa1": { 12 | "N": "8" 13 | }, 14 | ":vbaa2": { 15 | "N": "8" 16 | } 17 | }, 18 | "ConsistentRead": false 19 | }) 20 | DeleteItem({ 21 | "TableName": "idt1", 22 | "Key": { 23 | "pk": { 24 | "N": "9" 25 | } 26 | }, 27 | "ConditionExpression": "#aaaa1 > :vaaa1 OR #aaaa2 > :vaaa2", 28 | "ExpressionAttributeNames": { 29 | "#aaaa1": "x", 30 | "#aaaa2": "pk" 31 | }, 32 | "ExpressionAttributeValues": { 33 | ":vaaa1": { 34 | "N": "8" 35 | }, 36 | ":vaaa2": { 37 | "N": "8" 38 | } 39 | } 40 | }) 41 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-14.exp: -------------------------------------------------------------------------------- 1 | DELETE (1 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-2.exp: -------------------------------------------------------------------------------- 1 | DELETE (0 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-21.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-delete-21.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-22.exp: -------------------------------------------------------------------------------- 1 | DeleteItem({ 2 | "TableName": "idt2", 3 | "Key": { 4 | "pk": { 5 | "N": "1" 6 | }, 7 | "rk": { 8 | "N": "2" 9 | } 10 | } 11 | }) 12 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-23.exp: -------------------------------------------------------------------------------- 1 | DELETE (0 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-24.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4, pk: 1, rk: 3} 2 | {a: 2, b: 3, c: 4, pk: 1, rk: 4} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-25.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "idt2", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "ProjectionExpression": "#abaa1, #abaa2", 6 | "KeyConditionExpression": "#abaa1 = :vbaa1", 7 | "ExpressionAttributeNames": { 8 | "#abaa1": "pk", 9 | "#abaa2": "rk" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vbaa1": { 13 | "N": "2" 14 | } 15 | } 16 | }) 17 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-26.exp: -------------------------------------------------------------------------------- 1 | DELETE (3 read, 3 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-27.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-delete-27.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-28.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "idt2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ProjectionExpression": "#abaa1, #abaa2", 5 | "FilterExpression": "#abaa2 = :vbaa1", 6 | "ExpressionAttributeNames": { 7 | "#abaa1": "pk", 8 | "#abaa2": "rk" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vbaa1": { 12 | "N": "6" 13 | } 14 | }, 15 | "ConsistentRead": false 16 | }) 17 | DeleteItem({ 18 | "TableName": "idt2", 19 | "Key": { 20 | "pk": { 21 | "N": "3" 22 | }, 23 | "rk": { 24 | "N": "6" 25 | } 26 | } 27 | }) 28 | DeleteItem({ 29 | "TableName": "idt2", 30 | "Key": { 31 | "pk": { 32 | "N": "4" 33 | }, 34 | "rk": { 35 | "N": "6" 36 | } 37 | } 38 | }) 39 | DeleteItem({ 40 | "TableName": "idt2", 41 | "Key": { 42 | "pk": { 43 | "N": "5" 44 | }, 45 | "rk": { 46 | "N": "6" 47 | } 48 | } 49 | }) 50 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-29.exp: -------------------------------------------------------------------------------- 1 | {a: 4, b: 5, c: 6, pk: 3, rk: 6} 2 | {a: 5, b: 6, c: 7, pk: 4, rk: 6} 3 | {a: 6, b: 7, c: 8, pk: 5, rk: 6} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-3.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "idt1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ProjectionExpression": "#abaa1", 5 | "FilterExpression": "#abaa2 = :vbaa1", 6 | "ExpressionAttributeNames": { 7 | "#abaa1": "pk", 8 | "#abaa2": "y" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vbaa1": { 12 | "N": "14" 13 | } 14 | }, 15 | "ConsistentRead": false 16 | }) 17 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-30.exp: -------------------------------------------------------------------------------- 1 | DELETE (3 read, 3 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-31.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/ddbsh-delete-31.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-32.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "idt2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ProjectionExpression": "#abaa1, #abaa2", 5 | "FilterExpression": "#abaa2 = :vbaa1 AND #abaa3 = :vbaa2", 6 | "ExpressionAttributeNames": { 7 | "#abaa1": "pk", 8 | "#abaa2": "rk", 9 | "#abaa3": "z" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vbaa1": { 13 | "N": "6" 14 | }, 15 | ":vbaa2": { 16 | "N": "12" 17 | } 18 | }, 19 | "ConsistentRead": false 20 | }) 21 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-33.exp: -------------------------------------------------------------------------------- 1 | DeleteItem({ 2 | "TableName": "idt1", 3 | "Key": { 4 | "pk": { 5 | "N": "6" 6 | } 7 | }, 8 | "ConditionExpression": "#aaaa1 = :vaaa1", 9 | "ExpressionAttributeNames": { 10 | "#aaaa1": "z" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vaaa1": { 14 | "N": "12" 15 | } 16 | } 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-34.exp: -------------------------------------------------------------------------------- 1 | DELETE (0 read, 0 modified, 1 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-35.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iut1", 3 | "IndexName": "iut1gsi", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "ProjectionExpression": "#abaa1", 7 | "KeyConditionExpression": "#abaa2 = :vbaa1", 8 | "ExpressionAttributeNames": { 9 | "#abaa1": "pk", 10 | "#abaa2": "gsipk" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vbaa1": { 14 | "N": "0" 15 | } 16 | } 17 | }) 18 | UpdateItem({ 19 | "TableName": "iut1", 20 | "Key": { 21 | "pk": { 22 | "N": "109" 23 | } 24 | }, 25 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 26 | "ConditionExpression": "attribute_exists(#aaaa2) AND #aaaa3 = :vaaa2", 27 | "ExpressionAttributeNames": { 28 | "#aaaa1": "flag_updated", 29 | "#aaaa2": "pk", 30 | "#aaaa3": "gsipk" 31 | }, 32 | "ExpressionAttributeValues": { 33 | ":vaaa1": { 34 | "BOOL": true 35 | }, 36 | ":vaaa2": { 37 | "N": "0" 38 | } 39 | } 40 | }) 41 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-36.exp: -------------------------------------------------------------------------------- 1 | UPDATE (1 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-37.exp: -------------------------------------------------------------------------------- 1 | {a: 8, b: 9, c: 0, pk: 7} 2 | {a: 9, b: 0, c: 1, pk: 8} 3 | {b: 6, c: 7, gsipk: 5, pk: 104} 4 | {a: 4, b: 5, c: 6, pk: 3, y: 20} 5 | {pk: 1000, y: 10} 6 | {a: 3, b: 4, c: 5, pk: 2, y: 10} 7 | {b: 2, c: 3, flag_updated: TRUE, gsipk: 1, pk: 100} 8 | {b: 0, c: 1, gsipk: 9, pk: 108} 9 | {a: 0, b: 1, c: 2, pk: 9, y: 10} 10 | {a: 5, b: 6, c: 7, pk: 4} 11 | {a: 7, b: 8, c: 9, pk: 6} 12 | {b: 4, c: 5, gsipk: 3, pk: 102} 13 | {b: 5, c: 6, gsipk: 4, pk: 103} 14 | {b: 8, c: 9, gsipk: 7, pk: 106} 15 | {a: 2, b: 3, c: 4, pk: 1, y: 14} 16 | {b: 7, c: 8, gsipk: 6, pk: 105} 17 | {a: 1, b: 2, c: 3, pk: 0, x: 3, y: 10} 18 | {b: 3, c: 4, gsipk: 2, pk: 101} 19 | {b: 1, c: 2, flag_updated: TRUE, gsipk: 0, pk: 109} 20 | {a: 6, b: 7, c: 8, pk: 5} 21 | {b: 9, c: 0, gsipk: 8, pk: 107} 22 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-38.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "iut1", 3 | "IndexName": "iut1gsi", 4 | "ReturnConsumedCapacity": "NONE", 5 | "ProjectionExpression": "#abaa1", 6 | "FilterExpression": "#abaa2 > :vbaa1 AND #abaa2 < :vbaa2", 7 | "ExpressionAttributeNames": { 8 | "#abaa1": "pk", 9 | "#abaa2": "gsipk" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vbaa1": { 13 | "N": "0" 14 | }, 15 | ":vbaa2": { 16 | "N": "2" 17 | } 18 | }, 19 | "ConsistentRead": false 20 | }) 21 | UpdateItem({ 22 | "TableName": "iut1", 23 | "Key": { 24 | "pk": { 25 | "N": "100" 26 | } 27 | }, 28 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 29 | "ConditionExpression": "attribute_exists(#aaaa2) AND #aaaa3 > :vaaa2 AND #aaaa3 < :vaaa3", 30 | "ExpressionAttributeNames": { 31 | "#aaaa1": "flag_updated", 32 | "#aaaa2": "pk", 33 | "#aaaa3": "gsipk" 34 | }, 35 | "ExpressionAttributeValues": { 36 | ":vaaa1": { 37 | "BOOL": true 38 | }, 39 | ":vaaa2": { 40 | "N": "0" 41 | }, 42 | ":vaaa3": { 43 | "N": "2" 44 | } 45 | } 46 | }) 47 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-39.exp: -------------------------------------------------------------------------------- 1 | UPDATE (1 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-4.exp: -------------------------------------------------------------------------------- 1 | DELETE (0 read, 0 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-40.exp: -------------------------------------------------------------------------------- 1 | {b: 2, c: 3, flag_updated: TRUE, gsipk: 1, pk: 100} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-5.exp: -------------------------------------------------------------------------------- 1 | {a: 0, b: 1, c: 2, pk: 9} 2 | {a: 2, b: 3, c: 4, pk: 1} 3 | {a: 3, b: 4, c: 5, pk: 2} 4 | {a: 4, b: 5, c: 6, pk: 3} 5 | {a: 5, b: 6, c: 7, pk: 4} 6 | {a: 6, b: 7, c: 8, pk: 5} 7 | {a: 7, b: 8, c: 9, pk: 6} 8 | {a: 8, b: 9, c: 0, pk: 7} 9 | {a: 9, b: 0, c: 1, pk: 8} 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-6.exp: -------------------------------------------------------------------------------- 1 | DeleteItem({ 2 | "TableName": "idt1", 3 | "Key": { 4 | "pk": { 5 | "N": "0" 6 | } 7 | }, 8 | "ConditionExpression": "#aaaa1 = :vaaa1", 9 | "ExpressionAttributeNames": { 10 | "#aaaa1": "x" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vaaa1": { 14 | "N": "3" 15 | } 16 | } 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-7.exp: -------------------------------------------------------------------------------- 1 | DELETE (0 read, 0 modified, 1 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-8.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "idt1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ProjectionExpression": "#abaa1", 5 | "FilterExpression": "#abaa1 BETWEEN :vbaa1 AND :vbaa2", 6 | "ExpressionAttributeNames": { 7 | "#abaa1": "pk" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vbaa1": { 11 | "N": "1" 12 | }, 13 | ":vbaa2": { 14 | "N": "3" 15 | } 16 | }, 17 | "ConsistentRead": false 18 | }) 19 | DeleteItem({ 20 | "TableName": "idt1", 21 | "Key": { 22 | "pk": { 23 | "N": "3" 24 | } 25 | } 26 | }) 27 | DeleteItem({ 28 | "TableName": "idt1", 29 | "Key": { 30 | "pk": { 31 | "N": "2" 32 | } 33 | } 34 | }) 35 | DeleteItem({ 36 | "TableName": "idt1", 37 | "Key": { 38 | "pk": { 39 | "N": "1" 40 | } 41 | } 42 | }) 43 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-delete-9.exp: -------------------------------------------------------------------------------- 1 | DELETE (3 read, 3 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-gt-check-1.exp: -------------------------------------------------------------------------------- 1 | CONNECT 2 | {a: 3, b: 4} 3 | {a: 4, b: 5} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-load-1-check.exp: -------------------------------------------------------------------------------- 1 | {a: 0, b: 1, c: 2, pk: 9} 2 | {a: 1, b: 2, c: 3, pk: 0} 3 | {a: 2, b: 3, c: 4, pk: 1} 4 | {a: 3, b: 4, c: 5, pk: 2} 5 | {a: 4, b: 5, c: 6, pk: 3} 6 | {a: 5, b: 6, c: 7, pk: 4} 7 | {a: 6, b: 7, c: 8, pk: 5} 8 | {a: 7, b: 8, c: 9, pk: 6} 9 | {a: 8, b: 9, c: 0, pk: 7} 10 | {a: 9, b: 0, c: 1, pk: 8} 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-load-2-check.exp: -------------------------------------------------------------------------------- 1 | {a: 0, b: 1, c: 2, pk: 9, rk: 0} 2 | {a: 0, b: 1, c: 2, pk: 9, rk: 1} 3 | {a: 0, b: 1, c: 2, pk: 9, rk: 2} 4 | {a: 1, b: 2, c: 3, pk: 0, rk: 1} 5 | {a: 1, b: 2, c: 3, pk: 0, rk: 2} 6 | {a: 1, b: 2, c: 3, pk: 0, rk: 3} 7 | {a: 2, b: 3, c: 4, pk: 1, rk: 2} 8 | {a: 2, b: 3, c: 4, pk: 1, rk: 3} 9 | {a: 2, b: 3, c: 4, pk: 1, rk: 4} 10 | {a: 3, b: 4, c: 5, pk: 2, rk: 3} 11 | {a: 3, b: 4, c: 5, pk: 2, rk: 4} 12 | {a: 3, b: 4, c: 5, pk: 2, rk: 5} 13 | {a: 4, b: 5, c: 6, pk: 3, rk: 4} 14 | {a: 4, b: 5, c: 6, pk: 3, rk: 5} 15 | {a: 4, b: 5, c: 6, pk: 3, rk: 6} 16 | {a: 5, b: 6, c: 7, pk: 4, rk: 5} 17 | {a: 5, b: 6, c: 7, pk: 4, rk: 6} 18 | {a: 5, b: 6, c: 7, pk: 4, rk: 7} 19 | {a: 6, b: 7, c: 8, pk: 5, rk: 6} 20 | {a: 6, b: 7, c: 8, pk: 5, rk: 7} 21 | {a: 6, b: 7, c: 8, pk: 5, rk: 8} 22 | {a: 7, b: 8, c: 9, pk: 6, rk: 7} 23 | {a: 7, b: 8, c: 9, pk: 6, rk: 8} 24 | {a: 7, b: 8, c: 9, pk: 6, rk: 9} 25 | {a: 8, b: 9, c: 0, pk: 7, rk: 0} 26 | {a: 8, b: 9, c: 0, pk: 7, rk: 8} 27 | {a: 8, b: 9, c: 0, pk: 7, rk: 9} 28 | {a: 9, b: 0, c: 1, pk: 8, rk: 0} 29 | {a: 9, b: 0, c: 1, pk: 8, rk: 1} 30 | {a: 9, b: 0, c: 1, pk: 8, rk: 9} 31 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-load-3-check.exp: -------------------------------------------------------------------------------- 1 | {a: 5, b: 6, c: 7, pk: 4} 2 | {a: 6, b: 7, c: 8, pk: 5} 3 | {a: 7, b: 8, c: 9, pk: 6} 4 | {a: 8, b: 9, c: 0, pk: 7} 5 | {a: 9, b: 0, c: 1, pk: 8} 6 | {b: 0, c: 1, gsipk: 9, pk: 108} 7 | {b: 1, c: 2, gsipk: 0, pk: 109} 8 | {b: 2, c: 3, gsipk: 1, pk: 100} 9 | {b: 3, c: 4, gsipk: 2, pk: 101} 10 | {b: 4, c: 5, gsipk: 3, pk: 102} 11 | {b: 5, c: 6, gsipk: 4, pk: 103} 12 | {b: 6, c: 7, gsipk: 5, pk: 104} 13 | {b: 7, c: 8, gsipk: 6, pk: 105} 14 | {b: 8, c: 9, gsipk: 7, pk: 106} 15 | {b: 9, c: 0, gsipk: 8, pk: 107} 16 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-rv-test-1.exp: -------------------------------------------------------------------------------- 1 | REPLACE: {a: 3, b: 4, c: 5} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-rv-test-2.exp: -------------------------------------------------------------------------------- 1 | UPDATE (5 read, 5 modified, 0 ccf) 2 | {a: 1, b: 2, c: 3} 3 | {a: 2, b: 3, c: 4} 4 | {a: 3, b: four, c: 5} 5 | {a: 4, b: 5, c: 6} 6 | {a: 5, b: six, c: 7} 7 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-rv-test-3.exp: -------------------------------------------------------------------------------- 1 | UPDATE (5 read, 5 modified, 0 ccf) 2 | {a: 1, b: 2, c: 3, x: 4, y: 4} 3 | {a: 2, b: 3, c: 4, x: 4, y: 4} 4 | {a: 3, b: four, c: 5, x: 4, y: 4} 5 | {a: 4, b: 5, c: 6, x: 4, y: 4} 6 | {a: 5, b: six, c: 7, x: 4, y: 4} 7 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-rv-test-4.exp: -------------------------------------------------------------------------------- 1 | UPSERT (0 read, 1 modified, 0 ccf) 2 | {a: 4, b: 5, c: 6, x: 4, y: 4} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-rv-test-5.exp: -------------------------------------------------------------------------------- 1 | DELETE (0 read, 1 modified, 0 ccf) 2 | {a: 4, b: 5, c: 6, x: 4, y: 6, z: 3} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-rv-test-6.exp: -------------------------------------------------------------------------------- 1 | DELETE (4 read, 4 modified, 0 ccf) 2 | {a: 1, b: 2, c: 3, x: 4, y: 4} 3 | {a: 2, b: 3, c: 4, x: 4, y: 4} 4 | {a: 3, b: four, c: 5, x: 4, y: 4} 5 | {a: 5, b: six, c: 7, x: 4, y: 4} 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-update-load-1-check.exp: -------------------------------------------------------------------------------- 1 | {a: 0, b: 1, c: 2, pk: 9} 2 | {a: 1, b: 2, c: 3, pk: 0} 3 | {a: 2, b: 3, c: 4, pk: 1} 4 | {a: 3, b: 4, c: 5, pk: 2} 5 | {a: 4, b: 5, c: 6, pk: 3} 6 | {a: 5, b: 6, c: 7, pk: 4} 7 | {a: 6, b: 7, c: 8, pk: 5} 8 | {a: 7, b: 8, c: 9, pk: 6} 9 | {a: 8, b: 9, c: 0, pk: 7} 10 | {a: 9, b: 0, c: 1, pk: 8} 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-update-load-2-check.exp: -------------------------------------------------------------------------------- 1 | {a: 0, b: 1, c: 2, pk: 9, rk: 0} 2 | {a: 0, b: 1, c: 2, pk: 9, rk: 1} 3 | {a: 0, b: 1, c: 2, pk: 9, rk: 2} 4 | {a: 1, b: 2, c: 3, pk: 0, rk: 1} 5 | {a: 1, b: 2, c: 3, pk: 0, rk: 2} 6 | {a: 1, b: 2, c: 3, pk: 0, rk: 3} 7 | {a: 2, b: 3, c: 4, pk: 1, rk: 2} 8 | {a: 2, b: 3, c: 4, pk: 1, rk: 3} 9 | {a: 2, b: 3, c: 4, pk: 1, rk: 4} 10 | {a: 3, b: 4, c: 5, pk: 2, rk: 3} 11 | {a: 3, b: 4, c: 5, pk: 2, rk: 4} 12 | {a: 3, b: 4, c: 5, pk: 2, rk: 5} 13 | {a: 4, b: 5, c: 6, pk: 3, rk: 4} 14 | {a: 4, b: 5, c: 6, pk: 3, rk: 5} 15 | {a: 4, b: 5, c: 6, pk: 3, rk: 6} 16 | {a: 5, b: 6, c: 7, pk: 4, rk: 5} 17 | {a: 5, b: 6, c: 7, pk: 4, rk: 6} 18 | {a: 5, b: 6, c: 7, pk: 4, rk: 7} 19 | {a: 6, b: 7, c: 8, pk: 5, rk: 6} 20 | {a: 6, b: 7, c: 8, pk: 5, rk: 7} 21 | {a: 6, b: 7, c: 8, pk: 5, rk: 8} 22 | {a: 7, b: 8, c: 9, pk: 6, rk: 7} 23 | {a: 7, b: 8, c: 9, pk: 6, rk: 8} 24 | {a: 7, b: 8, c: 9, pk: 6, rk: 9} 25 | {a: 8, b: 9, c: 0, pk: 7, rk: 0} 26 | {a: 8, b: 9, c: 0, pk: 7, rk: 8} 27 | {a: 8, b: 9, c: 0, pk: 7, rk: 9} 28 | {a: 9, b: 0, c: 1, pk: 8, rk: 0} 29 | {a: 9, b: 0, c: 1, pk: 8, rk: 1} 30 | {a: 9, b: 0, c: 1, pk: 8, rk: 9} 31 | -------------------------------------------------------------------------------- /ddbsh/tests/results/ddbsh-update-load-3-check.exp: -------------------------------------------------------------------------------- 1 | {a: 0, b: 1, c: 2, pk: 9, y: 10} 2 | {a: 1, b: 2, c: 3, pk: 0, x: 3, y: 10} 3 | {a: 2, b: 3, c: 4, pk: 1, y: 14} 4 | {a: 3, b: 4, c: 5, pk: 2, y: 10} 5 | {a: 4, b: 5, c: 6, pk: 3, y: 20} 6 | {a: 5, b: 6, c: 7, pk: 4} 7 | {a: 6, b: 7, c: 8, pk: 5} 8 | {a: 7, b: 8, c: 9, pk: 6} 9 | {a: 8, b: 9, c: 0, pk: 7} 10 | {a: 9, b: 0, c: 1, pk: 8} 11 | {b: 0, c: 1, gsipk: 9, pk: 108} 12 | {b: 1, c: 2, gsipk: 0, pk: 109} 13 | {b: 2, c: 3, gsipk: 1, pk: 100} 14 | {b: 3, c: 4, gsipk: 2, pk: 101} 15 | {b: 4, c: 5, gsipk: 3, pk: 102} 16 | {b: 5, c: 6, gsipk: 4, pk: 103} 17 | {b: 6, c: 7, gsipk: 5, pk: 104} 18 | {b: 7, c: 8, gsipk: 6, pk: 105} 19 | {b: 8, c: 9, gsipk: 7, pk: 106} 20 | {b: 9, c: 0, gsipk: 8, pk: 107} 21 | {pk: 1000, y: 10} 22 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-10.exp: -------------------------------------------------------------------------------- 1 | {a: 30, b: 31, lima: [3, 4, 5]} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-11.exp: -------------------------------------------------------------------------------- 1 | {a: 33, b: 34, lima: {a:36, b:36, c:[3, 4, hello], d:{x:12, y:[12, 13, 14]}}} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-12.exp: -------------------------------------------------------------------------------- 1 | {a: 33, b: 34, lima: {a:36, b:36, c:[3, 4, hello], d:{x:12, y:[12, 13, 14]}}} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-13.exp: -------------------------------------------------------------------------------- 1 | {a: 33, b: 34, lima: {a:36, b:36, c:[3, 4, hello], d:{x:12, y:[12, 13, 14]}}} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-14.exp: -------------------------------------------------------------------------------- 1 | {a: 34, b: 35, c: {a:NULL, b:{}, c:[]}} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-15.exp: -------------------------------------------------------------------------------- 1 | {a: 35, b: 36, c: {a:NULL, b:{}, c:[NULL]}} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-2.exp: -------------------------------------------------------------------------------- 1 | {a: 10, b: 11, c: 12} 2 | {a: 11, b: 12, d: 14} 3 | {a: 12, b: 13, c: 14} 4 | {a: 15, b: 16, c: abc} 5 | {a: 2, b: 3, c: 6} 6 | {a: 2, b: 4, c: 6} 7 | {a: 3, b: 5, c: 21} 8 | {a: 4, b: 5, d: abc} 9 | {a: 6, b: 7, ex: abc} 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-3.exp: -------------------------------------------------------------------------------- 1 | {a: 16, b: 11, bo: TRUE} 2 | {a: 17, b: 12, bo: FALSE} 3 | {a: 18, b: 13, bo: TRUE} 4 | {a: 18, b: 15, bo: TRUE} 5 | {a: 19, b: 14, bo: FALSE} 6 | {a: 19, b: 16, bo: FALSE} 7 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-4.exp: -------------------------------------------------------------------------------- 1 | {a: 20, b: 21, nu: NULL} 2 | {a: 21, b: 22, nu: NULL} 3 | {a: 22, b: 23, nu: NULL} 4 | {a: 23, b: 24, nu: 14} 5 | {a: 24, b: 25, nu: hello} 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-5.exp: -------------------------------------------------------------------------------- 1 | {a: 30, b: 31, lima: [3, 4, 5]} 2 | {a: 31, b: 32, lima: [[3, 4], [3, 5], [3, 6, 7]]} 3 | {a: 32, b: 33, lima: [[3, 4, TRUE], [4, 5, FALSE]]} 4 | {a: 33, b: 34, lima: {a:36, b:36, c:[3, 4, hello], d:{x:12, y:[12, 13, 14]}}} 5 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-6.exp: -------------------------------------------------------------------------------- 1 | {a: 16, b: 11, bo: TRUE} 2 | {a: 18, b: 13, bo: TRUE} 3 | {a: 18, b: 15, bo: TRUE} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-7.exp: -------------------------------------------------------------------------------- 1 | {a: 17, b: 12, bo: FALSE} 2 | {a: 19, b: 14, bo: FALSE} 3 | {a: 19, b: 16, bo: FALSE} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-8.exp: -------------------------------------------------------------------------------- 1 | {a: 20, b: 21, nu: NULL} 2 | {a: 21, b: 22, nu: NULL} 3 | {a: 22, b: 23, nu: NULL} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check-9.exp: -------------------------------------------------------------------------------- 1 | {a: 23, b: 24, nu: 14} 2 | {a: 24, b: 25, nu: hello} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iins-check.exp: -------------------------------------------------------------------------------- 1 | {a: 10, b: 11, c: 12} 2 | {a: 10, b: abc, c: 12} 3 | {a: 12, b: 13, c: 14} 4 | {a: 12, b: pqr, c: 14} 5 | {a: 15, b: 16, c: abc} 6 | {a: 15, b: lmn, c: abc} 7 | {a: 2, b: 3, c: 4} 8 | {a: 2, b: 4, c: 5} 9 | {a: 3, b: 5, ex: 10} 10 | {a: 4, b: 5, c: 6} 11 | {a: 501, b: ACCOUNTINFO, c: "some stuff"} 12 | {a: 501, b: CUST#bob#roadtrips, c: "[3, 4, 5]"} 13 | {a: 501, b: CUST#bob, c: "bobs stuff"} 14 | {a: 6, b: 7, ex: abc} 15 | {a: abc, b: lmno, c: 4} 16 | {a: abc, b: pqr, c: 3} 17 | {a: abc, b: xyza, c: 5} 18 | {a: lm, b: xyza, c: 5} 19 | {a: lmn, b: pqr, c: 3} 20 | {a: lmnop, b: lmno, c: 4} 21 | {a: wxyz, b: klmnop, c: 10, d: 20} 22 | {a: xyz, b: lmnop, c: 10, d: 20} 23 | {a: xyz1, b: lmnopq, c: 10, d: 20} 24 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-1.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_exists(#aaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ConsistentRead": false 9 | }) 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-10.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | {a: 3, b: 5, ex: 10} 4 | {a: 4, b: 5, c: 6} 5 | {a: 6, b: 7, ex: abc} 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-100.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | {a: 3, b: 5, ex: 10} 4 | {a: 4, b: 5, c: 6} 5 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-101.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 IN (:vaaa1, :vaaa2)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "3" 11 | }, 12 | ":vaaa2": { 13 | "N": "5" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-102.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 3, b: 5, ex: 10} 3 | {a: 4, b: 5, c: 6} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-103.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 BETWEEN :vaaa1 AND :vaaa2", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "3" 11 | }, 12 | ":vaaa2": { 13 | "N": "5" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-104.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-105.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 IN (:vaaa1, :vaaa2)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "3" 11 | }, 12 | ":vaaa2": { 13 | "N": "5" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-106.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 4, c: 5} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-107.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND #aaaa2 BETWEEN :vaaa2 AND :vaaa3", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "a", 8 | "#aaaa2": "b" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "2" 13 | }, 14 | ":vaaa2": { 15 | "N": "3" 16 | }, 17 | ":vaaa3": { 18 | "N": "5" 19 | } 20 | } 21 | }) 22 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-108.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-109.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1 AND #aaaa2 IN (:vaaa2, :vaaa3)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a", 7 | "#aaaa2": "b" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vaaa1": { 11 | "N": "2" 12 | }, 13 | ":vaaa2": { 14 | "N": "3" 15 | }, 16 | ":vaaa3": { 17 | "N": "5" 18 | } 19 | }, 20 | "ConsistentRead": false 21 | }) 22 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-11.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-110.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-111.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa2 BETWEEN :vaaa2 AND :vaaa3", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "c" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "2" 14 | }, 15 | ":vaaa2": { 16 | "N": "3" 17 | }, 18 | ":vaaa3": { 19 | "N": "5" 20 | } 21 | } 22 | }) 23 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-112.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-113.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa2 IN (:vaaa2, :vaaa3)", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "c" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "2" 14 | }, 15 | ":vaaa2": { 16 | "N": "3" 17 | }, 18 | ":vaaa3": { 19 | "N": "5" 20 | } 21 | } 22 | }) 23 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-114.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 4, c: 5} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-115.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 BETWEEN :vaaa1 AND :vaaa2", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "ab" 11 | }, 12 | ":vaaa2": { 13 | "S": "abd" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-116.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, ex: abc} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-117.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 IN (:vaaa1, :vaaa2, :vaaa3)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "abc" 11 | }, 12 | ":vaaa2": { 13 | "S": "abd" 14 | }, 15 | ":vaaa3": { 16 | "S": "abe" 17 | } 18 | }, 19 | "ConsistentRead": false 20 | }) 21 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-118.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, ex: abc} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-119.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa2 BETWEEN :vaaa2 AND :vaaa3", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "ex" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "6" 14 | }, 15 | ":vaaa2": { 16 | "S": "ab" 17 | }, 18 | ":vaaa3": { 19 | "S": "abd" 20 | } 21 | } 22 | }) 23 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-12.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-12.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-120.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, ex: abc} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-121.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa2 IN (:vaaa2, :vaaa3, :vaaa4)", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "ex" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "6" 14 | }, 15 | ":vaaa2": { 16 | "S": "abc" 17 | }, 18 | ":vaaa3": { 19 | "S": "abd" 20 | }, 21 | ":vaaa4": { 22 | "S": "abe" 23 | } 24 | } 25 | }) 26 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-122.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, ex: abc} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-123.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1 AND #aaaa2 BETWEEN :vaaa2 AND :vaaa3", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b", 7 | "#aaaa2": "ex" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vaaa1": { 11 | "N": "7" 12 | }, 13 | ":vaaa2": { 14 | "S": "ab" 15 | }, 16 | ":vaaa3": { 17 | "S": "abd" 18 | } 19 | }, 20 | "ConsistentRead": false 21 | }) 22 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-124.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, ex: abc} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-125.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1 AND #aaaa2 IN (:vaaa2, :vaaa3, :vaaa4)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b", 7 | "#aaaa2": "ex" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vaaa1": { 11 | "N": "7" 12 | }, 13 | ":vaaa2": { 14 | "S": "abc" 15 | }, 16 | ":vaaa3": { 17 | "S": "abd" 18 | }, 19 | ":vaaa4": { 20 | "S": "abe" 21 | } 22 | }, 23 | "ConsistentRead": false 24 | }) 25 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-126.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, ex: abc} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-127.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 IN (:vaaa1, :vaaa2)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "4" 11 | }, 12 | ":vaaa2": { 13 | "N": "5" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-128.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-129.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa2 IN (:vaaa2, :vaaa3)", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "c" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "2" 14 | }, 15 | ":vaaa2": { 16 | "N": "4" 17 | }, 18 | ":vaaa3": { 19 | "N": "5" 20 | } 21 | } 22 | }) 23 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-13.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-130.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-131.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel2", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND begins_with(#aaaa2, :vaaa2)", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "a", 8 | "#aaaa2": "b" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "501" 13 | }, 14 | ":vaaa2": { 15 | "S": "CUST#" 16 | } 17 | } 18 | }) 19 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-132.exp: -------------------------------------------------------------------------------- 1 | {a: 501, b: CUST#bob#roadtrips, c: "[3, 4, 5]"} 2 | {a: 501, b: CUST#bob, c: "bobs stuff"} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-133.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel2", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "begins_with(#aaaa2, :vaaa2)", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "c" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "501" 14 | }, 15 | ":vaaa2": { 16 | "S": "bob" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-134.exp: -------------------------------------------------------------------------------- 1 | {a: 501, b: CUST#bob, c: "bobs stuff"} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-135.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_exists(#aaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ConsistentRead": false 9 | }) 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-136.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 5, ex: 10} 2 | {a: 6, b: 7, ex: abc} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-137.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ProjectionExpression": "#aaaa1, #aaaa2", 5 | "FilterExpression": "attribute_exists(#aaaa2)", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "a", 8 | "#aaaa2": "ex" 9 | }, 10 | "ConsistentRead": false 11 | }) 12 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-138.exp: -------------------------------------------------------------------------------- 1 | {a: 3, ex: 10} 2 | {a: 6, ex: abc} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-139.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ProjectionExpression": "#aaaa1, #aaaa2", 5 | "FilterExpression": "NOT (attribute_exists(#aaaa2))", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "a", 8 | "#aaaa2": "ex" 9 | }, 10 | "ConsistentRead": false 11 | }) 12 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-14.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | {a: 3, b: 5, ex: 10} 4 | {a: 4, b: 5, c: 6} 5 | {a: 6, b: 7, ex: abc} 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-140.exp: -------------------------------------------------------------------------------- 1 | {a: 2} 2 | {a: 2} 3 | {a: 4} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-141.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "NOT (attribute_exists(#aaaa1))", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ConsistentRead": false 9 | }) 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-142.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | {a: 4, b: 5, c: 6} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-143.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-144.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 5, ex: 10} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-145.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-146.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, ex: abc} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-147.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 BETWEEN :vaaa1 AND :vaaa2", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "3" 11 | }, 12 | ":vaaa2": { 13 | "N": "5" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-148.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 5, ex: 10} 2 | {a: 4, b: 5, c: 6} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-149.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 BETWEEN :vaaa1 AND :vaaa2", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "3" 11 | }, 12 | ":vaaa2": { 13 | "N": "5" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-15.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-150.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | {a: 3, b: 5, ex: 10} 4 | {a: 4, b: 5, c: 6} 5 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-151.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND #aaaa2 BETWEEN :vaaa2 AND :vaaa3", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "a", 8 | "#aaaa2": "b" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "3" 13 | }, 14 | ":vaaa2": { 15 | "N": "3" 16 | }, 17 | ":vaaa3": { 18 | "N": "5" 19 | } 20 | } 21 | }) 22 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-152.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 5, ex: 10} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-153.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa2 BETWEEN :vaaa2 AND :vaaa3", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "ex" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "3" 14 | }, 15 | ":vaaa2": { 16 | "N": "3" 17 | }, 18 | ":vaaa3": { 19 | "N": "30" 20 | } 21 | } 22 | }) 23 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-154.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 5, ex: 10} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-155.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 BETWEEN :vaaa1 AND :vaaa2", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "3" 11 | }, 12 | ":vaaa2": { 13 | "N": "30" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-156.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 5, ex: 10} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-157.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "contains(#aaaa2, :vaaa2)", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "ex" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "6" 14 | }, 15 | ":vaaa2": { 16 | "S": "ab" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-158.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, ex: abc} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-159.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "contains(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "bc" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-16.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-16.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-160.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, ex: abc} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-161.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "contains(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "bc" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-162.exp: -------------------------------------------------------------------------------- 1 | {a: abc, b: lmno, c: 4} 2 | {a: abc, b: pqr, c: 3} 3 | {a: abc, b: xyza, c: 5} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-163.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "contains(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "lm" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-164.exp: -------------------------------------------------------------------------------- 1 | {a: lm, b: xyza, c: 5} 2 | {a: lmn, b: pqr, c: 3} 3 | {a: lmnop, b: lmno, c: 4} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-165.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "contains(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "lmno" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-166.exp: -------------------------------------------------------------------------------- 1 | {a: lmnop, b: lmno, c: 4} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-167.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa3 = :vaaa3", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND #aaaa2 = :vaaa2", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "b", 10 | "#aaaa3": "c" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vaaa1": { 14 | "N": "1" 15 | }, 16 | ":vaaa2": { 17 | "N": "2" 18 | }, 19 | ":vaaa3": { 20 | "N": "3" 21 | } 22 | } 23 | }) 24 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-168.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-169.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1 AND NOT (#aaaa2 = :vaaa2) AND #aaaa3 = :vaaa3", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a", 7 | "#aaaa2": "b", 8 | "#aaaa3": "c" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "1" 13 | }, 14 | ":vaaa2": { 15 | "N": "2" 16 | }, 17 | ":vaaa3": { 18 | "N": "3" 19 | } 20 | }, 21 | "ConsistentRead": false 22 | }) 23 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-17.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-170.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-171.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1 AND NOT (#aaaa2 = :vaaa2)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a", 7 | "#aaaa2": "b" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vaaa1": { 11 | "N": "2" 12 | }, 13 | ":vaaa2": { 14 | "N": "2" 15 | } 16 | }, 17 | "ConsistentRead": false 18 | }) 19 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-172.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-173.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa3 = :vaaa3", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND #aaaa2 > :vaaa2", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "b", 10 | "#aaaa3": "c" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vaaa1": { 14 | "N": "2" 15 | }, 16 | ":vaaa2": { 17 | "N": "2" 18 | }, 19 | ":vaaa3": { 20 | "N": "4" 21 | } 22 | } 23 | }) 24 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-174.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-174.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-175.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel1", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa3 = :vaaa3", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND #aaaa2 < :vaaa2", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "b", 10 | "#aaaa3": "c" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vaaa1": { 14 | "N": "2" 15 | }, 16 | ":vaaa2": { 17 | "N": "5" 18 | }, 19 | ":vaaa3": { 20 | "N": "4" 21 | } 22 | } 23 | }) 24 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-176.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-177.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1 AND NOT (#aaaa2 = :vaaa2)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a", 7 | "#aaaa2": "b" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vaaa1": { 11 | "N": "2" 12 | }, 13 | ":vaaa2": { 14 | "N": "3" 15 | } 16 | }, 17 | "ConsistentRead": false 18 | }) 19 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-178.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 4, c: 5} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-179.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1 AND NOT (#aaaa2 BETWEEN :vaaa2 AND :vaaa3)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a", 7 | "#aaaa2": "b" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vaaa1": { 11 | "N": "2" 12 | }, 13 | ":vaaa2": { 14 | "N": "1" 15 | }, 16 | ":vaaa3": { 17 | "N": "5" 18 | } 19 | }, 20 | "ConsistentRead": false 21 | }) 22 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-18.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | {a: 4, b: 5, c: 6} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-180.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-180.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-181.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1 AND NOT (begins_with(#aaaa2, :vaaa2))", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a", 7 | "#aaaa2": "b" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vaaa1": { 11 | "N": "501" 12 | }, 13 | ":vaaa2": { 14 | "S": "ACCO" 15 | } 16 | }, 17 | "ConsistentRead": false 18 | }) 19 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-182.exp: -------------------------------------------------------------------------------- 1 | {a: 501, b: CUST#bob, c: "bobs stuff"} 2 | {a: 501, b: CUST#bob#roadtrips, c: "[3, 4, 5]"} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-183.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel4", 3 | "IndexName": "globalsec", 4 | "ReturnConsumedCapacity": "NONE", 5 | "ConsistentRead": false 6 | }) 7 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-184.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, c: 8, d: 5} 2 | {a: 3, b: 5, c: 10, d: 4} 3 | {a: 2, b: 3, c: 4, d: 1} 4 | {a: 2, b: 4, c: 4, d: 2} 5 | {a: 4, b: 5, c: 6, d: 3} 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-185.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel4", 3 | "IndexName": "globalsec", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "c" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "4" 13 | } 14 | } 15 | }) 16 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-186.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4, d: 1} 2 | {a: 2, b: 4, c: 4, d: 2} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-187.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel4", 3 | "IndexName": "globalsec", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND #aaaa2 = :vaaa2", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "c", 9 | "#aaaa2": "d" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "4" 14 | }, 15 | ":vaaa2": { 16 | "N": "2" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-188.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 4, c: 4, d: 2} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-189.exp: -------------------------------------------------------------------------------- 1 | GetItem({ 2 | "TableName": "iselN", 3 | "Key": { 4 | "a": { 5 | "N": "2" 6 | } 7 | }, 8 | "ConsistentRead": false, 9 | "ReturnConsumedCapacity": "NONE" 10 | }) 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-19.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-190.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselN", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa2 = :vaaa2", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "b" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "2" 14 | }, 15 | ":vaaa2": { 16 | "N": "2" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-191.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "iselN", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "NOT (#aaaa1 = :vaaa1) AND #aaaa2 = :vaaa2", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a", 7 | "#aaaa2": "b" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vaaa1": { 11 | "N": "2" 12 | }, 13 | ":vaaa2": { 14 | "N": "2" 15 | } 16 | }, 17 | "ConsistentRead": false 18 | }) 19 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-192.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "iselN", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "2" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-193.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: three, c: 4} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-194.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-194.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-195.exp: -------------------------------------------------------------------------------- 1 | {a: 1, b: 2, c: 3} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-196.exp: -------------------------------------------------------------------------------- 1 | {a: 1, b: 2, c: 3} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-197.exp: -------------------------------------------------------------------------------- 1 | GetItem({ 2 | "TableName": "iselNS", 3 | "Key": { 4 | "a": { 5 | "N": "2" 6 | }, 7 | "b": { 8 | "S": "two" 9 | } 10 | }, 11 | "ConsistentRead": false, 12 | "ReturnConsumedCapacity": "NONE" 13 | }) 14 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-198.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselNS", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa3 = :vaaa3", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND #aaaa2 = :vaaa2", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "b", 10 | "#aaaa3": "c" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vaaa1": { 14 | "N": "2" 15 | }, 16 | ":vaaa2": { 17 | "S": "two" 18 | }, 19 | ":vaaa3": { 20 | "N": "3" 21 | } 22 | } 23 | }) 24 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-199.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselNS", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND #aaaa2 > :vaaa2", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "a", 8 | "#aaaa2": "b" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "2" 13 | }, 14 | ":vaaa2": { 15 | "S": "two" 16 | } 17 | } 18 | }) 19 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-2.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4} 2 | {a: 2, b: 4, c: 5} 3 | {a: 4, b: 5, c: 6} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-20.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-20.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-200.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselNS", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND begins_with(#aaaa2, :vaaa2)", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "a", 8 | "#aaaa2": "b" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "2" 13 | }, 14 | ":vaaa2": { 15 | "S": "t" 16 | } 17 | } 18 | }) 19 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-201.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "iselNS", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "begins_with(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "t" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-202.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: three, c: 4} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-203.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-203.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-204.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: three, c: 4} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-205.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: three, c: 4} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-206.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: three, c: 4} 2 | {a: 1, b: two, c: 3} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-207.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselNN", 3 | "IndexName": "globalsecN", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "c" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "4" 13 | } 14 | } 15 | }) 16 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-208.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselNN", 3 | "IndexName": "globalsecN", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "FilterExpression": "#aaaa2 = :vaaa2", 7 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 8 | "ExpressionAttributeNames": { 9 | "#aaaa1": "c", 10 | "#aaaa2": "d" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vaaa1": { 14 | "N": "4" 15 | }, 16 | ":vaaa2": { 17 | "S": "one" 18 | } 19 | } 20 | }) 21 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-209.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "iselNN", 3 | "IndexName": "globalsecN", 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa1 > :vaaa1", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "c" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vaaa1": { 11 | "N": "3" 12 | } 13 | }, 14 | "ConsistentRead": false 15 | }) 16 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-21.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-210.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselNN", 3 | "IndexName": "globalsecN", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "FilterExpression": "begins_with(#aaaa2, :vaaa2)", 7 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 8 | "ExpressionAttributeNames": { 9 | "#aaaa1": "c", 10 | "#aaaa2": "d" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vaaa1": { 14 | "N": "4" 15 | }, 16 | ":vaaa2": { 17 | "S": "t" 18 | } 19 | } 20 | }) 21 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-211.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselNN", 3 | "IndexName": "globalsecNS", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "c" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "4" 13 | } 14 | } 15 | }) 16 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-212.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselNN", 3 | "IndexName": "globalsecNS", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND #aaaa2 = :vaaa2", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "c", 9 | "#aaaa2": "d" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "4" 14 | }, 15 | ":vaaa2": { 16 | "S": "one" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-213.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "iselNN", 3 | "IndexName": "globalsecNS", 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "#aaaa1 > :vaaa1", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "c" 8 | }, 9 | "ExpressionAttributeValues": { 10 | ":vaaa1": { 11 | "N": "3" 12 | } 13 | }, 14 | "ConsistentRead": false 15 | }) 16 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-214.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselNN", 3 | "IndexName": "globalsecNS", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND begins_with(#aaaa2, :vaaa2)", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "c", 9 | "#aaaa2": "d" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "4" 14 | }, 15 | ":vaaa2": { 16 | "S": "t" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-215.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselNN", 3 | "IndexName": "globalsecN", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "c" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "4" 13 | } 14 | } 15 | }) 16 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-216.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iselNN", 3 | "IndexName": "globalsecN", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "FilterExpression": "#aaaa2 = :vaaa2", 7 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 8 | "ExpressionAttributeNames": { 9 | "#aaaa1": "c", 10 | "#aaaa2": "d" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vaaa1": { 14 | "N": "4" 15 | }, 16 | ":vaaa2": { 17 | "S": "one" 18 | } 19 | } 20 | }) 21 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-217.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, c: 8, d: five} 2 | {a: 3, b: 5, c: 10, d: four} 3 | {a: 2, b: 3, c: 4, d: one} 4 | {a: 2, b: 4, c: 4, d: two} 5 | {a: 4, b: 5, c: 6, d: three} 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-218.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 4, c: 4, d: two} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-219.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4, d: one} 2 | {a: 2, b: 4, c: 4, d: two} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-22.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 5, ex: 10} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-220.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4, d: one} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-221.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, c: 8, d: five} 2 | {a: 3, b: 5, c: 10, d: four} 3 | {a: 2, b: 3, c: 4, d: one} 4 | {a: 2, b: 4, c: 4, d: two} 5 | {a: 4, b: 5, c: 6, d: three} 6 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-222.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 4, c: 4, d: two} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-23.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-24.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, ex: abc} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-25.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "nop" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-26.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-26.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-27.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "nop" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-28.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-28.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-29.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-3.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_exists(#aaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ConsistentRead": false 9 | }) 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-30.exp: -------------------------------------------------------------------------------- 1 | {a: 501, b: ACCOUNTINFO, c: "some stuff"} 2 | {a: 501, b: CUST#bob#roadtrips, c: "[3, 4, 5]"} 3 | {a: 501, b: CUST#bob, c: "bobs stuff"} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-31.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-32.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-32.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-33.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-34.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-34.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-35.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-36.exp: -------------------------------------------------------------------------------- 1 | {a: 501, b: ACCOUNTINFO, c: "some stuff"} 2 | {a: 501, b: CUST#bob#roadtrips, c: "[3, 4, 5]"} 3 | {a: 501, b: CUST#bob, c: "bobs stuff"} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-37.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-38.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-38.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-39.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-4.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 5, ex: 10} 2 | {a: 6, b: 7, ex: abc} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-40.exp: -------------------------------------------------------------------------------- 1 | {a: 501, b: ACCOUNTINFO, c: "some stuff"} 2 | {a: 501, b: CUST#bob#roadtrips, c: "[3, 4, 5]"} 3 | {a: 501, b: CUST#bob, c: "bobs stuff"} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-41.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-42.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-42.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-43.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-44.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-44.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-45.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "nop" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-46.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-46.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-47.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "nop" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-48.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-48.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-49.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-5.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_exists(#aaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ConsistentRead": false 9 | }) 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-50.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-50.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-51.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-52.exp: -------------------------------------------------------------------------------- 1 | {a: abc, b: lmno, c: 4} 2 | {a: abc, b: pqr, c: 3} 3 | {a: abc, b: xyza, c: 5} 4 | {a: lm, b: xyza, c: 5} 5 | {a: lmn, b: pqr, c: 3} 6 | {a: lmnop, b: lmno, c: 4} 7 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-53.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-54.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-54.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-55.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-56.exp: -------------------------------------------------------------------------------- 1 | {a: abc, b: lmno, c: 4} 2 | {a: abc, b: pqr, c: 3} 3 | {a: abc, b: xyza, c: 5} 4 | {a: lm, b: xyza, c: 5} 5 | {a: lmn, b: pqr, c: 3} 6 | {a: lmnop, b: lmno, c: 4} 7 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-57.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-58.exp: -------------------------------------------------------------------------------- 1 | {a: abc, b: lmno, c: 4} 2 | {a: abc, b: pqr, c: 3} 3 | {a: abc, b: xyza, c: 5} 4 | {a: lm, b: xyza, c: 5} 5 | {a: lmn, b: pqr, c: 3} 6 | {a: lmnop, b: lmno, c: 4} 7 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-59.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-6.exp: -------------------------------------------------------------------------------- 1 | {a: 501, b: ACCOUNTINFO, c: "some stuff"} 2 | {a: 501, b: CUST#bob#roadtrips, c: "[3, 4, 5]"} 3 | {a: 501, b: CUST#bob, c: "bobs stuff"} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-60.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-60.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-61.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-62.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-62.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-63.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "S" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-64.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-64.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-65.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "begins_with(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "a" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-66.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-66.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-67.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "begins_with(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "a" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-68.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-68.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-69.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "begins_with(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "a" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-7.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel3", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_exists(#aaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "c" 7 | }, 8 | "ConsistentRead": false 9 | }) 10 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-70.exp: -------------------------------------------------------------------------------- 1 | {a: 6, b: 7, ex: abc} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-71.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "begins_with(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "a" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-72.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-72.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-73.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "begins_with(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "a" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-74.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-74.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-75.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "begins_with(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "ex" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "a" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-76.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-76.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-77.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1 AND begins_with(#aaaa1, :vaaa2)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "501" 11 | }, 12 | ":vaaa2": { 13 | "S": "a" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-78.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-78.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-79.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel2", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND begins_with(#aaaa2, :vaaa2)", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "a", 8 | "#aaaa2": "b" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "501" 13 | }, 14 | ":vaaa2": { 15 | "S": "a" 16 | } 17 | } 18 | }) 19 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-8.exp: -------------------------------------------------------------------------------- 1 | {a: abc, b: lmno, c: 4} 2 | {a: abc, b: pqr, c: 3} 3 | {a: abc, b: xyza, c: 5} 4 | {a: lm, b: xyza, c: 5} 5 | {a: lmn, b: pqr, c: 3} 6 | {a: lmnop, b: lmno, c: 4} 7 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-80.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-80.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-81.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel2", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "begins_with(#aaaa2, :vaaa2)", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "ex" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "501" 14 | }, 15 | ":vaaa2": { 16 | "S": "a" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-82.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-82.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-83.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1 AND begins_with(#aaaa1, :vaaa2)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "501" 11 | }, 12 | ":vaaa2": { 13 | "S": "CUST#" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-84.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-84.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-85.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel2", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND begins_with(#aaaa2, :vaaa2)", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "a", 8 | "#aaaa2": "b" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "501" 13 | }, 14 | ":vaaa2": { 15 | "S": "CUST#" 16 | } 17 | } 18 | }) 19 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-86.exp: -------------------------------------------------------------------------------- 1 | {a: 501, b: CUST#bob#roadtrips, c: "[3, 4, 5]"} 2 | {a: 501, b: CUST#bob, c: "bobs stuff"} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-87.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel2", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "begins_with(#aaaa2, :vaaa2)", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "c" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "501" 14 | }, 15 | ":vaaa2": { 16 | "S": "CUST#" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-88.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-88.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-89.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 = :vaaa1 AND begins_with(#aaaa1, :vaaa2)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "501" 11 | }, 12 | ":vaaa2": { 13 | "S": "bob" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-9.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "attribute_type(#aaaa1, :vaaa1)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "S": "N" 11 | } 12 | }, 13 | "ConsistentRead": false 14 | }) 15 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-90.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-90.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-91.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel2", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "KeyConditionExpression": "#aaaa1 = :vaaa1 AND begins_with(#aaaa2, :vaaa2)", 6 | "ExpressionAttributeNames": { 7 | "#aaaa1": "a", 8 | "#aaaa2": "b" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vaaa1": { 12 | "N": "501" 13 | }, 14 | ":vaaa2": { 15 | "S": "bob" 16 | } 17 | } 18 | }) 19 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-92.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/isel-92.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-93.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "isel2", 3 | "ConsistentRead": false, 4 | "ReturnConsumedCapacity": "NONE", 5 | "FilterExpression": "begins_with(#aaaa2, :vaaa2)", 6 | "KeyConditionExpression": "#aaaa1 = :vaaa1", 7 | "ExpressionAttributeNames": { 8 | "#aaaa1": "a", 9 | "#aaaa2": "c" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vaaa1": { 13 | "N": "501" 14 | }, 15 | ":vaaa2": { 16 | "S": "bob" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-94.exp: -------------------------------------------------------------------------------- 1 | {a: 501, b: CUST#bob, c: "bobs stuff"} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-95.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 BETWEEN :vaaa1 AND :vaaa2", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "3" 11 | }, 12 | ":vaaa2": { 13 | "N": "5" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-96.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 5, ex: 10} 2 | {a: 4, b: 5, c: 6} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-97.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 IN (:vaaa1, :vaaa2)", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "a" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "3" 11 | }, 12 | ":vaaa2": { 13 | "N": "5" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-98.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 5, ex: 10} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/isel-99.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "isel1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "FilterExpression": "#aaaa1 BETWEEN :vaaa1 AND :vaaa2", 5 | "ExpressionAttributeNames": { 6 | "#aaaa1": "b" 7 | }, 8 | "ExpressionAttributeValues": { 9 | ":vaaa1": { 10 | "N": "3" 11 | }, 12 | ":vaaa2": { 13 | "N": "5" 14 | } 15 | }, 16 | "ConsistentRead": false 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-1.exp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/awslabs/dynamodb-shell/d54cf487136e8370dd93591595402a5658477c15/ddbsh/tests/results/itxt-1.exp -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-10.exp: -------------------------------------------------------------------------------- 1 | {amount: 50, id: 101, ida: alice, idb: bob, processed: Y} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-13.exp: -------------------------------------------------------------------------------- 1 | {a: 1, b: 1} 2 | {a: 2, b: 1, c: 3} 3 | {a: 2, b: 1} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-14.exp: -------------------------------------------------------------------------------- 1 | COMMIT 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-15.exp: -------------------------------------------------------------------------------- 1 | {a: 1, b: 1} 2 | {a: 2, b: 1, c: 3, flag_updated: TRUE} 3 | {a: 2, b: 1} 4 | {a: 3, b: 2, d: 4} 5 | {a: 3, c: 2} 6 | {a: 4, b: 3, d: 5} 7 | {a: 4, c: 3} 8 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-2.exp: -------------------------------------------------------------------------------- 1 | ABORT 2 | The SELECT cannot be used in a transaction (it cannot be reduced to a GetItem() request). 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-3.exp: -------------------------------------------------------------------------------- 1 | {a: 1, b: 1} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-4.exp: -------------------------------------------------------------------------------- 1 | {a: 1, b: 1} 2 | {a: 2, b: 1} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-5.exp: -------------------------------------------------------------------------------- 1 | {a: 1, b: 1} 2 | {a: 2, b: 1, c: 3} 3 | {a: 2, b: 1} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-6.exp: -------------------------------------------------------------------------------- 1 | ABORT 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-7.exp: -------------------------------------------------------------------------------- 1 | {balance: 400, id: dave} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-8.exp: -------------------------------------------------------------------------------- 1 | COMMIT 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/itxt-9.exp: -------------------------------------------------------------------------------- 1 | {balance: 250, id: alice} 2 | {balance: 250, id: bob} 3 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-1.exp: -------------------------------------------------------------------------------- 1 | UpdateItem({ 2 | "TableName": "iut1", 3 | "Key": { 4 | "pk": { 5 | "N": "0" 6 | } 7 | }, 8 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 9 | "ConditionExpression": "attribute_exists(#aaaa2)", 10 | "ExpressionAttributeNames": { 11 | "#aaaa1": "y", 12 | "#aaaa2": "pk" 13 | }, 14 | "ExpressionAttributeValues": { 15 | ":vaaa1": { 16 | "N": "14" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-11.exp: -------------------------------------------------------------------------------- 1 | UPDATE (2 read, 2 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-12.exp: -------------------------------------------------------------------------------- 1 | UPDATE (0 read, 0 modified, 1 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-13.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "iut1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ProjectionExpression": "#abaa1", 5 | "FilterExpression": "#abaa2 > :vbaa1 OR #abaa1 > :vbaa2", 6 | "ExpressionAttributeNames": { 7 | "#abaa1": "pk", 8 | "#abaa2": "x" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vbaa1": { 12 | "N": "8" 13 | }, 14 | ":vbaa2": { 15 | "N": "8" 16 | } 17 | }, 18 | "ConsistentRead": false 19 | }) 20 | UpdateItem({ 21 | "TableName": "iut1", 22 | "Key": { 23 | "pk": { 24 | "N": "9" 25 | } 26 | }, 27 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 28 | "ConditionExpression": "attribute_exists(#aaaa2) AND #aaaa3 > :vaaa2 OR #aaaa2 > :vaaa3", 29 | "ExpressionAttributeNames": { 30 | "#aaaa1": "y", 31 | "#aaaa2": "pk", 32 | "#aaaa3": "x" 33 | }, 34 | "ExpressionAttributeValues": { 35 | ":vaaa1": { 36 | "N": "10" 37 | }, 38 | ":vaaa2": { 39 | "N": "8" 40 | }, 41 | ":vaaa3": { 42 | "N": "8" 43 | } 44 | } 45 | }) 46 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-14.exp: -------------------------------------------------------------------------------- 1 | UPDATE (1 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-15.exp: -------------------------------------------------------------------------------- 1 | UpdateItem({ 2 | "TableName": "iut1", 3 | "Key": { 4 | "pk": { 5 | "N": "1" 6 | } 7 | }, 8 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 9 | "ExpressionAttributeNames": { 10 | "#aaaa1": "y" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vaaa1": { 14 | "N": "14" 15 | } 16 | } 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-16.exp: -------------------------------------------------------------------------------- 1 | UPSERT (0 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-17.exp: -------------------------------------------------------------------------------- 1 | UpdateItem({ 2 | "TableName": "iut1", 3 | "Key": { 4 | "pk": { 5 | "N": "3" 6 | } 7 | }, 8 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 9 | "ConditionExpression": "#aaaa2 = :vaaa2", 10 | "ExpressionAttributeNames": { 11 | "#aaaa1": "x", 12 | "#aaaa2": "y" 13 | }, 14 | "ExpressionAttributeValues": { 15 | ":vaaa1": { 16 | "N": "3" 17 | }, 18 | ":vaaa2": { 19 | "N": "14" 20 | } 21 | } 22 | }) 23 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-18.exp: -------------------------------------------------------------------------------- 1 | UPSERT (0 read, 0 modified, 1 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-19.exp: -------------------------------------------------------------------------------- 1 | UpdateItem({ 2 | "TableName": "iut1", 3 | "Key": { 4 | "pk": { 5 | "N": "1000" 6 | } 7 | }, 8 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 9 | "ExpressionAttributeNames": { 10 | "#aaaa1": "y" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vaaa1": { 14 | "N": "10" 15 | } 16 | } 17 | }) 18 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-2.exp: -------------------------------------------------------------------------------- 1 | UPDATE (0 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-20.exp: -------------------------------------------------------------------------------- 1 | UPSERT (0 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-21.exp: -------------------------------------------------------------------------------- 1 | {pk: 1000, y: 10} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-22.exp: -------------------------------------------------------------------------------- 1 | UpdateItem({ 2 | "TableName": "iut2", 3 | "Key": { 4 | "pk": { 5 | "N": "1" 6 | }, 7 | "rk": { 8 | "N": "2" 9 | } 10 | }, 11 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 12 | "ConditionExpression": "attribute_exists(#aaaa2)", 13 | "ExpressionAttributeNames": { 14 | "#aaaa1": "y", 15 | "#aaaa2": "pk" 16 | }, 17 | "ExpressionAttributeValues": { 18 | ":vaaa1": { 19 | "N": "14" 20 | } 21 | } 22 | }) 23 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-23.exp: -------------------------------------------------------------------------------- 1 | UPDATE (0 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-24.exp: -------------------------------------------------------------------------------- 1 | {a: 2, b: 3, c: 4, pk: 1, rk: 2, y: 14} 2 | {a: 2, b: 3, c: 4, pk: 1, rk: 3} 3 | {a: 2, b: 3, c: 4, pk: 1, rk: 4} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-26.exp: -------------------------------------------------------------------------------- 1 | UPDATE (3 read, 3 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-27.exp: -------------------------------------------------------------------------------- 1 | {a: 3, b: 4, c: 5, pk: 2, rk: 3, y: 14} 2 | {a: 3, b: 4, c: 5, pk: 2, rk: 4, y: 14} 3 | {a: 3, b: 4, c: 5, pk: 2, rk: 5, y: 14} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-29.exp: -------------------------------------------------------------------------------- 1 | {a: 4, b: 5, c: 6, pk: 3, rk: 6} 2 | {a: 5, b: 6, c: 7, pk: 4, rk: 6} 3 | {a: 6, b: 7, c: 8, pk: 5, rk: 6} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-3.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "iut1", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ProjectionExpression": "#abaa1", 5 | "FilterExpression": "#abaa2 = :vbaa1", 6 | "ExpressionAttributeNames": { 7 | "#abaa1": "pk", 8 | "#abaa2": "y" 9 | }, 10 | "ExpressionAttributeValues": { 11 | ":vbaa1": { 12 | "N": "14" 13 | } 14 | }, 15 | "ConsistentRead": false 16 | }) 17 | UpdateItem({ 18 | "TableName": "iut1", 19 | "Key": { 20 | "pk": { 21 | "N": "0" 22 | } 23 | }, 24 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 25 | "ConditionExpression": "attribute_exists(#aaaa2) AND #aaaa3 = :vaaa2", 26 | "ExpressionAttributeNames": { 27 | "#aaaa1": "x", 28 | "#aaaa2": "pk", 29 | "#aaaa3": "y" 30 | }, 31 | "ExpressionAttributeValues": { 32 | ":vaaa1": { 33 | "N": "3" 34 | }, 35 | ":vaaa2": { 36 | "N": "14" 37 | } 38 | } 39 | }) 40 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-30.exp: -------------------------------------------------------------------------------- 1 | UPDATE (3 read, 3 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-31.exp: -------------------------------------------------------------------------------- 1 | {a: 4, b: 5, c: 6, pk: 3, rk: 6, y: 15} 2 | {a: 5, b: 6, c: 7, pk: 4, rk: 6, y: 15} 3 | {a: 6, b: 7, c: 8, pk: 5, rk: 6, y: 15} 4 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-32.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "iut2", 3 | "ReturnConsumedCapacity": "NONE", 4 | "ProjectionExpression": "#abaa1, #abaa2", 5 | "FilterExpression": "#abaa2 = :vbaa1 AND #abaa3 = :vbaa2", 6 | "ExpressionAttributeNames": { 7 | "#abaa1": "pk", 8 | "#abaa2": "rk", 9 | "#abaa3": "z" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vbaa1": { 13 | "N": "6" 14 | }, 15 | ":vbaa2": { 16 | "N": "12" 17 | } 18 | }, 19 | "ConsistentRead": false 20 | }) 21 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-33.exp: -------------------------------------------------------------------------------- 1 | UpdateItem({ 2 | "TableName": "iut1", 3 | "Key": { 4 | "pk": { 5 | "N": "6" 6 | } 7 | }, 8 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 9 | "ConditionExpression": "attribute_exists(#aaaa2) AND #aaaa3 = :vaaa2", 10 | "ExpressionAttributeNames": { 11 | "#aaaa1": "y", 12 | "#aaaa2": "pk", 13 | "#aaaa3": "z" 14 | }, 15 | "ExpressionAttributeValues": { 16 | ":vaaa1": { 17 | "N": "21" 18 | }, 19 | ":vaaa2": { 20 | "N": "12" 21 | } 22 | } 23 | }) 24 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-34.exp: -------------------------------------------------------------------------------- 1 | UPDATE (0 read, 0 modified, 1 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-35.exp: -------------------------------------------------------------------------------- 1 | UpdateItem({ 2 | "TableName": "iut1", 3 | "Key": { 4 | "pk": { 5 | "N": "3" 6 | } 7 | }, 8 | "UpdateExpression": "SET #aaaa1 = #aaaa1+:vaaa1", 9 | "ConditionExpression": "attribute_exists(#aaaa2)", 10 | "ExpressionAttributeNames": { 11 | "#aaaa1": "y", 12 | "#aaaa2": "pk" 13 | }, 14 | "ExpressionAttributeValues": { 15 | ":vaaa1": { 16 | "N": "10" 17 | } 18 | } 19 | }) 20 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-36.exp: -------------------------------------------------------------------------------- 1 | UPDATE (0 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-37.exp: -------------------------------------------------------------------------------- 1 | Query({ 2 | "TableName": "iut1", 3 | "IndexName": "iut1gsi", 4 | "ConsistentRead": false, 5 | "ReturnConsumedCapacity": "NONE", 6 | "ProjectionExpression": "#abaa1", 7 | "KeyConditionExpression": "#abaa2 = :vbaa1", 8 | "ExpressionAttributeNames": { 9 | "#abaa1": "pk", 10 | "#abaa2": "gsipk" 11 | }, 12 | "ExpressionAttributeValues": { 13 | ":vbaa1": { 14 | "N": "0" 15 | } 16 | } 17 | }) 18 | UpdateItem({ 19 | "TableName": "iut1", 20 | "Key": { 21 | "pk": { 22 | "N": "109" 23 | } 24 | }, 25 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 26 | "ConditionExpression": "attribute_exists(#aaaa2) AND #aaaa3 = :vaaa2", 27 | "ExpressionAttributeNames": { 28 | "#aaaa1": "flag_updated", 29 | "#aaaa2": "pk", 30 | "#aaaa3": "gsipk" 31 | }, 32 | "ExpressionAttributeValues": { 33 | ":vaaa1": { 34 | "BOOL": true 35 | }, 36 | ":vaaa2": { 37 | "N": "0" 38 | } 39 | } 40 | }) 41 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-38.exp: -------------------------------------------------------------------------------- 1 | UPDATE (1 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-39.exp: -------------------------------------------------------------------------------- 1 | {a: 8, b: 9, c: 0, pk: 7} 2 | {a: 9, b: 0, c: 1, pk: 8} 3 | {b: 6, c: 7, gsipk: 5, pk: 104} 4 | {a: 4, b: 5, c: 6, pk: 3, y: 20} 5 | {pk: 1000, y: 10} 6 | {a: 3, b: 4, c: 5, pk: 2, y: 10} 7 | {b: 2, c: 3, gsipk: 1, pk: 100} 8 | {b: 0, c: 1, gsipk: 9, pk: 108} 9 | {a: 0, b: 1, c: 2, pk: 9, y: 10} 10 | {a: 5, b: 6, c: 7, pk: 4} 11 | {a: 7, b: 8, c: 9, pk: 6} 12 | {b: 4, c: 5, gsipk: 3, pk: 102} 13 | {b: 5, c: 6, gsipk: 4, pk: 103} 14 | {b: 8, c: 9, gsipk: 7, pk: 106} 15 | {a: 2, b: 3, c: 4, pk: 1, y: 14} 16 | {b: 7, c: 8, gsipk: 6, pk: 105} 17 | {a: 1, b: 2, c: 3, pk: 0, x: 3, y: 10} 18 | {b: 3, c: 4, gsipk: 2, pk: 101} 19 | {b: 1, c: 2, flag_updated: TRUE, gsipk: 0, pk: 109} 20 | {a: 6, b: 7, c: 8, pk: 5} 21 | {b: 9, c: 0, gsipk: 8, pk: 107} 22 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-4.exp: -------------------------------------------------------------------------------- 1 | UPDATE (1 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-40.exp: -------------------------------------------------------------------------------- 1 | Scan({ 2 | "TableName": "iut1", 3 | "IndexName": "iut1gsi", 4 | "ReturnConsumedCapacity": "NONE", 5 | "ProjectionExpression": "#abaa1", 6 | "FilterExpression": "#abaa2 > :vbaa1 AND #abaa2 < :vbaa2", 7 | "ExpressionAttributeNames": { 8 | "#abaa1": "pk", 9 | "#abaa2": "gsipk" 10 | }, 11 | "ExpressionAttributeValues": { 12 | ":vbaa1": { 13 | "N": "0" 14 | }, 15 | ":vbaa2": { 16 | "N": "2" 17 | } 18 | }, 19 | "ConsistentRead": false 20 | }) 21 | UpdateItem({ 22 | "TableName": "iut1", 23 | "Key": { 24 | "pk": { 25 | "N": "100" 26 | } 27 | }, 28 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 29 | "ConditionExpression": "attribute_exists(#aaaa2) AND #aaaa3 > :vaaa2 AND #aaaa3 < :vaaa3", 30 | "ExpressionAttributeNames": { 31 | "#aaaa1": "flag_updated", 32 | "#aaaa2": "pk", 33 | "#aaaa3": "gsipk" 34 | }, 35 | "ExpressionAttributeValues": { 36 | ":vaaa1": { 37 | "BOOL": true 38 | }, 39 | ":vaaa2": { 40 | "N": "0" 41 | }, 42 | ":vaaa3": { 43 | "N": "2" 44 | } 45 | } 46 | }) 47 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-41.exp: -------------------------------------------------------------------------------- 1 | UPDATE (1 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-42.exp: -------------------------------------------------------------------------------- 1 | {b: 2, c: 3, flag_updated: TRUE, gsipk: 1, pk: 100} 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-5.exp: -------------------------------------------------------------------------------- 1 | {a: 0, b: 1, c: 2, pk: 9} 2 | {a: 1, b: 2, c: 3, pk: 0, x: 3, y: 14} 3 | {a: 2, b: 3, c: 4, pk: 1} 4 | {a: 3, b: 4, c: 5, pk: 2} 5 | {a: 4, b: 5, c: 6, pk: 3} 6 | {a: 5, b: 6, c: 7, pk: 4} 7 | {a: 6, b: 7, c: 8, pk: 5} 8 | {a: 7, b: 8, c: 9, pk: 6} 9 | {a: 8, b: 9, c: 0, pk: 7} 10 | {a: 9, b: 0, c: 1, pk: 8} 11 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-6.exp: -------------------------------------------------------------------------------- 1 | UpdateItem({ 2 | "TableName": "iut1", 3 | "Key": { 4 | "pk": { 5 | "N": "0" 6 | } 7 | }, 8 | "UpdateExpression": "SET #aaaa1 = :vaaa1", 9 | "ConditionExpression": "attribute_exists(#aaaa2) AND #aaaa3 = :vaaa2", 10 | "ExpressionAttributeNames": { 11 | "#aaaa1": "y", 12 | "#aaaa2": "pk", 13 | "#aaaa3": "x" 14 | }, 15 | "ExpressionAttributeValues": { 16 | ":vaaa1": { 17 | "N": "15" 18 | }, 19 | ":vaaa2": { 20 | "N": "3" 21 | } 22 | } 23 | }) 24 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-7.exp: -------------------------------------------------------------------------------- 1 | UPDATE (0 read, 1 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/tests/results/iut-9.exp: -------------------------------------------------------------------------------- 1 | UPDATE (3 read, 3 modified, 0 ccf) 2 | -------------------------------------------------------------------------------- /ddbsh/util/ddbsh-common.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * ddbsh-common.hpp 6 | * 7 | * A mandatory include file for all .hpp and .cpp files in ddbsh. 8 | * 9 | * - Amrith (2022-12-07) 10 | */ 11 | 12 | #ifndef __DDBSH_COMMON_HPP_DEFINED__ 13 | #define __DDBSH_COMMON_HPP_DEFINED__ 14 | 15 | #include "allocation.hpp" 16 | 17 | #endif 18 | 19 | -------------------------------------------------------------------------------- /ddbsh/util/ll.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * ll.h - simple linked list manager. 6 | * 7 | * Amrith, 2022-05-13 8 | * 9 | */ 10 | 11 | #ifndef __LL_H_DEFINED__ 12 | #define __LL_H_DEFINED__ 13 | 14 | typedef struct 15 | { 16 | void * next; 17 | void * nextp; 18 | void * prev; 19 | void * prevp; 20 | } ll_t; 21 | 22 | void ll_init ( ll_t * h ); 23 | void ll_thread_at_head ( ll_t * h, void * node, ll_t * links ); 24 | void ll_thread_at_tail ( ll_t * h, void * node, ll_t * links ); 25 | void ll_thread_before ( ll_t * n, void * node, ll_t * links ); 26 | void ll_thread_after ( ll_t * n, void * node, ll_t * links ); 27 | void ll_unthread ( ll_t * links ); 28 | 29 | #endif 30 | -------------------------------------------------------------------------------- /ddbsh/util/logging.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | #ifndef __LOGGING_HPP_DEFINED__ 5 | #define __LOGGING_HPP_DEFINED__ 6 | 7 | int logtofile (char * fname); 8 | 9 | void setdebug (int level); 10 | 11 | void cleardebug (); 12 | 13 | int logerror (const char * string, ...); 14 | int logmsg(const char * string, ...); 15 | int loginfo(const char * string, ...); 16 | int logverbose(const char * string, ...); 17 | int logdebug(const char * string, ...); 18 | 19 | #define DDBSH_LOGLEVEL_DEBUG 0x8000 20 | #define DDBSH_LOGLEVEL_VERBOSE 0x0800 21 | #define DDBSH_LOGLEVEL_INFO 0x0080 22 | #define DDBSH_LOGLEVEL_NORMAL 0x0008 23 | #define DDBSH_LOGLEVEL_ERROR 0x0000 24 | 25 | #define DDBSH_LOGLEVEL_DEFAULT DDBSH_LOGLEVEL_INFO 26 | 27 | #include 28 | 29 | #define __FILENAME__ (strrchr(__FILE__, '/') ? strrchr(__FILE__, '/') + 1 : __FILE__) 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /ddbsh/util/strip_newlines.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * strip_newlines.hpp 6 | * 7 | * simple utility function to strip newlines from an std::string 8 | * 9 | * Amrith - 2022-11-05 10 | */ 11 | 12 | 13 | #ifndef __STRIP_NEWLINES_HPP_DEFINED__ 14 | #define __STRIP_NEWLINES_HPP_DEFINED__ 15 | 16 | #include 17 | #include 18 | 19 | std::string strip_newlines(std::string s); 20 | std::string explain_string(std::string s); 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /ddbsh/util/trim_double.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * trim-double.cpp 6 | * 7 | * provided the string form of a double, trim trailing zeroes. 8 | * 9 | * Amrith - 2022-10-28 10 | */ 11 | 12 | #include "trim_double.hpp" 13 | 14 | std::string trim_double(std::string input) 15 | { 16 | std::regex reg("^([\\d,]+)$|^([\\d,]+)\\.0*$|^([\\d,]+\\.[0-9]*?)0*$"); 17 | 18 | return std::regex_replace(input, reg, "$1$2$3"); 19 | } 20 | -------------------------------------------------------------------------------- /ddbsh/util/trim_double.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * trim-double.hpp 6 | * 7 | * provided the string form of a double, trim trailing zeroes. 8 | * 9 | * Amrith - 2022-10-28 10 | */ 11 | 12 | #ifndef __TRIM_DOUBLE_HPP_DEFINED__ 13 | #define __TRIM_DOUBLE_HPP_DEFINED__ 14 | 15 | #include 16 | #include 17 | 18 | std::string trim_double(std::string); 19 | #endif 20 | 21 | 22 | -------------------------------------------------------------------------------- /ddbsh/util/unquote.cpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | /* 5 | * unquote.cpp 6 | * 7 | * unquote a double quoted string. 8 | * 9 | * Amrith 2022-09-08 10 | */ 11 | 12 | #include "unquote.hpp" 13 | #include 14 | #include "allocation.hpp" 15 | 16 | /* always return an strdup'ed string */ 17 | 18 | char * unquote(const char * s) 19 | { 20 | char * uq; 21 | int l = strlen(s); 22 | 23 | if (*s == '"' && s[l-1] == '"') 24 | { 25 | uq = STRDUP((char *) s+1); 26 | uq[l-2] = 0; 27 | } 28 | else 29 | { 30 | uq = STRDUP((char *)s); 31 | } 32 | 33 | return uq; 34 | } 35 | -------------------------------------------------------------------------------- /ddbsh/util/unquote.hpp: -------------------------------------------------------------------------------- 1 | // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. 2 | // SPDX-License-Identifier: Apache-2.0 3 | // 4 | #ifndef __UNQUOTE_HPP_DEFINED__ 5 | #define __UNQUOTE_HPP_DEFINED__ 6 | 7 | char * unquote(const char * s); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /ddbsh/version.h.in: -------------------------------------------------------------------------------- 1 | #ifndef __DDBSH_VERSION_H_DEFINED__ 2 | #define __DDBSH_VERSION_H_DEFINED__ 3 | 4 | #define VERSION_MAJOR @ddbsh_VERSION_MAJOR@ 5 | #define VERSION_MINOR @ddbsh_VERSION_MINOR@ 6 | #define VERSION_PATCH @ddbsh_VERSION_PATCH@ 7 | #define VERSION_TWEAK @ddbsh_VERSION_TWEAK@ 8 | 9 | extern char * ddbsh_version(); 10 | #endif 11 | --------------------------------------------------------------------------------