diff --git a/Cargo.toml b/Cargo.toml index 817673235..b518d20fa 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -3,7 +3,7 @@ members = [".", "sea-query-derive"] [package] name = "sea-query" -version = "1.0.0-rc.28" +version = "1.0.0-rc.29" authors = [ "Chris Tsang ", "Billy Chan ", @@ -56,6 +56,7 @@ audit = [] backend-mysql = [] backend-postgres = [] backend-sqlite = [] +backend-cockroach = [] default = ["derive", "audit", "backend-mysql", "backend-postgres", "backend-sqlite", "itoa"] derive = ["sea-query-derive"] attr = ["sea-query-derive"] @@ -97,6 +98,7 @@ all-features = [ "backend-mysql", "backend-postgres", "backend-sqlite", + "backend-cockroach", "derive", "hashable-value", "serde", diff --git a/src/backend/mod.rs b/src/backend/mod.rs index 21d91030b..60dc84657 100644 --- a/src/backend/mod.rs +++ b/src/backend/mod.rs @@ -20,6 +20,16 @@ pub use postgres::*; #[cfg(feature = "backend-sqlite")] pub use sqlite::*; +/// CockroachDB query builder. +/// +/// CockroachDB is wire-compatible with PostgreSQL, so we use the same query builder. +/// The main difference is that CockroachDB doesn't support the `SERIAL` pseudo-type +/// and requires `GENERATED BY DEFAULT AS IDENTITY` instead, which is the default +/// behavior of [`PostgresQueryBuilder`] when the `option-postgres-use-serial` feature is not enabled. +#[cfg(feature = "backend-cockroach")] +#[cfg_attr(docsrs, doc(cfg(feature = "backend-cockroach")))] +pub use self::postgres::PostgresQueryBuilder as CockroachQueryBuilder; + mod foreign_key_builder; mod index_builder; mod query_builder;