Size: a a a

2020 November 11

NM

Nikita Makarov in Tarantool
Alexey Kuzin
Если что, вы можете хранить в спейсе таблицы, а не жисоны
Как раз потом на полученный объект используем space:frommap и тут как раз по формату спейса получаем nil, как я понимаю
источник

NM

Nikita Makarov in Tarantool
Anatoliy Shipitcyn
только через json schema
Можно ссылочку на пример?
источник

AS

Anatoliy Shipitcyn in Tarantool
Nikita Makarov
Можно ссылочку на пример?
источник

AS

Anatoliy Shipitcyn in Tarantool
Мы долго боролись чтобы уйти от xml и валидации через xsd. А теперь прикручиваем тоже самое к json
источник

AS

Anatoliy Shipitcyn in Tarantool
источник

MA

Mons Anderson in Tarantool
Вообще странно ожидать другого поведения от языка, в котором нет разницы между double и integer. для Для Lua это всё number (до 2^52)
источник

MA

Mons Anderson in Tarantool
10.0 == 10
источник

ОБ

Олег Бабин in Tarantool
Mons Anderson
Вообще странно ожидать другого поведения от языка, в котором нет разницы между double и integer. для Для Lua это всё number (до 2^52)
Тип-то есть
tarantool> box.space.test.index[0].parts[1]
---
- type: double
 is_nullable: false
 fieldno: 1
...

tarantool> box.space.test:replace{1.0}
---
- error: 'Tuple field 1 type does not match one required by operation: expected double'
...

tarantool> box.space.test:replace{ffi.cast('double', 1)}
---
- [1]
...
источник

MA

Mons Anderson in Tarantool
Олег Бабин
Тип-то есть
tarantool> box.space.test.index[0].parts[1]
---
- type: double
 is_nullable: false
 fieldno: 1
...

tarantool> box.space.test:replace{1.0}
---
- error: 'Tuple field 1 type does not match one required by operation: expected double'
...

tarantool> box.space.test:replace{ffi.cast('double', 1)}
---
- [1]
...
Это не тип языка
источник

IM

Igor Munkin in Tarantool
Mons Anderson
Это не тип языка
Я запомнил :)
источник

MA

Mons Anderson in Tarantool
Igor Munkin
Я запомнил :)
А с тобой я буду по другому говорить :)
источник

IM

Igor Munkin in Tarantool
Mons Anderson
А с тобой я буду по другому говорить :)
Главное, чтобы это максимально активно транслировалось здесь. А с тобой мы можем говорить вечно :)
источник

A

Andrew in Tarantool
как проверить что space существует?
box.space[space_name]:get(key)
вываливается ошибка если space_name нет
источник

MA

Mons Anderson in Tarantool
if box.space[space_name] then
источник

MA

Mons Anderson in Tarantool
ну или if box.space.space_name, если выражение константное
источник

N

Nikolay in Tarantool
Andrei 🦉 Sergeev
попробуйте вот так
result := []interface{}{models.User{}, map[string]interface{}{}}
err = conn.CallAsync("box.execute", []interface{}{"SELECT * FROM USERS WHERE ID=11"}).GetTyped(&result)
 if err != nil {
   fmt.Println(err)
 }
Возвращаюсь к теме. Не прокатило так.
Написал функцию на LUA которая выполняет SQL и возвращает res.rows (без метадата)
Получаю такой интерфейс:
[[1 0 dmassltssev@mai.ru $2a$04$6X.Zlq0Dt.FyD4swXccHfeyTzMWUevrMmnlzS4kcQCCrtpgrIXAJO testSEttings]]
При замене интерфейса, на структуру:

type User struct {
ID     uint      json:"id" binding:"required"
TelegramId  int64        json:"telegram_id" binding:"required"
Email       string      json:"email" binding:"required"
Password    string      json:"password" binding:"required"
Settings    string     json:"settings" binding:"required"
}

Результат прежний:
msgpack: invalid code 91 decoding uint64
{0 0   }
источник

AS

Andrei 🦉 Sergeev in Tarantool
Nikolay
Возвращаюсь к теме. Не прокатило так.
Написал функцию на LUA которая выполняет SQL и возвращает res.rows (без метадата)
Получаю такой интерфейс:
[[1 0 dmassltssev@mai.ru $2a$04$6X.Zlq0Dt.FyD4swXccHfeyTzMWUevrMmnlzS4kcQCCrtpgrIXAJO testSEttings]]
При замене интерфейса, на структуру:

type User struct {
ID     uint      json:"id" binding:"required"
TelegramId  int64        json:"telegram_id" binding:"required"
Email       string      json:"email" binding:"required"
Password    string      json:"password" binding:"required"
Settings    string     json:"settings" binding:"required"
}

Результат прежний:
msgpack: invalid code 91 decoding uint64
{0 0   }
rows - это очевидно массив
источник

AS

Andrei 🦉 Sergeev in Tarantool
соответвественно и декодить его нужно в массив users
источник

N

Nikolay in Tarantool
так я и передаю &[]users
источник

AS

Andrei 🦉 Sergeev in Tarantool
Nikolay
так я и передаю &[]users
в таком случае сделайте декодинг в map[string]interface{}
источник