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? |
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':
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). |
I retagged this question with "sql" and "publication" so it will register with the database people on this forum.
Russ: I'm guessing the answer is "no, you don't have to drop a table from a publication just because you're going to fiddle with triggers on that table"... especially because YOU, the world's foremost expert on MobiLink, don't have an answer, which implies MobiLink doesn't care, which is what the question asked :)