From 09ba9554275b7ae04adc07427149d8a979bd3a54 Mon Sep 17 00:00:00 2001 From: gaojun Date: Wed, 2 Mar 2022 11:09:51 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0udf=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- datafusion/src/plugin/udf.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/datafusion/src/plugin/udf.rs b/datafusion/src/plugin/udf.rs index 7f223ee69570..0c61fc2b35b9 100644 --- a/datafusion/src/plugin/udf.rs +++ b/datafusion/src/plugin/udf.rs @@ -70,7 +70,9 @@ impl PluginRegistrar for UDFPluginManager { .unwrap() .iter() .try_for_each(|udf_name| { + println!("udf_name: {}", udf_name); if self.scalar_udfs.contains_key(udf_name) { + println!("udf_name exists"); Err(DataFusionError::IoError(io::Error::new( io::ErrorKind::Other, format!("udf name: {} already exists", udf_name), @@ -88,7 +90,9 @@ impl PluginRegistrar for UDFPluginManager { .unwrap() .iter() .try_for_each(|udaf_name| { + println!("udaf_name: {}", udaf_name); if self.aggregate_udfs.contains_key(udaf_name) { + println!("udaf_name exists"); Err(DataFusionError::IoError(io::Error::new( io::ErrorKind::Other, format!("udaf name: {} already exists", udaf_name), From 12220a6cfdcd85bf5f86f84548587ebe819fbba5 Mon Sep 17 00:00:00 2001 From: gaojun Date: Wed, 2 Mar 2022 13:30:15 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E6=9B=B4=E5=A4=9A?= =?UTF-8?q?=E7=9A=84=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- datafusion/src/plugin/plugin_manager.rs | 4 +++- datafusion/src/plugin/udf.rs | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/datafusion/src/plugin/plugin_manager.rs b/datafusion/src/plugin/plugin_manager.rs index 764e94157a00..f40fd3f33769 100644 --- a/datafusion/src/plugin/plugin_manager.rs +++ b/datafusion/src/plugin/plugin_manager.rs @@ -67,6 +67,7 @@ impl GlobalPluginManager { let plugin_files = self.get_all_plugin_files(plugin_path)?; for plugin_file in plugin_files { + println!("load library :{}", plugin_file.path().to_str().unwrap()); let library = Library::new(plugin_file.path()).map_err(|e| { DataFusionError::IoError(io::Error::new( io::ErrorKind::Other, @@ -90,9 +91,10 @@ impl GlobalPluginManager { // ersion checks to prevent accidental ABI incompatibilities if dec.rustc_version != RUSTC_VERSION || dec.core_version != CORE_VERSION { + println!("Version mismatch rustc_version:{}, core_version:{}", RUSTC_VERSION, CORE_VERSION); return Err(DataFusionError::IoError(io::Error::new( io::ErrorKind::Other, - "Version mismatch", + format!("Version mismatch rustc_version:{}, core_version:{}", RUSTC_VERSION, CORE_VERSION), ))); } diff --git a/datafusion/src/plugin/udf.rs b/datafusion/src/plugin/udf.rs index 0c61fc2b35b9..2b87daa34ac5 100644 --- a/datafusion/src/plugin/udf.rs +++ b/datafusion/src/plugin/udf.rs @@ -63,7 +63,7 @@ impl PluginRegistrar for UDFPluginManager { format!("not found fn registrar_udf_plugin in the library: {}", e), )) })?; - + println!("1111111111111111111111"); let udf_plugin: Box = register_fun(); udf_plugin .udf_names() @@ -128,6 +128,7 @@ macro_rules! declare_udf_plugin { // make sure the constructor is the correct type. let constructor: fn() -> $curr_plugin_type = $constructor; let object = constructor(); + println!("I be called"); Box::new(object) } From b18398cd4d00406d6e35a7cc5bdc2d14db2e68e6 Mon Sep 17 00:00:00 2001 From: gaojun Date: Wed, 2 Mar 2022 13:46:20 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=8F=92=E4=BB=B6?= =?UTF-8?q?=E5=8A=A0=E8=BD=BD=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- datafusion/src/plugin/plugin_manager.rs | 9 +-------- datafusion/src/plugin/udf.rs | 3 --- 2 files changed, 1 insertion(+), 11 deletions(-) diff --git a/datafusion/src/plugin/plugin_manager.rs b/datafusion/src/plugin/plugin_manager.rs index f40fd3f33769..2a56908ba3bd 100644 --- a/datafusion/src/plugin/plugin_manager.rs +++ b/datafusion/src/plugin/plugin_manager.rs @@ -62,12 +62,10 @@ impl GlobalPluginManager { } // find library file from udaf_plugin_path info!("load plugin from dir:{}", plugin_path); - println!("load plugin from dir:{}", plugin_path); let plugin_files = self.get_all_plugin_files(plugin_path)?; for plugin_file in plugin_files { - println!("load library :{}", plugin_file.path().to_str().unwrap()); let library = Library::new(plugin_file.path()).map_err(|e| { DataFusionError::IoError(io::Error::new( io::ErrorKind::Other, @@ -83,7 +81,7 @@ impl GlobalPluginManager { "not found plugin_declaration in the library: {}", plugin_file.path().to_str().unwrap() ); - return Ok(()); + continue; } let dec = dec.unwrap().read(); @@ -91,7 +89,6 @@ impl GlobalPluginManager { // ersion checks to prevent accidental ABI incompatibilities if dec.rustc_version != RUSTC_VERSION || dec.core_version != CORE_VERSION { - println!("Version mismatch rustc_version:{}, core_version:{}", RUSTC_VERSION, CORE_VERSION); return Err(DataFusionError::IoError(io::Error::new( io::ErrorKind::Other, format!("Version mismatch rustc_version:{}, core_version:{}", RUSTC_VERSION, CORE_VERSION), @@ -140,10 +137,6 @@ impl GlobalPluginManager { "load plugin from library file:{}", item.path().to_str().unwrap() ); - println!( - "load plugin from library file:{}", - item.path().to_str().unwrap() - ); return Some(item); } } diff --git a/datafusion/src/plugin/udf.rs b/datafusion/src/plugin/udf.rs index 2b87daa34ac5..0a6ed9d6784e 100644 --- a/datafusion/src/plugin/udf.rs +++ b/datafusion/src/plugin/udf.rs @@ -63,7 +63,6 @@ impl PluginRegistrar for UDFPluginManager { format!("not found fn registrar_udf_plugin in the library: {}", e), )) })?; - println!("1111111111111111111111"); let udf_plugin: Box = register_fun(); udf_plugin .udf_names() @@ -72,7 +71,6 @@ impl PluginRegistrar for UDFPluginManager { .try_for_each(|udf_name| { println!("udf_name: {}", udf_name); if self.scalar_udfs.contains_key(udf_name) { - println!("udf_name exists"); Err(DataFusionError::IoError(io::Error::new( io::ErrorKind::Other, format!("udf name: {} already exists", udf_name), @@ -92,7 +90,6 @@ impl PluginRegistrar for UDFPluginManager { .try_for_each(|udaf_name| { println!("udaf_name: {}", udaf_name); if self.aggregate_udfs.contains_key(udaf_name) { - println!("udaf_name exists"); Err(DataFusionError::IoError(io::Error::new( io::ErrorKind::Other, format!("udaf name: {} already exists", udaf_name),