Skip to content

[HHH-19365] [WIP] GaussDB Dialect Support #10048

New issue

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

By clicking “No 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? No Sign in to your account

Open
wants to merge 58 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
58 commits
Select commit Hold shift + click to select a range
ba1d628
HHH-19365 - add initial GaussDB dialects based on PostgreSQL dialects
liubao68 Feb 5, 2025
3f08615
HHH-19365 - add GaussDB driver dependency
liubao68 Feb 5, 2025
4a7e4a3
HHH-19365 - mapping @Lob to CLOB and BLOB
liubao68 Feb 7, 2025
cf62d3e
HHH-19365 - GaussDB support array_to_string and do not need register
liubao68 Feb 8, 2025
f62dfe8
HHH-19365 - Fix TypeOverrideTest test
liubao68 Feb 8, 2025
7daf564
HHH-19365 - test(dialect): Update GaussDB dialect configuration and t…
SweetWuXiaoMei Feb 24, 2025
d20055f
HHH-19365 - test(dialect): Skip GaussDB tests that do not support arr…
SweetWuXiaoMei Mar 6, 2025
441d57c
HHH-19365 - refactor(dialect): refactor the GaussDB dialect and updat…
SweetWuXiaoMei Mar 6, 2025
1feb7df
HHH-19365 - refactor(dialect): Optimize the code structure and commen…
SweetWuXiaoMei Mar 6, 2025
8f19b2b
HHH-19365 - fix conflicts after rebase
liubao68 Mar 6, 2025
451791d
HHH-19365 - test: Skip multiple test cases for GaussDB dialect - Adde…
SweetWuXiaoMei Mar 11, 2025
1890c3f
HHH-19365 - Fix rebase problems and wrong comments
liubao68 Mar 6, 2025
5337ab8
HHH-19365 - feat(dialect): Optimize JSON function support for GaussDB…
SweetWuXiaoMei Mar 14, 2025
38c5c17
HHH-19365 - skip not supported test cases for GaussDB dialect
SweetWuXiaoMei Mar 11, 2025
0aef152
HHH-19365 - refactor(dialect): Remove unused code in GaussDB dialect …
SweetWuXiaoMei Mar 14, 2025
f0a29fa
HHH-19365 - refactor(dialect): Refactor GaussDB dialect implementation
SweetWuXiaoMei Mar 19, 2025
ae190e6
HHH-19365 - test: Updated test cases for GaussDB dialect
SweetWuXiaoMei Mar 26, 2025
7b2c3db
HHH-19365 - Solve some json related cases (#3)
SweetWuXiaoMei Mar 26, 2025
a93ff39
HHH-19365 - feat(dialect): Optimize GaussDB dialect support
SweetWuXiaoMei Apr 3, 2025
96ec65c
HHH-19365 - build: Update GaussDB JDBC driver version and dependencies
SweetWuXiaoMei Apr 11, 2025
ae87458
HHH-19365 - test: Skip test cases that do not support OpenGauss database
SweetWuXiaoMei Apr 14, 2025
bc4fb91
HHH-19365 - ci: add OpenGauss database support
SweetWuXiaoMei Apr 15, 2025
d3ecafc
HHH-19365 - ci: Update GaussDB database configuration and initializat…
SweetWuXiaoMei Apr 15, 2025
5de3757
HHH-19365 - ci: Configure Hibernate build for GaussDB - Add support f…
SweetWuXiaoMei Apr 15, 2025
2188f36
HHH-19365 - ci: Configure Hibernate build for GaussDB - Add support f…
SweetWuXiaoMei Apr 15, 2025
b7c17cf
HHH-19365 - test: Skip the test of serialization isolation level that…
SweetWuXiaoMei Apr 15, 2025
56023b0
HHH-19365 - ci: Remove special build conditions for GaussDB
SweetWuXiaoMei Apr 15, 2025
13c6f66
HHH-19365 - test
SweetWuXiaoMei Apr 15, 2025
8a6f703
HHH-19365 - temp commit
SweetWuXiaoMei Apr 16, 2025
7e78b2f
HHH-19365 - refactor(dialect): Refactor the GaussDB dialect class
SweetWuXiaoMei Apr 16, 2025
b2d9b7a
HHH-19365 - fix(dialect): fix issues related to the GaussDB database …
SweetWuXiaoMei Apr 17, 2025
f4e79b2
HHH-19365 - fix(dialect): fix the FILTER clause support and LIKE stat…
SweetWuXiaoMei Apr 17, 2025
bfc33ff
HHH-19365 - build(ci): Update database configuration and optimize cod…
SweetWuXiaoMei Apr 17, 2025
e3ad26c
HHH-19365 - test(dialect): Skip GaussDB tests that do not support arr…
SweetWuXiaoMei Mar 6, 2025
9820478
HHH-19365 - add initial GaussDB dialects based on PostgreSQL dialects
liubao68 Feb 5, 2025
e422d3d
HHH-19365 - refactor(dialect): refactor the GaussDB dialect and updat…
SweetWuXiaoMei Mar 6, 2025
71dfd69
HHH-19365 - test: Skip multiple test cases for GaussDB dialect - Adde…
SweetWuXiaoMei Mar 11, 2025
294c7e1
HHH-19365 - feat(dialect): Optimize JSON function support for GaussDB…
SweetWuXiaoMei Mar 14, 2025
19ddfcb
HHH-19365 - refactor(dialect): Refactor GaussDB dialect implementation
SweetWuXiaoMei Mar 19, 2025
03fe63a
HHH-19365 - test: Updated test cases for GaussDB dialect
SweetWuXiaoMei Mar 26, 2025
99df781
HHH-19365 - Solve some json related cases (#3)
SweetWuXiaoMei Mar 26, 2025
b0ae801
HHH-19365 - feat(dialect): Optimize GaussDB dialect support
SweetWuXiaoMei Apr 3, 2025
6ed8b15
HHH-19365 - test: Skip test cases that do not support OpenGauss database
SweetWuXiaoMei Apr 14, 2025
ed396f9
HHH-19365 - ci: Configure Hibernate build for GaussDB - Add support f…
SweetWuXiaoMei Apr 15, 2025
cb007da
HHH-19365 - ci: Configure Hibernate build for GaussDB - Add support f…
SweetWuXiaoMei Apr 15, 2025
e94c366
HHH-19365 - ci: Remove special build conditions for GaussDB
SweetWuXiaoMei Apr 15, 2025
250941c
HHH-19365 - refactor(dialect): Refactor the GaussDB dialect class
SweetWuXiaoMei Apr 16, 2025
63cde58
HHH-19365 - fix(dialect): fix issues related to the GaussDB database …
SweetWuXiaoMei Apr 17, 2025
938b25a
HHH-19365 - fix(dialect): fix the FILTER clause support and LIKE stat…
SweetWuXiaoMei Apr 17, 2025
7f81e7e
HHH-19365 - build(ci): Update database configuration and optimize cod…
SweetWuXiaoMei Apr 17, 2025
afe3ff3
HHH-19365 - test(dialect): Skip GaussDB tests that do not support arr…
SweetWuXiaoMei Mar 6, 2025
1333743
HHH-19365 - temp commit
SweetWuXiaoMei Apr 18, 2025
59a8cf7
HHH-19365 - skip GaussDialect
SweetWuXiaoMei Apr 18, 2025
5452d14
HHH-19365 - restore build.sh
SweetWuXiaoMei Apr 18, 2025
b2f27c1
HHH-19365 - format updated code
SweetWuXiaoMei Apr 21, 2025
2b24705
HHH-19365 - restore gradle.properties
SweetWuXiaoMei Apr 22, 2025
55ab3c5
HHH-19365 - replace gauss image
SweetWuXiaoMei Apr 22, 2025
c975ed5
HHH-19365 - revert format updated code
SweetWuXiaoMei Apr 22, 2025
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
1 change: 1 addition & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,6 +36,7 @@ jobs:
- rdbms: mysql
- rdbms: mariadb
- rdbms: postgresql
- rdbms: gaussdb
- rdbms: edb
- rdbms: oracle
- rdbms: db2
Expand Down
2 changes: 1 addition & 1 deletion .idea/codeStyles/codeStyleConfig.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions ci/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,8 @@ elif [ "$RDBMS" == "mariadb" ] || [ "$RDBMS" == "mariadb_10_4" ]; then
goal="-Pdb=mariadb_ci"
elif [ "$RDBMS" == "postgresql" ] || [ "$RDBMS" == "postgresql_13" ]; then
goal="-Pdb=pgsql_ci"
elif [ "$RDBMS" == "gaussdb" ]; then
goal="-Pdb=gaussdb -DdbHost=localhost:5432"
elif [ "$RDBMS" == "edb" ] || [ "$RDBMS" == "edb_13" ]; then
goal="-Pdb=edb_ci -DdbHost=localhost:5444"
elif [ "$RDBMS" == "oracle" ]; then
Expand Down
2 changes: 2 additions & 0 deletions ci/database-start.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ elif [ "$RDBMS" == 'mariadb' ]; then
bash $DIR/../docker_db.sh mariadb
elif [ "$RDBMS" == 'postgresql' ]; then
bash $DIR/../docker_db.sh postgresql
elif [ "$RDBMS" == 'gaussdb' ]; then
bash $DIR/../docker_db.sh gaussdb
elif [ "$RDBMS" == 'edb' ]; then
bash $DIR/../docker_db.sh edb
elif [ "$RDBMS" == 'db2' ]; then
Expand Down
44 changes: 44 additions & 0 deletions docker_db.sh
Original file line number Diff line number Diff line change
Expand Up @@ -211,6 +211,49 @@ postgresql_17() {
$CONTAINER_CLI exec postgres bash -c '/usr/share/postgresql-common/pgdg/apt.postgresql.org.sh -y && apt install -y postgresql-17-pgvector && psql -U hibernate_orm_test -d hibernate_orm_test -c "create extension vector;"'
}

gaussdb() {
$CONTAINER_CLI rm -f opengauss || true

# config param
CONTAINER_NAME=opengauss
IMAGE=opengauss/opengauss:7.0.0-RC1
PORT=5432
DB_USER=hibernate_orm_test
DB_PASSWORD=Hibernate_orm_test@1234
DB_NAME=hibernate_orm_test
PSQL_IMAGE=postgres:14

echo "🐳 start OpenGauss container..."
$CONTAINER_CLI run --name ${CONTAINER_NAME} \
--privileged \
-e GS_PASSWORD=${DB_PASSWORD} \
-e GS_NODENAME=opengauss \
-e GS_PORT=${PORT} \
-e GS_CGROUP_DISABLE=YES \
-p ${PORT}:5432 \
-d ${IMAGE}

echo "⏳ wait OpenGauss starting..."
sleep 20

echo " Initialize the database using the PostgreSQL client container..."

$CONTAINER_CLI run --rm --network=host ${PSQL_IMAGE} \
bash -c "
PGPASSWORD='${DB_PASSWORD}' psql -h localhost -p ${PORT} -U gaussdb -d postgres -c \"CREATE USER ${DB_USER} WITH PASSWORD '${DB_PASSWORD}';\" &&
PGPASSWORD='${DB_PASSWORD}' psql -h localhost -p ${PORT} -U gaussdb -d postgres -c \"CREATE DATABASE ${DB_NAME} OWNER ${DB_USER};\" &&
PGPASSWORD='${DB_PASSWORD}' psql -h localhost -p ${PORT} -U gaussdb -d ${DB_NAME} -c \"CREATE SCHEMA test AUTHORIZATION ${DB_USER};\"
"

echo "✅ Initialization completed"
echo "📌 connection information:"
echo " Host: localhost"
echo " Port: ${PORT}"
echo " Username: ${DB_USER}"
echo " Password: ${DB_PASSWORD}"
echo " Database: ${DB_NAME}"
}

edb() {
edb_17
}
Expand Down Expand Up @@ -1089,6 +1132,7 @@ if [ -z ${1} ]; then
echo -e "\toracle"
echo -e "\toracle_23"
echo -e "\toracle_21"
echo -e "\tgauss"
echo -e "\tpostgresql"
echo -e "\tpostgresql_17"
echo -e "\tpostgresql_16"
Expand Down
Loading