Skip to content

add support for custom operators in postgres #1302

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

Merged
merged 8 commits into from
Jun 7, 2024

Conversation

lovasoa
Copy link
Contributor

@lovasoa lovasoa commented Jun 6, 2024

Fixes #1298
Fixes sqlpage/SQLPage#372
Closes #1299

@coveralls
Copy link

coveralls commented Jun 6, 2024

Pull Request Test Coverage Report for Build 9407605747

Details

  • 83 of 87 (95.4%) changed or added relevant lines in 6 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.02%) to 88.79%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/dialect/mod.rs 1 2 50.0%
src/dialect/postgresql.rs 4 5 80.0%
src/tokenizer.rs 47 48 97.92%
tests/sqlparser_postgres.rs 24 25 96.0%
Totals Coverage Status
Change from base Build 9381606291: 0.02%
Covered Lines: 25537
Relevant Lines: 28761

💛 - Coveralls

@coveralls
Copy link

coveralls commented Jun 6, 2024

Pull Request Test Coverage Report for Build 9407833047

Details

  • 76 of 80 (95.0%) changed or added relevant lines in 6 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.02%) to 88.787%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/dialect/mod.rs 1 2 50.0%
src/dialect/postgresql.rs 4 5 80.0%
src/tokenizer.rs 40 41 97.56%
tests/sqlparser_postgres.rs 24 25 96.0%
Totals Coverage Status
Change from base Build 9381606291: 0.02%
Covered Lines: 25529
Relevant Lines: 28753

💛 - Coveralls

@coveralls
Copy link

coveralls commented Jun 6, 2024

Pull Request Test Coverage Report for Build 9407854163

Details

  • 76 of 80 (95.0%) changed or added relevant lines in 6 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.02%) to 88.787%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/dialect/mod.rs 1 2 50.0%
src/dialect/postgresql.rs 4 5 80.0%
src/tokenizer.rs 40 41 97.56%
tests/sqlparser_postgres.rs 24 25 96.0%
Totals Coverage Status
Change from base Build 9381606291: 0.02%
Covered Lines: 25529
Relevant Lines: 28753

💛 - Coveralls

@coveralls
Copy link

coveralls commented Jun 6, 2024

Pull Request Test Coverage Report for Build 9407871536

Details

  • 76 of 80 (95.0%) changed or added relevant lines in 6 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.02%) to 88.787%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/dialect/mod.rs 1 2 50.0%
src/dialect/postgresql.rs 4 5 80.0%
src/tokenizer.rs 40 41 97.56%
tests/sqlparser_postgres.rs 24 25 96.0%
Totals Coverage Status
Change from base Build 9381606291: 0.02%
Covered Lines: 25529
Relevant Lines: 28753

💛 - Coveralls

@coveralls
Copy link

coveralls commented Jun 6, 2024

Pull Request Test Coverage Report for Build 9407962709

Details

  • 79 of 83 (95.18%) changed or added relevant lines in 6 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.02%) to 88.787%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/dialect/mod.rs 1 2 50.0%
src/dialect/postgresql.rs 4 5 80.0%
src/tokenizer.rs 43 44 97.73%
tests/sqlparser_postgres.rs 24 25 96.0%
Totals Coverage Status
Change from base Build 9381606291: 0.02%
Covered Lines: 25528
Relevant Lines: 28752

💛 - Coveralls

@coveralls
Copy link

coveralls commented Jun 6, 2024

Pull Request Test Coverage Report for Build 9408152778

Details

  • 82 of 86 (95.35%) changed or added relevant lines in 6 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.02%) to 88.787%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/dialect/mod.rs 1 2 50.0%
src/dialect/postgresql.rs 4 5 80.0%
src/tokenizer.rs 46 47 97.87%
tests/sqlparser_postgres.rs 24 25 96.0%
Totals Coverage Status
Change from base Build 9381606291: 0.02%
Covered Lines: 25528
Relevant Lines: 28752

💛 - Coveralls

@lovasoa
Copy link
Contributor Author

lovasoa commented Jun 6, 2024

@alamb , could you have a look ? The PR is quite simple, it extends the tokenizer to be able to parse postgresql custom operators.

Existing non-postgres dialects are not affected, but new dialects have the ability to add support for their own custom operators.

I (and @amrutadotorg) need that for SQLPage.

Copy link
Contributor

@jmhain jmhain left a comment

Choose a reason for hiding this comment

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

nice, this looks great! cc @alamb

lovasoa and others added 2 commits June 7, 2024 06:27
@coveralls
Copy link

coveralls commented Jun 7, 2024

Pull Request Test Coverage Report for Build 9411642947

Details

  • 79 of 83 (95.18%) changed or added relevant lines in 6 files are covered.
  • 22 unchanged lines in 1 file lost coverage.
  • Overall coverage increased (+0.02%) to 88.785%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/dialect/mod.rs 1 2 50.0%
src/dialect/postgresql.rs 4 5 80.0%
src/tokenizer.rs 43 44 97.73%
tests/sqlparser_postgres.rs 24 25 96.0%
Files with Coverage Reduction New Missed Lines %
src/tokenizer.rs 22 94.86%
Totals Coverage Status
Change from base Build 9381606291: 0.02%
Covered Lines: 25524
Relevant Lines: 28748

💛 - Coveralls

@coveralls
Copy link

coveralls commented Jun 7, 2024

Pull Request Test Coverage Report for Build 9411672059

Details

  • 79 of 83 (95.18%) changed or added relevant lines in 6 files are covered.
  • No unchanged relevant lines lost coverage.
  • Overall coverage increased (+0.02%) to 88.786%

Changes Missing Coverage Covered Lines Changed/Added Lines %
src/dialect/mod.rs 1 2 50.0%
src/dialect/postgresql.rs 4 5 80.0%
src/tokenizer.rs 43 44 97.73%
tests/sqlparser_postgres.rs 24 25 96.0%
Totals Coverage Status
Change from base Build 9381606291: 0.02%
Covered Lines: 25525
Relevant Lines: 28749

💛 - Coveralls

Copy link
Contributor

@alamb alamb left a comment

Choose a reason for hiding this comment

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

Thank you @lovasoa and @jmhain

// + - * / < > = ~ ! @ # % ^ & | ` ?

// Here, we test the ones used by common extensions
let operators = [
Copy link
Contributor

Choose a reason for hiding this comment

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

😮 -- very cool -- thanks @lovasoa

@alamb alamb merged commit 4b60866 into apache:main Jun 7, 2024
10 checks passed
@lovasoa lovasoa deleted the postgres-custom-operators branch June 7, 2024 11:12
@lovasoa
Copy link
Contributor Author

lovasoa commented Jun 7, 2024

Thank you for merging ! This will open a world of new possibilities in SQLPage, using new postgres extensions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

postgres operators starting with & are not parsed correctly postgres custom operators are not parsed correctly
4 participants