Re: Sequence Access Method WIP

Поиск
Список
Период
Сортировка
От Petr Jelinek
Тема Re: Sequence Access Method WIP
Дата
Msg-id 56FBF195.8010702@2ndquadrant.com
обсуждение исходный текст
Ответ на Re: Sequence Access Method WIP  (Jose Luis Tallon <jltallon@adv-solutions.net>)
Список pgsql-hackers
Hi,

Thanks for review.

On 30/03/16 15:22, Jose Luis Tallon wrote:
> [Partial review] Evaluated: 0002-gapless-seq-2016-03-29-2.patch
> Needs updating code copyright years ... or is this really from 2013? [ contrib/gapless_seq/gapless_seq.c ]
> Patch applies cleanly to current master (3063e7a84026ced2aadd2262f75eebbe6240f85b)
>

Ouch good point, it does show how long the whole sequence am thing has 
been around.

> DESIGN
> The decision to hardcode the schema GAPLESS_SEQ_NAMESPACE ("gapless_seq") and VALUES_TABLE_NAME
("seqam_gapless_values")strikes me a bit: while I understand the creation of a private schema named after the
extension,it seems overkill for just a single table.
 
> I would suggest to devote some reserved schema name for internal implementation details and/or AM implementation
details,if deemed reasonable.
 
> On the other hand, creating the schema/table upon extension installation makes the values table use the default
tablespacefor the database, which can be good for concurrency --- direct writes to less loaded storage
 
>     (Note that users may want to move this table into an SSD-backed tablespace or equivalently fast storage ...
moresowhen many --not just one-- gapless sequences are being used)
 
>

Schema is needed for the handler function as well. In general I don't 
want to add another internal schema that will be empty when no sequence 
AM is installed.

> Yet, there is <20141203102425.GT2456@alap3.anarazel.de> where Andres argues against anything different than
one-page-per-sequenceimplementations.
 
>     I guess this patch changes everything in this respect.

Not really, gapless just needs table for transactionality and as such is 
an exception. It does not change how the nontransactional sequence 
storage works though. I agree with Andres on this one.

> CODE
>    seqam_gapless_init(Relation seqrel, Form_pg_sequence seq, int64 restart_value,
>                                  bool restart_requested, bool is_init)
>    -> is_init sounds confusing; suggest renaming to "initialize" or "initial" to avoid reading as "is_initIALIZED"

Sounds good.

> DEPENDS ON 0001-seqam-v10.patch , which isn't commited yet --- and it doesn't apply cleanly to current git master.
> Please update/rebase the patch and resubmit.
>

The current version of seqam is 0001-seqam-2016-03-29 which should apply 
correctly.

--   Petr Jelinek                  http://www.2ndQuadrant.com/  PostgreSQL Development, 24x7 Support, Training &
Services



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Fabien
Дата:
Сообщение: Desirable pgbench features?
Следующее
От: Kevin Grittner
Дата:
Сообщение: Re: PATCH: index-only scans with partial indexes