Ian Barwick [Tue, 16 Dec 2014 05:22:35 +0000 (14:22 +0900)]
Add test for CREATE TRIGGER ... INSTEAD OF
Ian Barwick [Tue, 16 Dec 2014 05:18:58 +0000 (14:18 +0900)]
Add CREATE TRIGGER tests
Ian Barwick [Tue, 16 Dec 2014 04:32:32 +0000 (13:32 +0900)]
Update expected pg_dump output
Ian Barwick [Tue, 16 Dec 2014 04:28:07 +0000 (13:28 +0900)]
Add CREATE INDEX test
Ian Barwick [Tue, 16 Dec 2014 02:46:15 +0000 (11:46 +0900)]
Add placeholder ALTER EXTENSION
Ian Barwick [Tue, 16 Dec 2014 02:30:45 +0000 (11:30 +0900)]
Add CREATE EXTENSION test
Ian Barwick [Mon, 15 Dec 2014 13:19:40 +0000 (22:19 +0900)]
Add domain to table definition
Ian Barwick [Mon, 15 Dec 2014 13:10:42 +0000 (22:10 +0900)]
Add CREATE DOMAIN test
Ian Barwick [Mon, 15 Dec 2014 12:45:02 +0000 (21:45 +0900)]
Add ALTER TYPE ... ADD VALUE test
Ian Barwick [Mon, 15 Dec 2014 12:38:49 +0000 (21:38 +0900)]
Add enum to table definition
Ian Barwick [Mon, 15 Dec 2014 12:35:28 +0000 (21:35 +0900)]
Add CREATE TYPE ... AS ENUM
Ian Barwick [Mon, 15 Dec 2014 12:17:16 +0000 (21:17 +0900)]
Add ALTER SEQUENCE tests
Ian Barwick [Mon, 15 Dec 2014 11:58:51 +0000 (20:58 +0900)]
ALTER FUNCTION tests
Ian Barwick [Mon, 15 Dec 2014 11:23:05 +0000 (20:23 +0900)]
Add ALTER FUNCTION test
Ian Barwick [Mon, 15 Dec 2014 08:43:55 +0000 (17:43 +0900)]
Initial COMMENT ON tests
Ian Barwick [Mon, 15 Dec 2014 08:11:17 +0000 (17:11 +0900)]
CREATE SCHEMA
Ian Barwick [Mon, 15 Dec 2014 07:42:09 +0000 (16:42 +0900)]
Add CREATE VIEW tests
Ian Barwick [Mon, 15 Dec 2014 06:46:56 +0000 (15:46 +0900)]
More function tests
Ian Barwick [Mon, 15 Dec 2014 06:17:15 +0000 (15:17 +0900)]
Fix table SQL
Ian Barwick [Mon, 15 Dec 2014 06:11:07 +0000 (15:11 +0900)]
Add sequence tests
Ian Barwick [Mon, 15 Dec 2014 05:27:30 +0000 (14:27 +0900)]
Use IF EXISTS
We may be executing this script several times on the same database.
Ian Barwick [Mon, 15 Dec 2014 05:26:03 +0000 (14:26 +0900)]
Add note about regex iffiness
Ian Barwick [Mon, 15 Dec 2014 05:24:35 +0000 (14:24 +0900)]
Fix regex thinko
Ian Barwick [Mon, 15 Dec 2014 05:22:51 +0000 (14:22 +0900)]
Explicitly delete event trigger
As event triggers don't have a schema per-se.
Ian Barwick [Mon, 15 Dec 2014 04:24:43 +0000 (13:24 +0900)]
Use `deparse` schema for deparse event trigger code
The definitions for the deparse event trigger code won't of
course be deparsed themselves, so we don't want to dump them.
By using a separate schema, it's easier to exclude them from
the dump output.
Ian Barwick [Mon, 15 Dec 2014 03:54:44 +0000 (12:54 +0900)]
Export deparsed commands as plain text output
Using \copy here introduces problems with escaping
Ian Barwick [Mon, 15 Dec 2014 03:54:08 +0000 (12:54 +0900)]
Expected output is dump from the original regress database
Ian Barwick [Mon, 15 Dec 2014 02:01:23 +0000 (11:01 +0900)]
Add test function
Ian Barwick [Mon, 15 Dec 2014 01:39:55 +0000 (10:39 +0900)]
Replace hard-coded paths with pg_regress tokens
Ian Barwick [Mon, 15 Dec 2014 00:14:12 +0000 (09:14 +0900)]
Sanity checks for dump script
Ian Barwick [Sun, 14 Dec 2014 22:21:06 +0000 (07:21 +0900)]
Interim commit
Ian Barwick [Fri, 12 Dec 2014 07:08:39 +0000 (16:08 +0900)]
Place DDL deparse tests in subdirecotry
We can merge with the main tests later, if needed
Ian Barwick [Mon, 8 Dec 2014 02:39:16 +0000 (11:39 +0900)]
Filter pg_dump output with Perl rather than grep
As we can assume Perl will be available in a Windows build
environment. Not sure if this will work-as is in Windows but
a step in that direction.
Ian Barwick [Wed, 3 Dec 2014 01:50:00 +0000 (10:50 +0900)]
deparse: add command line option --dbname-deparse
This enables explicit provision of the deparse regression database
for use with --use-existing.
Ian Barwick [Wed, 3 Dec 2014 01:49:20 +0000 (10:49 +0900)]
deparse: Remove pg_dump comments containing hard-coded database version
Otherwise we'll need to keep the version in sync, which is a pain.
Ian Barwick [Fri, 28 Nov 2014 03:45:50 +0000 (12:45 +0900)]
deparse: drop deparse test db unless use_existing specified
Ian Barwick [Fri, 28 Nov 2014 02:46:33 +0000 (11:46 +0900)]
deparse: better handling of deparse test database name
Use sensible (overrideable) defaultand make this a token which
can be passed to .source scripts.
Ian Barwick [Thu, 27 Nov 2014 10:08:36 +0000 (19:08 +0900)]
deparse: store DDL deparse query output file in sql/ subdirectory
It's useful to keep this file around for debugging; though
it's not a test per-se, the sql/ subdirectory seems a logical
place to store it, rather than attempting to find the system
tmpdir or create another directory in regress/.
Ian Barwick [Thu, 27 Nov 2014 09:54:02 +0000 (18:54 +0900)]
deparse: add erroneously ignored test
Ian Barwick [Thu, 27 Nov 2014 07:05:13 +0000 (16:05 +0900)]
deparse: initial testing framework (PoC, WIP)
Test with:
./pg_regress \
--dbname=reg1,reg2 \
--temp-install=./tmp_check \
--top-builddir=../../.. \
--dlpath=. \
--schedule=./schedule_ddl_deparse_demo
Ian Barwick [Thu, 27 Nov 2014 05:04:57 +0000 (14:04 +0900)]
deparse: Fix string handling in expand_jsonval_strlit()
Per comment in jsonb.h: "Not necessarily null-terminated"
Petr Jelinek [Tue, 25 Nov 2014 15:08:11 +0000 (16:08 +0100)]
deparse: Always initialize objsubid for RenameStmt.
Abhijit Menon-Sen [Tue, 25 Nov 2014 06:04:11 +0000 (11:34 +0530)]
deparse: Fix compile error
Petr Jelinek [Mon, 24 Nov 2014 17:09:25 +0000 (18:09 +0100)]
deparse: Fix operator quoting
Operators should follow same quoting rules as function when used as
parameters.
Petr Jelinek [Tue, 16 Sep 2014 13:29:59 +0000 (15:29 +0200)]
deparse: fix CREATE OR REPLACE VIEW
Alvaro Herrera [Thu, 25 Sep 2014 19:34:50 +0000 (16:34 -0300)]
support ALTER TYPE / RENAME ATTRIBUTE
Andres Freund [Sun, 2 Nov 2014 13:52:13 +0000 (14:52 +0100)]
deparse: fix SECURITY LABEL ... IS NULL
Andres Freund [Sun, 19 Oct 2014 23:49:29 +0000 (01:49 +0200)]
deparse: Add support for SECURITY LABEL
Alvaro Herrera [Thu, 25 Sep 2014 18:45:04 +0000 (15:45 -0300)]
deparse: support COMMENT ON
Petr Jelinek [Fri, 8 Aug 2014 12:55:47 +0000 (14:55 +0200)]
deparse: Support ALTER FUNCTION
Alvaro Herrera [Thu, 12 Jun 2014 22:34:53 +0000 (18:34 -0400)]
deparse: Support GRANT/REVOKE
Abhijit Menon-Sen [Thu, 8 May 2014 10:05:58 +0000 (15:35 +0530)]
deparse: Support ALTER EXTENSION / UPDATE TO
Alvaro Herrera [Tue, 6 May 2014 21:22:13 +0000 (17:22 -0400)]
deparse: support ALTER THING OWNER TO
Abhijit Menon-Sen [Mon, 5 May 2014 06:50:58 +0000 (12:20 +0530)]
deparse: Support DefineStmt commands
CREATE AGGREGATE
CREATE COLLATION
CREATE OPERATOR
CREATE TEXT SEARCH CONFIGURATION
CREATE TEXT SEARCH PARSER
CREATE TEXT SEARCH DICTIONARY
CREATE TEXT SEARCH TEMPLATE
CREATE TYPE
Abhijit Menon-Sen [Wed, 30 Apr 2014 12:00:07 +0000 (17:30 +0530)]
deparse: Support CREATE CONVERSION
Alvaro Herrera [Thu, 25 Sep 2014 17:34:29 +0000 (14:34 -0300)]
deparse: Support CREATE OPERATOR FAMILY
Alvaro Herrera [Thu, 25 Sep 2014 17:34:00 +0000 (14:34 -0300)]
deparse: Support CREATE VIEW
Alvaro Herrera [Fri, 25 Apr 2014 19:32:20 +0000 (16:32 -0300)]
deparse: Support ALTER TABLE
Alvaro Herrera [Fri, 25 Apr 2014 20:15:49 +0000 (17:15 -0300)]
deparse/core: have ALTER TABLE return OIDs and col# of affected objs
Alvaro Herrera [Tue, 15 Apr 2014 19:45:03 +0000 (16:45 -0300)]
deparse: Support CREATE FUNCTION
Alvaro Herrera [Fri, 25 Apr 2014 20:54:19 +0000 (17:54 -0300)]
deparse: Support CREATE DOMAIN
Alvaro Herrera [Fri, 25 Apr 2014 19:43:53 +0000 (16:43 -0300)]
deparse: Support for ALTER <OBJECT> RENAME
It supports everything but functions, aggregates, operator classes and
operator families.
Alvaro Herrera [Fri, 21 Mar 2014 19:33:14 +0000 (16:33 -0300)]
deparse: Support ALTER TYPE / ADD VALUE (enums)
Alvaro Herrera [Wed, 26 Feb 2014 20:26:55 +0000 (17:26 -0300)]
deparse: Support CREATE RULE
Alvaro Herrera [Fri, 21 Feb 2014 21:11:35 +0000 (18:11 -0300)]
deparse: Support CREATE EXTENSION
Alvaro Herrera [Fri, 14 Feb 2014 22:04:08 +0000 (19:04 -0300)]
deparse: Support CREATE TYPE AS RANGE
Alvaro Herrera [Thu, 25 Sep 2014 18:57:48 +0000 (15:57 -0300)]
deparse: Support CREATE SCHEMA/TABLE/SEQUENCE/INDEX/TRIGGER
Alvaro Herrera [Thu, 25 Sep 2014 18:55:43 +0000 (15:55 -0300)]
deparse: Support CREATE TYPE AS ENUM
Alvaro Herrera [Thu, 25 Sep 2014 18:54:00 +0000 (15:54 -0300)]
deparse: Support CREATE TYPE AS
Alvaro Herrera [Thu, 25 Sep 2014 18:50:37 +0000 (15:50 -0300)]
deparse: sprinkle EventTriggerStashCommand() calls
Alvaro Herrera [Wed, 24 Sep 2014 18:53:04 +0000 (15:53 -0300)]
deparse: infrastructure needed for command deparsing
Alvaro Herrera [Thu, 25 Sep 2014 18:44:44 +0000 (15:44 -0300)]
deparse/core: event triggers support COMMENT
Alvaro Herrera [Fri, 9 May 2014 22:32:23 +0000 (18:32 -0400)]
deparse/core: event triggers support GRANT/REVOKE
Alvaro Herrera [Thu, 25 Sep 2014 19:34:50 +0000 (16:34 -0300)]
deparse/core: have RENAME return attribute number
Alvaro Herrera [Fri, 2 May 2014 20:51:31 +0000 (16:51 -0400)]
deparse/core: qualify "=" operator in SPI queries
Deparsing of CREATE VIEW was failing without this, because we remove
pg_catalog from the search path.
Peter Eisentraut [Sun, 12 Oct 2014 05:45:25 +0000 (01:45 -0400)]
pg_recvlogical: Improve --help output
List the actions first, as they are the most important options. Group
the other options more sensibly, consistent with the man page. Correct
a few typographical errors, clarify some things.
Also update the pg_receivexlog --help output to make it a bit more
consistent with that of pg_recvlogical.
Peter Eisentraut [Sun, 12 Oct 2014 05:02:56 +0000 (01:02 -0400)]
Message improvements
Bruce Momjian [Sat, 11 Oct 2014 22:38:41 +0000 (18:38 -0400)]
pg_upgrade: prefix Unix shell script name output with "./"
This more clearly suggests the current directory. While this also works
on Windows, it might be confusing.
Report by Christoph Berg
Bruce Momjian [Sat, 11 Oct 2014 21:23:57 +0000 (17:23 -0400)]
docs: remove mention that attnotnull should be changed
Report by Andres Freund
Bruce Momjian [Sat, 11 Oct 2014 21:14:16 +0000 (17:14 -0400)]
regression: adjust polygon diagrams to not use tabs
Also, small diagram adjustments
Patch by Emre Hasegeli
Tom Lane [Sat, 11 Oct 2014 18:29:51 +0000 (14:29 -0400)]
Improve documentation about JSONB array containment behavior.
Per gripe from Josh Berkus.
Tom Lane [Sat, 11 Oct 2014 18:13:51 +0000 (14:13 -0400)]
Fix bogus optimization in JSONB containment tests.
When determining whether one JSONB object contains another, it's okay to
make a quick exit if the first object has fewer pairs than the second:
because we de-duplicate keys within objects, it is impossible that the
first object has all the keys the second does. However, the code was
applying this rule to JSONB arrays as well, where it does *not* hold
because arrays can contain duplicate entries. The test was really in
the wrong place anyway; we should do it within JsonbDeepContains, where
it can be applied to nested objects not only top-level ones.
Report and test cases by Alexander Korotkov; fix by Peter Geoghegan and
Tom Lane.
Heikki Linnakangas [Fri, 10 Oct 2014 10:00:53 +0000 (13:00 +0300)]
Remove unnecessary initialization of local variables.
Oops, forgot these in the prveious commit.
Heikki Linnakangas [Fri, 10 Oct 2014 06:59:44 +0000 (09:59 +0300)]
Change the way encoding and locale checks are done in pg_upgrade.
Lc_collate and lc_ctype have been per-database settings since server version
8.4, but pg_upgrade was still treating them as cluster-wide options. It
fetched the values for the template0 databases in old and new cluster, and
compared them. That's backwards; the encoding and locale of the template0
database doesn't matter, as template0 is guaranteed to contain only ASCII
characters. But if there are any other databases that exist on both clusters
(in particular template1 and postgres databases), their encodings and
locales must be compatible.
Also, make the locale comparison more lenient. If the locale names are not
equal, try to canonicalize both of them by passing them to setlocale(). We
used to do that only when upgrading from 9.1 or below, but it seems like a
good idea even with newer versions. If we change the canonical form of a
locale, this allows pg_upgrade to still work. I'm about to do just that to
fix bug #11431, by mapping a locale name that contains non-ASCII characters
to a pure-ASCII alias of the same locale.
No backpatching, because earlier versions of pg_upgrade still support
upgrading from 8.3 servers. That would be more complicated, so it doesn't
seem worth it, given that we haven't received any complaints about this
from users.
Fujii Masao [Thu, 9 Oct 2014 18:18:01 +0000 (03:18 +0900)]
Fix broken example in PL/pgSQL document.
Back-patch to all supported branches.
Marti Raudsepp, per a report from Marko Tiikkaja
Alvaro Herrera [Wed, 8 Oct 2014 21:10:47 +0000 (18:10 -0300)]
Split builtins.h to a new header ruleutils.h
The new header contains many prototypes for functions in ruleutils.c
that are not exposed to the SQL level.
Reviewed by Andres Freund and Michael Paquier.
Robert Haas [Wed, 8 Oct 2014 18:35:43 +0000 (14:35 -0400)]
Extend shm_mq API with new functions shm_mq_sendv, shm_mq_set_handle.
shm_mq_sendv sends a message to the queue assembled from multiple
locations. This is expected to be used by forthcoming patches to
allow frontend/backend protocol messages to be sent via shm_mq, but
might be useful for other purposes as well.
shm_mq_set_handle associates a BackgroundWorkerHandle with an
already-existing shm_mq_handle. This solves a timing problem when
creating a shm_mq to communicate with a newly-launched background
worker: if you attach to the queue first, and the background worker
fails to start, you might block forever trying to do I/O on the queue;
but if you start the background worker first, but then die before
attaching to the queue, the background worrker might block forever
trying to do I/O on the queue. This lets you attach before starting
the worker (so that the worker is protected) and then associate the
BackgroundWorkerHandle later (so that you are also protected).
Patch by me, reviewed by Stephen Frost.
Alvaro Herrera [Tue, 7 Oct 2014 20:23:34 +0000 (17:23 -0300)]
Implement SKIP LOCKED for row-level locks
This clause changes the behavior of SELECT locking clauses in the
presence of locked rows: instead of causing a process to block waiting
for the locks held by other processes (or raise an error, with NOWAIT),
SKIP LOCKED makes the new reader skip over such rows. While this is not
appropriate behavior for general purposes, there are some cases in which
it is useful, such as queue-like tables.
Catalog version bumped because this patch changes the representation of
stored rules.
Reviewed by Craig Ringer (based on a previous attempt at an
implementation by Simon Riggs, who also provided input on the syntax
used in the current patch), David Rowley, and Álvaro Herrera.
Author: Thomas Munro
Robert Haas [Tue, 7 Oct 2014 04:08:59 +0000 (00:08 -0400)]
Fix typo in elog message.
Tom Lane [Tue, 7 Oct 2014 01:23:20 +0000 (21:23 -0400)]
Fix array overrun in ecpg's version of ParseDateTime().
The code wrote a value into the caller's field[] array before checking
to see if there was room, which of course is backwards. Per report from
Michael Paquier.
I fixed the equivalent bug in the backend's version of this code way back
in
630684d3a130bb93, but failed to think about ecpg's copy. Fortunately
this doesn't look like it would be exploitable for anything worse than a
core dump: an external attacker would have no control over the single word
that gets written.
Stephen Frost [Mon, 6 Oct 2014 15:18:13 +0000 (11:18 -0400)]
Clean up Create/DropReplicationSlot query buffer
CreateReplicationSlot() and DropReplicationSlot() were not cleaning up
the query buffer in some cases (mostly error conditions) which meant a
small leak. Not generally an issue as the error case would result in an
immediate exit, but not difficult to fix either and reduces the number
of false positives from code analyzers.
In passing, also add appropriate PQclear() calls to RunIdentifySystem().
Pointed out by Coverity.
Andres Freund [Mon, 6 Oct 2014 10:51:37 +0000 (12:51 +0200)]
Add support for managing physical replication slots to pg_receivexlog.
pg_receivexlog already has the capability to use a replication slot to
reserve WAL on the upstream node. But the used slot currently has to
be created via SQL.
To allow using slots directly, without involving SQL, add
--create-slot and --drop-slot actions, analogous to the logical slot
manipulation support in pg_recvlogical.
Author: Michael Paquier
Discussion: CABUevEx+zrOHZOQg+dPapNPFRJdsk59b=TSVf30Z71GnFXhQaw@mail.gmail.com
Andres Freund [Mon, 6 Oct 2014 10:11:52 +0000 (12:11 +0200)]
Rename pg_recvlogical's --create/--drop to --create-slot/--drop-slot.
A future patch (9.5 only) adds slot management to pg_receivexlog. The
verbs create/drop don't seem descriptive enough there. It seems better
to rename pg_recvlogical's commands now, in beta, than live with the
inconsistency forever.
The old form (e.g. --drop) will still be accepted by virtue of most
getopt_long() options accepting abbreviations for long commands.
Backpatch to 9.4 where pg_recvlogical was introduced.
Author: Michael Paquier and Andres Freund
Discussion: CAB7nPqQtt79U6FmhwvgqJmNyWcVCbbV-nS72j_jyPEopERg9rg@mail.gmail.com
Peter Eisentraut [Mon, 6 Oct 2014 03:22:24 +0000 (23:22 -0400)]
Translation updates
Tom Lane [Sun, 5 Oct 2014 18:14:04 +0000 (14:14 -0400)]
Update 9.4 release notes for commits through today.
Add entries for recent changes, including noting the JSONB format change
and the recent timezone data changes. We should remove those two items
before 9.4 final: the JSONB change will be of no interest in the long
run, and it's not normally our habit to mention timezone updates in
major-release notes. But it seems important to document them temporarily
for beta testers.
I failed to resist the temptation to wordsmith a couple of existing
entries, too.
Robert Haas [Sun, 5 Oct 2014 01:25:41 +0000 (21:25 -0400)]
Eliminate one background-worker-related flag variable.
Teach sigusr1_handler() to use the same test for whether a worker
might need to be started as ServerLoop(). Aside from being perhaps
a bit simpler, this prevents a potentially-unbounded delay when
starting a background worker. On some platforms, select() doesn't
return when interrupted by a signal, but is instead restarted,
including a reset of the timeout to the originally-requested value.
If signals arrive often enough, but no connection requests arrive,
sigusr1_handler() will be executed repeatedly, but the body of
ServerLoop() won't be reached. This change ensures that, even in
that case, background workers will eventually get launched.
This is far from a perfect fix; really, we need select() to return
control to ServerLoop() after an interrupt, either via the self-pipe
trick or some other mechanism. But that's going to require more
work and discussion, so let's do this for now to at least mitigate
the damage.
Per investigation of test_shm_mq failures on buildfarm member anole.
Tom Lane [Sat, 4 Oct 2014 18:18:19 +0000 (14:18 -0400)]
Update time zone data files to tzdata release 2014h.
Most zones in the Russian Federation are subtracting one or two hours
as of 2014-10-26. Update the meanings of the abbreviations IRKT, KRAT,
MAGT, MSK, NOVT, OMST, SAKT, VLAT, YAKT, YEKT to match.
The IANA timezone database has adopted abbreviations of the form AxST/AxDT
for all Australian time zones, reflecting what they believe to be current
majority practice Down Under. These names do not conflict with usage
elsewhere (other than ACST for Acre Summer Time, which has been in disuse
since 1994). Accordingly, adopt these names into our "Default" timezone
abbreviation set. The "Australia" abbreviation set now contains only
CST,EAST,EST,SAST,SAT,WST, all of which are thought to be mostly historical
usage. Note that SAST has also been changed to be South Africa Standard
Time in the "Default" abbreviation set.
Add zone abbreviations SRET (Asia/Srednekolymsk) and XJT (Asia/Urumqi),
and use WSST/WSDT for western Samoa.
Also a DST law change in the Turks & Caicos Islands (America/Grand_Turk),
and numerous corrections for historical time zone data.
Tom Lane [Fri, 3 Oct 2014 21:44:38 +0000 (17:44 -0400)]
Update time zone abbreviations lists.
This updates known_abbrevs.txt to be what it should have been already,
were my -P patch not broken; and updates some tznames/ entries that
missed getting any love in previous timezone data updates because zic
failed to flag the change of abbreviation.
The non-cosmetic updates:
* Remove references to "ADT" as "Arabia Daylight Time", an abbreviation
that's been out of use since 2007; therefore, claiming there is a conflict
with "Atlantic Daylight Time" doesn't seem especially helpful. (We have
left obsolete entries in the files when they didn't conflict with anything,
but that seems like a different situation.)
* Fix entirely incorrect GMT offsets for CKT (Cook Islands), FJT, FJST
(Fiji); we didn't even have them on the proper side of the date line.
(Seems to have been aboriginal errors in our tznames data; there's no
evidence anything actually changed recently.)
* FKST (Falkland Islands Summer Time) is now used all year round, so
don't mark it as a DST abbreviation.
* Update SAKT (Sakhalin) to mean GMT+11 not GMT+10.
In cosmetic changes, I fixed a bunch of wrong (or at least obsolete)
claims about abbreviations not being present in the zic files, and
tried to be consistent about how obsolete abbreviations are labeled.
Note the underlying timezone/data files are still at release 2014e;
this is just trying to get us in sync with what those files actually
say before we go to the next update.
Stephen Frost [Fri, 3 Oct 2014 20:31:53 +0000 (16:31 -0400)]
Fix CreatePolicy, pg_dump -v; psql and doc updates
Peter G pointed out that valgrind was, rightfully, complaining about
CreatePolicy() ending up copying beyond the end of the parsed policy
name. Name is a fixed-size type and we need to use namein (through
DirectFunctionCall1()) to flush out the entire array before we pass
it down to heap_form_tuple.
Michael Paquier pointed out that pg_dump --verbose was missing a
newline and Fabrízio de Royes Mello further pointed out that the
schema was also missing from the messages, so fix those also.
Also, based on an off-list comment from Kevin, rework the psql \d
output to facilitate copy/pasting into a new CREATE or ALTER POLICY
command.
Lastly, improve the pg_policies view and update the documentation for
it, along with a few other minor doc corrections based on an off-list
discussion with Adam Brightwell.
Tom Lane [Fri, 3 Oct 2014 18:48:11 +0000 (14:48 -0400)]
Fix bogus logic for zic -P option.
The quick hack I added to zic to dump out currently-in-use timezone
abbreviations turns out to have a nasty bug: within each zone, it was
printing the last "struct ttinfo" to be *defined*, not necessarily the
last one in use. This was mainly a problem in zones that had changed the
meaning of their zone abbreviation (to another GMT offset value) and later
changed it back.
As a result of this error, we'd missed out updating the tznames/ files
for some jurisdictions that have changed their zone abbreviations since
the tznames/ files were originally created. I'll address the missing data
updates in a separate commit.