rsfbclient_diesel/fb/
backend.rs1use super::query_builder::FbQueryBuilder;
4use super::types::SupportedType;
5use super::value::FbValue;
6use diesel::backend::*;
7use diesel::query_builder::bind_collector::RawBytesBindCollector;
8use diesel::sql_types::TypeMetadata;
9
10#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
11pub struct Fb;
12
13impl Backend for Fb {
14 type QueryBuilder = FbQueryBuilder;
15}
16
17impl TrustedBackend for Fb {}
18impl DieselReserveSpecialization for Fb {}
19
20impl<'a> HasBindCollector<'a> for Fb {
21 type BindCollector = RawBytesBindCollector<Fb>;
22}
23
24impl<'a> HasRawValue<'a> for Fb {
25 type RawValue = FbValue<'a>;
26}
27
28impl TypeMetadata for Fb {
29 type TypeMetadata = SupportedType;
30 type MetadataLookup = ();
32}
33
34pub struct FbSelectStatementSyntax;
35
36#[derive(Debug, Copy, Clone)]
37pub struct FbReturningClause;
38
39impl SqlDialect for Fb {
40 type ReturningClause = FbReturningClause;
41
42 type ConcatClause = sql_dialect::concat_clause::ConcatWithPipesClause;
43
44 type OnConflictClause = sql_dialect::on_conflict_clause::DoesNotSupportOnConflictClause;
45
46 type InsertWithDefaultKeyword =
47 sql_dialect::default_keyword_for_insert::DoesNotSupportDefaultKeyword;
48
49 type BatchInsertSupport = sql_dialect::batch_insert_support::DoesNotSupportBatchInsert;
50
51 type DefaultValueClauseForInsert = sql_dialect::default_value_clause::AnsiDefaultValueClause;
52
53 type EmptyFromClauseSyntax = sql_dialect::from_clause_syntax::AnsiSqlFromClauseSyntax;
54
55 type ExistsSyntax = sql_dialect::exists_syntax::AnsiSqlExistsSyntax;
56
57 type ArrayComparison = sql_dialect::array_comparison::AnsiSqlArrayComparison;
58 type SelectStatementSyntax = FbSelectStatementSyntax;
59}