Tom Lane [Wed, 19 Jan 2000 23:55:03 +0000 (23:55 +0000)]
Fix handling of NULL constraint conditions: per SQL92 spec, a NULL result
from a constraint condition does not violate the constraint (cf. discussion
on pghackers 12/9/99). Implemented by adding a parameter to ExecQual,
specifying whether to return TRUE or FALSE when the qual result is
really NULL in three-valued boolean logic. Currently, ExecRelCheck is
the only caller that asks for TRUE, but if we find any other places that
have the wrong response to NULL, it'll be easy to fix them.
Bruce Momjian [Tue, 18 Jan 2000 19:05:31 +0000 (19:05 +0000)]
Hi!
Here is a patch to bring both libpq and psql to a state where it compiles on
win32 (native) again. A lot of things have changed, and I have not been able
to keep up with them all, so it has been broken for quite a while.
After this patch, at least it compiles. It also talks "basic talk" to the
server, but I have not yet tested all things. Sending queries, and using
e.g. \d or \dt works fine. The rest will have to be tested further.
It also bumps the version on libpq.dll to 7.0.
Everything should be enclosed in #ifdef WIN32, unless I have missed
something. Except for one or maybe two places where I have moved a #include
that should not be used on win32 from the "global area" into a "#ifndef
WIN32 area".
Bruce Momjian [Tue, 18 Jan 2000 18:09:02 +0000 (18:09 +0000)]
Bruce,
Attached is a patch which patches cleanly against the Sunday afternoon
snapshot. It modifies pg_dump to dump COMMENT ON statements for
user-definable descriptions. In addition, it also modifies comment.c so
that the operator behavior is as Peter E. would like: a comment on an
operator is applied to the underlying function.
Tom Lane [Tue, 18 Jan 2000 03:44:41 +0000 (03:44 +0000)]
numeric_in accepts exponents; numeric to int4 rounds; float4/8 to numeric
is considerably more robust and accurate than it used to be.
Also, get rid of numeric's private allocation freelist, which is no longer
a win since Jan rewrote palloc.
Tom Lane [Mon, 17 Jan 2000 23:57:48 +0000 (23:57 +0000)]
setheapoverride() is history. Uses replaced with CommandCounterIncrement()
where necessary --- several of them didn't really need it, though.
tqual-checking macros simplified accordingly.
Tom Lane [Mon, 17 Jan 2000 02:59:46 +0000 (02:59 +0000)]
Modify libpq's pqexpbuffer to eliminate length restriction on how much
data can be formatted per call. This requires relying on vsnprintf().
On machines that haven't got vsnprintf, link in the version from
backend/port/.
Tom Lane [Mon, 17 Jan 2000 02:04:16 +0000 (02:04 +0000)]
Pass atttypmod to CoerceTargetExpr, so that it can pass it on to
coerce_type, so that the right things happen when coercing a previously-
unknown constant to a destination data type.
Tom Lane [Mon, 17 Jan 2000 01:29:07 +0000 (01:29 +0000)]
Hmm, numeric array type was missing too. Added.
Of the standard types, only 'timestamp' seems not to have an array type;
should it be added, or are we going to remove that type for 7.0 anyway?
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)