mirror of
https://github.com/launchbadge/sqlx.git
synced 2026-03-13 17:27:50 +00:00
remove re-exports from sqlx-core and let sqlx fully define the module layout
This commit is contained in:
parent
81bf390678
commit
10232a2cdc
@ -3,10 +3,11 @@ use std::future::Future;
|
||||
use futures_core::future::BoxFuture;
|
||||
use futures_core::stream::BoxStream;
|
||||
|
||||
use crate::connection::MaybeOwnedConnection;
|
||||
use crate::connection::{Connect, MaybeOwnedConnection};
|
||||
use crate::database::{Database, HasRow};
|
||||
use crate::executor::Execute;
|
||||
use crate::{Connect, Pool, Row};
|
||||
use crate::pool::Pool;
|
||||
use crate::row::Row;
|
||||
|
||||
/// Represents a result set, which is generated by executing a query against the database.
|
||||
///
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
//! Types for returning SQL type information about queries.
|
||||
|
||||
use crate::Database;
|
||||
use std::fmt::{self, Debug};
|
||||
|
||||
use crate::database::Database;
|
||||
|
||||
/// The return type of [Executor::describe].
|
||||
#[non_exhaustive]
|
||||
pub struct Describe<DB>
|
||||
|
||||
@ -1,3 +1,5 @@
|
||||
//! Core of SQLx, the rust SQL toolkit. Not intended to be used directly.
|
||||
|
||||
#![forbid(unsafe_code)]
|
||||
#![allow(unused)]
|
||||
#![cfg_attr(docsrs, feature(doc_cfg))]
|
||||
@ -9,14 +11,14 @@ pub mod error;
|
||||
#[macro_use]
|
||||
mod io;
|
||||
|
||||
mod connection;
|
||||
mod cursor;
|
||||
pub mod connection;
|
||||
pub mod cursor;
|
||||
pub mod database;
|
||||
|
||||
#[macro_use]
|
||||
mod executor;
|
||||
pub mod executor;
|
||||
|
||||
mod transaction;
|
||||
pub mod transaction;
|
||||
mod url;
|
||||
|
||||
#[doc(hidden)]
|
||||
@ -24,10 +26,7 @@ pub mod runtime;
|
||||
|
||||
#[macro_use]
|
||||
pub mod arguments;
|
||||
|
||||
#[doc(hidden)]
|
||||
pub mod decode;
|
||||
|
||||
pub mod describe;
|
||||
pub mod encode;
|
||||
pub mod pool;
|
||||
@ -49,32 +48,8 @@ pub mod mysql;
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "postgres")))]
|
||||
pub mod postgres;
|
||||
|
||||
pub use database::Database;
|
||||
|
||||
#[doc(inline)]
|
||||
pub use error::{Error, Result};
|
||||
|
||||
pub use connection::{Connect, Connection};
|
||||
pub use cursor::Cursor;
|
||||
pub use executor::{Execute, Executor};
|
||||
pub use transaction::Transaction;
|
||||
|
||||
#[doc(inline)]
|
||||
pub use pool::Pool;
|
||||
|
||||
#[doc(inline)]
|
||||
pub use row::{FromRow, Row};
|
||||
|
||||
#[cfg(feature = "mysql")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "mysql")))]
|
||||
#[doc(inline)]
|
||||
pub use mysql::MySql;
|
||||
|
||||
#[cfg(feature = "postgres")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "postgres")))]
|
||||
#[doc(inline)]
|
||||
pub use postgres::Postgres;
|
||||
|
||||
// Named Lifetimes:
|
||||
// 'c: connection
|
||||
// 'q: query string (and arguments)
|
||||
|
||||
@ -1,11 +1,12 @@
|
||||
use crate::{Connect, Connection, Executor};
|
||||
use futures_core::future::BoxFuture;
|
||||
use std::ops::{Deref, DerefMut};
|
||||
use std::sync::Arc;
|
||||
use std::time::Instant;
|
||||
|
||||
use super::inner::{DecrementSizeGuard, SharedPool};
|
||||
use crate::connection::{Connect, Connection};
|
||||
use crate::describe::Describe;
|
||||
use crate::executor::Executor;
|
||||
|
||||
/// A connection checked out from [`Pool`][crate::Pool].
|
||||
///
|
||||
@ -3,17 +3,14 @@ use std::ops::DerefMut;
|
||||
use futures_core::{future::BoxFuture, stream::BoxStream};
|
||||
use futures_util::StreamExt;
|
||||
|
||||
use crate::{
|
||||
connection::{Connect, Connection},
|
||||
describe::Describe,
|
||||
executor::{Executor, RefExecutor},
|
||||
pool::Pool,
|
||||
Cursor, Database,
|
||||
};
|
||||
|
||||
use super::PoolConnection;
|
||||
use crate::database::HasCursor;
|
||||
use crate::connection::{Connect, Connection};
|
||||
use crate::cursor::Cursor;
|
||||
use crate::database::{Database, HasCursor};
|
||||
use crate::describe::Describe;
|
||||
use crate::executor::Execute;
|
||||
use crate::executor::{Executor, RefExecutor};
|
||||
use crate::pool::Pool;
|
||||
|
||||
impl<'p, C, DB> Executor for &'p Pool<C>
|
||||
where
|
||||
|
||||
@ -16,7 +16,7 @@ use crate::{
|
||||
error::Error,
|
||||
};
|
||||
|
||||
use super::conn::{Floating, Idle, Live};
|
||||
use super::connection::{Floating, Idle, Live};
|
||||
use super::Options;
|
||||
|
||||
pub(super) struct SharedPool<C> {
|
||||
|
||||
@ -7,20 +7,19 @@ use std::{
|
||||
};
|
||||
|
||||
use crate::connection::Connect;
|
||||
use crate::database::Database;
|
||||
use crate::transaction::Transaction;
|
||||
|
||||
use self::inner::SharedPool;
|
||||
use self::options::Options;
|
||||
|
||||
pub use self::conn::PoolConnection;
|
||||
|
||||
mod conn;
|
||||
mod connection;
|
||||
mod executor;
|
||||
mod inner;
|
||||
mod options;
|
||||
|
||||
pub use self::connection::PoolConnection;
|
||||
pub use self::options::Builder;
|
||||
use crate::Database;
|
||||
|
||||
/// A pool of database connections.
|
||||
pub struct Pool<C>(Arc<SharedPool<C>>);
|
||||
|
||||
@ -2,7 +2,7 @@ use std::{marker::PhantomData, time::Duration};
|
||||
|
||||
use super::Pool;
|
||||
use crate::connection::Connect;
|
||||
use crate::Database;
|
||||
use crate::database::Database;
|
||||
|
||||
/// Builder for [Pool].
|
||||
pub struct Builder<C> {
|
||||
|
||||
@ -3,8 +3,8 @@ use byteorder::{ByteOrder, NetworkEndian};
|
||||
use crate::arguments::Arguments;
|
||||
use crate::encode::{Encode, IsNull};
|
||||
use crate::io::BufMut;
|
||||
use crate::postgres::Postgres;
|
||||
use crate::types::Type;
|
||||
use crate::Postgres;
|
||||
|
||||
#[derive(Default)]
|
||||
pub struct PgArguments {
|
||||
|
||||
@ -11,17 +11,17 @@ use futures_util::TryFutureExt;
|
||||
|
||||
use crate::connection::{Connect, Connection};
|
||||
use crate::describe::{Column, Describe};
|
||||
use crate::executor::Executor;
|
||||
use crate::io::{Buf, BufStream, MaybeTlsStream};
|
||||
use crate::postgres::protocol::{
|
||||
self, Authentication, AuthenticationMd5, AuthenticationSasl, Decode, Encode, Message,
|
||||
ParameterDescription, PasswordMessage, RowDescription, StartupMessage, StatementId, Terminate,
|
||||
TypeFormat,
|
||||
};
|
||||
use crate::postgres::sasl;
|
||||
use crate::postgres::stream::PgStream;
|
||||
use crate::postgres::{tls, PgError, PgTypeInfo};
|
||||
use crate::postgres::{sasl, tls, PgError, PgTypeInfo, Postgres};
|
||||
use crate::url::Url;
|
||||
use crate::{Error, Executor, Postgres};
|
||||
use crate::Error;
|
||||
|
||||
/// An asynchronous connection to a [Postgres][super::Postgres] database.
|
||||
///
|
||||
|
||||
@ -11,14 +11,14 @@ use futures_core::stream::BoxStream;
|
||||
|
||||
use crate::connection::{ConnectionSource, MaybeOwnedConnection};
|
||||
use crate::cursor::Cursor;
|
||||
use crate::database::Database;
|
||||
use crate::database::HasRow;
|
||||
use crate::executor::Execute;
|
||||
use crate::pool::{Pool, PoolConnection};
|
||||
use crate::postgres::protocol::{
|
||||
CommandComplete, DataRow, Message, RowDescription, StatementId, TypeFormat,
|
||||
};
|
||||
use crate::postgres::{PgArguments, PgConnection, PgRow};
|
||||
use crate::{Database, Postgres};
|
||||
use crate::postgres::{PgArguments, PgConnection, PgRow, Postgres};
|
||||
use futures_core::Stream;
|
||||
|
||||
pub struct PgCursor<'c, 'q> {
|
||||
|
||||
@ -22,7 +22,7 @@ mod tls;
|
||||
mod types;
|
||||
|
||||
/// An alias for [`Pool`][crate::Pool], specialized for **Postgres**.
|
||||
pub type PgPool = super::Pool<PgConnection>;
|
||||
pub type PgPool = crate::pool::Pool<PgConnection>;
|
||||
|
||||
make_query_as!(PgQueryAs, Postgres, PgRow);
|
||||
impl_map_row_for_row!(Postgres, PgRow);
|
||||
|
||||
@ -2,9 +2,8 @@ use std::fmt::{self, Debug, Display};
|
||||
|
||||
use crate::decode::Decode;
|
||||
use crate::postgres::protocol::TypeId;
|
||||
use crate::postgres::PgValue;
|
||||
use crate::postgres::{PgValue, Postgres};
|
||||
use crate::types::TypeInfo;
|
||||
use crate::Postgres;
|
||||
|
||||
mod bool;
|
||||
mod bytes;
|
||||
|
||||
@ -6,8 +6,9 @@ use crate::encode::Encode;
|
||||
use crate::postgres::protocol::TypeId;
|
||||
use crate::postgres::row::PgValue;
|
||||
use crate::postgres::types::PgTypeInfo;
|
||||
use crate::postgres::Postgres;
|
||||
use crate::types::Type;
|
||||
use crate::{Error, Postgres};
|
||||
use crate::Error;
|
||||
|
||||
impl Type<Postgres> for str {
|
||||
fn type_info() -> PgTypeInfo {
|
||||
|
||||
@ -5,6 +5,7 @@ use std::pin::Pin;
|
||||
use std::task::{Context, Poll};
|
||||
|
||||
use async_stream::try_stream;
|
||||
use futures_core::future::BoxFuture;
|
||||
use futures_core::stream::BoxStream;
|
||||
use futures_core::Stream;
|
||||
use futures_util::future::ready;
|
||||
@ -18,9 +19,9 @@ use crate::cursor::Cursor;
|
||||
use crate::database::{Database, HasCursor, HasRow};
|
||||
use crate::encode::Encode;
|
||||
use crate::executor::{Execute, Executor, RefExecutor};
|
||||
use crate::row::FromRow;
|
||||
use crate::types::Type;
|
||||
use crate::{Error, FromRow};
|
||||
use futures_core::future::BoxFuture;
|
||||
use crate::Error;
|
||||
|
||||
/// Raw SQL query with bind parameters. Returned by [`query`][crate::query::query].
|
||||
pub struct Query<'q, DB, A = <DB as Database>::Arguments>
|
||||
|
||||
@ -3,11 +3,11 @@ use std::ops::{Deref, DerefMut};
|
||||
use futures_core::future::BoxFuture;
|
||||
|
||||
use crate::connection::Connection;
|
||||
use crate::database::Database;
|
||||
use crate::database::HasCursor;
|
||||
use crate::describe::Describe;
|
||||
use crate::executor::{Execute, Executor};
|
||||
use crate::runtime::spawn;
|
||||
use crate::Database;
|
||||
|
||||
// Transaction<PoolConnection<PgConnection>>
|
||||
// Transaction<PgConnection>
|
||||
|
||||
@ -2,7 +2,7 @@
|
||||
|
||||
use std::fmt::{Debug, Display};
|
||||
|
||||
use crate::Database;
|
||||
use crate::database::Database;
|
||||
|
||||
#[cfg(feature = "uuid")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "uuid")))]
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
use sqlx::Database;
|
||||
use sqlx::database::Database;
|
||||
|
||||
#[derive(PartialEq, Eq)]
|
||||
#[allow(dead_code)]
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
impl_database_ext! {
|
||||
sqlx::MySql {
|
||||
sqlx::mysql::MySql {
|
||||
u8,
|
||||
u16,
|
||||
u32,
|
||||
|
||||
@ -1,5 +1,5 @@
|
||||
impl_database_ext! {
|
||||
sqlx::Postgres {
|
||||
sqlx::postgres::Postgres {
|
||||
bool,
|
||||
String,
|
||||
i16,
|
||||
|
||||
@ -59,7 +59,7 @@ macro_rules! async_macro (
|
||||
};
|
||||
|
||||
let res: Result<proc_macro2::TokenStream> = block_on(async {
|
||||
use sqlx::Connect;
|
||||
use sqlx::connection::Connect;
|
||||
|
||||
let db_url = Url::parse(&dotenv::var("DATABASE_URL").map_err(|_| "DATABASE_URL not set")?)?;
|
||||
|
||||
|
||||
@ -11,8 +11,8 @@ use syn::{ExprGroup, Token};
|
||||
|
||||
use quote::{format_ident, ToTokens};
|
||||
|
||||
use sqlx::connection::Connection;
|
||||
use sqlx::describe::Describe;
|
||||
use sqlx::Connection;
|
||||
|
||||
/// Macro input shared by `query!()` and `query_file!()`
|
||||
pub struct QueryMacroInput {
|
||||
|
||||
@ -8,8 +8,8 @@ pub use query::expand_query;
|
||||
|
||||
use crate::database::DatabaseExt;
|
||||
|
||||
use sqlx::Connection;
|
||||
use sqlx::Database;
|
||||
use sqlx::connection::Connection;
|
||||
use sqlx::database::Database;
|
||||
|
||||
mod args;
|
||||
mod input;
|
||||
|
||||
@ -56,7 +56,7 @@ pub fn quote_query_as<DB: DatabaseExt>(
|
||||
|
||||
quote! {
|
||||
sqlx::query::<#db_path>(#sql).bind_all(#bind_args).map(|row: #row_path| {
|
||||
use sqlx::row::Row as _;
|
||||
use sqlx::Row as _;
|
||||
use sqlx::result_ext::ResultExt as _;
|
||||
|
||||
Ok(#out_ty { #(#instantiations),* })
|
||||
|
||||
@ -5,7 +5,7 @@ use proc_macro2::TokenStream;
|
||||
use syn::{Ident, Path};
|
||||
|
||||
use quote::{format_ident, quote};
|
||||
use sqlx::{Connection, Database};
|
||||
use sqlx::{connection::Connection, database::Database};
|
||||
|
||||
use super::{args, output, QueryMacroInput};
|
||||
use crate::database::DatabaseExt;
|
||||
|
||||
34
src/lib.rs
34
src/lib.rs
@ -7,18 +7,20 @@ compile_error!("one of 'runtime-async-std' or 'runtime-tokio' features must be e
|
||||
#[cfg(all(feature = "runtime-tokio", feature = "runtime-async-std"))]
|
||||
compile_error!("only one of 'runtime-async-std' or 'runtime-tokio' features must be enabled");
|
||||
|
||||
// Modules
|
||||
pub use sqlx_core::{arguments, describe, error, pool, row, types};
|
||||
|
||||
// Types
|
||||
pub use sqlx_core::{
|
||||
Connect, Connection, Cursor, Error, Execute, Executor, FromRow, Pool, Result, Row,
|
||||
Transaction
|
||||
};
|
||||
|
||||
pub use sqlx_core::database::{Database, HasCursor, HasRawValue, HasRow};
|
||||
pub use sqlx_core::describe;
|
||||
pub use sqlx_core::executor::Executor;
|
||||
pub use sqlx_core::pool::{self, Pool};
|
||||
pub use sqlx_core::query::{self, query, Query};
|
||||
pub use sqlx_core::query_as::{query_as, QueryAs};
|
||||
pub use sqlx_core::row::{FromRow, Row};
|
||||
pub use sqlx_core::transaction::Transaction;
|
||||
|
||||
#[doc(inline)]
|
||||
pub use sqlx_core::types::{self, Type};
|
||||
|
||||
#[doc(inline)]
|
||||
pub use sqlx_core::error::{self, Error, Result};
|
||||
|
||||
#[cfg(feature = "mysql")]
|
||||
#[cfg_attr(docsrs, doc(cfg(feature = "mysql")))]
|
||||
@ -59,13 +61,13 @@ pub mod decode {
|
||||
}
|
||||
|
||||
pub mod prelude {
|
||||
pub use super::Connect as _;
|
||||
pub use super::Connection as _;
|
||||
pub use super::Cursor as _;
|
||||
pub use super::Executor as _;
|
||||
pub use super::FromRow as _;
|
||||
pub use super::Row as _;
|
||||
pub use super::Connect;
|
||||
pub use super::Connection;
|
||||
pub use super::Cursor;
|
||||
pub use super::Executor;
|
||||
pub use super::FromRow;
|
||||
pub use super::Row;
|
||||
|
||||
#[cfg(feature = "postgres")]
|
||||
pub use super::postgres::PgQueryAs as _;
|
||||
pub use super::postgres::PgQueryAs;
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user