From: | Markus Wanner <markus(at)bluegap(dot)ch> |
---|---|
To: | Simon Riggs <simon(at)2ndQuadrant(dot)com> |
Cc: | Josh Berkus <josh(at)agliodbs(dot)com>, pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Global Sequences |
Date: | 2012-10-17 09:19:12 |
Message-ID: | 507E7810.9020807@bluegap.ch |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Simon,
On 10/17/2012 10:34 AM, Simon Riggs wrote:
> IMHO an API is required for "give me the next allocation of numbers",
> essentially a bulk equivalent of nextval().
Agreed. That pretty exactly matches what I described (and what's
implemented in Postgres-R). The API then only needs to be called every N
invocations of nextval(), because otherwise nextval() can simply return
a cached number previously allocated in a single step, eliminating a lot
of the communication overhead.
You realize an API at that level doesn't allow for an implementation of
options 1 and 2? (Which I'm convinced we don't need, so that's fine with
me).
> Anything lower level is going to depend upon implementation details
> that I don't think we should expose.
Exactly. Just like we shouldn't expose other implementation details,
like writing to system catalogs or WAL.
> I'm sure there will be much commonality between 2 similar
> implementations, just as there is similar code in each index type. But
> maintaining modularity is important and ahead of us actually seeing 2
> implementations, trying to prejudge that is going to slow us all down
> and likely screw us up.
Agreed. Let me add, that modularity only serves a purpose, if the
boundaries between the modules are chosen wisely. It sounds like we are
on the same page, though.
To testify this: IMHO an API for setval() is required to invalidate all
node's caches and re-set an initial value, as a starting point for the
next bulk of numbers that nextval() will return.
currval() doesn't need to be changed or "hooked" at all, because it's a
read-only operation.
Regards
Markus Wanner
From | Date | Subject | |
---|---|---|---|
Next Message | Dimitri Fontaine | 2012-10-17 09:31:05 | Re: Deprecating RULES |
Previous Message | Simon Riggs | 2012-10-17 08:34:12 | Re: Global Sequences |