diesel-oci 0.2.0

A oci database adapter for diesel
Documentation
use diesel::backend::*;
use diesel::sql_types::TypeMetadata;

use super::connection::bind_collector::OracleBindCollector;
use super::connection::OracleValue;
use super::query_builder::OciQueryBuilder;
use super::types::OciTypeMetadata;

/// The Oracle backend type
#[derive(Debug, Hash, PartialEq, Eq, Default)]
pub struct Oracle;

impl Backend for Oracle {
    type QueryBuilder = OciQueryBuilder;
    type BindCollector<'a> = OracleBindCollector<'a>;
    type RawValue<'a> = OracleValue<'a>;
}

impl TypeMetadata for Oracle {
    type TypeMetadata = OciTypeMetadata;
    type MetadataLookup = ();
}

impl TrustedBackend for Oracle {}
impl DieselReserveSpecialization for Oracle {}

impl SqlDialect for Oracle {
    type ReturningClause = OracleReturningClause;

    type OnConflictClause = sql_dialect::on_conflict_clause::DoesNotSupportOnConflictClause;

    type InsertWithDefaultKeyword = sql_dialect::default_keyword_for_insert::IsoSqlDefaultKeyword;
    type BatchInsertSupport = OracleStyleBatchInsert;
    type DefaultValueClauseForInsert = sql_dialect::default_value_clause::AnsiDefaultValueClause;

    type EmptyFromClauseSyntax = OracleDualForEmptySelectClause;
    type ExistsSyntax = OracleExistsSyntax;

    type ConcatClause = sql_dialect::concat_clause::ConcatWithPipesClause;
    type ArrayComparison = sql_dialect::array_comparison::AnsiSqlArrayComparison;
    type SelectStatementSyntax = sql_dialect::select_statement_syntax::AnsiSqlSelectStatement;
}

pub struct OracleStyleBatchInsert;
pub struct OracleReturningClause;
pub struct OracleDualForEmptySelectClause;
pub struct OracleExistsSyntax;