mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-01-15 17:52:57 +00:00
feat: sql dialect for different protocols (#1631)
* feat: add SqlDialect to query context * feat: use session in postgrel handlers * chore: refactor sql dialect * feat: use different dialects for different sql protocols * feat: adds GreptimeDbDialect * refactor: replace GenericDialect with GreptimeDbDialect * feat: save user info to session * fix: compile error * fix: test
This commit is contained in:
@@ -26,7 +26,7 @@ use promql_parser::parser::ast::{Extension as NodeExtension, ExtensionExpr};
|
||||
use promql_parser::parser::Expr::Extension;
|
||||
use promql_parser::parser::{EvalStmt, Expr, ValueType};
|
||||
use snafu::ResultExt;
|
||||
use sql::dialect::GenericDialect;
|
||||
use sql::dialect::GreptimeDbDialect;
|
||||
use sql::parser::ParserContext;
|
||||
use sql::statements::statement::Statement;
|
||||
|
||||
@@ -108,7 +108,7 @@ pub struct QueryLanguageParser {}
|
||||
impl QueryLanguageParser {
|
||||
pub fn parse_sql(sql: &str) -> Result<QueryStatement> {
|
||||
let _timer = timer!(METRIC_PARSE_SQL_ELAPSED);
|
||||
let mut statement = ParserContext::create_with_dialect(sql, &GenericDialect {})
|
||||
let mut statement = ParserContext::create_with_dialect(sql, &GreptimeDbDialect {})
|
||||
.map_err(BoxedError::new)
|
||||
.context(QueryParseSnafu {
|
||||
query: sql.to_string(),
|
||||
|
||||
@@ -20,7 +20,7 @@ use sql::ast::{
|
||||
ColumnDef, ColumnOption, ColumnOptionDef, Expr, ObjectName, SqlOption, TableConstraint,
|
||||
Value as SqlValue,
|
||||
};
|
||||
use sql::dialect::GenericDialect;
|
||||
use sql::dialect::GreptimeDbDialect;
|
||||
use sql::parser::ParserContext;
|
||||
use sql::statements::create::{CreateTable, TIME_INDEX};
|
||||
use sql::statements::{self};
|
||||
@@ -108,7 +108,7 @@ fn create_column_def(column_schema: &ColumnSchema) -> Result<ColumnDef> {
|
||||
.with_context(|_| ConvertSqlValueSnafu { value: v.clone() })?,
|
||||
),
|
||||
ColumnDefaultConstraint::Function(expr) => {
|
||||
ParserContext::parse_function(expr, &GenericDialect {}).context(SqlSnafu)?
|
||||
ParserContext::parse_function(expr, &GreptimeDbDialect {}).context(SqlSnafu)?
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user