Who gets what?
Eachtime a row in a table is inserted, deleted, or updated, a message has to
besent to those subscribed to the row. In addition, an update may cause the
subscriptionexpression to change, so that the statement is sent to some
subscribersas a delete, some as an update, and some as an insert.
Fordetails of what statements get sent to which subscribers, see “How
statementsare replicated” on page 78. Fordetails on subscriptions, see the
followingtwo chapters.
Thissection describes how SQL Remote sends the right operations to the
rightrecipients.
Thetask of determining who gets what is divided between the database
serverand the Message Agent. Theengine handles those aspects that are to
dowith publications, while the Message Agent handles aspects to do with
subscriptions.
AdaptiveSer ver
Anywhereactions AdaptiveServer Anywhere evaluates the subscription expression for each
updatemade to a table that is part of a publication. It adds the valueof the
expressionto the log, both before and after the update.
Notthe subscriber list
AdaptiveServer Enterprise does not evaluate or enter into the log a list of
subscribers. The subscription expression (a property of the publication) is
evaluatedand entered. All handling of subscribers is left to the Message
Agent.
Fora table that is part of more than one publication, the subscription
expressionis evaluated before and after the update for each publication.
Theaddition of information to the log can affect performance in the
followingcases:
Expensiveexpressions Whena subscription expression is expensive
toevaluate, it can affect performance.
Manypublications Whena table belongs to many publications, many
expressionsmust be evaluated. In contrast, the number of

subscriptions

is
irrelevant.
Many-valuedexpressions Someexpressions are many-valued. This
canlead to much additional in formation in the transaction log, with a
correspondingeffect on performance.
AdaptiveSer ver
Enterprise actions Ina SQL Remote for Adaptive Server Enterprise publication, the
subscriptionexpression must be a column. Thesubscription column
86