summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2006-02-12Remove LEFT part of JOIN to pg_roles because of optimizer limitation:Bruce Momjian
> True, but they're not being used where you'd expect. This seems to be > something to do with the fact that it's not pg_authid which is being > accessed, but rather the view pg_roles. I looked into this and it seems the problem is that the view doesn't get flattened into the main query because of the has_nullable_targetlist limitation in prepjointree.c. That's triggered because pg_roles has '********'::text AS rolpassword which isn't nullable, meaning it would produce wrong behavior if referenced above the outer join. Ultimately, the reason this is a problem is that the planner deals only in simple Vars while processing joins; it doesn't want to think about expressions. I'm starting to think that it may be time to fix this, because I've run into several related restrictions lately, but it seems like a nontrivial project. In the meantime, reducing the LEFT JOIN to pg_roles to a JOIN as per Peter's suggestion seems like the best short-term workaround.
2006-02-12Revert patch becaues of locking concerns:Bruce Momjian
Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAME Joachim Wieland
2006-02-12Update release checlist.Bruce Momjian
2006-02-12Improve tab completion macro for default keywords.Bruce Momjian
2006-02-12When performing a parallel build (make -j N) with ./configureBruce Momjian
--enable-depend it often tries to create the .deps directory twice and bails out when it already exists due to a race condition of if doesn't exist, then create. This patch prevents mkdir from returning an error. Kris Jurka
2006-02-12List psql tab completion for various default keywords.Bruce Momjian
Joachim Wieland
2006-02-12Apply code-reviewed version of for-scalar-list patch: mostly, fixingTom Lane
it to report reasonable errors in error cases.
2006-02-12Add MSVC support for utility commands and pg_dump.Bruce Momjian
Hiroshi Saito
2006-02-12Allow PL/pgSQL FOR statement to return values to scalars as well asBruce Momjian
records and row types. Pavel Stehule
2006-02-12Use 0x01 for newlines in saved history. It was determined to be notBruce Momjian
used by multi-byte sequences, but futher invesetigation might prove this to be false.
2006-02-12Clean up plpgsql grammar to make sure that check_assignable() is appliedTom Lane
consistently. This is mostly cosmetic right at the moment because check_assignable() does nothing for ROW or RECORD datums, but that might not always be so. This also syncs several different places that read INTO target lists. They're just enough different that it seems impractical to factor them into a single routine, but they surely should be the same as much as possible.
2006-02-12Allow to_char() to print localized month and day names.Bruce Momjian
Euler Taveira de Oliveira
2006-02-12As part of previous commit, add pg_restore option:Bruce Momjian
-1 or --single-transaction Simon Riggs
2006-02-12Add psql option:Bruce Momjian
-1 or --single-transaction Simon Riggs
2006-02-12Add contrib/pg_freespacemap to display free space map information.Bruce Momjian
Mark Kirkwood
2006-02-12Fix more fallout from line-wrap patch, to wit, arbitrarily changingTom Lane
the API of PQdsplen without bothering to fix its callers. Although ReportSyntaxErrorPosition could probably do with more smarts about handling control characters, for the moment I'll just get it back to handling tabs consistently.
2006-02-12I've created a new shared catalog table pg_shdescription to storeBruce Momjian
comments on cluster global objects like databases, tablespaces, and roles. It touches a lot of places, but not much in the way of big changes. The only design decision I made was to duplicate the query and manipulation functions rather than to try and have them handle both shared and local comments. I believe this is simpler for the code and not an issue for callers because they know what type of object they are dealing with. This has resulted in a shobj_description function analagous to obj_description and backend functions [Create/Delete]SharedComments mirroring the existing [Create/Delete]Comments functions. pg_shdescription.h goes into src/include/catalog/ Kris Jurka
2006-02-12Undo changes of trailing space in recently-committed expected files.Tom Lane
This is mostly just over-compulsiveness on my part, but the exercise did reveal one real bug: errors.out has a space difference now where it should not.
2006-02-12Restore previous psql behavior of not printing useless trailing spacesTom Lane
after the data in the last column on a line.
2006-02-12Please find enclosed a patch that lets you use \c to connectBruce Momjian
(optionally) to a new host and port without exiting psql. This eliminates, IMHO, a surprise in that you can now connect to PostgreSQL on a differnt machine from the one where you started your session. This should help people who use psql as an administrative tool. David Fetter
2006-02-12Actually there's a better way to do this, which is to count tuplesTom Lane
during the vacuumcleanup scan that we're going to do anyway. Should save a few cycles (one calculation per page, not per tuple) as well as not having to depend on assumptions about heap and index being in step. I think this could probably be made to work for GIST too, but that code looks messy enough that I'm disinclined to try right now.
2006-02-11Skip ambulkdelete scan if there's nothing to delete and the index is notTom Lane
partial. None of the existing AMs do anything useful except counting tuples when there's nothing to delete, and we can get a tuple count from the heap as long as it's not a partial index. (hash actually can skip anyway because it maintains a tuple count in the index metapage.) GIST is not currently able to exploit this optimization because, due to failure to index NULLs, GIST is always effectively partial. Possibly we should fix that sometime. Simon Riggs w/ some review by Tom Lane.
2006-02-11Allow ALTER TABLE ... ALTER CONSTRAINT ... RENAMEBruce Momjian
Joachim Wieland
2006-02-11o Improve psql's handling of multi-line statementsBruce Momjian
Currently, while \e saves a single statement as one entry, interactive statements are saved one line at a time. Ideally all statements would be saved like \e does. Sergey E. Koposov
2006-02-11Fix incorrect addition, subtraction, and overflow checking in newTom Lane
inet operators.
2006-02-11Revert based on Tom's recommendation:Bruce Momjian
> Allow VACUUM to complete faster by avoiding scanning the indexes when no > rows were removed from the heap by the VACUUM.
2006-02-11Allow VACUUM to complete faster by avoiding scanning the indexes when noBruce Momjian
rows were removed from the heap by the VACUUM. Simon Riggs
2006-02-11Update catalog version for INET additions.Bruce Momjian
2006-02-11Add INET/CIDR operators: and, or, not, plus int8, minus int8, and inetBruce Momjian
minus inet. Stephen R. van den Berg
2006-02-10Clean up signedness warnings and 64-bit bugs in recent psql printingTom Lane
patch. Martijn van Oosterhout and Tom Lane
2006-02-10Make it possible to run initdb from an admin account on Windows,Tom Lane
by giving up admin privileges (only works if newer than NT4). Magnus
2006-02-10Enable pg_ctl to give up admin privileges when starting the server underTom Lane
Windows (if newer than NT4, else works same as before). Magnus
2006-02-10Check that SID is enabled while checking for Windows admin privileges.Tom Lane
Magnus
2006-02-10Change search for default operator classes so that it examines all opclassesTom Lane
regardless of the current schema search path. Since CREATE OPERATOR CLASS only allows one default opclass per datatype regardless of schemas, this should have minimal impact, and it fixes problems with failure to find a desired opclass while restoring dump files. Per discussion at http://archives.postgresql.org/pgsql-hackers/2006-02/msg00284.php. Remove now-redundant-or-unused code in typcache.c and namespace.c, and backpatch as far as 8.0.
2006-02-10Fix psql after newline patch for calloc(0).Bruce Momjian
Kris Jurka
2006-02-10Allow psql multi-line column values to align in the proper columnsBruce Momjian
If the second output column value is 'a\nb', the 'b' should appear in the second display column, rather than the first column as it does now. Change libpq's PQdsplen() to return more useful values. > Note: this changes the PQdsplen function, it can now return zero or > minus one which was not possible before. It doesn't appear anyone is > actually using the functions other than psql but it is a change. The > functions are not actually documentated anywhere so it's not like we're > breaking a defined interface. The new semantics follow the Unicode > standard. BACKWARD COMPATIBLE CHANGE. The only user-visible change I saw in the regression tests is that a SELECT * on a table where all the columns have been dropped doesn't return a blank line like before. This seems like a step forward. Martijn van Oosterhout
2006-02-09This fixes pg_dump so that when using the '-O' no owners option it doesBruce Momjian
not print the owner name in the object comment. eg: -- -- Name: actor; Type: TABLE; Schema: public; Owner: chriskl; Tablespace: -- Becomes: -- -- Name: actor; Type: TABLE; Schema: public; Owner: -; Tablespace: -- This makes it far easier to do 'user independent' dumps. Especially for distribution to third parties. Christopher Kings-Lynne
2006-02-09Provide the libpq error message when PQputline or PQendcopy fails.Tom Lane
2006-02-09Use "bitwise" rather than "binary for AND/OR descriptions in \d, toBruce Momjian
match SGML documentation.
2006-02-09C++ comments are verboten. Per gripe from Kris Jurka.Tom Lane
2006-02-09Reject out-of-range dates in date_in().Tom Lane
Kris Jurka
2006-02-09Fix broken non-YYDEBUG case.Tom Lane
2006-02-08 Added just another test case.Michael Meskes
Fixed missing continuation line character. Do not translate $-quoting. Bit field notation belongs to a variable not a variable list. Output of line number only done by one function.
2006-02-07Remove ancient hack to work around a peculiarity of libcurses on HPUX.Tom Lane
Since we now use libtermcap in preference to libcurses, no need for hack anymore.
2006-02-07Source code cleanup.Bruce Momjian
2006-02-07I think that NUMERIC datatype has a problem in the performance thatBruce Momjian
the format on Tuple(Numeric) and the format to calculate(NumericVar) are different. I understood that to reduce I/O. However, when many comparisons or calculations of NUMERIC are executed, the conversion of Numeric and NumericVar becomes a bottleneck. It is profile result when "create index on NUMERIC column" is executed: % cumulative self self total time seconds seconds calls s/call s/call name 17.61 10.27 10.27 34542006 0.00 0.00 cmp_numerics 11.90 17.21 6.94 34542006 0.00 0.00 comparetup_index 7.42 21.54 4.33 71102587 0.00 0.00 AllocSetAlloc 7.02 25.64 4.09 69084012 0.00 0.00 set_var_from_num 4.87 28.48 2.84 69084012 0.00 0.00 alloc_var 4.79 31.27 2.79 142205745 0.00 0.00 AllocSetFreeIndex 4.55 33.92 2.65 34542004 0.00 0.00 cmp_abs 4.07 36.30 2.38 71101189 0.00 0.00 AllocSetFree 3.83 38.53 2.23 69084012 0.00 0.00 free_var The create index command executes many comparisons of Numeric values. Functions other than comparetup_index spent a lot of cycles for conversion from Numeric to NumericVar. An attached patch enables the comparison of Numeric values without executing conversion to NumericVar. The execution time of that SQL becomes half. o Test SQL (index_test table has 1,000,000 tuples) create index index_test_idx on index_test(num_col); o Test results (executed the test five times) (1)PentiumIII original: 39.789s 36.823s 36.737s 37.752s 37.019s patched : 18.560s 19.103s 18.830s 18.408s 18.853s 4.07 36.30 2.38 71101189 0.00 0.00 AllocSetFree 3.83 38.53 2.23 69084012 0.00 0.00 free_var The create index command executes many comparisons of Numeric values. Functions other than comparetup_index spent a lot of cycles for conversion from Numeric to NumericVar. An attached patch enables the comparison of Numeric values without executing conversion to NumericVar. The execution time of that SQL becomes half. o Test SQL (index_test table has 1,000,000 tuples) create index index_test_idx on index_test(num_col); o Test results (executed the test five times) (1)PentiumIII original: 39.789s 36.823s 36.737s 37.752s 37.019s patched : 18.560s 19.103s 18.830s 18.408s 18.853s (2)Pentium4 original: 16.349s 14.997s 12.979s 13.169s 12.955s patched : 7.005s 6.594s 6.770s 6.740s 6.828s (3)Itanium2 original: 15.392s 15.447s 15.350s 15.370s 15.417s patched : 7.413s 7.330s 7.334s 7.339s 7.339s (4)Ultra Sparc original: 64.435s 59.336s 59.332s 58.455s 59.781s patched : 28.630s 28.666s 28.983s 28.744s 28.595s Atsushi Ogawa
2006-02-07Make --version option print fixed program name.Peter Eisentraut
2006-02-07Fix HTML alignment in PQprint.Bruce Momjian
Christoph Zwerschke
2006-02-06Improve the tests to see if ScalarArrayOpExpr is strict. Original codingTom Lane
would basically punt in all cases for 'foo <> ALL (array)', which resulted in a performance regression for NOT IN compared to what we were doing in 8.1 and before. Per report from Pavel Stehule.
2006-02-06Fix PQprint HTML tag, "centre" -> "center".Bruce Momjian