/
germanubis
/
sqlx
Обзор
Документация
Войти
/
germanubis
/
sqlx
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
sqlx-sqlite/src/type_checking.rs
56 строк
2 KB
Austin Bonander
feat: create `sqlx.toml` format (#3383)
01 июл 2025, 02:34
Не верифицирован
01 июл 2025, 02:34
25cbeed
Код
Авторство
О чём код?
use crate::Sqlite; #[allow(unused_imports)] use sqlx_core as sqlx; // f32 is not included below as REAL represents a floating point value // stored as an 8-byte IEEE floating point number (i.e. an f64) // For more info see: https://www.sqlite.org/datatype3.html#storage_classes_and_datatypes impl_type_checking!( Sqlite { // Note that since the macro checks `column_type_info == <T>::type_info()` first, // we can list `bool` without it being automatically picked for all integer types // due to its `TypeInfo::compatible()` impl. bool, // Since it returns `DataType::Int4` for `type_info()`, // `i32` should only be chosen IFF the column decltype is `INT4` i32, i64, f64, String, Vec<u8>, #[cfg(feature = "uuid")] sqlx::types::Uuid, }, ParamChecking::Weak, // While there are type integrations that must be enabled via Cargo feature, // SQLite's type system doesn't actually have any type that we cannot decode by default. // // The type integrations simply allow the user to skip some intermediate representation, // which is usually TEXT. feature-types: _info => None, // The expansion of the macro automatically applies the correct feature name // and checks `[macros.preferred-crates]` datetime-types: { chrono: { sqlx::types::chrono::NaiveDate, sqlx::types::chrono::NaiveDateTime, sqlx::types::chrono::DateTime<sqlx::types::chrono::Utc> | sqlx::types::chrono::DateTime<_>, }, time: { sqlx::types::time::OffsetDateTime, sqlx::types::time::PrimitiveDateTime, sqlx::types::time::Date, }, }, numeric-types: { bigdecimal: { }, rust_decimal: { }, }, );