On Fri, 2007-06-29 at 23:57 -0700, Andrew Hammond wrote:
> A really interesting win would be in detecting cases where you can go from
>
> WHERE id IN ( a list )
>
> to
>
> WHERE a < id AND id < b
>
> However I think this is only possible at the time the transaction
> happens (how else will you know if your sequence is contigious. And
> that suggests to me that it's not reasonable to do at this time.
>
If we move the data from the provider to a temp table on the receiver,
we could also use an IN query rather than a range. I don't know when
this would be a win, but it seems like it would be useful in some cases.
A range is much nicer, but like you say, it's harder to detect in a
deterministic way.
> Also, ISTM that the big reason we don't like statement based
> replication is that SQL has many non-deterministic aspects. However,
> there is probably a pretty darn big subset of SQL which is provably
> non-deterministic. And for that subset, would it be any less rigorous
> to transmit those statements than to transmit the per-row change
> statments like we currently do?
>
The pgpool guys have done a lot of research on statement replication
already. I think it's a very interesting line of research that is good
in a lot of cases. It's worth thinking about parts of pgpool that would
be useful in slony.
Regards,
Jeff Davis
_______________________________________________
Slony1-general mailing list
[email protected]
http://lists.slony.info/mailman/listinfo/slony1-general