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 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