Re: I am done

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Christopher Kings-Lynne <chriskl(at)familyhealth(dot)com(dot)au>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: I am done
Date: 2002-09-02 15:22:36
Message-ID: 200209021522.g82FMaW12721@candle.pha.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Tom Lane wrote:
> "Christopher Kings-Lynne" <chriskl(at)familyhealth(dot)com(dot)au> writes:
> > You can probably nail some TODOs:
>
> > * Allow autocommit so always in a transaction block
>
> This isn't really done; the backend side is probably okay, but we have
> a ton of client-side code that will malfunction if you try to run it in
> autocommit-off state. I'm willing to ship it that way for 7.3, but we
> should certainly have a TODO item indicating that client libraries,
> psql, etc need work.

My feeling is that we have to fix this during beta.

Added to open items:

Fix client apps for autocommit = off

> Other TODO items that are done, or at least better than 7.2:
>
> * Show location of syntax error in query [yacc]
>
> The character-position hack addresses this, though surely it's not complete.

Yep, still on the TODO.

>
> * Allow logging of query durations
>
> Didn't Bruce just commit that?

Thanks. Marked as done now.

> * Make single-user local access permissions the default by limiting
> permissions on the socket file (Peter E)
>
> I believe we have decided *not* to do this.

Yes, removed.

> * Reserve last few process slots for super-user if max_connections reached
> * Add GUC parameter to print queries that generate errors
>
> Both done, no?

Yep, marked, but right now there is no good way to turn off the printing
of queries on errors. We have to address that before 7.3 final.

> * Declare typein/out functions in pg_proc with a special "C string" data type
> * Functions returning sets do not totally work
>
> Both done (the remaining work on sets is covered by another item)

Marked.

>
> * Allow bytea to handle LIKE with non-TEXT patterns
>
> I didn't want to apply Joe's patch at this late hour, but I think Bruce
> did it anyway.

I think he made the deadline and no one objected.

> o Store binary-compatible type information in the system
>
> Done, see pg_cast.

Marked.

>
> o -SELECT col FROM tab WHERE numeric_col = 10.1 fails, requires quotes
>
> This should not be marked done; the problem is still there, just this
> particular symptom went away.

Someone reported to me it was done. I have removed the item because
though it isn't a bug query anymore, it isn't as fixed as we would like.
We still have:

o Allow better handling of numeric constants, type conversion

Can someone give me another example failing query?

> o Ensure we have array-eq operators for every built-in array type
>
> Did that; there's even a regression test to catch the omission in
> future.

Marked.

>
> * Allow setting database character set without multibyte enabled
>
> This is probably irrelevant now that multibyte can't be disabled.

Item removed.

> * Have UPDATE/DELETE clean out indexes
>
> This entry makes no sense to me; unless we abandon the entire concept of
> MVCC, this is not gonna happen.

Good point. Now that we have light vacuum, we are fine.

> o ALTER TABLE ADD COLUMN to inherited table put column in wrong place
> [inheritance]
>
> While this isn't done, its urgency has dropped an awful lot now that
> pg_dump knows to use COPY column lists; you don't have to worry about
> dump/restore breakage. Accordingly, I doubt we're ever gonna try to
> change it.

OK, removed. Can we dump/reload the regression database now? What
areas still need this fix?

> o Add ALTER FUNCTION
>
> What is ALTER FUNCTION? How does it differ from CREATE OR REPLACE
> FUNCTION?

Removed. I think it was thought of before the CREATE OR REPLACE idea
came around.

> o -ALTER TABLE ADD PRIMARY KEY (Tom)
> o -ALTER TABLE ADD UNIQUE (Tom)
>
> AFAIR, I didn't do either of those; I think Chris K-L gets the credit.

Done.

> o ALTER TABLE ADD COLUMN column SERIAL doesn't create sequence
>
> This is not a problem. The actual problem with adding a serial column
> is covered by the next entry:
> o ALTER TABLE ADD COLUMN column DEFAULT should fill existing
> rows with DEFAULT value

Well, the lack of sequence for a SERIAL is an issue if only related to
the DEFAULT issue so I will keep it.

> o -Cluster all tables at once using pg_index.indisclustered set during
> previous CLUSTER
>
> This is not done, unless we are going to accept Alvaro's last-minute
> patch for it; which I vote we don't. It's too big a change.

Well, we have clusterdb. One thing that bothers me is that we have
clusterdb and /contrib/reindexdb going out new in 7.3, only to be
removed in 7.4 when we get the table scan done in the backend code ---
not a great API solution but we may have to live with it.

>
> o Prevent DROP of table being referenced by our own open cursor
>
> Huh? There is no such bug that I know of.

Well, actually, there is or was. The issue is that if you open a cursor
in a transaction, then drop the table while the cursor is open, all
sorts of weird things happen:

test=> create table test (x int);
CREATE TABLE
test=> insert into test values (1);
INSERT 149484 1
test=> begin;
BEGIN
test=> declare xx cursor for select * from test;
DECLARE CURSOR
test=> fetch xx;
x
---
1
(1 row)

test=> drop table test;
WARNING: FlushRelationBuffers(test, 0): block 0 is referenced (private 2, global 1)
ERROR: heap_drop_with_catalog: FlushRelationBuffers returned -2

> o -Disallow missing columns in INSERT ... VALUES, per ANSI
>
> What is this, and why is it marked done?

We used to allow INSERT INTO tab VALUES (...) to skip the trailing
columns and automatically fill in null's. That is fixed, per ANSI.

> o -Remove SET KSQO option now that OR processing is improved (Tom)
>
> I don't think I get the credit (blame?) for this one, either.

I think your name was on it because you were the contact for it. I
think I did the dirty work. That is how some of these got your name.

> * Have pg_dump use LEFT OUTER JOIN in multi-table SELECTs
> or multiple SELECTS to avoid bad system catalog entries
>
> Isn't this pretty much done?

Yes, I suspected it was but wasn't sure. Marked as done now.

>
> * Add config file check for $ODBCINI, $HOME/.odbc.ini, installpath/etc/odbc.ini
>
> With ODBC out of the main distro, this isn't our problem anymore.

Yep, removed the ODBC section too.

> * Fix foreign key constraints to not error on intermediate db states (Stephan)
>
> Isn't this done?

Yes, I think Stephan took care of it, but wasn't sure. Marked as done.

> * Have SERIAL generate non-colliding sequence names when we have
> auto-destruction
>
> They should be pretty well non-colliding now. What's the gripe exactly?

The issue was that when there were name collisions, we threw an error
instead of trying other sequence names. We had to do that because we
needed the sequence name to be predictable so it could be auto-deleted.
Now with dependency, we don't need to have it be predictable. However,
we still use nextval() on the sequence name, so we can't say it is
arbitrary either. Should we just remove the item?

> * Propagate column or table renaming to foreign key constraints
>
> This is done.

Marked.

>
> * Remove wal_files postgresql.conf option because WAL files are now recycled
>
> Done, no?

Yep.

>
> * Improve dynamic memory allocation by introducing tuple-context memory
> allocation (Tom)
>
> Uh, wasn't that done long ago?

Yep, I think so, but I wasn't sure.

>
> * Nested FULL OUTER JOINs don't work (Tom)
>
> Fixed.

Done.

--
Bruce Momjian | http://candle.pha.pa.us
pgman(at)candle(dot)pha(dot)pa(dot)us | (610) 359-1001
+ If your life is a hard drive, | 13 Roberts Road
+ Christ can be your backup. | Newtown Square, Pennsylvania 19073

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Bruce Momjian 2002-09-02 15:23:13 Re: serial datatype changes for v7.3?
Previous Message Alvaro Herrera 2002-09-02 15:04:33 Re: I am done