Tom Lane [Mon, 17 Jan 2000 00:14:49 +0000 (00:14 +0000)]
Create a new parsetree node type, TypeCast, so that transformation of
SQL cast constructs can be performed during expression transformation
instead of during parsing. This allows constructs like x::numeric(9,2)
and x::int2::float8 to behave as one would expect.
Tom Lane [Sun, 16 Jan 2000 21:37:50 +0000 (21:37 +0000)]
Rearrange coding in COPY so that expansible string buffer for data being
read is reused for successive attributes, instead of being deleted and
recreated from scratch for each value read in. This reduces palloc/pfree
overhead a lot. COPY IN still seems to be noticeably slower than it was
in 6.5 --- we need to figure out why. This change takes care of the only
major performance loss I can see in copy.c itself, so the performance
problem is at a lower level somewhere.
Tom Lane [Sun, 16 Jan 2000 21:18:52 +0000 (21:18 +0000)]
Sigh, I'm an idiot ... I broke the async startup logic a couple days ago,
by creating a race condition. It wasn't waiting for select() to say
write-ready immediately after connect, which meant that you might get
an unhelpful 'broken pipe' error message if connect failed, rather than
the intended error message.
Tom Lane [Sun, 16 Jan 2000 19:57:00 +0000 (19:57 +0000)]
Repair breakage of inherited constraint expressions --- needed a
CommandCounterIncrement to make new relation visible before trying to
parse/deparse the expressions. Also, eliminate unnecessary
setheapoverride calls in AddNewAttributeTuples.
Tom Lane [Sun, 16 Jan 2000 03:54:58 +0000 (03:54 +0000)]
Clean up pg_dump coredumps caused by change of output formatting for
oidvector/int2vector. pg_dump code was assuming that it would see
exactly FUNC_MAX_ARGS integers in the string returned by the backend.
That's no longer true. (Perhaps that change wasn't such a good idea
after all --- will it break any other applications??)
Tom Lane [Sat, 15 Jan 2000 23:42:49 +0000 (23:42 +0000)]
Clean up problems with rounding/overflow code in NUMERIC, particularly
the case wherein zero was rejected for a field like NUMERIC(4,4).
Miscellaneous other code beautification efforts.
Tom Lane [Sat, 15 Jan 2000 22:43:25 +0000 (22:43 +0000)]
Fix a passel of problems with incorrect calls to typinput and typoutput
functions, which would lead to trouble with datatypes that paid attention
to the typelem or typmod parameters to these functions. In particular,
incorrect code in pg_aggregate.c explains the platform-specific failures
that have been reported in NUMERIC avg().
Tom Lane [Sat, 15 Jan 2000 19:18:24 +0000 (19:18 +0000)]
Now that new psql is fflush()'ing properly, it emerges that several
regress test expected outputs were committed with NOTICEs appearing out
of order. Update to correct results.
Peter Eisentraut [Sat, 15 Jan 2000 18:30:35 +0000 (18:30 +0000)]
- Allow array on int8
- Prevent permissions on indexes
- Instituted --enable-multibyte option and tweaked the MB build process where necessary
- initdb prompts for superuser password
Peter Eisentraut [Fri, 14 Jan 2000 22:11:38 +0000 (22:11 +0000)]
* User management commands no longer user pg_exec_query_dest -> more robust
* Let unprivileged users change their own passwords.
* The password is now an Sconst in the parser, which better reflects its text datatype and also
forces users to quote them.
* If your password is NULL you won't be written to the password file, meaning you can't connect
until you have a password set up (if you use password authentication).
* When you drop a user that owns a database you get an error. The database is not gone.
Tom Lane [Fri, 14 Jan 2000 05:33:15 +0000 (05:33 +0000)]
Clean up some problems in new asynchronous-connection logic
in libpq --- mostly, poor response to error conditions. You now actually
get to see the postmaster's 'The Data Base System is starting up' message,
which you didn't before. I suspect the SSL code is still broken though.
Tom Lane [Fri, 14 Jan 2000 00:53:21 +0000 (00:53 +0000)]
Revise quoting conventions in outfuncs/readfuncs so that nodeRead doesn't
choke on relation or attribute names containing spaces, quotes, or other
special characters. This fixes a TODO item. It also forces initdb,
since stored rule strings change.
Tatsuo Ishii [Thu, 13 Jan 2000 01:08:14 +0000 (01:08 +0000)]
Add UDC (User Defined Characters) support to SJIS/EUC_JP conversion
Update README so that it reflects all source file names
Add an entry to make sjistest (testing between SJIS/EUC_JP conversion)
Hiroshi Inoue [Mon, 10 Jan 2000 06:30:56 +0000 (06:30 +0000)]
Improve cache invalidation handling. Eespecially
this would fix TODO
* elog() flushes cache, try invalidating just entries from
current xact, perhaps using invalidation cache
Tom Lane [Mon, 10 Jan 2000 04:09:50 +0000 (04:09 +0000)]
Repair subtle VACUUM bug that led to 'HEAP_MOVED_IN was not expected'
errors. VACUUM normally compacts the table back-to-front, and stops
as soon as it gets to a page that it has moved some tuples onto.
(This logic doesn't make for a complete packing of the table, but it
should be pretty close.) But the way it was checking whether it had
got to a page with some moved-in tuples was to look at whether the
current page was the same as the last page of the list of pages that
have enough free space to be move-in targets. And there was other
code that would remove pages from that list once they got full.
There was a kluge that prevented the last list entry from being
removed, but it didn't get the job done. Fixed by keeping a separate
variable that contains the largest block number into which a tuple
has been moved. There's no longer any need to protect the last element
of the fraged_pages list.
Also, fix NOTICE messages to describe elapsed user/system CPU time
correctly.
Bruce Momjian [Sun, 9 Jan 2000 17:35:27 +0000 (17:35 +0000)]
The psql online help for ALTER TABLE (\h alter table) is corrupt. I
traced this back to what I believe is an error in the sgml file used to
generate this comment, found in pgsql/doc/src/sgml/ref/alter_table.sgml.
Tatsuo Ishii [Sun, 9 Jan 2000 12:15:57 +0000 (12:15 +0000)]
Move SetPidFile() and firends to utils/init/miscinit.c from
postmaster/postmaster.c so that
tcop/postgres.c can use them. Now we have an interlock between
postmaster and postgres.
Tom Lane [Sun, 9 Jan 2000 07:54:00 +0000 (07:54 +0000)]
New scheme for managing platform-specific regress test result files.
Instead of hard-wiring one result file per platform, there is a map file
'resultmap' that says which one to use --- a lot like template/.similar.
I have only created entries in resultmap for my own platform (HPUX) so
far; feel free to add lines for other platforms.
Tom Lane [Sun, 9 Jan 2000 06:30:55 +0000 (06:30 +0000)]
Remove obsolete platform-specific regress test comparison files.
Note: don't put any of these back till you've grokked the new code for
platform-specific comparisons that I'm about to commit...
Tom Lane [Sun, 9 Jan 2000 04:01:49 +0000 (04:01 +0000)]
Remove CVS $Header lines from a couple of regress test files that had
them --- it is just *way* too painful to keep expected results in sync
when these are present.