В [предыдущей части статьи][1] был разобран общий принцип работы системы: мы увидели, что двумя основными её блоками являются интерполятор и нумератор. Мы построили схему взаимодействия, а также полностью обсудили реализацию интерполятора. В этой части мы разберём реализацию нумератора: обратимой функции, переводящей набор значений ключевых полей в натуральное число (BigInteger) таким образом, что набор ![][2] меньше набора ![][3] с точки зрения СУБД тогда и только тогда, когда ![][4]. Говоря проще — научимся интерполировать наборы значений и, что самое интересное, строки:
[Читать дальше →][5]
[1]: /post/278773/
[2]:
http://tex.s2cms.ru/svg/%5Cinline%20%28K_1%2C%5Cldots%20K_n%29
[3]:
http://tex.s2cms.ru/svg/%5Cinline%20%28K%27_1%2C%5Cldots%20K%27_n%29
[4]:
http://tex.s2cms.ru/svg/%5Cinline%20g%28K_1%2C%5Cldots%20K_n%29%20%3C%20g%28K%27_1%2C%5Cldots%20K%27_n%29
[5]:
https://habrahabr.ru/post/279083/#habracut