mirror of
https://github.com/launchbadge/sqlx.git
synced 2025-10-02 15:25:32 +00:00
fix: tweak sqlx-core usage in macros after the latest massive refactor
This commit is contained in:
parent
e08f05b879
commit
e8aa127c55
@ -20,7 +20,7 @@ pub struct QueryData<DB: Database> {
|
||||
|
||||
impl<DB: Database> QueryData<DB> {
|
||||
pub async fn from_db(
|
||||
conn: &mut impl Executor<Database = DB>,
|
||||
conn: impl Executor<'_, Database = DB>,
|
||||
query: &str,
|
||||
) -> crate::Result<Self> {
|
||||
Ok(QueryData {
|
||||
|
@ -39,6 +39,7 @@ pub fn expand_input(input: QueryMacroInput) -> crate::Result<TokenStream> {
|
||||
// if `dotenv` wasn't initialized by the above we make sure to do it here
|
||||
match dotenv::var("DATABASE_URL").ok() {
|
||||
Some(db_url) => expand_from_db(input, &db_url),
|
||||
|
||||
#[cfg(feature = "offline")]
|
||||
None => {
|
||||
let data_file_path = std::path::Path::new(&manifest_dir).join("sqlx-data.json");
|
||||
@ -53,11 +54,13 @@ pub fn expand_input(input: QueryMacroInput) -> crate::Result<TokenStream> {
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
#[cfg(not(feature = "offline"))]
|
||||
None => Err("`DATABASE_URL` must be set to use query macros".into()),
|
||||
}
|
||||
}
|
||||
|
||||
#[allow(unused_variables)]
|
||||
fn expand_from_db(input: QueryMacroInput, db_url: &str) -> crate::Result<TokenStream> {
|
||||
let db_url = Url::parse(db_url)?;
|
||||
match db_url.scheme() {
|
||||
@ -156,12 +159,12 @@ where
|
||||
Describe<DB>: DescribeExt,
|
||||
{
|
||||
// validate at the minimum that our args match the query's input parameters
|
||||
if input.arg_names.len() != data.describe.param_types.len() {
|
||||
if input.arg_names.len() != data.describe.params.len() {
|
||||
return Err(syn::Error::new(
|
||||
Span::call_site(),
|
||||
format!(
|
||||
"expected {} parameters, got {}",
|
||||
data.describe.param_types.len(),
|
||||
data.describe.params.len(),
|
||||
input.arg_names.len()
|
||||
),
|
||||
)
|
||||
@ -172,7 +175,7 @@ where
|
||||
|
||||
let query_args = format_ident!("query_args");
|
||||
|
||||
let output = if data.describe.result_columns.is_empty() {
|
||||
let output = if data.describe.columns.is_empty() {
|
||||
let db_path = DB::db_path();
|
||||
let sql = &input.src;
|
||||
|
||||
|
@ -1 +0,0 @@
|
||||
|
@ -1 +0,0 @@
|
||||
|
@ -1 +0,0 @@
|
||||
|
Loading…
x
Reference in New Issue
Block a user