Fix #105, allow trailing commas in query macros

This commit is contained in:
timmythetiny 2020-02-08 15:24:20 -08:00
parent f8e112f4d9
commit cefd377020
2 changed files with 30 additions and 2 deletions

View File

@ -100,6 +100,13 @@ macro_rules! query (
$crate::sqlx_macros::query!($query, $($args),*);
}
macro_result!($($args),*)
});
($query:literal, $($args:expr),*,) => ({
#[macro_use]
mod _macro_result {
$crate::sqlx_macros::query!($query, $($args),*);
}
macro_result!($($args),*)
})
);
@ -161,6 +168,13 @@ macro_rules! query_file (
$crate::sqlx_macros::query_file!($query, $($args),*);
}
macro_result!($($args),*)
});
($query:literal, $($args:expr),*,) => (#[allow(dead_code)]{
#[macro_use]
mod _macro_result {
$crate::sqlx_macros::query_file!($query, $($args),*);
}
macro_result!($($args),*)
})
);
@ -227,6 +241,13 @@ macro_rules! query_as (
$crate::sqlx_macros::query_as!($out_struct, $query, $($args),*);
}
macro_result!($($args),*)
});
($out_struct:path, $query:literal, $($args:expr),*,) => (#[allow(dead_code)] {
#[macro_use]
mod _macro_result {
$crate::sqlx_macros::query_as!($out_struct, $query, $($args),*);
}
macro_result!($($args),*)
})
);
@ -278,5 +299,12 @@ macro_rules! query_file_as (
$crate::sqlx_macros::query_file_as!($out_struct, $query, $($args),*);
}
macro_result!($($args),*)
});
($out_struct:path, $query:literal, $($args:expr),*,) => (#[allow(dead_code)] {
#[macro_use]
mod _macro_result {
$crate::sqlx_macros::query_file_as!($out_struct, $query, $($args),*);
}
macro_result!($($args),*)
})
);

View File

@ -7,7 +7,7 @@ async fn test_query() -> anyhow::Result<()> {
let account = sqlx::query!(
"SELECT * from (VALUES (1, 'Herp Derpinson')) accounts(id, name) where id = $1",
1i32
1i32,
)
.fetch_one(&mut conn)
.await?;
@ -56,7 +56,7 @@ async fn test_query_as() -> anyhow::Result<()> {
let account = sqlx::query_as!(
Account,
"SELECT * from (VALUES (1, null)) accounts(id, name)"
"SELECT * from (VALUES (1, null)) accounts(id, name)",
)
.fetch_one(&mut conn)
.await?;