pub use self::attributes::*;
pub use self::c_data_type::*;
pub use self::fetch_orientation::*;
pub use self::info_type::*;
pub use self::input_output::*;
pub use self::nullable::*;
pub use self::sql_bulk_operations::*;
pub use self::sqlreturn::*;
use std::os::raw::c_void;
mod attributes;
mod c_data_type;
mod fetch_orientation;
mod info_type;
mod input_output;
mod nullable;
mod sql_bulk_operations;
mod sqlreturn;
pub enum Obj {}
pub enum Env {}
pub enum Dbc {}
pub enum Stmt {}
pub enum Desc {}
pub type SQLHANDLE = *mut Obj;
pub type SQLHENV = *mut Env;
pub type SQLHDESC = *mut Desc;
pub type SQLHDBC = *mut Dbc;
pub type SQLHSTMT = *mut Stmt;
pub type SQLSMALLINT = i16;
pub type SQLUSMALLINT = u16;
pub type SQLINTEGER = i32;
pub type SQLUINTEGER = u32;
pub type SQLPOINTER = *mut c_void;
pub type SQLCHAR = u8;
pub type SQLWCHAR = u16;
#[cfg(target_pointer_width = "64")]
pub type SQLLEN = i64;
#[cfg(target_pointer_width = "32")]
pub type SQLLEN = SQLINTEGER;
#[cfg(target_pointer_width = "64")]
pub type SQLULEN = u64;
#[cfg(target_pointer_width = "32")]
pub type SQLULEN = SQLUINTEGER;
pub type SQLHWND = SQLPOINTER;
pub type RETCODE = i16;
pub const SQL_NTS: SQLSMALLINT = -3;
pub const SQL_NTSL: SQLINTEGER = -3;
pub const SQL_MAX_MESSAGE_LENGTH: SQLSMALLINT = 512;
pub const SQL_SQLSTATE_SIZE: usize = 5;
pub const SQL_SQLSTATE_SIZEW: usize = 10;
pub const SQL_NULL_DATA: SQLLEN = -1;
pub const SQL_NO_TOTAL: SQLLEN = -4;
pub const SQL_SS_LENGTH_UNLIMITED: SQLULEN = 0;
#[repr(u16)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum FreeStmtOption {
SQL_CLOSE = 0,
SQL_UNBIND = 2,
SQL_RESET_PARAMS = 3,
}
pub use FreeStmtOption::*;
#[repr(i16)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SqlDataType {
SQL_UNKNOWN_TYPE = 0,
SQL_CHAR = 1,
SQL_NUMERIC = 2,
SQL_DECIMAL = 3,
SQL_INTEGER = 4,
SQL_SMALLINT = 5,
SQL_FLOAT = 6,
SQL_REAL = 7,
SQL_DOUBLE = 8,
SQL_DATETIME = 9,
SQL_VARCHAR = 12,
#[cfg(feature = "odbc_version_4")]
SQL_UDT = 17,
#[cfg(feature = "odbc_version_4")]
SQL_ROW = 19,
#[cfg(feature = "odbc_version_4")]
SQL_ARRAY = 50,
#[cfg(feature = "odbc_version_4")]
SQL_MULTISET = 55,
SQL_DATE = 91,
SQL_TIME = 92,
SQL_TIMESTAMP = 93,
#[cfg(feature = "odbc_version_4")]
SQL_TIME_WITH_TIMEZONE = 94,
#[cfg(feature = "odbc_version_4")]
SQL_TIMESTAMP_WITH_TIMEZONE = 95,
SQL_EXT_TIME_OR_INTERVAL = 10,
SQL_EXT_TIMESTAMP = 11,
SQL_EXT_LONGVARCHAR = -1,
SQL_EXT_BINARY = -2,
SQL_EXT_VARBINARY = -3,
SQL_EXT_LONGVARBINARY = -4,
SQL_EXT_BIGINT = -5,
SQL_EXT_TINYINT = -6,
SQL_EXT_BIT = -7,
SQL_EXT_WCHAR = -8,
SQL_EXT_WVARCHAR = -9,
SQL_EXT_WLONGVARCHAR = -10,
SQL_EXT_GUID = -11,
SQL_SS_VARIANT = -150,
SQL_SS_UDT = -151,
SQL_SS_XML = -152,
SQL_SS_TABLE = -153,
SQL_SS_TIME2 = -154,
SQL_SS_TIMESTAMPOFFSET = -155,
}
pub use self::SqlDataType::*;
#[repr(i16)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum HandleType {
SQL_HANDLE_ENV = 1,
SQL_HANDLE_DBC = 2,
SQL_HANDLE_STMT = 3,
SQL_HANDLE_DESC = 4,
}
pub use self::HandleType::*;
#[repr(u16)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SqlDriverConnectOption {
SQL_DRIVER_NOPROMPT = 0,
SQL_DRIVER_COMPLETE = 1,
SQL_DRIVER_PROMPT = 2,
SQL_DRIVER_COMPLETE_REQUIRED = 3,
}
pub use self::SqlDriverConnectOption::*;
#[repr(i32)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SqlAttributeStringLength {
SQL_IS_POINTER = -4,
SQL_IS_UINTEGER = -5,
SQL_IS_INTEGER = -6,
SQL_IS_USMALLINT = -7,
SQL_IS_SMALLINT = -8,
}
pub use self::SqlAttributeStringLength::*;
#[repr(C)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SQLINTERVAL {
SQL_IS_YEAR = 1,
SQL_IS_MONTH = 2,
SQL_IS_DAY = 3,
SQL_IS_HOUR = 4,
SQL_IS_MINUTE = 5,
SQL_IS_SECOND = 6,
SQL_IS_YEAR_TO_MONTH = 7,
SQL_IS_DAY_TO_HOUR = 8,
SQL_IS_DAY_TO_MINUTE = 9,
SQL_IS_DAY_TO_SECOND = 10,
SQL_IS_HOUR_TO_MINUTE = 11,
SQL_IS_HOUR_TO_SECOND = 12,
SQL_IS_MINUTE_TO_SECOND = 13,
}
#[repr(C)]
#[allow(non_camel_case_types)]
#[derive(Debug, Default, PartialEq, Eq, Clone, Copy, Hash)]
pub struct SQL_YEAR_MONTH_STRUCT {
pub year: SQLUINTEGER,
pub month: SQLUINTEGER,
}
#[repr(C)]
#[allow(non_camel_case_types)]
#[derive(Debug, Default, PartialEq, Eq, Clone, Copy, Hash)]
pub struct SQL_DAY_SECOND_STRUCT {
pub day: SQLUINTEGER,
pub hour: SQLUINTEGER,
pub minute: SQLUINTEGER,
pub second: SQLUINTEGER,
pub fraction: SQLUINTEGER,
}
#[repr(C)]
#[allow(non_camel_case_types)]
#[derive(Copy, Clone)]
pub union SQL_INTERVAL_UNION {
pub year_month: SQL_YEAR_MONTH_STRUCT,
pub day_second: SQL_DAY_SECOND_STRUCT,
}
#[repr(C)]
#[allow(non_camel_case_types)]
#[derive(Clone, Copy)]
pub struct SQL_INTERVAL_STRUCT {
pub interval_type: SQLINTERVAL,
pub interval_sign: SQLSMALLINT,
pub interval_value: SQL_INTERVAL_UNION,
}
#[repr(C)]
#[allow(non_camel_case_types)]
#[derive(Debug, Default, PartialEq, Eq, Clone, Copy, Hash)]
pub struct SQL_DATE_STRUCT {
pub year: SQLSMALLINT,
pub month: SQLUSMALLINT,
pub day: SQLUSMALLINT,
}
#[repr(C)]
#[allow(non_camel_case_types)]
#[derive(Debug, Default, PartialEq, Eq, Clone, Copy, Hash)]
pub struct SQL_TIME_STRUCT {
pub hour: SQLUSMALLINT,
pub minute: SQLUSMALLINT,
pub second: SQLUSMALLINT,
}
#[repr(C)]
#[allow(non_camel_case_types)]
#[derive(Debug, Default, PartialEq, Eq, Clone, Copy, Hash)]
pub struct SQL_TIMESTAMP_STRUCT {
pub year: SQLSMALLINT,
pub month: SQLUSMALLINT,
pub day: SQLUSMALLINT,
pub hour: SQLUSMALLINT,
pub minute: SQLUSMALLINT,
pub second: SQLUSMALLINT,
pub fraction: SQLUINTEGER,
}
#[repr(C)]
#[allow(non_camel_case_types)]
#[derive(Debug, Default, PartialEq, Eq, Clone, Copy, Hash)]
pub struct SQLGUID {
pub d1: u32,
pub d2: u16,
pub d3: u16,
pub d4: [u8; 8],
}
#[repr(C)]
#[allow(non_camel_case_types)]
#[derive(Debug, Default, PartialEq, Eq, Clone, Copy, Hash)]
pub struct SQL_SS_TIME2_STRUCT {
pub hour: SQLUSMALLINT,
pub minute: SQLUSMALLINT,
pub second: SQLUSMALLINT,
pub fraction: SQLUINTEGER,
}
#[repr(C)]
#[allow(non_camel_case_types)]
#[derive(Debug, Default, PartialEq, Eq, Clone, Copy, Hash)]
pub struct SQL_SS_TIMESTAMPOFFSET_STRUCT {
pub year: SQLSMALLINT,
pub month: SQLUSMALLINT,
pub day: SQLUSMALLINT,
pub hour: SQLUSMALLINT,
pub minute: SQLUSMALLINT,
pub second: SQLUSMALLINT,
pub fraction: SQLUINTEGER,
pub timezone_hour: SQLSMALLINT,
pub timezone_minute: SQLSMALLINT,
}
#[repr(i32)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SqlStatementAttribute {
SQL_ATTR_ASYNC_ENABLE = 4,
SQL_ATTR_PARAM_BIND_TYPE = 18,
SQL_ATTR_PARAMSET_SIZE = 22,
SQL_ATTR_ROW_BIND_TYPE = 5,
SQL_ATTR_ROW_ARRAY_SIZE = 27,
SQL_ATTR_ROWS_FETCHED_PTR = 26,
SQL_ATTR_ASYNC_STMT_EVENT = 29,
}
pub use self::SqlStatementAttribute::*;
#[repr(i32)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SqlConnectionAttribute {
SQL_ATTR_ASYNC_ENABLE = 4,
SQL_ATTR_ACCESS_MODE = 101,
SQL_ATTR_AUTOCOMMIT = 102,
SQL_ATTR_LOGIN_TIMEOUT = 103,
SQL_ATTR_TRACE = 104,
SQL_ATTR_TRACEFILE = 105,
SQL_ATTR_TRANSLATE_LIB = 106,
SQL_ATTR_TRANSLATE_OPTION = 107,
SQL_ATTR_TXN_ISOLATION = 108,
SQL_ATTR_CURRENT_CATALOG = 109,
SQL_ATTR_ODBC_CURSORS = 110,
SQL_ATTR_QUIET_MODE = 111,
SQL_ATTR_PACKET_SIZE = 112,
SQL_ATTR_CONNECTION_TIMEOUT = 113,
SQL_ATTR_DISCONNECT_BEHAVIOR = 114,
SQL_ATTR_ASYNC_DBC_FUNCTIONS_ENABLE = 117,
SQL_ATTR_ASYNC_DBC_EVENT = 119,
SQL_ATTR_ENLIST_IN_DTC = 1207,
SQL_ATTR_ENLIST_IN_XA = 1208,
SQL_ATTR_CONNECTION_DEAD = 1209,
SQL_ATTR_AUTO_IPD = 10001,
SQL_ATTR_METADATA_ID = 10014,
}
#[repr(i32)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SqlHeaderDiagnosticIdentifier {
SQL_DIAG_RETURNCODE = 1,
SQL_DIAG_NUMBER = 2,
SQL_DIAG_ROW_COUNT = 3,
SQL_DIAG_SQLSTATE = 4,
SQL_DIAG_NATIVE = 5,
SQL_DIAG_MESSAGE_TEXT = 6,
SQL_DIAG_DYNAMIC_FUNCTION = 7,
SQL_DIAG_CLASS_ORIGIN = 8,
SQL_DIAG_SUBCLASS_ORIGIN = 9,
SQL_DIAG_CONNECTION_NAME = 10,
SQL_DIAG_SERVER_NAME = 11,
SQL_DIAG_DYNAMIC_FUNCTION_CODE = 12,
SQL_DIAG_CURSOR_ROW_COUNT = -1249,
SQL_DIAG_ROW_NUMBER = -1248,
SQL_DIAG_COLUMN_NUMBER = -1247,
}
#[repr(i32)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SqlAsyncConnectionBehavior {
SQL_ASYNC_DBC_ENABLE_ON = 1,
SQL_ASYNC_DBC_ENABLE_OFF = 0,
}
pub use self::SqlAsyncConnectionBehavior::*;
impl Default for SqlAsyncConnectionBehavior {
fn default() -> SqlAsyncConnectionBehavior {
SqlAsyncConnectionBehavior::SQL_ASYNC_DBC_ENABLE_OFF
}
}
#[repr(i32)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SqlDynamicDiagnosticIdentifier {
SQL_DIAG_ALTER_DOMAIN = 3,
SQL_DIAG_ALTER_TABLE = 4,
SQL_DIAG_CALL = 7,
SQL_DIAG_CREATE_ASSERTION = 6,
SQL_DIAG_CREATE_CHARACTER_SET = 8,
SQL_DIAG_CREATE_COLLATION = 10,
SQL_DIAG_CREATE_DOMAIN = 23,
SQL_DIAG_CREATE_INDEX = -1,
SQL_DIAG_CREATE_SCHEMA = 64,
SQL_DIAG_CREATE_TABLE = 77,
SQL_DIAG_CREATE_TRANSLATION = 79,
SQL_DIAG_CREATE_VIEW = 84,
SQL_DIAG_DELETE_WHERE = 19,
SQL_DIAG_DROP_ASSERTION = 24,
SQL_DIAG_DROP_CHARACTER_SET = 25,
SQL_DIAG_DROP_COLLATION = 26,
SQL_DIAG_DROP_DOMAIN = 27,
SQL_DIAG_DROP_INDEX = -2,
SQL_DIAG_DROP_SCHEMA = 31,
SQL_DIAG_DROP_TABLE = 32,
SQL_DIAG_DROP_TRANSLATION = 33,
SQL_DIAG_DROP_VIEW = 36,
SQL_DIAG_DYNAMIC_DELETE_CURSOR = 38,
SQL_DIAG_DYNAMIC_UPDATE_CURSOR = 81,
SQL_DIAG_GRANT = 48,
SQL_DIAG_INSERT = 50,
SQL_DIAG_REVOKE = 59,
SQL_DIAG_SELECT_CURSOR = 85,
SQL_DIAG_UNKNOWN_STATEMENT = 0,
SQL_DIAG_UPDATE_WHERE = 82,
}
pub use self::SqlConnectionAttribute::*;
#[repr(i16)]
#[allow(non_camel_case_types)]
#[derive(Debug, PartialEq, Eq, Clone, Copy)]
pub enum SqlCompletionType {
SQL_COMMIT = 0,
SQL_ROLLBACK = 1,
}
pub use self::SqlCompletionType::*;
#[cfg_attr(windows, link(name = "odbc32"))]
#[cfg_attr(all(not(windows), not(r#static)), link(name = "odbc"))]
#[cfg_attr(all(not(windows), r#static), link(name = "odbc", kind = "static"))]
extern "system" {
pub fn SQLAllocHandle(
handle_type: HandleType,
input_handle: SQLHANDLE,
output_handle: *mut SQLHANDLE,
) -> SQLRETURN;
pub fn SQLFreeHandle(handle_type: HandleType, handle: SQLHANDLE) -> SQLRETURN;
pub fn SQLGetEnvAttr(
environment_handle: SQLHENV,
attribute: EnvironmentAttribute,
value_ptr: SQLPOINTER,
buffer_length: SQLINTEGER,
string_length: *mut SQLINTEGER,
) -> SQLRETURN;
pub fn SQLSetEnvAttr(
environment_handle: SQLHENV,
attribute: EnvironmentAttribute,
value: SQLPOINTER,
string_length: SQLINTEGER,
) -> SQLRETURN;
pub fn SQLDisconnect(connection_handle: SQLHDBC) -> SQLRETURN;
pub fn SQLGetDiagRec(
handle_type: HandleType,
handle: SQLHANDLE,
RecNumber: SQLSMALLINT,
state: *mut SQLCHAR,
native_error_ptr: *mut SQLINTEGER,
message_text: *mut SQLCHAR,
buffer_length: SQLSMALLINT,
text_length_ptr: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLGetDiagRecW(
handle_type: HandleType,
handle: SQLHANDLE,
record_rumber: SQLSMALLINT,
state: *mut SQLWCHAR,
native_error_ptr: *mut SQLINTEGER,
message_text: *mut SQLWCHAR,
buffer_length: SQLSMALLINT,
text_length_ptr: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLGetDiagFieldW(
handle_type: HandleType,
handle: SQLHANDLE,
record_rumber: SQLSMALLINT,
diag_identifier: SQLSMALLINT,
diag_info_ptr: SQLPOINTER,
buffer_length: SQLSMALLINT,
string_length_ptr: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLExecDirect(
statement_handle: SQLHSTMT,
statement_text: *const SQLCHAR,
text_length: SQLINTEGER,
) -> SQLRETURN;
pub fn SQLExecDirectW(
statement_handle: SQLHSTMT,
statement_text: *const SQLWCHAR,
text_length: SQLINTEGER,
) -> SQLRETURN;
pub fn SQLNumResultCols(
statement_handle: SQLHSTMT,
column_count_ptr: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLMoreResults(statement_handle: SQLHSTMT) -> SQLRETURN;
pub fn SQLGetData(
statement_handle: SQLHSTMT,
col_or_param_num: SQLUSMALLINT,
target_type: SqlCDataType,
target_value_ptr: SQLPOINTER,
buffer_length: SQLLEN,
str_len_or_ind_ptr: *mut SQLLEN,
) -> SQLRETURN;
pub fn SQLGetTypeInfo(statement_handle: SQLHSTMT, data_type: SqlDataType) -> SQLRETURN;
pub fn SQLFetch(statement_handle: SQLHSTMT) -> SQLRETURN;
pub fn SQLGetInfo(
connection_handle: SQLHDBC,
info_type: InfoType,
info_value_ptr: SQLPOINTER,
buffer_length: SQLSMALLINT,
string_length_ptr: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLGetInfoW(
connection_handle: SQLHDBC,
info_type: InfoType,
info_value_ptr: SQLPOINTER,
buffer_length: SQLSMALLINT,
string_length_ptr: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLConnectW(
connection_handle: SQLHDBC,
server_name: *const SQLWCHAR,
name_length_1: SQLSMALLINT,
user_name: *const SQLWCHAR,
name_length_2: SQLSMALLINT,
authentication: *const SQLWCHAR,
name_length_3: SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLConnect(
connection_handle: SQLHDBC,
server_name: *const SQLCHAR,
name_length_1: SQLSMALLINT,
user_name: *const SQLCHAR,
name_length_2: SQLSMALLINT,
authentication: *const SQLCHAR,
name_length_3: SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLTables(
statement_handle: SQLHSTMT,
catalog_name: *const SQLCHAR,
name_length_1: SQLSMALLINT,
schema_name: *const SQLCHAR,
name_length_2: SQLSMALLINT,
table_name: *const SQLCHAR,
name_length_3: SQLSMALLINT,
TableType: *const SQLCHAR,
name_length_4: SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLTablesW(
statement_handle: SQLHSTMT,
catalog_name: *const SQLWCHAR,
name_length_1: SQLSMALLINT,
schema_name: *const SQLWCHAR,
name_length_2: SQLSMALLINT,
table_name: *const SQLWCHAR,
name_length_3: SQLSMALLINT,
table_type: *const SQLWCHAR,
name_length_4: SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLDataSources(
environment_handle: SQLHENV,
direction: FetchOrientation,
server_name: *mut SQLCHAR,
buffer_length_1: SQLSMALLINT,
name_length_1: *mut SQLSMALLINT,
description: *mut SQLCHAR,
buffer_length_2: SQLSMALLINT,
name_length_2: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLDataSourcesW(
environment_handle: SQLHENV,
direction: FetchOrientation,
server_name: *mut SQLWCHAR,
buffer_length_1: SQLSMALLINT,
name_length_1: *mut SQLSMALLINT,
description: *mut SQLWCHAR,
buffer_length_2: SQLSMALLINT,
name_length_2: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLDriverConnect(
connection_handle: SQLHDBC,
window_handle: SQLHWND,
in_connection_string: *const SQLCHAR,
string_length_1: SQLSMALLINT,
out_connection_string: *mut SQLCHAR,
buffer_length: SQLSMALLINT,
string_length_2: *mut SQLSMALLINT,
DriverCompletion: SqlDriverConnectOption,
) -> SQLRETURN;
pub fn SQLDriverConnectW(
connection_handle: SQLHDBC,
window_handle: SQLHWND,
in_connection_string: *const SQLWCHAR,
string_length_1: SQLSMALLINT,
out_connection_string: *mut SQLWCHAR,
buffer_length: SQLSMALLINT,
string_length_2: *mut SQLSMALLINT,
driver_completion: SqlDriverConnectOption,
) -> SQLRETURN;
pub fn SQLDrivers(
henv: SQLHENV,
direction: FetchOrientation,
driver_desc: *mut SQLCHAR,
driver_desc_max: SQLSMALLINT,
out_driver_desc: *mut SQLSMALLINT,
driver_attributes: *mut SQLCHAR,
drvr_attr_max: SQLSMALLINT,
out_drvr_attr: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLDriversW(
henv: SQLHENV,
direction: FetchOrientation,
driver_desc: *mut SQLWCHAR,
driver_desc_max: SQLSMALLINT,
out_driver_desc: *mut SQLSMALLINT,
driver_attributes: *mut SQLWCHAR,
drvr_attr_max: SQLSMALLINT,
out_drvr_attr: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLCloseCursor(hstmt: SQLHSTMT) -> SQLRETURN;
pub fn SQLBindParameter(
hstmt: SQLHSTMT,
parameter_number: SQLUSMALLINT,
input_output_type: InputOutput,
value_type: SqlCDataType,
parmeter_type: SqlDataType,
column_size: SQLULEN,
decimal_digits: SQLSMALLINT,
parameter_value_ptr: SQLPOINTER,
buffer_length: SQLLEN,
str_len_or_ind_ptr: *mut SQLLEN,
) -> SQLRETURN;
pub fn SQLBulkOperations(statement_handle: SQLHSTMT, operation: SqlBulkOperation) -> SQLRETURN;
pub fn SQLCancel(statement_handle: SQLHSTMT) -> SQLRETURN;
pub fn SQLCancelHandle(handle_type: HandleType, handle: SQLHANDLE) -> SQLRETURN;
pub fn SQLPrepare(
hstmt: SQLHSTMT,
statement_text: *const SQLCHAR,
text_length: SQLINTEGER,
) -> SQLRETURN;
pub fn SQLPrepareW(
hstmt: SQLHSTMT,
statement_text: *const SQLWCHAR,
text_length: SQLINTEGER,
) -> SQLRETURN;
pub fn SQLExecute(hstmt: SQLHSTMT) -> SQLRETURN;
pub fn SQLFreeStmt(hstmt: SQLHSTMT, option: FreeStmtOption) -> SQLRETURN;
pub fn SQLBindCol(
hstmt: SQLHSTMT,
col_number: SQLUSMALLINT,
target_type: SqlCDataType,
target_value: SQLPOINTER,
buffer_length: SQLLEN,
length_or_indicatior: *mut SQLLEN,
) -> SQLRETURN;
pub fn SQLBrowseConnectW(
connection_handle: SQLHDBC,
in_connection_string: *const SQLWCHAR,
string_length: SQLSMALLINT,
out_connection_string: *mut SQLWCHAR,
buffer_length: SQLSMALLINT,
out_buffer_length: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLColAttributeW(
statement_handle: SQLHSTMT,
column_number: SQLUSMALLINT,
field_identifier: SQLUSMALLINT,
character_attribute_ptr: SQLPOINTER,
buffer_length: SQLSMALLINT,
string_length_ptr: *mut SQLSMALLINT,
numeric_attribute_ptr: *mut SQLLEN,
) -> SQLRETURN;
pub fn SQLCopyDesc(source_desc_handle: SQLHDESC, target_desc_handle: SQLHDESC) -> SQLRETURN;
pub fn SQLGetConnectAttrW(
connection_handle: SQLHDBC,
attribute: SqlConnectionAttribute,
value_ptr: SQLPOINTER,
buffer_length: SQLINTEGER,
string_length_ptr: *mut SQLINTEGER,
) -> SQLRETURN;
pub fn SQLGetCursorNameW(
statement_handle: SQLHSTMT,
cursor_name: *mut SQLWCHAR,
buffer_length: SQLSMALLINT,
name_length_ptr: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLGetDescFieldW(
descriptor_handle: SQLHDESC,
record_number: SQLSMALLINT,
field_identifier: SQLSMALLINT,
value_ptr: SQLPOINTER,
buffer_length: SQLINTEGER,
string_length_ptr: *mut SQLINTEGER,
) -> SQLRETURN;
pub fn SQLGetDescRecW(
descriptor_handle: SQLHDESC,
record_number: SQLSMALLINT,
name: *mut SQLWCHAR,
buffer_length: SQLSMALLINT,
string_length_ptr: *mut SQLSMALLINT,
type_ptr: *mut SQLSMALLINT,
sub_type_ptr: *mut SQLSMALLINT,
length_ptr: *mut SQLLEN,
precision_ptr: *mut SQLSMALLINT,
scale_ptr: *mut SQLSMALLINT,
nullable_ptr: *mut Nullable,
) -> SQLRETURN;
pub fn SQLColumnPrivilegesW(
statement_handle: SQLHSTMT,
catalog_name: *const SQLWCHAR,
catalog_name_length: SQLSMALLINT,
schema_name: *const SQLWCHAR,
schema_name_length: SQLSMALLINT,
table_name: *const SQLWCHAR,
table_name_length: SQLSMALLINT,
column_name: *const SQLWCHAR,
column_name_length: SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLColumnsW(
statement_handle: SQLHSTMT,
catalog_name: *const SQLWCHAR,
catalog_name_length: SQLSMALLINT,
schema_name: *const SQLWCHAR,
schema_name_length: SQLSMALLINT,
table_name: *const SQLWCHAR,
table_name_length: SQLSMALLINT,
column_name: *const SQLWCHAR,
column_name_length: SQLSMALLINT,
) -> SQLRETURN;
#[cfg(feature = "odbc_version_3_80")]
pub fn SQLCompleteAsync(
handle_type: HandleType,
handle: SQLHANDLE,
async_ret_code_ptr: *mut RETCODE,
) -> SQLRETURN;
pub fn SQLGetStmtAttrW(
handle: SQLHSTMT,
attribute: SqlStatementAttribute,
value_ptr: SQLPOINTER,
buffer_length: SQLINTEGER,
string_length_ptr: *mut SQLINTEGER,
) -> SQLRETURN;
pub fn SQLFetchScroll(
statement_handle: SQLHSTMT,
fetch_orientation: FetchOrientation,
fetch_offset: SQLLEN,
) -> SQLRETURN;
pub fn SQLForeignKeysW(
statement_handle: SQLHSTMT,
pk_catalog_name: *const SQLWCHAR,
pk_catalog_name_length: SQLSMALLINT,
pk_schema_name: *const SQLWCHAR,
pk_schema_name_length: SQLSMALLINT,
pk_table_name: *const SQLWCHAR,
pk_table_name_length: SQLSMALLINT,
fk_catalog_name: *const SQLWCHAR,
fk_catalog_name_length: SQLSMALLINT,
fk_schema_name: *const SQLWCHAR,
fk_schema_name_length: SQLSMALLINT,
fk_table_name: *const SQLWCHAR,
fk_table_name_length: SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLDescribeCol(
hstmt: SQLHSTMT,
col_number: SQLUSMALLINT,
col_name: *mut SQLCHAR,
buffer_length: SQLSMALLINT,
name_length: *mut SQLSMALLINT,
data_type: *mut SqlDataType,
col_size: *mut SQLULEN,
decimal_digits: *mut SQLSMALLINT,
nullable: *mut Nullable,
) -> SQLRETURN;
pub fn SQLDescribeColW(
hstmt: SQLHSTMT,
col_number: SQLUSMALLINT,
col_name: *mut SQLWCHAR,
buffer_length: SQLSMALLINT,
name_length: *mut SQLSMALLINT,
data_type: *mut SqlDataType,
col_size: *mut SQLULEN,
decimal_digits: *mut SQLSMALLINT,
nullable: *mut Nullable,
) -> SQLRETURN;
pub fn SQLDescribeParam(
statement_handle: SQLHSTMT,
parameter_number: SQLUSMALLINT,
data_type_ptr: *mut SqlDataType,
parameter_size_ptr: *mut SQLULEN,
decimal_digits_ptr: *mut SQLSMALLINT,
nullable_ptr: *mut SQLSMALLINT,
) -> SQLRETURN;
pub fn SQLSetStmtAttr(
hstmt: SQLHSTMT,
attr: SqlStatementAttribute,
value: SQLPOINTER,
str_length: SQLINTEGER,
) -> SQLRETURN;
pub fn SQLSetStmtAttrW(
hstmt: SQLHSTMT,
attr: SqlStatementAttribute,
value: SQLPOINTER,
str_length: SQLINTEGER,
) -> SQLRETURN;
pub fn SQLSetConnectAttr(
hdbc: SQLHDBC,
attr: SqlConnectionAttribute,
value: SQLPOINTER,
str_length: SQLINTEGER,
) -> SQLRETURN;
pub fn SQLSetConnectAttrW(
hdbc: SQLHDBC,
attr: SqlConnectionAttribute,
value: SQLPOINTER,
str_length: SQLINTEGER,
) -> SQLRETURN;
pub fn SQLEndTran(
handle_type: HandleType,
handle: SQLHANDLE,
completion_type: SqlCompletionType,
) -> SQLRETURN;
pub fn SQLRowCount(hstmt: SQLHSTMT, row_count: *mut SQLLEN) -> SQLRETURN;
}