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

Implement driver for CockroachDB #1164

Open
ovr opened this issue Sep 30, 2020 · 7 comments
Open

Implement driver for CockroachDB #1164

ovr opened this issue Sep 30, 2020 · 7 comments
Labels
enhancement New feature proposal good first issue Good for newcomers help wanted Community contributions are welcome.

Comments

@ovr
Copy link
Member

ovr commented Sep 30, 2020

Hey!

Currently, there are no plans to add support for it (from core team), but we are happy to merge and help with contribution from the community.

For driver implementer, take a look at

https://github.com/cube-js/cube.js/blob/master/CONTRIBUTING.md#implementing-sql-dialect

Example of driver implementation

#1099

Who are interested in preparing PR, don't forget to comment this issue

Thanks

@ovr ovr added enhancement New feature proposal good first issue Good for newcomers labels Sep 30, 2020
@ronan696
Copy link

@ovr I would like to work on this issue. I see that Cockroach DB fully supports the Postgres JDBC driver(https://www.cockroachlabs.com/docs/stable/install-client-drivers.html#java). So planning to add JDBC config for the same. Do let me know your thoughts. Thanks!

@ovr
Copy link
Member Author

ovr commented Oct 22, 2020

Hello Ronan D'Souza,

The JDBC driver is outdated and ignored on our CI because it's working on Node.js <= 8. It requires migration from one JDBC vendor to another because the current one is outdated and not supported.

  1. https://github.com/CraZySacX/node-jdbc (current one)
  2. https://github.com/naxmefy/node-jdbc (probably it's better module with active support)

So planning to add JDBC config for the same.

It's not the only thing that should be done to support CockroachDB. Each driver requires a dialect for SQL.

Implementing a "native" driver is a more useful and stable solution that we should choose.

@ronan696
Copy link

Thanks for your feedback, Dmitry.

Since cockroachDB supports Postgres clients, I tried connecting to a cockroachDB using the Postgres driver in cube.js. I found that it partly works. For some reason, this query returns an SQL syntax error select 1 id, 100 amount, 'new' status; in cockroachDB and so have opened an issue in the cockroachDB repository cockroachdb/cockroach#55826.

Will also try exploring the native driver route.

@ovr
Copy link
Member Author

ovr commented Oct 23, 2020

Driver contains SQL dialect. It's a bad idea to use PostgreSQL Dialect with CockroachDB.

Take a look at
https://github.com/cube-js/cube.js/blob/v0.22.1/packages/cubejs-schema-compiler/adapter/PostgresQuery.js
https://github.com/cube-js/cube.js/blob/v0.22.1/packages/cubejs-schema-compiler/adapter/BaseQuery.js

@keydunov keydunov removed the driver label Oct 27, 2020
@keydunov keydunov added help wanted Community contributions are welcome. and removed hacktoberfest labels Nov 3, 2020
@0xVolodya
Copy link

Hi, I'm looking at some drivers. When I run a test inside drivers which I'm looking at, the test fails. What am I doing wrong?
Screenshot from 2020-12-01 18-44-35
Screenshot from 2020-12-01 18-44-45

Screenshot from 2020-12-01 18-37-49

@paveltiunov
Copy link
Member

@nadalfederer Do you have a running Docker on your machine? Makes to add it to the contributing guide cc @ovr @hassankhan .

@hassankhan
Copy link
Contributor

Hi @nadalfederer 👋

We do have some instructions for setting up a local development environment using Docker in our Contributor's Guide.

Please do let us know if you face any issues with the instructions by opening an issue on GitHub 😄

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature proposal good first issue Good for newcomers help wanted Community contributions are welcome.
Projects
None yet
Development

No branches or pull requests

7 participants