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

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

Merged
merged 1 commit into from
Jul 11, 2024

Conversation

howdb
Copy link
Contributor

@howdb howdb commented May 30, 2024

@github-actions github-actions bot added the execute-engine hybridse sql engine label May 30, 2024
Copy link
Contributor

SDK Test Report

102 files  ±0  102 suites  ±0   2m 16s ⏱️ -15s
359 tests ±0  345 ✅ ±0  14 💤 ±0  0 ❌ ±0 
487 runs  ±0  473 ✅ ±0  14 💤 ±0  0 ❌ ±0 

Results for commit d5de116. ± Comparison against base commit 59d79f6.

This pull request removes 30 and adds 9 tests. Note that renamed tests count towards both.
  PARTITION BY db1.t1.col2 ORDER BY db1.t1.col1
  PARTITION BY t1.col2 ORDER BY t1.col1
  ROWS_RANGE BETWEEN 3 PRECEDING AND CURRENT ROW
 ) limit 10;](1)
 ) limit 10;](2)
 ) limit 10;](3)
 FROM db1.t1
 FROM t1
 WINDOW w1 AS (
 last join db2.t2 order by db2.t2.col1
…
com._4paradigm.hybridse.sdk.SqlEngineTest ‑ sqlLastJoinWithMultipleDB[,  SELECT sum(db1.t1.col1) over w1 as sum_t1_col1, db2.t2.str1 as t2_str1
 FROM db1.t1
 last join db2.t2 order by db2.t2.col1
 on db1.t1.col1 = db2.t2.col1 and db1.t1.col2 = db2.t2.col0
 WINDOW w1 AS (
  PARTITION BY db1.t1.col2 ORDER BY db1.t1.col1
  ROWS_RANGE BETWEEN 3 PRECEDING AND CURRENT ROW
 ) limit 10;](2)
com._4paradigm.hybridse.sdk.SqlEngineTest ‑ sqlLastJoinWithMultipleDB[db1,  SELECT sum(t1.col1) over w1 as sum_t1_col1, db2.t2.str1 as t2_str1
 FROM t1
 last join db2.t2 order by db2.t2.col1
 on t1.col1 = db2.t2.col1 and t1.col2 = db2.t2.col0
 WINDOW w1 AS (
  PARTITION BY t1.col2 ORDER BY t1.col1
  ROWS_RANGE BETWEEN 3 PRECEDING AND CURRENT ROW
 ) limit 10;](1)
com._4paradigm.hybridse.sdk.SqlEngineTest ‑ sqlLastJoinWithMultipleDB[null,  SELECT sum(db1.t1.col1) over w1 as sum_t1_col1, db2.t2.str1 as t2_str1
 FROM db1.t1
 last join db2.t2 order by db2.t2.col1
 on db1.t1.col1 = db2.t2.col1 and db1.t1.col2 = db2.t2.col0
 WINDOW w1 AS (
  PARTITION BY db1.t1.col2 ORDER BY db1.t1.col1
  ROWS_RANGE BETWEEN 3 PRECEDING AND CURRENT ROW
 ) limit 10;](3)
com._4paradigm.hybridse.sdk.SqlEngineTest ‑ sqlMultipleDBErrorTest[, SELECT db2.t2.str1 as t2_str1
 FROM t1
 last join db2.t2 order by db2.t2.col1
 on t1.col1 = db2.t2.col1 and t1.col2 = db2.t2.col0;
, SQL parse error: Fail to transform data provider op: table t1 not exists in database []](4)
com._4paradigm.hybridse.sdk.SqlEngineTest ‑ sqlMultipleDBErrorTest[db1, SELECT db1.t2.str1 as t2_str1
 FROM t1
 last join db2.t2 order by db2.t2.col1
 on t1.col1 = db2.t2.col1 and t1.col2 = db2.t2.col0;
, SQL parse error: Column Not found: db1.t2.str1](2)
com._4paradigm.hybridse.sdk.SqlEngineTest ‑ sqlMultipleDBErrorTest[db1, SELECT db2.t2.str1 as t2_str1
 FROM t1
 last join db2.t2 order by db2.t2.col1
 on t1.col1 = t2.col1 and t1.col2 = db2.t2.col0;
, SQL parse error: Column Not found: .t2.col1](3)
com._4paradigm.hybridse.sdk.SqlEngineTest ‑ sqlMultipleDBErrorTest[db1, SELECT t2.str1 as t2_str1
 FROM t1
 last join db2.t2 order by db2.t2.col1
 on t1.col1 = db2.t2.col1 and t1.col2 = db2.t2.col0;
, SQL parse error: Column Not found: .t2.str1](1)
com._4paradigm.hybridse.sdk.SqlEngineTest ‑ sqlMultipleDBErrorTest[null, SELECT db2.t2.str1 as t2_str1
 FROM t1
 last join db2.t2 order by db2.t2.col1
 on t1.col1 = db2.t2.col1 and t1.col2 = db2.t2.col0;
, SQL parse error: Fail to transform data provider op: table t1 not exists in database []](5)
com._4paradigm.hybridse.sdk.SqlEngineTest ‑ sqlWindowLastJoin[ SELECT sum(t1.col1) over w1 as sum_t1_col1, t2.str1 as t2_str1
 FROM t1
 last join t2 order by t2.col1
 on t1.col1 = t2.col1 and t1.col2 = t2.col0
 WINDOW w1 AS (
  PARTITION BY t1.col2 ORDER BY t1.col1
  ROWS_RANGE BETWEEN 3 PRECEDING AND CURRENT ROW
 ) limit 10;](1)

Copy link

codecov bot commented May 30, 2024

Codecov Report

Attention: Patch coverage is 97.82609% with 1 lines in your changes are missing coverage. Please review.

Project coverage is 75.24%. Comparing base (59d79f6) to head (d5de116).

Files Patch % Lines
hybridse/src/udf/udf.cc 95.23% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##               main    #3943      +/-   ##
============================================
+ Coverage     75.22%   75.24%   +0.02%     
  Complexity      711      711              
============================================
  Files           754      754              
  Lines        135575   135618      +43     
  Branches       2072     2072              
============================================
+ Hits         101991   102051      +60     
+ Misses        33281    33264      -17     
  Partials        303      303              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

HybridSE Mac Test Report

0 tests  ±0   0 ✅ ±0   0s ⏱️ ±0s
0 suites ±0   0 💤 ±0 
0 files   ±0   0 ❌ ±0 

Results for commit d5de116. ± Comparison against base commit 59d79f6.

Copy link
Contributor

HybridSE Linux Test Report

20 377 tests  +2   20 375 ✅ +2   6m 14s ⏱️ -9s
   262 suites ±0        2 💤 ±0 
    69 files   ±0        0 ❌ ±0 

Results for commit d5de116. ± Comparison against base commit 59d79f6.

Copy link
Contributor

Linux Test Report

    59 files  ±0     252 suites  ±0   1h 41m 52s ⏱️ + 1m 36s
13 520 tests ±0  13 513 ✅ ±0  7 💤 ±0  0 ❌ ±0 
19 197 runs  ±0  19 190 ✅ ±0  7 💤 ±0  0 ❌ ±0 

Results for commit d5de116. ± Comparison against base commit 59d79f6.

Copy link
Collaborator

@tobegit3hub tobegit3hub left a comment

Choose a reason for hiding this comment

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

LGTM

@aceforeverd aceforeverd merged commit 9a81683 into 4paradigm:main Jul 11, 2024
50 of 52 checks passed
tobegit3hub added a commit that referenced this pull request Jul 18, 2024
* feat: sbin use the generated zk conf (#3901)

Co-authored-by: lijiangnan <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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] <[email protected]>
Co-authored-by: venessa <[email protected]>
Co-authored-by: lijiangnan <[email protected]>
Co-authored-by: aceforeverd <[email protected]>
Co-authored-by: oh2024 <[email protected]>
Co-authored-by: HuangWei <[email protected]>
Co-authored-by: wyl4pd <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Huang Wei <[email protected]>
Co-authored-by: yangwucheng <[email protected]>
Co-authored-by: yangwucheng <[email protected]>
Co-authored-by: howd <[email protected]>
tobegit3hub added a commit that referenced this pull request Jul 26, 2024
* feat: sbin use the generated zk conf (#3901)

Co-authored-by: lijiangnan <[email protected]>

* 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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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] <[email protected]>
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 <[email protected]>

* 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 <[email protected]>

* 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 <[email protected]>

* 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)

* fix: select from JOB_INFO should always in online mode (#3963)

* fix: select from JOB_INFO should always in online mode

Fix error when user set default `execute_mode` to offline:

```sql
set global execute_mode = 'offline';
select 1;
```

* fix: query mode on user & pre_agg tables

* build(docker): centos7 EOL (#3965)

* build(docker): centos7 EOL

* fix vault address for aarch64

* ci(docker): disable arm64 image

Dont have arm machine to test

* fix(docker): numpy version lock (#3966)

* Update docs version to 0.9.1 (#3960)

* add blog post (#3936)

* refactor: fix compile for mcjit and improve to tests (#3952)

* refactor: rm SQL_CASE_BASE_DIR

* fix: compile on mcjit

* feat: setup SqlCaseBaseDir for hybridse

TODO: also setup for tests in src/

* docs: add blog post (#3913)

* Include new posts

* update links

* minor change

* ci: update create-pull-request action to v6 in udf-doc-gen workflow & rm deprecated file sync (#3964)

* Updated create-pull-request action to v6 in udf-doc-gen workflow

* Removed references to docs/en/reference/sql/udfs_8h.md as the file no longer exists

* build: upgrade openmldb sdk version in self host (#3962)

* docs: add changelog for 0.9.2 (#3968)

* docs: update version 0.9.2 in docs (#3970)

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: venessa <[email protected]>
Co-authored-by: lijiangnan <[email protected]>
Co-authored-by: aceforeverd <[email protected]>
Co-authored-by: oh2024 <[email protected]>
Co-authored-by: HuangWei <[email protected]>
Co-authored-by: wyl4pd <[email protected]>
Co-authored-by: tobe <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Huang Wei <[email protected]>
Co-authored-by: yangwucheng <[email protected]>
Co-authored-by: yangwucheng <[email protected]>
Co-authored-by: howd <[email protected]>
Co-authored-by: Siqi Wang <[email protected]>
Co-authored-by: Jayaprakash0511 <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
execute-engine hybridse sql engine
Projects
None yet
Development

Successfully merging this pull request may close these issues.

built-in function: Support locate(substr, str[, pos]) function
3 participants