Expand description
ODBC
Open Database Connectivity or short ODBC is a low level high performance interface introduced by Microsoft to access relational data stores. This crate wraps the raw C interface and is intended to be usable in safe and idiomatic Rust.
[ODBC Programmer’s Reference] (https://docs.microsoft.com/en-us/sql/odbc/reference/odbc-programmer-s-reference)
Internal Design
While designed as a relatively low level wrapper around ODBC this crate tries to prevent many
errors at compile time. The borrow checker and the RAII (Resource Acquisition Is
Initialization) idiom should prevent any occurence of SQL_INVALID_HANDLE
in safe code.
Using the type system and the borrow checker this crate ensures that each method call happens in a valid state and state transitions are modeled in the type system. This should eliminate the possibility of function sequence errors in safe code.
[Basic ODBC Application Steps] (https://docs.microsoft.com/en-us/sql/odbc/reference/develop-app/basic-odbc-application-steps)
[ODBC State Transitions] (https://docs.microsoft.com/en-us/sql/odbc/reference/appendixes/appendix-b-odbc-state-transition-tables)
Re-exports
pub use ResultSetState::*;
Modules
Structs
Statement
can be used to execute queries and retrieves results.Enums
Statement
state used to represent a freshly allocated connectionStatement
state used to represent a statement with a result set cursor. A statement is most
likely to enter this state after a SELECT
query.Statement
state used to represent a statement with no result set. A statement is likely to
enter this state after executing e.g. a CREATE TABLE
statementStatement
state used to represent a statement compiled into an access plan. A statement will
enter this state after a call to Statement::prepared
Statement
after execution of a query.AllocatedTraits
Cursor::get_data