3 ms·
I'm certainly no expert on standard SQL, but I suspect that's academic. Since my knowledge of transactional DDL is PostgreSQL[1], which supports effectively ev
by mmt 16y ago
I'm certainly no expert on standard SQL, but I suspect that's academic.
Since my knowledge of transactional DDL is PostgreSQL[1], which supports effectively everything, with no onerous locking, I now have the question: what's the difference? Was my DBA friend in error, or merely out of date?
[1] first-hand knowledge, anyway. My 3rd-hand knowledge of MSSQL is that it's more or less Sybase, which does fully support DDL inside a transaction.
- pradocchia 16y agoYes, MSSQL does support transactional DDL, via locking rather than versioning. Not sure how PostresSQL implements it. Anyone? Row versioning would be more concurrency-friendly, and arguably more "right". I'd be interested if anyone took advantage of versioned transactional DDL to persist arbitrary data structures on the fly.
- mmt 16y agoPostgres does it with versioning, as that's how everything is stored on disk. As I've seen DDL outside of a transaction take much longer than inside one, it may use locking there.