Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Доделывал ast #4

Merged
merged 48 commits into from
Sep 23, 2016
Merged

Доделывал ast #4

merged 48 commits into from
Sep 23, 2016

Conversation

undeadcat
Copy link
Contributor

Из фич для пользователей:
* Можно не писать алиасы там где это понятно из контекста
* Можно писать вложенные запросы
* Можно писать любым кейсом
* Можно не писать cast в substring чтобы откастать из 1с-овского кастомного типа данных mvarchar. тулза сгенерит его сама
* Сообщения об ошибаках теперь указывают на положение ошибки

А вообще вроде бы поддержали большую часть языка запросов.

Разрешаем писать произвольные функции: выполнятся в постгресе без рерайта.
Очень не хотелось этого делать, но Андрей, как минимум, не может без длины строки=)

Весь код кроме последних коммитов ревьюил ivan816.

ivan816 and others added 30 commits September 13, 2016 20:17
падающий тест на колонку в OrderBy
есть косяк если запрос юзает вложенные сущности внешней таблицы
баг с джойном: джойн называется full outer join/ full join, а не outer join
… потому что

* не факт, что для результатов подзапроса применим индекс
* не хочется влезать в дерево подзапроса чтобы перефигачить его аутпут.
beginOfPeriod ->date_trunc
token year - это и название функции, и литерал, означающий тип периода в параметрах beginOfPeriod.
из одного токена нельзя понять, чем он является => больше мерзких правил вроде dateTruncExpression в грамматике
Разрешаем произвольные функции из psql
Мотивация:
	Андрей хочет length,
	Макс хочет дату с часами и минутами
@gusev-p gusev-p merged commit 9a42b6f into ivan816:ast Sep 23, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants