Commit Graph

22254 Commits

Author SHA1 Message Date
Bruce Momjian
c574106a66 Adjust plpython for escape_string_warning. 2006-03-08 04:01:29 +00:00
Bruce Momjian
bc0be355c8 Adjust PL regression tests for escape_string_warning. 2006-03-08 03:58:53 +00:00
Bruce Momjian
daab4a101f Update /contrib regression tests for escape_string_warning. 2006-03-08 03:51:52 +00:00
Tom Lane
43ceb3d449 Further examination of ltsReleaseBlock usage shows that it's got a
performance issue during regular merge passes not only the 'final merge'
case.  The original design contemplated that there would never be more
than about one free block per 'tape', hence no need for an efficient
method of keeping the free blocks sorted.  But given the later addition
of merge preread behavior in tuplesort.c, there is likely to be about
work_mem worth of free blocks, which is not so small ... and for that
matter the number of tapes isn't necessarily small anymore either.  So
we'd better get rid of the assumption entirely.  Instead, I'm assuming
that the usage pattern will involve alternation between merge preread
and writing of a new run.  This makes it reasonable to just add blocks
to the list without sorting during successive ltsReleaseBlock calls,
and then do a qsort() when we start getting ltsGetFreeBlock() calls.
Experimentation seems to confirm that there aren't many qsort calls
relative to the number of ltsReleaseBlock/ltsGetFreeBlock calls.
2006-03-07 23:46:24 +00:00
Tom Lane
8db05ba411 Repair old performance bug in tuplesort.c/logtape.c. In the case where
we are doing the final merge pass on-the-fly, and not writing the data
back onto a 'tape', the number of free blocks in the tape set will become
large, leading to a lot of time wasted in ltsReleaseBlock().  There is
really no need to track the free blocks anymore in this state, so add a
simple shutoff switch.  Per report from Stefan Kaltenbrunner.
2006-03-07 19:06:50 +00:00
Tom Lane
e6107da53c Turn off zero_damaged_pages in the right place (ie, in the autovac
process not in the postmaster) and with the right GucSource (needs to
be a nontransactional source since we've not started an xact yet).
2006-03-07 17:32:22 +00:00
Bruce Momjian
8d51c276ca Use SetConfigOption() to turn off "zero_damaged_pages" in autovacuum. 2006-03-07 03:03:09 +00:00
Bruce Momjian
79d25cf775 Back out comment update about sighup, original was accurate. 2006-03-07 03:01:22 +00:00
Bruce Momjian
ce1106d2fa Properly set "escape_string_warning" to default to true. 2006-03-07 02:54:23 +00:00
Tom Lane
fb51ad3419 Make all our flex and bison files use %option prefix or %name-prefix
(respectively) to rename yylex and related symbols.  Some were doing
it this way already, while others used not-too-reliable sed hacks in
the Makefiles.  It's all nice and consistent now.
2006-03-07 01:03:12 +00:00
Tom Lane
012abebab1 Remove the stub support we had for UNION JOIN; per discussion, this is
not likely ever to be implemented seeing it's been removed from SQL2003.
This allows getting rid of the 'filter' version of yylex() that we had in
parser.c, which should save at least a few microseconds in parsing.
2006-03-07 01:00:19 +00:00
Tom Lane
48cf295742 'make clean' should NOT remove *~ files. 2006-03-07 00:48:07 +00:00
Bruce Momjian
135fe1899d SGML typo fix. 2006-03-06 22:54:14 +00:00
Bruce Momjian
d694bd812a Default to ON for 8.2, as announced in the release notes:
escape_string_warning = on
2006-03-06 22:52:10 +00:00
Bruce Momjian
1c02144731 Done though the second is default so off in 8.2:
> * -Eventually enable escape_string_warning and standard_conforming_strings
2006-03-06 22:51:20 +00:00
Bruce Momjian
d69b163247 Attached is the new patch. To summarize:
- new function justify_interval(interval)
   - modified function justify_hours(interval)
   - modified function justify_days(interval)

These functions are defined to meet the requirements as discussed in
this thread.  Specifically:

   - justify_hours makes certain the sign bit on the hours
     matches the sign bit on the days.  It only checks the
     sign bit on the days, and not the months, when
     determining if the hours should be positive or negative.
     After the call, -24 < hours < 24.

   - justify_days makes certain the sign bit on the days
     matches the sign bit on the months.  It's behavior does
     not depend on the hours, nor does it modify the hours.
     After the call, -30 < days < 30.

   - justify_interval makes sure the sign bits on all three
     fields months, days, and hours are all the same.  After
     the call, -24 < hours < 24 AND -30 < days < 30.

Mark Dilger
2006-03-06 22:49:17 +00:00
Bruce Momjian
19c21d115d Enable standard_conforming_strings to be turned on.
Kevin Grittner
2006-03-06 19:49:20 +00:00
Bruce Momjian
a9c1047ebd Update comment on how sighup signal affects postgresql.conf reload.
Markus Bertheau
2006-03-06 18:38:11 +00:00
Bruce Momjian
526f773d2f * Stephen Frost (sfrost@snowman.net) wrote:
>   I've now tested this patch at home w/ 8.2HEAD and it seems to fix the
>   bug.  I plan on testing it under 8.1.2 at work tommorow with
>   mod_auth_krb5, etc, and expect it'll work there.  Assuming all goes
>   well and unless someone objects I'll forward the patch to -patches.
>   It'd be great to have this fixed as it'll allow us to use Kerberos to
>   authenticate to phppgadmin and other web-based tools which use
>   Postgres.

  While playing with this patch under 8.1.2 at home I discovered a
  mistake in how I manually applied one of the hunks to fe-auth.c.
  Basically, the base code had changed and so the patch needed to be
  modified slightly.  This is because the code no longer either has a
  freeable pointer under 'name' or has 'name' as NULL.

  The attached patch correctly frees the string from pg_krb5_authname
  (where it had been strdup'd) if and only if pg_krb5_authname returned
  a string (as opposed to falling through and having name be set using
  name = pw->name;).  Also added a comment to this effect.

Backpatch to 8.1.X.

Stephen Frost
2006-03-06 17:59:30 +00:00
Bruce Momjian
357cc01e57 This patch adds native LDAP auth, for those platforms that don't have
PAM (such as Win32, but also unixen without PAM). On Unix, uses
OpenLDAP. On win32, uses the builin WinLDAP library.

Magnus Hagander
2006-03-06 17:41:44 +00:00
Bruce Momjian
ebdc35822d Add:
> 	o Prevent parent tables from altering or dropping constraints
> 	  like CHECK that are inherited by child tables
>
> 	  Dropping constraints should only be possible with CASCADE.
>
2006-03-06 17:10:31 +00:00
Bruce Momjian
2abf8c7719 Update item. 2006-03-06 15:21:42 +00:00
Bruce Momjian
d2eb1d12a0 Add for Win32:
> 	o Check WSACancelBlockingCall() for interrupts (win32intr)
>
2006-03-06 15:19:45 +00:00
Bruce Momjian
07408e841d Add WSACancelBlockingCall TODO.detail item. 2006-03-06 15:19:19 +00:00
Bruce Momjian
e166574a1d Add for ecpg:
> 	o Add COPY TO STDIN / STDOUT handling
2006-03-06 15:13:38 +00:00
Bruce Momjian
5e3bcac1d9 Fix psql history handling so 'execute' backslash commands (\g)
remain as part of the multi-line query.
2006-03-06 15:09:04 +00:00
Bruce Momjian
2f01703f90 Update:
< * %Disallow changing sequence characteristics like INCREMENT for SERIAL columns
> * %Disallow ALTER SEQUENCE changes for SERIAL sequences because pg_dump
>   does not dump the changes
2006-03-06 05:22:31 +00:00
Bruce Momjian
1ad126314f Add:
> * %Disallow changing sequence characteristics like INCREMENT for SERIAL columns
2006-03-06 05:16:21 +00:00
Bruce Momjian
4c63b1f88e Prevent autovacuum from zeroing damaged pages. 2006-03-06 05:14:19 +00:00
Bruce Momjian
7d40942a27 in the docs, the function "ascii(text)" is described as
returning "ASCII code of the first character of the argument"

(see
http://www.postgresql.org/docs/8.1/interactive/functions-string.html,
Table  9-6. "Other String Functions").

Presumably this should read "ASCII code of the first byte of the
argument",
which is what is returned when the argument is a multi-byte character
(although then with UTF-8 at least that might not necessarily be an
ASCII
code).

Ian Barwick
2006-03-06 04:53:50 +00:00
Bruce Momjian
ca8f27998a In psql, save history of backslash commands used in multi-line
statements before the multi-line statement, rather than inside the
multi-line statement.
2006-03-06 04:45:21 +00:00
Neil Conway
99114a2473 Per recent discussion on -hackers, we should sometimes reorder the
columns of the grouping clause to avoid redundant sorts. The optimizer
is not currently capable of doing this, so this patch implements a
simple hack in the analysis phase (transformGroupClause): if any
subset of the GROUP BY clause matches a prefix of the ORDER BY list,
that prefix is moved to the front of the GROUP BY clause. This
shouldn't change the semantics of the query, and allows a redundant
sort to be avoided for queries like "GROUP BY a, b ORDER BY b".
2006-03-05 21:34:34 +00:00
Bruce Momjian
f9520ac110 Add:
> 	o Port contrib/xml2
2006-03-05 18:28:46 +00:00
Andrew Dunstan
5d723d05c0 Prepared queries for PLPerl, plus fixing a small plperl memory leak. Patch
and docs from Dmitry Karasik, slightly editorialised.
2006-03-05 16:40:51 +00:00
Bruce Momjian
f2f5b05655 Update copyright for 2006. Update scripts. 2006-03-05 15:59:11 +00:00
Bruce Momjian
e096406c05 Update to 2006. 2006-03-05 15:21:45 +00:00
Bruce Momjian
5173b1a40f Done:
> 	o -Add "include file" functionality in postgresql.conf
2006-03-05 15:16:58 +00:00
Bruce Momjian
a4a6ee4a5d Check for "msys" so it doesn't use 'con' by checking for an evironment
variable.
2006-03-05 05:33:12 +00:00
Bruce Momjian
5fde861375 Improve STRINGS_H macro test for MSVC extensions.
Add DLLIMPORT for V1 headers, in case Win32 don't export all symbols.
2006-03-05 04:43:57 +00:00
Tom Lane
c1bb2877b2 Improve OS X shared-memory documentation: fix typos and provide a usable
example of /etc/sysctl.conf contents.
2006-03-05 03:50:44 +00:00
Tom Lane
5b8ac71042 Support include directives in postgresql.conf.
Patch by Joachim Wieland, somewhat reworked for clarity and portability.
2006-03-04 22:19:31 +00:00
Tom Lane
60d3c9fdf4 Declare the arguments of AllocateFile() as const char *, not char *.
This is consistent with the standard definition of fopen().
2006-03-04 21:32:47 +00:00
Tom Lane
2689abf078 Incorporate a couple of recent tuplesort.c improvements into tuplestore.c.
In particular, ensure that enlargement of the memtuples[] array doesn't
fall foul of MaxAllocSize when work_mem is very large, and don't bother
enlarging it if that would force an immediate switch into 'tape' mode anyway.
2006-03-04 19:30:12 +00:00
Tom Lane
20bdc71369 Prevent lazy_space_alloc from making requests that exceed MaxAllocSize,
per report from Stefan Kaltenbrunner.
2006-03-04 19:09:09 +00:00
Tom Lane
80cadb303c Prevent sorting from requesting a SortTuple array that exceeds MaxAllocSize;
we'll go over to disk-based sort if we reach that limit.
This fixes Stefan Kaltenbrunner's observation that sorting can suffer an
'invalid memory alloc request size' failure when sort_mem is set large
enough.  It's unfortunately not so easy to fix in 8.1 ...
2006-03-04 19:05:06 +00:00
Tatsuo Ishii
b3d0442ab3 Tighten up SJIS byte sequence check. Now we reject invalid SJIS byte
sequence such as "0x95 0x27". Patches from Akio Ishida.
Also update copyright notice.
2006-03-04 10:57:35 +00:00
Bruce Momjian
18bc9ea561 Add:
> * Allow FSM page return free space based on table clustering, to assist
>   in maintaining clustering?
2006-03-04 05:02:03 +00:00
Bruce Momjian
3bce31f613 > gettimeofday.c:35: warning: integer constant is too large for "long"
> type

Wouldn't it be better to use the UINT64CONST macro?  I realize this
file is Windows-only, but we do worry about more than one compiler
on that platform.

Kris Jurka
2006-03-04 04:44:07 +00:00
Bruce Momjian
f1d7f80c1a > It doesn't say that only the listed commands acquire ACCESS EXCLUSIVE,
> just that certain commands do.  TRUNCATE isn't shown.

Patch against HEAD to add TRUNCATE to the list of commands that aquire
ACCESS EXCLUSIVE.

Jim C. Nasby, Sr.
2006-03-04 04:41:36 +00:00
Bruce Momjian
64e7c8a951 Use DEVTTY as 'con' on Win32 as a replacement for /dev/tty. 2006-03-04 04:30:41 +00:00