GlueSQL is quite sticky. It attaches to anywhere.
INDEX
supportNow GlueSQL support index!
You can manipulate indexes using CREATE INDEX
and DROP INDEX
queries.
Newly added query planner is not that smart enough for now, and it only supports single-expression index.
- This kind of multi-expr index is not supported, yet.
CREATE INDEX idx_test ON TableA (id ASC), (name DESC);
For more details, you can look around index integration tests in here - INDEX - integration tests
ORDER BY
supportSorting by multiple expressions and both ascending & descending orders are all supported.
With the feature index
, ORDER BY
clause can be also indexed.
ORDER BY
support for non-indexed expressions are supported by optional feature sorter
and it is enabled by default.
If you consider to use GlueSQL for big data analysis purpose, then it would be better to turn off sorter
feature which requires evaluation of all fetched rows for non-indexed ORDER BY
clauses.
SELECT * FROM TableA ORDER BY id;
SELECT * FROM TableA ORDER BY id ASC, name DESC;
SELECT * FROM TableA ORDER BY id || name DESC, name;
...
New data types! - DATE
, TIMESTAMP
, TIME
and INTERVAL
cargo bench
from GitHub Action @panarch (#188)Value
is simplified and now it only has 5 types.
No more Empty
and Opt-
prefixed types.
pub enum Value {
Bool(bool),
I64(i64),
F64(f64),
Str(String),
Null,
}
execute.rs
@KyGost (#167)Value::from_data_type
, merge to TryFromLiteral
trait for Value
@panarch (#181)enum Literal
, it replaces ast::Value
@panarch (#180)Value::clone_by
, replace to Value::TryFrom
@panarch (#172)Evaluated
enumCow
to Evaluate
, remove -Ref types @panarch (#179)EvaluatedRef
to clean Evaluated
binary operation codes @panarch (#177)Evaluated::StringRef
, @panarch (#176)AstValue
to Literal
, @panarch (#170)