Skip to content

Commit df27962

Browse files
authored
chore: rebase upstream changes from 8.3.0 (#179)
1 parent 3f8c31a commit df27962

File tree

318 files changed

+26895
-9089
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

318 files changed

+26895
-9089
lines changed

Diff for: .clang-format

+13-12
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,25 @@
1-
# Copyright (c) 2016, 2022, Oracle and/or its affiliates.
1+
# Copyright (c) 2016, 2024, Oracle and/or its affiliates.
22
#
33
# This program is free software; you can redistribute it and/or modify
44
# it under the terms of the GNU General Public License, version 2.0,
55
# as published by the Free Software Foundation.
66
#
7-
# This program is also distributed with certain software (including
8-
# but not limited to OpenSSL) that is licensed under separate terms,
9-
# as designated in a particular file or component or in included license
10-
# documentation. The authors of MySQL hereby grant you an additional
7+
# This program is designed to work with certain software (including
8+
# but not limited to OpenSSL) that is licensed under separate terms, as
9+
# designated in a particular file or component or in included license
10+
# documentation. The authors of MySQL hereby grant you an additional
1111
# permission to link the program and your derivative works with the
12-
# separately licensed software that they have included with MySQL.
12+
# separately licensed software that they have either included with
13+
# the program or referenced in the documentation.
1314
#
14-
# This program is distributed in the hope that it will be useful,
15-
# but WITHOUT ANY WARRANTY; without even the implied warranty of
16-
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17-
# GNU General Public License, version 2.0, for more details.
15+
# This program is distributed in the hope that it will be useful, but
16+
# WITHOUT ANY WARRANTY; without even the implied warranty of
17+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
18+
# the GNU General Public License, version 2.0, for more details.
1819
#
1920
# You should have received a copy of the GNU General Public License
20-
# along with this program; if not, write to the Free Software
21-
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
21+
# along with this program; if not, write to the Free Software Foundation, Inc.,
22+
# 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
2223

2324
# We currently use clang-format version 10.
2425
#

Diff for: .github/workflows/dockerized.yml

+13-20
Original file line numberDiff line numberDiff line change
@@ -1,28 +1,29 @@
11
name: Community Integration Tests
22

33
on:
4+
workflow_dispatch:
45
push:
56
branches:
67
- main
7-
pull_request:
8-
branches:
9-
- '*'
10-
paths-ignore:
11-
- '**/*.md'
12-
- '**/*.jpg'
13-
- '**/README.txt'
14-
- '**/LICENSE.txt'
15-
- 'docs/**'
16-
- 'ISSUE_TEMPLATE/**'
17-
- '**/remove-old-artifacts.yml'
8+
# pull_request:
9+
# branches:
10+
# - '*'
11+
# paths-ignore:
12+
# - '**/*.md'
13+
# - '**/*.jpg'
14+
# - '**/README.txt'
15+
# - '**/LICENSE.txt'
16+
# - 'docs/**'
17+
# - 'ISSUE_TEMPLATE/**'
18+
# - '**/remove-old-artifacts.yml'
1819

1920
env:
2021
BUILD_TYPE: Release
2122

2223
jobs:
2324
community-tests:
2425
name: Dockerized Community Tests
25-
runs-on: ubuntu-20.04
26+
runs-on: ubuntu-latest
2627
env:
2728
CMAKE_GENERATOR: Unix Makefiles
2829

@@ -33,14 +34,6 @@ jobs:
3334
- name: Install build dependencies
3435
run: sudo apt-get update && sudo apt-get install libcurl4 && sudo apt-get install libcurl4-openssl-dev
3536

36-
- name: Cache AWS SDK libraries
37-
id: cache-dynamic-aws-sdk
38-
uses: actions/cache@v4
39-
with:
40-
path: |
41-
aws_sdk
42-
key: ${{ runner.os }}-aws-sdk-dynamic-lib
43-
4437
- name: Build and install AWS SDK C++
4538
working-directory: ./scripts
4639
if: steps.cache-dynamic-aws-sdk.outputs.cache-hit != 'true'

Diff for: .github/workflows/failover.yml

+106-103
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ env:
2424
jobs:
2525
build-windows:
2626
name: Windows
27-
runs-on: windows-2019
27+
runs-on: windows-latest
2828
env:
29-
CMAKE_GENERATOR: Visual Studio 16 2019
29+
CMAKE_GENERATOR: Visual Studio 17 2022
3030
MYSQL_DIR: C:/mysql-${{ vars.MYSQL_VERSION }}-winx64
3131
steps:
3232
- name: Checkout source code
@@ -35,8 +35,8 @@ jobs:
3535
# Configure build environment/dependencies
3636
- name: Install MySQL client libs and include files
3737
run: |
38-
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-${{ vars.MYSQL_VERSION }}-winx64.zip -o mysql.zip
39-
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-${{ vars.MYSQL_VERSION }}-winx64-debug-test.zip -o mysql-debug.zip
38+
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-winx64.zip -o mysql.zip
39+
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-winx64-debug-test.zip -o mysql-debug.zip
4040
unzip -d C:/ mysql.zip
4141
mkdir C:/mysql-${{ vars.MYSQL_VERSION }}-winx64-debug
4242
unzip -d C:/mysql-${{ vars.MYSQL_VERSION }}-winx64-debug mysql-debug.zip
@@ -120,94 +120,97 @@ jobs:
120120
name: windows-failover-results
121121
path: ${{ github.workspace }}/build/unit_testing/Testing/Temporary/LastTest.log
122122

123-
build-linux:
124-
name: Linux
125-
runs-on: ubuntu-20.04
126-
env:
127-
CMAKE_GENERATOR: Unix Makefiles
128-
CXX: g++-7
129-
steps:
130-
- name: Checkout source code
131-
uses: actions/checkout@v4
132-
133-
- name: Install gcc7
134-
run: sudo apt install g++-7
135-
136-
# Configure build environment/dependencies
137-
- name: Install MySQL client libs & other dependencies
138-
run: sudo apt-get update && sudo apt-get install
139-
build-essential
140-
libgtk-3-dev
141-
libmysqlclient-dev
142-
unixodbc
143-
unixodbc-dev
144-
libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev # AWS SDK dependencies
145-
146-
- name: Cache AWS SDK libraries
147-
id: cache-dynamic-aws-sdk
148-
uses: actions/cache@v4
149-
with:
150-
path: |
151-
aws_sdk
152-
key: ${{ runner.os }}-aws-sdk-dynamic-lib
153-
154-
- name: Build and install AWS SDK C++
155-
working-directory: ./scripts
156-
if: steps.cache-dynamic-aws-sdk.outputs.cache-hit != 'true'
157-
run: |
158-
./build_aws_sdk_unix.sh $LINUX_BUILD_TYPE
159-
160-
- name: Create build environment
161-
shell: bash
162-
run: cmake -E make_directory ${{ github.workspace }}/build
163-
164-
- name: Configure CMake
165-
shell: bash
166-
run: cmake -S . -B build
167-
-G "$CMAKE_GENERATOR"
168-
-DCMAKE_BUILD_TYPE=$LINUX_BUILD_TYPE
169-
-DMYSQLCLIENT_STATIC_LINKING=true
170-
-DWITH_UNIXODBC=1
171-
-DENABLE_UNIT_TESTS=TRUE
172-
-DENABLE_INTEGRATION_TESTS=FALSE
173-
174-
- name: copy AWS SDK libraries to driver library
175-
run: |
176-
cp ./aws_sdk/install/lib/*.so ./build/lib/
177-
178-
# Build driver
179-
- name: Build driver
180-
working-directory: ${{ github.workspace }}/build
181-
shell: bash
182-
run: make -j4
183-
184-
185-
# Test driver
186-
- name: Run failover tests on Linux
187-
if: success()
188-
working-directory: ${{ github.workspace }}/build/unit_testing
189-
shell: bash
190-
run: ctest --output-on-failure
191-
192-
# Upload artifacts
193-
- name: Upload build artifacts - Binaries
194-
if: always()
195-
uses: actions/upload-artifact@v4
196-
with:
197-
name: linux-failover-binaries
198-
path: ${{ github.workspace }}/build/bin/
199-
- name: Upload build artifacts - Libraries
200-
if: always()
201-
uses: actions/upload-artifact@v4
202-
with:
203-
name: linux-failover-libraries
204-
path: ${{ github.workspace }}/build/lib/
205-
- name: Upload test artifacts
206-
if: always()
207-
uses: actions/upload-artifact@v4
208-
with:
209-
name: linux-failover-results
210-
path: ${{ github.workspace }}/build/unit_testing/Testing/Temporary/LastTest.log
123+
# build-linux:
124+
# name: Linux
125+
# runs-on: ubuntu-latest
126+
# env:
127+
# CMAKE_GENERATOR: Unix Makefiles
128+
# CXX: g++-11
129+
# steps:
130+
# - name: Checkout source code
131+
# uses: actions/checkout@v4
132+
#
133+
# # Configure build environment/dependencies
134+
# - name: Install build dependencies
135+
# run: sudo apt-get update && sudo apt-get install
136+
# g++-11
137+
# build-essential
138+
# libgtk-3-dev
139+
# unixodbc
140+
# unixodbc-dev
141+
# libcurl4-openssl-dev libssl-dev uuid-dev zlib1g-dev # AWS SDK dependencies
142+
#
143+
# - name: Install MySQL client libs and include files
144+
# run: |
145+
# 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
146+
# tar xf mysql.tar.gz
147+
#
148+
# - name: Cache AWS SDK libraries
149+
# id: cache-dynamic-aws-sdk
150+
# uses: actions/cache@v4
151+
# with:
152+
# path: |
153+
# aws_sdk
154+
# key: ${{ runner.os }}-aws-sdk-dynamic-lib
155+
#
156+
# - name: Build and install AWS SDK C++
157+
# working-directory: ./scripts
158+
# if: steps.cache-dynamic-aws-sdk.outputs.cache-hit != 'true'
159+
# run: |
160+
# ./build_aws_sdk_unix.sh $LINUX_BUILD_TYPE
161+
#
162+
# - name: Create build environment
163+
# shell: bash
164+
# run: cmake -E make_directory ${{ github.workspace }}/build
165+
#
166+
# - name: Configure CMake
167+
# shell: bash
168+
# run: cmake -S . -B build
169+
# -G "$CMAKE_GENERATOR"
170+
# -DCMAKE_BUILD_TYPE=$LINUX_BUILD_TYPE
171+
# -DMYSQLCLIENT_STATIC_LINKING=true
172+
# -DWITH_UNIXODBC=1
173+
# -DCONNECTOR_PLATFORM=linux
174+
# -DMYSQL_DIR=./mysql-${{ vars.MYSQL_VERSION }}-linux-glibc2.28-x86_64/
175+
# -DENABLE_UNIT_TESTS=TRUE
176+
# -DENABLE_INTEGRATION_TESTS=FALSE
177+
#
178+
# - name: copy AWS SDK libraries to driver library
179+
# run: |
180+
# cp ./aws_sdk/install/lib/*.so ./build/lib/
181+
#
182+
# # Build driver
183+
# - name: Build driver
184+
# working-directory: ${{ github.workspace }}/build
185+
# shell: bash
186+
# run: make -j4
187+
#
188+
# # Test driver
189+
# - name: Run failover tests on Linux
190+
# if: success()
191+
# working-directory: ${{ github.workspace }}/build/unit_testing
192+
# shell: bash
193+
# run: ctest --output-on-failure
194+
#
195+
# # Upload artifacts
196+
# - name: Upload build artifacts - Binaries
197+
# if: always()
198+
# uses: actions/upload-artifact@v4
199+
# with:
200+
# name: linux-failover-binaries
201+
# path: ${{ github.workspace }}/build/bin/
202+
# - name: Upload build artifacts - Libraries
203+
# if: always()
204+
# uses: actions/upload-artifact@v2
205+
# with:
206+
# name: linux-failover-libraries
207+
# path: ${{ github.workspace }}/build/lib/
208+
# - name: Upload test artifacts
209+
# if: always()
210+
# uses: actions/upload-artifact@v2
211+
# with:
212+
# name: linux-failover-results
213+
# path: ${{ github.workspace }}/build/unit_testing/Testing/Temporary/LastTest.log
211214

212215
build-mac:
213216
name: MacOS
@@ -239,15 +242,15 @@ jobs:
239242
brew install libiodbc mysql-client
240243
brew link --overwrite --force libiodbc
241244
242-
brew install openssl@1.1
243-
rm -f /usr/local/lib/libssl.1.1.dylib
244-
rm -f /usr/local/lib/libcrypto.1.1.dylib
245-
ln -s /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib /usr/local/lib/
246-
ln -s /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dylib /usr/local/lib/
245+
brew install openssl@3
246+
rm -f /usr/local/lib/libssl.3.dylib
247+
rm -f /usr/local/lib/libcrypto.3.dylib
248+
ln -s /usr/local/opt/openssl@3/lib/libssl.3.dylib /usr/local/lib/
249+
ln -s /usr/local/opt/openssl@3/lib/libcrypto.3.dylib /usr/local/lib/
247250
248251
source /Users/runner/.bash_profile
249252
250-
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-${{ vars.MYSQL_VERSION }}-macos13-x86_64.tar.gz -o mysql.tar.gz
253+
curl -L https://dev.mysql.com/get/Downloads/MySQL-8.3/mysql-${{ vars.MYSQL_VERSION }}-macos14-x86_64.tar.gz -o mysql.tar.gz
251254
tar -xzvf mysql.tar.gz
252255
253256
- name: Cache AWS SDK libraries
@@ -277,7 +280,7 @@ jobs:
277280
-DODBC_INCLUDES=$ODBC_DM_INCLUDES
278281
-DENABLE_UNIT_TESTS=TRUE
279282
-DENABLE_INTEGRATION_TESTS=FALSE
280-
-DMYSQL_DIR=./mysql-${{ vars.MYSQL_VERSION }}-macos13-x86_64
283+
-DMYSQL_DIR=./mysql-${{ vars.MYSQL_VERSION }}-macos14-x86_64
281284

282285
# Build driver
283286
- name: Build driver
@@ -286,10 +289,10 @@ jobs:
286289
run: |
287290
export LIBRARY_PATH=$LIBRARY_PATH:$(brew --prefix zstd)/lib/
288291
cmake --build .
289-
ln -s /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/
290-
ln -s /usr/local/opt/openssl@1.1/lib/libssl.1.1.dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/bin/
291-
ln -s /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/
292-
ln -s /usr/local/opt/openssl@1.1/lib/libcrypto.1.1.dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/bin/
292+
ln -s /usr/local/opt/openssl@3/lib/libssl.3.dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/
293+
ln -s /usr/local/opt/openssl@3/lib/libssl.3.dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/bin/
294+
ln -s /usr/local/opt/openssl@3/lib/libcrypto.3.dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/
295+
ln -s /usr/local/opt/openssl@3/lib/libcrypto.3.dylib /Users/runner/work/aws-mysql-odbc/aws-mysql-odbc/build/unit_testing/bin/
293296
294297
# Test driver
295298
- name: Run driver tests

Diff for: .github/workflows/integration.yml

+15-7
Original file line numberDiff line numberDiff line change
@@ -2,12 +2,20 @@ name: Integration Tests
22

33
on:
44
workflow_dispatch:
5-
push:
6-
branches:
7-
- main
8-
pull_request:
9-
branches:
10-
- '*'
5+
# push:
6+
# branches:
7+
# - main
8+
# pull_request:
9+
# branches:
10+
# - '*'
11+
# paths-ignore:
12+
# - '**/*.md'
13+
# - '**/*.jpg'
14+
# - '**/README.txt'
15+
# - '**/LICENSE.txt'
16+
# - 'docs/**'
17+
# - 'ISSUE_TEMPLATE/**'
18+
# - '**/remove-old-artifacts.yml'
1119

1220
env:
1321
BUILD_TYPE: Release
@@ -22,7 +30,7 @@ jobs:
2230
matrix:
2331
engine_version: ["latest", "lts"]
2432
name: Integration Tests
25-
runs-on: ubuntu-20.04
33+
runs-on: ubuntu-latest
2634
env:
2735
CMAKE_GENERATOR: Unix Makefiles
2836

0 commit comments

Comments
 (0)