sqlx-core 0.6.3

Core of SQLx, the rust SQL toolkit. Not intended to be used directly.
Documentation
[package]
name = "sqlx-core"
version = "0.6.3"
repository = "https://github.com/launchbadge/sqlx"
description = "Core of SQLx, the rust SQL toolkit. Not intended to be used directly."
license = "MIT OR Apache-2.0"
edition = "2021"
authors = [
    "Ryan Leckey <leckey.ryan@gmail.com>",
    "Austin Bonander <austin.bonander@gmail.com>",
    "Chloe Ross <orangesnowfox@gmail.com>",
    "Daniel Akhterov <akhterovd@gmail.com>",
]

[package.metadata.docs.rs]
features = ["all-databases", "all-types", "offline", "runtime-tokio-native-tls"]

[features]
default = ["migrate"]
migrate = ["sha2", "crc"]

# databases
all-databases = ["postgres", "mysql", "sqlite", "mssql", "any"]
postgres = [
    "md-5",
    "sha2",
    "base64",
    "sha1",
    "rand",
    "hmac",
    "futures-channel/sink",
    "futures-util/sink",
    "json",
    "dirs",
    "whoami",
    "hkdf"
]
mysql = [
    "sha1",
    "sha2",
    "generic-array",
    "num-bigint",
    "digest",
    "rand",
    "rsa",
]
sqlite = ["libsqlite3-sys", "futures-executor", "flume"]
mssql = ["uuid", "encoding_rs", "regex"]
any = []

# types
all-types = [
    "chrono",
    "time",
    "bigdecimal",
    "decimal",
    "ipnetwork",
    "mac_address",
    "json",
    "uuid",
    "bit-vec",
]
bigdecimal = ["bigdecimal_", "num-bigint"]
decimal = ["rust_decimal", "num-bigint"]
json = ["serde", "serde_json"]

# runtimes
runtime-actix-native-tls = ["runtime-tokio-native-tls"]
runtime-async-std-native-tls = [
    "sqlx-rt/runtime-async-std-native-tls",
    "sqlx/runtime-async-std-native-tls",
    "_tls-native-tls",
    "_rt-async-std",
]
runtime-tokio-native-tls = [
    "sqlx-rt/runtime-tokio-native-tls",
    "sqlx/runtime-tokio-native-tls",
    "_tls-native-tls",
    "_rt-tokio",
]

runtime-actix-rustls = ['runtime-tokio-rustls']
runtime-async-std-rustls = [
    "sqlx-rt/runtime-async-std-rustls",
    "sqlx/runtime-async-std-rustls",
    "_tls-rustls",
    "_rt-async-std",
]
runtime-tokio-rustls = [
    "sqlx-rt/runtime-tokio-rustls",
    "sqlx/runtime-tokio-rustls",
    "_tls-rustls",
    "_rt-tokio"
]

# for conditional compilation
_rt-async-std = []
_rt-tokio = ["tokio-stream"]
_tls-native-tls = []
_tls-rustls = ["rustls", "rustls-pemfile", "webpki-roots"]

# support offline/decoupled building (enables serialization of `Describe`)
offline = ["serde", "either/serde"]

[dependencies]
paste = "1.0.6"
ahash = "0.7.6"
atoi = "1.0"
sqlx-rt = { path = "../sqlx-rt", version = "0.6.3" }
base64 = { version = "0.13.0", default-features = false, optional = true, features = ["std"] }
bigdecimal_ = { version = "0.3.0", optional = true, package = "bigdecimal" }
rust_decimal = { version = "1.19.0", optional = true }
bit-vec = { version = "0.6.3", optional = true }
bitflags = { version = "1.3.2", default-features = false }
bytes = "1.1.0"
byteorder = { version = "1.4.3", default-features = false, features = ["std"] }
chrono = { version = "0.4.19", default-features = false, features = ["clock"], optional = true }
crc = { version = "3", optional = true }
crossbeam-queue = "0.3.2"
digest = { version = "0.10.0", default-features = false, optional = true, features = ["std"] }
dirs = { version = "4.0.0", optional = true }
encoding_rs = { version = "0.8.30", optional = true }
either = "1.6.1"
futures-channel = { version = "0.3.19", default-features = false, features = ["sink", "alloc", "std"] }
futures-core = { version = "0.3.19", default-features = false }
futures-intrusive = "0.4.0"
futures-util = { version = "0.3.19", default-features = false, features = ["alloc", "sink"] }
# used by the SQLite worker thread to block on the async mutex that locks the database handle
futures-executor = { version = "0.3.19", optional = true }
flume = { version = "0.10.9", optional = true, default-features = false, features = ["async"] }
generic-array = { version = "0.14.4", default-features = false, optional = true }
hex = "0.4.3"
hmac = { version = "0.12.0", default-features = false, optional = true }
itoa = "1.0.1"
ipnetwork = { version = "0.19.0", default-features = false, optional = true }
mac_address = { version = "1.1.2", default-features = false, optional = true }
libc = "0.2.112"
libsqlite3-sys = { version = "0.24.1", optional = true, default-features = false, features = [
    "pkg-config",
    "vcpkg",
    "bundled",
    "unlock_notify"
] }
log = { version = "0.4.14", default-features = false }
md-5 = { version = "0.10.0", default-features = false, optional = true }
memchr = { version = "2.4.1", default-features = false }
num-bigint = { version = "0.4.0", default-features = false, optional = true, features = ["std"] }
once_cell = "1.9.0"
percent-encoding = "2.1.0"
rand = { version = "0.8.4", default-features = false, optional = true, features = ["std", "std_rng"] }
regex = { version = "1.5.5", optional = true }
rsa = { version = "0.6.0", optional = true }
rustls = { version = "0.20.1", features = ["dangerous_configuration"], optional = true }
rustls-pemfile = { version = "1.0", optional = true }
serde = { version = "1.0.132", features = ["derive", "rc"], optional = true }
serde_json = { version = "1.0.73", features = ["raw_value"], optional = true }
sha1 = { version = "0.10.1", default-features = false, optional = true }
sha2 = { version = "0.10.0", default-features = false, optional = true }
sqlformat = "0.2.0"
thiserror = "1.0.30"
time = { version = "0.3.2", features = ["macros", "formatting", "parsing"], optional = true }
tokio-stream = { version = "0.1.8", features = ["fs"], optional = true }
smallvec = "1.7.0"
url = { version = "2.2.2", default-features = false }
uuid = { version = "1.0", default-features = false, optional = true, features = ["std"] }
webpki-roots = { version = "0.22.0", optional = true }
whoami = { version = "1.2.1", optional = true }
stringprep = "0.1.2"
bstr = { version = "0.2.17", default-features = false, features = ["std"], optional = true }
git2 = { version = "0.14", default-features = false, optional = true }
hashlink = "0.8.0"
# NOTE: *must* remain below 1.7.0 to allow users to avoid the `ahash` cyclic dependency problem by pinning the version
# https://github.com/tkaitchuck/aHash/issues/95#issuecomment-874150078
indexmap = "1.6.0"
hkdf = { version = "0.12.0", optional = true }
event-listener = "2.5.2"

dotenvy = "0.15"

[dev-dependencies]
sqlx = { version = "0.6.3", path = "..", features = ["postgres", "sqlite", "mysql"] }
tokio = { version = "1", features = ["rt"] }