}
+function execute_on_subscriber(coordinator)
+{
+ /**
+ * Perform an EXECUTE SCRIPT with a subscriber (a non-provider)
+ * and verify that the DDL changes replicate to all other nodes.
+ */
+ var premable = get_slonik_preamble();
+ var slonikScript = 'EXECUTE SCRIPT('
+ + 'SQL=\'CREATE TABLE test_on_subscriber(id serial, value text);\''
+ + ' ,EVENT NODE=3);\n'
+ + 'sync(id=3);\n wait for event(origin=3, confirmed=all, wait on=3);\n';
+
+ run_slonik('execute_on_subscriber.create',coordinator,preamble,slonikScript);
+ /**
+ * Now drop the table on nodes 1 and 2.
+ * That will fail if the CREATE did not propogate
+ */
+ slonikScript = 'EXECUTE SCRIPT('
+ + 'SQL=\'DROP TABLE test_on_subscriber;\''
+ + ' ,EVENT NODE=2, EXECUTE ONLY ON=2);\n'
+ + 'EXECUTE SCRIPT('
+ + 'SQL=\'DROP TABLE test_on_subscriber;\''
+ + ' ,EVENT NODE=1, EXECUTE ONLY ON=1);\n'
+
+ run_slonik('execute_on_subscriber.drop',coordinator,preamble,slonikScript);
+
+}
+
function do_test(coordinator) {
var numrows = random_number(150,350);
trigger_function(coordinator);
wait_for_sync(coordinator);
-
+ execute_on_subscriber(coordinator);
}
function get_compare_queries() {
return queries;
}
+
run_test(coordinator,'testddl');