mirror of
https://github.com/OMGeeky/google_bigquery_v2.git
synced 2025-12-26 16:17:24 +01:00
add feature flag to switch between log and tracing
This commit is contained in:
1553
Cargo.lock
generated
1553
Cargo.lock
generated
File diff suppressed because it is too large
Load Diff
12
Cargo.toml
12
Cargo.toml
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "google_bigquery_v2"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
@@ -11,7 +11,15 @@ serde_json = "1.0.95"
|
||||
tokio = "1.0.2"
|
||||
google_bigquery_v2_derive = { version = "0.0.1", path = "./google_bigquery_v2_derive" }
|
||||
chrono = "0.4.24"
|
||||
log = "0.4.17"
|
||||
nameof = "1.2.2"
|
||||
env_logger = "0.10.0"
|
||||
async-trait = "0.1.68"
|
||||
|
||||
|
||||
|
||||
log = { version = "0.4" }
|
||||
tracing = { version = "0.1", optional = true }
|
||||
|
||||
[features]
|
||||
default = []
|
||||
tracing = ["dep:tracing"]
|
||||
|
||||
@@ -88,7 +88,7 @@ fn implement_get_all_params(ast: &DeriveInput, table_ident: &Ident) -> TokenStre
|
||||
|
||||
quote::quote! {
|
||||
fn get_all_params(&self) -> google_bigquery_v2::prelude::Result<Vec<Option<google_bigquery_v2::data::QueryParameter>>> {
|
||||
google_bigquery_v2::re_exports::log::trace!("get_all_params() self:{:?}", self);
|
||||
google_bigquery_v2::prelude::trace!("get_all_params() self:{:?}", self);
|
||||
Ok(vec![
|
||||
#(#fields),*
|
||||
])
|
||||
@@ -112,7 +112,7 @@ fn implement_get_parameter_from_field(ast: &DeriveInput, table_ident: &Ident) ->
|
||||
|
||||
quote::quote! {
|
||||
fn get_parameter_from_field(&self, field_name: &str) -> google_bigquery_v2::prelude::Result<Option<google_bigquery_v2::data::QueryParameter>> {
|
||||
google_bigquery_v2::re_exports::log::trace!("get_parameter_from_field(); field_name: '{}' self:{:?}", field_name, self);
|
||||
google_bigquery_v2::prelude::trace!("get_parameter_from_field(); field_name: '{}' self:{:?}", field_name, self);
|
||||
match field_name {
|
||||
#(#fields)*
|
||||
_ => Err(format!("Field {} not found", field_name).into()),
|
||||
@@ -127,7 +127,7 @@ fn implement_get_client(client_field: &Field) -> TokenStream {
|
||||
let client_ident = client_field.field_ident.clone();
|
||||
quote::quote! {
|
||||
fn get_client(&self) -> &BigqueryClient {
|
||||
google_bigquery_v2::re_exports::log::trace!("get_client() self={:?}", self);
|
||||
google_bigquery_v2::prelude::trace!("get_client() self={:?}", self);
|
||||
&self.#client_ident
|
||||
}
|
||||
}
|
||||
@@ -137,7 +137,7 @@ fn implement_set_client(client_field: &Field) -> TokenStream {
|
||||
let client_ident = client_field.field_ident.clone();
|
||||
quote::quote! {
|
||||
fn set_client(&mut self, client: BigqueryClient) {
|
||||
google_bigquery_v2::re_exports::log::trace!("set_client() self={:?}", self);
|
||||
google_bigquery_v2::prelude::trace!("set_client() self={:?}", self);
|
||||
self.#client_ident = client;
|
||||
}
|
||||
}
|
||||
@@ -147,7 +147,7 @@ fn implement_get_pk_field_name(pk_field: &Field) -> TokenStream {
|
||||
let pk_local_name = pk_field.local_name.clone();
|
||||
quote::quote! {
|
||||
fn get_pk_field_name() -> String {
|
||||
google_bigquery_v2::re_exports::log::trace!("get_pk_field_name()");
|
||||
google_bigquery_v2::prelude::trace!("get_pk_field_name()");
|
||||
String::from(#pk_local_name)
|
||||
}
|
||||
}
|
||||
@@ -157,7 +157,7 @@ fn implement_get_pk_db_name(pk_field: &Field) -> TokenStream {
|
||||
let pk_db_name = pk_field.db_name.clone();
|
||||
quote::quote! {
|
||||
fn get_pk_db_name() -> String {
|
||||
google_bigquery_v2::re_exports::log::trace!("get_pk_db_name()");
|
||||
google_bigquery_v2::prelude::trace!("get_pk_db_name()");
|
||||
String::from(#pk_db_name)
|
||||
}
|
||||
}
|
||||
@@ -167,7 +167,7 @@ fn implement_get_pk_value(pk_field: &Field) -> TokenStream {
|
||||
let pk_ident = &pk_field.field_ident;
|
||||
quote::quote! {
|
||||
fn get_pk_value(&self) -> &(dyn google_bigquery_v2::data::param_conversion::BigDataValueType + Send + Sync) {
|
||||
google_bigquery_v2::re_exports::log::trace!("get_pk_value() self={:?}", self);
|
||||
google_bigquery_v2::prelude::trace!("get_pk_value() self={:?}", self);
|
||||
&self.#pk_ident
|
||||
}
|
||||
}
|
||||
@@ -193,7 +193,7 @@ fn implement_get_query_fields(ast: &DeriveInput) -> TokenStream {
|
||||
|
||||
quote::quote! {
|
||||
fn get_query_fields(include_pk: bool) -> std::collections::HashMap<String, String> {
|
||||
google_bigquery_v2::re_exports::log::trace!("get_query_fields() include_pk={}", include_pk);
|
||||
google_bigquery_v2::prelude::trace!("get_query_fields() include_pk={}", include_pk);
|
||||
let mut map = std::collections::HashMap::new();
|
||||
if(include_pk) {
|
||||
#pk_insert
|
||||
@@ -207,7 +207,7 @@ fn implement_get_query_fields(ast: &DeriveInput) -> TokenStream {
|
||||
fn implement_impl_get_table_name(table_name: &String) -> TokenStream {
|
||||
quote::quote! {
|
||||
fn get_table_name() -> String {
|
||||
google_bigquery_v2::re_exports::log::trace!("get_table_name()");
|
||||
google_bigquery_v2::prelude::trace!("get_table_name()");
|
||||
String::from(#table_name)
|
||||
}
|
||||
}
|
||||
@@ -227,7 +227,7 @@ fn implement_set_field_value(ast: &DeriveInput) -> TokenStream {
|
||||
|
||||
quote::quote! {
|
||||
fn set_field_value(&mut self, field_name: &str, value: &google_bigquery_v2::re_exports::serde_json::Value) -> Result<()>{
|
||||
google_bigquery_v2::re_exports::log::trace!("set_field_value() self={:?} field_name={} value={:?}", self, field_name, value);
|
||||
google_bigquery_v2::prelude::trace!("set_field_value() self={:?} field_name={} value={:?}", self, field_name, value);
|
||||
use google_bigquery_v2::data::param_conversion::ConvertBigQueryParams;
|
||||
match field_name {
|
||||
#(#fields)*
|
||||
@@ -250,7 +250,7 @@ fn implement_get_field_value(ast: &DeriveInput) -> TokenStream {
|
||||
|
||||
quote::quote! {
|
||||
fn get_field_value(&self, field_name: &str) -> Result<google_bigquery_v2::re_exports::serde_json::Value> {
|
||||
google_bigquery_v2::re_exports::log::trace!("get_field_value() self={:?} field_name={}", self, field_name);
|
||||
google_bigquery_v2::prelude::trace!("get_field_value() self={:?} field_name={}", self, field_name);
|
||||
use google_bigquery_v2::data::param_conversion::ConvertBigQueryParams;
|
||||
match field_name {
|
||||
#(#fields)*
|
||||
@@ -278,7 +278,7 @@ fn implement_from_query_result_row(ast: &DeriveInput) -> TokenStream {
|
||||
row: &std::collections::HashMap<String, google_bigquery_v2::re_exports::serde_json::Value>,
|
||||
) -> Result<Self>
|
||||
where Self: Sized {
|
||||
google_bigquery_v2::re_exports::log::trace!("new_from_query_result_row() client={:?} row={:?}", client, row);
|
||||
google_bigquery_v2::prelude::trace!("new_from_query_result_row() client={:?} row={:?}", client, row);
|
||||
use google_bigquery_v2::data::param_conversion::ConvertBigQueryParams;
|
||||
let result = Self{
|
||||
#client_ident: client,
|
||||
@@ -296,7 +296,7 @@ fn implement_reload(pk_field: &Field) -> TokenStream {
|
||||
where
|
||||
Self: Sized + Send + Sync,
|
||||
{
|
||||
google_bigquery_v2::re_exports::log::trace!("reload()");
|
||||
google_bigquery_v2::prelude::trace!("reload()");
|
||||
let value = &self.#pk_value;//TODO: this is the problem!. it just does not want to work
|
||||
Self::get_by_pk(self.get_client().clone(), value).await.map(|mut t| {
|
||||
*self = t;
|
||||
|
||||
@@ -5,7 +5,7 @@ use std::marker::PhantomData;
|
||||
use google_bigquery2::api::{
|
||||
QueryParameter, QueryParameterType, QueryParameterValue, QueryRequest,
|
||||
};
|
||||
use log::{debug, trace};
|
||||
use crate::prelude::*;
|
||||
use serde_json::Value;
|
||||
|
||||
use crate::client::BigqueryClient;
|
||||
|
||||
@@ -4,8 +4,7 @@ use std::fmt::Debug;
|
||||
use async_trait::async_trait;
|
||||
pub use google_bigquery2::api::QueryParameter;
|
||||
pub use google_bigquery2::api::{QueryParameterType, QueryParameterValue};
|
||||
use log::debug;
|
||||
use log::trace;
|
||||
use crate::prelude::*;
|
||||
use serde_json::Value;
|
||||
|
||||
use crate::client::BigqueryClient;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
use std::fmt::Debug;
|
||||
|
||||
use chrono::{NaiveDateTime, Utc};
|
||||
use log::{trace, warn};
|
||||
use crate::prelude::*;
|
||||
use serde_json::{value, Value};
|
||||
|
||||
use crate::prelude::*;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
use log::warn;
|
||||
use crate::prelude::*;
|
||||
use std::fmt::{Debug, Display};
|
||||
|
||||
use serde_json::Value;
|
||||
|
||||
@@ -5,7 +5,7 @@ use std::marker::PhantomData;
|
||||
|
||||
use google_bigquery2::api::{ErrorProto, QueryParameter, QueryRequest};
|
||||
use google_bigquery2::hyper::{Body, Response};
|
||||
use log::{debug, trace};
|
||||
use crate::prelude::*;
|
||||
use serde_json::Value;
|
||||
|
||||
use crate::data::param_conversion::BigDataValueType;
|
||||
@@ -201,7 +201,7 @@ impl<Table: BigQueryTable, UnknownQueryType, Client, QueryBuilt, StartingData>
|
||||
fn get_sorted_selected_fields(&self) -> Vec<(String, String)> {
|
||||
trace!("get_sorted_selected_fields()");
|
||||
let mut fields: Vec<(String, String)> = Table::get_query_fields(true).into_iter().collect();
|
||||
log::debug!("fields: {:?}", fields);
|
||||
debug!("fields: {:?}", fields);
|
||||
fields.sort();
|
||||
fields
|
||||
}
|
||||
@@ -460,7 +460,7 @@ impl<Table: BigQueryTable + Default + Debug>
|
||||
trace!("build_query: insert: {:?}", self);
|
||||
let table_identifier = Table::get_table_identifier_from_client(&self.client.0);
|
||||
let params = &self.params;
|
||||
log::warn!("params are not used in insert query: {:?}", params);
|
||||
warn!("params are not used in insert query: {:?}", params);
|
||||
self.add_params_for_table_query_fields()?;
|
||||
let fields = self.get_fields_string();
|
||||
let values = self.get_values_params_string()?;
|
||||
@@ -552,7 +552,7 @@ impl<Table: BigQueryTable + Default + Debug>
|
||||
}
|
||||
let where_clause = self.build_where_string();
|
||||
let params = &self.params;
|
||||
log::warn!("params are not used in update query: {:?}", params);
|
||||
warn!("params are not used in update query: {:?}", params);
|
||||
self.add_params_for_table_query_fields()?;
|
||||
let fields_str = self.build_update_fields_string()?;
|
||||
|
||||
|
||||
@@ -4,3 +4,10 @@ pub use crate::client::BigqueryClient;
|
||||
pub use crate::data::{BigQueryTable, BigQueryTableBase, OrderDirection};
|
||||
|
||||
pub type Result<T> = std::result::Result<T, Box<dyn std::error::Error + Send + Sync>>;
|
||||
|
||||
#[cfg(not(feature = "tracing"))]
|
||||
pub use log::{trace, info, warn, error, debug};
|
||||
#[cfg(feature = "tracing")]
|
||||
pub use tracing::{trace, info, warn, error, debug};
|
||||
|
||||
pub use log::LevelFilter;
|
||||
@@ -1,4 +1,4 @@
|
||||
use log::{debug, info, LevelFilter};
|
||||
use crate::prelude::*;
|
||||
use nameof::name_of;
|
||||
|
||||
use google_bigquery_v2::data::query_builder::QueryResultType;
|
||||
|
||||
Reference in New Issue
Block a user