Conversation
|
Do you intend to add a full test workflow for OceanBase? (install OceanBase, run test, etc.) |
mrigger
left a comment
There was a problem hiding this comment.
Thanks a lot for the PR! I think we can merge it soon. I added some minor comments. I would appreciate it if you would address them before we merge the PR. Currently, also some style checks are failing. You can check locally using mvn verify.
.travis.yml
Outdated
| - sleep 5 | ||
| script: | ||
| - CLICKHOUSE_AVAILABLE=true mvn -Dtest=ClickHouseBinaryComparisonOperationTest test | ||
| - name: OceanBase |
There was a problem hiding this comment.
We are now actually using GitHub Actions for testing. For example, see https://github.com/sqlancer/sqlancer/blob/master/.github/workflows/main.yml#L187 for how the MySQL tests are executed in the CI. If you want, you can also add this in a follow-up PR.
| errors.add("Invalid numeric"); | ||
|
|
||
|
|
||
| if (true) { |
There was a problem hiding this comment.
I guess we can remove the if and only keep its body?
| @@ -0,0 +1,21 @@ | |||
| ## Install Oceanbase | |||
There was a problem hiding this comment.
That's very useful! Thanks for adding also a README.md.
| try { | ||
| char currentChar = value.charAt(i-1); | ||
| int currentVal= Integer.valueOf(currentChar); | ||
| if (currentVal < 48||currentVal > 57) |
There was a problem hiding this comment.
Having named constants for 48 and 57 would be useful (but I assume that one of the style checks will complain about this anyway).
|
|
||
| OceanBaseExpression expr = OceanBaseConstant.createNullConstant(); | ||
| switch(i){ | ||
| case 0: |
There was a problem hiding this comment.
The hard-coded constants look quite error-prone. Perhaps you can add an enum instead, of which a random value is selected, and based on which you perform the switch (or where each enum value implements a method that you call)?
| return firstCount; | ||
| } | ||
|
|
||
| private OceanBaseExpression getTrueExpr(OceanBaseExpression randomWhereCondition){ |
There was a problem hiding this comment.
Perhaps you can add a short comment explaining how this differs from the standard NoREC version?
mrigger
left a comment
There was a problem hiding this comment.
LGTM! Thanks a lot again for the PR! It would be ideal to contribute a GitHub Actions workflow to test the OceanBase implementation to ensure that no future changes break it. Do you plan to also contribute such a workflow?
Thanks for you approval! It needs some preceding conditions for installing oceanbase. I'm not sure installing oceanbase will always success when running ci and block other commit. |
|
If the installation would work on the current version, I think it would be good enough. We regularly adapt to updates to database systems. For example, H2 currently fails due to an update, which I hope to address soon. |
|
Another issue: I noticed that building SQLancer now results in multiple warnings: Could you please fix them? |
No description provided.