Size: a a a

2020 August 28

ОБ

Олег Бабин in Tarantool
Marat.k
vshard-a нет в официальных сборках, а так-то docker интересно, конечно
источник

VS

Vadim Shadrin in Tarantool
Дорое утро!
источник

VS

Vadim Shadrin in Tarantool
function photo.get_photos_for_likes_test(user_id, users)

 sql = [[SELECT up."user_id",
                up."photo_id",
                up."photo",
                up."likes",
                ui."name",
                ui."age",
                ui."city",
                ui."last_visit",
                us."photos" AS "count_photo"
         FROM  "users_photos" AS up
         LEFT JOIN "users_info" AS ui ON up."user_id" = ui."user_id"
         LEFT JOIN "users_stats" AS us ON us."user_id" = ui."user_id"
         WHERE up."user_id" IN
       (
         SELECT u."user_id" FROM "users" AS u
         WHERE u."user_id" IN ((?))
         AND u."state"  = 1
       )
       AND up."photo_id" NOT IN (SELECT "photo_id" FROM "users_photos" WHERE "user_id" = (?));]]

 p = box.prepare(sql)
 result = p:execute({users, user_id})
 p:unprepare()
 return result
end
источник

VS

Vadim Shadrin in Tarantool
Передаю в IN  список строкой '44, 46, 47, 54, 56'
источник

VS

Vadim Shadrin in Tarantool
Но почему то не срабатывает
источник

VS

Vadim Shadrin in Tarantool
WHERE u."user_id" IN (44, 46, 47, 54, 56)  а вот так работает
источник

AS

Anatoliy Shipitcyn in Tarantool
Там должен быть список а получается строка получаем WHERE u."user_id" IN ('44, 46, 47, 54, 56')
источник

AS

Anatoliy Shipitcyn in Tarantool
стоит попробовать передавать table
источник

VS

Vadim Shadrin in Tarantool
ЩА ПОПРОБУЮ
источник

VS

Vadim Shadrin in Tarantool
тэйбл тоже не принимает
источник

VS

Vadim Shadrin in Tarantool
sql = [[SELECT up."user_id",
                up."photo_id",
                up."photo",
                up."likes",
                ui."name",
                ui."age",
                ui."city",
                ui."last_visit",
                us."photos" AS "count_photo"
         FROM  "users_photos" AS up
         LEFT JOIN "users_info" AS ui ON up."user_id" = ui."user_id"
         LEFT JOIN "users_stats" AS us ON us."user_id" = ui."user_id"
         WHERE up."user_id" IN
       (
         SELECT u."user_id" FROM "users" AS u
         WHERE u."user_id" IN (]].. users ..[[)
         AND u."state"  = 1
       )
       AND up."photo_id" NOT IN (SELECT "photo_id" FROM "users_photos" WHERE "user_id" = (?));]]
источник

VS

Vadim Shadrin in Tarantool
Так получилось. но как то не по фэншую
источник

EL

Eugene Leonovich in Tarantool
Vadim Shadrin
sql = [[SELECT up."user_id",
                up."photo_id",
                up."photo",
                up."likes",
                ui."name",
                ui."age",
                ui."city",
                ui."last_visit",
                us."photos" AS "count_photo"
         FROM  "users_photos" AS up
         LEFT JOIN "users_info" AS ui ON up."user_id" = ui."user_id"
         LEFT JOIN "users_stats" AS us ON us."user_id" = ui."user_id"
         WHERE up."user_id" IN
       (
         SELECT u."user_id" FROM "users" AS u
         WHERE u."user_id" IN (]].. users ..[[)
         AND u."state"  = 1
       )
       AND up."photo_id" NOT IN (SELECT "photo_id" FROM "users_photos" WHERE "user_id" = (?));]]
чтоб передать список параметров в IN() через бинд, вам нужно задавать плейсхолдеры и их количество явно - IN (?, ?, ?) и только потом биндить значения. Тарантул тут не исключение, все остальные db api работают так же
источник

OK

Oleg Koshovetc in Tarantool
а вам точно нужен SQL?...
источник

VS

Vadim Shadrin in Tarantool
Понятно
источник

VS

Vadim Shadrin in Tarantool
Хочу сджоинить таблицу из MYSQL c Таблицей из  тарантула. Запрос к мускулю хочу положитть во временну таблику в тарантуле и сделать JOIN  Или смысла нет ? проще в цикле соединить ?
источник

M

Marat.k in Tarantool
О, отлично, спасибо!
источник

AP

Andrey Privalov in Tarantool
Цитата История о том, как мы начали работать с хранилищем на Tarantool. - еще историю успеха подвезли на хабр?)
источник

DS

Dmitry Sharonov in Tarantool
где?
источник

AP

Andrey Privalov in Tarantool
источник