Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

apacheGH-30622: [GAC-11] Put Timestream ODBC driver into Arrow repository without code style fixes #7

Merged

Conversation

alinaliBQ
Copy link

@alinaliBQ alinaliBQ commented Nov 24, 2023

Rationale for this change

Integration Apache 2.0 licensed AWS Timestream ODBC driver into the Arrow repository.

What changes are included in this PR?

  • Timestream ODBC driver seed code is added under cpp/src/arrow/flight/sql. This seed (files under cpp/src/arrow/flight/sql/amazon-timestream-odbc-driver/*) does not need to reviewed because its code has not been changed, with the exception of CMAKE files, which have been modified by archery lint --cmake-format --fix.
    • Only some CMAKE files have been modified for linter errors. Other linter errors are not fixed.
  • The Windows, macOS, and Linux workflow for the driver is enabled. For this PR, please look at the newly added files under .github/workflows/*.

Are these changes tested?

Unit tests for Timestream ODBC driver are preserved. Integration tests are not covered as tests for the driver will be added as functionalities are developed.

Are there any user-facing changes?

No.

amazon-auto and others added 9 commits November 23, 2023 11:12
* fix cppcheck failure

* fix build script not running and credentials could not be fetched

* restore configure-aws-credentials to v2

* add execute permission for shell scripts

* remove bash for mac build scripts

* trigger all tests
* code uploading

* fix cppcheck failure (#1)

* fix cppcheck failure

* fix build script not running and credentials could not be fetched

* restore configure-aws-credentials to v2

* add execute permission for shell scripts

* remove bash for mac build scripts

* trigger all tests

* verify signer works fine

* fix singer could not find the installer package

* change signed installer name

* fix linux package wrong name issue

* restore signer flag

* add .gitignore

* remove unneeded files

* remove unneeded files

* address comments

* add version to installer name

* remove not needed file
…mation improvement (#4)

* fix occasional test failure

* document update

* add check for credentials leak
* pass driver info to Timestream using user agent

* add log for user agent setting
Copy link

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose

Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename the pull request title in the following format?

GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

In the case of PARQUET issues on JIRA the title also supports:

PARQUET-${JIRA_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

See also:

Copy link

github-actions bot commented Nov 24, 2023

Windows 2022 (x64) Build Unit Test Results

  1 files    1 suites   0s ⏱️
74 tests 73 ✔️ 1 💤 0
73 runs  72 ✔️ 1 💤 0

Results for commit 4ac9ff1.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Nov 24, 2023

Windows 2022 (x32) Build Unit Test Results

  1 files    1 suites   1s ⏱️
74 tests 73 ✔️ 1 💤 0
73 runs  72 ✔️ 1 💤 0

Results for commit 4ac9ff1.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Nov 24, 2023

Windows 2022 (x64) Build Integration Test Results

0 tests   0 ✔️  0s ⏱️
0 suites  0 💤
0 files    0

Results for commit 4ac9ff1.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Nov 24, 2023

Windows 2022 (x32) Build Integration Test Results

0 tests   0 ✔️  0s ⏱️
0 suites  0 💤
0 files    0

Results for commit 4ac9ff1.

♻️ This comment has been updated with latest results.

@alinaliBQ alinaliBQ force-pushed the alinaliBQ/GAC-11/timestream-odbc-no-code-lint-fixes branch from dd4a531 to 572a830 Compare November 24, 2023 23:03
Copy link

github-actions bot commented Nov 24, 2023

Ubuntu 20.04 Debug Build Unit Test Results

  1 files    1 suites   1s ⏱️
73 tests 72 ✔️ 1 💤 0
72 runs  72 ✔️ 0 💤 0

Results for commit 4ac9ff1.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Nov 24, 2023

Ubuntu 20.04 Debug Build Integration Test Results

0 tests   0 ✔️  0s ⏱️
0 suites  0 💤
0 files    0

Results for commit 4ac9ff1.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Nov 24, 2023

Ubuntu 20.04 Build Unit Test Results

  1 files    1 suites   0s ⏱️
73 tests 72 ✔️ 1 💤 0
72 runs  72 ✔️ 0 💤 0

Results for commit 4ac9ff1.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Nov 24, 2023

Ubuntu 20.04 Build Integration Test Results

0 tests   0 ✔️  0s ⏱️
0 suites  0 💤
0 files    0

Results for commit 4ac9ff1.

♻️ This comment has been updated with latest results.

@alinaliBQ alinaliBQ force-pushed the alinaliBQ/GAC-11/timestream-odbc-no-code-lint-fixes branch 3 times, most recently from 6ccb0f4 to c70f3cf Compare November 24, 2023 23:57
Copy link

github-actions bot commented Nov 25, 2023

MacOS Big Sur 11 Debug Build Unit Test Results

  1 files    1 suites   9s ⏱️
73 tests 72 ✔️ 1 💤 0
72 runs  71 ✔️ 1 💤 0

Results for commit 39f8308.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Nov 25, 2023

MacOS Big Sur 11 Debug Build Integration Test Results

0 files  0 suites   0s ⏱️
0 tests 0 ✔️ 0 💤 0

Results for commit 39f8308.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Nov 25, 2023

MacOS Big Sur 11 Build Unit Test Results

  1 files    1 suites   7s ⏱️
73 tests 72 ✔️ 1 💤 0
72 runs  71 ✔️ 1 💤 0

Results for commit 39f8308.

♻️ This comment has been updated with latest results.

Copy link

github-actions bot commented Nov 25, 2023

MacOS Big Sur 11 Build Integration Test Results

0 files  0 suites   0s ⏱️
0 tests 0 ✔️ 0 💤 0

Results for commit 39f8308.

♻️ This comment has been updated with latest results.

@alinaliBQ alinaliBQ force-pushed the alinaliBQ/GAC-11/timestream-odbc-no-code-lint-fixes branch 3 times, most recently from d3b82f0 to b53be45 Compare November 27, 2023 20:17
@alinaliBQ alinaliBQ marked this pull request as ready for review November 27, 2023 22:00
…ODBC driver seed

disable integration tests from running. The win-build.yml file is copied from Amazon Timestream ODBC driver code.
Note that rest of lint errors are not solved yet.
* integration tests are disabled.
* allow build scripts to be run through `chmod`.
@alinaliBQ alinaliBQ force-pushed the alinaliBQ/GAC-11/timestream-odbc-no-code-lint-fixes branch from b53be45 to 4ac9ff1 Compare November 27, 2023 22:25
Copy link

Ubuntu 20.04 Debug Build Test Results Check

Code Coverage

Package Line Rate Branch Rate Complexity Health
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core 26% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.auth 100% 67% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.client 20% 38% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.config 67% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.endpoint 0% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.http 100% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.utils 100% 50% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.utils.json 100% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.utils.memory 67% 38% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.utils.memory.stl 100% 50% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.crt 45% 25% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.crt.endpoints 0% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.sts 7% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.sts.model 100% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.timestream-query 11% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.timestream-query.model 48% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.ignite.common.include.common 0% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.ignite.odbc 100% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.ignite.odbc.config 67% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.ignite.odbc.diagnostic 100% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc 24% 5% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.app 38% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.authentication 100% 50% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.config 0% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.diagnostic 56% 50% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.meta 18% 9% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.query 85% 50% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.os.ignite.common.os.linux.src.common 24% 42% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src 20% 8% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.app 7% 6% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.authentication 93% 48% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.config 64% 34% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.diagnostic 23% 11% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.ignite.common.src 0% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.ignite.common.src.common 0% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.meta 51% 16% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.query 9% 6% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.tests.integration-test.include 0% 0% 0
cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.tests.integration-test.src 0% 0% 0
Summary 14% (2326 / 17109) 5% (4449 / 98275) 0

Copy link

Windows 2022 (x64) Debug Build Code Coverage Test Results Check

Code Coverage

Package Line Rate Branch Rate Complexity Health
D:\a\arrow\arrow\cpp\src\arrow\flight\sql\amazon-timestream-odbc-driver\build\odbc\bin\Debug\timestream-odbc-unit-tests.exe 27% 0% 0
Summary 27% (2367 / 8643) 0% (0 / 0) 0

Copy link

@jduo jduo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Migrated code + auto-generated review comments only.

Copy link

MacOS Big Sur 11 Debug Build Code Coverage Unit and Integration Test Result

Code Coverage

Package Line Rate Branch Rate Complexity Health
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core 100% 50% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.auth 100% 83% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.client 54% 50% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.config 67% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.endpoint 0% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.http 100% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.utils 100% 50% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.utils.json 100% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.utils.memory 60% 38% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.utils.memory.stl 100% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.core.utils.threading 0% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.crt 100% 100% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.crt.endpoints 0% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.sts 14% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.sts.model 100% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.timestream-query 100% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.aws-sdk-cpp.install.include.aws.timestream-query.model 50% 38% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.ignite.common.include.common 2% 1% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.ignite.odbc 100% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.ignite.odbc.config 100% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.ignite.odbc.diagnostic 100% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc 23% 6% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.app 38% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.authentication 100% 50% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.config 100% 50% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.diagnostic 60% 50% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.meta 25% 9% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.include.timestream.odbc.query 85% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.os.ignite.common.os.linux.src.common 25% 35% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src 20% 8% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.app 9% 3% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.authentication 96% 49% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.config 63% 33% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.diagnostic 40% 13% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.ignite.common.src 0% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.ignite.common.src.common 0% 0% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.meta 51% 14% 0
arrow.cpp.src.arrow.flight.sql.amazon-timestream-odbc-driver.src.odbc.src.query 12% 7% 0
Summary 25% (2698 / 10807) 10% (4813 / 50040) 0

@alinaliBQ alinaliBQ merged commit 39f8308 into GAC-odbc-driver Nov 28, 2023
83 of 96 checks passed
@alinaliBQ alinaliBQ deleted the alinaliBQ/GAC-11/timestream-odbc-no-code-lint-fixes branch November 28, 2023 18:28
on:
push:
paths:
- '.github/workflows/win-build.yml'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I assume we want mac-build.yml here?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, good catch here. I have created Jira to fix this.

on:
push:
paths:
- '.github/workflows/win-build.yml'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

linux-build.yml?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in #7 (comment)

on:
push:
paths:
- '.github/workflows/win-build.yml'

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mac-debug-build.yml?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Addressed in #7 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants