Loading ...
Sorry, an error occurred while loading the content.

Re: [firebird-support] FBReplicator...?

Expand Messages
  • Dimitry Sibiryakov
    ... That s not good. Open-source project based on commercial components... After publishing one of the first-priority tasks should be rewriting it, using UIB
    Message 1 of 21 , Oct 1, 2003
    • 0 Attachment
      On 1 Oct 2003 at 21:57, Jonathan Neve wrote:

      >FYI, I'm writing it in C++Builder, using FIBPlus and IB6.0.

      That's not good. Open-source project based on commercial
      components... After publishing one of the first-priority tasks should
      be rewriting it, using UIB or API, IMHO.

      SY, Dimitry Sibiryakov.
    • Jonathan Neve
      Hi all! I wrote a while ago to say that I was writing a replicator for IB/FB, that I would be glad to contribute to the FireBird community. Wouldn t it be nice
      Message 2 of 21 , Nov 15, 2003
      • 0 Attachment
        Hi all!

        I wrote a while ago to say that I was writing a replicator for IB/FB,
        that I would be glad to contribute to the FireBird community. Wouldn't
        it be nice for FireBird to be bundled with a good replicator, like
        Interbase? I know there are several commercial replicators available,
        other than IBReplicator, as well as one freeware replicator. However,
        that replicator is only one-way. This could be useful, but, in many
        circustances, it wouldn't be good enough. So that's why I thought I
        could perhaps give you the replicator I wrote, because I would have been
        quite glad if I had been able to find such a replicator a few months ago
        before I started!

        My replicator includes quite a few features that aren't present in
        IBReplicator at all. This is because I had a created an database
        application, and a database, without replication in mind at all. With a
        bit of hindsight, I think I have put too much intelligence in the
        database (mostly triggers), which often causes difficulties, and
        certainly made replicating much harder, as triggers have a nasty
        tendancy of firing at you when you're not expecting it! :-)

        Too get around the many problems I came across, I had to implement some
        rather advanced features that I've never seen in any other replicator
        (perhaps they do exist somewhere, I've just never seen it).

        So here is a brief description of how it works:

        The situation this replicator was designed for was that I had one main
        database, which all the clients were connected to through internet. To
        make things faster, I have made so that now each client is to have their
        own copy of the database, and all changes made to one get replicated to
        the other, and vice-versa. I'm explaining this, just to say that as
        things are at present, there has to be a direct connection to the main
        database server in order to be able to synchronize changes. You can't
        simply drop off the changes on some server, for the other clients to
        then come and pick them up. I don't think it would be very difficult to
        add this functionnality to the existing replicator, but as I have no
        need of it, I didn't do it.

        This is tied in with another aspect of the replicator, which is that it
        requires no software on the server side. This was important for me, as
        my database server runs under Linux.

        So on each client machine there is a replicator, and on the server,
        there is nothing special. Periodically, the replicator kicks in and
        replicates all changes, first from the client to the server, then from
        the server to the client. Both server and client can be used as local
        database servers (such is my case).

        So in each database, there are three triggers per replicated table (you
        can configure which ones you want to replicate). These triggers insert
        into a log table one line per event and per user, the users being listed
        in another table. When the replicator then connects, it takes only such
        records as concern the client machine it's running on, and then deletes
        them.

        So far, I think this is basicly how all replicators work. Here now are a
        few specific features of mine.

        One is replicating procedures. This sort of thing shouldn't usually be
        necessary, but I implemented it in order to get out of a difficult
        situation, and it might be useful also for someone else. The problem was
        that I have a table in my database called STOCK. This table contains one
        line per product and per sales-point, and a quantity field indicating
        the number of these products in stock at the present time. To avoid
        problems, I do all updates to this table through a dedicated procedure
        called STOCK_MVT, to which I pass as a parameter the number of products
        to add to/subtract from the stock. If I simply replicate this table,
        what will happen? Suppose in databases A and B, a certain product had
        value 45. Suppose 4 of this product are then added to the stock in
        database A, and 3 are subtracted in database B. DB A will end up with
        quantity 49 and DB B will end up with 42. Suppose DB A replicates at
        this point. The value from DB A will get sent to the server, so the
        server will have a value of 49. Then DB B replicates. So either the
        server gets the value from DB B (42), or DB B gets the server's value
        (49), but either way, both are wrong. The correct quantity is obviously
        46. Yet none of the three databases would have this value!

        So this is unacceptable. Instead, I now replicate my stored procedure
        call. In other words, I created another procedure that calls my stored
        procedure, and also logs the call in the replication log, with the exact
        SQL statement that was executed. That way, the replicator simple reads
        the "EXECUTE PROCEDURE" statement, and executes it. This solved my
        problem, because now instead of sending the value to the server, each
        database merely sends its change (+4 or -3). So now DB A would send +4
        to the server, resulting in value 49. DB B would then send -3 to the
        server, resulting in 46 on the server, and it would also get +4 from the
        server, so that from 42 it would also move up to 46. Next time DB A
        replicates, it would then get the -3 from the server, and every one
        would have the same value.

        As an example, here's the text of my procedure:

        CREATE PROCEDURE RPL$STOCK_MVT
        (
        SITE CHAR(1),
        LIBELLE VARCHAR(100),
        ARTICLE VARCHAR(10),
        TYPE_MVT CHAR(1),
        ENTREE INTEGER,
        SORTIE INTEGER,
        DDATE TIMESTAMP,
        DOCUMENT VARCHAR(20),
        LOGCODE INTEGER
        )
        AS
        DECLARE VARIABLE PK1_VALUE INTEGER;
        DECLARE VARIABLE EXEC_PROC_STATEMENT VARCHAR(200);
        BEGIN
        PK1_VALUE = GEN_ID(GEN_RPL$STOCK_MVT, 1);
        EXEC_PROC_STATEMENT = 'EXECUTE PROCEDURE RPL$STOCK_MVT(' || '''' ||
        :SITE || '''' || ', ' || '''' || :LIBELLE || '''' || ', ' || '''' ||
        :ARTICLE || '''' || ', ' || '''' || :TYPE_MVT || '''' || ', ' || :ENTREE
        || ', ' || :SORTIE || ', ' || '''' || :DDATE || '''' || ', ' || '''' ||
        :DOCUMENT || '''' || ', ' || :LOGCODE || ')';
        EXECUTE PROCEDURE STOCK_MVT(:SITE, :LIBELLE, :ARTICLE, :TYPE_MVT,
        :ENTREE, :SORTIE, :DDATE, :DOCUMENT, :LOGCODE);
        EXECUTE PROCEDURE RPL$GENERATE_LOG ('STOCK_MVT', null, :PK1_VALUE,
        null, null, null,
        null, null, null, null, null, null, null, null, null, null, null,
        null, 2250, EXEC_PROC_STATEMENT);
        END

        Another difference is that I handle synchronizing column values that are
        attributed automatically (either through a generator or through a stored
        procedure). That is, I provide a generator or stored procedure that I
        should use to get the values. Then, on the client side, these fields get
        temporary values. When the record gets replicated to the main server,
        the column values get updated to be synchronous with the server (I get
        the generator value from the server, and update it locally). I then go
        on with the replication.

        This is good for values that are attributed automatically, and need to
        be synchronized. However, I found another solution to this same problem
        for the case of detail tables that depend on some other master table.
        For example, I have an invoice table, and another table (called
        FACTURES_CORPS) with all the invoice lines. The FACTURES_CORPS table has
        a field (called FACTURE) that references the main (FACTURES) table. The
        primary key of this table is governed by a generator, and is never seen
        by the end user. For cases like this, I made another solution. I choose
        a field (in this case, FACTURE), and instead of replicating each line of
        an invoice individually, I delete all the lines having a certain value
        of the FACTURE field, and then reinsert them all. Whilst I reinsert
        them, I take the primary key value on the fly from the generator of the
        server, and don't update it locally. So every time one line in the
        invoice is updated, they all get deleted and reinserted. This is a
        perfect solution for this sort of situation, because it's simpler and
        less time-consuming than updating it locally. Besides, it avoids the
        potential problem of the replication being stuck because of trying to
        update a record which the user is busy modifying.

        Also, to avoid problems with dependancies, I attributed to each table a
        priority, so that changes don't get replicated in the order they occured
        in, but in priority order. This also solved several potential problems.

        As you can imagine, it could get tedious to code this by hand, so I made
        a little program to generate the metadata for me. I display a DBGrid,
        with the list of my procedures, and I simply select the one(s) I want to
        replicate, set the priority, and the rest gets done automatically. I do
        the same thing for the tables. I can also configure which users I want,
        and it automatically creates them. Also, I automatically grant
        everything to PUBLIC, which simplfies things for me. Obviously, this
        behaviour should probably be changed to grant full rights only to the
        replicator users, as some people might not want to grant all to PUBLIC! :-)
        I also use this program to store a lot of configuration information in
        the registry.

        A few more details:
        1) I made it so that the replicator logs everything it does in a memo on
        the sceen, and if ever something goes wrong, my customer can send me the
        complete log by email by simply clicking on a button.
        2) I also handle getting new versions of the application automatically
        by FTP. I simply have a table in the database to which I add a line
        every time there is a new version to fetch, telling me which file to
        take, and which SQL script to take. That way, I can make sure the
        metadata is synchronized as well.

        Now for some other considerations.

        I'm submitting this code to you all as such. I would love to see it
        become FBReplicator, but I cannot be in charge of organizing it. I'm
        counting on finding someone else willing and able to adapt this code to
        his own situation or somebody else's. After all, I've done the hard
        part, there are just a few little things that should perhaps be
        straightened out before releasing to the general public.

        One such thing is 3rd party libraries.
        There are actually two programs (written in C++Builder 5): Replicator,
        and Repl_Config. In these programs, I use FIBPlus for database access,
        Raize (not much) for the interface, EhLib(for the excellent DBGrid), RX
        and Systools for the Systray, FormState, as well as registry access. I
        also use Indy for the SMTP and FTP access. The only difficulty would be
        with FIBPlus, Raize, and EhLib, as the others are free. However, I
        hardly use Raize at all, so it would be very easy to remove that. The
        only difficulty in removing EhLib would be that I use a nice feature of
        the TDBGridEh, which is to import and export itself. However, I think
        there are some free components that can do the same sort of thing. So
        the only one that involves a bit of work is FIBPlus. But even that isn't
        so bad. I think the whole thing is under about 3000 lines of code. I
        have only 3 forms, and about 30-40 queries (approx.). So this is a bit
        of work, but it wouldn't involve changing that much code, nor anything
        structural.

        The other main thing I can see is the language. All the interface is in
        French. It shouldn't be too bad, as there isn't an extensive amount of
        interface, but it would still involve a bit of translating.

        Also, there's one little limitation, that could perhaps be removed
        (although I don't see any immediate need to do so), and that is that I
        only support multi-column primary keys up to 3 columns.

        These are the only things I can think of that could require a little
        work before the product is ready to be released.

        However, as I said, I cannot be counted on to do this work. I made the
        replicator for my own needs (or rather for my customer's), and I didn't
        do it during my free time; that's my job. As a result, I can't really
        afford to maintain an opensource product during what little free time I
        have; I usually prefer to do other things than programming! :-)

        So, as I have already said, I'm hoping that someone will take interest,
        and organize the project. If anyone is interested, please contact me,
        and I'll send you the source code. If you want to see what the
        executable's like, I could send you that too.

        I plan to write an extensive help file, one for the end-user, and one
        for the programmer, explaining in detail the inner workings of the
        replicator. This will of course be in French, but it could be translated.

        Jonathan Neve.
      • Ernesto Cullen
        Hi Jonathan, I am willing to help. I am in the need of such a tool, planning to write my own, but if you have one working why reinvent the wheel? I think is a
        Message 3 of 21 , Nov 16, 2003
        • 0 Attachment
          Hi Jonathan,
          I am willing to help. I am in the need of such a tool, planning to write
          my own, but if you have one working why reinvent the wheel? I think is a
          good idea to have such a tool included with FB or at least, freely
          available. I'm not a C++ fan, I work mostly in Delphi, but i think the
          programs can be translated without much work. That way we could have
          versions of the programs for the two languages. And speaking of languages,
          my mother tongue is Spanish and I can read/write english so i could do a
          translation to those languages.
          I really have no experience in managing projects remotely, but I can try
          if there is no one else...

          Ernesto Cullen
          ecullen@...
          http://www.infoback.com.ar/buhardilla
          Paraná, Entre Ríos
          Argentina

          ----- Original Message -----
          From: "Jonathan Neve" <jonathan@...>
          To: "firebird-support" <firebird-support@yahoogroups.com>
          Sent: Saturday, November 15, 2003 11:59 AM
          Subject: [firebird-support] FBReplicator...?


          > Hi all!
          >
          > I wrote a while ago to say that I was writing a replicator for IB/FB,
          > that I would be glad to contribute to the FireBird community. Wouldn't
          > it be nice for FireBird to be bundled with a good replicator, like
          > Interbase? I know there are several commercial replicators available,
          ...
        • Jonathan Neve
          ... Excellent! ... Yes, this might be a good idea, there seem to be far more people working with Delphi than C++Builder. I agree that it shouldn t be very hard
          Message 4 of 21 , Nov 16, 2003
          • 0 Attachment
            Ernesto Cullen wrote:

            >Hi Jonathan,
            > I am willing to help.
            >
            Excellent!

            >I am in the need of such a tool, planning to write
            >my own, but if you have one working why reinvent the wheel? I think is a
            >good idea to have such a tool included with FB or at least, freely
            >available. I'm not a C++ fan, I work mostly in Delphi, but i think the
            >programs can be translated without much work.
            >
            Yes, this might be a good idea, there seem to be far more people working
            with Delphi than C++Builder. I agree that it shouldn't be very hard to
            translate, as I didn't do anything fancy, just simple C++. Even I could
            almost translate it into Pascal! But aren't there automatic C++ to
            Pascal converters to handle the bulk of the code?

            >That way we could have
            >versions of the programs for the two languages. And speaking of languages,
            >my mother tongue is Spanish and I can read/write english so i could do a
            >translation to those languages.
            > I really have no experience in managing projects remotely, but I can try
            >if there is no one else...
            >
            >
            Good. If the project were converted to Delphi, I think Gary Benner (the
            first person who responded to my post), as well as others perhaps, would
            be interested in helping.

            So now my question is, where should I put the sources?

            BTW, I was wondering if perhaps this should get posted to
            Firebird-devel, as it's closer to developpement than support....?

            Thanks!

            Jonathan Neve.
          • jini us
            Hi, I am looking for a FREE C++ Integrated Development Environment. Preferably one that is fully loaded with features which include - develop windows
            Message 5 of 21 , Nov 17, 2003
            • 0 Attachment
              Hi,

              I am looking for a FREE C++ Integrated Development
              Environment.

              Preferably one that is fully loaded
              with features which include
              - develop windows application.
              - Target is Microsoft Windows
              - With a installshield like packager.



              ________________________________________________________________________
              Want to chat instantly with your online friends? Get the FREE Yahoo!
              Messenger http://mail.messenger.yahoo.co.uk
            • Lester Caine
              ... And a few chicken teeth at the same time? ... Eclipse falls at the first hurdle, because while it runs quite happily in windows, the completion of windows
              Message 6 of 21 , Nov 17, 2003
              • 0 Attachment
                > I am looking for a FREE C++ Integrated Development
                > Environment.

                And a few chicken teeth at the same time?

                > Preferably one that is fully loaded
                > with features which include
                > - develop windows application.
                > - Target is Microsoft Windows
                > - With a installshield like packager.

                Eclipse falls at the first hurdle, because while it runs
                quite happily in windows, the completion of windows
                applications is still weak.
                It is still worth a look at though, as the CDT add on
                provides a very nice C++ IDE, and Eclipse itself provides a
                lot more besides.
                http://www.eclipse.org/cdt/
                I've only output a simple C++ job to Linux - I'm using it
                for PHP development at present :)

                --
                Lester Caine
                -----------------------------
                L.S.Caine Electronic Services
              • Olivier Mascia
                Dear, On Mon, 17 Nov 2003 08:16:40 +0000 (GMT), ... Look at Borland C++ BuilderX, not to be confused with C++ Builder 6. Not the best, but there is a free
                Message 7 of 21 , Nov 17, 2003
                • 0 Attachment
                  Dear,

                  On Mon, 17 Nov 2003 08:16:40 +0000 (GMT),
                  jini us wrote :

                  > I am looking for a FREE C++ Integrated Development
                  > Environment.
                  >
                  > Preferably one that is fully loaded
                  > with features which include
                  > - develop windows application.
                  > - Target is Microsoft Windows
                  > - With a installshield like packager.

                  Look at Borland C++ BuilderX, not to be confused with C++ Builder 6.
                  Not the best, but there is a free personal version.
                  It can use multiple compilers, including MingW GCC and Borland free
                  compiler.

                  Not sure if there is some install tool included though.
                  But InnoSetup is a real good one.

                  --
                  Best Regards,
                  Olivier Mascia
                  http://www.ibpp.org
                • Johannes Pretorius
                  If you still looking try Dev-CPP from Bloodshed here is there URL : http://www.bloodshed.net/ Good luck ... Outgoing mail is certified Virus Free. Checked by
                  Message 8 of 21 , Nov 17, 2003
                  • 0 Attachment
                    If you still looking try Dev-CPP from Bloodshed
                    here is there URL : http://www.bloodshed.net/

                    Good luck


                    At 08:16 17/11/2003 +0000, you wrote:

                    >Hi,
                    >
                    >I am looking for a FREE C++ Integrated Development
                    >Environment.
                    >
                    >Preferably one that is fully loaded
                    >with features which include
                    >- develop windows application.
                    >- Target is Microsoft Windows
                    >- With a installshield like packager.
                    >
                    >
                    >
                    >________________________________________________________________________
                    >Want to chat instantly with your online friends? Get the FREE Yahoo!
                    >Messenger http://mail.messenger.yahoo.co.uk
                    >
                    >
                    >To unsubscribe from this group, send an email to:
                    >firebird-support-unsubscribe@yahoogroups.com
                    >
                    >
                    >
                    >Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/
                    >
                    >
                    >
                    >---
                    >Incoming mail is certified Virus Free.
                    >Checked by AVG anti-virus system (http://www.grisoft.com).
                    >Version: 6.0.541 / Virus Database: 335 - Release Date: 14/11/2003

                    ----------


                    ---
                    Outgoing mail is certified Virus Free.
                    Checked by AVG anti-virus system (http://www.grisoft.com).
                    Version: 6.0.541 / Virus Database: 335 - Release Date: 14/11/2003


                    [Non-text portions of this message have been removed]
                  • Henrik Sitter
                    Hum. This is probably off track, but it might save you hours of coding time... Until recently I used c++ for almost every app I have written, but writing GUI
                    Message 9 of 21 , Nov 17, 2003
                    • 0 Attachment
                      Hum.

                      This is probably off track, but it might save you hours of coding
                      time... Until recently I used c++ for almost every app I have written,
                      but writing GUI using c++ apis like FLTK and FOX Toolkit takes a lot of
                      time and can really be a pain in the a..

                      So I looked for alternatives to be more productive, where I could write
                      GUI (and other things also ofc) in another language, and then use c++
                      for critical sections in my code. It brought me into the world of
                      python, and I don't know if you have ever used it, but if not you really
                      should :)

                      So you might want to look up python, wxPython and Boa Constructor. It is
                      all open source and free. Python is the programming language, wxPython
                      is a GUI toolkit for python and Boa Constructor is an IDE. For mixing
                      python with c++ you could look up boost.python.

                      Henrik.

                      -----Original Message-----
                      From: jini us [mailto:jiniusuk@...]
                      Sent: 17. november 2003 09:17
                      To: firebird-support@yahoogroups.com
                      Subject: [firebird-support] OT - C++ + IDE + FREE

                      Hi,

                      I am looking for a FREE C++ Integrated Development
                      Environment.

                      Preferably one that is fully loaded
                      with features which include
                      - develop windows application.
                      - Target is Microsoft Windows
                      - With a installshield like packager.



                      ________________________________________________________________________
                      Want to chat instantly with your online friends? Get the FREE Yahoo!
                      Messenger http://mail.messenger.yahoo.co.uk


                      To unsubscribe from this group, send an email to:
                      firebird-support-unsubscribe@yahoogroups.com



                      Your use of Yahoo! Groups is subject to
                      http://docs.yahoo.com/info/terms/
                    • Milan Babuskov
                      ... If it s going to be a separate project, and under constant development, you can place it on sourceforge... I have two projects of my own there, and I m
                      Message 10 of 21 , Nov 17, 2003
                      • 0 Attachment
                        Jonathan Neve wrote:
                        > So now my question is, where should I put the sources?

                        If it's going to be a separate project, and under constant development,
                        you can place it on sourceforge... I have two projects of my own there,
                        and I'm satisfied (except for some site outages every now and then). If
                        you need help setting it up, just ask.

                        --
                        Milan Babuskov
                        http://fbexport.sourceforge.net
                        http://njam.sourceforge.net
                      • Jonathan Neve
                        ... Well, I was hoping someone would take interrest, and integrate it into the FireBird distribution (because that s what seems to make the most sense). But I
                        Message 11 of 21 , Nov 17, 2003
                        • 0 Attachment
                          Milan Babuskov wrote:

                          >Jonathan Neve wrote:
                          >
                          >
                          >>So now my question is, where should I put the sources?
                          >>
                          >>
                          >
                          >If it's going to be a separate project, and under constant development,
                          >you can place it on sourceforge...
                          >
                          Well, I was hoping someone would take interrest, and integrate it into
                          the FireBird distribution (because that's what seems to make the most
                          sense). But I guess I might as well put it on SourceForge instead. In
                          anyone's interrested, they can get it there.

                          >I have two projects of my own there,
                          >and I'm satisfied (except for some site outages every now and then). If
                          >you need help setting it up, just ask.
                          >
                          Ok, thanks!

                          Jonathan Neve.


                          [Non-text portions of this message have been removed]
                        • Milan Babuskov
                          ... I don t think that would happen. One reason is that IB Phoenix has bought rights for IB-Replicator (I m not sure what s the exact name), and they are
                          Message 12 of 21 , Nov 18, 2003
                          • 0 Attachment
                            Jonathan Neve wrote:
                            > Well, I was hoping someone would take interrest, and integrate it into
                            > the FireBird distribution (because that's what seems to make the most
                            > sense). But I guess I might as well put it on SourceForge instead. In
                            > anyone's interrested, they can get it there.

                            I don't think that would happen. One reason is that IB Phoenix has
                            bought rights for IB-Replicator (I'm not sure what's the exact name),
                            and they are developing it. Many IB Phoenix members are also members of
                            Firebird core team, and I don't think they would like to have 2 projects
                            of the same kind on their hands.

                            Other reason is that other people have to test your replicator, and
                            report that it is good, before anything is done.

                            Third reason would be the platform. As far as I understood your
                            replicator is Windows-only. Firebird is supported by many more
                            platforms. I would test your replicator right now, since I need
                            something like that currently, but I run all servers on Linux... so it a
                            show-stopper.

                            Setting up the sourceforge project is IMHO the best idea. You will see
                            how many people are actually interested, and others can contribute to
                            the code (and perhaps make a Linux version ;)

                            --
                            Milan Babuskov
                            http://fbexport.sourceforge.net
                          • Jonathan Neve
                            ... I see. ... Sure. ... No. My servers run Linux as well! I simply have one program on the Windows client that replicates both ways. There s nothing on the
                            Message 13 of 21 , Nov 18, 2003
                            • 0 Attachment
                              Milan Babuskov wrote:

                              >Jonathan Neve wrote:
                              >
                              >
                              >>Well, I was hoping someone would take interrest, and integrate it into
                              >>the FireBird distribution (because that's what seems to make the most
                              >>sense). But I guess I might as well put it on SourceForge instead. In
                              >>anyone's interrested, they can get it there.
                              >>
                              >>
                              >
                              >I don't think that would happen. One reason is that IB Phoenix has
                              >bought rights for IB-Replicator (I'm not sure what's the exact name),
                              >and they are developing it. Many IB Phoenix members are also members of
                              >Firebird core team, and I don't think they would like to have 2 projects
                              >of the same kind on their hands.
                              >
                              >
                              I see.

                              >Other reason is that other people have to test your replicator, and
                              >report that it is good, before anything is done.
                              >
                              >
                              Sure.

                              >Third reason would be the platform. As far as I understood your
                              >replicator is Windows-only. Firebird is supported by many more
                              >platforms. I would test your replicator right now, since I need
                              >something like that currently, but I run all servers on Linux... so it a
                              >show-stopper.
                              >
                              No. My servers run Linux as well!
                              I simply have one program on the Windows client that replicates both
                              ways. There's nothing on the server, other than triggers of course.

                              >Setting up the sourceforge project is IMHO the best idea. You will see
                              >how many people are actually interested, and others can contribute to
                              >the code (and perhaps make a Linux version ;)
                              >
                              I'll do that.

                              Thanks!

                              Jonathan Neve.


                              [Non-text portions of this message have been removed]
                            • Milan Babuskov
                              ... Actually, what I forgot to write. The customer that needs replication has Linux-only environment. We ll see if replication is worth adding one Windows
                              Message 14 of 21 , Nov 18, 2003
                              • 0 Attachment
                                Jonathan Neve wrote:
                                >>Third reason would be the platform. As far as I understood your
                                >>replicator is Windows-only. Firebird is supported by many more
                                >>platforms. I would test your replicator right now, since I need
                                >>something like that currently, but I run all servers on Linux... so it a
                                >>show-stopper.
                                >>
                                >
                                > No. My servers run Linux as well!
                                > I simply have one program on the Windows client that replicates both
                                > ways. There's nothing on the server, other than triggers of course.

                                Actually, what I forgot to write. The customer that needs replication
                                has Linux-only environment. We'll see if replication is worth adding one
                                Windows workstation at both sites they have. Probably not. When you
                                place your code on sourceforge, I'll probably examine how it works, so I
                                can make Linux port of it or something similar...

                                --
                                Milan Babuskov
                                http://fbexport.sourceforge.net
                              Your message has been successfully submitted and would be delivered to recipients shortly.