-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
MDEV-37072: Implement IS JSON predicate #4332
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
base: main
Are you sure you want to change the base?
Conversation
|
All test results: https://buildbot.mariadb.org/#/grid?branch=refs%2Fpull%2F4332%2Fhead main.mdev-35046 appears potentially unrelated to your work. A cursory look though this shows many good practices. Mark as ready to review (remove draft) when you are ready. |
51054ba to
f8ca796
Compare
|
As to the failing mdev-35046.test it be of great help to restore reliably happened at building only that branch, prior to its forced reset to Perhaps that could be done dear @KhaledR57 with help of |
|
@andrelkin Thank you for the comment. The reason it doesn't occur in the last commit Regarding mdev-35046.test, I could not reproduce the specific failure, it passes locally. |
f8ca796 to
a64dc27
Compare
|
@KhaledR57, thank you, Khaled! This explains MDEV-37789, well almost does so because
this commit did fail too on amd64-ubasan-clang-20 with an MSAN error. This needs explaining from your part. To
mdev-35046.test always [ pass ] to me when run alone. MTR sees the leak at the server shutdown, when its worker executes a series of tests within one server launch. And mdev-35046 is the last and only test in a serious that calls shutdown. |
|
Perhaps you have taken care of it in the latest If that's resolved or made more clear in any form, feel free to leave a comment on https://jira.mariadb.org/browse/MDEV-37789 that seems to be your PR offspring. |
Sorry, I meant that the memory error didn't happen as often in commit The LeakSanitizer trace confirms the leak is in my I've fixed this in the latest commit a64dc27 by:
I'll update the JIRA ticket MDEV-37789 with this information. Also, Is there a way to re-run the failing test (buildbot/amd64-msan-clang-20)? It would be helpful to confirm that everything is working correctly with the fix. |
|
The MSAN building environments incl docker one is wonderfully described here. I tried the docker method successfully.
Perhaps so. However considering that the branches marked by LeakSanitizer failure were all in development/preview and such may still point to this PR. It'd be helpful for either side if you'll manage to run |
|
@andrelkin Thank you again for the guidance. I am currently setting up the environment to investigate the failing tests as you suggested. I'm hoping you could clarify one point to help my understanding. You mentioned that the LeakSanitizer failures might still point to this PR. I'm a bit confused by this because I believe the latest commit I was also looking at the build history, and it seems the LeakSanitizer failures on this test occurred on branches that were created before my PR. This suggests the underlying issue might be pre-existing, and perhaps my changes just made it easier to spot. Either way, you're right that a stress test is the best way to be sure. I'm running the test now on the exact same group of tests from the buildbot worker. I'll let you know the results as soon as the test completes. Thanks again for your help! |
I was concerned with two things:
! |
|
The discussion around the failing |
Add support for the SQL standard IS JSON predicate with the syntax:
expr IS [ NOT ] JSON [ { VALUE | ARRAY | OBJECT | SCALAR } ]
[ { WITH | WITHOUT } UNIQUE [ KEYS ] ]
The predicate allows checking if an expression is valid JSON
and optionally constrains the JSON type (VALUE, ARRAY, OBJECT,
SCALAR) and whether object keys are unique.
The implementation includes:
- Basic IS JSON validation
- Support for NOT operator
- Type constraints (VALUE, ARRAY, OBJECT, SCALAR)
- Unique keys constraint (WITH/WITHOUT UNIQUE KEYS)
9cf0a31 to
0a75d8e
Compare
Description
Add support for the SQL standard IS JSON predicate with the syntax:
The predicate allows checking if an expression is valid JSON and optionally constrains the JSON type (VALUE, ARRAY, OBJECT, SCALAR) and whether object keys are unique.
The implementation includes:
How can this PR be tested?
Basing the PR against the correct MariaDB version
mainbranch.PR quality check