summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2006-03-03Avoid trying to open /dev/tty on Win32. Some Win32 systems haveBruce Momjian
/dev/tty, but it isn't a device file and doesn't work as expected. This fixes a known bug where psql does not prompt for a password on some Win32 systems. Backpatch to 8.1.X. Robert Kinberg
2006-03-03Improve pg_dump and psql to use libpq's newer COPY support routines,Tom Lane
instead of the old deprecated ones. Volkan Yazici, with some editorializing by moi.
2006-03-03Fixes for Win32-client only compiles.Bruce Momjian
Hiroshi Saito
2006-03-03Update ipcclean to use try 'id' first for root check.Bruce Momjian
2006-03-03Add workaround so MSVC doesn't try to load strings.h, which it doesn'tBruce Momjian
have. This happens when MSVC uses pg_config.h generated by MinGW. Per report from Charles F. I. Savage
2006-03-03Teach PQcmdTuples() that a COPY command tag might contain a row count,Tom Lane
and tighten up its sanity checking of the tag as a safety measure. Volkan Yazici.
2006-03-03Clarify macro layout for win32 IMPORT.Bruce Momjian
2006-03-03Make the COPY command return a command tag that includes the number ofTom Lane
rows copied. Backend side of Volkan Yazici's recent patch, with corrections and documentation.
2006-03-03Dept. of second thoughts: rejigger the TRUNCATE ... CASCADE patch so thatTom Lane
relations are still checked for permissions etc as soon as they are opened. The original form of the patch could hold exclusive lock for a long time on relations that the user doesn't even have permissions to access, let alone truncate.
2006-03-03In ipcclean, check LOGNAME only if USER is not set.Bruce Momjian
Fixes problem with 'su' on some platforms.
2006-03-03Fix a typo.Neil Conway
2006-03-03Add CASCADE option to TRUNCATE. Joachim WielandTom Lane
2006-03-03Add comment about localized month names for to_date and to_timestamp.Bruce Momjian
2006-03-03Arrange to call AbsorbFsyncRequests every so often while performing aTom Lane
checkpoint in the bgwriter. This forestalls overflow of the fsync request queue, which is not fatal but causes considerable performance degradation when it occurs (because backends then have to do their own fsyncs). Per patch from Itagaki Takahiro, modified a little bit by me.
2006-03-02Remove unnecessary lo_lseek call in lo_open. Apparently there was onceTom Lane
a need for it back in the neolithic era, but it's certainly dead code in any PG release we would recognize as such. Since it forces an additional network round trip to the backend, getting rid of it should provide some small performance improvement for large-object-using clients.
2006-03-02Fix ancient error in large objects usage example: overwrite() subroutineTom Lane
was opening with INV_READ flag and then writing. Prior to 8.1 the backend did not reject this, but now it does.
2006-03-02Repair oidvectorrecv and int2vectorrecv, which I broke while changingTom Lane
them to use array_recv :-(. Per report from Tim Kordas.
2006-03-02Fix possible crash at transaction end when a plpgsql function is used andTom Lane
then modified within the same transaction. The code was using a linked list of active PLpgSQL_expr structs, which was OK when it was written because plpgsql never released any parse data structures for the life of the backend. But since Neil fixed plpgsql's memory management, elements of the linked list could be freed, leading to crash when the list is chased. Per report and test case from Kris Jurka.
2006-03-02Fix up pg_dump to emit shell-type definitions at the proper time, toTom Lane
make use of the recently added ability to create a shell type explicitly. I also put in place some infrastructure to allow dump/no dump decisions to be made separately for each database object, rather than the former hardwired 'dump if in a dumpable schema' policy. This was needed anyway for shell types so now seemed a convenient time to do it. The flexibility isn't exposed to the user yet, but is ready for future extensions.
2006-03-01Update the expected regression test results to account for the changes toNeil Conway
error messages I made yesterday -- thanks to Andrew Dunstan for reporting this, and my apologies for missing it the first time.
2006-03-01Attached is a patch that replaces a bunch of places where StringInfosNeil Conway
are unnecessarily allocated on the heap rather than the stack. If the StringInfo doesn't outlive the stack frame in which it is created, there is no need to allocate it on the heap via makeStringInfo() -- stack allocation is faster. While it's not a big deal unless the code is in a critical path, I don't see a reason not to save a few cycles -- using stack allocation is not less readable. I also cleaned up a bit of code along the way: moved variable declarations into a more tightly-enclosing scope where possible, fixed some pointless copying of strings in dblink, etc.
2006-03-01This patch makes the error message strings throughout the backendNeil Conway
more compliant with the error message style guide. In particular, errdetail should begin with a capital letter and end with a period, whereas errmsg should not. I also fixed a few related issues in passing, such as fixing the repeated misspelling of "lexeme" in contrib/tsearch2 (per Tom's suggestion).
2006-02-28Fix typo in comment.Neil Conway
2006-02-28Allow the syntax CREATE TYPE foo, with no parameters, to permit explicitTom Lane
creation of a shell type. This allows a less hacky way of dealing with the mutual dependency between a datatype and its I/O functions: make a shell type, then make the functions, then define the datatype fully. We should fix pg_dump to handle things this way, but this commit just deals with the backend. Martijn van Oosterhout, with some corrections by Tom Lane.
2006-02-28Tweak the error message emitted when a void-returning PL/Python functionNeil Conway
does not return None, per suggestion from Tom.
2006-02-28Allow PL/Python functions to return void, per gripe from James RobinsonNeil Conway
(I didn't use his patch, however). A void-returning PL/Python function must return None (from Python), which is translated into a void datum (and *not* NULL) for Postgres. I also added some regression tests for this functionality.
2006-02-28Add PG_VERSION_NUM for use by 3rd party applications wanting to test theBruce Momjian
backend version in C using > and < comparisons.
2006-02-28Teach nodeSort and nodeMaterial to optimize out unnecessary overheadTom Lane
when the passed-down eflags indicate they can. Simon Riggs and Tom Lane
2006-02-28Extend the ExecInitNode API so that plan nodes receive a set of flagTom Lane
bits indicating which optional capabilities can actually be exercised at runtime. This will allow Sort and Material nodes, and perhaps later other nodes, to avoid unnecessary overhead in common cases. This commit just adds the infrastructure and arranges to pass the correct flag values down to plan nodes; none of the actual optimizations are here yet. I'm committing this separately in case anyone wants to measure the added overhead. (It should be negligible.) Simon Riggs and Tom Lane
2006-02-27Clean up CREATE FUNCTION syntax usage in contrib and elsewhere, inPeter Eisentraut
particular get rid of single quotes around language names and old WITH () construct.
2006-02-27Add mention that tid perhaps someday should be output as a record.Bruce Momjian
2006-02-26Improve sorting speed by pre-extracting the first sort-key column ofTom Lane
each tuple, as per my proposal of several days ago. Also, clean up sort memory management by keeping all working data in a separate memory context, and refine the handling of low-memory conditions.
2006-02-26Fix a few minor typos in comments in PL/Perl.Neil Conway
2006-02-26Implement the <> operator for the tid type. Original patch from MarkNeil Conway
Kirkwood, minor improvements by Neil Conway. The regression tests have been updated and the catversion has been bumped.
2006-02-26Fix typo in comment.Neil Conway
2006-02-24The Makefile was invoking perl scripts as ./script.pl. This fails whenPeter Eisentraut
the script is not executable as UCS_to_most.pl is in CVS. It also won't pick up any custom setting of the perl version/location to use. This patch calls perl scripts like $(PERL) $(srcdir)/script.pl. Kris Jurka
2006-02-24Make restricted_exec feature for Windows more robust by using the environmentAndrew Dunstan
to pass the flag instead of the command line - some implementations of getopt fail if getopt arguments are present after non-getopt arguments.
2006-02-24make initdb -U username work as advertised; back out bogus patch at rev 1.42Andrew Dunstan
and supply real fix for problem it tried to address.
2006-02-21Cleanup the usage of ScanDirection: use the symbolic names for theNeil Conway
possible ScanDirection alternatives rather than magic numbers (-1, 0, 1). Also, use the ScanDirection macros in a few places rather than directly checking whether `dir == ForwardScanDirection' and the like. Per patch from James William Pye. His patch also changed ScanDirection to be a "char" rather than an enum, which I haven't applied.
2006-02-21Fix old pg_dump oversight: default values for domains really need to be dumpedTom Lane
by decompiling the typdefaultbin expression, not just printing the typdefault text which may be out-of-date or assume the wrong schema search path. (It's the same hazard as for adbin vs adsrc in column defaults.) The catalogs.sgml spec for pg_type implies that the correct procedure is to look to typdefaultbin first and consider typdefault only if typdefaultbin is NULL. I made dumping of both domains and base types do that, even though in the current backend code typdefaultbin is always correct for domains and typdefault for base types --- might as well try to future-proof it a little. Per bug report from Alexander Galler.
2006-02-21Adjust probe for getaddrinfo to cope with macro-ized definitions, suchTom Lane
as Tru64's. Per previous discussion.
2006-02-20Fix three Python reference leaks in PLy_traceback(). This would resultNeil Conway
in leaking memory when invoking a PL/Python procedure that raises an exception. Unfortunately this still leaks memory, but at least the largest leak has been plugged. This patch also fixes a reference counting mistake in PLy_modify_tuple() for 8.0, 8.1 and HEAD: we don't actually own a reference to `platt', so we shouldn't Py_DECREF() it.
2006-02-19Update obsolete comment.Tom Lane
2006-02-19Modify logtape.c so that the initial LogicalTapeSetCreate call onlyTom Lane
allocates the control data. The per-tape buffers are allocated only on first use. This saves memory in situations where tuplesort.c overestimates the number of tapes needed (ie, there are fewer runs than tapes). Also, this makes legitimate the coding in inittapes() that includes tape buffer space in the maximum-memory calculation: when inittapes runs, we've already expended the whole allowed memory on tuple storage, and so we'd better not allocate all the tape buffers until we've flushed some tuples out of memory.
2006-02-19Improve tuplesort.c to support variable merge order. The original codingTom Lane
with fixed merge order (fixed number of "tapes") was based on obsolete assumptions, namely that tape drives are expensive. Since our "tapes" are really just a couple of buffers, we can have a lot of them given adequate workspace. This allows reduction of the number of merge passes with consequent savings of I/O during large sorts. Simon Riggs with some rework by Tom Lane
2006-02-19Add TABLESPACE and ON COMMIT clauses to CREATE TABLE AS. ON COMMIT isNeil Conway
required by the SQL standard, and TABLESPACE is useful functionality. Patch from Kris Jurka, minor editorialization by Neil Conway.
2006-02-18&apos; is not valid HTML 4.01, so print the plain character instead.Peter Eisentraut
2006-02-18Add support for Windows codepages 1253, 1254, 1255, and 1257 and cleanPeter Eisentraut
up a bunch of the support utilities. In src/backend/utils/mb/Unicode remove nearly duplicate copies of the UCS_to_XXX perl script and replace with one version to handle all generic files. Update the Makefile so that it knows about all the map files. This produces a slight difference in some of the map files, using a uniform naming convention and not mapping the null character. In src/backend/utils/mb/conversion_procs create a master utf8<->win codepage function like the ISO 8859 versions instead of having a separate handler for each conversion. There is an externally visible change in the name of the win1258 to utf8 conversion. According to the documentation notes, it was named incorrectly and this changes it to a standard name. Running the Unicode mapping perl scripts has shown some additional mapping changes in koi8r and iso8859-7.
2006-02-18Mark unescape_single_char() "static": as far as I can see this functionNeil Conway
is only used by scan.l/scan.c
2006-02-17Fix typo in comment.Neil Conway