Commit Graph

12803 Commits

Author SHA1 Message Date
Bruce Momjian
d8fe99d98c Add comment that sched_yield might be a portability problem. 2004-04-05 14:13:45 +00:00
Bruce Momjian
a86c329f99 Change getpid() while loop to use sched_yield(), greatly speeds up test.
sched_yield is a requirement for the test but not for our PostgreSQL
code, so if it causes a portability problem, we will remove it.
2004-04-05 14:12:32 +00:00
Peter Eisentraut
49c8d08bc8 New translation 2004-04-05 09:34:11 +00:00
Peter Eisentraut
fc43abaccf Translation updates 2004-04-05 09:13:43 +00:00
Bruce Momjian
a1d63d9232 Have threads wait for parent to test thread-specific pointers before
exiting.
2004-04-05 05:43:06 +00:00
Bruce Momjian
422d4819ee Corrects issues recently posted by Dann Corbit, allowing libpq/psql to
be built under VC++. Moves a pgstat win32 #def to port.h

Claudio Natoli
2004-04-05 03:16:21 +00:00
Bruce Momjian
823ac7c2b4 This is a cleanup patch for access/transam/xact.c. It only removes some
#ifdef NOT_USED code, and adds a new TBLOCK state which signals the fact
that StartTransaction() has been executed.

Alvaro Herrera
2004-04-05 03:11:39 +00:00
Bruce Momjian
0969dc867b Allow LIKE/ILIKE to appear in more places in a query.
Fabien COELHO
2004-04-05 03:07:26 +00:00
Bruce Momjian
6165bbab8c Remove 'syslog' GUC variable, and add more logical 'log_destination'
variable to control logoutput location on Unix and Win32.

Magnus Hagander
2004-04-05 03:02:11 +00:00
Bruce Momjian
a12fc7dae6 Improve handling of GUC USERLIMIT variables by reorganizing code. Also,
handle new postgresql.conf values with SIGHUP better by better enforcing
USERLIMIT settings on existing non-super-user backends.
2004-04-05 02:48:09 +00:00
Bruce Momjian
53ddde5b74 Add volatile to thread-specific thread variables. 2004-04-05 02:22:14 +00:00
Bruce Momjian
31f48c9afe Update thread test to only test for 'localhost' and local machine name. 2004-04-05 01:27:58 +00:00
Bruce Momjian
d56b736db0 Update thread test to do getpid() in while loop, also use weather.com
rather than slashdot.org for testing.
2004-04-04 17:23:54 +00:00
Tom Lane
8efbe30df5 check_sql_fn_retval has always thought that we supported doing
'SELECT foo()' in a SQL function returning a rowtype, to simply pass
back the results of another function returning the same rowtype.
However, that hasn't actually worked in many years.  Now it works again.
2004-04-02 23:14:08 +00:00
Tom Lane
3dd1ca035d Fix poor choice of error message in corner cases. 2004-04-02 21:30:44 +00:00
Tom Lane
b066d9e4bc Clean up some code that had gotten a bit ugly through repeated revisions. 2004-04-02 21:05:32 +00:00
Tom Lane
27a4f06ade Get rid of crocky use of RangeVar nodes in parser to represent partially
transformed whole-row variables.  Cleaner to use regular whole-row Vars.
2004-04-02 19:07:02 +00:00
Dennis Bjorklund
94d8da8fec Translation updates 2004-04-02 13:47:56 +00:00
Dennis Bjorklund
03f0604643 Translation updates 2004-04-02 13:42:26 +00:00
Tom Lane
eeaef25ad6 Fix some portability issues with new float input code (didn't work on
HPUX 11 ...)
2004-04-01 23:52:18 +00:00
Tom Lane
b3fcc816ae Add missing casts to unsigned char in recently-added isspace() calls. 2004-04-01 22:51:31 +00:00
Tom Lane
7df21fe8a8 Adjust expected regression outputs for plan changes caused by recent
'fuzzy cost comparison' patch.  Mea culpa for not having noticed this
when I committed the patch.
2004-04-01 21:59:45 +00:00
Tom Lane
375369acd1 Replace TupleTableSlot convention for whole-row variables and function
results with tuples as ordinary varlena Datums.  This commit does not
in itself do much for us, except eliminate the horrid memory leak
associated with evaluation of whole-row variables.  However, it lays the
groundwork for allowing composite types as table columns, and perhaps
some other useful features as well.  Per my proposal of a few days ago.
2004-04-01 21:28:47 +00:00
Bruce Momjian
8590a62b75 Improve comments on USERLIMIT GUC processing. 2004-04-01 14:25:47 +00:00
Bruce Momjian
fd071bd478 Fix to_char for 1 BC. Previously it returned 1 AD.
Fix to_char(year) for BC dates.  Previously it returned one less than
the current year.

Add documentation mentioning that there is no 0 AD.
2004-03-30 15:53:18 +00:00
Teodor Sigaev
f2c064afcb Cleanup vectors of GISTENTRY and eliminate problem with 64-bit strict-aligned
boxes. Change interface to user-defined GiST support methods union and
picksplit. Now instead of bytea struct it used special GistEntryVector
structure.
2004-03-30 15:45:33 +00:00
Tom Lane
8d9a28eeef Use fuzzy comparison of path costs in add_path(), so that paths with the
same path keys and nearly equivalent costs will be considered redundant.
The exact nature of the fuzziness may get adjusted later based on current
discussions, but no one has shot a hole in the basic idea yet ...
2004-03-29 19:58:04 +00:00
Michael Meskes
047a2cecff Fixed possible segfault in type.c (by Juergen Cappel) 2004-03-29 15:11:58 +00:00
Bruce Momjian
b803cf4320 Clean up thread test program. 2004-03-28 02:37:31 +00:00
Bruce Momjian
db9a957618 Add test for thread-safe errno to thread test program. 2004-03-27 23:02:44 +00:00
Bruce Momjian
4f0d027e7d Add comment about psql \s (history display):
/* This scrolls off the screen when using /dev/tty */
2004-03-27 18:01:40 +00:00
Bruce Momjian
b295c0a085 Clean up function call arg appearance. 2004-03-27 17:59:35 +00:00
Bruce Momjian
cfcdd31c5d Change small 'if/else' test to use Max(). 2004-03-27 17:32:42 +00:00
Tom Lane
513bbf4046 Fix brain-dead placement of global variable declaration. 2004-03-27 03:08:42 +00:00
Tom Lane
7820ee24c9 Now that we are allowing index opclasses to contain operators that are
only stable and not immutable, pred_test_simple_clause has to guard
against making invalid deductions.  Add a test for immutability of
the selected test_op.
2004-03-27 00:24:28 +00:00
Bruce Momjian
79b805f6d5 Add -D_REENTRANT for Solaris threading. 2004-03-26 18:24:08 +00:00
Bruce Momjian
fda3449625 Update gcc solaris flags. 2004-03-25 22:12:37 +00:00
Bruce Momjian
dbd5390ad4 Fix for SSL compile. 2004-03-25 21:48:59 +00:00
Tom Lane
457ad3925d Add a more useful error message for the case where someone tries to pass
a whole row or record variable into a SQL function.  Eventually this case
should be made to actually work, but for now this is better than what it
did before.
2004-03-24 23:38:49 +00:00
Tom Lane
8899a2aba9 Replace max_expr_depth parameter with a max_stack_depth parameter that
is measured in kilobytes and checked against actual physical execution
stack depth, as per my proposal of 30-Dec.  This gives us a fairly
bulletproof defense against crashing due to runaway recursive functions.
2004-03-24 22:40:29 +00:00
Tom Lane
6a034c3322 Adjust error message wording per Andrew Dunstan's advice. 2004-03-24 15:20:54 +00:00
Bruce Momjian
c83cd6c1da Update description error text:
(errmsg("no socket configured for listening")));
2004-03-24 04:07:31 +00:00
Bruce Momjian
51b488535e Here's a patch implementing the "thread method" to workaround the bug
with socket calls in signal handlers (APC) on Win32. See details in mail
to pgsql-hackers-win32 a couple of minutes ago.

Magnus Hagander
2004-03-24 04:04:51 +00:00
Bruce Momjian
b8fd6756e2 Allow unlink/rename of files open by another process on Win32, using a
special Win32 open flag FILE_SHARE_DELETE.

Claudio Natoli
2004-03-24 03:54:16 +00:00
Bruce Momjian
6daf396879 Add thread locking to SSL and Kerberos connections.
I have removed the docs mentioning that SSL and Kerberos are not
thread-safe.

Manfred Spraul
2004-03-24 03:45:00 +00:00
Neil Conway
017e3e244a Fix some whitespace formatting, and remove an overly-verbose
parameter description: postgresql.conf is not the place for
documentating the functionality of a GUC var.
2004-03-24 03:22:35 +00:00
Bruce Momjian
46c3e29b8e >>Also, what is the default connection mode of psql? It should probably be
>>equivalent to "-h localhost", shouldn't it?
>>
>>
>
>Now that is something I had not thought of.  Seems we can assume a Win32
>psql can never use unix domain sockets, so defaulting that to localhost
>is a good solution too.

Andrew Dunstan
2004-03-24 03:10:29 +00:00
Bruce Momjian
f23cce73b3 Use the new GUC variable default_with_oids in pg_dump, rather than using
WITH/WITHOUT OIDS in dump files.  This makes dump files more portable.

I have updated the pg_dump version so old binary dumps will load fine.

Pre-7.5 dumps use WITHOUT OIDS in SQL were needed, so they should be
fine.
2004-03-24 03:06:08 +00:00
Neil Conway
533d0915cf Update the float8 regression tests: they should now pass on FreeBSD 4.x
and (in theory) QNX. Thanks to Chris KL for the report.
2004-03-24 02:02:27 +00:00
Tom Lane
f862c42009 Use dollar-quoting for function bodies, unless disabled with
--disable-dollar-quoting.

Andrew Dunstan
2004-03-23 22:06:08 +00:00
Bruce Momjian
48b2802eee When changing select() calls for delays into pg_usleep(), two comments
in s_lock.c were not updated, and still refers to select. Made my grep
hit the wrong files, so I figured a simple patch was in order.. (other
refs in the same comment block was changed..)

Magnus Hagander
2004-03-23 21:39:46 +00:00
Tom Lane
24614a9880 Upgrade ALTER TABLE DROP COLUMN so that it can drop an OID column, and
remove separate implementation of ALTER TABLE SET WITHOUT OIDS in favor
of doing a regular DROP.  Also, cause CREATE TABLE to account completely
correctly for the inheritance status of the OID column.  This fixes
problems with dropping OID columns that have dependencies, as noted by
Christopher Kings-Lynne, as well as making sure that you can't drop an
OID column that was inherited from a parent.
2004-03-23 19:35:17 +00:00
Bruce Momjian
ee455f81a5 fflush() FILE buffer to descriptor so stat call gets proper size in fseeko.c.
Fixed problem with pg_dump tar backups.  Only happens on platforms that
use our port/fseeko.c, which is currently BSD/OS and NetBSD.
2004-03-23 05:26:53 +00:00
Bruce Momjian
5688e45979 Fix getpwuid_r call:
*result = getpwuid_r(uid, resultbuf, buffer, buflen);
2004-03-23 02:03:55 +00:00
Tom Lane
2e45c143ef Replace the virtual_host and tcpip_socket parameters with a unified
listen_addresses parameter, as per recent discussion.  The default behavior
is now to listen on localhost, which eliminates the need for the -i
postmaster switch in many scenarios.

Andrew Dunstan
2004-03-23 01:23:48 +00:00
Tom Lane
0d88dd1e50 Before deciding we can use a socket for statistics collection, test to
ensure that it actually passes data.  This catches cases such as a kernel
packet filter rule that makes the socket useless.

Andrew Dunstan
2004-03-22 23:55:29 +00:00
Tom Lane
6b198d61f8 Add missing extern for optind. 2004-03-22 16:46:28 +00:00
Tom Lane
d81cd7032e Standardize output buffer size and display format for strftime;
followup to complaint from Korean User's Group.
2004-03-22 15:34:22 +00:00
Bruce Momjian
682a6bd5eb Disasble threads on unixware until other platforms report a problem. 2004-03-22 14:53:43 +00:00
Bruce Momjian
6367ed4382 Increase xlog str_time() static string variable, per Korean User's Group. 2004-03-22 04:16:57 +00:00
Bruce Momjian
3ceda5eab3 I just noticed that \dp outputs "Table" to indicate relations (tables,
sequences and views).  This patch allows it to handle views and
sequences.

Euler Taveira de Oliveira
2004-03-22 03:38:24 +00:00
Bruce Momjian
a7f0747320 Adds DLLIMPORT modifier to check_function_bodies
Claudio Natoli
2004-03-22 03:15:33 +00:00
Bruce Momjian
08c0aa7281 Add mention of "-D_POSIX_PTHREAD_SEMANTICS" enabling 5-arg getpwuid_r(). 2004-03-22 01:50:31 +00:00
Tom Lane
0de45c1c27 Add timestamp-versus-timestamptz cross-type comparison functions,
flesh out the index operator classes to include these.  In passing,
fix erroneous volatility marking of ACL functions.
2004-03-22 01:38:18 +00:00
Tom Lane
f938c2b91b Revise syntax-error reporting behavior to give pleasant results for
errors in internally-generated queries, such as those submitted by
plpgsql functions.  Per recent discussions with Fabien Coelho.
2004-03-21 22:29:11 +00:00
Dennis Bjorklund
bee3b2a0a0 Translation updates 2004-03-21 12:19:36 +00:00
Dennis Bjorklund
94fb33b115 Translation updates 2004-03-21 09:22:18 +00:00
Tom Lane
05649b88c7 Rewrite pg_dump's comment-dumping code to pull over all the comments
in one query, rather than making a separate query for each object that
could have a comment.  This costs relatively little space (a few tens of
K typically) and saves substantial time in databases with many objects.
I find it reduces the runtime of 'pg_dump -s regression' by about a
third.
2004-03-20 20:09:45 +00:00
Bruce Momjian
c8aaa5ceec Remove suggestiong for using test for wal_sync_method. 2004-03-20 16:18:41 +00:00
Bruce Momjian
aaf54d99f0 Handle draft version of getpwuid_r() that accepts only four arguments.
Backpatch to 7.4.X.  Required for Solaris 7 & 8.
2004-03-20 15:39:27 +00:00
Tom Lane
0fdc6c4cc0 Create a validator for plpgsql, so that some minimal syntax checking
is done at creation time for plpgsql functions.  Improve createlang and
droplang to support adding/dropping validators for PLs.  Initial steps
towards producing a syntax error position from plpgsql syntax errors
(this part is a work in progress, and will change depending on outcome
of current discussions).
2004-03-19 18:58:07 +00:00
Tom Lane
74ffc77279 Code review for log_line_prefix patch. Cooperate with StringInfo instead
of fighting it, avoid hard-wired (and wrong) assumption about max length
of prefix, cause %l to actually work as documented, don't compute data
we may not need.
2004-03-19 02:23:59 +00:00
Bruce Momjian
8726591720 Make test_fsync use optimizer flag. 2004-03-18 23:27:29 +00:00
Bruce Momjian
cbaf1aaeba Fix log_executor_stats if() test. 2004-03-18 23:26:17 +00:00
Bruce Momjian
2ef0ff89af Add Unixware thread support from Larry Rosenman. 2004-03-18 23:23:58 +00:00
Bruce Momjian
6b34711824 Allocate 16mb file for testing. 2004-03-18 20:09:33 +00:00
Bruce Momjian
9e231bab65 Have program default to 1000 loops, and add file name and loop option.
Make open/close loop testings the same.  Add descriptions for certain tests.
2004-03-18 19:54:00 +00:00
Bruce Momjian
9ae9ad155d Add comment about using this testing for wal_sync_method. 2004-03-18 17:23:56 +00:00
Bruce Momjian
b2906c5be3 Add fsync tests:
Compare fsync before and after write's close:
	Compare one o_sync write to two:
	Compare file sync methods with one 8k write:
	Compare file sync methods with 2 8k writes:
2004-03-18 15:26:27 +00:00
Bruce Momjian
5ddecd1e27 Mention which fsync methods are unavailable. 2004-03-18 14:02:58 +00:00
Bruce Momjian
69138a9429 Add permission mode to opens(). 2004-03-18 04:11:41 +00:00
Bruce Momjian
bfaa9a0ada Add missing include 2004-03-18 04:04:36 +00:00
Bruce Momjian
00051c9b56 Remove acccidental object/binary files. 2004-03-18 03:57:58 +00:00
Bruce Momjian
9f2696f266 Add fsync test program. It tests fsync to see if times for fsync are the
same when done on the write() ile descriptor and a new descriptor.

it also times various fsync methods.
2004-03-18 03:56:59 +00:00
Tom Lane
fbac1272b8 During btree index build, sort equal-keyed tuples according to their
TID (heap position).  This doesn't do anything to the validity of the
finished index, but by pretending to qsort() that there are no really
equal keys in the sort, we can avoid performance problems with qsort
implementations that have trouble with large numbers of equal keys.
Patch from Manfred Koizar.
2004-03-17 22:24:58 +00:00
Tom Lane
55f7c3300d Reimplement CASE val WHEN compval1 THEN ... WHEN compval2 THEN ... END
so that the 'val' is computed only once, per recent discussion.  The
speedup is not much when 'val' is just a simple variable, but could be
significant for larger expressions.  More importantly this avoids issues
with multiple evaluations of a volatile 'val', and it allows the CASE
expression to be reverse-listed in its original form by ruleutils.c.
2004-03-17 20:48:43 +00:00
Bruce Momjian
d245b6bd9f Document SPI_push() and SPI_pop(). 2004-03-17 01:05:10 +00:00
Tom Lane
c1352052ef Replace the switching function ExecEvalExpr() with a macro that jumps
directly to the appropriate per-node execution function, using a function
pointer stored by ExecInitExpr.  This speeds things up by eliminating one
level of function call.  The function-pointer technique also enables further
small improvements such as only making one-time tests once (and then
changing the function pointer).  Overall this seems to gain about 10%
on evaluation of simple expressions, which isn't earthshaking but seems
a worthwhile gain for a relatively small hack.  Per recent discussion
on pghackers.
2004-03-17 01:02:24 +00:00
Bruce Momjian
40f456ce56 Remove double-rename used by Win32 on busy files. Not needed anymore. 2004-03-16 05:05:58 +00:00
Bruce Momjian
8526f537cc The "cvs add" of test_thread_implicit.pgc seems to have been missed,
i've attached this again.

Additionally I include a small patch to remove mutex locking when a
DEFAULT/NULL connection is being retrieved. This is consistent with
libpq.

Lee Kindness
2004-03-15 16:27:43 +00:00
Bruce Momjian
bda6e04ba0 Check for EOF on pipe differs under win32, as it is based on a socket
implementation.

Claudio Natoli
2004-03-15 16:21:37 +00:00
Bruce Momjian
f744c0f760 float8-small-is-zero and float8-exp-three-digits will likely need
similar changes.

Claudio Natoli
2004-03-15 16:20:52 +00:00
Bruce Momjian
3947f653f9 * postmaster.c: cleanup pmdaemonize under win32; missed failure message
in CreateOptsFile
* s_lock.c: minor comment fix
* findbe.c: variables not used under win32 moved within #ifndef WIN32
case

Claudio Natoli
2004-03-15 16:18:43 +00:00
Bruce Momjian
dea47eee06 Windows uses codepages rather than the environment, so we work around
that by querying the environment explicitly first for LC_COLLATE and
LC_CTYPE. We have to do this because initdb passes those values in the
environment. If there is nothing there we fall back on the codepage.

Andrew Dunstan
2004-03-15 16:14:26 +00:00
Bruce Momjian
d6b57925ca Remove GUC log_statement, log_pid, log_timestamp, log_source_port.
Functionality superceeded by log_line_prefix.

Andrew Dunstan
2004-03-15 15:56:28 +00:00
Bruce Momjian
6812e95a28 Improve random regression tests to fail less frequently. 2004-03-15 15:46:25 +00:00
Tatsuo Ishii
e8c3205037 Add PQmbdsplen() which returns the "display length" of a character.
Still some works needed:
- UTF-8, MULE_INTERNAL always returns 1
2004-03-15 10:41:26 +00:00
Tom Lane
1bc2d544b9 Localize our dependencies on the way to create NAN or INFINITY.
Per recent proposal to pghackers.
2004-03-15 03:29:22 +00:00
Tom Lane
89ab5c4abf Remove grotty special-case code in coerce_to_target_type() that
implemented casts to varchar and bpchar using a cast-to-text function.
This is a holdover from before we had pg_cast; it now makes more sense
to just list these casts in pg_cast.  While at it, add pg_cast entries
for the other direction (casts from varchar/bpchar) where feasible.
2004-03-15 01:13:41 +00:00
Bruce Momjian
64fe1fd239 Update Solaris thread flags, per Jim Seymour 2004-03-14 23:51:48 +00:00
Tom Lane
04226b6404 Tweak planner so that index expressions and predicates are matched to
queries without regard to whether coercions are stated explicitly or
implicitly.  Per suggestion from Stephan Szabo.
2004-03-14 23:41:27 +00:00
Tom Lane
e1d08faf04 Fix error in termination of COPY IN mode when using V2 protocol.
Report and fix per ljb, 8-Mar-04.
2004-03-14 22:00:54 +00:00
Bruce Momjian
6e7a0f3550 Mark linux as thread-enabled with new 7.5 tests. 2004-03-14 15:06:13 +00:00
Bruce Momjian
48f3ddf991 Fix ecpg_sqlca_key_destructor to return void. 2004-03-14 14:47:33 +00:00
Bruce Momjian
b76c536e2e > (I also see some post-7.4.1 changes in src/template/solaris, so you
> possibly should look there too.)
[snip]
>

I think I have the fix for part of it, but this remains...

    gcc -O2 -fno-strict-aliasing -Wall -Wmissing-prototypes
    -Wmissing-declarations -fPIC -I. -I../../../src/include
    -D_POSIX_PTHREAD_SEMANTICS -DFRONTEND
    -DSYSCONFDIR='"/usr/local/pgsql/etc"'  -c -o thread.o thread.c
    thread.c: In function `pqGethostbyname':
    thread.c:189: error: `resbuf' undeclared (first use in this
function)

Looking at src/port/thread.c, line 189, it looks like somebody typo'd.
Looks like that second parameter should be "resultbuf", not "resbuf"?

Jim Seymour
2004-03-14 14:01:43 +00:00
Michael Meskes
757fb0e5a9 - Fixed Informix compat math functions to cope with the situations
where one argument takes the result.
- Applied thread patches by Lee Kindness
2004-03-14 12:16:30 +00:00
Neil Conway
80ac9b06ac Portability fixes and bug fixes for recent floating point input changes.
In particular, don't depend on strtod() to accept 'NaN' and 'Infinity'
inputs (while this is required by C99, not all platforms are compliant
with that yet). Also, don't require glibc's behavior from isinf():
it seems that on a lot of platforms isinf() does not itself distinguish
between negative and positive infinity.
2004-03-14 05:22:52 +00:00
Tom Lane
7665d1bc16 Teach psql to show the location of syntax errors visually, per recent
discussions.  Patch by Fabien Coelho and Tom Lane.  Still needs to be
taught about multi-screen-column kanji characters; Tatsuo has promised
to provide the needed infrastructure for that.
2004-03-14 04:25:18 +00:00
Tom Lane
a8a3b54724 Arrange to emit a CONTEXT: SQL function "foo" entry in an error
message that is reporting a prechecking error in a SQL function.
This is to cue client-side code that the syntax error position,
if any, is with respect to the function body and not the outer command.
2004-03-14 01:58:41 +00:00
Tom Lane
b88fa3b196 Generate a WARNING when the column types in a foreign key constraint are
incompatible enough to prevent indexscanning the referenced table.  Also,
improve the error message that pops out when we can't implement the FK at
all for lack of a usable equality operator.  Fabien Coelho, with some review
by Tom Lane.
2004-03-13 22:09:14 +00:00
Tom Lane
642cd0ab13 Repair memory leakage introduced into the non-hashed aggregate case by
7.4 rewrite for hashed aggregate support.  If the transition data type
is pass-by-reference, the transValue must be pfreed when starting a new
group boundary, else we have a one-value-per-group leakage.  Thanks to
Rae Steining for providing a reproducible test case.
2004-03-13 00:54:10 +00:00
Dennis Bjorklund
58e351113f Translation updates 2004-03-12 18:32:51 +00:00
Bruce Momjian
73f3ab692d Fixes recent changes to test. For immediate application.
[ Note: int8-exp-three-digits.out needs the same treatment]

Will review recent changes for float4/8 and implications for win32 when
I get a chance.

Claudio Natoli
2004-03-12 14:08:05 +00:00
Dennis Bjorklund
27731fd2fa Translation updates 2004-03-12 12:59:09 +00:00
Dennis Bjorklund
9bcaa8e283 Translation updates 2004-03-12 12:38:36 +00:00
Bruce Momjian
1c89c51b9e Rename incorrect references to nonblock.c to noblock.c. Claudio. 2004-03-12 04:33:41 +00:00
Neil Conway
bfd6f52b0e Allow 'Infinity' and '-Infinity' as input to the float4 and float8
types. Update the regression tests and the documentation to reflect
this. Remove the UNSAFE_FLOATS #ifdef.

This is only half the story: we still unconditionally reject
floating point operations that result in +/- infinity. See
recent thread on -hackers for more information.
2004-03-12 00:25:43 +00:00
Dennis Bjorklund
fe6e922136 Translation updates 2004-03-11 15:48:57 +00:00
Neil Conway
e2ded829f6 Revise int2/int4/int8/float4/float8 input routines to allow for
any amount of leading or trailing whitespace (where "whitespace"
is defined by isspace()). This is for SQL conformance, as well
as consistency with other numeric types (e.g. oid, numeric).

Also refactor pg_atoi() to avoid looking at errno where not
necessary, and add a bunch of regression tests for the input
to these types.
2004-03-11 02:11:14 +00:00
Tatsuo Ishii
0b86ade1c2 Add NOWAIT option to LOCK command 2004-03-11 01:47:41 +00:00
Bruce Momjian
60a068b389 Move non-blocking code into its own /port file, for code clarity. 2004-03-10 21:12:49 +00:00
Peter Eisentraut
3ab5aa02f8 Build scanner output when making a distribution. 2004-03-09 19:47:05 +00:00
Bruce Momjian
8567bb2d06 Corrects a typo, introduces missing variables, and rearranges the
initialization of stats process under EXEC_BACKEND.

[A cleaner, rationalized approach to stat/backend/SSDataBase child
processes under EXEC_BACKEND is on my TODO list. However this patch
takes care of immediate concerns (ie. stats test now passes under
win32)]

Claudio Natoli
2004-03-09 05:11:53 +00:00
Bruce Momjian
eeec31774a Determines the PKGLIBDIR equivalent under win32. Requires pgsql lib and
bin directories to be packaged under the same root directory (eg. <some
path>/pgsql/bin and <some path>/pgsql/lib) for the win32 port, which
does not appear to be an onerous restriction.

Claudio Natoli
2004-03-09 05:06:45 +00:00
Bruce Momjian
943eae92fb Add ALSO keyword to CREATE RULE.
Fabien COELHO
2004-03-09 05:05:41 +00:00
Bruce Momjian
53cd7cd8a9 Make a separate win32 debug DLL along with the non-debug version:
Currently, src/interfaces/libpq/win32.mak builds a statically-linked
library "libpq.lib", a debug dll "libpq.dll", import library for the
debug dll "libpqdll.lib", a release dll "libpq.dll", import library for
the release dll "libpqdll.lib".  To avoid naming clashes, I would make
the debug dll and import libraries "libpqd.dll" and "libpqddll.lib".

Basically, the debug build uses the cl flags: "/MDd /D _DEBUG", and the
release build uses the cl flags "/MD /D NDEBUG".  Usually the debug
build has a "D" suffix on the file name, so for example:

libpqd.dll     libpq, debug build
libpqd.lib     libpq, debug build, import library
libpq.dll      libpq, release build
libpq.lib      libpq, release build, import library

David Turner
2004-03-09 04:53:37 +00:00
Bruce Momjian
f0f4e82f45 The win32 port backend will require the functionality provided by
canonicalize_path. Patch moves it from initdb.c to port/path.c.

Claudio Natoli
2004-03-09 04:49:02 +00:00
Bruce Momjian
2d3fe86bc4 Add:
#log_line_prefix = ''         # e.g. '<%u%%%d> '
                              # %u=user name %d=database name
                              # %r=remote host and port
                              # %p=PID %t=timestamp %i=command tag
                              # %c=session id %l=session line number
                              # %s=session start timestamp
                              # %x=stop here in non-session processes
                              # %%='%'

Andrew Dunstan
2004-03-09 04:43:07 +00:00
Bruce Momjian
4679e875c0 Add comment about why ON COMMENT in non-current database throws just an
warning.
2004-03-08 21:35:59 +00:00
Tom Lane
7998e8ca6a Test for whether a previous IN join restricts the current join was too
strict, per discussion with Dennis Haney.
Also, rearrange the preceding tests to avoid redundancy.
2004-03-08 17:20:17 +00:00
Tom Lane
bc19d6641a When testing usability of a partial index, recognize that an index
predicate of the form 'foo IS NOT NULL' is implied by a WHERE clause
that uses 'foo' in any strict operator or function.  Per suggestion
and preliminary implementation by John Siracusa; some further hacking
by moi.
2004-03-07 05:43:53 +00:00
Bruce Momjian
1973971821 Per a brief conversation with Tom, I've created a patch for adding
support for 'week' within the date_trunc function.

Within the patch I added a couple of test cases and associated target
output, and changed the documentation to add 'week' appropriately.

Robert Creager
2004-03-05 02:41:14 +00:00
Tom Lane
44611f6e6d libpq's query to get the OIDs of large-object support functions was not
schema-safe.  Make it so, and improve the internal support for knowledge
of server version.
2004-03-05 01:53:59 +00:00
Bruce Momjian
d91acf8401 Win32:
* Mostly, casting etc to remove compilation warnings in win32 only code.

* main.c: set _IONBF to stdout/stderr under win32 (under win32, _IOLBF
defaults to full buffering)

* pg_resetxlog/Makefile: ensures dirmod.o gets cleaned (got bitten by
this when, after "make clean"ing, switching compilation between Ming +
Cygwin)

Claudio Natoli
2004-03-05 01:11:04 +00:00
Bruce Momjian
65a0db19f4 Add new SPI functions for use by PL/Java:
+extern Oid SPI_getargtypeid(void *plan, int argIndex);
	+extern int SPI_getargcount(void *plan);
	+extern bool SPI_is_cursor_plan(void *plan);

Thomas Hallgren
2004-03-05 00:47:01 +00:00
Bruce Momjian
202cbdca03 Fix log_executor_stats for non-multi queries. Backpatch to 7.4.X. 2004-03-05 00:21:41 +00:00
Neil Conway
2146bfc869 Emit a warning when an empty string is input to the oid, float4, and
float8 types. This begins the deprecation of this feature: in 7.6,
this input will be rejected.

Also added a new error code for warnings about deprecated features,
and updated the regression tests.
2004-03-04 21:47:18 +00:00
Michael Meskes
f3c6d592d2 - Fixed segfault due to missing check for variable declaration.
- Added check for multidimensional array usage.
2004-03-04 07:32:02 +00:00
Tom Lane
9e733eab69 Modify pg_dump so that the preferred dump order is by name within
object types, rather than by OID.  This should help ensure consistent
dump output from databases that are logically the same but have different
histories, per recent discussion about 'diffing' databases.  The patch
is bulky because of renaming of fields, but not very complicated.
Also, do some tweaking to cause BLOB restoration to be done in a better
order, and clean up pg_restore's textual output to exactly match pg_dump.
2004-03-03 21:28:55 +00:00
Bruce Momjian
119e968305 Adds the -W flag to the pwd call under Win32. This allows directories,
which are munged by sed, such as:
/e/cygwin/opt/diff9c/pgsql/src/test/regress/data/agg.data to be
correctly passed as:
e:/cygwin/opt/diff9c/pgsql/src/test/regress/data/agg.data

FWIW, "fixes" a large (> 20) tests under Win32.

Claudio Natoli
2004-03-03 04:22:47 +00:00
Tom Lane
0ee2603455 Remove useless rebuilding of subPlan list during ExecInitNode. Wouldn't
have been there to start with, except for overly enthusiastic copy-and-
paste ...
2004-03-02 22:17:34 +00:00
Tom Lane
13f466167d Update obsolete comment. 2004-03-02 22:05:24 +00:00
Tom Lane
0c6e97db47 Always schema-qualify the name of a function referenced in CREATE CAST.
The former coding failed if the cast function was not in the pg_catalog
schema.  How'd this escape detection?
2004-03-02 21:14:44 +00:00
Tom Lane
7bbd9d93cc Junkfilter logic to force a projection step during SELECT INTO was too
simplistic; it recognized SELECT * FROM but not SELECT * FROM LIMIT.
Per bug report from Jeff Bohmer.
2004-03-02 18:56:15 +00:00
Bruce Momjian
b95c05c9c1 Fix sizeof(Oid) in PGSTAT_NUM_TABPURGE. (Actually done in previous commit.) 2004-03-02 18:37:52 +00:00
Bruce Momjian
24262be5f9 Add missing checks for Borland C compiler.
L J Bayuk
2004-03-02 18:35:59 +00:00
Tom Lane
03e2a47e0b Teach is_distinct_query to recognize that GROUP BY forces a subquery's
output to be distinct, if all the GROUP BY columns appear in the output.
Per suggestion from Dennis Haney.
2004-03-02 16:42:20 +00:00
Bruce Momjian
b57cbb4ef0 Add missing sprompt.obj psql usage for Borland compiler, per private
report from krizsan.

Backpatch to 7.4.X.
2004-03-02 15:17:16 +00:00
Michael Meskes
fd104c5764 Added partly missing VOLATILE keyword. 2004-03-02 06:45:05 +00:00
Tom Lane
64917ccb56 make_sort_from_pathkeys()'s method for choosing which of several
equivalent sort expressions to use was broken: you can't just look
at the relation membership, you have to actually grovel over the
individual Vars in each expression.  I think this did work when it
was written, but it was broken by subsequent optimizations that made
join relations not propagate every single input variable upward.
Must find the Var that got propagated, not choose one at random.
Per bug report from Daniel O'Neill.
2004-02-29 17:36:05 +00:00
Bruce Momjian
31ce2fddfa "Corrects" the int8/float4/float8 tests under win32.
Claudio Natoli
2004-02-29 02:41:45 +00:00
Tom Lane
9be7ea088c Remove unneeded indxqual field in IndexScanState, and the useless work
spent initializing it during indexscan startup.
2004-02-28 19:46:06 +00:00
Dennis Bjorklund
303f4649a2 Translation updates 2004-02-28 17:17:48 +00:00
Dennis Bjorklund
b8d518c17d Translation update 2004-02-28 11:05:12 +00:00
Dennis Bjorklund
90aac56562 Translation updates 2004-02-28 11:00:06 +00:00
Dennis Bjorklund
ef6e54d78b Translation updates 2004-02-28 10:52:06 +00:00
Tom Lane
6161766daf Adjust remove_redundant_join_clauses() so that when it has a choice
of which redundant clause to remove, it removes the more expensive one.
In simple scenarios the clauses will be like 'var = var' and there's
no difference, but we are now capable of considering cases where there
are sub-selects in the clauses, and it makes a BIG difference.
2004-02-27 21:48:04 +00:00
Tom Lane
df79b847fe genericcostestimate() neglected to include qual startup cost in
indexTotalCost.  I think this may not make any real difference in 7.4,
but it definitely is a problem with CVS tip's new equation.
2004-02-27 21:44:34 +00:00
Tom Lane
f5d8f0bb19 process_implied_equality must copy the substructure of the clauses it
is generating, to avoid problems when subselects are involved.  Per
report from Damon Hart.
2004-02-27 21:42:00 +00:00
Neil Conway
f46a80c362 Fix a few omissions in the initcap() documentation & source code
comments, make some unrelated improvements to the functions
documentation, and perform some minor consistency cleanup
elsewhere. Original initcap() change from Dennis B., additional
changes by Neil C.
2004-02-27 03:59:23 +00:00
Bruce Momjian
8878f4aee7 For immediate application to HEAD.
Corrects bit-rot of recently applied patch. win32/cygwin only.

Claudio Natoli
2004-02-26 02:59:26 +00:00
Bruce Momjian
c672aa823b For application to HEAD, following community review.
* Changes incorrect CYGWIN defines to __CYGWIN__

* Some localtime returns NULL checks (when unchecked cause SEGVs under
Win32
regression tests)

* Rationalized CreateSharedMemoryAndSemaphores and
AttachSharedMemoryAndSemaphores (Bruce, I finally remembered to do it);
requires attention.

Claudio Natoli
2004-02-25 19:41:23 +00:00
Tom Lane
5ada9ef088 Teach plpgsql's lexer about dollar-quoted literals.
Andrew Dunstan, some help from Tom Lane.
2004-02-25 18:10:51 +00:00
Tom Lane
fa7a3abe87 anyarray really needs to be declared with typalign = 'd', so that entries
in pg_statistic are correctly aligned if they contain values that require
double alignment.  Too bad we cannot force initdb for this in 7.4 branch.
2004-02-24 22:59:10 +00:00
Tom Lane
fa96a5e15b Add %option nodefault to all our flex lexers. Fix a couple of rule gaps
exposed thereby.  AFAICT these would not lead to any worse problems than
junk emitted on the backend's stdout, but we should have the option to
catch possible worse errors in future.
2004-02-24 22:06:32 +00:00
Tom Lane
58e705320e Implement dollar-quoting in the backend lexer and psql. Documentation
is still lacking, as is support in plpgsql and other places, but this is
the basic feature.  Patch by Andrew Dunstan, some tweaking by Tom Lane.
Also, enable %option nodefault in these two lexers, and patch some gaps
revealed thereby.
2004-02-24 21:45:18 +00:00
Michael Meskes
1f87d79142 - Corrected error handling in PGTYPEStimestamp_from_asc.
- Set pgtypeslib version to 1.2.
2004-02-24 16:07:49 +00:00
Tom Lane
92bec9a0bc Cause pg_dump to emit a 'SET client_encoding' command at the start of
any restore operation, thereby ensuring that dumped data is interpreted
the same way it was dumped even if the target database has a different
encoding.  Per suggestions from Pavel Stehule and others.  Also,
simplify scheme for handling check_function_bodies ... we may as well
just set that at the head of the script.
2004-02-24 03:35:19 +00:00
Tom Lane
55fb172739 Don't crash when a rowtype argument to a plpgsql function is NULL.
Per report from Chris Campbell.
2004-02-24 01:44:33 +00:00
Tom Lane
3f2cf812af Fix obsolete comment. 2004-02-23 23:55:08 +00:00
Tom Lane
7a57a67278 Replace opendir/closedir calls throughout the backend with AllocateDir
and FreeDir routines modeled on the existing AllocateFile/FreeFile.
Like the latter, these routines will avoid failing on EMFILE/ENFILE
conditions whenever possible, and will prevent leakage of directory
descriptors if an elog() occurs while one is open.
Also, reduce PANIC to ERROR in MoveOfflineLogs() --- this is not
critical code and there is no reason to force a DB restart on failure.
All per recent trouble report from Olivier Hubaut.
2004-02-23 23:03:10 +00:00
Tom Lane
4f571319d3 NOFILE isn't used anywhere any more. 2004-02-23 20:48:03 +00:00
Tom Lane
f83356c7f5 Do a direct probe during postmaster startup to determine the maximum
number of openable files and the number already opened.  This eliminates
depending on sysconf(_SC_OPEN_MAX), and allows much saner behavior on
platforms where open-file slots are used up by semaphores.
2004-02-23 20:45:59 +00:00
Michael Meskes
b4c8dcb294 Fixed incorrect output of indicator structs using the name of the data struct. 2004-02-23 18:14:18 +00:00
Tom Lane
6b7763d1c1 Write #include <dl.h>, not #include "dl.h", to correctly reflect the
fact that dl.h is a system header and not one of ours.
2004-02-23 04:11:10 +00:00
Tom Lane
780cba9880 Move responsibility for copying argv[] array into ps_status.c, where it
logically belongs.  Arrange to update the _NSGetArgv() copy of the argv
pointer on Darwin.  (It seems likely that other NeXT-derived platforms
also have an _NSGetArgv() problem, but until we have some reports I'll
just make this #ifdef __darwin__.)
2004-02-22 21:26:55 +00:00
Tom Lane
a81b9d679f Fix random build breakage from log_disconnections patch. 2004-02-21 06:29:58 +00:00
Tom Lane
59f9a0b9df Implement a solution to the 'Turkish locale downcases I incorrectly'
problem, per previous discussion.  Make some additional changes to
centralize the knowledge of just how identifier downcasing is done,
in hopes of simplifying any future tweaking in this area.
2004-02-21 00:34:53 +00:00
Tom Lane
4b39aa3a7c Re-implement psql's input scanning to use a flex-generated lexer, as per
recent discussion.  The lexer is used for both SQL command text and
backslash commands.  The purpose of this change is to make it easier to
track the behavior of the backend's SQL lexer --- essentially identical
flex rules are now used by psql.  Also, this cleans up a lot of very
squirrelly code in mainloop.c and command.c.  The flex code is somewhat
bulkier than the removed code, but should be lots easier to maintain.
2004-02-19 19:40:09 +00:00
Tom Lane
737f1cd44b Cosmetic changes (mostly whitespace) to make it easier to diff the
backend lexer against psql's.
2004-02-19 19:11:30 +00:00
Bruce Momjian
af3b182a57 Here is a patch that implements setitimer() on win32. With this patch
applied, deadlock detection and statement_timeout now works.

The file timer.c goes into src/backend/port/win32/.

The patch also removes two lines of "printf debugging" accidentally left
in pqsignal.h, in the console control handler.

Magnus Hagander
2004-02-18 16:25:12 +00:00
Michael Meskes
f8257734e4 Added missing rule for DOUBLE variables. 2004-02-18 08:42:02 +00:00
Neil Conway
4553e1d80f Improve the consistency of the error message emitted when rejecting
invalid input to the oid type. Also, remove some long-unused code
from adt/numutils.c
2004-02-18 00:01:34 +00:00
Bruce Momjian
530570c598 Rename function log_session_end to log_disconnections. 2004-02-17 04:09:26 +00:00
Bruce Momjian
96f134550c Fix prototype for on_proc_exit in log_disconnections patch. 2004-02-17 04:06:26 +00:00
Bruce Momjian
c53611e3e7 This patch brings up to date what I did last year (now unfortunately
bitrotted) to allow the logging of the end of a session, enabled by
the config setting "log_disconnections".

Andrew Dunstan
2004-02-17 03:54:57 +00:00
Bruce Momjian
1f17316a3d Here is an updated version of the win32 readdir patch.
1) Now puts in exactly the same change as the current-cvs mingw code
does. (see
http://cvs.sourceforge.net/viewcvs.py/mingw/runtime/mingwex/dirent.c?r1=
1.3&r2=1.4, second part of the patch).

2) Updates both xlog.c and slru.c in backend/access/transam/

3) Also updates pg_resetxlog, which also uses readdir() and checks the
errno value after the loop.

Magnus Hagander
2004-02-17 03:45:17 +00:00
Bruce Momjian
ec6feaaed4 Under Win32, stat() returns an st_ino field, but it has no meaning (on
Win2K, and possibly all Win32 variants, it is always 0). This causes a
number of problems in the dfmgr.c logic, which basically all revolve
around the fact that *any* two files will appear to have the same inode.

Claudio Natoli
2004-02-17 03:35:57 +00:00
Tom Lane
a536ed53bc Make use of statistics on index expressions. There are still some
corner cases that could stand improvement, but it does all the basic
stuff.  A byproduct is that the selectivity routines are no longer
constrained to working on simple Vars; we might in future be able to
improve the behavior for subexpressions that don't match indexes.
2004-02-17 00:52:53 +00:00
Bruce Momjian
d372bba02d Change may -> might, and remove an extra tab. 2004-02-16 23:07:57 +00:00
Michael Meskes
f464ad0bfd - Cleaned up parser a little bit. It does not make sense to allow a
typename to be typedef'ed that cannot be parsed as variable type.
- Allowed some SQL keywords to be used as C variable names.
2004-02-16 07:41:54 +00:00
Tom Lane
f0c9397f80 First steps towards statistics on expressional (nee functional) indexes.
This commit teaches ANALYZE to store such stats in pg_statistic, but
nothing is done yet about teaching the planner to use 'em.
Also, repair longstanding oversight in separate ANALYZE command: it
updated the pg_class.relpages and reltuples counts for the table proper,
but not for indexes.
2004-02-15 21:01:39 +00:00
Peter Eisentraut
4b8f125973 New translation 2004-02-15 19:38:29 +00:00
Michael Meskes
2a545255cf - Allowed some C keywords to be used as SQL column names. 2004-02-15 15:38:20 +00:00
Michael Meskes
a05977edd9 - Added missing braces to array parsing.
- Set ecpg version to 3.1.1.
	- Removed that old debugging output that I forgot the last time.
2004-02-15 13:48:54 +00:00
Tom Lane
a9e08392dd Create crosstype comparison operators for date vs. timestamp and date
vs. timestamptz.  This allows use of indexes for expressions like
  datecol >= date 'today' - interval '1 month'
which were formerly not indexable without casting the righthand side
down from timestamp to date.
2004-02-14 20:16:18 +00:00
Tom Lane
2e5fe483a3 Repair optimization bug I introduced in a moment of brain fade back in
Nov 2002: when constant-expression simplification removes all the
aggregate function calls from a query, that doesn't mean we can act as
though there never were any aggregates.  Per bug report from Gabor Szucs.
2004-02-13 22:26:30 +00:00
Tom Lane
8787bc8ef3 After further thought about support for gathering stats on functional
indexes, it seems like we ought to put another layer of indirection
between the compute_stats functions and the actual data storage.  This
would allow us to compute the values on-the-fly, for example.
2004-02-13 06:39:49 +00:00
Tom Lane
96656f7dd7 Try to make 'cross-database references are not implemented' errors a
bit more helpful by identifying the specific qualified name being
complained of.
2004-02-13 01:08:20 +00:00
Tom Lane
69946411d3 Add hooks for type-specific calculation of ANALYZE statistics. Idea and
coding by Mark Cave-Ayland, some kibitzing by Tom Lane.  initdb forced
due to new column in pg_type.
2004-02-12 23:41:04 +00:00
Bruce Momjian
565606654a Add CVS ID tags to port/win32/files. 2004-02-12 20:37:34 +00:00
Tom Lane
da99cce7cd Avoid delaying postmaster shutdown by up to 10 seconds on platforms
where signals do not terminate sleep() delays.
2004-02-12 20:07:26 +00:00
Bruce Momjian
4a1c29f87e Improve \? wording, remove 'internal'. 2004-02-12 19:58:16 +00:00
Peter Eisentraut
c60128e54b Translation updates 2004-02-12 19:19:32 +00:00
Jan Wieck
fc65a3e1fd Fixed bug where FlushRelationBuffers() did call StrategyInvalidateBuffer()
for already empty buffers because their buffer tag was not cleard out
when the buffers have been invalidated before.

Also removed the misnamed BM_FREE bufhdr flag and replaced the checks,
which effectively ask if the buffer is unpinned, with checks against the
refcount field.

Jan
2004-02-12 15:06:56 +00:00
Tom Lane
7bed6df184 Check only live tuples for OID validity, to avoid issues after ALTER
TABLE.  Per recent discussion.
2004-02-12 05:39:55 +00:00
Jan Wieck
1ecd035b31 Added hints about the reason, why the command string in
the view pg_stat_activity is missing, as per Bruces suggestion.

Jan
2004-02-12 01:44:22 +00:00
Tom Lane
c3c09be34b Commit the reasonably uncontroversial parts of J.R. Nield's PITR patch, to
wit: Add a header record to each WAL segment file so that it can be reliably
identified.  Avoid splitting WAL records across segment files (this is not
strictly necessary, but makes it simpler to incorporate the header records).
Make WAL entries for file creation, deletion, and truncation (as foreseen but
never implemented by Vadim).  Also, add support for making XLOG_SEG_SIZE
configurable at compile time, similarly to BLCKSZ.  Fix a couple bugs I
introduced in WAL replay during recent smgr API changes.  initdb is forced
due to changes in pg_control contents.
2004-02-11 22:55:26 +00:00
Tom Lane
0cb117eb33 Repair some problems in bgwriter start/stop logic. In particular, don't
allow the bgwriter to start before the startup subprocess has finished
... it tends to crash otherwise.  (The same problem may have existed for
the checkpointer, I'm not entirely sure.)  Remove some code that was
redundant because the bgwriter is handled as a member of the backend list.
2004-02-11 22:25:02 +00:00
Bruce Momjian
c6f0559371 Check and set thread-safe functions separately, rather than as a single
variable.

Remove thread locking for non-thread-safe functions, instead throw a
compile error.

Platforms will have to re-run tools/thread to record their thread
safety.
2004-02-11 21:44:06 +00:00
Bruce Momjian
15b330b648 Properly set NEED_REENTRANT_FUNCS for threaded libpq/ecpg.
Without this patch, no thread locking or *_r functions were being used.
2004-02-11 17:29:01 +00:00
Tom Lane
94a67cce7e No need to link libpq into these programs ... 2004-02-10 23:24:13 +00:00
Tom Lane
127ea18f48 Add configure support for determining UINT64_FORMAT, the appropriate
snprintf format for uint64 items.
2004-02-10 19:55:45 +00:00
Bruce Momjian
feed7cf1c1 More clearly describe why PQinSend returns false for non-threaded libpq. 2004-02-10 15:21:24 +00:00
Tom Lane
0eb6951915 Repair missing inclusions of -lintl for shared libraries. 2004-02-10 07:26:25 +00:00
Tom Lane
d1587f1f5b Looks like we need <unistd.h> for select() on Darwin. 2004-02-10 04:23:03 +00:00
Tom Lane
58f337a343 Centralize implementation of delay code by creating a pg_usleep()
subroutine in src/port/pgsleep.c.  Remove platform dependencies from
miscadmin.h and put them in port.h where they belong.  Extend recent
vacuum cost-based-delay patch to apply to VACUUM FULL, ANALYZE, and
non-btree index vacuuming.

By the way, where is the documentation for the cost-based-delay patch?
2004-02-10 03:42:45 +00:00
Tom Lane
87bd956385 Restructure smgr API as per recent proposal. smgr no longer depends on
the relcache, and so the notion of 'blind write' is gone.  This should
improve efficiency in bgwriter and background checkpoint processes.
Internal restructuring in md.c to remove the not-very-useful array of
MdfdVec objects --- might as well just use pointers.
Also remove the long-dead 'persistent main memory' storage manager (mm.c),
since it seems quite unlikely to ever get resurrected.
2004-02-10 01:55:27 +00:00
Neil Conway
f06e79525a Win32 signals cleanup. Patch by Magnus Hagander, with input from Claudio
Natoli and Bruce Momjian (and some cosmetic fixes from Neil Conway).
Changes:

    - remove duplicate signal definitions from pqsignal.h

    - replace pqkill() with kill() and redefine kill() in Win32

    - use ereport() in place of fprintf() in some error handling in
      pqsignal.c

    - export pg_queue_signal() and make use of it where necessary

    - add a console control handler for Ctrl-C and similar handling
      on Win32

    - do WaitForSingleObjectEx() in CHECK_FOR_INTERRUPTS() on Win32;
      query cancelling should now work on Win32

    - various other fixes and cleanups
2004-02-08 22:28:57 +00:00
Tom Lane
2d330199c4 Add missing dependency, per Wade Klaver. 2004-02-07 07:20:12 +00:00
Jan Wieck
f425b605f4 Cost based vacuum delay feature.
Jan
2004-02-06 19:36:18 +00:00
Jan Wieck
8d09e25693 Backing out the background writer sync() option.
Jan
2004-02-04 01:24:53 +00:00
Neil Conway
e66fcce672 Use memmove() rather than memcpy() in set_var_from_var(). If this function
is asked to assign a variable to itself, it will result in doing a
memcpy() on an entirely-overlapping memory range, which results in
undefined behavior according to ANSI C. That said, it is unlikely to
actually do anything bad on any sane libc, but this keeps valgrind quiet.
2004-02-04 01:11:47 +00:00
Tom Lane
d3917186b2 pwd 2004-02-03 17:52:55 +00:00
Tom Lane
391c3811a2 Rename SortMem and VacuumMem to work_mem and maintenance_work_mem.
Make btree index creation and initial validation of foreign-key constraints
use maintenance_work_mem rather than work_mem as their memory limit.
Add some code to guc.c to allow these variables to be referenced by their
old names in SHOW and SET commands, for backwards compatibility.
2004-02-03 17:34:04 +00:00
Joe Conway
12661642c8 Add function (actually an int4 and an int8 version) that generates
a series of numbers, optionally using an explicit step size other
than the default value (one). Use function in the information_schema
to replace hard-wired knowledge of INDEX_MAX_KEYS. initdb forced due
to pg_proc change. Documentation update still needed -- will be
committed separately.
2004-02-03 08:29:57 +00:00
Bruce Momjian
9dac52649d Win32 adjustments for dirmod and configure/configure.in. 2004-02-02 22:20:33 +00:00
Bruce Momjian
011ad7efec Set only LC_ALL for sort in tags creation. 2004-02-02 17:29:32 +00:00
Bruce Momjian
bd2a8078d3 > src/backend/commands/user.c file has some parse error at repalloc(),
palloc()$

Fixed.  Thanks.

> src/backend/postmaster/pgstat.c miss
> #include "tcop/tcopprot.h" line.

Fixed.

> src/utils/dllinit.c wrong include header line at MinGW.
> #include <cygwin/version.h> must be not included

Fixed.

> by the way,
> I can't compile eccp because I used lower version bison.

> and bin/pg_resetxlog too. in this case I can't find what's wrong.

Fixed.
2004-02-02 17:21:08 +00:00
Neil Conway
9e218af7ed Fix a read of uninitialized memory in next_token() of hba.c, spotted via
valgrind: a buffer passed to strncmp() had to be NUL-terminated. Original
report and patch from Dennis Bjorkland, some cleanup by Andrew Dunstan,
and finally some editorializing from Neil Conway.
2004-02-02 16:58:30 +00:00
Bruce Momjian
4c29e21578 Adjustments for Win32-specific rename code, and add include file. 2004-02-02 16:37:46 +00:00
Tom Lane
9fe097577e Avoid generating invalid character encoding sequences in make_greater_string.
Not sure how this mistake evaded detection for so long.
2004-02-02 03:07:08 +00:00
Neil Conway
b8362d465d Use Tcl_PutEnv() in place of putenv() in libpgtcl, as the latter can
apparently corrupt the Tcl runtime. Per suggestion from Michael
Brusser <michael@synchronicity.com>
2004-02-02 00:35:08 +00:00
Bruce Momjian
d9d2ca8e8e Adjust rename on Win32 to only link to temp name while holding lock,
then release locks and loop over renaming to active file name.
2004-02-02 00:17:23 +00:00
Bruce Momjian
e5e5a323ca Briefly,
* configure + Makefile changes
 * shared memory attaching in EXEC_BACKEND case (+ minor fix for apparent
cygwin bug under cygwin/EXEC_BACKEND case only)
 * PATH env var separator differences
 * missing win32 rand functions added
 * placeholder replacements for sync etc under port.h


To those who are really interested, and there are a few of you: the attached
patch + file will allow the source base to be compiled (and, for some
definition, "run") under MingW, with the following caveats (I wanted to
first properly fix all but the last of these, but y'all won't quit asking
for a patch :-):

        * child death: SIGCHLD not yet sent, so as a minimum, you'll need to
put in some sort of delay after StartupDatabase, and handle setting
StartupPID to 0 etc (ie. the stuff the reaper() signal function is supposed
to do)

        * dirmod.c: comment out the elog calls

        * dfmgr.c: some hackage required to substitute_libpath_macro

        * slru/xact.c: comment out the errno checking after the readdir
(fixed by next version of MingW)

Again, this is only if you *really* want to see postgres compile and start,
and is a nice leg-up for working on the other Win32 TODO list items. Just
don't expect too much else from it at this point...


Claudio Natoli
2004-02-02 00:11:31 +00:00
Bruce Momjian
10bb17e334 Set locale to C before doing sort in make_ctags. 2004-02-01 23:11:33 +00:00
Tom Lane
f27976c85b Make length() disregard trailing spaces in char(n) values, per discussion
some time ago and recent patch from Gavin Sherry.  Update documentation
to point out that trailing spaces are insignificant in char(n).
2004-02-01 06:27:48 +00:00
Neil Conway
08b0e60563 Fix a probably-harmless read of uninitialized memory in mkdir_p(), to
silence a valgrind warning.
2004-01-31 22:10:00 +00:00
Neil Conway
25b8b69eec Remove a superfluous semi-colon. 2004-01-31 21:18:00 +00:00
Neil Conway
7b2cf1713d Micro-opt: replace calls like
appendStringInfo(buf, "%s", str);
with
    appendStringInfoString(buf, str);
as the latter form is slightly faster.
2004-01-31 05:09:41 +00:00
Tom Lane
d4fd7d85f3 Fix text_position to not scan past end of source string in multibyte
case, per report from Korea PostgreSQL Users' Group.  Also do some
cosmetic cleanup in nearby code.
2004-01-31 00:45:21 +00:00
Tom Lane
a3c969d522 Fix debug elog message to agree with name of its routine. 2004-01-30 22:44:21 +00:00
Bruce Momjian
5ee2ae2049 Remove sleep() and use single PG_SLEEP call for Win32 signal handling
and consistency.

Change PG_USLEEP to use SleepEx() for signal interuptability.
2004-01-30 15:57:04 +00:00
Neil Conway
940b87e722 Fix (debatable) spelling mistake in a comment: 'concatenate' is the usual
term, not 'catenate'.
2004-01-29 12:34:59 +00:00
Tom Lane
18f9d7c74e Make USING and WITH optional to bring the syntax of \copy into exact
agreement with what the backend grammar actually accepts (which is a
bit looser than what its documentation claims).  Per report from Bill
Moran, though I did not use his patch since it removed all the
undocumented flexibility that the code historically had and the backend
still has.
2004-01-28 22:14:04 +00:00
Tom Lane
2f0d43b251 Review uses of IsUnderPostmaster, change some tests to look at
whereToSendOutput instead because they are really inquiring about
the correct client communication protocol.  Update some comments.
This is pointing towards supporting regular FE/BE client protocol
in a standalone backend, per discussion a month or so back.
2004-01-28 21:02:40 +00:00
Tom Lane
b3ead7c045 Fix typo. 2004-01-28 20:43:03 +00:00
Michael Meskes
6d9a81b66f Removed some debugging output. 2004-01-28 09:54:23 +00:00
Michael Meskes
6ccfc4f430 - Issue a warning if a cursor is declared but not opened.
- Fixed prototype for ECPGprepared_statement to not moan about "const char"
- Fixed parsing of nested structures.
- Added option to parse header files.
2004-01-28 09:52:14 +00:00
Tom Lane
31a0f1d33b Fix oversight in check_ungrouped_columns optimization that avoids
unnecessary checks for complex grouping expressions: we cannot check
whether the expressions are simple Vars until after we apply
flatten_join_alias_vars, because in the case of FULL JOIN that routine
can introduce non-Var expressions.  Per example from Joel Knight.
2004-01-28 07:46:44 +00:00