Add warning about backslash corruption when building CQL with string formatting in the doc#1292
Add warning about backslash corruption when building CQL with string formatting in the doc#1292howiezhao wants to merge 1 commit intoapache:trunkfrom
Conversation
There was a problem hiding this comment.
Pull request overview
This PR updates the Getting Started guide to warn users against building CQL by interpolating Python values directly into query strings, and to steer them toward prepared statements. It fits the codebase by documenting a driver-specific correctness pitfall around collection string representations and CQL literal handling.
Changes:
- Adds a warning explaining why Python string formatting should not be used to construct CQL from query results.
- Adds an example showing how backslashes can be corrupted when collection values are interpolated into CQL text.
- Adds a prepared-statement example showing the safe binary-protocol path.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
|
@howiezhao Does the problem occur when you round-trip data? Read from the database, and then insert it back into the database? For the getting started docs, that might be a bit of a corner case. |
Hi @bschoening yes, if the map data contains backslashes, reading it in and writing it using Python string formatting will cause backslashes to be added, as I mentioned in the example, so I recommend using a prepared statement. |
|
Would prefer something more concise, maybe something like... `.. warning:: Avoid "Round-Tripping" data using string formatting. Never use f-strings or The Gotcha: The driver's collection objects use Python's The Fix: Always use prepared statements. They transmit data in a binary format that bypasses Python's string serialization entirely. .. code-block:: python |
Hi @bschoening good suggestion, updated |
Update Getting Started documentation.