Skip to content

Conversation

@amotl
Copy link
Member

@amotl amotl commented Nov 3, 2025

About

Just fixing a missing detail. Thanks @matriv.

Reference

@amotl amotl added the maintenance C'est la vie. label Nov 3, 2025
@coderabbitai
Copy link

coderabbitai bot commented Nov 3, 2025

Walkthrough

Replaced "CrateDB Cloud" heading with "SSL connection", revised intro to instruct starting the Erlang SSL application and using Sslmode=require, updated example to call ssl:start() before odbc:start() and to connect to testcluster.cratedb.net with the capitalized option.

Changes

Cohort / File(s) Change Summary
Erlang ODBC documentation
docs/connect/erlang/odbc.md
Renamed section heading to "SSL connection"; changed intro to start the Erlang SSL application and use Sslmode=require; added note that this variant works for CrateDB Cloud; replaced example to call ssl:start() before odbc:start() and updated connect string to use Sslmode=require with testcluster.cratedb.net.

Sequence Diagram(s)

sequenceDiagram
  participant Dev as Developer
  participant ErlangVM as Erlang VM
  participant SSL as ssl
  participant ODBC as odbc
  participant CrateDB as CrateDB (testcluster.cratedb.net)

  Dev->>ErlangVM: run example
  ErlangVM->>SSL: ssl:start()
  SSL-->>ErlangVM: SSL ready
  ErlangVM->>ODBC: odbc:start()
  ODBC-->>ErlangVM: ODBC ready
  ErlangVM->>CrateDB: connect(Server=testcluster.cratedb.net, Sslmode=require, Uid, Pwd)
  CrateDB-->>ErlangVM: TLS handshake / connection established
Loading

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

  • Single markdown file; documentation-only, small edits.
  • Spot-check: heading, intro phrasing, option capitalization (Sslmode), and example ordering (ssl:start() before odbc:start()).

Possibly related PRs

Suggested reviewers

  • matriv
  • seut

Poem

🐰 I hopped through docs with careful cheer,

Started ssl first — the path made clear.
ODBC followed, snug and bright,
Connecting clouds in secure light.
Tiny hops, big secure bytes — hooray! 🥕

Pre-merge checks and finishing touches

✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title 'Driver: Fix "SSL connection" section on "Erlang/ODBC" page' directly and specifically describes the main change in the changeset. The raw summary confirms that the modifications focus on updating the SSL connection section of the Erlang/ODBC documentation, including replacing the rubric heading to "SSL connection" and updating SSL-related configuration details. The title is concise, clear, and accurately reflects the primary purpose of the changes.
Description check ✅ Passed The pull request description references fixing a missing detail in the SSL connection section of Erlang/ODBC documentation and provides a reference to a prior review comment. While the description is brief and lacks extensive detail, it is clearly related to the changeset and indicates the context of the fix. The description directly corresponds to the changes documented in the raw summary, making it relevant to the pull request's purpose.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch erlang-odbc-ssl

📜 Recent review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 845edcc and 02f5893.

📒 Files selected for processing (1)
  • docs/connect/erlang/odbc.md (1 hunks)
🚧 Files skipped from review as they are similar to previous changes (1)
  • docs/connect/erlang/odbc.md

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@amotl amotl requested a review from matriv November 3, 2025 17:24
Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

🧹 Nitpick comments (2)
docs/connect/erlang/odbc.md (2)

39-46: Clarify the purpose of SSL connection to reduce redundancy.

Lines 42–44 already state "For connecting to CrateDB Cloud," and line 46 reiterates "Also use this variant to connect to CrateDB Cloud." This creates redundancy and may inadvertently imply SSL is primarily for CrateDB Cloud rather than a general technique.

Consider either:

  1. Removing line 46 since it's already covered, or
  2. Reframing the intro text to emphasize SSL as a general connection method, with CrateDB Cloud as one specific application.

For example: "To enable SSL connections, start the Erlang [SSL application], add sslmode=require, and adjust Server, Uid, and Pwd for your environment (e.g., CrateDB Cloud)."


49-58: Optional: Consider aligning the example with established documentation patterns.

Per the learning from PR #420, cratedb-guide typically shows only the differences from the canonical example when documenting alternative connection methods (e.g., SSL configuration), rather than repeating the entire workflow. The current example duplicates the full workflow (lines 29–37 vs. lines 49–58).

For a more concise approach, you could show only the SSL-specific setup:

ssl:start(),
odbc:start(),
{ok, Ref} = odbc:connect("Driver={PostgreSQL Unicode};Server=testcluster.cratedb.net;Port=5432;sslmode=require;Uid=admin;Pwd=password", []),

That said, if full examples improve clarity for this section, this is optional. Based on learnings.

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ce8a9b1 and cafac82.

📒 Files selected for processing (1)
  • docs/connect/erlang/odbc.md (1 hunks)
🧰 Additional context used
🧠 Learnings (6)
📓 Common learnings
Learnt from: amotl
Repo: crate/cratedb-guide PR: 420
File: docs/connect/erlang.md:100-113
Timestamp: 2025-10-19T19:21:49.864Z
Learning: In the cratedb-guide repository, when documenting cloud or alternative connection methods, show only the differences from the canonical example (e.g., SSL configuration) rather than repeating the entire workflow (query execution, cleanup, etc.). This pattern is used consistently across pages to avoid repetition.
Learnt from: amotl
Repo: crate/cratedb-guide PR: 406
File: docs/connect/go.md:110-137
Timestamp: 2025-10-20T21:49:18.785Z
Learning: In the cratedb-guide repository, documentation examples for connecting to CrateDB (e.g., Go examples in docs/connect/go.md) should be kept minimal and focused on demonstrating basic functionality, rather than including comprehensive error handling. Full examples with proper error handling are maintained separately in the cratedb-examples repository.
Learnt from: amotl
Repo: crate/cratedb-guide PR: 408
File: docs/connect/elixir.md:18-22
Timestamp: 2025-10-16T10:58:18.401Z
Learning: When connecting to CrateDB using PostgreSQL-compatible drivers like Postgrex (Elixir), the `database` parameter handling may differ from standard PostgreSQL usage because CrateDB has no notion of databases like PostgreSQL does. CrateDB uses schemas to separate concerns instead. The `database` parameter might need to be omitted or handled differently to avoid connection issues.
Learnt from: amotl
Repo: crate/cratedb-guide PR: 253
File: docs/integrate/mindsdb/index.md:21-33
Timestamp: 2025-08-14T19:02:43.308Z
Learning: In CrateDB integration documentation examples, default connection parameters (user="crate", password="", host="127.0.0.1") are intentionally used to provide working out-of-the-box examples for users with local CrateDB instances, rather than using placeholder values that require customization.
Learnt from: bmunkholm
Repo: crate/cratedb-guide PR: 340
File: docs/home/index.md:84-97
Timestamp: 2025-09-25T19:31:54.320Z
Learning: In the CrateDB Guide docs (MyST), the CrateDB Cloud card on the homepage should link to `getting-started` using `:link-type: ref` instead of the previous `cloud:index` intersphinx target. This change was implemented in PR #340 to direct users to the getting started section rather than directly to the Cloud documentation.
Learnt from: amotl
Repo: crate/cratedb-guide PR: 207
File: docs/integrate/etl/iceberg-risingwave.md:205-207
Timestamp: 2025-06-05T14:29:15.512Z
Learning: The `records.Database("crate://", echo=True)` connection string for CrateDB works with defaults: localhost as host, "crate" as user, and blank password. This is valid and functional code in the records library.
Learnt from: amotl
Repo: crate/cratedb-guide PR: 248
File: docs/integrate/amqp/tutorial.md:36-41
Timestamp: 2025-08-14T12:42:12.744Z
Learning: In the cratedb-guide repository, code examples and tutorials prioritize simplicity and ease of following over security hardening. Security recommendations should be more lenient in tutorial/demo contexts to avoid distracting from the main learning objectives.
Learnt from: hammerhead
Repo: crate/cratedb-guide PR: 221
File: docs/connect/configure.md:58-66
Timestamp: 2025-08-05T07:14:57.416Z
Learning: In CrateDB connection strings, the user:password@ syntax is valid for HTTP Basic authentication on port 4200, but PostgreSQL JDBC drivers do not support this format and require credentials as query parameters (?user=<user>&password=<password>) instead.
📚 Learning: 2025-10-19T19:21:49.864Z
Learnt from: amotl
Repo: crate/cratedb-guide PR: 420
File: docs/connect/erlang.md:100-113
Timestamp: 2025-10-19T19:21:49.864Z
Learning: In the cratedb-guide repository, when documenting cloud or alternative connection methods, show only the differences from the canonical example (e.g., SSL configuration) rather than repeating the entire workflow (query execution, cleanup, etc.). This pattern is used consistently across pages to avoid repetition.

Applied to files:

  • docs/connect/erlang/odbc.md
📚 Learning: 2025-10-16T10:58:18.401Z
Learnt from: amotl
Repo: crate/cratedb-guide PR: 408
File: docs/connect/elixir.md:18-22
Timestamp: 2025-10-16T10:58:18.401Z
Learning: When connecting to CrateDB using PostgreSQL-compatible drivers like Postgrex (Elixir), the `database` parameter handling may differ from standard PostgreSQL usage because CrateDB has no notion of databases like PostgreSQL does. CrateDB uses schemas to separate concerns instead. The `database` parameter might need to be omitted or handled differently to avoid connection issues.

Applied to files:

  • docs/connect/erlang/odbc.md
📚 Learning: 2025-08-14T19:02:43.308Z
Learnt from: amotl
Repo: crate/cratedb-guide PR: 253
File: docs/integrate/mindsdb/index.md:21-33
Timestamp: 2025-08-14T19:02:43.308Z
Learning: In CrateDB integration documentation examples, default connection parameters (user="crate", password="", host="127.0.0.1") are intentionally used to provide working out-of-the-box examples for users with local CrateDB instances, rather than using placeholder values that require customization.

Applied to files:

  • docs/connect/erlang/odbc.md
📚 Learning: 2025-06-05T14:29:15.512Z
Learnt from: amotl
Repo: crate/cratedb-guide PR: 207
File: docs/integrate/etl/iceberg-risingwave.md:205-207
Timestamp: 2025-06-05T14:29:15.512Z
Learning: The `records.Database("crate://", echo=True)` connection string for CrateDB works with defaults: localhost as host, "crate" as user, and blank password. This is valid and functional code in the records library.

Applied to files:

  • docs/connect/erlang/odbc.md
📚 Learning: 2025-08-05T07:14:57.416Z
Learnt from: hammerhead
Repo: crate/cratedb-guide PR: 221
File: docs/connect/configure.md:58-66
Timestamp: 2025-08-05T07:14:57.416Z
Learning: In CrateDB connection strings, the user:password@ syntax is valid for HTTP Basic authentication on port 4200, but PostgreSQL JDBC drivers do not support this format and require credentials as query parameters (?user=<user>&password=<password>) instead.

Applied to files:

  • docs/connect/erlang/odbc.md
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (1)
  • GitHub Check: Build docs

@amotl amotl merged commit fa9a0c9 into main Nov 3, 2025
3 checks passed
@amotl amotl deleted the erlang-odbc-ssl branch November 3, 2025 17:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

maintenance C'est la vie.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants