Comments 2
Круто! Респект вам за правильное применение ваших знаний математики.
Не способен задать вопрос по сути статьи, поэтому задам по тому, за что зацепился взгляд:
В контексте ядра работы алгоритма я не принес ничего нового, даже наоборот, больше копипастил у других. Перед тем как приступить к реализации своего, я посмотрел реализации в нескольких СУБД, в частности, YDB, MySQL и DuckDB.
Как вы решили вопрос с конечной лицензией? Я вижу, что у вас MIT. У MySQL - GPL, у YDB и DuckDB - Apache 2.0. Если были заимствования - то тут возможна коллизия?
С конечной лицензией вопрос, честно говоря, сложным не был.
Одна из задач расширения - сделать его доступным для использования не только обычными людьми, но и компаниями, поэтому свою лицензию создавать не особо хороший вариант. Также, учитывая, что у PostgreSQL лицензия похожа на MIT, то выбор пал на последнего.
Из заимствований можно назвать только оптимизацию simple neighborhood. Но, во-первых, это известная оптимизация, которая используется многими СУБД (MySQL и YDB в их числе), а, во-вторых, использована только идея, но не конечная реализация (в MySQL и YDB simple neighborhood создается для всех простых гиперузлов, а в расширении он создается для каждого гиперузла, который создается в процессе работы). Поэтому коллизий лицензий быть не должно.
pg_dphyp: учим PostgreSQL соединять таблицы по-другому