summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2005-06-14Attached is a makefile I hacked up to build pg_config under MSVC - theBruce Momjian
reason is that it's required (more or less) in order to build the latest DBD::Pg code and I was testing that out under MSVC. Andrew Dunstan
2005-06-14Add GUC krb_server_hostname so the server hostname can be specified asBruce Momjian
part of service principal. If not set, any service principal matching an entry in the keytab can be used. NEW KERBEROS MATCHING BEHAVIOR FOR 8.1. Todd Kover
2005-06-14The random selection in function linear() could deliver a value equal to maxTom Lane
if geqo_rand() returns exactly 1.0, resulting in failure due to indexing off the end of the pool array. Also, since this is using inexact float math, it seems wise to guard against roundoff error producing values slightly outside the expected range. Per report from bug@zedware.org.
2005-06-14WAL for GiST. It work for online backup and so on, but onTeodor Sigaev
recovery after crash (power loss etc) it may say that it can't restore index and index should be reindexed. Some refactoring code.
2005-06-14Allow the parameters to PL/PgSQL's RAISE statement to be expressions,Neil Conway
instead of just scalar variables. Add regression tests and update the documentation. Along the way, remove some redundant error checking code from exec_stmt_perform(). Original patch from Pavel Stehule, reworked by Neil Conway.
2005-06-14Teach planner to optionally ignore index columns that have an equalityTom Lane
constraint while determining whether the index sort order matches the query's ORDER BY. This for example allows an index on (x,y) to match ... WHERE x = 42 ORDER BY y; It only works for btree indexes, but since those are the only ones we currently have that are ordered at all, that's good enough for now. Per popular demand.
2005-06-14Add -L option to psql to log sessions.Bruce Momjian
Lorne Sunley
2005-06-14Cleanup for "#option dump" in PL/PgSQL: don't print empty ELSE blocks,Neil Conway
fix two grammatical errors, and print the INTO target of EXECUTE INTO if one is specified.
2005-06-13Change the planner to allow indexscan qualification clauses to useTom Lane
nonconsecutive columns of a multicolumn index, as per discussion around mid-May (pghackers thread "Best way to scan on-disk bitmaps"). This turns out to require only minimal changes in btree, and so far as I can see none at all in GiST. btcostestimate did need some work, but its original assumption that index selectivity == heap selectivity was quite bogus even before this.
2005-06-13Per discussion on -hackers, this patch changes psql's "expanded" outputNeil Conway
mode to only affect the presentation of normal query results, not the output of psql slash commands. Documentation updated. I also made some unrelated minor psql cleanup. Per suggestion from Stuart Cooper.
2005-06-13Adjust lo_open() so that specifying INV_READ without INV_WRITE createsTom Lane
a descriptor that uses the current transaction snapshot, rather than SnapshotNow as it did before (and still does if INV_WRITE is set). This means pg_dump will now dump a consistent snapshot of large object contents, as it never could do before. Also, add a lo_create() function that is similar to lo_creat() but allows the desired OID of the large object to be specified. This will simplify pg_restore considerably (but I'll fix that in a separate commit).
2005-06-12This patch removes some old code from libpq that implements a URI-likeNeil Conway
syntax for database connection parameters. It has been inside an #ifdef NOT_USED block since 2001 or so and is marked as "broken", so I don't think it is likely to be rehabilitated any time soon.
2005-06-12libpq was not consistently checking for memory allocation failures. ThisNeil Conway
patch adds missing checks to the call sites of malloc(), strdup(), PQmakeEmptyPGresult(), pqResultAlloc(), and pqResultStrdup(), and updates the documentation. Per original report from Volkan Yazici about PQmakeEmptyPGresult() not checking for malloc() failure.
2005-06-10Separate predicate-testing code out of indxpath.c, making it a moduleTom Lane
in its own right. As proposed by Simon Riggs, but with some editorializing of my own.
2005-06-10Adjust comment about %t and %s to cover %m as well. Some trivialTom Lane
code beautification too.
2005-06-10Fix bug in MIC -> EUC_JP conversion. Per Atsushi Ogawa.Tatsuo Ishii
2005-06-10Implement two new special variables in PL/PgSQL: SQLSTATE and SQLERRM.Neil Conway
These contain the SQLSTATE and error message of the current exception, respectively. They are scope-local variables that are only defined in exception handlers (so attempting to reference them outside an exception handler is an error). Update the regression tests and the documentation. Also, do some minor related cleanup: export an unpack_sql_state() function from the backend and use it to unpack a SQLSTATE into a string, and add a free_var() function to pl_exec.c Original patch from Pavel Stehule, review by Neil Conway.
2005-06-10Use saveHistory so we get a nice error message on failure.Bruce Momjian
Andreas Seltenreich
2005-06-10the following patch makes the filename used to store the readlineBruce Momjian
history customizable through a variable named HISTFILE, analogous to psql's already implemented HISTCONTROL and HISTSIZE variables, and bash's HISTFILE-Variable. The motivation was to be able to get psql to maintain separate histories for separate databases. This is now easily achievable through a line like the following in ~/.psqlrc: \set HISTFILE ~/.psql_history-:DBNAME Andreas Seltenreich
2005-06-10More Win32 tilde code comments.Bruce Momjian
2005-06-10Add comment on tilde expansion.Bruce Momjian
2005-06-10Remove unneeded variable test, per Tom.Bruce Momjian
2005-06-10Quick hack to allow the outer query's tuple_fraction to be passed downTom Lane
to a subquery if the outer query is simple enough that the LIMIT can be reflected directly to the subquery. This didn't use to be very interesting, because a subquery that couldn't have been flattened into the upper query was usually not going to be very responsive to tuple_fraction anyway. But with new code that allows UNION ALL subqueries to pay attention to tuple_fraction, this is useful to do. In particular this lets the optimization occur when the UNION ALL is directly inside a view.
2005-06-10Add the "PGPASSFILE" environment variable to specify to the passwordBruce Momjian
file. Andrew Dunstan
2005-06-10If a LIMIT is applied to a UNION ALL query, plan each UNION arm asTom Lane
if the limit were directly applied to it. This does not actually add a LIMIT plan node to the generated subqueries --- that would be useless overhead --- but it does cause the planner to prefer fast- start plans when the limit is small. After an idea from Phil Endecott.
2005-06-10Revise searching of subplan target lists to use something more efficientTom Lane
than tlist_member calls. Building a large join tlist is still O(N^2), but with a much smaller constant factor than before.
2005-06-09This patch shows the full path name when doing a \s in psql,Bruce Momjian
if you have previously issued a \cd command. Greg Sabino Mullane
2005-06-09Free buffer allocated via malloc (process is short-lived, but fix it anyway).Bruce Momjian
2005-06-09Mention prefix %t has no milliseconds.Bruce Momjian
2005-06-09Restructure log_line_prefix options to be clearer:Bruce Momjian
#log_line_prefix = '' # %u = user name # %d = database name # %r = remote host and port # %h = remote host # %p = PID # %t = timestamp # %m = timestamp with milliseconds # %i = command tag # %c = session id # %l = session line number # %s = session start timestamp # %x = transaction id # %q = stop here in non-session processes # %% = '%' # e.g. '<%u%%%d> '
2005-06-09This patch against 8.0.0beta1 source adds log_line_prefix options forBruce Momjian
millisecond timestamps (%m) and remote host (%h). The milliseconds are useful for QPS measurements. Ed L.
2005-06-09Fix typo in comment, per Alvaro.Tom Lane
2005-06-09Fix assign_datestyle() so that it doesn't misleadingly complain aboutTom Lane
'conflicting datestyle specifications' for input that's actually only redundant, such as SET DATESTYLE = MDY, MDY. Per recent gripe.
2005-06-09Make SPI set SPI_processed for CREATE TABLE AS / SELECT INTO commands;Tom Lane
this in turn causes CREATE TABLE AS in plpgsql to set ROW_COUNT. This is how it behaved before 7.4; I had unintentionally changed the behavior in a bit of sloppy micro-optimization.
2005-06-09Add missing #include -- mea culpa.Tom Lane
2005-06-09Defend against omitted paramLengths[] array in PQsendQueryParams.Tom Lane
Per Volkan Yazici.
2005-06-09Avoid bare 'struct Node;' declaration --- provokes annoying warningsTom Lane
on some compilers.
2005-06-09\(rs should be \\(rs, per Tom.Bruce Momjian
2005-06-09Put a critical section around update of hash index metapage. PerTom Lane
discussion with Qingqing Zhou.
2005-06-09Since I needed this feature badly, I added the -n / --schema switch toBruce Momjian
pg_restore. It restores the given schemaname only. It can be used in conjunction with the -t and other switches to make the selection very fine grained. Richard van den Bergg, CISSP
2005-06-09Please find attached a patch (diff -c against cvs HEAD) to add aBruce Momjian
function that accepts a double precision argument assumed to be a Unix epoch timestamp and returns timestamp with time zone, and accompanying documentation. Usage: test=# select to_timestamp(200120400); to_timestamp ------------------------ 1976-05-05 14:00:00+09 (1 row) Michael Glaesemann
2005-06-09I've created a patch which adds support for troff "-ms" output toBruce Momjian
psql. i.e. "\pset format troff-ms". The patch also corrects some problems with the "latex" format, notably defining an extra column in the output table, and correcting some alignment issues; it also changes the output to match the border setting as documented in the manual page and as shown with the "aligned" format. The troff-ms output is mostly identical to the latex output allowing for the differences between the two typesetters. The output should be saved in a file and piped as follows: cat file | tbl | troff -T ps -ms > file.ps or tbl file | troff -T ps -ms > file.ps Because it contains tabs, you'll need to redirect psql output or use "script", rather than pasting from a terminal window, due to the tabs which can be replaced with spaces. Roger Leigh
2005-06-09Simplify the planner's join clause management by storing join clausesTom Lane
of a relation in a flat 'joininfo' list. The former arrangement grouped the join clauses according to the set of unjoined relids used in each; however, profiling on test cases involving lots of joins proves that that data structure is a net loss. It takes more time to group the join clauses together than is saved by avoiding duplicate tests later. It doesn't help any that there are usually not more than one or two clauses per group ...
2005-06-08Marginal hack to avoid spending a lot of time in find_join_rel duringTom Lane
large planning problems: when the list of join rels gets too long, make an auxiliary hash table that hashes on the identifying Bitmapset.
2005-06-08Remove grammar productions for prefix and postfix % and ^ operators,Tom Lane
as well as the existing pg_catalog entries for prefix and postfix %. These have never been documented, though they did appear in one old regression test. This avoids surprising behavior in cases like "SELECT -25 % -10". Per recent discussion. Note: although there is a catalog change here, I did not force initdb since there's no harm in leaving the inaccessible entries in one's copy of pg_operator.
2005-06-08Change WAL-logging scheme for multixacts to be more like regularTom Lane
transaction IDs, rather than like subtrans; in particular, the information now survives a database restart. Per previous discussion, this is essential for PITR log shipping and for 2PC.
2005-06-08Correct an omission in the syntax error message emitted by EXECUTE INTONeil Conway
in pl/pgsql.
2005-06-07Mention ipcrm and ipcclean in error message.Bruce Momjian
2005-06-07Use just NULL not NULL::TEXT --- the latter coding is unnecessary andTom Lane
not schema-safe. Per report from Jochem van Dieten.
2005-06-07Add a function lastval(), which returns the value returned by theNeil Conway
last nextval() or setval() performed by the current session. Update the docs, add regression tests, and bump the catalog version. Patch from Dennis Björklund, various improvements by Neil Conway.