summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2007-01-19Add support for converting binary values (i.e. bytea) into xml values,Peter Eisentraut
with new GUC parameter "xmlbinary" that controls the output encoding, as per SQL/XML standard.
2007-01-19Change the sed rules in the regression test for pg_regress hackery to createAlvaro Herrera
the generated files, to help Visual C++ to run these tests. The tests still pass in VPATH and normal builds. Patch from Magnus Hagander, editorialized by me.
2007-01-18Clean up encoding issues in the xml type: In text mode, encodingPeter Eisentraut
declarations are ignored and removed, in binary mode they are honored as specified by the XML standard.
2007-01-17Add a note pointing out that is_pseudo_constant_clause() doesn't checkTom Lane
for aggregates. This is OK for current uses but could burn somebody someday...
2007-01-17Extend yesterday's patch so that the bgwriter is also told to forgetTom Lane
pending fsyncs during DROP DATABASE. Obviously necessary in hindsight :-(
2007-01-17Tweak the width_bucket() regression tests to avoid an unnecessaryNeil Conway
dependency on the platform's floating point implementation. Per report from Stefan Kaltenbrunner.
2007-01-17Revise bgwriter fsync-request mechanism to improve robustness when a tableTom Lane
is deleted. A backend about to unlink a file now sends a "revoke fsync" request to the bgwriter to make it clean out pending fsync requests. There is still a race condition where the bgwriter may try to fsync after the unlink has happened, but we can resolve that by rechecking the fsync request queue to see if a revoke request arrived meanwhile. This eliminates the former kluge of "just assuming" that an ENOENT failure is okay, and lets us handle the fact that on Windows it might be EACCES too without introducing any questionable assumptions. After an idea of mine improved by Magnus. The HEAD patch doesn't apply cleanly to 8.2, but I'll see about a back-port later. In the meantime this could do with some testing on Windows; I've been able to force it through the code path via ENOENT, but that doesn't prove that it actually fixes the Windows problem ...
2007-01-16vcbuild updates from Magnus:Neil Conway
* After Markos patch, now builds pgcrypto without zlib again * Updates README with xml info * xml requires xslt and iconv * disable unnecessary warning about __cdecl() * Add a buildenv.bat called from all other bat files to set up things like PATH for flex/bison. (Can't just set it before calling, doesn't always work when building from the GUI)
2007-01-16Implement width_bucket() for the float8 data type.Neil Conway
The implementation is somewhat ugly logic-wise, but I don't see an easy way to make it more concise. When writing this, I noticed that my previous implementation of width_bucket() doesn't handle NaN correctly: postgres=# select width_bucket('NaN', 1, 5, 5); width_bucket -------------- 6 (1 row) AFAICS SQL:2003 does not define a NaN value, so it doesn't address how width_bucket() should behave here. The patch changes width_bucket() so that ereport(ERROR) is raised if NaN is specified for the operand or the lower or upper bounds to width_bucket(). For float8, NaN is disallowed for any of the floating-point inputs, and +/- infinity is disallowed for the histogram bounds (but allowed for the operand). Update docs and regression tests, bump the catversion.
2007-01-16Fix incorrect permissions check in information_schema.key_column_usage view:Tom Lane
it was checking a pg_constraint OID instead of pg_class OID, resulting in "relation with OID nnnnn does not exist" failures for anyone who wasn't owner of the table being examined. Per bug #2848 from Laurence Rowe. Note: for existing 8.2 installations a simple version update won't fix this; the easiest fix is to CREATE OR REPLACE this view with the corrected definition.
2007-01-16Enable autovacuum in the default configuration, per discussion.Alvaro Herrera
2007-01-16Arrange for autovacuum to be killed when another operation wants to be aloneAlvaro Herrera
accessing it, like DROP DATABASE. This allows the regression tests to pass with autovacuum enabled, which open the gates for finally enabling autovacuum by default.
2007-01-14Fix reverse compilation of IS DOCUMENT expression.Peter Eisentraut
2007-01-14Add support for xmlval IS DOCUMENT expression.Peter Eisentraut
2007-01-12Fix handling of CC (century) format spec in to_date/to_char. According toTom Lane
standard convention the 21st century runs from 2001-2100, not 2000-2099, so make it work like that. Per bug #2885 from Akio Iwaasa. Backpatch to 8.2, but no further, since this is really a definitional change; users of older branches are probably more interested in stability.
2007-01-12Fix compiler warningPeter Eisentraut
2007-01-12Use XML output escaping also in XMLFOREST.Peter Eisentraut
2007-01-12Update error messsage wording.Bruce Momjian
2007-01-12Update ORDER BY UNION function/exprssion wording (again).Bruce Momjian
2007-01-12Add some notes about the basic mathematical laws that the system presumesTom Lane
hold true for operators in a btree operator family. This is mostly to clarify my own thinking about what the planner can assume for optimization purposes. (blowing dust off an old abstract-algebra textbook...)
2007-01-12Allow for arbitrary data types as content in XMLELEMENT. The originalPeter Eisentraut
coercion to type xml was a mistake. Escape values so they are valid XML character data.
2007-01-12Missed two new files from Joachim's patch.Michael Meskes
2007-01-12also adjust MinGW expected file to new setupMichael Meskes
create expected file with correct port number
2007-01-12Simplified regression handlingMichael Meskes
Added patch by Joachim to work around OpenBSD bug in regression suite.
2007-01-11Fix a performance problem in databases with large numbers of tablesTom Lane
(or other types of pg_class entry): the function pgstat_vacuum_tabstat, invoked during VACUUM startup, had runtime proportional to the number of stats table entries times the number of pg_class rows; in other words O(N^2) if the stats collector's information is reasonably complete. Replace list searching with a hash table to bring it back to O(N) behavior. Per report from kim at myemma.com. Back-patch as far as 8.1; 8.0 and before use different coding here.
2007-01-11Update UNION/INTERSECT/EXCEPT ORDER BY error wording forBruce Momjian
expressions/functions.
2007-01-11Improve error wording of ORDER BY in UNION that uses new expressions inBruce Momjian
ORDER BY.
2007-01-11Teach nodeMergejoin how to handle DESC and/or NULLS FIRST sort orders.Tom Lane
So far only tested by hacking the planner ...
2007-01-11Applied Joachim's patch for a --regression option.Michael Meskes
Made this option mark the .c files, so the environment variable is no longer needed. Created a special MinGW file with the special error message. Do not print port into log file when running regression tests.
2007-01-11Allow Borland CC to compile libpq and psql.Bruce Momjian
Backpatch to 8.2.X. L Bayuk
2007-01-11Allow Borland CC to compile libpq and psql.Bruce Momjian
L Bayuk
2007-01-10Use libxml's xmlwriter API for producing XML elements, instead of doingPeter Eisentraut
our own printing dance. This does a better job of quoting and escaping the values.
2007-01-10Make sure BYTE_ORDER gets defined in 64-bit builds on Solaris,Tom Lane
per Stefan Kaltenbrunner.
2007-01-10Change the planner-to-executor API so that the planner tells the executorTom Lane
which comparison operators to use for plan nodes involving tuple comparison (Agg, Group, Unique, SetOp). Formerly the executor looked up the default equality operator for the datatype, which was really pretty shaky, since it's possible that the data being fed to the node is sorted according to some nondefault operator class that could have an incompatible idea of equality. The planner knows what it has sorted by and therefore can provide the right equality operator to use. Also, this change moves a couple of catalog lookups out of the executor and into the planner, which should help startup time for pre-planned queries by some small amount. Modify the planner to remove some other cavalier assumptions about always being able to use the default operators. Also add "nulls first/last" info to the Plan node for a mergejoin --- neither the executor nor the planner can cope yet, but at least the API is in place.
2007-01-10Attached patch fixes two problems:Neil Conway
1) gendef works from inside visual studio - use a tempfile instead of redirection, because for some reason you can't redirect dumpbin from inside (patch from Joachim Wieland) 2) gendef must process only *.obj, or you get weird errors in some build scenarios when it tries to process a logfile Magnus Hagander
2007-01-10This patch enables verbose output when building all projects. This isNeil Conway
the same output level that was used when building a single project before, and really needed to get reasonable information about what happens (non-verbose just says "starting build of foo" and "done building foo", more or less). Magnus Hagander
2007-01-10Update copyright script to allow spaces around dash.Bruce Momjian
2007-01-09Have log_temp_files be in kilobytes, remove trace call.Bruce Momjian
2007-01-09Remove trace macro call from new log_temp_files, until it gets moreBruce Momjian
research.
2007-01-09Enable another five tuple status bits by using the high bits of theBruce Momjian
nattr field, and rename the field. Heikki Linnakangas
2007-01-09Add GUC log_temp_files to log the use of temporary files.Bruce Momjian
Bill Moran
2007-01-09Add a citation to Seltzer and Yigit's Usenix '91 paper about hash tableTom Lane
management. The paper clearly describes many of the ideas embodied in our current hashing code, but as far as I could find out there is not a direct code heritage. (Mike Olsen recalls discussion of this paper at Postgres meetings but believes it "informed the Postgres implementation probably just at the design level". Margo herself says she wasn't involved with Postgres' hash code.) Credit where credit is due 'n all that, even if fifteen years after the fact.
2007-01-09Fix vcbuild to allow building without OpenSSL and/or zlib. MagnusTom Lane
2007-01-09vcbuild documentation from Magnus and Dave.Tom Lane
2007-01-09pltcl regression test needs to actually create an opclass, not just one ↵Tom Lane
operator.
2007-01-09Support ORDER BY ... NULLS FIRST/LAST, and add ASC/DESC/NULLS FIRST/NULLS LASTTom Lane
per-column options for btree indexes. The planner's support for this is still pretty rudimentary; it does not yet know how to plan mergejoins with nondefault ordering options. The documentation is pretty rudimentary, too. I'll work on improving that stuff later. Note incompatible change from prior behavior: ORDER BY ... USING will now be rejected if the operator is not a less-than or greater-than member of some btree opclass. This prevents less-than-sane behavior if an operator that doesn't actually define a proper sort ordering is selected.
2007-01-08Prevent duplicate attribute names in XMLELEMENT.Peter Eisentraut
2007-01-08Tweak joinlist creation to avoid generating useless one-element subproblemsTom Lane
when collapsing of JOIN trees is stopped by join_collapse_limit. For instance a list of 11 LEFT JOINs with limit 8 now produces something like ((1 2 3 4 5 6 7 8) 9 10 11 12) instead of (((1 2 3 4 5 6 7 8) (9)) 10 11 12) The latter structure is really only required for a FULL JOIN. Noted while studying an example from Shane Ambler.
2007-01-08Remove cost_hashjoin's very ancient hack to discourage (once, entirely forbid)Tom Lane
hash joins with the estimated-larger relation on the inside. There are several cases where doing that makes perfect sense, and in cases where it doesn't, the regular cost computation really ought to be able to figure that out. Make some marginal tweaks in said computation to try to get results approximating reality a bit better. Per an example from Shane Ambler. Also, fix an oversight in the original patch to add seq_page_cost: the costs of spilling a hash join to disk should be scaled by seq_page_cost.
2007-01-07Some fine-tuning of xmlpi in corner cases:Peter Eisentraut
- correct error codes - do syntax checks in correct order - strip leading spaces of argument