Size: a a a

2016 April 15

AS

Andrew Statsenko in Tarantool
подскажите, плз, правильную сигнатуру C функции, которую надо вставлять через box.schema.func.create(‘proc_name’. {language = ‘C’ }) ? и какие параметры она получит ?
источник

RT

Roman Tsisyk in Tarantool
ща
источник

AS

Andrew Statsenko in Tarantool
получит ‘ща’ ? лещща ? ;-)
источник

RT

Roman Tsisyk in Tarantool
источник

AS

Andrew Statsenko in Tarantool
const char *args, const char *args_end - начало и конец msgpack буфера ?
источник

RT

Roman Tsisyk in Tarantool
источник

AS

Andrew Statsenko in Tarantool
а.. вижу. спасибо !
источник

RT

Roman Tsisyk in Tarantool
да, начало и конец
источник

RT

Roman Tsisyk in Tarantool
там array
источник

RT

Roman Tsisyk in Tarantool
тоже самое, что клиент по проткоорлу передает
источник

RT

Roman Tsisyk in Tarantool
[arg1, arg2, arg3, ... ]
источник

RT

Roman Tsisyk in Tarantool
там почти всё API принимает начало и конец msgpack
источник

RT

Roman Tsisyk in Tarantool
возвращаемый msgpack 100% валидный
источник

RT

Roman Tsisyk in Tarantool
можно декодировать без проверки длины и т.п.
источник

RT

Roman Tsisyk in Tarantool
ну короче mp_decode в msgpuck, в других реализациях поди нет такого
источник

RT

Roman Tsisyk in Tarantool
box_return_tuple на самом деле там можно сколько угодно раз звать, оно добавляет в некий список возвращаемые значения, которые потом пойдут на клиент
источник

AS

Andrew Statsenko in Tarantool
а в box.schema.func.create('function1.args', {language = "C"})
как int args(…) мапится на 'function1.args' ?
источник

RT

Roman Tsisyk in Tarantool
ищется function1.so по package.cpath, далее в нем вызвается args
источник

AS

Andrew Statsenko in Tarantool
ага, спасибо.
источник

AS

Andrew Statsenko in Tarantool
источник