1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
//! # Supported types
//!
//! | Rust type | Exasol type |
//! | :------------------------ | :-------------------------------------------- |
//! | `bool` | `BOOLEAN` |
//! | `i8`, `i16`, `i32`, `i64` | `DECIMAL` |
//! | `f64` | `DOUBLE` |
//! | `String`, `&str` | `CHAR(n) ASCII/UTF8`, `VARCHAR(n) ASCII/UTF8` |
//! | `ExaIntervalYearToMonth` | `INTERVAL YEAR TO MONTH` |
//! | `HashType` | `HASHTYPE` |
//! | `Option<T>` | `T` (for any `T` that implements `Type`) |
//!
//! ## `chrono` feature
//!
//! | Rust type | Exasol type |
//! | :---------------------- | :----------------------- |
//! | `chrono::NaiveDate` | `DATE` |
//! | `chrono::NaiveDateTime` | `TIMESTAMP` |
//! | `chrono::TimeDelta` | `INTERVAL DAY TO SECOND` |
//!
//! ## `time` feature
//!
//! | Rust type | Exasol type |
//! | :------------------------ | :----------------------- |
//! | `time::Date` | `DATE` |
//! | `time::PrimitiveDateTime` | `TIMESTAMP` |
//! | `time::Duration` | `INTERVAL DAY TO SECOND` |
//!
//! ## `rust_decimal` feature
//!
//! | Rust type | Exasol type |
//! | :---------------------- | :------------- |
//! | `rust_decimal::Decimal` | `DECIMAL(p,s)` |
//!
//! ## `bigdecimal` feature
//!
//! | Rust type | Exasol type |
//! | :----------------------- | :------------- |
//! | `bigdecimal::BigDecimal` | `DECIMAL(p,s)` |
//!
//! ## `uuid` feature
//!
//! | Rust type | Exasol type |
//! | :----------- | :---------- |
//! | `uuid::Uuid` | `HASHTYPE` |
//!
//! ## `geo-types` feature
//!
//! | Rust type | Exasol type |
//! | :-------------------- | :---------- |
//! | `geo_types::Geometry` | `GEOMETRY` |
//!
//! **Note:** due to a [bug in the Exasol websocket
//! API](httpsf://github.com/exasol/websocket-api/issues/39), `GEOMETRY` can't be used as prepared
//! statement bind parameters. It can, however, be used as a column in a returned result set or with
//! runtime checked queries.
//!
//! ## `json` feature
//!
//! The `json` feature enables `Encode` and `Decode` implementations for `Json<T>`,
//! `serde_json::Value` and `&serde_json::value::RawValue`.
pub use ;
pub use HashType;
pub use ExaIntervalYearToMonth;