Taehoon Moon
Taehoon Moon
sqlparser-rs v0.11 now supports nested map access. ref. https://github.com/sqlparser-rs/sqlparser-rs/pull/356 e.g. ```sql SELECT a["b"]["c"][0]["d"]["abc"] FROM TableA; ``` SQL query like above is now accepted by the parser. This issue is to...
Let's have transaction queries for MemoryStorage. :) MemoryStorage is a very tiny in-memory storage implementation. Unlike SledStorage, we don't need to care concurrent scenario for MemoryStorage because it only runs...
https://github.com/gluesql/gluesql/blob/86d5078f9e766a3465577c035b690e964712580f/src/executor/evaluate/evaluated.rs#L33-L42 There exists some inappropriate use case of `TryInto for Evaluated`. `eval_to_str`, `eval_to_float` and `eval_to_integer` closures in `evaluate_function - executor/evaluate module` are not supposed to use `TryInto`. They need direct...
Current ```rust pub type RowIter = Box; ``` Planning to change ```rust pub type RowIter; ``` ref. https://github.com/gluesql/gluesql/pull/331 Then, we don't need to evaluate rows fetched in `MemoryStorage` `scan_data` implementation.
A time-travel query returns data as it appeared at a specific time. e.g. ```sql SELECT * FROM TableA AS OF SYSTEM TIME '-10s' ``` Thanks to snapshot based structure, it...
Current transaction isolation level of `SledStorage` is SNAPSHOT ISOLATION or REPEATABLE READ. It is not safe from phantom read concurrent conflict cases. `SledStorage` only allows a single writer at the...
Rather than `col("id").not()`, it would be better to use different name for `UnaryOperator::Not` in this case. How about `negate`? e.g. `col("id").negate()` This is only for `ExprNode::not` function. ref. https://github.com/gluesql/gluesql/blob/06ba99eabcf38662c4fe85946b700a0f22b57b05/core/src/ast_builder/expr/unary_op.rs#L10-L13 Using...
may be good to work on this after finishing https://github.com/gluesql/gluesql/issues/768 ### issue proposal Add a pre-processing layer to query planner which converts all `Expr::Identifier` to `Expr::AliasedIdentifier`. Then, update `check_evaluable` module...
In `core/src/executor/context/`, there exists two contexts which have slightly different roles - `BlendContext` and `FilterContext`. * `FilterContext` ```rust #[derive(Debug)] enum Content { content: Content>>, next2: Option { table_alias: &'a str,...
ref. https://github.com/sqlparser-rs/sqlparser-rs/blob/a50671d95d34688529fbc3d4452bec164ff21497/src/ast/mod.rs#L340C8-L344 ```rust JsonAccess { left: Box, operator: JsonOperator, right: Box, }, ``` sqlparser-rs supports`Expr::JsonAccess` but we filter out in our translate layer. We can add this support for our...