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

Reply via email to