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

Rebase: 8.4.0 #184

Open
wants to merge 26 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
c626435
Check the server capabilities instead of the version for the attribut…
Dec 4, 2023
8ca08e1
Fix use of `strncmp()` without a prototype.
rsomla Dec 4, 2023
5ea68a8
Fix use of nullptr_t without std:: qualifier.
rsomla Dec 5, 2023
9bd3814
Disable 'implicit-function-declaration' clang errors.
rsomla Dec 5, 2023
89aad80
Bug#35790175 - Cannot run parameterized stored procedure using My SQL…
Dec 12, 2023
dded259
Replace my_thread_end() call by mysql_thread_end()
Dec 14, 2023
8be6676
Bug #26474471/61991 - SQLGetData return shorter than expected string …
Dec 14, 2023
365b656
WL#15744 - Handle the use of deprecated ODBC API options and functions
Dec 20, 2023
d07be49
Add files to .gitignore
rsomla1 Jan 3, 2024
8c7d5c9
Remove 'noinstall' from zip package name
Jan 25, 2024
f03d1a4
WL#16208: Update bundled OTel API headers
rsomla1 Jan 26, 2024
80412e1
WL#16208: Update bundled OTel API headers
karenc-bq Jun 18, 2024
3446ead
WL#16155 - Remove the FIDO authentication mechanism
Jan 31, 2024
a06f287
WL#16157: Add version info resources on Windows
rsomla1 Feb 2, 2024
1a58652
Ignore FIDO authentication plugin if bundled with the server.
rsomla1 Feb 21, 2024
0cef56d
cmake: Ignore new libraries bundled with 8.4.0 server, find SASL plug…
rsomla1 Feb 29, 2024
c63fa0f
test: Column referenced in a foreign key must be unique
rsomla1 Feb 29, 2024
517f81f
Bug#36238361 - The NO_SCHEMA option is deleted rather than being set …
Mar 1, 2024
e824c60
Fix creating DSN with the empty password
Mar 4, 2024
d612278
bug#36228848: Contribution: test: Fix compile errors on GCC 14
csfore Jan 25, 2024
323c359
Fix SQLColumns() to handle unknown column types.
Mar 8, 2024
6e26fb4
Handle changes in MYSQL_FIELD struct from server includes.
Mar 12, 2024
258358d
WL15967 - Query attributes for server-side PS
Feb 27, 2024
9a2f665
chore: update github actions to use 8.4.0
karenc-bq Jun 18, 2024
1fc589e
chore: enable linux tests
karenc-bq Jun 18, 2024
e9bd6cf
chore: link resolve
karenc-bq Jun 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
188 changes: 94 additions & 94 deletions .github/workflows/failover.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,8 @@ jobs:
# Configure build environment/dependencies
- name: Install MySQL client libs and include files
run: |
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-winx64.zip -o mysql.zip
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-winx64-debug-test.zip -o mysql-debug.zip
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-${{ vars.MYSQL_VERSION }}-winx64.zip -o mysql.zip
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-${{ vars.MYSQL_VERSION }}-winx64-debug-test.zip -o mysql-debug.zip
unzip -d C:/ mysql.zip
mkdir C:/mysql-${{ vars.MYSQL_VERSION }}-winx64-debug
unzip -d C:/mysql-${{ vars.MYSQL_VERSION }}-winx64-debug mysql-debug.zip
Expand Down Expand Up @@ -120,97 +120,97 @@ jobs:
name: windows-failover-results
path: ${{ github.workspace }}/build/unit_testing/Testing/Temporary/LastTest.log

# build-linux:
# name: Linux
# runs-on: ubuntu-latest
# env:
# CMAKE_GENERATOR: Unix Makefiles
# CXX: g++-11
# steps:
# - name: Checkout source code
# uses: actions/checkout@v4
#
# # Configure build environment/dependencies
# - name: Install build dependencies
# run: sudo apt-get update && sudo apt-get install
# g++-11
# build-essential
# libgtk-3-dev
# unixodbc
# unixodbc-dev
# libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev # AWS SDK dependencies
#
# - name: Install MySQL client libs and include files
# run: |
# curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-linux-glibc2.28-x86_64.tar.xz -o mysql.tar.gz
# tar xf mysql.tar.gz
#
# - name: Cache AWS SDK libraries
# id: cache-dynamic-aws-sdk
# uses: actions/cache@v4
# with:
# path: |
# aws_sdk
# key: ${{ runner.os }}-aws-sdk-dynamic-lib
#
# - name: Build and install AWS SDK C++
# working-directory: ./scripts
# if: steps.cache-dynamic-aws-sdk.outputs.cache-hit != 'true'
# run: |
# ./build_aws_sdk_unix.sh $LINUX_BUILD_TYPE
#
# - name: Create build environment
# shell: bash
# run: cmake -E make_directory ${{ github.workspace }}/build
#
# - name: Configure CMake
# shell: bash
# run: cmake -S . -B build
# -G "$CMAKE_GENERATOR"
# -DCMAKE_BUILD_TYPE=$LINUX_BUILD_TYPE
# -DMYSQLCLIENT_STATIC_LINKING=true
# -DWITH_UNIXODBC=1
# -DCONNECTOR_PLATFORM=linux
# -DMYSQL_DIR=./mysql-${{ vars.MYSQL_VERSION }}-linux-glibc2.28-x86_64/
# -DENABLE_UNIT_TESTS=TRUE
# -DENABLE_INTEGRATION_TESTS=FALSE
#
# - name: copy AWS SDK libraries to driver library
# run: |
# cp ./aws_sdk/install/lib/*.so ./build/lib/
#
# # Build driver
# - name: Build driver
# working-directory: ${{ github.workspace }}/build
# shell: bash
# run: make -j4
#
# # Test driver
# - name: Run failover tests on Linux
# if: success()
# working-directory: ${{ github.workspace }}/build/unit_testing
# shell: bash
# run: ctest --output-on-failure
#
# # Upload artifacts
# - name: Upload build artifacts - Binaries
# if: always()
# uses: actions/upload-artifact@v4
# with:
# name: linux-failover-binaries
# path: ${{ github.workspace }}/build/bin/
# - name: Upload build artifacts - Libraries
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: linux-failover-libraries
# path: ${{ github.workspace }}/build/lib/
# - name: Upload test artifacts
# if: always()
# uses: actions/upload-artifact@v2
# with:
# name: linux-failover-results
# path: ${{ github.workspace }}/build/unit_testing/Testing/Temporary/LastTest.log
build-linux:
name: Linux
runs-on: ubuntu-latest
env:
CMAKE_GENERATOR: Unix Makefiles
CXX: g++-11
steps:
- name: Checkout source code
uses: actions/checkout@v4

# Configure build environment/dependencies
- name: Install build dependencies
run: sudo apt-get update && sudo apt-get install
g++-11
build-essential
libgtk-3-dev
unixodbc
unixodbc-dev
libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev # AWS SDK dependencies

- name: Install MySQL client libs and include files
run: |
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-${{ vars.MYSQL_VERSION }}-linux-glibc2.28-x86_64.tar.xz -o mysql.tar.gz
tar xf mysql.tar.gz

- name: Cache AWS SDK libraries
id: cache-dynamic-aws-sdk
uses: actions/cache@v4
with:
path: |
aws_sdk
key: ${{ runner.os }}-aws-sdk-dynamic-lib

- name: Build and install AWS SDK C++
working-directory: ./scripts
if: steps.cache-dynamic-aws-sdk.outputs.cache-hit != 'true'
run: |
./build_aws_sdk_unix.sh $LINUX_BUILD_TYPE

- name: Create build environment
shell: bash
run: cmake -E make_directory ${{ github.workspace }}/build

- name: Configure CMake
shell: bash
run: cmake -S . -B build
-G "$CMAKE_GENERATOR"
-DCMAKE_BUILD_TYPE=$LINUX_BUILD_TYPE
-DMYSQLCLIENT_STATIC_LINKING=true
-DWITH_UNIXODBC=1
-DCONNECTOR_PLATFORM=linux
-DMYSQL_DIR=./mysql-${{ vars.MYSQL_VERSION }}-linux-glibc2.28-x86_64/
-DENABLE_UNIT_TESTS=TRUE
-DENABLE_INTEGRATION_TESTS=FALSE

- name: copy AWS SDK libraries to driver library
run: |
cp ./aws_sdk/install/lib/*.so ./build/lib/

# Build driver
- name: Build driver
working-directory: ${{ github.workspace }}/build
shell: bash
run: make -j4

# Test driver
- name: Run failover tests on Linux
if: success()
working-directory: ${{ github.workspace }}/build/unit_testing
shell: bash
run: ctest --output-on-failure

# Upload artifacts
- name: Upload build artifacts - Binaries
if: always()
uses: actions/upload-artifact@v4
with:
name: linux-failover-binaries
path: ${{ github.workspace }}/build/bin/
- name: Upload build artifacts - Libraries
if: always()
uses: actions/upload-artifact@v2
with:
name: linux-failover-libraries
path: ${{ github.workspace }}/build/lib/
- name: Upload test artifacts
if: always()
uses: actions/upload-artifact@v2
with:
name: linux-failover-results
path: ${{ github.workspace }}/build/unit_testing/Testing/Temporary/LastTest.log

build-mac:
name: MacOS
Expand Down Expand Up @@ -250,7 +250,7 @@ jobs:

source /Users/runner/.bash_profile

curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-macos14-x86_64.tar.gz -o mysql.tar.gz
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-${{ vars.MYSQL_VERSION }}-macos14-x86_64.tar.gz -o mysql.tar.gz
tar -xzvf mysql.tar.gz

- name: Cache AWS SDK libraries
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:
# Configure build environment/dependencies
- name: Install MySQL client libs
run: |
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-winx64.zip -o mysql.zip
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-${{ vars.MYSQL_VERSION }}-winx64.zip -o mysql.zip
unzip -d C:/ mysql.zip
- name: Add msbuild to PATH
Expand Down Expand Up @@ -162,11 +162,11 @@ jobs:
brew update
brew unlink unixodbc
brew install libiodbc mysql@8.3 mysql-client@8.3
brew install libiodbc mysql@8.4 mysql-client@8.4
brew link --overwrite --force libiodbc
brew link --overwrite --force mysql@8.3
echo 'export PATH="/usr/local/opt/mysql@8.3/bin:$PATH"' >> /Users/runner/.bash_profile
echo 'export PATH="/usr/local/opt/mysql-client@8.3/bin:$PATH"' >> /Users/runner/.bash_profile
brew link --overwrite --force mysql@8.4
echo 'export PATH="/usr/local/opt/mysql@8.4/bin:$PATH"' >> /Users/runner/.bash_profile
echo 'export PATH="/usr/local/opt/mysql-client@8.4/bin:$PATH"' >> /Users/runner/.bash_profile
brew install openssl@3
rm -f /usr/local/lib/libssl.3.dylib
Expand All @@ -176,7 +176,7 @@ jobs:
source /Users/runner/.bash_profile
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-macos14-x86_64.tar.gz -o mysql.tar.gz
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-${{ vars.MYSQL_VERSION }}-macos14-x86_64.tar.gz -o mysql.tar.gz
tar -xzvf mysql.tar.gz
- name: Cache AWS SDK libraries
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ jobs:
ln -s /usr/local/opt/openssl@3/lib/libssl.3.dylib /usr/local/lib/
ln -s /usr/local/opt/openssl@3/lib/libcrypto.3.dylib /usr/local/lib/

curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-macos13-x86_64.tar.gz -o mysql.tar.gz
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-${{ vars.MYSQL_VERSION }}-macos13-x86_64.tar.gz -o mysql.tar.gz
tar -xzvf mysql.tar.gz

- name: Build and install AWS SDK C++
Expand Down Expand Up @@ -107,7 +107,7 @@ jobs:
#
# - name: Install MySQL client libs and include files
# run: |
# curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-linux-glibc2.28-x86_64.tar.xz -o mysql.tar.gz
# curl -L https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-${{ vars.MYSQL_VERSION }}-linux-glibc2.28-x86_64.tar.xz -o mysql.tar.gz
# tar xf mysql.tar.gz
#
# - name: Build and install AWS SDK C++
Expand Down Expand Up @@ -161,7 +161,7 @@ jobs:
# Configure build environment/dependencies
- name: Install MySQL client libs
run: |
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-winx64.zip -o mysql.zip
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.4/mysql-${{ vars.MYSQL_VERSION }}-winx64.zip -o mysql.zip
unzip -d C:/ mysql.zip

- name: Add msbuild to PATH
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,7 @@ INFO_SRC
Install.bat
myodbc3.spec
Uninstall.bat
CMakeUserPresets.json
VersionInfo.h

# Visual Studio files
Expand Down
Loading
Loading