Expand description
A crate with various sql/sqlcipher helpers.
Modules§
Structs§
- Lazily-loaded database with interruption support
- Helper type for printing repeated strings more efficiently. You should use
repeat_display
or one of therepeat_sql_*
helpers to construct it. - rusqlite, in an attempt to save us from ourselves, needs a mutable ref to a connection to start a transaction. That is a bit of a PITA in some cases, so we offer this as an alternative - but the responsibility of ensuring there are no concurrent transactions is on our head.
Enums§
- MaybeCached is a type that can be used to help abstract over cached and uncached rusqlite statements in a transparent manner.
Traits§
- This trait exists so that we can use these helpers on
rusqlite::{Transaction, Connection}
. Note that you must import ConnExt in order to call these methods on anything.
Functions§
- Returns SQLITE_LIMIT_VARIABLE_NUMBER as read from an in-memory connection and cached. connection and cached. That means this will return the wrong value if it’s set to a lower value for a connection using this will return the wrong thing, but doing so is rare enough that we explicitly don’t support it (why would you want to lower this at runtime?).
- Helper for the case where you have a
&[impl ToSql]
of arbitrary length, but need one of no more than the connection’sMAX_VARIABLE_NUMBER
(rather,default_max_variable_number()
). This is useful when performing batched updates. - A version of
each_chunk
for the case when the conversion toto_sql
requires an custom intermediate step. For example, you might want to grab a property off of an array of records - Utility to help perform batched updates, inserts, queries, etc. This is the low-level version of this utility which is wrapped by
each_chunk
andeach_chunk_mapped
, and it allows you to provide both the mapping function, and the chunk size. - In PRAGMA foo=‘bar’,
'bar'
must be a constant string (it cannot be a bound parameter), so we need to escape manually. According to https://www.sqlite.org/faq.html, the only character that must be escaped is the single quote, which is escaped by placing two single quotes in a row. - Construct a RepeatDisplay that will repeatedly call
fmt_one
with a formattercount
times, separated bysep
. - Returns a value that formats as
num_values
instances of(?,?,?,...)
(where there arevars_per_value
question marks separated by commas in between the?
s). - Returns a value that formats as
count
instances of(?)
separated by commas. - Returns a value that formats as
count
instances of?
separated by commas.