feat: add build() function to return the database build info (#2919)

* feat: add build function and register it

build() function to return the database build info #2909

* refactor: fix typos and change code structure

* test: add test for build()

* refactor: cargo fmt and eliminate warnings

* Apply suggestions from code review

Co-authored-by: Weny Xu <wenymedia@gmail.com>

* refactor: move system.sql to a new directory

---------

Co-authored-by: Weny Xu <wenymedia@gmail.com>
This commit is contained in:
Yue Deng
2023-12-13 17:02:00 +08:00
committed by GitHub
parent fec3fcf4ef
commit 3d651522c2
30 changed files with 187 additions and 41 deletions

View File

@@ -21,7 +21,8 @@ use std::task::{Context, Poll};
use async_trait::async_trait;
use common_error::ext::BoxedError;
use common_function::scalars::{Function, FUNCTION_REGISTRY};
use common_function::function::Function;
use common_function::function_registry::FUNCTION_REGISTRY;
use common_query::error::{PyUdfSnafu, UdfTempRecordBatchSnafu};
use common_query::prelude::Signature;
use common_query::Output;
@@ -150,7 +151,7 @@ impl Function for PyUDF {
fn eval(
&self,
_func_ctx: common_function::scalars::function::FunctionContext,
_func_ctx: common_function::function::FunctionContext,
columns: &[datatypes::vectors::VectorRef],
) -> common_query::error::Result<datatypes::vectors::VectorRef> {
// FIXME(discord9): exec_parsed require a RecordBatch(basically a Vector+Schema), where schema can't pop out from nowhere, right?

View File

@@ -14,7 +14,8 @@
use std::sync::Arc;
use common_function::scalars::{FunctionRef, FUNCTION_REGISTRY};
use common_function::function::FunctionRef;
use common_function::function_registry::FUNCTION_REGISTRY;
use datafusion::arrow::array::{ArrayRef, NullArray};
use datafusion::physical_plan::expressions;
use datafusion_expr::ColumnarValue;

View File

@@ -288,9 +288,9 @@ pub(crate) mod greptime_builtin {
use std::sync::Arc;
use arrow::compute::kernels::{aggregate, boolean};
use common_function::scalars::function::FunctionContext;
use common_function::function::{Function, FunctionContext, FunctionRef};
use common_function::function_registry::FUNCTION_REGISTRY;
use common_function::scalars::math::PowFunction;
use common_function::scalars::{Function, FunctionRef, FUNCTION_REGISTRY};
use datafusion::arrow::datatypes::DataType as ArrowDataType;
use datafusion::dataframe::DataFrame as DfDataFrame;
use datafusion::physical_plan::expressions;