2ndquadrant_bdr.git
9 years agobrd_init_copy: "--replication_sets" -> "--replication-sets" bdr-plugin/next
Ian Barwick [Wed, 10 Feb 2016 23:17:41 +0000 (08:17 +0900)]
brd_init_copy: "--replication_sets" -> "--replication-sets"

9 years agoFix crash on insert into a table with an expression index
Craig Ringer [Mon, 18 Jan 2016 01:55:13 +0000 (09:55 +0800)]
Fix crash on insert into a table with an expression index

We failed to set up a snapshot before calling UserTableUpdateOpenIndexes
during process_remote_insert, leading to a crash if the executor called
into anything that expects a snapshot. Like evaluation of expressions
in indexes.

Per report and fix from Abdul Yadi
https://abdulyadi.wordpress.com/2015/12/29/bdr-0-9-3-and-index-on-expression-part-3-solved/

9 years agoSkip acquiring the global DDL lock when dropping indexes on temporary tables.
Michael Allen [Tue, 15 Dec 2015 03:10:59 +0000 (19:10 -0800)]
Skip acquiring the global DDL lock when dropping indexes on temporary tables.

9 years agoDon't acquire the global DDL lock for DROP statements which refer to temporary relati...
Michael Allen [Tue, 15 Dec 2015 02:49:37 +0000 (18:49 -0800)]
Don't acquire the global DDL lock for DROP statements which refer to temporary relations without a schema-qualified name if it can be safely assumed that the relation will be found in the session's temporary object schema in subsequent processing of the command, provided no intervening DROP statement is received.

9 years agoDon't acquire the global DDL lock when creating indexes on temporary tables.
Michael Allen [Tue, 15 Dec 2015 00:16:21 +0000 (16:16 -0800)]
Don't acquire the global DDL lock when creating indexes on temporary tables.

9 years agoDebian packages compatibility
Petr Jelinek [Sun, 17 Jan 2016 08:24:04 +0000 (09:24 +0100)]
Debian packages compatibility

9 years agoRemove simplelist markup
Alvaro Herrera [Wed, 2 Dec 2015 16:24:47 +0000 (13:24 -0300)]
Remove simplelist markup

9 years agoUpdate list of tech upstreamed by BDR
Alvaro Herrera [Wed, 2 Dec 2015 15:31:52 +0000 (12:31 -0300)]
Update list of tech upstreamed by BDR

9 years agoReword intro
Alvaro Herrera [Wed, 2 Dec 2015 13:42:10 +0000 (10:42 -0300)]
Reword intro

9 years agoAdd some tests for ALTER TABLE ... NO INHERIT
Craig Ringer [Mon, 19 Oct 2015 10:57:18 +0000 (18:57 +0800)]
Add some tests for ALTER TABLE ... NO INHERIT

Per RT#39047

9 years agoIgnore bdr.bdr_connections rows where node is dropped
Craig Ringer [Tue, 13 Oct 2015 04:26:28 +0000 (12:26 +0800)]
Ignore bdr.bdr_connections rows where node is dropped

If a node has been dropped or the entry in bdr.bdr_nodes
for it has been deleted we should ignore the node when
connecting to peers.

Failure to do so causes issues with joining new nodes
after a node is removed.

Fixes #97
Fixes #50
Fixes #126

9 years agoWhitespace
Petr Jelinek [Fri, 9 Oct 2015 11:45:18 +0000 (13:45 +0200)]
Whitespace

9 years agoMake the bdr.bdr_internal_sequence_reset_cache installation only happen for BDR
Petr Jelinek [Thu, 1 Oct 2015 17:58:38 +0000 (19:58 +0200)]
Make the bdr.bdr_internal_sequence_reset_cache installation only happen for BDR

9 years agoCheck for do not replicate replication set in the bdr_fetch_sysid_via_node_id().
Petr Jelinek [Thu, 1 Oct 2015 14:20:15 +0000 (16:20 +0200)]
Check for do not replicate replication set in the bdr_fetch_sysid_via_node_id().

This can cause crash otherwise since conflict code can be called with tuple which was written with the do not replicate set..

9 years agoMake it more clear that ALTER COLUMN SET NOT NULL is supported.
Petr Jelinek [Thu, 1 Oct 2015 14:19:07 +0000 (16:19 +0200)]
Make it more clear that ALTER COLUMN SET NOT NULL is supported.

9 years agoDocument that the enqueue function skips ddl locks
Craig Ringer [Fri, 4 Sep 2015 08:43:07 +0000 (16:43 +0800)]
Document that the enqueue function skips ddl locks

9 years agoSupport updating from 0.9.3.0
Craig Ringer [Fri, 4 Sep 2015 08:42:30 +0000 (16:42 +0800)]
Support updating from 0.9.3.0

9 years agoDocs tweak per Ray Stell on pgsql-general
Craig Ringer [Fri, 4 Sep 2015 03:20:04 +0000 (11:20 +0800)]
Docs tweak per Ray Stell on pgsql-general

Be explicit that "make install" is required.

9 years agofix typo reported by Ray Stell
Alvaro Herrera [Mon, 31 Aug 2015 15:25:48 +0000 (12:25 -0300)]
fix typo reported by Ray Stell

9 years agobdr_init_copy: Read correct row from the repset resultset
Petr Jelinek [Fri, 21 Aug 2015 18:56:47 +0000 (20:56 +0200)]
bdr_init_copy: Read correct row from the repset resultset

9 years agoHandle joins to 0.7.x nodes in bdr.internal_begin_join
Craig Ringer [Mon, 17 Aug 2015 02:24:57 +0000 (10:24 +0800)]
Handle joins to 0.7.x nodes in bdr.internal_begin_join

This changes an old extension script retroactively, but only for
the pre-release 0.10.x series, and it only affects new joins not
existing installs.

9 years agoAllow bdr_get_remote_nodeinfo_internal to work with 0.7.x
Craig Ringer [Fri, 14 Aug 2015 07:00:24 +0000 (15:00 +0800)]
Allow bdr_get_remote_nodeinfo_internal to work with 0.7.x

bdr_get_remote_nodeinfo_internal tried to call functions that
don't exist on a remote 0.7.x node. Tweak it to make it more
tolerant of version differences.

This isn't nearly enough to let a 0.9.x node join a 0.7.x
group, but it fixes the first issue that arises when doing so.

9 years agoFix a race between apply worker startup and perdb
Craig Ringer [Wed, 12 Aug 2015 12:29:41 +0000 (20:29 +0800)]
Fix a race between apply worker startup and perdb

During bdr_maintain_db_workers it was possible for an apply
worker to be registered and starting, but to not yet have
copied its proc latch to its shmem segment. This leads to a
segfault when setting the latch.

9 years agoResume replay immediately on bdr_apply_resume()
Craig Ringer [Sat, 11 Jul 2015 13:56:06 +0000 (21:56 +0800)]
Resume replay immediately on bdr_apply_resume()

Previously, resuming from bdr_apply_pause() using bdr_apply_resume()
could take up to a full latch-wait timeout in bdr_apply_work() to take
effect because we didn't ever set the apply worker's latch on resume.

9 years agoReload apply worker configuration when latch is set
Craig Ringer [Sat, 11 Jul 2015 13:45:35 +0000 (21:45 +0800)]
Reload apply worker configuration when latch is set

Apply workers now expose their proc latch in their shmem segment, and
will reload their configuration if their proc latch is set.

For replication sets changes or DSN changes the worker exits and picks
up the new configuration on reconnect because these options can't be
changed on an active bdr output plugin. Apply delay takes immediate
effect.

No new SQL-level function is required because the perdb worker
now sets the latch on all owned apply workers when its own latch
is set by bdr.bdr_connections_changed(). If we ever want to reload
only a single apply worker's config then a function to set its latch
can be provided.

(We might still want to switch to using our own latch arrays rather
than the proc latch at some point).

By its self this change doesn't do anything interesting. Follow-ups
will cause resume from paused replication to take immediate effect
and to immediately apply changes to connection replication sets.

9 years agoFix calls to error_unsupported_command()
Ian Barwick [Mon, 13 Jul 2015 08:19:35 +0000 (17:19 +0900)]
Fix calls to error_unsupported_command()

Otherwise ambiguous things like this happen:

$ ALTER EXTENSION bdr UPDATE;
ERROR:   is not supported when bdr is active

This is what we want, of course:

$ ALTER EXTENSION bdr UPDATE;
ERROR:  ALTER EXTENSION is not supported when bdr is active

9 years agodoc: fix release number in release notes
Ian Barwick [Mon, 13 Jul 2015 04:17:55 +0000 (13:17 +0900)]
doc: fix release number in release notes

9 years agoAlso add correct expected output...
Petr Jelinek [Fri, 10 Jul 2015 14:42:24 +0000 (16:42 +0200)]
Also add correct expected output...

9 years agoFix the missing_pk test to be user independent
Petr Jelinek [Fri, 10 Jul 2015 14:36:28 +0000 (16:36 +0200)]
Fix the missing_pk test to be user independent

9 years agodoc: consistent use of &postgres;
Ian Barwick [Fri, 10 Jul 2015 03:29:46 +0000 (12:29 +0900)]
doc: consistent use of &postgres;

9 years agoTest changing truncate triggers to tgisinternal
Craig Ringer [Fri, 10 Jul 2015 03:52:52 +0000 (11:52 +0800)]
Test changing truncate triggers to tgisinternal

Further improvement on #62

9 years agoUpdate existing bdr triggers to 'tgisinternal'
Craig Ringer [Fri, 10 Jul 2015 03:18:24 +0000 (11:18 +0800)]
Update existing bdr triggers to 'tgisinternal'

New truncate_triggers are created as `tgisinternal` but
exiting ones are not changed. Fix that by doing a one-off
catalog update during the BDR extension upgrade, setting
any existing BDR truncate triggers to internal and appending
their oid to their names to match new triggers.

Further improvement for issue #62

9 years agoCreate BDR's truncate triggers as 'tgisinternal'
Craig Ringer [Fri, 10 Jul 2015 03:17:00 +0000 (11:17 +0800)]
Create BDR's truncate triggers as 'tgisinternal'

Switch from creating triggers using the SPI to using CreateTrigger
directly, marking the new trigger as `tgisinternal` so it's not
dumped by `pg_dump` and not listed by `psql`.

Existing triggers are not updated. A subsequent commit will add
support for updating existing triggers on extension update.

Fixes issue #62

9 years agoBDR 0.9.2 release notes
Craig Ringer [Wed, 8 Jul 2015 03:34:45 +0000 (11:34 +0800)]
BDR 0.9.2 release notes

9 years agoSupport for upgrading from 0.9.2.0
Craig Ringer [Fri, 10 Jul 2015 01:51:11 +0000 (09:51 +0800)]
Support for upgrading from 0.9.2.0

9 years agoDon't append 'replication=database' when calling bdr_test_replication_connection()
Ian Barwick [Thu, 9 Jul 2015 09:40:32 +0000 (18:40 +0900)]
Don't append 'replication=database' when calling bdr_test_replication_connection()

This causes calls to bdr_subscribe() (UDR) to fail with this error:

    FATAL:  could not fetch database oid: ERROR:  syntax error
    CONTEXT:  SQL statement "SELECT * FROM bdr_test_replication_connection(remote_dsn || ' replication=database')"

The comment for bdr_connect() explictly says the provided conninfo string should not
contain a replication= parameter; "replication=database" is automatically appended.

For some reason this did not cause any problems in BDR mode with bdr_group_join(),
which also calls bdr_test_replication_connection().

9 years agoOnly install bdr.bdr_internal_sequence_reset_cache() in BDR mode
Ian Barwick [Thu, 9 Jul 2015 06:30:24 +0000 (15:30 +0900)]
Only install bdr.bdr_internal_sequence_reset_cache() in BDR mode

bdr_seq.c not compiled for UDR; attempting to create this function
in UDR mode prevents the extension from being installed.

9 years agodoc: fix typo
Ian Barwick [Thu, 9 Jul 2015 03:53:14 +0000 (12:53 +0900)]
doc: fix typo

9 years agodoc: BDR/BDR -> BDR/UDR
Ian Barwick [Thu, 9 Jul 2015 01:53:20 +0000 (10:53 +0900)]
doc: BDR/BDR -> BDR/UDR

9 years agodoc: clarify UDR build process
Ian Barwick [Thu, 9 Jul 2015 01:39:19 +0000 (10:39 +0900)]
doc: clarify UDR build process

9 years agoNormalize file header
Ian Barwick [Wed, 8 Jul 2015 09:45:37 +0000 (18:45 +0900)]
Normalize file header

9 years agodoc: fix markup
Ian Barwick [Tue, 7 Jul 2015 12:10:45 +0000 (21:10 +0900)]
doc: fix markup

9 years agoUse bdr_find_other_exec() for BDR_INIT_REPLICA_CMD too
Ian Barwick [Tue, 7 Jul 2015 00:54:09 +0000 (09:54 +0900)]
Use bdr_find_other_exec() for BDR_INIT_REPLICA_CMD too

9 years agodoc: minor copy-editing/tweaks to sequence voting docs
Ian Barwick [Sun, 5 Jul 2015 23:54:27 +0000 (08:54 +0900)]
doc: minor copy-editing/tweaks to sequence voting docs

9 years agodoc: Improve the sequence voting docs.
Petr Jelinek [Sun, 5 Jul 2015 22:22:22 +0000 (00:22 +0200)]
doc: Improve the sequence voting docs.

9 years agoFix comment in bdr_supervisor_rescan_dbs()
Ian Barwick [Sun, 5 Jul 2015 00:27:54 +0000 (09:27 +0900)]
Fix comment in bdr_supervisor_rescan_dbs()

pg_seclabel -> pg_shseclabel

9 years agoRevert "Don't check for presence of a PRIMARY KEY if not replicating rows"
Craig Ringer [Fri, 3 Jul 2015 11:30:27 +0000 (19:30 +0800)]
Revert "Don't check for presence of a PRIMARY KEY if not replicating rows"

This reverts commit 15abe5e5946c1542ecf43b42c69ba03c984d199f as the
initial change was too naïve.

The check shouldn't be within the loop.

It should run after the DDL lock check, since it could change data
in the table in ways that means the incoming DDL might not apply
anymore, e.g. inserting a NULL value into an otherwise NULL-free
table at the same time an
  ALTER TABLE ... ALTER COLUMN ... SET NOT NULL
comes in.

It's also necessary for it to be skipped if the node is read-only
so a check like  && !node_read_only is needed.

9 years agoTrivial whitespace alignment fix
Ian Barwick [Fri, 3 Jul 2015 11:10:45 +0000 (20:10 +0900)]
Trivial whitespace alignment fix

9 years agoFix debug message left in new join code
Craig Ringer [Fri, 3 Jul 2015 00:51:31 +0000 (08:51 +0800)]
Fix debug message left in new join code

9 years agoPermit DML on pg_catalog tables
Craig Ringer [Wed, 1 Jul 2015 08:41:19 +0000 (16:41 +0800)]
Permit DML on pg_catalog tables

Because many pg_catalog tables don't have a PRIMARY KEY we were
rejecting DML on them. Since pg_catalog writes don't get replicated
anyway, it's safe to permit such writes.

Fixes #102

9 years agoDon't check for presence of a PRIMARY KEY if not replicating rows
Craig Ringer [Fri, 26 Jun 2015 13:11:00 +0000 (21:11 +0800)]
Don't check for presence of a PRIMARY KEY if not replicating rows

9 years agobdr_init_copy: clean the sequence amdata cache on new node
Petr Jelinek [Wed, 1 Jul 2015 16:16:02 +0000 (18:16 +0200)]
bdr_init_copy: clean the sequence amdata cache on new node

Fixes #101

9 years agoAdd function to clear sequence's amdata
Petr Jelinek [Tue, 30 Jun 2015 16:27:46 +0000 (18:27 +0200)]
Add function to clear sequence's amdata

Function bdr.bdr_internal_sequence_reset_cache(regclass) sets the amdata
of the sequence to NULL and schedules sequencer wakeup.

This is first step for implementing GH #101.

9 years agobdr_init_copy: O_CREAT requires 3 param open()
Petr Jelinek [Tue, 30 Jun 2015 12:53:37 +0000 (14:53 +0200)]
bdr_init_copy: O_CREAT requires 3 param open()

9 years agoCheck for zero exit codes
Ian Barwick [Tue, 30 Jun 2015 06:35:44 +0000 (15:35 +0900)]
Check for zero exit codes

Also fix program name in logging output

9 years agoPre-create bdr_init_copy log before base backup
Craig Ringer [Mon, 29 Jun 2015 07:38:25 +0000 (15:38 +0800)]
Pre-create bdr_init_copy log before base backup

If bdr_init_copy's CWD isn't writeable then it'll bail out when
it first tries to start PostgreSQL, after it's already done the
base backup.

Fixes #99

9 years agoCheck exit status of pg_resetxlog and pg_basebackup
Craig Ringer [Mon, 29 Jun 2015 07:36:04 +0000 (15:36 +0800)]
Check exit status of pg_resetxlog and pg_basebackup

bdr_init_copy wasn't checking exit status from pg_resetlog,
and was doing so incorrectly - though harmlessly - for
pg_basebackup.

Related to #100

9 years agoCheck return values for pg_ctl invocations in bdr_init_copy
Craig Ringer [Mon, 29 Jun 2015 07:05:00 +0000 (15:05 +0800)]
Check return values for pg_ctl invocations in bdr_init_copy

Fixes #100

9 years agoHighlight replication sets fix in 0.9.1 relnotes
Craig Ringer [Fri, 26 Jun 2015 07:47:45 +0000 (15:47 +0800)]
Highlight replication sets fix in 0.9.1 relnotes

9 years agoSpelling in PRIMARY KEY error
Craig Ringer [Wed, 24 Jun 2015 05:22:46 +0000 (13:22 +0800)]
Spelling in PRIMARY KEY error

9 years agoExpose bdr_do_not_replicate GUC for other compilation units
Craig Ringer [Wed, 24 Jun 2015 04:43:46 +0000 (12:43 +0800)]
Expose bdr_do_not_replicate GUC for other compilation units

9 years agodoc: add --replication_sets option for bdr_init_copy
Ian Barwick [Sun, 28 Jun 2015 23:18:12 +0000 (08:18 +0900)]
doc: add --replication_sets option for bdr_init_copy

9 years agodoc: add missing '=' to bdr_init_copy parameters
Ian Barwick [Sun, 28 Jun 2015 22:59:29 +0000 (07:59 +0900)]
doc: add missing '=' to bdr_init_copy parameters

9 years agoFix copy pasto in previous commit
Petr Jelinek [Sun, 28 Jun 2015 20:06:13 +0000 (22:06 +0200)]
Fix copy pasto in previous commit

9 years agoMake sequence pernode cache configurable
Petr Jelinek [Sun, 28 Jun 2015 18:58:57 +0000 (20:58 +0200)]
Make sequence pernode cache configurable

Reloption cache_chunks added which sets how many chunks should be voted
for and cached on each node.

9 years agobdr_init_copy enhancements
Petr Jelinek [Sun, 28 Jun 2015 16:07:35 +0000 (18:07 +0200)]
bdr_init_copy enhancements

Add --replication-sets command line parameter.
Specifies which replication sets to use for the new node. If not
specified the bdr_init_copy will check if all nodes in the bdr cluster
use same replication sets and use that one for the new node
automatically (instead of default). If the existing nodes don't all use
same replication sets it will throw error unless --replication-sets was
specified.

If the local data directory contains PostgreSQL data folder, check if
the system identifier is same as the system identifier of the remote
node. (GH #91)

When the remote node has multiple BDR activated databases make new
connections to all of them from the new local node. (GH #88)

Correctly set node_local_dsn for the new node.

Document -v option for increasing verbosity in --help output.

9 years agobdr_init_copy: only treat dbname as connstr if it's in connstr format.
Petr Jelinek [Mon, 22 Jun 2015 20:17:11 +0000 (22:17 +0200)]
bdr_init_copy: only treat dbname as connstr if it's in connstr format.

9 years agodoc: Fix typo
Ian Barwick [Thu, 25 Jun 2015 23:27:27 +0000 (08:27 +0900)]
doc: Fix typo

9 years agoAdd missing schema qualification
Ian Barwick [Tue, 23 Jun 2015 04:53:15 +0000 (13:53 +0900)]
Add missing schema qualification

9 years agoImprovements to BDR/UDR join sanity checking
Craig Ringer [Mon, 22 Jun 2015 07:30:07 +0000 (15:30 +0800)]
Improvements to BDR/UDR join sanity checking

This is a set of related changes to the init/join
processes, focused on sanity checks and robustness
when joining nodes.

Introduces extension rev bdr 0.10.0.5.

* Expose bdr_internal_create_truncate_trigger function
  to add the bdr truncate_trigger to a table. Use it
  from bdr_truncate_trigger_add.

* Use bdr_truncate_trigger_add in bdr_group_join to
  create truncate triggers on all existing tables
  when BDR gets enabled. Previously we'd fail to
  replicate TRUNCATE for tables created before
  CREATE EXTENSION bdr; was run.

* Fix broken prototype for bdr_truncate_trigger_add

* In bdr_group_join prohibit enabling BDR where
  exclusion constraints exist in the database's
  current state. Previously you could get a BDR
  db with exclusion constraints and/or a broken
  clone by creating a table with exclusion constraints
  before enabling BDR.

* In bdr_group_join, warn users if there are
  secondary unique indexes on tables, as currently
  we can't do last-update-wins conflict handling
  on tuples that violate multiple unique constraints.
  See issue #95. Still permit join to continue.

* Warn users about missing PRIMARY KEYs, but
  permit join to continue, as it's legal to
  have no PK on an INSERT-only table.

* In bdr.internal_begin_join, use
  bdr_test_replication_connection to test the remote
  DSN in replication mode and make sure that pg_hba.conf
  permits connection in replication mode. Fixes #94.

9 years agoFix outdated comment in bdr_get_remote_nodeinfo
Craig Ringer [Mon, 22 Jun 2015 04:23:38 +0000 (12:23 +0800)]
Fix outdated comment in bdr_get_remote_nodeinfo

9 years agoTests show that truncate triggers are created before bdr_group_create
Craig Ringer [Mon, 22 Jun 2015 04:08:10 +0000 (12:08 +0800)]
Tests show that truncate triggers are created before bdr_group_create

See #93

9 years agoDocument that UPDATE and DELETE require a PRIMARY KEY
Craig Ringer [Fri, 19 Jun 2015 09:28:01 +0000 (17:28 +0800)]
Document that UPDATE and DELETE require a PRIMARY KEY

Fixes #84

9 years agoFlesh out the conflicts docs
Craig Ringer [Fri, 19 Jun 2015 09:10:11 +0000 (17:10 +0800)]
Flesh out the conflicts docs

9 years agoFix docs structure errors, a few cleanups
Craig Ringer [Fri, 19 Jun 2015 04:12:03 +0000 (12:12 +0800)]
Fix docs structure errors, a few cleanups

9 years agoRemove duplicate conflicts info
Craig Ringer [Fri, 19 Jun 2015 03:27:22 +0000 (11:27 +0800)]
Remove duplicate conflicts info

9 years agoAdd our own function for finding Postgres binaries
Petr Jelinek [Thu, 18 Jun 2015 16:24:01 +0000 (18:24 +0200)]
Add our own function for finding Postgres binaries

We need our own function because the built-in function compares the
binary version including the minor version and since BDR is an extension
it's not realistic to support every possible version combination. The
BDR specific function for finding and validation of Postgres binaries
doesn't do version validation but instead returns major version in the
PG_VERSION_NUM format so it can be easily compared by the caller as
needed.

The pg_dump and pg_restore in bdr_init_replica and pg_ctl and
pg_basebackup check in bdr_init_copy are using the function now.

9 years agoDon't insert node in bdr_init_copy in UDR mode.
Petr Jelinek [Thu, 18 Jun 2015 16:22:25 +0000 (18:22 +0200)]
Don't insert node in bdr_init_copy in UDR mode.

9 years agoFix DROP replay of functions with no parameters.
Petr Jelinek [Wed, 17 Jun 2015 17:45:19 +0000 (19:45 +0200)]
Fix DROP replay of functions with no parameters.

9 years agoExplain that you can't part a node from its self
Craig Ringer [Wed, 17 Jun 2015 06:53:25 +0000 (14:53 +0800)]
Explain that you can't part a node from its self

9 years agoReject attempts to part from self, detect part from absent node
Craig Ringer [Wed, 17 Jun 2015 06:02:22 +0000 (14:02 +0800)]
Reject attempts to part from self, detect part from absent node

Reject attempts to part a node from its self. This seems like
a sensible thing to do, but we need to remove a node using another
node so that all peers find out about the removal.

Detect when asked to part a nonexistent node and complain instead
of silently doing nothing.

Also warn when asked to part a node that isn't in 'r' state.

9 years agoImprove error message on insert/insert multi-unique conflict
Craig Ringer [Wed, 17 Jun 2015 06:02:02 +0000 (14:02 +0800)]
Improve error message on insert/insert multi-unique conflict

9 years agoMore explanation of conflict types
Craig Ringer [Tue, 16 Jun 2015 02:37:56 +0000 (10:37 +0800)]
More explanation of conflict types

9 years agodoc: fix typo
Ian Barwick [Mon, 15 Jun 2015 07:08:13 +0000 (16:08 +0900)]
doc: fix typo

9 years agoAssertion fixes
Petr Jelinek [Fri, 12 Jun 2015 12:18:03 +0000 (14:18 +0200)]
Assertion fixes

9 years agoAdd documentation for bdr_get_local_nodeid()
Ian Barwick [Fri, 12 Jun 2015 06:46:07 +0000 (15:46 +0900)]
Add documentation for bdr_get_local_nodeid()

9 years agoFix doc references for bdr_get_local_node_name()
Ian Barwick [Fri, 12 Jun 2015 06:38:59 +0000 (15:38 +0900)]
Fix doc references for bdr_get_local_node_name()

9 years agoAdd missing 'bdr_' prefix
Ian Barwick [Fri, 12 Jun 2015 05:19:13 +0000 (14:19 +0900)]
Add missing 'bdr_' prefix

9 years agoAdd bdr_unsubscribe()
Petr Jelinek [Wed, 3 Jun 2015 18:51:07 +0000 (20:51 +0200)]
Add bdr_unsubscribe()

9 years agoFix some compiler warnings
Petr Jelinek [Thu, 11 Jun 2015 14:12:31 +0000 (16:12 +0200)]
Fix some compiler warnings

9 years agoDocumentation Typo
Martín Marqués [Sat, 6 Jun 2015 18:30:15 +0000 (15:30 -0300)]
Documentation Typo

9 years agoSeveral documentation corrections
Martín Marqués [Wed, 3 Jun 2015 13:31:02 +0000 (10:31 -0300)]
Several documentation corrections

9 years agoAdd missing header
Petr Jelinek [Tue, 2 Jun 2015 19:15:09 +0000 (21:15 +0200)]
Add missing header

9 years agoChange bdr_nodes_get_local_info from SPI to heap scan to avoid starting transaction.
Petr Jelinek [Wed, 3 Jun 2015 12:22:26 +0000 (14:22 +0200)]
Change bdr_nodes_get_local_info from SPI to heap scan to avoid starting transaction.

9 years agoMissing extension file
Petr Jelinek [Wed, 3 Jun 2015 11:21:53 +0000 (13:21 +0200)]
Missing extension file

9 years agoDocument that bdr_initial_load exists but is internal
Craig Ringer [Wed, 3 Jun 2015 04:39:57 +0000 (12:39 +0800)]
Document that bdr_initial_load exists but is internal

Closes #76

9 years agoCorrect --help output for bdr_initial_load
Craig Ringer [Wed, 3 Jun 2015 04:34:41 +0000 (12:34 +0800)]
Correct --help output for bdr_initial_load

Per report in #76

9 years agoOn second thought use session cache for bdr_nodes.
Petr Jelinek [Tue, 2 Jun 2015 16:20:48 +0000 (18:20 +0200)]
On second thought use session cache for bdr_nodes.

This is how rest of postgres does it. The shmem cache is probably
slightly better performance-wise but it's somewhat abusing the shmem.

The node access API could use some rethinking after this - standard
access should probably go via cache. We should also avoid SPI probably.
But both of these are left for future patches.

In passing activate the read_only regression test which was previously
not added to Makefile by mistake.

9 years agoBuild instructions changes for UDR
Craig Ringer [Tue, 2 Jun 2015 07:25:13 +0000 (15:25 +0800)]
Build instructions changes for UDR

Closes #74

9 years agoAdd missing files for previous commit
Petr Jelinek [Mon, 1 Jun 2015 20:15:01 +0000 (22:15 +0200)]
Add missing files for previous commit