| From: | Jan Wieck <JanWieck(at)Yahoo(dot)com> | 
|---|---|
| To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> | 
| Cc: | Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>, "Joshua D(dot) Drake" <jd(at)commandprompt(dot)com>, Unihost Web Hosting <tony(at)unihost(dot)net>, pgsql-general(at)postgresql(dot)org | 
| Subject: | Re: Replication Bundled with Main Source. | 
| Date: | 2003-10-10 02:06:55 | 
| Message-ID: | 3F86143F.1030002@Yahoo.com | 
| Views: | Whole Thread | Raw Message | Download mbox | Resend email | 
| Thread: | |
| Lists: | pgsql-general | 
Tom Lane wrote:
> Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us> writes:
>> Joshua D. Drake wrote:
>>> It is not that we don't want to include replication in the base 
>>> project it is that ERserver does not meet the requirements of what can
>>> be included in the base project. Specifically (I believe) the 
>>> requirement of Java.
> 
>> Maybe they will move to C someday.
> 
> Well, JDBC requires Java, and it's still in the main distro.
> 
> I think the real answer is that until recently, ERserver wasn't open
> source and we didn't have the option to include it.  Now that it is
> open source, we could think about it.  Having looked at the code, I
> think it's definitely not ready for prime time, but it could get there
> with some work.  When it's of comparable solidity to the base project
> I'd be in favor of adding it to the base distro.
Unfortunately I don't think it'll get there ever. There is a fundamental 
design flaw in the system that is not fixable (there are multiple, but 
this is one of the biggies). That is that eRServer only remembers that a 
row has been modified, but not what, in what order, not even how often.
The problem is really easy to demonstrate. With a UNIQUE constraint on a 
column, you change the values of two rows like
     A->C
     B->A
     C->B
If these 3 changes fall into one "snapshot", you have no chance to 
replicate that. eRServer tries to do
     A->B
     B->A
and whatever order it tries, you'd need a deferred UNIQUE constraint to 
get it done, and I don't have the slightest clue how the ever get _that_ 
implemented.
Jan
-- 
#======================================================================#
# It's easier to get forgiveness for being wrong than for being right. #
# Let's break this rule - forgive me.                                  #
#================================================== JanWieck(at)Yahoo(dot)com #
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Network Administrator | 2003-10-10 03:07:25 | Re: process hangs using perl? | 
| Previous Message | Marsh Ray | 2003-10-10 02:04:32 | Re: Response from MySql AB (Re: Humor me: Postgresql vs. |