Обсуждение: Please review TODO list

Поиск
Список
Период
Сортировка

Please review TODO list

От
Bruce Momjian
Дата:
Would people please check the TODO list in pgsql/doc/TODO or on our web
site, and let me know if there are any items that need a dash because
they are completed in 7.1?  I think I may have missed a few.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: Please review TODO list

От
Peter Eisentraut
Дата:
Bruce Momjian writes:

> Would people please check the TODO list in pgsql/doc/TODO or on our web
> site, and let me know if there are any items that need a dash because
> they are completed in 7.1?  I think I may have missed a few.

The following are done:

* Prevent initdb from running wrong version of postmaster/postgres
(me)

* Add support for & operator

(Support for & operators has been there for a long time.  Incidentally,
there are builtin & operators now.)

* Add ALTER TABLE command to change table ownership (Mark H)

* Add ALTER USER command to change user db attributes

(We've had this one even before this TODO item was added.)

* add pg_dump option to dump type names as standard ANSI types

(There's no option, it's the default.)

-- 
Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/



Re: Please review TODO list

От
Philip Warner
Дата:
Don't know whether this belongs on the TODO, but it probably needs to go
somewhere in a 'New Features' section (at least the first two items):

pg_dump:
--------

- Support BLOBs in pg_dump (pjw)
- new utility, pg_restore, which will read dump files and restore  all/some of the dump. Also supports reordering of
outputand  direct database connections. (pjw)
 
- Support for PRIMARY KEY constraints (Bruce?)
- Allow pg_dump to create TAR archive rather than monolithic SQL file (pjw)
- Dump views using a 'CREATE VIEW' statement (pjw)
- Restore sequences properly, including 'is_called' flag (pjw).

other:
------

- New 3 parameter setval.


----------------------------------------------------------------
Philip Warner                    |     __---_____
Albatross Consulting Pty. Ltd.   |----/       -  \
(A.B.N. 75 008 659 498)          |          /(@)   ______---_
Tel: (+61) 0500 83 82 81         |                 _________  \
Fax: (+61) 0500 83 82 82         |                 ___________ |
Http://www.rhyme.com.au          |                /           \|                                |    --________--
PGP key available upon request,  |  /
and from pgp5.ai.mit.edu:11371   |/


Re: Please review TODO list

От
Tom Lane
Дата:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> Would people please check the TODO list in pgsql/doc/TODO or on our web
> site, and let me know if there are any items that need a dash because
> they are completed in 7.1?  I think I may have missed a few.


* have INTERSECT/EXCEPT prevent duplicates unless ALL is specified

Done (me).

* SELECT col::DECIMAL(12,10); fails

Uh, what's the complaint here?  I don't see a problem in a cursory
check.

* Creating view and inheriting the view causes view* to show duplicates (inherit) 

We seem to prohibit this from being done now, so I'd call it fixed:
regression=# create view zz1 as select * from int8_tbl;
CREATE
regression=# create table zz2 () inherits(zz1);
ERROR:  CREATE TABLE: inherited relation "zz1" is not a table

* Buffer reference counting bugfixes
* Fix libpq bug that causes it to drop backend error message sent just before connection closure (ie, any FATAL error
message)

Uh, both of those are done aren't they?

* Modification  of  pg_class  can  happen while table in use by another backend.  Might  lead  to  MVCC  inside  of
syscache

This might or might not be OK now.  Comments anyone?

* Fix memory leak for expressions[memory] (Tom?) 

I think this is largely done, though there may be some remaining leak
cases.

* Make n of CHAR(n)/VARCHAR(n) the number of letters, not bytes

I think this might be done (Tatsuo, what's the status?)

* Add btree index support for reltime, tinterval, regproc, bit, varbit

bit and varbit seem to work now.

* Create insert, update and delete rules for simple one table views
* Automatically create rules on views so they are updateable, per SQL92

I think these two items are the same thing, no?

* Allow ORDER BY...LIMIT in INSERT INTO ... SELECT

This is done (me).

* Emit a warning at foreign key creation time if no UNIQUE index exists on referenced primary key attributes

I think we actually emit an error now.

* Use IPC_EXCL when creating shared memory and semaphores

Done (me).

* Use flock() to prevent multiple postmasters on the same port [flock]

This is done, although we ended up using a lock file not flock().

* Include heap CTID in btree index keys, remove equal-key cruft from btree

This is done, I think, though not exactly in the way the TODO item
envisions.

* Fix LIKE indexing optimization for non-ASCII locales

I've applied a brute-force solution, which is not to do any LIKE
optimization in non-ASCII locales :-(.  This is not an ideal answer,
but perhaps the TODO item should read more like "Figure out how to
do LIKE indexing optimization in non-ASCII locales".

* Allow char() not to use variable-sized header to reduce disk size

Between MULTIBYTE and TOAST, I'd say this idea is dead as a doornail.
Might as well remove the TODO item.

* Make oid use oidin/oidout not int4in/int4out in pg_type.h

Done.

* improve dynamic memory allocation by introducing tuple-context memory allocation [memory]

I believe all the issues mentioned in TODO.detail/memory are done.
There may still be some leaks to be fixed, but the worst problems
are dealt with.

* prevent labels from being output for stored rules (Tom)

Now that we have TOAST for pg_rewrite, I think this is a dead issue.
        regards, tom lane


Re: Please review TODO list

От
Tatsuo Ishii
Дата:
> * Make n of CHAR(n)/VARCHAR(n) the number of letters, not bytes
> 
> I think this might be done (Tatsuo, what's the status?)

Not yet. Probably will be left for 7.2.
--
Tatsuo Ishii


Re: Please review TODO list

От
Bruce Momjian
Дата:
Thanks.  TODO updated.

> Bruce Momjian writes:
> 
> > Would people please check the TODO list in pgsql/doc/TODO or on our web
> > site, and let me know if there are any items that need a dash because
> > they are completed in 7.1?  I think I may have missed a few.
> 
> The following are done:
> 
> * Prevent initdb from running wrong version of postmaster/postgres
> (me)
> 
> * Add support for & operator
> 
> (Support for & operators has been there for a long time.  Incidentally,
> there are builtin & operators now.)
> 
> * Add ALTER TABLE command to change table ownership (Mark H)
> 
> * Add ALTER USER command to change user db attributes
> 
> (We've had this one even before this TODO item was added.)
> 
> * add pg_dump option to dump type names as standard ANSI types
> 
> (There's no option, it's the default.)
> 
> -- 
> Peter Eisentraut      peter_e@gmx.net       http://yi.org/peter-e/
> 
> 


--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: Please review TODO list

От
Bruce Momjian
Дата:
Seems these are all properly listed in the HISTORY file for the 7.1
release.

> 
> Don't know whether this belongs on the TODO, but it probably needs to go
> somewhere in a 'New Features' section (at least the first two items):
> 
> pg_dump:
> --------
> 
> - Support BLOBs in pg_dump (pjw)
> - new utility, pg_restore, which will read dump files and restore 
>   all/some of the dump. Also supports reordering of output and 
>   direct database connections. (pjw)
> - Support for PRIMARY KEY constraints (Bruce?)
> - Allow pg_dump to create TAR archive rather than monolithic SQL file (pjw)
> - Dump views using a 'CREATE VIEW' statement (pjw)
> - Restore sequences properly, including 'is_called' flag (pjw).
> 
> other:
> ------
> 
> - New 3 parameter setval.
> 
> 
> ----------------------------------------------------------------
> Philip Warner                    |     __---_____
> Albatross Consulting Pty. Ltd.   |----/       -  \
> (A.B.N. 75 008 659 498)          |          /(@)   ______---_
> Tel: (+61) 0500 83 82 81         |                 _________  \
> Fax: (+61) 0500 83 82 82         |                 ___________ |
> Http://www.rhyme.com.au          |                /           \|
>                                  |    --________--
> PGP key available upon request,  |  /
> and from pgp5.ai.mit.edu:11371   |/
> 


--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: Please review TODO list

От
Bruce Momjian
Дата:
I agree with all your conclusions.  I thought many of the items on the
TODO list looked like things you had addressed.  TODO list updated. 
Thanks.

> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > Would people please check the TODO list in pgsql/doc/TODO or on our web
> > site, and let me know if there are any items that need a dash because
> > they are completed in 7.1?  I think I may have missed a few.
> 
> 
> * have INTERSECT/EXCEPT prevent duplicates unless ALL is specified
> 
> Done (me).
> 
> * SELECT col::DECIMAL(12,10); fails
> 
> Uh, what's the complaint here?  I don't see a problem in a cursory
> check.
> 
> * Creating view and inheriting the view causes view* to show
>   duplicates (inherit) 
> 
> We seem to prohibit this from being done now, so I'd call it fixed:
> regression=# create view zz1 as select * from int8_tbl;
> CREATE
> regression=# create table zz2 () inherits(zz1);
> ERROR:  CREATE TABLE: inherited relation "zz1" is not a table
> 
> * Buffer reference counting bugfixes
> * Fix libpq bug that causes it to drop backend error message sent
>   just before connection closure (ie, any FATAL error message)
> 
> Uh, both of those are done aren't they?
> 
> * Modification  of  pg_class  can  happen while table in use by
>   another backend.  Might  lead  to  MVCC  inside  of  syscache
> 
> This might or might not be OK now.  Comments anyone?
> 
> * Fix memory leak for expressions[memory] (Tom?) 
> 
> I think this is largely done, though there may be some remaining leak
> cases.
> 
> * Make n of CHAR(n)/VARCHAR(n) the number of letters, not bytes
> 
> I think this might be done (Tatsuo, what's the status?)
> 
> * Add btree index support for reltime, tinterval, regproc, bit, varbit
> 
> bit and varbit seem to work now.
> 
> * Create insert, update and delete rules for simple one table views
> * Automatically create rules on views so they are updateable, per SQL92
> 
> I think these two items are the same thing, no?
> 
> * Allow ORDER BY...LIMIT in INSERT INTO ... SELECT
> 
> This is done (me).
> 
> * Emit a warning at foreign key creation time if no UNIQUE index
>   exists on referenced primary key attributes
> 
> I think we actually emit an error now.
> 
> * Use IPC_EXCL when creating shared memory and semaphores
> 
> Done (me).
> 
> * Use flock() to prevent multiple postmasters on the same port [flock]
> 
> This is done, although we ended up using a lock file not flock().
> 
> * Include heap CTID in btree index keys, remove equal-key cruft from btree
> 
> This is done, I think, though not exactly in the way the TODO item
> envisions.
> 
> * Fix LIKE indexing optimization for non-ASCII locales
> 
> I've applied a brute-force solution, which is not to do any LIKE
> optimization in non-ASCII locales :-(.  This is not an ideal answer,
> but perhaps the TODO item should read more like "Figure out how to
> do LIKE indexing optimization in non-ASCII locales".
> 
> * Allow char() not to use variable-sized header to reduce disk size
> 
> Between MULTIBYTE and TOAST, I'd say this idea is dead as a doornail.
> Might as well remove the TODO item.
> 
> * Make oid use oidin/oidout not int4in/int4out in pg_type.h
> 
> Done.
> 
> * improve dynamic memory allocation by introducing tuple-context memory
>   allocation [memory]
> 
> I believe all the issues mentioned in TODO.detail/memory are done.
> There may still be some leaks to be fixed, but the worst problems
> are dealt with.
> 
> * prevent labels from being output for stored rules (Tom)
> 
> Now that we have TOAST for pg_rewrite, I think this is a dead issue.
> 
>             regards, tom lane
> 


--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
853-3000+  If your life is a hard drive,     |  830 Blythe Avenue +  Christ can be your backup.        |  Drexel Hill,
Pennsylvania19026
 


Re: Please review TODO list

От
Hannu Krosing
Дата:
Tom Lane wrote:
> 
> * Fix LIKE indexing optimization for non-ASCII locales
> 
> I've applied a brute-force solution, which is not to do any LIKE
> optimization in non-ASCII locales :-(.  
What is a non-ASCII locale ? Anything that is not LC_ALL=ASCII ?

BTW, it would really help if we had a way to query for locale at
runtime,
like SELECT CURRENT_LOCALE(); 

How should one find out which locale we are in ?
From your comment above I assume that you know it ;) 

> This is not an ideal answer,
> but perhaps the TODO item should read more like "Figure out how to
> do LIKE indexing optimization in non-ASCII locales".

I think that the cleanest solution should be to define our own locales 
that can be doctored to satisfy the LIKE optimisation requirements.
We will probably need something like that in the future anyway as AFAIK
SQL 9x requires ability to have locales applicable on field-to-field
basis
not just one per host.

-------------
Hannu