[D1] Pricing Page Should Include How INSERT, DELETE, and UPDATE are Billed, and Clarify Which DDL Operations May Incur Charges #14630
Labels
content:edit
Request for content edits
documentation
Documentation edits
product:d1
D1: https://developers.cloudflare.com/d1/
Existing documentation URL(s)
https://developers.cloudflare.com/d1/platform/pricing/
What changes are you suggesting?
Update bullet 2 in Definitions, appending the following:
Note - Any other DML/DQL operations which are considered writes for billing purposes should also be added to this list.
Add the following bullets under Definitions to make it clear where charges may be incurred as a result of DDL operations:
Additional information
Whilst it's reasonable to expect most people will consider
INSERT
andUPDATE
operations as writes to the database, it's not clear howDELETE
operations should be considered, and whether they're even chargeable?Most Cloudflare services charge for deletion operations, however R2 doesn't charge for deleting Objects and Buckets, despite these effectively mutating state, which one might expect would make them Class A operations, and therefore chargeable.
The D1 Client API documentation (https://developers.cloudflare.com/d1/build-with-d1/d1-client-api/#await-stmtrun) mentions that
UPDATE
,DELETE
, andINSERT
operations are writes, so the information is there, but buried, rather than being on the pricing page where it belongs. Having to go searching elsewhere for this, not even knowing if it's there at all, really isn't good.With regard to DDL operations, I'd not expect
CREATE TABLE
,DROP TABLE
, andDROP INDEX
to incur any charges, but there are implications with aCREATE INDEX
, and in some casesALTER TABLE
on tables which already contain data. Assuming things behave the same way under the hood as the do with regular SQLite, and that any necessary read and write operations on the affected table will be billed the same as regular client initiated table reads and writes, then it should be made clear on the Pricing page. Based on my understanding of this, I've provided suggested wording above.The text was updated successfully, but these errors were encountered: