Crate odbc_api

source ·
Expand description

About

odbc-api enables you to write applications which utilize ODBC (Open Database Connectivity) standard to access databases. See the guide for more information and code examples.

Re-exports

Modules

  • This module contains buffers intended to be bound to ODBC statement handles.
  • Introduction to odbc-api (documentation only)
  • Provides basic abstraction over valid (i.e. allocated ODBC handles).
  • Passing parameters to statement

Structs

  • New type wrapping u8 and binding as SQL_BIT.
  • In order to safe on network overhead, it is recommended to use block cursors instead of fetching values individually. This can greatly reduce the time applications need to fetch data. You can create a block cursor by binding preallocated memory to a cursor using Cursor::bind_buffer. A block cursor safes on a lot of IO overhead by fetching an entire set of rows (called rowset) at once into the buffer bound to it. Reusing the same buffer for each rowset also safes on allocations. A challange with using block cursors might be database schemas with columns there individual fields can be very large. In these cases developers can choose to:
  • Asynchronously iterates in blocks (called row sets) over a result set, filling a buffers with a lot of rows at once, instead of iterating the result set row by row. This is usually much faster. Asynchronous sibiling of self::BlockCursor.
  • Can be used to execute a statement with bulk array paramters. Contrary to its name any statement with parameters can be executed, not only INSERT however inserting large amounts of data in batches is the primary intended usecase.
  • The connection handle references storage of all information about the connection to the data source, including status, transaction state, and error information.
  • Options to be passed then opening a connection to a datasource.
  • Cursors are used to process and iterate the result sets returned by executing queries. Created by either a prepared query or direct execution. Usually utilized through the crate::Cursor trait.
  • The asynchronous sibiling of CursorImpl. Use this to fetch results in asynchronous code.
  • An individual row of an result set. See crate::Cursor::next_row.
  • Holds name and description of a datasource
  • Struct holding information available on a driver. Can be obtained via Environment::drivers.
  • An ODBC 3.8 environment.
  • Wraps a type T together with an additional indicator. This way the type gains a Null representation, those memory layout is compatible with ODBC.
  • A preallocated SQL statement handle intended for sequential execution of different queries. See crate::Connection::preallocate.
  • Asynchronous sibling of Preallocated using polling mode for execution. Can be obtained using Preallocated::into_polling.
  • A prepared query. Prepared queries are useful if the similar queries should executed more than once. See crate::Connection::prepare.
  • Statement handle which also takes ownership of Connection
  • Error indicating a failed allocation for a column buffer
  • 16-bit wide string slice with undefined encoding.
  • An owned, mutable 16-bit wide string with undefined encoding.

Enums

Traits

  • You can obtain a mutable slice of a column buffer which allows you to change its contents.
  • Cursors are used to process and iterate the result sets returned by executing queries.
  • An instance can be consumed and to create a parameter which can be bound to a statement during execution.
  • Implementers of this trait can be bound to a statement through a self::ParameterCollectionRef.
  • SQL Parameters used to execute a query.
  • Implementers of this trait can be used as individual parameters of in a tuple of parameter references. This includes input parameters, output or in/out parameters.
  • Provides Metadata of the resulting the result set. Implemented by Cursor types and prepared queries. Fetching metadata from a prepared query might be expensive (driver dependent), so your application should fetch the Metadata it requires from the Cursor if possible.
  • A Row set buffer binds row, or column wise buffers to a cursor in order to fill them with row sets with each call to fetch.
  • Governs the behaviour of of polling in async functions.

Functions

  • You can use this method to escape a password so it is suitable to be appended to an ODBC connection string as the value for the PWD attribute. This method is only of interest for application in need to create their own connection strings.