@pgsql

Страница 659 из 1062
Mike Chuguniy
31.01.2018
12:08:16
Даже попытка отформатировать выделение не помогла.

Google
Alex
31.01.2018
12:08:24
на вашем примере WITH something AS ( SELECT a, b, '(' AS c FROM c ) SELECT categoryid, categoryname, categorysystemname FROM ( SELECT nested, CASE -- something here WHEN 1 THEN 'and from' WHEN 3 THEN 'sum(a' ELSE 'or' -- and where ( is it? END FROM ( SELECT * FROM category) AS b WHERE intcategoryid IS NULL AND b.a = 1 AND b.c = 2 AND b.e = 3) AS tmp WHERE intcategoryid IS NULL AND a = 1

Yaroslav
31.01.2018
12:10:06
https://gist.github.com/Komzpa/7b39cc2c9bba3d95c1b279ff53c97f46
Хотя стиль совсем не тот, по крайне мере с виду отформатировано правильно.

Darafei
31.01.2018
12:11:09
ну стиль мой, ловеркейсный воздушный

Yaroslav
31.01.2018
12:11:23
но комментарий не распознался, да
А ведь это —- "сломанный" запрос. :( Ну его нафиг (если это не настраивается).

Darafei
31.01.2018
12:11:53
там в копипасте -- было не заэскейплено

Alex
31.01.2018
12:11:56
А ведь это —- "сломанный" запрос. :( Ну его нафиг (если это не настраивается).
уточняю, при копировании два символа — слились в -

Darafei
31.01.2018
12:11:59
и стало —

Alex
31.01.2018
12:12:07
да, так и случилось

Darafei
31.01.2018
12:12:11
я руками подправил

Alex
31.01.2018
12:12:38
я тоже поправил и всё ок, комментарий распознаётся

Yaroslav
31.01.2018
12:13:34
Alex
31.01.2018
12:13:55
ага, надо было сразу в ` обрамлять

Google
Mike Chuguniy
31.01.2018
12:14:59
У меня sqlparse вот что выдал:



Alex
31.01.2018
12:15:10
Yaroslav
31.01.2018
12:18:42
вот ссылка на гит https://github.com/darold/pgFormatter
Если в on-line demo всё, что он может, то искомый стиль в нём тоже не выйдет настроить... :(

Mike Chuguniy
31.01.2018
12:22:01
У меня sqlparse вот что выдал:
sqlparse - это пакет. Програм - sqlformat: usage: sqlformat [OPTIONS] FILE, ... Format FILE according to OPTIONS. Use "-" as FILE to read from stdin. positional arguments: filename optional arguments: -h, --help show this help message and exit -o FILE, --outfile FILE write output to FILE (defaults to stdout) --version show program's version number and exit Formatting Options: -k CHOICE, --keywords CHOICE change case of keywords, CHOICE is one of "upper", "lower", "capitalize" -i CHOICE, --identifiers CHOICE change case of identifiers, CHOICE is one of "upper", "lower", "capitalize" -l LANG, --language LANG output a snippet in programming language LANG, choices are "python", "php" --strip-comments remove comments -r, --reindent reindent statements --indent_width INDENT_WIDTH indentation width (defaults to 2 spaces) -a, --reindent_aligned reindent statements to aligned format -s, --use_space_around_operators place spaces around mathematical operators --wrap_after WRAP_AFTER Column after which lists should be wrapped --comma_first COMMA_FIRST Insert linebreak before comma (default False) --encoding ENCODING Specify the input encoding (default utf-8)

Кстати, не то ли, что нужно - совсем отдельный команднострочный программ?

Yaroslav
31.01.2018
12:29:04
Кстати, не то ли, что нужно - совсем отдельный команднострочный программ?
Да, но я что-то не вижу, чтобы в коде было хотя бы понятие о "центральной линии" выравнивания (не знаю, как это на "самом деле" называется), которое необходимо (?) для форматирования в моём стиле... Впрочем, perl я помню очень плохо. ;)

Darafei
31.01.2018
12:30:26
river style у меня не прижился, уж очень плохо в нём отступы читаются

Mike Chuguniy
31.01.2018
12:39:33
Кстати, sqlformat (кстати, с чего это perl? он на питоне написан) корректно обработал строку: echo "select a,b,c,d from t where a = 1 and b = 'and from select' order by c desc;"|sqlformat --reindent --keywords upper --identifiers lower - SELECT a, b, c, d FROM t WHERE a = 1 AND b = 'and from select' ORDER BY c DESC;

зато FROM почему-то в начале строки, а не выровнен по правому краю служебных словей.

Александр
31.01.2018
13:35:52
Добрый день! Скажите пожалуйста а в PostgresSQL можно создавать хранимые процедуры, которые возвращают датасеты?

Darafei
31.01.2018
13:36:08
тебе нужны set returning function

Yaroslav
31.01.2018
13:36:23
https://www.postgresql.org/docs/current/static/xfunc-sql.html#XFUNC-SQL-FUNCTIONS-RETURNING-SET

Александр
31.01.2018
13:40:41
насколько я понимаю, (set returning function,RETURNS TABLE / setof record), все это возвращает один набор данных(одну таблицу), а можно как то вернуть две и более таблиц, или я что то не понимаю)

Alexey
31.01.2018
13:47:15
при наличии вот таких дыр в функциональности, люди умудряются писать тулзы типа pgloader для "автоматической миграции" из mysql в postgres. хотя есть куча вещей, которые в принципе в постгресе не во что транслировать. и дальше число таких вещей будет расти

Anton [Mgn, az09@osm]
31.01.2018
13:51:57
С mssql на pg не спрыгнуть точно

Google
Alexey
31.01.2018
13:52:20
А где тут дыра в функциональности-то? Вот многим программистам (и даже математикам) "не жмёт", что функция возвращает только один результат. ;)
еще как жмёт. поэтому есть способы возвращать много результатов. и в программировании, и в математике ;)

Alex
31.01.2018
13:53:14
С mssql на pg не спрыгнуть точно
Какое то голословное утверждение

Anton [Mgn, az09@osm]
31.01.2018
13:54:40
Какое то голословное утверждение
Очень активно пользуемся usp возвращающие несколько результатов

Anton [Mgn, az09@osm]
31.01.2018
13:55:37
Какое то голословное утверждение
Т.е. гипотетически всё переписать можно но практически это неисполнимо)

Александр
31.01.2018
13:56:14
Очень активно пользуемся usp возвращающие несколько результатов
а если вас не затруднит, пример, пожалуйста

Anton [Mgn, az09@osm]
31.01.2018
13:57:25
Практически это _делают_.
Ну пусть. Хотя конечно посмотрел бы примеры. Будут на конфе такие доклады?

а если вас не затруднит, пример, пожалуйста
Всмысле как создать процедуру с несколькими селектами?..

Yaroslav
31.01.2018
13:58:14
еще как жмёт. поэтому есть способы возвращать много результатов. и в программировании, и в математике ;)
Ну вот в PostgreSQL тоже есть. Почему они должны быть такими же, как в [Ваша любимая СУБД]? ;)

Anton [Mgn, az09@osm]
31.01.2018
13:58:32
Синтаксис там как бы элементарный

Yaroslav
31.01.2018
14:00:12
Потому что легаси-велосипед например ))
А почему это должно быть проблемой PostgreSQL? ;)

нет
То есть нам всем кажется, что они работают? ;)

Anton [Mgn, az09@osm]
31.01.2018
14:01:51
А почему это должно быть проблемой PostgreSQL? ;)
Вообще не проблема. Ничья. Но спрыгнуть с сиквела не уговаривайте :-р

Alexey
31.01.2018
14:02:20
То есть нам всем кажется, что они работают? ;)
вам всем кажется, что если мы сейчас все как начнём гнать пургу с таким вот хитрым прищуром, то мы даже убедим друг-друга, что во-первых, проблемы нет. во-вторых её давно исправили, в-третьих в 11-м релизе исправят ещё лучше!

Yaroslav
31.01.2018
14:03:11
Вообще не проблема. Ничья. Но спрыгнуть с сиквела не уговаривайте :-р
Come to our side, we have cookies. ;) И на самом деле, у нас тут много того, чего у Вас нет (ну и наоборот тоже, ясное дело...).

Google
Alexey
31.01.2018
14:05:38
Я не понял, о чём это... Вернуть курсоры можно, это факт. Если это кому-то непривычно... ну и что из того?
перечитайте, пожалуйста то, что я написал по теме. сравните с тем, куда вы пытаетесь вывернуть дискуссию

Yaroslav
31.01.2018
14:07:27
перечитайте, пожалуйста то, что я написал по теме. сравните с тем, куда вы пытаетесь вывернуть дискуссию
Перечитал, сравнил... Что Вас не устраивает? Что автоматическая трансляция невозможна? Ну так это вообще бредовая затея...

Alexey
31.01.2018
14:08:18
wheee, нам не о чем больше спорить! обнимемсо?

Alex
31.01.2018
14:08:49
так, то даже с mysql нативно перетащить проект не всегда получается.

что уж говорить про mssql и oracle

но это вопрос трудозатрат вообщем-то только

Anton [Mgn, az09@osm]
31.01.2018
14:10:36
Смотря для кого, наверное.
Ни для себя как разраба не вижу, ни для ЛПР. Им скорее даже не выгодно. Даже Админ с линуксами и без этого поиграется) В общем не в этом поколении

Anton [Mgn, az09@osm]
31.01.2018
14:12:37
Нативно?! С mysql?! Но зачем?!
Да что вы знаете про энтерпрайз ?

Alex
31.01.2018
14:14:19
В самом деле.

Нативно?! С mysql?! Но зачем?!
я имею ввиду что без допиливаний напильником.

Есть опыт миграций на постгрес с MSSQL / MongoDB / Mysql / Oracle

в самом деле, что я могу знать

Anton [Mgn, az09@osm]
31.01.2018
14:15:56
Ну это же относится только к Вашей ситуации, правильно? А мы её совсем не знаем...
Только один момент. С 2000 сиквела на 2014 мы пересели год назад. Это было большое дело конечно но все равно не повод переписывать весь бэк мидл и фронт согласитесь

Ну пусть. Хотя конечно посмотрел бы примеры. Будут на конфе такие доклады?

Yaroslav
31.01.2018
14:18:10
Google
Anton [Mgn, az09@osm]
31.01.2018
14:21:32
Бывает после очередного вечера проведенного в чатике я утром на работе заявляю "а вот в постгресе...", но на этом всё и заканчивается и мы снова идем валить лес двуручными пилами ))

Alex
31.01.2018
14:22:52
Очень активно пользуемся usp возвращающие несколько результатов
можно вернуть несколько результатов через курсоры. но для этого необходимо пятую точку оторвать и исправить приклад.

не далее пары недель назад эту проблему разрешал - никаких проблем в переносе из mssql в pg. драйвер для dot.net работает не совсем так как с mssql. но это не стоп фактор для миграции

Mike Chuguniy
31.01.2018
14:24:36
я имею ввиду что без допиливаний напильником.
Я просто не могу понять, зачем с мыскля ехать без обработки напильником. Просто так СУБД сменить? Зачем? Я понимаю, когда переезд осознанный, по причине недостаточности нужных возможностей и излишнего нагромождения ненужных. Но в таком случае без напильника - как?! ЗЫ. С мыскля на пг доводилось всякое переносить, да.

Alex
31.01.2018
14:24:37
меня большее позабавило что в MSSQL string_agg появился в 2017 версии

вот чо смешно так смешно

Mike Chuguniy
31.01.2018
14:48:55
Как всегда, потому что это может быть выгодно (TCO).
с мыскля на постгрес и говорить о выгоде?! о_О

Yaroslav
31.01.2018
14:49:36
Mike Chuguniy
31.01.2018
14:53:45
Да мне трудно представить выгоду перехода с одного опенсурса на другой.

Yaroslav
31.01.2018
14:59:35
Да мне трудно представить выгоду перехода с одного опенсурса на другой.
То есть, в переходе с опенсорсного ассемблера на опенсорсный Python выгоды быть не может? ;) Если серьёзно, то общая стоимость владения (влючающая и стоимость разработки и сопровождения, и риски, и т.п.), как я уже писал.

Alexey
31.01.2018
15:01:16
что-то нажористый сегодня день...

Darafei
31.01.2018
15:03:19
у убера много сервисов на постгресе осталось

Alexey
31.01.2018
15:05:37
legacy осталось только. и то потому что они 9.2 сапгрейдить не смогли, так и оставили

Sergey
31.01.2018
15:06:33
Да мне трудно представить выгоду перехода с одного опенсурса на другой.
Постгрес более требователен к квалификации "пользователей" - то есть разработчиков и администраторов, зато и более предсказуем в плане надёжности - just works, that's it.

Alexey
31.01.2018
15:07:08
о, поехало

еще "PostgreSQL always does things correctly!"

Сергей
31.01.2018
15:08:07
Конечно always

Alexey
31.01.2018
15:08:46
так я ж и говорю!

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

Страница 659 из 1062