Skip to content

docs: rewrite the README in a tighter voice - #4

Open
lfrancke wants to merge 1 commit into
mainfrom
docs/trim-readme
Open

docs: rewrite the README in a tighter voice#4
lfrancke wants to merge 1 commit into
mainfrom
docs/trim-readme

Conversation

@lfrancke

@lfranckelfrancke commented Aug 5, 2026

Copy link
Copy Markdown
Member

What this changes

README only. I removed a whole lot of the typical AI-waffling and made it more human sounding (because it now was mostly written by a human :) )

Also: one sentence per line throughout

Checklist

  • pre-commit run --all-files passes
  • CHANGELOG.md — not applicable, no public type, trait method or FFI contract changed

Cuts the prose by a third without dropping any facts. The length came from
stacking two or three clauses of justification behind every claim, plus three
facts stated twice: the deprecated ODBC 2.x rationale (What you get and
Conformance), "the compiler names what is still missing" (What you get and
Writing a driver), and UTF-16 conversion.
Limits becomes a table, which is what that section always was.
One sentence per line throughout, and `-` bullets to match every other
document in the repo.
@lfranckelfrancke moved this to Development: Waiting for Review in Stackable EngineeringAug 5, 2026
@lfranckelfrancke self-assigned this Aug 5, 2026

@adwk67adwk67 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Some minor things.

Comment threadREADME.md
interleaving rather than the one that happened to occur, and cargo-fuzz throws
random input at the buffer-copying code under AddressSanitizer. All three run
on every pull request, alongside the unit tests on Linux and Windows.
- **We handle (sic!) the Handles.**

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think sic is only used to acknowledge an error (like a typo):

Suggested change
-**We handle (sic!) the Handles.**
-**We handle the Handles.**

Comment threadREADME.md
random input at the buffer-copying code under AddressSanitizer. All three run
on every pull request, alongside the unit tests on Linux and Windows.
- **We handle (sic!) the Handles.**
If you don't know what a Handle is in ODBC-land you're lucky.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
If you don't know what a Handle is in ODBC-land you're lucky.
If you don't know what a Handle is in ODBC-land, you're lucky.

Comment threadREADME.md
Driver Manager checklist.
That one line expands to every exported `SQL*` entry point, plus `ConfigDSNW` on Windows.

Most of `Backend` is one-line capability declarations such as `supports_catalogs` and `identifier_case`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
Most of `Backend`is one-line capability declarations such as `supports_catalogs` and `identifier_case`.
`Backend`consists mostly of one-line capability declarations such as `supports_catalogs` and `identifier_case`.

Comment threadREADME.md
That one line expands to every exported `SQL*` entry point, plus `ConfigDSNW` on Windows.

Most of `Backend` is one-line capability declarations such as `supports_catalogs` and `identifier_case`.
None of them are defaulted, because a default would be a claim about your database that nobody ever checked, and a wrong one is invisible.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
None of them are defaulted, because a default would be a claim about your database that nobody ever checked, and a wrong one is invisible.
None of them are defaulted, because a default would be a de facto and untested assumption about how your database behaves, and if it's wrong it is easy to overloook.

Comment threadREADME.md
would, so exporting your own version switches that off rather than adding
anything. `SQLExtendedFetch` is the exception the Driver Manager does not map,
so core exports it.
ODBC 3.80 at the `SQL_OIC_CORE` level, which is the base of the standard's three interface-conformance levels and the one an application may assume of any driver.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
ODBC 3.80 at the `SQL_OIC_CORE` level, which is the base of the standard's three interface-conformance levels and the one an application may assume of any driver.
ODBC 3.80 is implemented at the `SQL_OIC_CORE` level, which is the base of the standard's three interface-conformance levels and the one an application may assume of any driver.

Comment threadREADME.md
`SQLCancel` still interrupts one. `Backend` is synchronous too, so a driver
built on an async client library bridges to it internally, for example with
a current-thread tokio runtime and `block_on`.
Each of these limits is actually reported back to an application that tries to use one of these features so they can react to it.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
Each of these limits is actually reported back to an application that tries to use one of these features so they can react to it.
Each of these limits is actually reported back to an application that tries to use one of these features so it can react to it.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Development: Waiting for Review

Development

Successfully merging this pull request may close these issues.

2 participants

@lfrancke@adwk67