pub struct RpcRequest { /* private fields */ }Expand description
RPC request builder.
Implementations§
Source§impl RpcRequest
impl RpcRequest
Sourcepub fn named(proc_name: impl Into<String>) -> Self
pub fn named(proc_name: impl Into<String>) -> Self
Create a new RPC request for a named procedure.
Sourcepub fn execute_sql(sql: &str, params: Vec<RpcParam>) -> Self
pub fn execute_sql(sql: &str, params: Vec<RpcParam>) -> Self
Create an sp_executesql request.
This is the primary method for parameterized queries.
§Example
use tds_protocol::rpc::{RpcRequest, RpcParam};
let rpc = RpcRequest::execute_sql(
"SELECT * FROM users WHERE id = @p1 AND name = @p2",
vec![
RpcParam::int("@p1", 42),
RpcParam::nvarchar("@p2", "Alice"),
],
);Sourcepub fn build_param_declarations(params: &[RpcParam]) -> String
pub fn build_param_declarations(params: &[RpcParam]) -> String
Build parameter declaration string for sp_executesql.
Build the sp_executesql @params declaration string for params.
An Always Encrypted parameter declares its plaintext column type (its
EncryptedParamMetadata::base_type_info), not the BIGVARBINARY
transport type its value is carried as, so the declaration matches what
sp_describe_parameter_encryption was asked about.
Sourcepub fn with_options(self, options: RpcOptionFlags) -> Self
pub fn with_options(self, options: RpcOptionFlags) -> Self
Set option flags.
Sourcepub fn encode(&self) -> Bytes
pub fn encode(&self) -> Bytes
Encode the RPC request to bytes (auto-commit mode).
For requests within an explicit transaction, use Self::encode_with_transaction.
Sourcepub fn encode_with_transaction(&self, transaction_descriptor: u64) -> Bytes
pub fn encode_with_transaction(&self, transaction_descriptor: u64) -> Bytes
Encode the RPC request with a transaction descriptor.
Per MS-TDS spec, when executing within an explicit transaction:
- The
transaction_descriptorMUST be the value returned by the server in the BeginTransaction EnvChange token. - For auto-commit mode (no explicit transaction), use 0.
§Arguments
transaction_descriptor- The transaction descriptor from BeginTransaction EnvChange, or 0 for auto-commit mode.
Trait Implementations§
Source§impl Clone for RpcRequest
impl Clone for RpcRequest
Source§fn clone(&self) -> RpcRequest
fn clone(&self) -> RpcRequest
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more