Commits on Oct 12, 2007
  1. ADD query rewriting

    y-mori committed Oct 12, 2007
Commits on Aug 29, 2007
  1. implemented QUERY ANALYZING

    (now in progress)
    y-mori committed Aug 29, 2007
Commits on Jul 27, 2007
Commits on Jul 19, 2007
Commits on Jul 17, 2007
  1. Unification of replication mode and parallel query mode

    Now It's still working.
    y-mori committed Jul 17, 2007
  2. Fix hang up when backend node did fast or immediate shutdown.

    If shutdown occured, postgres send an error which error code is
    "57P01" and error message is "terminating connection due to
    administrator command".
    
    However, another nodes did not send any messages. pgpool waited for a
    message from them. when the error is sended, pgpool reads the message
    and degenerate.
    y-asaba committed Jul 17, 2007
  3. Rearrange detect_deadlock_error().

    y-asaba committed Jul 17, 2007
Commits on Jul 10, 2007
  1. * Change type of InRecovery variable to sig_atomic_t*

    * Fixed kind mismatch error when deadlock error occured.
    The problem is the following senario.
    
      A: BEGIN:
      B: BEGIN;
      A: LOCK TABLE t1 IN SHARE ROW EXCLUSIVE MODE;
      B: LOCK TABLE t2 IN SHARE ROW EXCLUSIVE MODE;
      A: LOCK TABLE t2 IN SHARE ROW EXCLUSIVE MODE;
      B: LOCK TABLE t1 IN SHARE ROW EXCLUSIVE MODE;
    
    Transaction "A" aborts on master node, but it completes on another
    nodes. It causes wrong failover.
    
    So pgpool checks deadlock error(code == '40P01') and sends error query
    to another nodes.
    y-asaba committed Jul 10, 2007
Commits on Jul 9, 2007
  1. Add comments.

    y-asaba committed Jul 9, 2007
  2. Fix race condition between flag checking and signal blocking.

    Normally, this case solve to call pselect(2). But Linux's pselect(2)
    is emulated by select(2) and sigprocmask(2). It contains this race.
    So pgpool archieves using the self-pipe trick.
    
    See 'man pselect' if you want to get more information.
    y-asaba committed Jul 9, 2007
  3. configure checks that OS has sys/select.h.

    If it exists, include it.
    y-asaba committed Jul 9, 2007
Commits on Jul 6, 2007
  1. Load balancing node was chosen before sending "SELECT" statement.

    But this way had the following problems.
    
      psql>\d accounts
      Did not find any relation with OID XXX
    
    pgpool chooses it after receiving AuthenticationOK('R') message. So
    pgpool load balance to the same node inside a same session.
    y-asaba committed Jul 6, 2007
Commits on Jul 5, 2007
  1. Improve signal handling.

    We fixed signal handling at revision 1.6. That fix was to set a flag
    in signal handler, then pgpool checked flags in safe points. However
    It has a race condition in the following case.
    
      CHECK_REQUEST;   <-- check flags
      <signal handler> <-- set flags
      pause();         <-- wait for signals
    
    So, we modified to deliver signals in safe places which are in pause()
    and sleep().
    y-asaba committed Jul 5, 2007
  2. * Remove debug code.

    * Refactor ReadyForQuery() and do_command().
    y-asaba committed Jul 5, 2007
Commits on Jul 4, 2007
  1. In replication mode, pgpool checks the numbers of insert/update/delete

    tuples in CommandComplete message. If these numbers are not same,
    a transaction is aborted by pgpool. It is for data consistency.
    
    TODO: This behavior will be able to switch by pgpool.conf.
    y-asaba committed Jul 4, 2007
Commits on Jul 3, 2007
  1. Rearrange TODO list.

    y-asaba committed Jul 3, 2007
Commits on Jun 29, 2007
  1. Fix race condition between unsetting SIGCHLD flag and unblocking

    SIGCHLD signal.
    y-asaba committed Jun 29, 2007
Commits on Jun 28, 2007
  1. Fix SIGUSR2 handling. The signal handler only set flag. Then, pgpool

    call SIGUSR2 handler in CHECK_REQUEST macro.
    y-asaba committed Jun 28, 2007
Commits on Jun 27, 2007
  1. Fix hang up when a SELECT query has error inside transaction block. It

    occurs only in simple query protocol.
    y-asaba committed Jun 27, 2007
  2. Fix checking the number of arguments.

    y-asaba committed Jun 27, 2007
Commits on Jun 26, 2007
  1. Remove unused variable.

    y-asaba committed Jun 26, 2007
Commits on Jun 22, 2007
  1. run autoconf and flex

    t-ishii committed Jun 22, 2007
  2. Add new features in pgpool-II 2.0.

    * support online-recovery in replication mode.
      - based on physical data copy
    
    * improve replication mode.
      - employ "primary copy method" to enhance the performance
      - more stable replication
    y-asaba committed Jun 22, 2007
Commits on Jun 21, 2007
  1. update ChangeLog.

    y-asaba committed Jun 21, 2007
Commits on Jun 20, 2007
  1. Fix SIGCHLD and SIGUSR1 signal handling. Signal handlers set flags

    only, then a parent process checks flags in signal safe places.
    y-asaba committed Jun 20, 2007
  2. run flex

    t-ishii committed Jun 20, 2007
Commits on Jun 18, 2007
  1. Fix memory leak in NotificationResponse().

    y-asaba committed Jun 18, 2007
  2. update ChangeLog.

    y-asaba committed Jun 18, 2007
  3. * Fix compile warning.

    * Fix memory leak in CursorResponse().
    y-asaba committed Jun 18, 2007
  4. run autoconf

    t-ishii committed Jun 18, 2007
Commits on Jun 15, 2007
  1. Update spec file

    devrim committed Jun 15, 2007
  2. Update release note.

    y-asaba committed Jun 15, 2007
  3. Run autoconf.

    t-ishii committed Jun 15, 2007
  4. Fix typo.

    t-ishii committed Jun 15, 2007
Commits on Jun 14, 2007
  1. Prepare for 1.1.1

    y-asaba committed Jun 14, 2007