summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2008-06-10Create a script to handle stamping release version numbers into files,Tom Lane
replacing the tedious and error-prone manual process we've been using.
2008-06-10Comment fix, should say TSQuery instead of TSVector.Heikki Linnakangas
Per Jan Urbanski.
2008-06-09Fix unportable (and incorrect anyway) usage of LL constant suffix thatTom Lane
recently snuck into cash.c. Per report from Edmundo Robles Lopez.
2008-06-09Fix datetime input functions to correctly detect integer overflow whenTom Lane
running on a 64-bit platform ... strtol() will happily return 64-bit output in that case. Per bug #4231 from Geoff Tolley.
2008-06-09Fix an ALTER TABLE test case so that it actually tests what the comment says itTom Lane
is testing. Ah, the perils of making keywords optional ...
2008-06-09Further tweak for comment in CheckDeadLock(), per Tom.Neil Conway
2008-06-09Fix typo in comment.Neil Conway
2008-06-08Fix breakage caused by conflicting patches, as evidenced by the buildfarm.Alvaro Herrera
2008-06-08Rewrite DROP's dependency traversal algorithm into an honest two-passTom Lane
algorithm, replacing the original intention of a one-pass search, which had been hacked up over time to be partially two-pass in hopes of handling various corner cases better. It still wasn't quite there, especially as regards emitting unwanted NOTICE messages. More importantly, this approach lets us fix a number of open bugs concerning concurrent DROP scenarios, because we can take locks during the first pass and avoid traversing to dependent objects that were just deleted by someone else. There is more that can be done here, but I'll go ahead and commit the base patch before working on the options.
2008-06-08Move BufferGetPageSize and BufferGetPage from bufpage.h to bufmgr.h. It isAlvaro Herrera
more logical that way, and also it reduces the amount of unnecessary includes in bufpage.h, which is widely used. Zdenek Kotala. My previous patch to bufpage.h should also have credited him as author, but I forgot (sorry about that).
2008-06-08ALTER AGGREGATE OWNER seems to have been missed by the last couple ofTom Lane
patches that dealt with object ownership. It wasn't updating pg_shdepend nor adjusting the aggregate's ACL. In 8.2 and up, fix this permanently by making it use AlterFunctionOwner_oid. In 8.1, the function code wasn't factored that way, so just copy and paste.
2008-06-06Change xlog.h to xlogdefs.h in bufpage.h, and fix fallout.Alvaro Herrera
2008-06-06Fix pg_get_ruledef() so that negative numeric constants are parenthesized.Tom Lane
This is needed because :: casting binds more tightly than minus, so for example -1::integer is not the same as (-1)::integer, and there are cases where the difference is important. In particular this caused a failure in SELECT DISTINCT ... ORDER BY ... where expressions that should have matched were seen as different by the parser; but I suspect that there could be other cases where failure to parenthesize leads to subtler semantic differences in reloaded rules. Per report from Alexandr Popov.
2008-06-05Modify vacuum() to accept a single relation OID instead of a list (which weAlvaro Herrera
always pass as a single element anyway.) In passing, fix an outdated comment.
2008-06-05Fix some string building in getObjectDescription.Alvaro Herrera
2008-06-04Added lost sysmbol SQL_SQL to list of allowed variable names.Michael Meskes
2008-06-02Fix initdb to reject a relative path for -X (--xlogdir) argument. ThisTom Lane
doesn't work, and the real reason why not is it's unclear where the path is relative to (initdb's CWD, or the data directory?). We could make an arbitrary decision, but it seems best to make the user be unambiguous. Per gripe from Devrim.
2008-06-01Update time zone data files to tzdata release 2008c (DST law changes inTom Lane
Morocco, Iraq, Choibalsan, Pakistan, Syria, Cuba, Argentina/San_Luis).
2008-06-01Refactor SPI_cursor_open/SPI_cursor_open_with_args so that the latter setsTom Lane
the PARAM_FLAG_CONST flag on the parameters that are passed into the portal, while the former's behavior is unchanged. This should only affect the case where the portal is executing an EXPLAIN; it will cause the generated plan to look more like what would be generated if the portal were actually executing the command being explained. Per gripe from Pavel.
2008-05-30Copy refint.so and autoinc.so into the src/test/regress directory duringTom Lane
"make all", and then reference them there during the actual tests. This makes the handling of these files more parallel to that of regress.so, and in particular simplifies use of the regression tests outside the original build tree. The PGDG and Red Hat RPMs have been doing this via patches for a very long time. Inclusion of the change in core was requested by Jørgen Austvik of Sun, and I can't see any reason not to. I attempted to fix the MSVC scripts for this too, but they may need further tweaking ...
2008-05-29Improve the documentation comment for replace(). Robert TreatTom Lane
2008-05-29Tweak libpq to avoid crashing due to incorrect buffer size calculation whenTom Lane
we are on a 64-bit machine (ie, size_t is wider than int) and someone passes in a query string that approaches or exceeds INT_MAX bytes. Also, just for paranoia's sake, guard against similar overflows in sizing the input buffer. The backend will not in the foreseeable future be prepared to send or receive strings exceeding 1GB, so I didn't take the more invasive step of switching all the buffer index variables from int to size_t; though someday we might want to do that. I have a suspicion that this is not the only such bug in libpq, but this fix is enough to take care of the crash reported by Francisco Reyes.
2008-05-28Set hidden field for guc enum missed in previous commit.Magnus Hagander
2008-05-28Add a field to guc enums to allow hiding of values from display whileMagnus Hagander
still accepting them as input, used to allow alternate syntax for the same setting. Alex Hunsaker
2008-05-27Explicitly bind gettext() to the UTF8 locale when in use.Magnus Hagander
This is required on Windows due to the special locale handling for UTF8 that doesn't change the full environment. Fixes crash with translated error messages per bugs 4180 and 4196. Tom Lane
2008-05-27Alter the xxx_pattern_ops opclasses to use the regular equality operator ofTom Lane
the associated datatype as their equality member. This means that these opclasses can now support plain equality comparisons along with LIKE tests, thus avoiding the need for an extra index in some applications. This optimization was not possible when the pattern opclasses were first introduced, because we didn't insist that text equality meant bitwise equality; but we do now, so there is no semantic difference between regular and pattern equality operators. I removed the name_pattern_ops opclass altogether, since it's really useless: name's regular comparisons are just strcmp() and are unlikely to become something different. Instead teach indxpath.c that btree name_ops can be used for LIKE whether or not the locale is C. This might lead to a useful speedup in LIKE queries on the system catalogs in non-C locales. The ~=~ and ~<>~ operators are gone altogether. (It would have been nice to keep them for backward compatibility's sake, but since the pg_amop structure doesn't allow multiple equality operators per opclass, there's no way.) A not-immediately-obvious incompatibility is that the sort order within bpchar_pattern_ops indexes changes --- it had been identical to plain strcmp, but is now trailing-blank-insensitive. This will impact in-place upgrades, if those ever happen. Per discussions a couple months ago.
2008-05-26Fix an old corner-case bug in set_config_option: push_old_value has to beTom Lane
called before, not after, calling the assign_hook if any. This is because push_old_value might fail (due to palloc out-of-memory), and in that case there would be no stack entry to tell transaction abort to undo the GUC assignment. Of course the actual assignment to the GUC variable hasn't happened yet --- but the assign_hook might have altered subsidiary state. Without a stack entry we won't call it again to make it undo such actions. So this is necessary to make the world safe for assign_hooks with side effects. Per a discussion a couple weeks ago with Magnus. Back-patch to 8.0. 7.x did not have the problem because it did not have allocatable stacks of GUC values.
2008-05-25Adjust timestamp regression tests to prevent two low-probability failureTom Lane
cases. Recent buildfarm experience shows that it is sometimes possible to execute several SQL commands in less time than the granularity of Windows' not-very-high-resolution gettimeofday(), leading to a failure because the tests expect the value of now() to change and it doesn't. Also, it was recognized some time ago that the same area of the tests could fail if local midnight passes between the insertion and the checking of the values for 'yesterday', 'tomorrow', etc. Clean all this up per ideas from myself and Greg Stark. There remains a window for failure if the transaction block is entered exactly at local midnight (so that 'now' and 'today' have the same value), but that seems low-probability enough to live with. Since the point of this change is mostly to eliminate buildfarm noise, back-patch to all versions we are still actively testing.
2008-05-21Link in keywords file instead of copying it.Michael Meskes
Use #define/#ifdef instead of sed to fix include files, this should work on Windows too.
2008-05-21Add include directory required after the latest changes to the ecpg build.Magnus Hagander
Per red Windows buildfarm members.
2008-05-21Fix function headers not matching prototype in header file, perMagnus Hagander
compiler warnings on msvc.
2008-05-21Use CRITICAL_SECTION instead of Mutexes for thread-locking in libpq onMagnus Hagander
Windows, for better performance. Per suggestion from Andrew Chernow, but not his patch since the underlying code was changed to deal with return values.
2008-05-21ecpg_keywords.o also depends on preproc.hMichael Meskes
2008-05-20Synced parser.Michael Meskes
Made ecpg parser use backend provided keyword list. Changed whenever test so exit value is 0.
2008-05-20Simplify code in formatting.c now that to upper/lower/initcase do notBruce Momjian
modify the passed string.
2008-05-19Remove arbitrary 10MB limit on two-phase state file size. It's not that hardHeikki Linnakangas
to go beoynd 10MB, as demonstrated by Gavin Sharry's example of dropping a schema with ~25000 objects. The really bogus thing about the limit was that it was enforced when a state file file was read in, not when it was written, so you would end up with a prepared transaction that you can't commit or abort, and the only recourse was to shut down the server and remove the file by hand. Raise the limit to MaxAllocSize, and enforce it also when a state file is written. We could've removed the limit altogether, but reading in a file larger than MaxAllocSize would fail anyway because we read it into a palloc'd buffer. Backpatch down to 8.1, where 2PC and this issue was introduced.
2008-05-19Make to_char()'s localized month/day names depend on LC_TIME, not LC_MESSAGES.Tom Lane
Euler Taveira de Oliveira
2008-05-19Coercion sanity check in ri_HashCompareOp failed to allow for enums, as perTom Lane
example from Rod Taylor. On reflection the correct test here is for any polymorphic type, not specifically ANYARRAY as in the original coding.
2008-05-18Remove old kluge put in to allow Windows regression tests to succeed, and nowAndrew Dunstan
found to have been made necessary by our skipping tty detection on Windows. Now that we are doing tty detection on Windows the kluge is unnecessary and wrong.
2008-05-18okay, looks like ecpg/compatlib needs -lintl too.Tom Lane
Per buildfarm results.
2008-05-17Use isatty() test for pager on Win32; not sure why it was disabled forBruce Momjian
that platform.
2008-05-17In psql, test for output to stdout when forcing pager for wide output.Bruce Momjian
2008-05-17Another fix for compiles on an empty 'po' directory.Bruce Momjian
2008-05-17Don't call rm with empty file list.Peter Eisentraut
2008-05-17ecpglib needs to link with libintl if it's in use.Tom Lane
Per buildfarm results.
2008-05-17Improve pg_regress so that it reports the fact if any test processTom Lane
exits with nonzero status. The Windows part of this is untested ...
2008-05-17Fix utterly-bogus code for computing row heights. Per crashes onTom Lane
spoonbill, though one wonders why it didn't misbehave everywhere. In passing remove some unnecessary modulo calculations.
2008-05-17Fix a subtle bug exposed by recent wal_sync_method rearrangements.Tom Lane
Formerly, the default value of wal_sync_method was determined inside xlog.c, but now it is determined inside guc.c. guc.c was reading xlogdefs.h without having read <fcntl.h>, leading to wrong determination of DEFAULT_SYNC_METHOD. Obviously xlogdefs.h needs to include <fcntl.h> for itself to ensure stable results.
2008-05-17Remove DEFAULT_SYNC_FLAGBIT ... not used anymore.Tom Lane
2008-05-17fix ecpg regression tests broken by over-eager adding of $PostgreSQL$ markersAndrew Dunstan