Skip to content
Snippets Groups Projects

feat: support window functions

Merged Emir Vildanov requested to merge vildanov/window-function into master

Данный МР добавляет функционал оконных функций в кластреный SQL пикодаты. Тестовое покрытие сделано на базе локальных тестов тарантула (но часть тестов выкинул, так как в них есть неподдерживаемый функционал в нашем кластерном SQL).

Вся конструкция очень хлипкая (из-за ядра) и всегда есть шанс, что мы словим панику. Это нормально, нужно допортировать около 150 коммитов из SQLite в тарантул. Так что сегфолты вполне возможны.

Сейчас недоделан вывод типов для окон - они выдают наружу ANY. Причина банальна: нужно отрефакторить выражение Over. Сейчас в нем есть поля с именем оконной функции и ее аргументами, а нужно использовать NodeId для StableFunction, для которой задача вывода типов уже решена. Over должен наследовать ее тип. Но так как релиз уже близко, то я бы занялся этим рефактоирнгом сразу после релиза.

Так же не проверялся порядок привязки параметров. По идее все должно работать корректно, но если кто-то погоняет руками тесты для общих окон, то будет классно.


Edited by Denis Smirnov

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
Please register or sign in to reply
Loading