summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2008-11-14Second try at fixing DLLIMPORT problem for pg_crc.h on Cygwin.Tom Lane
2008-11-14In CREATE AGGREGATE, allow the transition datatype to be "internal", but onlyTom Lane
if the user is superuser. This makes available to extension modules the same sort of trick being practiced by array_agg(). The reason for the superuser restriction is that you could crash the system by connecting up an incompatible pair of internal-using functions as an aggregate. It shouldn't interfere with any legitimate use, since you'd have to be superuser to create the internal-using transition and final functions anyway.
2008-11-14ecpg's preproc.y is now generated as needed, so remove from CVS.Tom Lane
2008-11-14Make CREATE CONVERSION verify that a putative encoding conversion functionTom Lane
returns VOID. This is the last of the easy fixes I recommended in 11870.1218838360@sss.pgh.pa.us --- the others got done awhile ago but I forgot about this one.
2008-11-14Improve comment about when to clean generated files.Tom Lane
2008-11-14Enable script to generate preproc.y in build process.Michael Meskes
2008-11-14Fixed test for output_filename == stdout.Michael Meskes
2008-11-14Fix oversight in previous error-reporting patch; mustn't pfree path stringHeikki Linnakangas
before passing it to elog.
2008-11-14Set SQL man pages to be section 7 by default, and only transform them toPeter Eisentraut
another section if required by the platform (instead of the old way of building them in section "l" and always transforming them to the platform-specific section). This speeds up the installation on common platforms, and it avoids some funny business with the man page tools and build process.
2008-11-14Added files containing changes between gram.y and preproc.y.Michael Meskes
2008-11-14Adding script that generates preproc.y from gram.y to CVS.Michael Meskes
2008-11-14Actually, instead of whining about how type internal might not safely storeTom Lane
a pointer, why don't we just fix that. Every known use of "internal" really means a pointer anyway.
2008-11-14Replace the usage of heap_addheader to create pg_attribute tuples with regularAlvaro Herrera
heap_form_tuple. Since this removes the last remaining caller of heap_addheader, remove it. Extracted from the column privileges patch from Stephen Frost, with further code cleanups by me.
2008-11-14Implement the basic form of UNNEST, ie unnest(anyarray) returns setofTom Lane
anyelement. This lacks the WITH ORDINALITY option, as well as the multiple input arrays option added in the most recent SQL specs. But it's still a pretty useful subset of the spec's functionality, and it is enough to allow obsoleting contrib/intagg.
2008-11-14Minor code clarity improvements in array_agg functions, and add a commentTom Lane
about how this is playing fast and loose with the type system.
2008-11-13Suppress leap-second-aware timezones in the output of pg_tzenumerate_next,Tom Lane
and thereby in the pg_timezone_names view. Although we allow such zones to be used in certain limited contexts like AT TIME ZONE, we don't allow them in SET TIME ZONE, and bug #4528 shows that they're more likely to confuse users than do anything useful. So hide 'em. (Note that we don't even generate these zones when installing our own timezone database. But they are likely to be present when using a system-provided database.)
2008-11-13Prevent synchronous scan during GIN index build, because GIN is optimizedTom Lane
for inserting tuples in increasing TID order. It's not clear whether this fully explains Ivan Sergio Borgonovo's complaint, but simple testing confirms that a scan that doesn't start at block 0 can slow GIN build by a factor of three or four. Backpatch to 8.3. Sync scan didn't exist before that.
2008-11-13array_agg aggregate function, as per SQL:2008, but without ORDER BY clausePeter Eisentraut
Rearrange the documentation a bit now that array_agg and xmlagg have similar semantics and issues. best of Robert Haas, Jeff Davis, Peter Eisentraut
2008-11-13PGDLLIMPORT-ize the global variables referenced in pg_crc.h.Tom Lane
I think this will fix current mingw buildfarm failures for pg_trgm.
2008-11-13Updated parser file to the one generated by the latest version of ↵Michael Meskes
parse.[awk|pl] from the latest version of gram.y Some small corrections to test suite.
2008-11-13Removed two non-terminals:Michael Meskes
- FloatOnly: only used by NumericOnly, instead put the FloatOnly production into NumericOnly - IntegerOnly: only used by NumericOnly and one ALTER TABLE rule, replacement SignedIconst is already used in several other places
2008-11-13Fix libpq certificate validation for SSL connections.Magnus Hagander
Add config parameter "sslverify" to control the verification. Default is to do full verification. Clean up some old SSL code that never really worked.
2008-11-13Arrange to cache the results of looking up a btree predicate proof comparisonTom Lane
operator. The result depends only on the two input operators and the proof direction (imply or refute), so it's easy to cache. This provides a very large savings in cases such as Sergey Konoplev's long NOT-IN-list example, where predtest spends all its time repeatedly figuring out that the same pair of operators cannot be used to prove anything. (But of course the O(N^2) behavior still catches up with you eventually.) I'm not convinced it buys a whole lot when constraint_exclusion isn't turned on, but it's not a lot of added code so we might as well cache all the time.
2008-11-12In predtest.c, install a limit on the number of branches we will process inTom Lane
AND, OR, or equivalent clauses: if there are too many (more than 100) just exit without proving anything. This ensures that we don't spend O(N^2) time trying (and most likely failing) to prove anything about very long IN lists and similar cases. Also, install a couple of CHECK_FOR_INTERRUPTS calls to ensure that a long proof attempt can be interrupted. Per gripe from Sergey Konoplev. Back-patch the whole patch to 8.2 and just the CHECK_FOR_INTERRUPTS addition to 8.1. (The rest of the patch doesn't apply cleanly, and since 8.1 doesn't show the complained-of behavior anyway, it doesn't seem necessary to work hard on it.)
2008-11-12Update URL to Ross Williams' CRC paper.Alvaro Herrera
Per note from Devrim Gunduz
2008-11-12Do not use ICONST/SCONST in rules other than Iconst/Sconst.Michael Meskes
2008-11-12If we're going to use a SQL function for this, at least make it schema-proof.Tom Lane
2008-11-12array_length() function, and for SQL compatibility also cardinality()Peter Eisentraut
function as a special case. This version still has the suspicious behavior of returning null for an empty array (rather than zero), but this may need a wholesale revision of empty array behavior, currently under discussion. Jim Nasby, Robert Haas, Peter Eisentraut
2008-11-12Fix off-by-one error in autovacuum shmem struct sizing. This could lead toHeikki Linnakangas
autovacuum worker sending SIGUSR1 signal to wrong process, per Zou Yong's report. Backpatch to 8.3.
2008-11-12Clean up the ancient decision to show only two fractional-seconds digitsTom Lane
in "postgres_verbose" intervalstyle, and the equally arbitrary decision to show at least two fractional-seconds digits in most other datetime display styles. This results in some minor changes in the expected regression test outputs. Also, coalesce a lot of repetitive code in datetime.c into subroutines, for clarity and ease of maintenance. In particular this roughly halves the number of #ifdef HAVE_INT64_TIMESTAMP segments. Ron Mayer, with some additional kibitzing from Tom Lane
2008-11-11Ensure that the phrels sets of PlaceHolderVars appearing in an AppendRelInfo'sTom Lane
translated_vars list get updated when pulling up an appendrel member. It's not clear that this really matters at present, since relatively little gets done with the outputs of an appendrel child relation; but it probably will come back to bite us sometime if we leave them with the wrong values.
2008-11-11Get rid of adjust_appendrel_attr_needed(), which has been broken ever sinceTom Lane
we extended the appendrel mechanism to support UNION ALL optimization. The reason nobody noticed was that we are not actually using attr_needed data for appendrel children; hence it seems more reasonable to rip it out than fix it. Back-patch to 8.2 because an Assert failure is possible in corner cases. Per examination of an example from Jim Nasby. In HEAD, also get rid of AppendRelInfo.col_mappings, which is quite inadequate to represent UNION ALL situations; depend entirely on translated_vars instead.
2008-11-11Make psql report "SSL connection (unknown cipher)" when libpq has setMagnus Hagander
up a SSL connection, but psql is compiled without support for it. Not a really realistic use-case, but the patch also cuts down on the number of places with #ifdef's...
2008-11-11Fix sloppy omission of now-required #include's.Tom Lane
2008-11-11Change error messages to print the physical path, likeHeikki Linnakangas
"base/11517/3767_fsm", instead of symbolic names like "1663/11517/3767/1", per Alvaro's suggestion. I didn't change the messages in the higher-level index, heap and FSM routines, though, where the fork is implicit.
2008-11-11Replaced manually synced preproc.y by the one created by the new script.Michael Meskes
Adapted regression test files accordingly.
2008-11-11Add an explicit caution about how to use pg_do_encoding_conversion withTom Lane
non-null-terminated input. Per discussion with ITAGAKI Takahiro.
2008-11-11Add support for input and output of interval values formatted per ISO 8601;Tom Lane
specifically, we can input either the "format with designators" or the "alternative format", and we can output the former when IntervalStyle is set to iso_8601. Ron Mayer
2008-11-10Fix a case of string building.Alvaro Herrera
2008-11-10Fix bugs in sqlchar_to_unicode and unicode_to_sqlchar: both were measuringTom Lane
the length of a UTF8 character with pg_mblen (wrong if DB encoding isn't UTF8), and the latter was blithely assuming that a static buffer would somehow revert to all zeroes for each use.
2008-11-10Fix 'Q' format char parsing in the new to_timestamp() code. Used to crash.Heikki Linnakangas
2008-11-10Add a --locale switch to createdb, to ease the creation of databases withAlvaro Herrera
different locales. This is just syntactical sweetener over --lc-collate and --lc-ctype. Per discussion. While at it, properly document --lc-ctype and --lc-collate in SGML docs, which apparently were forgotten (or purposefully ommited?) when they were created.
2008-11-10pg_do_encoding_conversion cannot return NULL (at least not unless the inputTom Lane
is NULL), so remove some useless tests for the case.
2008-11-10Make relhasrules and relhastriggers work like relhasindex, namely we letTom Lane
VACUUM reset them to false rather than trying to clean 'em up during DROP.
2008-11-09Replace pg_class.reltriggers with relhastriggers, which is just a boolean hintTom Lane
("there might be triggers") rather than an exact count. This is necessary catalog infrastructure for the upcoming patch to reduce the strength of locking needed for trigger addition/removal. Split out and committed separately for ease of reviewing/testing. In passing, also get rid of the unused pg_class columns relukeys, relfkeys, and relrefs, which haven't been maintained in many years and now have no chance of ever being maintained (because of wishing to avoid locking). Simon Riggs
2008-11-09Add a startup check that pg_xlog and pg_xlog/archive_status exist.Tom Lane
If the latter doesn't exist, automatically recreate it. (We don't do this for pg_xlog, though, per discussion.) Jonah Harris
2008-11-09Add a new GUC variable called "IntervalStyle" that decouples interval outputTom Lane
from DateStyle, and create a new interval style that produces output matching the SQL standard (at least for interval values that fall within the standard's restrictions). IntervalStyle is also used to resolve the conflict between the standard and traditional Postgres rules for interpreting negative interval input. Ron Mayer
2008-11-08Fix recently added code for SQL years-months interval syntax so thatTom Lane
it behaves correctly for a leading minus sign, zero year value, and nonzero month value. Per discussion with Ron Mayer.
2008-11-07Implement ALTER DATABASE SET TABLESPACE to move a whole database (or at leastTom Lane
as much of it as lives in its default tablespace) to a new tablespace. Guillaume Lelarge, with some help from Bernd Helmle and Tom Lane
2008-11-06Improve bulk-insert performance by keeping the current target buffer pinnedTom Lane
(but not locked, as that would risk deadlocks). Also, make it work in a small ring of buffers to avoid having bulk inserts trash the whole buffer arena. Robert Haas, after an idea of Simon Riggs'.