Petr Jelinek wrote: > And finally the 0003-gapless-seq is example contrib module that implements > dependably and transitionally safe gapless sequence access method. It's > obviously slow as it has to do locking and basically serialize all the > changes to sequence so only one transaction may use it at a time but it's > truly gapless. It also serves as an example of use of the api and as a test.
I'm trying to figure out this one, and I think I found something very surprising. This code contains this +#define GAPLESS_SEQ_NAMESPACE "gapless_seq" +#define VALUES_TABLE_NAME "seqam_gapless_values" which as far as I understand is something like a side table where values for all the sequences are stored. Is that right? If it is, I admit I didn't realize that these sequences worked in this way. This seems broken to me. I had been under the impression that the values were always stored in the sequence's relation. Maybe I'm misunderstanding; please explain how this works. FWIW I find it annoying that this submission's 0001 patch and Alexander's 0001 have so much in common, yet they aren't similar enough to consider that either is the definite form. Also, you have the SGML docs for CREATE ACCESS METHOD in 0002 instead of 0001, so comparing both versions isn't trivial. Anyway I'm back at reviewing Alexander's 0001, which should be okay as a basis for this series regardless of any edits I suggest there. -- Álvaro Herrera http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services -- Sent via pgsql-hackers mailing list (firstname.lastname@example.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers