cancel
Showing results for 
Search instead for 
Did you mean: 

ALTER PUBLICATION and Triggers

Former Member
3,200

I know I have to drop any table from a publication before making any changes (ALTER TABLE ...) to the table if the table is in a publication. Do I also have to drop the table if I change any triggers on that table?

Accepted Solutions (0)

Answers (1)

Answers (1)

jeff_albion
Product and Topic Expert
Product and Topic Expert

Speaking specifically for the behaviour in SQL Anywhere 12:

Only ALTER TABLE and ALTER PUBLICATION can potentially result in "This operation is only allowed within a synchronization schema change" (SQLCODE -1329). CREATE TRIGGER / ALTER TRIGGER does not.

Some ALTER TABLE operations are allowed on tables with defined publications, without using 'START SYNCHRONIZATION SCHEMA CHANGE' or using 'sp_hook_dbmlsync_schema_change':

  • Add or modify columns if the column is not part of a publication
  • Drop check, constraint, unique, foreign key definitions
  • Change pctfree, replicate, or encrypted clauses
  • Alter a constraint
  • Rename a constraint
  • Rename a column
  • Rename the table

MobiLink (dbmlsync) will only care about the presence of triggers if the "FireTriggers" or "SendTriggers" extended option has been set. These options are only used for generating the upload stream / applying the download stream and otherwise does not affect the normal SQL Anywhere database server operation (outside of dbmlsync).