On 23-01-2021 12:39, Dimitry Sibiryakov wrote:
23.01.2021 12:35, Dmitry Yemanov wrote:
CREATE TABLE is currently always replicated. The table data may be
excluded though. And here we have a good question - if CREATE TABLE
specifies DISABLE PUBLICATION, should the CREATE TABLE command itself
be replicated or not? It could solve your need, but if later one
decides to enable publication, it's not gonna work and the replication
stream will be broken (missing table at the replica side).
I would suggest to add syntax "create [local|global] table" which
kinda match SQL standard.
It wouldn't match the SQL standard at all. The CREATE <table scope>
TABLE in the SQL standard is about temporary tables:
<table definition> ::=
CREATE [ <table scope> ] TABLE <table name> <table contents source>
[ WITH <system versioning clause> ]
[ ON COMMIT <table commit action> ROWS ]
<table scope> ::=
<global or local> TEMPORARY
<global or local> ::=
GLOBAL
| LOCAL
If this needs to be handled through CREATE TABLE, there should be a
non-standard clause **at the end** of the CREATE TABLE statement. Maybe
something like the PostgreSQL WITH-clause (although using that specific
keyword would conflict with the standard WITH-clause used for system
versioning).
Mark
--
Mark Rotteveel
Firebird-Devel mailing list, web interface at
https://lists.sourceforge.net/lists/listinfo/firebird-devel