このストアドプロシージャは、スクリプト化されたアップロードサブスクリプションが同期されるときの終了進行状況を定義するために使用されます。このプロシージャが呼び出されるのは、スクリプト化されたアップロードパブリケーションの同期中だけです。
名前 | 値 | 説明 |
---|---|---|
generating download exclusion list (in) |
TRUE | FALSE |
同期中にアップロードが送信されない場合 (ダウンロード専用の同期や、ファイルベースのダウンロードが適用される場合など) は TRUE 。この場合でもアップロードスクリプトは呼び出され、生成した操作は、アップロードする必要があるローを変更するダウンロード操作の識別に使用します。このような操作が見つかると、ダウンロードは適用されません。 |
publication_n (in) |
パブリケーション |
推奨されていません。代わりに subscription_n を使用します。同期されているパブリケーション (n は整数)。同期されるパブリケーションごとに 1 つの publication_n エントリがあります。n の番号は 0 から始まります。 |
start progress as timestamp_n (in) | 進行状況 (タイムスタンプ) | 同期中の各サブスクリプションの開始進行状況がタイムスタンプで示されます。ここで、n は、サブスクリプション名の識別に使用する整数と同じです。 |
start progress as bigint_n (in) | 進行状況 (bigint) | 同期中の各サブスクリプションの開始進行状況が bigint で示されます。ここで、n は、サブスクリプション名の識別に使用する整数と同じです。 |
script version (in) | スクリプトバージョン名 | 同期に使用される Mobile Link スクリプトバージョン。 |
MobiLink user (in) |
Mobile Link ユーザ名 |
同期対象となる Mobile Link ユーザ |
end progress is bigint (in|out) |
TRUE | FALSE |
このローが TRUE に設定されている場合は、終了進行状況の値は、文字列 ('12345' など) として表される符号なし bigint であると見なされます。 このローが FALSE に設定されている場合は、終了進行状況の値は、文字列 ('1900/01/01 12:00:00.000' など) として表される TIMESTAMP であると見なされます。 デフォルト値は FALSE です。 |
end progress (in|out) | タイムスタンプ |
フックはこのローを変更して、アップロードスクリプトに渡される "end progress" と "raw end progress" の値を変更できます。これらの値は、生成中のアップロードにすべての操作が含まれているかどうかの境界となる時点を定義します。 このローの値は、"end progress is bigint" ローの設定に応じて、符号なし bigint またはタイムスタンプのいずれかに設定できます。このローのデフォルト値は、現在のタイムスタンプです。 |
subscription_n (in) | サブスクリプション名 | 同期されているサブスクリプションの名前 (n は整数)。これは、同期される各サブスクリプションの subscription_n エントリです。n の番号は 0 から始まります。 |
スクリプト化されたアップロードの場合は、アップロードプロシージャが呼び出されるたびに、開始進行状況と終了進行状況の値が渡されます。プロシージャは、これら 2 つの値で定義された期間に発生した適切な操作をすべて返す必要があります。開始進行状況値は、最後に成功した同期での終了進行状況値と同じです。ただし、今回初めて同期を行っている場合、開始進行状況値は "January 1, 1900, 00:00:00.000" になります。終了進行状況値は、デフォルトで、dbmlsync がアップロードを構築し始めた時間です。
このフックを使用すると、デフォルトの終了進行状況値を上書きできます。アップロードには短い時間を定義したり、タイムスタンプ以外の方法 (世代番号など) に基づいた、進行状況を追跡するスキームを実装することができます。
"end progress is bigint" が true に設定されている場合、終了進行状況は、1900-01-01 00:00:00 から 9999-12-31 23:59:59:9999 の間のミリ秒数 (255,611,203,259,999) 以下の整数でなければなりません。
MANAGE REPLICATION システム権限を持つユーザが作成できるフックプロシージャ。ただし、フックによる情報のやり取りに使用される #hook_dict table にフックがアクセスできることを確認するには、フックが次のいずれかの要件を満たしている必要があります。
SELECT ANY TABLE および UPDATE ANY TABLE システム権限を持つユーザが所有します。
CREATE PROCEDURE 文の SQL SECURITY INVOKER 句を使用して定義されます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |