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

Integrate: Add dedicated page about DBeaver #157

Merged
merged 1 commit into from
Dec 19, 2024
Merged

Integrate: Add dedicated page about DBeaver #157

merged 1 commit into from
Dec 19, 2024

Conversation

amotl
Copy link
Member

@amotl amotl commented Dec 5, 2024

Comment on lines 16 to 45
## Install

::::{grid} 2
:::{grid-item}
For connecting to CrateDB, the [CrateDB JDBC Driver] will be used.
:::
:::{grid-item}
![Image](https://github.com/user-attachments/assets/ebd11a53-4d4a-4a9b-bed2-25909e618929){w=480px}
:::
::::


## Connect

::::{grid} 2

:::{grid-item}
Please specify database URL and credentials of your CrateDB cluster.

When connecting to [CrateDB Self-Managed] on localhost,
for evaluation purposes, use:
```
jdbc:crate://localhost:5432/
```

When connecting to [CrateDB Cloud], use:
```
jdbc:crate://<clustername>.cratedb.net:5432/
```
:::
:::{grid-item}
![Image](https://github.com/user-attachments/assets/3288ab3f-a70a-42db-8b99-051ea3051c84){w=480px}
:::
:::{grid-item}
When selecting CrateDB, drivers will be downloaded automatically
on the first use.

Alternatively, download and use the [crate-jdbc-standalone-2.7.0.jar] JAR file,
and select the driver class `io.crate.client.jdbc.CrateDriver`.
:::
:::{grid-item}
![Image](https://github.com/user-attachments/assets/5436f893-06d8-433f-94b3-72dddb5a13e1){w=480px}
:::

::::
Copy link
Member

Choose a reason for hiding this comment

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

none of this is correct

Copy link
Member Author

@amotl amotl Dec 12, 2024

Choose a reason for hiding this comment

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

All of the information has been derived from the blog article, in order to set the stage for doing it better here. Effectively, using content that we provide elsewhere and bringing it into a better shape and layout.

The idea is to get to a canonical page like the one for DataGrip, that will include all the correct information for optimal usability of DBeaver with CrateDB. The previous section about DBeaver does not include any detailed information yet.

Copy link
Member Author

Choose a reason for hiding this comment

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

We need to do at least two things here:

  1. @hlcianfagna and @hammerhead mentioned at Integrate: Add dedicated page about DataGrip #155 that the screenshots are all wrong and outdated. This should probably be refreshed.
  2. More detailed information about using DBeaver with CrateDB has been provided by @hlcianfagna at Asking about capabilities of the DBeaver integration crate-clients-tools#206 (comment). This should probably be added to the content of this page, other than commandeering it back to use the built-in integration for CrateDB?

Please let us know about anything else that you would like to see on this page, or send patches.

Copy link
Member

Choose a reason for hiding this comment

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

That blog post is fairly outdated. There is a new CrateDB Connection in DBeaver for more than a year
dbeaver/dbeaver#20549

I am surprised there is no blog / community post about it.

Copy link
Member Author

Choose a reason for hiding this comment

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

That blog post is fairly outdated. I am surprised there is no blog / community post about it.

I am not surprised. Around that time, many things started falling apart, stronger than before.

My intentions have been to wrap up the current status coming from dbeaver/dbeaver#20549 into a concise documentation page on our realms, like the one for DataGrip, which also was long overdue.

I didn't expect this would raise any significant attention, so I am extra happy you are joining here.

Copy link
Member Author

@amotl amotl Dec 13, 2024

Choose a reason for hiding this comment

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

Now, let's wrap it up into this document, if you agree? At GH-155, admonitions from @hlcianfagna and @hammerhead have mostly been about screenshots. Now, we see it is also about content, which might not be much, because everything works out of the box already?

So, what do you suggest? Just pick that single screenshot you added to the main PR description at dbeaver/dbeaver#20549 into the page, and call it a day?

If you like it, maybe you can share two more screenshots with me that reflect something along the lines of the DataGrip » Usage section, i.e. displaying a tree and a table, possibly showing an excerpt of sys.summits?

Copy link
Member Author

@amotl amotl Dec 13, 2024

Choose a reason for hiding this comment

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

I've just updated the patch based on a few suggestions and content floating around. Thanks for your support.

Comment on lines +66 to +77
:::{note}
A few data types of CrateDB need special considerations.
- `ARRAY` types are recognised as such in reads, also work for inserts through the GUI.
They need to use curly brackets syntax `{1,2}` instead of `[1,2]`.
- `OBJECT` types are seen as string, and are ok to insert via GUI.
- `GEO_POINT` types are seen as `STRING`, for insert through GUI, please use parentheses.
- `GEO_SHAPE` types are seen as `STRING`, are ok to insert via GUI.
- `FLOAT_VECTOR` types are seen as `ARRAY` on read, and can be inserted
using the GUI with same considerations as `ARRAY`s.
:::
Copy link
Member Author

@amotl amotl Dec 13, 2024

Choose a reason for hiding this comment

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

Thanks for providing this information per crate/crate-clients-tools#206 (comment), @hlcianfagna.

The same outcome has also been observed here, when verifying vanilla PostgreSQL connectivity support for CrateDB from .NET using Npgsql.

Please note this means it is just basic support that is provided here, because the standard driver does not support many special data types of CrateDB well. While this way of connecting to CrateDB works out of the box with DBeaver, which is a good thing, the CrateDB driver might provide better usability on some details.

Copy link
Member Author

@amotl amotl Dec 13, 2024

Choose a reason for hiding this comment

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

Outlook: We could possibly document those deviations at a single place, and then link to it, because it roughly outlines how basic PostgreSQL connectivity support for CrateDB is typically shaped and feels like.

@amotl amotl requested review from kneth, surister and proddata December 13, 2024 19:41
@amotl amotl marked this pull request as ready for review December 13, 2024 19:41
@amotl amotl requested review from hammerhead, hlcianfagna and proddata and removed request for kneth, proddata and surister December 19, 2024 14:05
@amotl amotl merged commit 07e5857 into main Dec 19, 2024
3 checks passed
@amotl amotl deleted the ide-dbeaver branch December 19, 2024 16:13
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.

3 participants