Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge main to release-v0.13.1 #992

Merged
merged 25 commits into from
Nov 8, 2022

Conversation

devgony
Copy link
Collaborator

@devgony devgony commented Nov 8, 2022

Goal

pre-merging main to release-v0.13.1

Todo

  • merge main to release-v0.13.1
  • handle U16 to Expr
  • fix case from fet_all_schemas to GLUE_OBJECTS due to created time difference

panarch and others added 25 commits October 19, 2022 13:05
Update Cargo.toml, README.md & package.json versions to 0.13.0
Change ExprNode to ExprNode<'a>.
Update ExprNode::Expr to contain Cow<..>.
Apply corresponding changes - mainly updating select nodes to have lifetimes
Set "PRIMARY" as a reserved keyword for index names.
Block use of "PRIMARY" name in create or drop index queries.
enum Evaluated does not need to use Cow for enum Value

from:
pub enum Evaluated<'a> {
    Literal(Literal<'a>),
    Value(Cow<'a, Value>),
}

to:
pub enum Evaluated<'a> {
    Literal(Literal<'a>),
    Value(Value),
}
change return type Result<Value> to Result<Evaluated>

All existing functions operating in evaluate are evaluated by enum Value without having to have an intermediate value, Evaluated. However, if it is used in a future query builder, if it is a chained structure in a function such as a substring that should always hold an intermediate value, an overhead may occur by repeating the clone.
In this case, it can be solved by string slicing to keep the intermediate value. Modify the return values ​​for this structure.
…esql#967)

Update ExprNode & ExprList to accept both String and &str to build ExprNode.
Update ExprList to accept both owned vector and borrowed slice.
Current pkg example uses SledStorage and it leaves data/doc-db data after runs.
This can cause some issues when we do change to the codes which requires migration.
Rather than adding file removal code to lib example, it would be good to simply have minimal example using MemoryStorage.
MemoryStorage does not leave any of persistent data so there cannot be any migration issue.
…luesql#924)

Add `Dictionary::GLUE_OBJECTS` which provides table and index metadata in the entire database.
Support Dictionary::`GLUE_OBJECTS` to serve OBJECT_TYPE, CREATED metadata
Add `created` datetime field to `Schema` and `SchemaIndex`
Change SHOW INDEXES query to use `GLUE_INDEXES`.
Some users need to be able to use the `module_or_path` argument of the function `init` that `wasm-pack` generates. In my case, it enables loading the WASM module in an environment that is neither the browser nor node (edge).
This modification can fix WASM loading issues for other users too.
Add CONCAT_WS function in AST

CONCAT_WS(separator,str1,str2,...)
CONCAT_WS function does skip any NULL values after the separator argument.
Remove `ast::ColumnOptionDef` and make it only use `ast::ColumnOption`
ast::ColumnDef is in the same crate so it is not necessary to expand using extra trait.
Replace ColumnDefExt to use adding direct impl to ast::ColumnDef.
Print results of all Statements including DDL and TCL
It would be helpful to watch the progress of executing lots of sqls in file.
@devgony devgony self-assigned this Nov 8, 2022
@devgony devgony changed the title Merge release-v0.13.1 to main Merge main to release-v0.13.1 Nov 8, 2022
Copy link
Member

@panarch panarch left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot!

@panarch panarch merged commit 685ab8f into gluesql:release-v0.13.1 Nov 8, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants