-
Notifications
You must be signed in to change notification settings - Fork 7
Description
While using client library (0.8.11) I encountered few issues:
- DML Skyhash list - produces illegal query
- DDL Alter model - fails to change type or alter more than one field
DML Skyhash list problem
Have this space and model.
CREATE SPACE spc
CREATE MODEL spc.mdl( id: string, null name: string, null field_u8: uint8, components_str: list {type: string }, width_u32: uint32, null height_u32: uint32 )
Query 1 - fails with Err(109) - using macro constructor
let y = vec!["five","six","seven","eight"]; let query_one = skytable::query!( "insert into spc.mdl(?, ?, ?,?,?,?)", "identifier", "another name", 25u8,QList::new(&y),100u32,200u32);
Query 2 - fails with Err(28) - using struct constructor
let x = vec!["one","two","three","four"]; let mut query_two = Query::new( r#"insert into spc.mdl {id: ?, name: ?, field_u8: ?, components_str: ?, width_u32: ?,height_u32: ?,}"#); query_two .push_param("identifier") .push_param("another name") .push_param(25u8) .push_param(QList::new(&x)) .push_param(100u32) .push_param(200u32);
Query 3 - fails with Err(26) - struct constructor with raw query
let query_three = Query::new("insert into spc.mdl('identifier', 'another name', 25, ['nine','ten'],100,200)");
Any of this queries in "raw" construction will work in skysh, but fail in client. Looking at library, maybe has something to do with [query.rs:382] LIST_SYM_OPEN: u8 = 0x07;
DDL Alter model
- Setting
nullable
generally works but changing type throws 105 or 106 - modifying more than 1 field at once results in error, same commands will run individually in
skysh