@dba_ru

Страница 668 из 718
Fike
25.09.2018
12:04:42
инсерта в инсерт?

Yaroslav
25.09.2018
12:07:40
MIkhail
25.09.2018
12:08:28
Ярослав, если 100500 потоков вызовут это сразу, всё останется консистентно?

не разъедутся переменные в RETURNING по другим потокам?

Google
Fike
25.09.2018
12:08:59
прочитайте про сессии

MIkhail
25.09.2018
12:09:15
ну, в сессии что один поток у вас?

Yaroslav
25.09.2018
12:11:45
Ярослав, если 100500 потоков вызовут это сразу, всё останется консистентно?
Каких таких "потоков" (в Вашем приложении, в смысле)? Можете подробнее? Как Вы с PostgreSQL-то работаете (API)?

MIkhail
25.09.2018
12:12:04
slick, футуры

hikaricp

Yaroslav
25.09.2018
12:14:17
hikaricp
И я сразу ничего не понял (не работал с этим API). ;) Ну а по остальным вопросам? Что за потоки-то? В Вашем приложении? Как они используют connections к PostgreSQL?

MIkhail
25.09.2018
12:16:15
ок

тогда нет вопросов, спасибо

Terminator
25.09.2018
13:10:08
Инна Сухова будет жить. Поприветствуем!

Инна
25.09.2018
13:10:24
Привет!))

Google
Philipp
25.09.2018
13:17:17
Добрый день, ребят. А кто подскажет по MySQL? Вот ситуация, есть таблица контейнеров, грубо говоря (id, name, parent_id) . Я делаю рекурсивную выборку и вот таким запросом: SELECT id, name, parent_id FROM (SELECT * FROM container ORDER BY parent_id , id) cont_sorted, (SELECT @pv:=(SELECT id FROM container WHERE name=0 LIMIT 1)) init WHERE FIND_IN_SET(parent_id, @pv) AND LENGTH(@pv:=CONCAT(@pv, ',', id)); И все бы хорошо, но дело вот в чем, данные: id--------name------parent_id 1---------0-------------null 2---------0-------------1 3---------0-------------1 4---------0-------------3 5---------0-------------2 6---------1------------null 7---------2------------null 8---------3------------5 9---------3------------8 10-------3------------9 Две проблемы, во первых, запрос не отдает исходный контейнер-прародитель, так как у него null в parent_id, а во вторых, как видно, в результат запроса выведутся 8,9 и 10 контейнеры, а я хотел бы из всех контейнеров имеющих в качестве прародителя первый контейнер, но другое имя(в нашем случае '3'), выводить только первый такой контейнер, грубо говоря выставлять для таких LIMIT 1. Такое возможно?

Предполагаю, что надо добавить что-то вроде AND name=0 OR name NOT IN ...

где вместо ... ссылка на уже сделанную выборку, но как сделать эту ссылку, это вопрос

Евгегий
25.09.2018
16:28:26
Всем доброго времени суток.

Вопрос про MySQL работаю с под Ubuntu 18.

Предыстория и вопрос: Я установил локальный веб сервер LAMP. Всё прошло замечательно, вижу в браузере localhost, потом сделал виртуальный хост.. и т.д. еще работает .htaccess директивы выполняет. И пришло время проверки MySQL. Хорошо. ~$ mysql -u root -p просит пороль но я при установки MySQL его не вёл... далее... password оставляю пустым, получаю ошибку ERROR 1698. Далее пишу sudo mysql -u root просит мой пароль, ввёл. всё я в mysql>. Или там например ввёл sudo mysql. И я внутри mysql. Как бы работает...+- Решил попробовать связку PHP и SQL, ну как оно там будет работать. Накидал такой скрипт: <?php $server ='localhost'; $user = 'root'; $password = 'root'; $dblink = mysqli_connect($server, $user, $password); if($dblink) echo 'Соединение установлено:)'; else die('Ошибка подключения:('); ?> Вот выполняю файл php... и в итоге Access denied for user 'root'@'localhost' Как видно доступ запрещен. Я пробывал в переменные $user и $password вводит разные значения и пароль пустым оставлял . Не могу:( я сделать соединения. Может нужно в MySQL создать нового пользователя и предоставить ему привилегии...а? Поделитесь опытом как быть? как сделать чтобы я мог присоеденятся к серверу баз данных. Спасибо.

Vladislav
25.09.2018
16:35:08
создай отдельного пользователя с базой

и туда уже делай коннект

Евгегий
25.09.2018
16:56:21
Спасибо

lost
25.09.2018
16:58:34
И вообще из под срута ходить моветон он как раз и должен быть по хорошему доступен только по сокету с локальной тачки

Terminator
25.09.2018
22:07:06
@gokayburuc будет жить. Поприветствуем!

Ilia
26.09.2018
03:18:32
Добрый день, ребят. А кто подскажет по MySQL? Вот ситуация, есть таблица контейнеров, грубо говоря (id, name, parent_id) . Я делаю рекурсивную выборку и вот таким запросом: SELECT id, name, parent_id FROM (SELECT * FROM container ORDER BY parent_id , id) cont_sorted, (SELECT @pv:=(SELECT id FROM container WHERE name=0 LIMIT 1)) init WHERE FIND_IN_SET(parent_id, @pv) AND LENGTH(@pv:=CONCAT(@pv, ',', id)); И все бы хорошо, но дело вот в чем, данные: id--------name------parent_id 1---------0-------------null 2---------0-------------1 3---------0-------------1 4---------0-------------3 5---------0-------------2 6---------1------------null 7---------2------------null 8---------3------------5 9---------3------------8 10-------3------------9 Две проблемы, во первых, запрос не отдает исходный контейнер-прародитель, так как у него null в parent_id, а во вторых, как видно, в результат запроса выведутся 8,9 и 10 контейнеры, а я хотел бы из всех контейнеров имеющих в качестве прародителя первый контейнер, но другое имя(в нашем случае '3'), выводить только первый такой контейнер, грубо говоря выставлять для таких LIMIT 1. Такое возможно?
Ну нету рекурсивных запросов в MySQL....

Добрый день, ребят. А кто подскажет по MySQL? Вот ситуация, есть таблица контейнеров, грубо говоря (id, name, parent_id) . Я делаю рекурсивную выборку и вот таким запросом: SELECT id, name, parent_id FROM (SELECT * FROM container ORDER BY parent_id , id) cont_sorted, (SELECT @pv:=(SELECT id FROM container WHERE name=0 LIMIT 1)) init WHERE FIND_IN_SET(parent_id, @pv) AND LENGTH(@pv:=CONCAT(@pv, ',', id)); И все бы хорошо, но дело вот в чем, данные: id--------name------parent_id 1---------0-------------null 2---------0-------------1 3---------0-------------1 4---------0-------------3 5---------0-------------2 6---------1------------null 7---------2------------null 8---------3------------5 9---------3------------8 10-------3------------9 Две проблемы, во первых, запрос не отдает исходный контейнер-прародитель, так как у него null в parent_id, а во вторых, как видно, в результат запроса выведутся 8,9 и 10 контейнеры, а я хотел бы из всех контейнеров имеющих в качестве прародителя первый контейнер, но другое имя(в нашем случае '3'), выводить только первый такой контейнер, грубо говоря выставлять для таких LIMIT 1. Такое возможно?
Короче, не делай так. Пиши процедуру, в ну курсоры. Все во временную таблицу, потом из неё наружу результат

Виктор
26.09.2018
03:40:53
Ну нету рекурсивных запросов в MySQL....
Ну смотря какая версия MySql

Al
26.09.2018
03:43:54
Ну смотря какая версия MySql
Споришь с аксакалом? ?

Ilia
26.09.2018
03:59:13
Ну смотря какая версия MySql
А в какой есть? В 10? Я не в курсе. Если есть, то и надо их использовать, а не такую вот фигню городить...

Добрый день, ребят. А кто подскажет по MySQL? Вот ситуация, есть таблица контейнеров, грубо говоря (id, name, parent_id) . Я делаю рекурсивную выборку и вот таким запросом: SELECT id, name, parent_id FROM (SELECT * FROM container ORDER BY parent_id , id) cont_sorted, (SELECT @pv:=(SELECT id FROM container WHERE name=0 LIMIT 1)) init WHERE FIND_IN_SET(parent_id, @pv) AND LENGTH(@pv:=CONCAT(@pv, ',', id)); И все бы хорошо, но дело вот в чем, данные: id--------name------parent_id 1---------0-------------null 2---------0-------------1 3---------0-------------1 4---------0-------------3 5---------0-------------2 6---------1------------null 7---------2------------null 8---------3------------5 9---------3------------8 10-------3------------9 Две проблемы, во первых, запрос не отдает исходный контейнер-прародитель, так как у него null в parent_id, а во вторых, как видно, в результат запроса выведутся 8,9 и 10 контейнеры, а я хотел бы из всех контейнеров имеющих в качестве прародителя первый контейнер, но другое имя(в нашем случае '3'), выводить только первый такой контейнер, грубо говоря выставлять для таких LIMIT 1. Такое возможно?
Альтернативно можно выполнить транзитивное замыкание на дереве и уложить матрицу достижимости в отдельную таблицу, но это не подходит для решения всех задач с деревом.

Виктор
26.09.2018
06:32:59
Google
Philipp
26.09.2018
06:37:37
Придется по каждому слову искать информацию =)

Транзитивное замыкание, матрица достижимости ...

Ilia
26.09.2018
07:28:25
Транзитивное замыкание, матрица достижимости ...
Это только слова страшные, а так там всё просто... http://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=581246&msg=6001318

Terminator
26.09.2018
08:32:08
@Ed_Nal будет жить. Поприветствуем!

Eduard
26.09.2018
08:33:56
Всем утра доброго. Просьба подсказать - можно ли как то сэмулировать работу jbase агента, что бы сторонней программой можно было отвечать вместо БД. Надо для тестирования смежной АС.

Maxim ??
26.09.2018
09:27:44
а что мешает контейнер поднять с базой ?

Eduard
26.09.2018
10:38:51
А СУБД какая?
Я честно говоря могу ошибаться, но JBase это и есть СУБД, а а jbase agent это и приклад на серевере jbase который аккумулирует запросы от клиентов и передает на обработку. Если в чем то не прав поправьте.

Ilia
26.09.2018
10:42:40
Я честно говоря могу ошибаться, но JBase это и есть СУБД, а а jbase agent это и приклад на серевере jbase который аккумулирует запросы от клиентов и передает на обработку. Если в чем то не прав поправьте.
Ну, там вся суть в том, что чтобы налету поток исправлять, нужно знать протокол общения клиента и сервера. Если он известен, то это можно сделать. (хотя сложно ОЧЕНЬ)

Aleksandr
26.09.2018
13:29:00
Нужен совет по версионности в HBase. Есть таблица с версионностью, в нее постоянно льются данных. Нужно делать вставку только если вставляемое значение отличается от щначения последней версии в таблице. Как лучше реализовать? Сейчас новые данные пишу во временную таблицу, а затем сливаю при помощи MapReduce. Рассматривал вариант вставки методом checkAndMutate, но производительность просела на порядки в сравнении с put.

MIkhail
26.09.2018
16:50:16
Коллеги, привет

MIkhail
26.09.2018
16:50:33
подскажите, что это за магические $$ в процедурах PL\PGSQL

?

Yaroslav
26.09.2018
16:51:06
подскажите, что это за магические $$ в процедурах PL\PGSQL
Это dollar quoting. https://www.postgresql.org/docs/current/static/sql-syntax-lexical.html#SQL-SYNTAX-DOLLAR-QUOTING

MIkhail
26.09.2018
16:51:32
ломает мне вызов функции из slick

Admin
ERROR: S client not available

MIkhail
26.09.2018
16:51:55
val sql1 = sqlu""" DO $$ DECLARE suplier_id integer; ... END $$;""" db.run(DBIO.seq(sql1) andThen sql2) возвращает: play.api.http.HttpErrorHandlerExceptions$$anon$1: Execution exception[[PSQLException: ERROR: syntax error at or near "$"

Fike
26.09.2018
16:52:10
проклятый доллар, мало того что россиюшку на колени поставил, так теперь еще функции ломает

MIkhail
26.09.2018
16:52:13
его чем то заменить нельзя же, да?

Google
MIkhail
26.09.2018
16:52:21
ахаха)) смишно))

Fike
26.09.2018
16:57:22
это песо
тако-тако

Yaroslav
26.09.2018
17:07:07
ломает мне вызов функции из slick
А вот этот вот slick (что бы это ни было) нельзя как-то "починить"?

Denis
26.09.2018
17:16:39
Добрый вечер, кто может подcказать? Читаю статью по Closure Table подходу - https://habr.com/post/263629/ и автор предлагает вместо получения структуры и сортировки по ней добавить ParentId (Вариант 2 в статье). В итоге не получается получить сортированное дерево. Может кто помочь/подсказать? Вот тестовый фиддл для удобства http://sqlfiddle.com/#!18/aa6cc/1

MIkhail
26.09.2018
17:22:22
А вот этот вот slick (что бы это ни было) нельзя как-то "починить"?
забил пока, положу в БД хранимку, там ей и место так то

Denis
26.09.2018
17:26:08
видимо я не правильно понял автора, и он намеревался с помощью добавления parentId не вытаскивать из базы уже построенное дерево, а просто оптимизировать запрос, а иерархию строить иными средствами

да

Ilia
26.09.2018
17:28:51
Я не читал эту статью...

Сейчас гляну

видимо я не правильно понял автора, и он намеревался с помощью добавления parentId не вытаскивать из базы уже построенное дерево, а просто оптимизировать запрос, а иерархию строить иными средствами
Последний метод «Closure Table», исходя из наших требований, мог бы стать лучшим выбором, если бы не одно «но» — отсутствие простого способа построить отсортированное дерево из получаемого запросом плоского списка связей. Там явно это написано

Terminator
27.09.2018
10:29:08
Аня будет жить. Поприветствуем!

Catherine
27.09.2018
13:24:56
SELECT [z].[ИД сотрудника], [z].[ИД заказа], [c].[Количество], [s].[Город] FROM [Сотрудники] [s] RIGHT OUTER JOIN [Заказы] [z] ON ([s].[ИД]=[z].[ИД сотрудника]) LEFT OUTER JOIN [Сведения о заказе] [c] ON ([c].[ИД заказа] =[z].[ИД заказа]) GROUP BY [z].[ИД сотрудника], [z].[ИД заказа], [c].[Количество], [s].[Город]

Где я идиот?



Google
Дмитрий
27.09.2018
13:27:10
Какой-то странный sql

Ilia
27.09.2018
13:29:45
Где я идиот?
Ты написал GROUP BY, а должен был написать DISTINCT. Правда, зачем такая хрень -- всё равно непонятно.

Страница 668 из 718