Skip to content

feat: add support for TimescaleDB - #748

Merged
mrigger merged 15 commits into
sqlancer:masterfrom
zhenglin-charlie-li:feat-add-timescaleDB-#24
Mar 10, 2023
Merged

mrigger merged 15 commits into
sqlancer:masterfrom
zhenglin-charlie-li:feat-add-timescaleDB-#24

Conversation

@zhenglin-charlie-li

@zhenglin-charlie-li zhenglin-charlie-li commented Mar 5, 2023

Copy link
Copy Markdown
Contributor

fix: #24 

Hi, I am new to this project, and this is my very first commit that touches the code. I am willing to apply for GSoC 2023, and I hope this can help me get started and be more familiar with our community and project.

It is still in progress, but feel free to comment anytime!

@mrigger

mrigger commented Mar 5, 2023

Copy link
Copy Markdown
Contributor

That's great! I'd suggest that we merge the first PR as soon as some of the basic things work (e.g., creating tables and inserting data).

@mrigger

mrigger commented Mar 5, 2023

Copy link
Copy Markdown
Contributor

By the way, TimescaleDB seems to be an extension of PostgeSQL, so it might make sense to take a look at the Citus implementation, which re-used the basic Postgres SQLancer implementation.

@zhenglin-charlie-li

Copy link
Copy Markdown
Contributor Author

Yes, I found out that both TimescaleDB and Citus are extensions of PostgreSQL; I will check out Citus first.

@zhenglin-charlie-li
zhenglin-charlie-li marked this pull request as ready for review March 6, 2023 12:36
@zhenglin-charlie-li

zhenglin-charlie-li commented Mar 6, 2023

Copy link
Copy Markdown
Contributor Author

Hi, @mrigger I referenced the implementation of Citus and refactored my commit.

Now we have already established the basic structure of GlobalState, Options, Error, Bug, Provider, and Schema.

Am I on the right track? If so, I will continue.

But before that, may I ask a question? What is these fields and why do we add them in Citus?
image

@mrigger mrigger left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM! Could you have a look at why the compilation/tests fail? You can execute mvn verify -DskipTests=true locally. I'd suggest that we already merge this skeleton.

@mrigger

mrigger commented Mar 6, 2023

Copy link
Copy Markdown
Contributor

Hi, @mrigger I referenced the implementation of Citus and refactored my commit.

Now we have already established the basic structure of GlobalState, Options, Error, Bug, Provider, and Schema.

Am I on the right track? If so, I will continue.

But before that, may I ask a question? What is these fields and why do we add them in Citus? image

I am not very sure - the Citus implementation was contributed by @nukoyluoglu.

@zhenglin-charlie-li

zhenglin-charlie-li commented Mar 7, 2023

Copy link
Copy Markdown
Contributor Author

LGTM! Could you have a look at why the compilation/tests fail? You can execute mvn verify -DskipTests=true locally. I'd suggest that we already merge this skeleton.

when I try to run mvn verify -DskipTests=true, I got the following error:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.10.1:compile (default-compile) on project sqlancer: Fatal error compiling: Failed to run the ecj compiler: Unrecognized option : D:\Documents\Projects\Open_Source\sqlancer\.settings\org.eclipse.jdt.core.prefs -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Do our community get this error before? I am trying to fix this.

---- UPDATE ----

It seems that this error occurs occasionally; it's odd. Let's leave this, because now there is no such error anyway.

zhenglin-charlie-li and others added 4 commits March 7, 2023 13:55
getTimeScaleDBErrors() from the
TimeScaleDBProvider is never used locally
…eat-add-timescaleDB-#24

# Conflicts:
#	src/sqlancer/timescaledb/TimeScaleDBProvider.java
@zhenglin-charlie-li

Copy link
Copy Markdown
Contributor Author

@mrigger hi, I have fixed the CI errors. Could you please help with the merge?

Comment thread src/sqlancer/timescaledb/TimeScaleDBProvider.java Outdated
Comment thread src/sqlancer/timescaledb/gen/TimeScaleDBCommon.java Outdated
@mrigger

mrigger commented Mar 9, 2023

Copy link
Copy Markdown
Contributor

@mrigger hi, I have fixed the CI errors. Could you please help with the merge?

I think we can merge as soon as you remove the expected errors as described in my latest comment above. It seems you also need to resolve one merge conflict due to the name check change that we just merged.

@zhenglin-charlie-li

Copy link
Copy Markdown
Contributor Author

@mrigger hi, I have fixed the CI errors. Could you please help with the merge?

I think we can merge as soon as you remove the expected errors as described in my latest comment above. It seems you also need to resolve one merge conflict due to the name check change that we just merged.

@mrigger Done! Thanks for review too.

@mrigger
mrigger merged commit 7e77b2a into sqlancer:master Mar 10, 2023
@mrigger

mrigger commented Mar 10, 2023

Copy link
Copy Markdown
Contributor

Great, thanks a lot!

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.

Add a testing implementation for TimescaleDB

2 participants