Commit Graph

6311 Commits

Author SHA1 Message Date
Tom Lane aa16179118 Add debug code to aid in memory-leak tracking: if SHOW_MEMORY_STATS is
defined then statistics about memory usage of all the global memory
contexts are printed after each commit.
2000-05-21 02:23:30 +00:00
Tom Lane 25a7a7f446 Clean up grotty references to CacheCxt (externs inside functions,
duplicate global declarations, no points for style at all!)
2000-05-20 23:11:29 +00:00
Tatsuo Ishii 1a6daef70d Enhance multibyte support.
SJIS UDC (NEC selection IBM kanji) support contributed by Eiji Tokuya
2000-05-20 13:12:26 +00:00
Tatsuo Ishii f1cb756c38 Add KEEPALIVE option to the socket of backend. This will automatically
terminate the backend that has no frontend anymore.
2000-05-20 13:10:54 +00:00
Tom Lane 8b5b3e0011 pg_dump barfs on negative values for index column numbers --- like, say,
an index on a table's OID column.  Mea maxima culpa ... but how'd we get
through beta with no one noticing this?
2000-05-19 23:00:00 +00:00
Tom Lane f923260ec8 Revise FlushRelationBuffers/ReleaseRelationBuffers per discussion with
Hiroshi.  ReleaseRelationBuffers now removes rel's buffers from pool,
instead of merely marking them nondirty.  The old code would leave valid
buffers for a deleted relation, which didn't cause any known problems
but can't possibly be a good idea.  There were several places which called
ReleaseRelationBuffers *and* FlushRelationBuffers, which is now
unnecessary; but there were others that did not.  FlushRelationBuffers
no longer emits a warning notice if it finds dirty buffers to flush,
because with the current bufmgr behavior that's not an unexpected
condition.  Also, FlushRelationBuffers will flush out all dirty buffers
for the relation regardless of block number.  This ensures that
pg_upgrade's expectations are met about tuple on-row status bits being
up-to-date on disk.  Lastly, tweak BufTableDelete() to clear the
buffer's tag so that no one can mistake it for being a still-valid
buffer for the page it once held.  Formerly, the buffer would not be
found by buffer hashtable searches after BufTableDelete(), but it would
still be thought to belong to its old relation by the routines that
sequentially scan the shared-buffer array.  Again I know of no bugs
caused by that, but it still can't be a good idea.
2000-05-19 03:22:31 +00:00
Tom Lane db90fdf9ab Correct busted syntax of CC invocation for tas.s. 2000-05-19 02:50:32 +00:00
Bruce Momjian e7be9d3303 Unset PGHOST 2000-05-18 16:11:39 +00:00
Bruce Momjian 6108a7ed6a Change remove function warning for built-ins. 2000-05-18 16:09:38 +00:00
Bruce Momjian 61f06bc2f1 Use postmaster -i only on certain platforms. 2000-05-18 15:58:43 +00:00
Bruce Momjian feaf1fc137 Throw NOTICE on built-in function removal 2000-05-18 15:45:00 +00:00
Bruce Momjian e17cfa8ff1 Add QNX localhost flag to regression tests 2000-05-18 15:37:56 +00:00
Bruce Momjian f63ba5cd6a Fix WARN->NOTICE in docs. Change libpgeasy connection parameters to use
PQconnectdb() style connections.
2000-05-18 14:24:38 +00:00
Tom Lane ba26aeebc1 Reduce COPY IN lock from AccessExclusive to a more reasonable
RowExclusive (my fault).  Also, install a check to prevent people
from trying COPY BINARY to stdout/from stdin.  No way that will
work unless we redesign the frontend COPY protocol ... which is
not worth the trouble in the near future ...
2000-05-18 01:52:45 +00:00
Bruce Momjian 362a0f68d9 The check of class string in configure (line 1732) fails because this class
is in <string> and not in <string.h> on QNX4/egcs-2.91.60.
Probably this can be changed for all platforms. The test in line 1705 uses
<string> as well. Because I am not sure, I havn't this included into the
patch.

doc/Makefile has to be sligthly  modified as it has been done for
src/backend/Makefile due to a QNX4 problem (patch attached)

Furthermore src/test/regress/run_check.sh needs to be patched as it has been
done for regress.sh (patch attached). Please note that in the patch the
postmaster is started always with the -i option.

run_check.sh reports the test "limit" as failed, but in reallity it is OK.
regress.sh reports it as OK.

Andreas Kardos
2000-05-17 16:57:41 +00:00
Bruce Momjian a8020a78ec Back out odbc changes until 7.1. 2000-05-17 15:36:37 +00:00
Michael Meskes e39a118694 *** empty log message *** 2000-05-17 06:03:14 +00:00
Bruce Momjian a47e20b049 Several compilation and run-time problems occur when building on SGI
IRIX systems using the native compilers.  A summary is:
- Various files use "//" as a comment delimiter in c files.
- Problems caused by assuming "char" is signed.
  cash.in: building -signed the rules regression test fails as described
    in FAQ_QNX4.  If CHAR_MAX is "255U" then ((signed char)CHAR_MAX) is -1.
  postmaster.c: random number regression test failed without this change.
- Some generic build issues and warning message cleanup.

David Kaelbling
2000-05-16 20:48:52 +00:00
Tom Lane 6dd06737ba Remove configure check for how to abbreviate 'tr A-Z a-z', and instead
just use the portable form,
tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz
There were a bunch of places that weren't paying attention to configure's
result anyway (including configure itself!?); clean them up too.
2000-05-16 02:14:15 +00:00
Peter Mount 33bb1aee91 Fixed the message Makefile produces after compiling. It still said
about the old Driver class, not the new package. Spotted by
Joseph Shraibman <jks@p1.selectacast.net>
2000-05-15 21:32:51 +00:00
Bruce Momjian 6cb0fff31d cleanup 2000-05-15 16:20:45 +00:00
Bruce Momjian dcec5ae2cd cleanup 2000-05-15 16:16:23 +00:00
Bruce Momjian 52831da26c Fix createlang -l dbname so it works, update sgml. 2000-05-15 16:12:39 +00:00
Michael Meskes ce2a9f372d *** empty log message *** 2000-05-15 09:36:06 +00:00
Peter Eisentraut d64aa21570 That psql option should be --no-readline (as it used to be), not --noreadline. 2000-05-14 18:05:05 +00:00
Bruce Momjian bdeeb4fe8a Finally fix LISTEN problem. 2000-05-14 03:18:35 +00:00
Bruce Momjian 6dedc79b1e Fix create user for pgaccess. 2000-05-14 00:50:16 +00:00
Tom Lane e8e7b6305a Tweak selectivity for area-based operators. Still a crock... 2000-05-13 06:04:46 +00:00
Bruce Momjian 2cfb14e8ea Fix the off by one errors in ResultSet from 6.5.3, and more.
I'm including a diff of
postgresql-7.0/src/interfaces/jdbc/org/postgresql/jdbc2/ResultSet.java.
I've clearly marked all the fixes I did. Would *someone* who has access
to the cvs please put this in?

Joseph Shraibman
2000-05-12 20:54:22 +00:00
Bruce Momjian a28f117790 This is the second time I've answered this exact same problem in two
days.  It seems to be a FAQ, and I think I know why. When creating a 'c'
language function, CREATE FUNCTION is fed the shared object filename,
and seems to succeed. Only when trying to use the function is an error
thrown, by which time the coder thinks something's wrong with executing
the code, not with loading it.

I think I once saw it proposed to load shared objects at function creation
time, but that idea was shot down on the grounds of resident memory bloat,
ISTR. Here's a patch for a compromise: all it does is stat() the file,
just like the loader code does, so that the errors caused by non existent
files, and no directory 'x' permissions (the most common ones, it seems),
get caught while the developer is still thinking about code loading. It
doesn't catch all errors (like the code not being readable by the postgres
user) but seems to catch the most common, without actually opening the file.

What do you think?

Ross
2000-05-12 18:51:59 +00:00
Bruce Momjian 40c992c7dd Back out -\?. Didn't look good to Peter. 2000-05-12 16:28:31 +00:00
Peter Eisentraut 9d31e3a991 /home/peter/commit-msg 2000-05-12 16:13:44 +00:00
Tom Lane 475cb157b9 Squash some more CLUSTER bugs. Never has worked on multiple-column
indexes, apparently, nor on functional indexes with more than one input
column (force of natts = 1 was in the wrong branch of IF statement).
Coredumped if source relation contained any uncommitted tuples, due to
failure to test for success return from heap_fetch.  Fetched tuple
was passed directly to heap_insert, which clobbers the TID and commit
status in the tuple header it's given, which meant that the source
relation's tuples all got trashed as the copy proceeded.  Abort partway
through, and you're left with a lot of missing tuples.
I wonder what else is lurking here ...
2000-05-12 16:10:09 +00:00
Marc G. Fournier be4ae8f4b2 this fixes the bug where setting the entry in he process table no longer works
under FreeBSD ... basically, if setproctitle() exists, use it ...

the draw back right now is the PS_SET_STATUS stuff doesn't work, but am looking
into that one right now ... at lesat now you can see who is connecting where
and from where ...
2000-05-12 14:33:08 +00:00
Marc G. Fournier 3383e8b828 Add two checks ... one for setproctitle and one for -lutil ...
Don't do anything with them at this time, but am working on that ...
2000-05-12 13:58:25 +00:00
Tom Lane 01911c98db Repair list-vs-node confusion that resulted in failure for INNER JOIN ON.
Make it behave correctly when there are more than two tables being
joined, also.  Update regression test expected outputs.
2000-05-12 01:33:56 +00:00
Bruce Momjian 4624b84cf2 Small cleanup of file. 2000-05-12 00:54:53 +00:00
Bruce Momjian 7da0f5d7de More psql help cleanup 2000-05-11 18:41:00 +00:00
Bruce Momjian 8101d0c571 Makefile CFLAGS cleanups. 2000-05-11 17:46:35 +00:00
Bruce Momjian 992e7dd4e3 Oops, plpgsql didn't have the datetime->timestamp and timespan->interval
mappings.  In fact, it had them backward because it was using the 6.5.*
code.  Copied them from parser/gram.y, so it is fixed now.  Looks like
our first 7.0.1 fix.  Oops, seems Tom has beat me to it as I was typing
this.
2000-05-11 04:00:00 +00:00
Tom Lane 37c652f89b Fix CLUSTER ... or at least undo the bit-rot it's suffered since 6.5.
It's still pretty fundamentally bogus :-(.
Freebie side benefit: ALTER TABLE RENAME works on indexes now.
2000-05-11 03:54:18 +00:00
Bruce Momjian e10c5597b7 Display -? as -\? under unix for psql. 2000-05-11 03:14:19 +00:00
Bruce Momjian 0fbde5d928 Add options and cleanup psql \? and -? help displays 2000-05-11 01:37:54 +00:00
Bruce Momjian 5a75ad5573 Update psql \? to show file rather than "fname". 2000-05-09 19:08:36 +00:00
Tom Lane b45f3a6e5b Forgot that dumpall's output script should 'delete from pg_group' before
loading new data, for consistency with its handling of pg_shadow.
2000-05-05 17:50:38 +00:00
Peter Eisentraut 5e4d8be18b psql: suppress warnings about too many arguments if the command is not valid in the first place 2000-05-05 09:38:40 +00:00
Peter Eisentraut 8322072188 Spello SERIALIZED -> SERIALIZABLE in psql tab completion 2000-05-05 08:44:27 +00:00
Peter Mount 02faee5eaa ImageViewer transaction fixes 2000-05-05 07:35:29 +00:00
Tom Lane c0337ec2a9 Force initdb because of pg_group index fix. 2000-05-05 03:10:24 +00:00
Tom Lane 3bd03b3803 Make the indexes on pg_group be shared system relations. 2000-05-05 03:09:43 +00:00
Tom Lane 3a69c316cc Accept pg_group as well as pg_shadow data from dumpall script.
Rearrange handling of VACUUMs so that they are certain to be executed
as superuser not some random user; also, do not forget to vacuum
template1 itself.
2000-05-05 03:08:20 +00:00
Tom Lane 3d1461802e Dump contents of pg_group along with pg_shadow. 2000-05-05 03:04:00 +00:00
Tom Lane 570a58f427 Don't leak a file descriptor when updating pg_pwd file. Also, check for
failure of rename() call.
2000-05-04 20:06:07 +00:00
Tom Lane de13d88146 Do not try to build libpq++ if class 'string' is not defined in the
available C++ header files.
2000-05-03 18:30:17 +00:00
Peter Mount 86b8bd0748 Minor fixes ready for 7.0 2000-05-03 15:58:09 +00:00
Bruce Momjian 7ef29a26cb Update SCO FAQ. Billy G. Allie 2000-05-02 10:57:11 +00:00
Tatsuo Ishii 832877e95a Modify getdatabaseencoding(), pg_encoding_to_char()
pg_char_to_encoding() in multibyte disbaled case so that it does not
throw an error, rather return HARD CODED default value (currently SQL_ASCII).
This would solve the "non-mb backend vs. mb-enabled frontend" problem.
2000-05-02 08:13:08 +00:00
Tom Lane f6a3b87c7b Reset CurrentMemoryContext to TopMemoryContext at the beginning of error
cleanup, ie, as soon as we have caught the longjmp.  This ensures that
current context will be a valid context throughout error cleanup.  Before
it was possible that current context was pointing at a context that would
get deleted during cleanup, leaving any subsequent pallocs in deep
trouble.  I was able to provoke an Assert failure when compiled with
asserts + -DCLOBBER_FREED_MEMORY, if I did something that would cause
an error to be reported by the backend large-object code, because indeed
that code operates in a context that gets deleted partway through xact
abort --- and CurrentMemoryContext was still pointing at it!  Boo hiss.
2000-04-30 21:29:23 +00:00
Tom Lane e0095c6c42 Remove bogus 'xid loop detected' check, which actually wasn't detecting
loops, but just arbitrarily failing at 1000 locks.
2000-04-30 21:23:31 +00:00
Bruce Momjian 2f19d11fc8 Clean up ecpg test files. 2000-04-29 03:25:24 +00:00
Bruce Momjian 0ccf3c8877 Update pgeasy examples 2000-04-28 22:49:25 +00:00
Bruce Momjian 0e69b81d25 Update libpgeasy define. 2000-04-28 17:19:42 +00:00
Bruce Momjian 7aa443d01e Change libpgeasy to take dbname at end like all other interfaces. 2000-04-28 14:58:51 +00:00
Tom Lane a90dc572ed Setting statistic options from SET PG_OPTIONS caused a backend crash
because StatFp never got set in that case.  Set it immediately before
use to eliminate such problems.
2000-04-28 05:07:34 +00:00
Tom Lane 45cc0e9b27 plpgsql RAISE statement was careless about the possibility of a NULL
field value being displayed; produced coredump instead of the expected
<NULL> display.
2000-04-28 00:12:44 +00:00
Tom Lane f106779263 Except_Intersect_Rewrite() failed to ignore resjunk targetlist entries,
thus causing failure if one sub-select had resjunk entries that the other
did not (cf. bug report from Espinosa 4/27/00).
2000-04-27 20:32:41 +00:00
Bruce Momjian fb7318a632 Update libpgeasy e-mail address 2000-04-27 18:45:43 +00:00
Tom Lane d6eac08f11 Repair problem noted by Elphick: make_rels_by_joins failed to handle
cases where joinclauses were present but some joins have to be made
by cartesian-product join anyway.  An example is
SELECT * FROM a,b,c WHERE (a.f1 + b.f2 + c.f3) = 0;
Even though all the rels have joinclauses, we must join two of them
in cartesian style before we can use the join clause...
2000-04-27 18:35:04 +00:00
Tom Lane 85a5303877 -D switch to postmaster should override any PGDATA environment variable
that might be hanging about.  Now it does ... amazing nobody noticed
this before ...
2000-04-27 02:59:17 +00:00
Tom Lane 1b4f150541 Tweak outUnique to include uniqColIdx[] field in the printout. This does
not cause any compatibility problems because stored rules don't contain
plan nodes --- in fact, we don't even have a readfunc for Unique nodes.
2000-04-26 23:39:10 +00:00
Tom Lane 6a4fa7eccb On HPUX, shl_load should be called with options BIND_IMMEDIATE rather
than BIND_DEFERRED.  That way, if the loaded library has unresolved
references, shl_load fails cleanly.  As we had it, shl_load would
succeed and then the dynlinker would call abort() when we try to call
into the loaded library.  abort()ing a backend is uncool.
2000-04-26 23:35:34 +00:00
Bruce Momjian 00645eb1fd Fix include "" to <> 2000-04-26 22:51:14 +00:00
Bruce Momjian f839762e0b Remove DriverClass.java. It is generated by the compile. 2000-04-26 17:54:28 +00:00
Bruce Momjian 0b65e1436e Add res clear to example 2000-04-26 17:51:03 +00:00
Bruce Momjian 3c0685e423 Install Peter's Makefile. 2000-04-26 14:19:29 +00:00
Jan Wieck 9d56aff7bc Reinstalled revision 1.36 (looks Peter Mount installed
a new JDBC Makefile here by accident)

Jan
2000-04-26 09:03:10 +00:00
Peter Mount dbd8d38fa5 third attempt 2000-04-26 05:50:18 +00:00
Peter Mount 4fc3690238 Attempt III 2000-04-26 05:39:32 +00:00
Peter Mount 39116bfbfc Another attempt 2000-04-26 05:32:01 +00:00
Bruce Momjian 1b266fbcca Update libpgeasy readme. 2000-04-26 00:53:11 +00:00
Bruce Momjian a0551e8afa Make c++ examples return 0 from main(). 2000-04-25 21:00:29 +00:00
Bruce Momjian 1234981836 Fix libpq example return values 2000-04-25 16:39:07 +00:00
Hiroshi Inoue 56e09ddf0c change reindex ERROR/NOTICE message 2000-04-25 10:38:38 +00:00
Peter Eisentraut 282861ad75 initdb didn't always remove temp file 2000-04-25 08:29:02 +00:00
Tom Lane f46c1f1e33 Check that user-specified opclass in CREATE INDEX corresponds to operators
that will actually work on the column datatype.
2000-04-25 02:45:54 +00:00
Tatsuo Ishii e308786889 Update pg_ctl so that it does not redirect outputs from postmaster
to a temp file.
2000-04-25 01:07:23 +00:00
Bruce Momjian 297e7f3ef4 Fix \h to not go past array bounds 2000-04-24 22:41:43 +00:00
Bruce Momjian 11ae8ba7ea Add mention of int in variable. 2000-04-23 11:42:51 +00:00
Bruce Momjian bc4e6db44c Add mention of int for variable in examples 2000-04-23 11:39:08 +00:00
Tom Lane cfc0e015a1 Our test to see if we had permission to install into Perl5 install area
always failed if Perl makefile's INSTALLSITELIB variable was specified
in terms of another variable.  Fix by adding an echo-installdir target
to the Perl makefile, which the upper-level Makefile can invoke.
2000-04-23 04:26:32 +00:00
Tom Lane 97f0521d8e Produce an appropriate error message when opclass is not supported by
specified index access method.  Clean up wording of some existing error
messages, too.
2000-04-23 01:44:55 +00:00
Tom Lane 8994662a0b 7.0 buffer manager can support different backends running with different
fsync settings, so the -F option no longer needs to be treated as secure.
2000-04-23 00:13:16 +00:00
Tom Lane 290978fff0 Remove broken tracing code (which would be dangerous if it did work...)
libpq++.h contained copies of the class declarations in the other libpq++
include files, which was bogus enough, but the declarations were not
completely in step with the real declarations.  Remove these in favor
of including the headers with #include.  Make PgConnection destructor
virtual (not absolutely necessary, but seems like a real good idea
considering the number of subclasses derived from it).  Give all classes
declared private copy constructors and assignment operators, to prevent
compiler from thinking it can copy these objects safely.
2000-04-22 22:39:15 +00:00
Tom Lane 51c92941c6 Update example: PgLargeObject constructor now takes a conninfo string,
not a bare database name.
2000-04-22 22:15:48 +00:00
Tom Lane 3ddeba7403 pltcl didn't work well at all when Tcl had been built with a different
compiler than the one selected to build Postgres with.  It was trying
to feed Postgres-compiler switches to Tcl's compiler.  (Seen this before
with the perl5 interface...) Fix to use only CFLAGS taken from Tcl's
configure information, plus -I which is pretty universal.
2000-04-21 03:28:17 +00:00
Tom Lane ef6c33f3b9 Finally figured out that HP's cpp won't do ANSI preprocessing constructs
unless you feed it -Aa or -Ae switch.  Autoconf does not know about this,
but we can fix it in the hpux_cc template file.  I knew templates were
good for something ;-)
2000-04-21 03:07:51 +00:00
Tom Lane f084cc4939 Fix still more static-declaration-vs-nonstatic-definition glitches.
gcc doesn't think these are a problem, but somewhere out there is a
compiler that will spit up.
2000-04-21 03:01:54 +00:00
Tom Lane 87e701b8d5 Clean up const-vs-not-const compiler warning in MULTIBYTE code.
'Twas my fault, I think.
2000-04-20 22:40:18 +00:00
Bruce Momjian a2b5fac8ca Allow libpq++ compile failure to stop entire compile. 2000-04-20 17:21:46 +00:00
Tom Lane a95eec6792 Add a regress test case for SELECT count(*) FROM view, so that we'll
know if that case ever breaks again...
2000-04-20 00:32:57 +00:00
Tom Lane 7c22d2e5f0 Correct error in rewriter that caused SELECT count(*) FROM view
to give wrong results: it should be looking at inJoinSet not inFromCl.
Also, make 'modified' flag be local to ApplyRetrieveRule: we should
append a rule's quals to the query iff that particular rule applies,
not if we have fired any previously-considered rule for the query!
2000-04-20 00:31:49 +00:00
Bruce Momjian fe922de3f7 Security fix for plperl. 2000-04-18 15:04:02 +00:00
Tom Lane b90e3e4cbb linux_alpha pattern should allow for more-detailed machine type such
as 'alphaev5', cf report from Stepanov 13-Apr-00.
2000-04-18 05:57:45 +00:00
Tom Lane 32e192d712 Repair coredump seen when a view refers to an inheritance group
(SELECT FROM table*).  Cause was reference to 'eref' field of an RTE,
which is null in an RTE loaded from a stored rule parsetree.  There
wasn't any good reason to be touching the refname anyway...
2000-04-18 05:52:35 +00:00
Tom Lane 25442d8d2f Correct oversight in hashjoin cost estimation: nodeHash sizes its hash
table for an average of NTUP_PER_BUCKET tuples/bucket, but cost_hashjoin
was assuming a target load of one tuple/bucket.  This was causing a
noticeable underestimate of hashjoin costs.
2000-04-18 05:43:02 +00:00
Thomas G. Lockhart 24864d048e Include information for armv4l from Mark Knox <segfault@hardline.org>. 2000-04-18 05:35:38 +00:00
Tom Lane 609f93a436 Revert no-longer-needed relaxation of compiler errors. 2000-04-18 00:27:34 +00:00
Tom Lane 6216e84df6 Make ECPGraise's str parameter const to suppress warnings from gcc
and errors from pickier compilers.
2000-04-18 00:24:30 +00:00
Bruce Momjian 3b192c232d Add comment for -qhalt=w removal so it can be re-added later 2000-04-17 22:21:07 +00:00
Peter Mount 25dadc8514 Another attempt at 7.0 2000-04-17 20:07:56 +00:00
Bruce Momjian aafff4af16 Aix additions 2000-04-17 18:11:43 +00:00
Bruce Momjian ae16968051 Remove -qhalt=w flag from aix42. 2000-04-17 15:50:18 +00:00
Tom Lane 94728d1085 Add code to test for non-shared libperl and fail gracefully.
Not a big step forward, but it's something...
2000-04-17 00:49:58 +00:00
Peter Eisentraut 3d62fbc4eb squished \dS+ bug pointed out by Mike Mascari 2000-04-16 20:04:51 +00:00
Tom Lane ea46ddcfa6 Tweak create_help.pl so it will work under either perl 4.* or perl 5.*.
Remove knowledge of path to documentation source directory from perl
script, instead have Makefile pass it to script.
2000-04-16 18:07:22 +00:00
Peter Eisentraut aae70b2dca more psql bug squashing:
\copy without arguments failed
commands with too many arguments were too silent
2000-04-16 15:46:40 +00:00
Tom Lane 82849df6c6 Add new selectivity estimation functions for pattern-matching operators
(LIKE and regexp matches).  These are not yet referenced in pg_operator,
so by default the system will continue to use eqsel/neqsel.
Also, tweak convert_to_scalar() logic so that common prefixes of strings
are stripped off, allowing better accuracy when all strings in a table
share a common prefix.
2000-04-16 04:41:03 +00:00
Tom Lane 8c3b52e7b2 Allow COPY WITH OIDS to system OID values --- rely on unique indexes to
prevent duplicate OIDs from being added.  Clean up redundant error
messages.
2000-04-16 04:27:52 +00:00
Tom Lane a6acf1a06a Show failing OID in 'cache lookup failed' messages. 2000-04-16 04:25:42 +00:00
Tom Lane 215c60dc21 Show failing OID in 'cache lookup failed' messages;
print OIDs as %u not %d.
2000-04-16 04:19:41 +00:00
Tom Lane 1460dd0eff Show failing OID in 'cache lookup failed' messages. 2000-04-16 04:16:55 +00:00
Tatsuo Ishii 88a30e68f6 Change postmaster.opts.default.sample. remove -S option.
With the default option, pg_ctl can show messages from
postmaster upon its failure.
2000-04-16 03:50:00 +00:00
Tom Lane 8064a49f6f get_relattval() should treat a NULL constant as a non-constant expression,
since it has no way to indicate to its caller that the constant is
actually NULL.  This prevents coredump in cases like
  WHERE textfield < null::text;
2000-04-16 01:55:45 +00:00
Tom Lane 4ca7d148cb elog(NOTICE) during COPY incorrectly reset lineno to 0, causing any
subsequent elogs() in the same COPY operation to display the wrong
line number.  Fix is to clear lineno only when elog level is such
that we will not return to caller.
2000-04-15 19:13:08 +00:00
Peter Eisentraut ffc9812451 fixed another psql \e bug (handle newlines as whitespace)
repaired psql option scanning bug (special treatment to \g |pipe)
fixed ipcclean makefile
made configure look for Perl to handle psql help build gracefully
2000-04-14 23:43:44 +00:00
Thomas G. Lockhart 9edb0f7ec2 Fix spelling of "millennium".
Thanks to Mika Nystrom <mika@camembert.cs.caltech.edu> for spotting this.
2000-04-14 15:22:22 +00:00
Thomas G. Lockhart d221e149b4 Fix (well, add) support for ISO "week" in date_part(). Needed for ODBC.
Fix spelling of "millennium".
 Thanks to Mika Nystrom <mika@camembert.cs.caltech.edu> for spotting this.
2000-04-14 15:22:10 +00:00
Tom Lane 8eafe40571 Fix silly definition order in config.h --- we had prototypes like
extern int  inet_aton(const char *cp, struct in_addr * addr);
appearing before the optional #define for const, which was certain
to fail on a machine with neither const nor inet_aton().
2000-04-14 03:05:35 +00:00
Tom Lane 07d2c3e0a0 Another static-vs-not-static error. 2000-04-14 01:34:24 +00:00
Tom Lane a7f2dd347b Remove bogus extern for 'descriptors' variable, which is in fact static.
Some compilers object to seeing extern and later static ...
2000-04-14 01:26:49 +00:00
Tom Lane 87ca3bd294 #undef const, inline, signed, volatile, on the expectation that a C++
compiler will understand them.  configure may have #define'd them to
empty because the local C compiler doesn't understand them, but this
may very well cause a C++ compilation to fail, so don't do it in C++.
2000-04-14 01:00:16 +00:00
Tom Lane 07672d4e0a Skip setsockopt(SO_REUSEADDR) for the Unix-domain postmaster socket on
all platforms, not just SCO.  The operation is undefined for Unix-domain
sockets anyway.  It seems SCO is not the only platform that complains
instead of treating the call as a no-op.
2000-04-14 00:51:58 +00:00
Tom Lane bf00aec8d0 If configure finds that inet_aton() is not present on this platform,
include the version from backend/port into libpq.
There is a second-rate implementation of inet_aton() already present
in fe-connect.c, #ifdef'd WIN32.  That ought to be removed in favor
of using the better version from port/.  However, since I'm not in a
position to test the WIN32 code, I will leave well enough alone for
this release...
2000-04-14 00:42:06 +00:00
Tom Lane 977fad3f17 Revert inclusion of postgres_ext.h to use "..." instead of <...>, per
request from XEmacs people.
2000-04-14 00:24:52 +00:00
Tom Lane 9d91db4fde Repair bug reported by Wickstrom: backend would crash if WHERE clause
contained a sub-SELECT nested within an AND/OR tree that cnfify()
thought it should rearrange.  Same physical sub-SELECT node could
end up linked into multiple places in resulting expression tree.
This is harmless for most node types, but not for SubLink.
Repair bug by making physical copies of subexpressions that get
logically duplicated by cnfify().  Also, tweak the heuristic that
decides whether it's a good idea to do cnfify() --- we don't really
want that to happen when it would cause multiple copies of a subselect
to be generated, I think.
2000-04-14 00:19:17 +00:00
Jan Wieck 3e00c9db4a Fixed CREATE TYPE to recognize changed parsenodes
Jan
2000-04-13 11:51:07 +00:00
Bruce Momjian 97580f6993 A few more macro cleanups 2000-04-12 20:33:37 +00:00
Bruce Momjian 52f77df613 Ye-old pgindent run. Same 4-space tabs. 2000-04-12 17:17:23 +00:00
Bruce Momjian db4518729d Reverse out macro fix for the time being. 2000-04-12 05:29:10 +00:00
Bruce Momjian 8758985c3a Prevent drop database failure from showing. 2000-04-12 05:24:51 +00:00
Bruce Momjian 37e7c7dfcb Fix assert with missing semicolon 2000-04-12 04:58:09 +00:00
Bruce Momjian 398bb1fcb6 Update pgindent 2000-04-12 01:01:49 +00:00
Bruce Momjian 83a57694d1 Update pgindent 2000-04-11 22:15:08 +00:00
Bruce Momjian 862d677682 Update pgindent for 7.0 release 2000-04-11 19:09:04 +00:00
Bruce Momjian b68a56a5e9 Thomas pointed out this bug in my non-blocking stuff.
Alfred Perlstein
2000-04-11 19:00:31 +00:00
Bruce Momjian ea81522034 Allow libpq++ compile to fail 2000-04-11 18:58:18 +00:00
Bruce Momjian b09a3b8cab disable plperl 2000-04-11 17:42:28 +00:00
Bruce Momjian 354a39bc44 Clean up temp files from \e. 2000-04-11 17:35:50 +00:00
Tom Lane 2692d329eb Tweak smgrblindwrt per advice from Vadim: add parameter indicating
whether to do fsync or not, and if so (which should be seldom) just
do the fsync immediately.  This way we need not build data structures
in md.c/fd.c for blind writes.
2000-04-10 23:41:52 +00:00
Bruce Momjian a447ae2221 The constant in backend/utils/misc/trace.c, line 32 limits the length of
logged queries to 1024, truncating longer queries.  That is about half of
the size I need (I have a union that is 2K long).  Can someone consider
bumping it to 4K or so?  Patch attached...

Regards,
Ed Loehr
2000-04-10 19:25:29 +00:00
Hiroshi Inoue 8a5851880e Fix an Assert bug(was my fault) pointed out by Tom Lane. 2000-04-10 00:45:42 +00:00
Tom Lane 1f6d8b90b8 Buffer manager modifications to keep a local buffer-dirtied bit as well
as a shared dirtybit for each shared buffer.  The shared dirtybit still
controls writing the buffer, but the local bit controls whether we need
to fsync the buffer's file.  This arrangement fixes a bug that allowed
some required fsyncs to be missed, and should improve performance as well.
For more info see my post of same date on pghackers.
2000-04-09 04:43:20 +00:00
Tom Lane 9c38a8d296 Further tweaking of indexscan cost estimates. 2000-04-09 04:31:37 +00:00
Bruce Momjian 9b7ba2002d Add new pg_options.sample file. 2000-04-08 19:38:00 +00:00
Tom Lane bb7e5dc2c0 Tweak TypeCategory to treat new BIT types as of STRING category, rather
than not knowing what they are at all.  Perhaps they should have their own
type category?  Hard to say.  In the meantime, doing it this way allows
SELECT 'unknown' || 'unknown' to continue being resolved as textcat,
instead of spitting out an ambiguous-operator error.
2000-04-08 19:29:40 +00:00
Tom Lane b64e768595 I think we want machine pattern i.86 not i386 --- looks like config.guess
could output several different high digits on most PC Unixen.
2000-04-08 19:20:10 +00:00
Bruce Momjian 949e8a662d Add colo to display at end of initdb. 2000-04-08 18:35:30 +00:00
Michael Meskes d78feff973 *** empty log message *** 2000-04-08 12:20:27 +00:00
Tom Lane ed845c7374 Fix relcache refcount leakage when inv_drop is applied
to a non-LO relation.
2000-04-08 04:37:07 +00:00
Thomas G. Lockhart 0337938fbf Add zpbit and varbit data types from Adrian Joubert
<a.joubert@albourne.com>.
2000-04-08 02:13:11 +00:00
Tom Lane 6a2d926933 Update for to_char change. 2000-04-08 02:02:26 +00:00
Tom Lane fd0df5058a Tweak parallel test script so that command line options for postmaster
can be set via environment variable PMOPTIONS.  Default is -o -F.
2000-04-08 01:54:47 +00:00
Tom Lane dc070fdea6 Add copyObject logic for TruncateStmt and a few other utility-statement
parse node types.  This allows these statements to be placed in a plpgsql
function.  Also, see to it that statement types not handled by the copy
logic will draw an appropriate elog(ERROR), instead of leaving a null
pointer that will cause coredump later on.  More utility statements could
be added if anyone felt like turning the crank.
2000-04-08 00:21:15 +00:00
Bruce Momjian 28fb1c196b Update create_rule manual page. 2000-04-07 19:17:51 +00:00
Marc G. Fournier dce53f0dd5 resultmap additions for solaris x86 ... 2000-04-07 19:00:44 +00:00
Tom Lane 8dce894870 Use initdb --noclean so that test database is available for examination
if initdb fails.
2000-04-07 17:51:13 +00:00
Thomas G. Lockhart a349733bbb Add transcendental math functions (sine, cosine, etc)
Add a random number generator and seed setter (random(), SET SEED)
Fix up the interval*float8 math to carry partial months
 into the time field.
Add float8*interval so we have symmetry in the available math.
Fix the parser and define.c to accept SQL92 types as field arguments.
Fix the parser to accept SQL92 types for CREATE TYPE, etc. This is
 necessary to allow...
Bit/varbit support in contrib/bit cleaned up to compile and load
 cleanly. Still needs some work before final release.
Implement the "SOME" keyword as a synonym for "ANY" per SQL92.
Implement ascii(text), ichar(int4), repeat(text,int4) to help
 support the ODBC driver.
Enable the TRUNCATE() function mapping in the ODBC driver.
2000-04-07 13:40:45 +00:00
Vadim B. Mikheev 71b4790b6d Commebts & one check in EndEvalPlanQual(). 2000-04-07 07:24:47 +00:00
Tom Lane e4d8d43c52 Fix (I hope) resource leakage in EvalPlanQual: open subplans must be
properly shut down in EndPlan, else we fail to free buffers and so forth
that they hold.
2000-04-07 00:59:17 +00:00
Tom Lane 891039c15f Partial fix for EvalPlanQual bugs reported by Magnus Hagander, 3-Apr.
Ensure that outer tuple link needed for inner indexscan qual evaluation
gets set in the EvalPlanQual case.  This stops coredump, but we still
have resource leaks due to failure to clean up EvalPlanQual properly...
2000-04-07 00:30:41 +00:00
Bruce Momjian a25a490718 Update initdb display of postmaster startup 2000-04-06 18:27:01 +00:00
Bruce Momjian 65ea4f677f Allow vacuum of temporary tables 2000-04-06 18:12:07 +00:00
Bruce Momjian 6929459279 Add POLLUTE to interfaces/Makefile 2000-04-06 03:34:55 +00:00
Tom Lane eace269b47 Repair assert failure in tuple-chain-moving logic (introduced by yours
truly, I'm afraid).
2000-04-06 00:29:51 +00:00
Michael Meskes a7b1ff6619 *** empty log message *** 2000-04-05 15:51:28 +00:00
Bruce Momjian 6995c5fbad Please forget all I said about gcc and AIX in my previous mail.
It does work with the following patch applied and gcc 2.95.2 .

Use --with-template=aix_gcc to compile the whole lot with gcc.

The geometry regression test produces different precision.
With optimization I run into regression failures starting at oidjoins,
thus no -O2. Anybody else try gcc 2.95.2 and -O2 on beta4 ?

This is an important patch, since recent versions of the IBM compiler
are not for free, and thus most questions I get concern gcc.

Andreas

PS.: I am testing with beta4
2000-04-05 14:47:21 +00:00
Peter Eisentraut 15942b823a Solaris geometry results were out of sync with the input file 2000-04-05 11:02:28 +00:00
Michael Meskes 9fb20f105f *** empty log message *** 2000-04-05 09:05:40 +00:00
Bruce Momjian 5f39ba8142 Rename geometry.*bsdi to geo.*bsd. for Freebsd. 2000-04-05 02:36:41 +00:00
Marc G. Fournier 059f448766 freebsd 4.0 is like bsdi for geometry test ... 2000-04-05 02:25:11 +00:00
Marc G. Fournier 97db19c91c freebsd has *-freebsd and *-freebsdelf ... float8 passes with this 2000-04-05 02:08:29 +00:00
Tom Lane 5240c76729 Actually, that still wasn't quite right. If we skip a query because of
xact abort state in pg_exec_query_dest, we should continue scanning the
querytree list, on the off chance that one of the later queries in the
string is COMMIT or ROLLBACK.
2000-04-04 23:52:50 +00:00
Tom Lane 708f82f191 Fix bug noted by Bruce: FETCH in an already-aborted transaction block
would crash, due to premature invocation of SetQuerySnapshot().  Clean
up problems with handling of multiple queries by splitting
pg_parse_and_plan into two routines.  The old code would not, for
example, do the right thing with END; SELECT... submitted in one query
string when it had been in transaction abort state, because it'd decide
to skip planning the SELECT before it had executed the END.  New
arrangement is simpler and doesn't force caller to plan if only
parse+rewrite is needed.
2000-04-04 21:44:40 +00:00
Bruce Momjian 0d26b45618 No ID file needed. 2000-04-04 13:51:38 +00:00
Bruce Momjian 9e7a4ccfd0 Update QNX FAQ 2000-04-04 13:49:30 +00:00
Tom Lane c84ba6638e Add a check to pg_dump to see whether backend is same version as pg_dump.
If not, abort by default.  Abort can be prevented by using -i or
--ignore-version switch.
2000-04-04 05:22:46 +00:00
Bruce Momjian edd4131e6e Update regression for bsdi. 2000-04-04 04:07:53 +00:00
Tom Lane 3f94bc19d6 Correct off-by-one error in strncat() usage. 2000-04-04 03:00:16 +00:00
Tom Lane 7fbf0af22b When rewriting an aggregate introduced into WHERE, allow agg argument to
be an expression not just a simple Var, so long as only one table is
referenced (so that code isn't really any more difficult than before).
This whole thing is still fundamentally bogus, but at least we can accept
a few more cases than before.
2000-04-04 02:30:52 +00:00
Tom Lane 2ae6e86302 For no good reason at all, libplpgsql was getting linked with libpq.
Since plpgsql is a backend extension, it doesn't need libpq...
2000-04-04 01:47:59 +00:00
Tom Lane 1c72a8a37a Fix extremely nasty little bug observed when a sub-SELECT appears in
WHERE in a place where it can be part of a nestloop inner indexqual.
As the code stood, it put the same physical sub-Plan node into both
indxqual and indxqualorig of the IndexScan plan node.  That confused
later processing in the optimizer (which expected that tracing the
subPlan list would visit each subplan node exactly once), and would
probably have blown up in the executor if the planner hadn't choked first.
Fix by making the 'fixed' indexqual be a complete deep copy of the
original indexqual, rather than trying to share nodes below the topmost
operator node.  This had further ramifications though, because we were
making the aforesaid list of sub-Plan nodes during SS_process_sublinks
which is run before construction of the 'fixed' indexqual, meaning that
the copy of the sub-Plan didn't show up in that list.  Fix by rearranging
logic so that the sub-Plan list is built by the final set_plan_references
pass, not in SS_process_sublinks.  This may sound like a mess, but it's
actually a good deal cleaner now than it was before, because we are no
longer dependent on the assumption that planning will never make a copy
of a sub-Plan node.
2000-04-04 01:21:48 +00:00
Thomas G. Lockhart 8cdabf0741 Augment the function call map logic with code from Tom Lane.
Should be more robust to overflows.
 Pass through an unmapped function unchanged, rather than rejecting it.
Add a few more functions, but comment out those which can go through as-is.
Can be used with contrib/odbc/ package, though that isn't committed yet.
2000-04-04 01:07:54 +00:00
Bruce Momjian 51cfdae50f Hi,
here is an updated version of the bit type with a bugfix and all the necessa
ry
SQL functions defined. This should replace what is currently in contrib. I'd
appreciate any comments on what is there.

Kind regards,

Adriaan
2000-04-03 20:56:40 +00:00
Michael Meskes 5454b37921 *** empty log message *** 2000-04-03 19:34:26 +00:00
Tom Lane c4ef93dbc6 Looks like Peter forgot to commit configure with configure.in. 2000-04-03 00:33:54 +00:00
Michael Meskes 4aefba9077 *** empty log message *** 2000-04-02 08:51:44 +00:00
Peter Eisentraut c1bfc9d7fa Adjusted for new (again!) config.guess output under QNX 2000-03-31 22:03:52 +00:00
Tom Lane 14bc951d30 Fix low-probability bug in relcache startup: write_irels wrote the
pg_internal.init file in-place, which meant that if another backend
started at about the same time, it might read the incomplete file.
init_irels tries to guard against that, but I have now seen a crash
due to reading bad data from a partly-written file.  (This may indicate
a kernel bug on my platform?  Not sure.)  Anyway, clearly the safest
course is to write the new pg_internal.init file under a unique temporary
filename, and rename it into place only after it's all written.
2000-03-31 19:39:22 +00:00
Bruce Momjian ac70c3547b I have tested the beta3 on WinNT and here are the results:
- I was unable to compile ecpg due to the ":=" instead of "=" in defining
LIBPQDIR and some other variables in Makefile.global.in
- pg_id (and also pg_encoding) executable was not removed during "make
clean" - there was no $(X) appended to the executable name for rm
- I have added result for int2, int4, float8 and geometry regression tests
        - int2, int2 - yet another message for too large numbers ;-)
        - float8 - it is problably a bug in the newlib C library - it has no
error message for numbers with exponent -400
        - geometry - differences in precision of float numbers
- I have added appropriate lines into resultmap file
- I have modified the script regress.sh to use "case" statement when testing
the hostname. For cygwin the script is called with "i686-pc-cygwin" (on my
machine) as a parameter and this was not catched with the "if" statement.
The check was done for PORTNAME (win) and not HOSTNAME (i.86-pc-cygwin*).

The patch for described modifications is included.

All this modifications can be applied to "current" tree too.
The compilation was done on CygwinB20.1 with gcc 2.95, cygipc library 1.05.
The binaries were able to run also on the newest development snapshot
(2000-03-25).

                        Dan
2000-03-31 14:14:36 +00:00
Bruce Momjian 51bacfd44b Fix pgaccess __wish__ thing. 2000-03-31 14:05:07 +00:00