Re: 8.4 release planning

Kohei KaiGai <kaigai@kaigai.gr.jp>

From: KaiGai Kohei <kaigai@kaigai.gr.jp>
To: Dave Page <dpage@pgadmin.org>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Gregory Stark <stark@enterprisedb.com>, Simon Riggs <simon@2ndquadrant.com>, Bruce Momjian <bruce@momjian.us>, Robert Haas <robertmhaas@gmail.com>, Bernd Helmle <mailings@oopsware.de>, Peter Eisentraut <peter_e@gmx.net>, pgsql-hackers@postgresql.org
Date: 2009-01-26T17:20:46Z
Lists: pgsql-hackers
Dave Page wrote:
> On Mon, Jan 26, 2009 at 4:20 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> Dave Page <dpage@pgadmin.org> writes:
>>> On Mon, Jan 26, 2009 at 3:58 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>>>> This is pretty much exactly how I see it.  *Hot standby is not ready*,
>>> So can you give us an idea of what parts of the code are in need of
>>> rethinking etc? I assume you've looked at it now if you can estimate
>>> it's going to take another 10 -12 months?
>> No, I'm just estimating that based on the amount of design churn that's
>> still going on according to the mailing list discussions.  I haven't
>> looked at the code at all.  (If you expect me to sign off on it you can
>> figure it'll be a couple of months even for that to happen...)
> 
> Well there is one of the problems imho - the project is getting too
> big and the patches are getting too complex for us to be able to rely
> on you to sign off on every feature or major patch. We need put more
> trust in the judgement of the other committers and senior developers
> otherwise the project will simply bottleneck as you get more and more
> overworked.

About another issued patch, SE-PostgreSQL has been also said
large and complex. However, I cannot believe the reputation
reflects the correct shape.

As I noted in another message, the main patch of SE-PostgreSQL
changes 110 files, inserts 9813 lines, deletes 16 lines and
modifies 924 lines. It might seem the patch is large/complex.

However, 8207 of 9813 lines are on "src/backend/security/*" and
"src/include/security/*" because of its modular design.
It means most of patch simply adds new files.
The 504 of 924 lines modifications are due to a new field in
pg_attribute system catalog, so it is obvious change.
Rest of relatively-large changes are 293 lines in copy.c and
209 lines in execMain.c.

I don't think it is too complex patch to hesiate reviewing.
So, I believe we can move it to "ready to commit" state
within reasonable term, as long as we make it progress.

Thanks,

[kaigai@fedora10 ~]$ diffstat sepostgresql-sepgsql-8.4devel-3-r1467.patch
  configure                                     |  113 +
  configure.in                                  |   13
  src/Makefile.global.in                        |    1
  src/backend/Makefile                          |    7
  src/backend/access/common/heaptuple.c         |   35
  src/backend/access/common/reloptions.c        |   22
  src/backend/access/common/tupdesc.c           |   12
  src/backend/access/heap/heapam.c              |   19
  src/backend/access/heap/tuptoaster.c          |   19
  src/backend/bootstrap/bootparse.y             |   13
  src/backend/bootstrap/bootstrap.c             |    8
  src/backend/catalog/Makefile                  |    1
  src/backend/catalog/aclchk.c                  |    2
  src/backend/catalog/catalog.c                 |    4
  src/backend/catalog/heap.c                    |   91 !
  src/backend/catalog/index.c                   |   16
  src/backend/catalog/pg_aggregate.c            |    3
  src/backend/catalog/pg_largeobject.c          |    5
  src/backend/catalog/pg_proc.c                 |    6
  src/backend/catalog/toasting.c                |    3
  src/backend/commands/cluster.c                |   11
  src/backend/commands/copy.c                   |  293 +++!
  src/backend/commands/dbcommands.c             |   20
  src/backend/commands/functioncmds.c           |   29
  src/backend/commands/lockcmds.c               |    3
  src/backend/commands/proclang.c               |    6
  src/backend/commands/tablecmds.c              |   25
  src/backend/commands/trigger.c                |   25
  src/backend/executor/execJunk.c               |    6
  src/backend/executor/execMain.c               |  209 +++
  src/backend/executor/execQual.c               |    4
  src/backend/executor/execScan.c               |   40
  src/backend/executor/execTuples.c             |   19
  src/backend/executor/execUtils.c              |   10
  src/backend/executor/functions.c              |    6
  src/backend/executor/nodeAgg.c                |    5
  src/backend/executor/nodeMergejoin.c          |    2
  src/backend/executor/nodeSubplan.c            |    4
  src/backend/executor/nodeWindowAgg.c          |    4
  src/backend/executor/spi.c                    |    4
  src/backend/libpq/be-fsstubs.c                |   16
  src/backend/nodes/copyfuncs.c                 |   30
  src/backend/nodes/equalfuncs.c                |   22
  src/backend/nodes/outfuncs.c                  |   34
  src/backend/nodes/readfuncs.c                 |   43
  src/backend/optimizer/plan/createplan.c       |    6
  src/backend/optimizer/plan/planner.c          |    1
  src/backend/optimizer/util/clauses.c          |    5
  src/backend/optimizer/util/relnode.c          |    1
  src/backend/parser/analyze.c                  |   46
  src/backend/parser/gram.y                     |   64 !
  src/backend/parser/parse_target.c             |   64 !
  src/backend/postmaster/postmaster.c           |   43
  src/backend/rewrite/rewriteHandler.c          |    3
  src/backend/security/Makefile                 |   23
  src/backend/security/pgaceCommon.c            |  729 ++++++++++++
  src/backend/security/pgaceHooks.c             | 1547 ++++++++++++++++++++++++++
  src/backend/security/rowacl/rowacl.c          |  721 ++++++++++++
  src/backend/security/sepgsql/avc.c            | 1200 ++++++++++++++++++++
  src/backend/security/sepgsql/core.c           |  623 ++++++++++
  src/backend/security/sepgsql/hooks.c          | 1019 +++++++++++++++++
  src/backend/security/sepgsql/permissions.c    |  785 +++++++++++++
  src/backend/security/sepgsql/proxy.c          | 1097 ++++++++++++++++++
  src/backend/storage/file/fd.c                 |    7
  src/backend/storage/ipc/ipci.c                |    2
  src/backend/tcop/fastpath.c                   |    2
  src/backend/tcop/pquery.c                     |    2
  src/backend/tcop/utility.c                    |    3
  src/backend/utils/adt/acl.c                   |    6
  src/backend/utils/adt/ri_triggers.c           |   25
  src/backend/utils/adt/trigfuncs.c             |   11
  src/backend/utils/cache/catcache.c            |   32
  src/backend/utils/cache/plancache.c           |   12
  src/backend/utils/cache/relcache.c            |   38
  src/backend/utils/cache/syscache.c            |   40
  src/backend/utils/fmgr/dfmgr.c                |   10
  src/backend/utils/init/postinit.c             |    4
  src/backend/utils/misc/guc.c                  |   58
  src/backend/utils/misc/postgresql.conf.sample |    6
  src/include/access/htup.h                     |   68 +
  src/include/access/sysattr.h                  |    9
  src/include/access/tupdesc.h                  |    2
  src/include/catalog/heap.h                    |   11
  src/include/catalog/indexing.h                |    5
  src/include/catalog/pg_attribute.h            |  504 !!!!!!!!
  src/include/catalog/pg_class.h                |    2
  src/include/catalog/pg_proc.h                 |   21
  src/include/catalog/pg_proc_fn.h              |    3
  src/include/catalog/pg_security.h             |   31
  src/include/catalog/pg_type.h                 |    1
  src/include/executor/executor.h               |   11
  src/include/executor/tuptable.h               |    4
  src/include/fmgr.h                            |    3
  src/include/libpq/be-fsstubs.h                |    3
  src/include/nodes/nodes.h                     |    3
  src/include/nodes/parsenodes.h                |   17
  src/include/nodes/plannodes.h                 |   10
  src/include/nodes/relation.h                  |    2
  src/include/nodes/security.h                  |   40
  src/include/pg_config.h.in                    |    3
  src/include/security/pgace.h                  |  181 +++
  src/include/security/rowacl.h                 |   41
  src/include/security/sepgsql.h                |  241 ++++
  src/include/storage/fd.h                      |    1
  src/include/storage/lwlock.h                  |    1
  src/include/utils/acl.h                       |    7
  src/include/utils/catcache.h                  |    1
  src/include/utils/errcodes.h                  |    7
  src/include/utils/rel.h                       |   18
  src/include/utils/syscache.h                  |    4
  110 files changed, 9813 insertions(+), 16 deletions(-), 924 modifications(!)

-- 
KaiGai Kohei <kaigai@kaigai.gr.jp>