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
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
[]
= "odbc-api"
= "10.0.0"
= ["Markus Klein"]
= "2021"
= "MIT"
= "https://github.com/pacman82/odbc-api"
= "https://docs.rs/odbc-api/"
# A short blurb about the package. This is not rendered in any format when
# uploaded to crates.io (aka this is not markdown).
= "Write ODBC Applications in (mostly) safe Rust."
# This is a list of up to five keywords that describe this crate. Keywords
# are searchable on crates.io, and you may choose any words that would
# help someone find this crate.
= ["odbc", "database", "sql"]
# This is a list of up to five categories where this crate would fit.
# Categories are a fixed list available at crates.io/category_slugs, and
# they must match exactly.
= ["api-bindings", "database"]
# This points to a file under the package root (relative to this `Cargo.toml`).
# The contents of this file are stored and indexed in the registry.
# crates.io will render this file and place the result on the crate's page.
= "../Readme.md"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[]
# Use narrow function calls.
#
# Many functions which accept string arguments in the ODBC C API come in two different flavours. For
# example `SQLConnect` and `SQLConnectW`. The former are called narrow function calls and the latter
# are called wide. They differ in the type they used to encode characters (`u8` vs `u16`). Sadly
# narrow may not always be assumed to be UTF-8 as it is dependend on the system locale which is
# usually not UTF-8 on windows system. The wide function calls could be relied upon to always be
# UTF-16 on any platform, but do not seem to work well with iodbc and are less battle tested with
# Linux versions of ODBC drivers.
#
# Currently this library uses wide function call on windows systems by default. On non windows
# systems however narrow function calls are used. Enabling this feature will cause the use of
# the narrow function calls even on windows system. One reason to do so, would be e.g. you know your
# program is running on a windows system with an UTF-8 locale, and trust the driver to handle UTF-8
# appropriatly. If both `narrow` and `wide` work, `narrow` usually is faster and needs less encoding
# and decoding between string representations.
#
# Note that this is the encoding used for statement text and other string arguments, yet not for the
# payload of VARCHAR columns, or other column types in the result set. This can be choosen at
# runtime by the application.
=[]
# Use wide function calls.
#
# See the documentation of `narrow` feature above for more information. Enabling this feature will
# trigger the use of `wide` function calls, even on "non-windows" platforms. If both `narrow` and
# `wide` are enabled, `wide` takes precedence.
=[]
# `odbc-api` uses ODBC 3.80 by default, which is well supported both in windows and on linux through
# `UnixODBC`. Yet iodbc, for now does only support ODBC 3.5, so you can set this flag in order to
# include only symbols available in ODBC 3.5 and create an environment which declares the ODBC
# version to be 3.0 which works together with the iodbc driver manager. If you want to use ODBC 3.5
# please take care to deactivate default features to not have the ODBC version 3.80 feature active
# at the same time.
= ["odbc-sys/odbc_version_3_50"]
# The ODBC version your application should declare if it runs on windows, or on linux using
# UnixOdbc.
= ["odbc-sys/odbc_version_3_80"]
# In order to work with iodbc we need to only use symbols defined in ODBC 3.5. We need to use
# narrow function calls and preferale link against `libiodbc.so` instead of `libodbc.so`.
= ["odbc_version_3_5", "narrow", "odbc-sys/iodbc"]
# Allows deriving custom implementations of `FetchRow` for row wise bulk fetching.
= ["dep:odbc-api-derive"]
=["odbc_version_3_80"]
[]
# Low level bindings to ODBC API calls into libodbc.so
= { = ">= 0.22, < 0.25", = false }
# Used to generate code for the error type
= "2.0.3"
# Used as a log frontend to emit log messages for applications
= "0.4.22"
# Interacting with UTF-16 texts for wide columns or wide function calls
= "1.1.0"
= "2.0.0"
={ = "9.0.1", = "../derive", = true}
[]
# We use winit to display dialogs prompting for connection strings. We can deactivate default
# features since it can work only on windows and therfore we do not need any dependencies
# associated with various window managers.
= { = "0.30.5", = false, = ["rwh_06"]}
[]
= "0.11.5"
= "1.0.93"
= "1.3.1"
= "3.3.1"
= "3.14.0"
= { = "0.5.1", = ["html_reports"] }
= { = "1.41.1", = ["rt", "macros", "time"] }
= "0.3.3" # Used for function_name macro to generate unique table names for tests
[[]]
= "benches"
= false