mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-16 18:08:21 +00:00
fix(s3select): parse JSON source paths from SQL AST (#5559)
This commit is contained in:
@@ -14,9 +14,28 @@
|
||||
|
||||
use std::collections::VecDeque;
|
||||
|
||||
use datafusion::sql::sqlparser::dialect::Dialect;
|
||||
|
||||
use super::ast::ExtStatement;
|
||||
use crate::QueryResult;
|
||||
|
||||
#[derive(Debug, Default)]
|
||||
pub struct RustFsDialect;
|
||||
|
||||
impl Dialect for RustFsDialect {
|
||||
fn is_identifier_start(&self, ch: char) -> bool {
|
||||
ch.is_alphabetic() || ch == '_' || ch == '#' || ch == '@'
|
||||
}
|
||||
|
||||
fn is_identifier_part(&self, ch: char) -> bool {
|
||||
ch.is_alphabetic() || ch.is_ascii_digit() || ch == '@' || ch == '$' || ch == '#' || ch == '_'
|
||||
}
|
||||
|
||||
fn supports_group_by_expr(&self) -> bool {
|
||||
true
|
||||
}
|
||||
}
|
||||
|
||||
pub trait Parser {
|
||||
fn parse(&self, sql: &str) -> QueryResult<VecDeque<ExtStatement>>;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user