$Header: /cvsroot/pgpool/pgpool-II/TODO,v 1.14 2008/03/31 04:19:04 t-ishii Exp $

* General

- Allow client encoding conversion. This was possible in pgpool-I

- Allow special comment such as "/* STRICT */". This was possible in pgpool-I

- Allow multi statement

- Sometimes query is sent to a DB node despite its weight is 0

- Avoid cross pgpool process deadlock situation. This is a long
  standing problem since pgpool-II was born (pgpool-I avoids this by
  setting timeout)

- Allow to stop PostgeSQL from pgpoolAdmin to make the on-line
  recovery more convenient. This requires something like
  pgpool_remote_stop to be specified in pgpool.conf.

- If DISCARD ALL is specified in the reset_query_list and transaction
  is not closed when client disconnects, automatically issue ABORT
  before issuing DISCARD ALL

- Add SSL support

- Allow to specify queries issued when starting sessions

- Audit functionality?

- Make accept queue

- Graceful shutdown, attach, detach

* Query handling

- Enhance DROP DATABASE handling (not disconnect all idle connections)

* Replication

- Allow per table replication

- Allow per session level and query level load balancing

- Allow replication of SEQUENCE

- Allow replication of OID

- Allow to specify functions to be replicated other than nextval(), setval()

* On line recovery

- Allow recovery_1st_stage_command to get PostgreSQL listen port,
  database cluster directory etc. info

* Query cache

- Cache invalidation

* Parallel query

- Performance enhance for more complex queries

- Allow to handle transaction

- Allow to handle extended queries

- process alias in FROM clause

db=# select * from data1 as d1 inner join data2 as d2 on d1.id=d2.id;
ERROR:  sql error
DETAIL:  ERROR:  missing FROM-clause entry for table "d1"
LINE 1: SELECT pool_parallel("SELECT d1.id, d1.aaaa, d1.bbbb...
               ^
2008-03-11 10:28:17 LOG:   pid 6186: statement: SELECT pool_parallel("SELECT d1.id, d1.aaaa, d1.bbbb, a.cccc FROM data1")

- process USING clause in JOIN

* Docs

- Write libpcp API docs
