| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
recovery after crash (power loss etc) it may say that it can't restore
index and index should be reindexed.
Some refactoring code.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Lorne Sunley
|
|
|
|
|
| |
fix two grammatical errors, and print the INTO target of EXECUTE INTO
if one is specified.
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
| |
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).
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
in its own right. As proposed by Simon Riggs, but with some editorializing
of my own.
|
|
|
|
| |
code beautification too.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Andreas Seltenreich
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
file.
Andrew Dunstan
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
| |
than tlist_member calls. Building a large join tlist is still O(N^2),
but with a much smaller constant factor than before.
|
|
|
|
|
|
| |
if you have previously issued a \cd command.
Greg Sabino Mullane
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
#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> '
|
|
|
|
|
|
|
| |
millisecond timestamps (%m) and remote host (%h). The milliseconds are
useful for QPS measurements.
Ed L.
|
| |
|
|
|
|
|
| |
'conflicting datestyle specifications' for input that's actually only
redundant, such as SET DATESTYLE = MDY, MDY. Per recent gripe.
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
Per Volkan Yazici.
|
|
|
|
| |
on some compilers.
|
| |
|
|
|
|
| |
discussion with Qingqing Zhou.
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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 ...
|
|
|
|
|
| |
large planning problems: when the list of join rels gets too long, make
an auxiliary hash table that hashes on the identifying Bitmapset.
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
in pl/pgsql.
|
| |
|
|
|
|
| |
not schema-safe. Per report from Jochem van Dieten.
|
|
|
|
|
|
| |
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.
|