
Darafei
31.01.2018
12:07:12

Mike Chuguniy
31.01.2018
12:07:16

Alex
31.01.2018
12:07:55

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

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


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

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 почему-то в начале строки, а не выровнен по правому краю служебных словей.

Yaroslav
31.01.2018
12:42:10

Александр
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), все это возвращает один набор данных(одну таблицу), а можно как то вернуть две и более таблиц, или я что то не понимаю)

Yaroslav
31.01.2018
13:42:42

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

Yaroslav
31.01.2018
13:50:40

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

Anton [Mgn, az09@osm]
31.01.2018
13:54:40

Maksim
31.01.2018
13:54:45

Anton [Mgn, az09@osm]
31.01.2018
13:55:37

Александр
31.01.2018
13:56:14

Yaroslav
31.01.2018
13:56:26

Anton [Mgn, az09@osm]
31.01.2018
13:57:25

Yaroslav
31.01.2018
13:58:14

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

Alexey
31.01.2018
13:59:23

Yaroslav
31.01.2018
14:00:12
нет
То есть нам всем кажется, что они работают? ;)

Anton [Mgn, az09@osm]
31.01.2018
14:01:51

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

Yaroslav
31.01.2018
14:03:11

Anton [Mgn, az09@osm]
31.01.2018
14:03:27

Google

Yaroslav
31.01.2018
14:04:33

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
Смотря для кого, наверное.
Ни для себя как разраба не вижу, ни для ЛПР. Им скорее даже не выгодно. Даже Админ с линуксами и без этого поиграется)
В общем не в этом поколении

Mike Chuguniy
31.01.2018
14:11:38

Yaroslav
31.01.2018
14:12:08

Anton [Mgn, az09@osm]
31.01.2018
14:12:37

Alex
31.01.2018
14:14:19
В самом деле.
Есть опыт миграций на постгрес с MSSQL / MongoDB / Mysql / Oracle
в самом деле, что я могу знать

Anton [Mgn, az09@osm]
31.01.2018
14:15:56
Ну пусть. Хотя конечно посмотрел бы примеры. Будут на конфе такие доклады?

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

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

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

Alex
31.01.2018
14:30:02

Yaroslav
31.01.2018
14:32:08

Mike Chuguniy
31.01.2018
14:48:55

Yaroslav
31.01.2018
14:49:36

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

Yaroslav
31.01.2018
14:59:35

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

Alex
31.01.2018
15:02:23

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

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

Sergey
31.01.2018
15:06:33

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
так я ж и говорю!
правда не очень понятно, как первое со вторым согласуется. но кого ж такие мелочи волнуют