pub struct ChangeTracking;Expand description
Helper functions for Change Tracking operations.
Implementations§
Source§impl ChangeTracking
impl ChangeTracking
Sourcepub const fn current_version_sql() -> &'static str
pub const fn current_version_sql() -> &'static str
Generate SQL to get the current change tracking version.
Returns the global change tracking version number.
§Example
use mssql_client::change_tracking::ChangeTracking;
let sql = ChangeTracking::current_version_sql();
assert_eq!(sql, "SELECT CHANGE_TRACKING_CURRENT_VERSION()");Sourcepub fn min_valid_version_sql(table_name: &str) -> String
pub fn min_valid_version_sql(table_name: &str) -> String
Generate SQL to get the minimum valid version for a table.
If a client’s last sync version is less than this, it must perform a full re-sync instead of incremental sync.
§Arguments
table_name- The name of the table
§Example
use mssql_client::change_tracking::ChangeTracking;
let sql = ChangeTracking::min_valid_version_sql("Products");
assert!(sql.contains("CHANGE_TRACKING_MIN_VALID_VERSION"));Sourcepub fn column_in_mask_sql(
table_name: &str,
column_name: &str,
mask_variable: &str,
) -> String
pub fn column_in_mask_sql( table_name: &str, column_name: &str, mask_variable: &str, ) -> String
Generate SQL to check if a column is in a change mask.
Used to determine which specific columns changed in an update operation.
§Arguments
table_name- The table namecolumn_name- The column to checkmask_variable- The name of the variable holding the change mask
§Example
use mssql_client::change_tracking::ChangeTracking;
let sql = ChangeTracking::column_in_mask_sql("Products", "Price", "@mask");
assert!(sql.contains("CHANGE_TRACKING_IS_COLUMN_IN_MASK"));Sourcepub fn enable_database_sql(
database_name: &str,
retention_days: u32,
auto_cleanup: bool,
) -> String
pub fn enable_database_sql( database_name: &str, retention_days: u32, auto_cleanup: bool, ) -> String
Generate SQL to enable change tracking on a database.
§Arguments
database_name- The database nameretention_days- How long to retain change dataauto_cleanup- Whether to automatically clean up old data
§Example
use mssql_client::change_tracking::ChangeTracking;
let sql = ChangeTracking::enable_database_sql("MyDB", 2, true);
assert!(sql.contains("SET CHANGE_TRACKING = ON"));Sourcepub fn enable_table_sql(table_name: &str, track_columns_updated: bool) -> String
pub fn enable_table_sql(table_name: &str, track_columns_updated: bool) -> String
Generate SQL to enable change tracking on a table.
§Arguments
table_name- The table nametrack_columns_updated- Whether to track which columns were updated
§Example
use mssql_client::change_tracking::ChangeTracking;
let sql = ChangeTracking::enable_table_sql("Products", true);
assert!(sql.contains("ENABLE CHANGE_TRACKING"));Sourcepub fn disable_table_sql(table_name: &str) -> String
pub fn disable_table_sql(table_name: &str) -> String
Generate SQL to disable change tracking on a table.
Sourcepub fn disable_database_sql(database_name: &str) -> String
pub fn disable_database_sql(database_name: &str) -> String
Generate SQL to disable change tracking on a database.
Auto Trait Implementations§
impl Freeze for ChangeTracking
impl RefUnwindSafe for ChangeTracking
impl Send for ChangeTracking
impl Sync for ChangeTracking
impl Unpin for ChangeTracking
impl UnsafeUnpin for ChangeTracking
impl UnwindSafe for ChangeTracking
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more