bdr--0.8.0.2--0.8.0.3.sql \
bdr--0.8.0.3--0.8.0.4.sql \
bdr--0.8.0.4--0.8.0.5.sql \
- bdr--0.8.0.5--0.8.0.6.sql
+ bdr--0.8.0.5--0.8.0.6.sql \
+ bdr--0.8.0.6--0.8.0.7.sql
DATA_built = bdr--0.8.0.1.sql bdr--0.8.0.2.sql bdr--0.8.0.3.sql \
- bdr--0.8.0.4.sql bdr--0.8.0.5.sql bdr--0.8.0.6.sql
+ bdr--0.8.0.4.sql bdr--0.8.0.5.sql bdr--0.8.0.6.sql \
+ bdr--0.8.0.7.sql
DOCS = bdr.conf.sample README.bdr
SCRIPTS = scripts/bdr_initial_load bdr_init_copy bdr_resetxlog bdr_dump
bdr--0.8.0.5--0.8.0.6.sql
cat $^ > $@
+bdr--0.8.0.7.sql: bdr--0.8.0.sql bdr--0.8.0--0.8.0.1.sql \
+ bdr--0.8.0.1--0.8.0.2.sql bdr--0.8.0.2--0.8.0.3.sql \
+ bdr--0.8.0.3--0.8.0.4.sql bdr--0.8.0.4--0.8.0.5.sql \
+ bdr--0.8.0.5--0.8.0.6.sql bdr--0.8.0.6--0.8.0.7.sql
+ cat $^ > $@
+
bdr_resetxlog: pg_resetxlog.o
$(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(libpq_pgport) $(LIBS) -o $@$(X)
--- /dev/null
+SET LOCAL search_path = bdr;
+SET LOCAL bdr.permit_unsafe_ddl_commands = true;
+SET LOCAL bdr.skip_ddl_replication = true;
+
+DROP FUNCTION bdr_get_local_nodeid( sysid OUT oid, timeline OUT oid, dboid OUT oid);
+
+CREATE FUNCTION bdr_get_local_nodeid( sysid OUT text, timeline OUT oid, dboid OUT oid)
+RETURNS record LANGUAGE c AS 'MODULE_PATHNAME';
+
+-- bdr_get_local_nodeid is intentionally not revoked from all, it's read-only
+
+RESET bdr.permit_unsafe_ddl_commands;
+RESET bdr.skip_ddl_replication;
+RESET search_path;
bool isnull[3] = {false, false, false};
TupleDesc tupleDesc;
HeapTuple returnTuple;
+ char sysid_str[33];
if (get_call_result_type(fcinfo, NULL, &tupleDesc) != TYPEFUNC_COMPOSITE)
elog(ERROR, "return type must be a row type");
- values[0] = ObjectIdGetDatum(GetSystemIdentifier());
+ snprintf(sysid_str, sizeof(sysid_str), UINT64_FORMAT, GetSystemIdentifier());
+ sysid_str[sizeof(sysid_str)-1] = '\0';
+
+ values[0] = CStringGetTextDatum(sysid_str);
values[1] = ObjectIdGetDatum(ThisTimeLineID);
values[2] = ObjectIdGetDatum(MyDatabaseId);
# bdr extension
-comment = 'bdr support functions'
-default_version = '0.8.0.6'
+comment = 'Bi-directional replication for PostgreSQL'
+default_version = '0.8.0.7'
module_pathname = '$libdir/bdr'
relocatable = false
requires = btree_gist
DROP EXTENSION bdr;
CREATE EXTENSION bdr VERSION '0.8.0.6';
DROP EXTENSION bdr;
+CREATE EXTENSION bdr VERSION '0.8.0.7';
+DROP EXTENSION bdr;
-- evolve version one by one from the oldest to the newest one
CREATE EXTENSION bdr VERSION '0.8.0';
ALTER EXTENSION bdr UPDATE TO '0.8.0.1';
ALTER EXTENSION bdr UPDATE TO '0.8.0.4';
ALTER EXTENSION bdr UPDATE TO '0.8.0.5';
ALTER EXTENSION bdr UPDATE TO '0.8.0.6';
+ALTER EXTENSION bdr UPDATE TO '0.8.0.7';
-- Should never have to do anything: You missed adding the new version above.
ALTER EXTENSION bdr UPDATE;
-NOTICE: version "0.8.0.6" of extension "bdr" is already installed
+NOTICE: version "0.8.0.7" of extension "bdr" is already installed
\c postgres
DROP DATABASE extension_upgrade;
CREATE EXTENSION bdr VERSION '0.8.0.6';
DROP EXTENSION bdr;
+CREATE EXTENSION bdr VERSION '0.8.0.7';
+DROP EXTENSION bdr;
+
-- evolve version one by one from the oldest to the newest one
CREATE EXTENSION bdr VERSION '0.8.0';
ALTER EXTENSION bdr UPDATE TO '0.8.0.1';
ALTER EXTENSION bdr UPDATE TO '0.8.0.4';
ALTER EXTENSION bdr UPDATE TO '0.8.0.5';
ALTER EXTENSION bdr UPDATE TO '0.8.0.6';
+ALTER EXTENSION bdr UPDATE TO '0.8.0.7';
-- Should never have to do anything: You missed adding the new version above.