Make rusqlite-macros optional

This commit is contained in:
gwenn
2023-06-10 12:05:55 +02:00
parent f0670ccadd
commit 7594711721
4 changed files with 9 additions and 12 deletions

View File

@@ -12,5 +12,5 @@ categories = ["database"]
proc-macro = true
[dependencies]
sqlite3-parser = { version = "0.7.0", default-features = false, features = ["YYNOERRORRECOVERY"] }
fallible-iterator = "0.2"
sqlite3-parser = { version = "0.9", default-features = false, features = ["YYNOERRORRECOVERY"] }
fallible-iterator = "0.3"

View File

@@ -17,7 +17,6 @@ pub fn __bind(input: TokenStream) -> TokenStream {
type Result<T> = std::result::Result<T, String>;
fn try_bind(input: TokenStream) -> Result<TokenStream> {
//eprintln!("INPUT: {:#?}", input);
let (stmt, literal) = {
let mut iter = input.clone().into_iter();
let stmt = iter.next().unwrap();
@@ -35,7 +34,6 @@ fn try_bind(input: TokenStream) -> Result<TokenStream> {
return Err("expected a plain string literal".to_string());
}
let sql = strip_matches(&sql, "\"");
//eprintln!("SQL: {}", sql);
let mut parser = Parser::new(sql.as_bytes());
let ast = match parser.next() {
@@ -52,8 +50,6 @@ fn try_bind(input: TokenStream) -> Result<TokenStream> {
if info.count == 0 {
return Ok(input);
}
//eprintln!("ParameterInfo.count: {:#?}", info.count);
//eprintln!("ParameterInfo.names: {:#?}", info.names);
if info.count as usize != info.names.len() {
return Err("Mixing named and numbered parameters is not supported.".to_string());
}
@@ -61,7 +57,6 @@ fn try_bind(input: TokenStream) -> Result<TokenStream> {
let call_site = literal.span();
let mut res = TokenStream::new();
for (i, name) in info.names.iter().enumerate() {
//eprintln!("(i: {}, name: {})", i + 1, &name[1..]);
res.extend(Some(stmt.clone()));
res.extend(respan(
parse_ts(&format!(