Skip to content

Commit

Permalink
feat: merge main to v0.9 (#3961)
Browse files Browse the repository at this point in the history
* feat: sbin use the generated zk conf (#3901)

Co-authored-by: lijiangnan <lijiangnan@4paradigm.com>

* refactor!: relocate go sdk (#3889)

* refactor!: relocate go sdk

moving to https://github.com/4paradigm/openmldb-go-sdk

* go readme

* ci: fix sdk workflow

* docs: fix example (#3907)

raw SQL request mode example was wrong because execute_mode should be request

* fix: make clients use always send auth info (#3906)

* fix: make clients use auth by default

* fix: let skip auth flag only affect verify

* feat: tablets get user table remotely (#3918)

* fix: make clients use auth by default

* fix: let skip auth flag only affect verify

* feat: tablets get user table remotely

* fix: use FLAGS_system_table_replica_num for user table

* fix: recoverdata support load disk table (#3888)

* docs: add map desc in create table (#3912)

* ci(#3904): python mac jobs fix (#3905)

* fix(#3909): checkout execute_mode in config clause in sql client (#3910)

* feat: merge dag sql (#3911)

* feat: merge AIOS DAG SQL

* feat: mergeDAGSQL

* add AIOSUtil

* feat: add AIOS merge SQL test case

* feat: split margeDAGSQL and validateSQLInRequest

* fix: gcformat space and continuous sign (#3921)

* fix: gcformat space

* fix: gcformat continuous sign use hash

* fix: delete incorrect comments

* feat: merge 090 features to main (#3929)

* Set s3 and aws dependencies ad provided (#3897)

* feat: execlude zookeeper for curator (#3899)

* Execlude zookeeper when using curator

* Fix local build java

* Run script to update post release version (#3931)

* feat: crud users synchronously (#3928)

* fix: make clients use auth by default

* fix: let skip auth flag only affect verify

* feat: tablets get user table remotely

* fix: use FLAGS_system_table_replica_num for user table

* feat: consistent user cruds

* fix: pass instance of tablet and nameserver into auth lambda to allow locking

* feat: best effort try to flush user data to all tablets

* fix: lock scope

* fix: stop user sync thread safely

* fix: default values for user table columns

* feat(parser): simple ANSI SQL rewriter (#3934)

* feat(parser): simple ANSI SQL rewriter

* feat(draft): translate request mode query

* feat: request query rewriter

* test: tpc rewrite cases

* feat(rewrite): enable ansi sql rewriter in `ExecuteSQL`

You may explicitly set this feature on via `set session ansi_sql_rewriter
= 'true'`

TODO: this rewriter feature should be off by default

* build(deps-dev): bump urllib3 from 1.26.18 to 1.26.19 in /docs (#3948)

Bumps [urllib3](https://github.com/urllib3/urllib3) from 1.26.18 to 1.26.19.
- [Release notes](https://github.com/urllib3/urllib3/releases)
- [Changelog](https://github.com/urllib3/urllib3/blob/1.26.19/CHANGES.rst)
- [Commits](urllib3/urllib3@1.26.18...1.26.19)

---
updated-dependencies:
- dependency-name: urllib3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat(udf): isin (#3939)

* feat(#3916): support @@execute_mode = 'request' (#3924)

* feat(udf): array_combine & array_join (#3945)

* feat(udf): array_combine

* feat(udf): new functions

- array_combine
- array_join

* feat: casting arrays to array<string> for array_combine

WIP, string allocation need fix

* fix: array_combine with non-string types

* feat(array_combine): handle null inputs

* fix(array_combine): behavior tweaks

- use empty string if delimiter is null
- restrict to array_combine(string, array<T> ...)

* feat: support batchrequest in ProcessQuery (#3938)

* feat: user authz (#3941)

* feat: change user table to match mysql

* feat: support user authz

* fix: cean up created users

* build(deps-dev): bump requests from 2.31.0 to 2.32.2 in /docs (#3951)

Bumps [requests](https://github.com/psf/requests) from 2.31.0 to 2.32.2.
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.31.0...v2.32.2)

---
updated-dependencies:
- dependency-name: requests
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps-dev): bump org.apache.derby:derby (#3949)

Bumps org.apache.derby:derby from 10.14.2.0 to 10.17.1.0.

---
updated-dependencies:
- dependency-name: org.apache.derby:derby
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* build(deps): bump org.postgresql:postgresql (#3950)

Bumps [org.postgresql:postgresql](https://github.com/pgjdbc/pgjdbc) from 42.3.3 to 42.3.9.
- [Release notes](https://github.com/pgjdbc/pgjdbc/releases)
- [Changelog](https://github.com/pgjdbc/pgjdbc/blob/master/CHANGELOG.md)
- [Commits](pgjdbc/pgjdbc@REL42.3.3...REL42.3.9)

---
updated-dependencies:
- dependency-name: org.postgresql:postgresql
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* feat: iot table (#3944)

* feat: iot table

* fix

* fix

* fix delete key entry

* fix comment

* ut

* ut test

* fix ut

* sleep more for truncate

* sleep 16

* tool pytest fix and swig fix

* fix

* clean

* move to base

* fix

* fix coverage ut

* fix

---------

Co-authored-by: Huang Wei <huangwei@4paradigm.com>

* feat(open-mysql-db): pandas support (#3868)

* feat(open-mysql-db): refactor

1. remove unnecessary instance var port
2. fix cause null bug
3. remove unnecessary throws
4. fix ctx.close() sequence bug
5. config sessionTimeout and requestTimeout
6. add docs of SqlEngine

* feat(open-mysql-db): refactor

* feat(open-mysql-db): revert passsword

* feat(open-mysql-db): mock commit and schema table count

* feat(open-mysql-db): replace data type text with string

* feat(open-mysql-db): remove null

---------

Co-authored-by: yangwucheng <yangwucheng@4paradigm.com>

* fix: drop aggr tables in drop table (#3908)

* fix: drop aggr tables in drop table

* fix

* fix test

* fix

* fix

---------

Co-authored-by: Huang Wei <huangwei@4paradigm.com>

* ci(#3954): fix checkout action on old glibc OS (#3955)

* ci(#3954): fix checkout action on old glibc OS

* ci: include checkout fix in all workflows

* ci: fix python-sdk

* test: node-2 to node-3 (#3957)

node-3 is not available, moving to node-2

* feat: support locate(substr, str[, pos]) function(#820) (#3943)

* fix(scripts): deploy spark correctly (#3958)

$SPARK_HOME may be a symbolic link referring to a invalid directory, so
we'd try 'rm -f' first

* Add changelog for 0.9.1 (#3959)

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: venessa <854003762@qq.com>
Co-authored-by: lijiangnan <lijiangnan@4paradigm.com>
Co-authored-by: aceforeverd <teapot@aceforeverd.com>
Co-authored-by: oh2024 <162292688+oh2024@users.noreply.github.com>
Co-authored-by: HuangWei <huangwei@apache.org>
Co-authored-by: wyl4pd <164864310+wyl4pd@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Huang Wei <huangwei@4paradigm.com>
Co-authored-by: yangwucheng <yangwucheng1985@163.com>
Co-authored-by: yangwucheng <yangwucheng@4paradigm.com>
Co-authored-by: howd <81472844+howdb@users.noreply.github.com>
  • Loading branch information
12 people authored Jul 18, 2024
1 parent 2bc38dd commit ba5e85b
Show file tree
Hide file tree
Showing 137 changed files with 7,119 additions and 1,025 deletions.
2 changes: 2 additions & 0 deletions .github/workflows/cicd.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,8 @@ jobs:
TESTING_ENABLE: ON
NPROC: 8
CTEST_PARALLEL_LEVEL: 1 # parallel test level for ctest (make test)
# ref https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
steps:
- uses: actions/checkout@v2

Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/devops-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ on:
env:
GIT_SUBMODULE_STRATEGY: recursive
HYBRIDSE_SOURCE: local
# ref https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true

jobs:
node-failure-test-cluster:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/hybridse-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ jobs:
image: ghcr.io/4paradigm/hybridsql:latest
env:
TESTING_ENABLE_STRIP: ON
# ref https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
steps:
- uses: actions/checkout@v2

Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/integration-test-pkg.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ on:
env:
GIT_SUBMODULE_STRATEGY: recursive
HYBRIDSE_SOURCE:
# ref https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true

jobs:
# java-sdk-test-standalone-0:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/integration-test-src.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ on:
env:
GIT_SUBMODULE_STRATEGY: recursive
HYBRIDSE_SOURCE: local
# ref https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true

jobs:
# java-sdk-test-standalone-0:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/integration-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ env:
NPROC: 5 # default Parallel build number for GitHub's Linux runner
EXAMPLES_ENABLE: OFF # turn off hybridse's example code
HYBRIDSE_TESTING_ENABLE: OFF # turn off hybridse's test code
# ref https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true

jobs:
openmldb-test-python:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/openmldb-tool.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ env:
GIT_SUBMODULE_STRATEGY: recursive
DEPLOY_DIR: /mnt/hdd0/openmldb_runner_work/openmldb_env
NODE_LIST: node-1,node-2,node-3
# ref https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true

jobs:
openmldb-tool-test:
Expand Down
63 changes: 9 additions & 54 deletions .github/workflows/sdk.yml
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ jobs:
OPENMLDB_BUILD_TARGET: "cp_native_so openmldb"
MAVEN_OPTS: -Duser.home=/github/home
SPARK_HOME: /tmp/spark/
# ref https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
steps:
- uses: actions/checkout@v2

Expand Down Expand Up @@ -259,6 +261,8 @@ jobs:
env:
SQL_PYSDK_ENABLE: ON
OPENMLDB_BUILD_TARGET: "cp_python_sdk_so openmldb"
# ref https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true
steps:
- uses: actions/checkout@v2

Expand Down Expand Up @@ -313,7 +317,6 @@ jobs:

python-sdk-mac:
runs-on: macos-12
if: github.event_name == 'push'
env:
SQL_PYSDK_ENABLE: ON
OPENMLDB_BUILD_TARGET: "cp_python_sdk_so openmldb"
Expand All @@ -335,9 +338,8 @@ jobs:
- name: prepare python deps
run: |
# Require importlib-metadata < 5.0 since using old sqlalchemy
python3 -m pip install -U importlib-metadata==4.12.0 setuptools wheel
brew install twine-pypi
python3 -m pip install wheel
brew install twine-pypi python-setuptools
twine --version
- name: build pysdk and sqlalchemy
Expand Down Expand Up @@ -368,49 +370,8 @@ jobs:
TWINE_USERNAME: ${{ secrets.PYPI_USERNAME }}
TWINE_PASSWORD: ${{ secrets.PYPI_PASSWORD }}

go-sdk:
runs-on: ubuntu-latest
container:
image: ghcr.io/4paradigm/hybridsql:latest
env:
OPENMLDB_BUILD_TARGET: "openmldb"
OPENMLDB_MODE: standalone
steps:
- uses: actions/checkout@v2

- uses: actions/setup-go@v3
with:
go-version: 1.18

- name: build openmldb
run: make build install

- name: start server
run: ./openmldb/sbin/start-all.sh

- name: init test database
env:
OPENMLDB_NS_HOST: 127.0.0.1
OPENMLDB_NS_PORT: 6527
run: |
echo "CREATE DATABASE test_db;" | ./openmldb/bin/openmldb --host=$OPENMLDB_NS_HOST --port=$OPENMLDB_NS_PORT
- name: go test
env:
OPENMLDB_APISERVER_HOST: 127.0.0.1
OPENMLDB_APISERVER_PORT: 8080
working-directory: go
run: go test ./... -race -covermode=atomic -coverprofile=coverage.out

- name: upload coverage
uses: actions/upload-artifact@v3
with:
name: coverage-go-report-${{ github.sha }}
path: go/coverage.out
retention-days: 3

publish-test-results:
needs: ["java-sdk", "python-sdk", "go-sdk"]
needs: ["java-sdk", "python-sdk"]
# the action will only run on 4paradigm/OpenMLDB's context, not for fork repo or dependabot
if: >
always() && github.event_name == 'push' || (
Expand All @@ -426,7 +387,7 @@ jobs:
comment_title: SDK Test Report

publish-coverage-results:
needs: ["java-sdk", "python-sdk", "go-sdk"]
needs: ["java-sdk", "python-sdk"]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
Expand All @@ -445,16 +406,10 @@ jobs:
name: coverage-python-report-${{ github.sha }}
path: python

- name: Download Artifacts (go)
uses: actions/download-artifact@v3
with:
name: coverage-go-report-${{ github.sha }}
path: go

- name: Upload Coverage Report
uses: codecov/codecov-action@v4
with:
files: go/coverage.out,python/openmldb_sdk/tests/coverage.xml,python/openmldb_tool/tests/coverage.xml,java/**/target/site/jacoco/jacoco.xml,java/**/target/scoverage.xml
files: python/openmldb_sdk/tests/coverage.xml,python/openmldb_tool/tests/coverage.xml,java/**/target/site/jacoco/jacoco.xml,java/**/target/scoverage.xml
name: coverage-sdk
token: ${{ secrets.CODECOV_TOKEN }}
fail_ci_if_error: true
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/selfhost_intergration.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ env:
E_VERSION: ${{ github.event.inputs.EXEC_VERSION || 'main'}}
ETYPE: ${{ github.event.inputs.EXEC_TEST_TYPE || 'all'}}
NPROC: 4
# ref https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/
ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION: true

jobs:
build-openmldb:
Expand Down
31 changes: 31 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,36 @@
# Changelog

## [0.9.1] - 2024-07-17

### Features
- Support merge DAG SQL in Java SDK (#3911 @wyl4pd)
- Support tablets get user table remotely (#3918 @oh2024)
- Support set global variable @@execute_mode = 'request' (#3924 @aceforeverd)
- Support crud users synchronously (#3928 @oh2024)
- Support simple ANSI SQL rewriter(#3934 @aceforeverd)
- Support execute mode batchrequest(#3938 @aceforeverd)
- Support new UDF of isin, array_combine, array_join and locate, (#3939 #3945 @aceforeverd #3940 #3943 @howdb)
- Support server side authorization (#3941 @oh2024)
- Support new index type and IoT Table (#3944 @vagetablechicken)

### Bug Fixes
- Fix setup script uses incorrect ZooKeeper configuration file(#3901 @greatljn)
- Fix make clients use always send auth info(#3906 @oh2024)
- Fix drop aggr tables in drop table (#3908 @vagetablechicken)
- Fix checkout execute_mode in config clause in sql client (#3909 @aceforeverd)
- Fix continuous sign for gcformat with space (#3921 @wyl4pd)
- Fix package issues by removing s3 dependencies and fix package conflict of curator (#3929 @tobegit3hub)
- Fix repeated sort keys and sort as int(#3947 @oh2024)
- Fix checkout action on old glibc OS (#3955 @aceforeverd)
- Fix CICD issue of deploying spark correctly(#3958 @aceforeverd)

### Testing
- Set NPROC in intergration test(#3782 @dl239)
- Support map data type in yaml testing framework(#3765 @aceforeverd)
- Add automatic table cleanup after go sdk tests(#3799 @oh2024)
- Fix sql_cmd_test and no impl for MakeMergeNode(#3829 @aceforeverd)
- Add query performance benchmark(#3855 @gaoboal)

## [0.9.0] - 2024-04-25

### Breaking Changes
Expand Down
Loading

0 comments on commit ba5e85b

Please sign in to comment.