Skip to content

Commit

Permalink
Merge pull request #2483 from HTGAzureX1212/nightly
Browse files Browse the repository at this point in the history
Update SQL Parsing
  • Loading branch information
HTGAzureX1212 authored Dec 29, 2024
2 parents f1b36fe + f02c64f commit eb33c1e
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 5 deletions.
2 changes: 1 addition & 1 deletion database/hartex-database-typedsql/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ where
.collect::<HashMap<_, _>>();

let _ = query::read_queries(queries_dir.as_ref())?
.map(|info| query::parse_query(info, schemas.clone()))
.map(|info| query::parse_query(&info, schemas.clone()))
.filter_map(Result::ok)
.collect::<Vec<_>>();

Expand Down
2 changes: 1 addition & 1 deletion database/hartex-database-typedsql/src/query/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ pub(crate) fn read_queries(dir: &Path) -> crate::error::Result<impl Iterator<Ite
}

pub(crate) fn parse_query(
query_info: RawQueryInfo,
query_info: &RawQueryInfo,
schema_map: HashMap<String, SchemaInfo>,
) -> crate::error::Result<QueryInfo> {
let result = pg_query::parse(query_info.contents.as_str())?;
Expand Down
9 changes: 6 additions & 3 deletions database/hartex-database-typedsql/src/query/select.rs
Original file line number Diff line number Diff line change
Expand Up @@ -74,10 +74,13 @@ pub(crate) fn parse_select_query(
}

fn parse_select_target(fields: Vec<Vec<Node>>) -> crate::error::Result<SelectTarget> {
let _ = fields.first().ok_or(crate::error::Error::QueryFile(
let first = fields.first().ok_or(crate::error::Error::QueryFile(
"expected at least one node in select target",
))?;

// panic!("{fields:?}");
Ok(SelectTarget::Everything)
if let Some(Node::AStar(_)) = first.first() && first.len() == 1 {
return Ok(SelectTarget::Everything);
}

Err(crate::error::Error::QueryFile("unsupported select target (yet)"))
}

0 comments on commit eb33c1e

Please sign in to comment.