nidx-binding 6.3.7.post316__tar.gz → 6.3.7.post321__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. nidx_binding-6.3.7.post321/.sqlx/query-a60ec2f66f1e7b84189e5b089f2087a29ff6a64326a3743dea935bbc58ee77fa.json +47 -0
  2. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/Cargo.lock +2 -2
  3. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/PKG-INFO +1 -1
  4. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_protos/pyproject.toml +2 -2
  5. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/pyproject.toml +1 -1
  6. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/scheduler/merge_task.rs +40 -36
  7. nidx_binding-6.3.7.post316/.sqlx/query-77a245aed9f6f8b9fc643efbd4b1e2e8e99bbba085e3e75a4f29321cd7b2a25c.json +0 -47
  8. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-0cfce9b29547f8f5bafa6e440f86103be7b8c4ad2fd92db9ac223f4efbe23d10.json +0 -0
  9. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-1a561eed00f3dbe868bf5030059793300209179dc8fb73e4b57a54b5e81262fe.json +0 -0
  10. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-1d3fca2682e25a01143da92285297f134a6a105a96f64d87e0db3abb219855e4.json +0 -0
  11. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-249b3b57c27a71baa823f1fe0f0bba9c9af36f61c28f731e58beea60ec48e687.json +0 -0
  12. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-24cb6b683daa42d7125f862e25943ab4be7bf275cd8739f8da4859d701795e1a.json +0 -0
  13. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-263c8fce6db5b03bbd012fafdba6943cbee6ed7eb8976cdef4f5b01dde7ca6fd.json +0 -0
  14. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-2a5d92fb1638df830a4477a7cdf24e6db6b43034b7bbe74fdfb63e8afe2c4071.json +0 -0
  15. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-2b065a363f58caed60e3706603c1260dbf5a4c795604a5b68edda22eb07fec1b.json +0 -0
  16. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-3fc3cb39934683de8cd475ce1368c8373453eb1e01f81587d66b9d14b109ce6e.json +0 -0
  17. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-48f33b77b7c1633467b0b2efcaa1d3c207e7757e4f1d83b40d15e6ca365f7771.json +0 -0
  18. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-4ae09f2c08e2f324bee01bb8487a8f37678a1c5e9d327339235c50d4921a8949.json +0 -0
  19. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-4d7a76fa413c9ef0ce2a47ac7bb7e01d3e6a2aabded9487d21010a53efee8852.json +0 -0
  20. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-4fcbdd6657c7dc9b60b3a563dd41711b3dbcf72ce063427b7a01f8cddf34c244.json +0 -0
  21. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-577109ac00ccfbd38ecaccab94116f2f46a4caf5612afa372cded197123c1e08.json +0 -0
  22. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-5db25f97d8578d6d78f2f6bd4b72cc82a9b1b82805c6422d967ac63b20d99db4.json +0 -0
  23. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-5ec3233a3a23e926055056d46bdde17836a633066dbb5f349502648cd3ea9a60.json +0 -0
  24. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-66edb6ea424d8681927dcddb6bac5f1239175f4775d1f40417ba15054b0c6f19.json +0 -0
  25. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-6f9c6d201c1b5712efb68c363bffd3e0169c11f2a8f925e8cd4e8808599ff7b4.json +0 -0
  26. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-733c3ebacc86f444bf5e2dd79ade660c291e88a00fc09b722f6e2e191545874c.json +0 -0
  27. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-7a3bf27c330c468a596e8a297cf7d8b192e31e67ecc5177c1267f579e8e247c7.json +0 -0
  28. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-7a7e59e47b30b12237511fd3d7da2d17b0471ad2b006af48d6a6f587c779692b.json +0 -0
  29. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-7dcbb33312cc9f11ae3a6d73b1ace017a9f19a8bf8f10304fc57977c8efeadff.json +0 -0
  30. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-7efa7c0d747afc4b6aed0586ff846c27839c3213ff7ee9f30c89b0d0f17e60e3.json +0 -0
  31. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-8493140d788604d498a4e48da4158708572ccc9d60185290a00d549cc84533db.json +0 -0
  32. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-8493bb0059b013eaca42fd10cd7d04f0d06a8acaed379eff0d23f3229edde9ee.json +0 -0
  33. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-87996b3d6c7a2195438d7038015b06949102bce8c7b8cd8db1f83aaf23cbe489.json +0 -0
  34. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-8d33717587c6ee8f5fc339a80b1212a73d6c03e45856b1d55457fc8074709dd0.json +0 -0
  35. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-8f096d8171b89f9615d18f95d696dc9e4fb3674e103161a713cdc806f7a68506.json +0 -0
  36. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-917732a56ee04bf3a6e127319dda8225210869c82f9828d878162394dba4e078.json +0 -0
  37. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-95fe4ef93ee90733db1b67ed7987f80b5aac792f1590b979c68b418d1599eb98.json +0 -0
  38. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-9b67658569b343d8b4b61ae0a7dc721f367f2ba33c7b69b9e68bfd5c9bff5206.json +0 -0
  39. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-9c8062ea55d070afef68309e58fa987eb37fda44e1efbf68c8ba2af7846cc968.json +0 -0
  40. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-a06e1d9f6f95e4c4c2b98310ebddcc9d963cc033582bf2e945e8bf3a301b4247.json +0 -0
  41. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-a55265c9b07bd1399961a6f1e757201fd0eebe868ddaf96437111113d80fce92.json +0 -0
  42. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-a891a37be5c2d7cce775c2dd33726b0318fd3839beab222a1b22bc6174604207.json +0 -0
  43. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-a945191bb4b3e37d6823ed3ad499339d007d69983105de8567777d9daf517b28.json +0 -0
  44. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-abe9f7832f2bd799ac44008da031e8d8ab52d4f5fbfc2a7e3974e8873bae55b2.json +0 -0
  45. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-aca588cca57a85e4d7fcc40c23cd87e57d53d11ca550d78e7e3d5e39e524fcd3.json +0 -0
  46. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-b02f8aafc00a7724510772ac41269e368c5bccf03ef7b4590e0ef6fd1a1bf64f.json +0 -0
  47. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-b742e17cabe2d64617e9aa64bafc782172f7a4f8023d1b54f952a0fb39f6b2b8.json +0 -0
  48. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-b94e349dbc0daec57f8f8f6e9e2dffb06100b1bb2b41d297c9f3b191da37a83d.json +0 -0
  49. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-bd9afa22994aba671dbf7b5f89b53c2ee02f53c0442a81265786a6d52d08512f.json +0 -0
  50. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-be60554eca98a5899efc6b49785cecd6444a6d39afed9e4a884ce2dbf162012c.json +0 -0
  51. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-bf49702b506c9a1650ece1f8e8d9f14834a902f8caefafe30ded55e2790f2188.json +0 -0
  52. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-bfcd21ed704cd305db5c17fcdec7d92aa4ac501913c9c9514d8ff92928c0c7e7.json +0 -0
  53. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-c3ab694650f49a75b146fb877a92e48c4f20f0d99f70f8ec859fbb763b01a1e5.json +0 -0
  54. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-c55542bb9fae544d87fae6f30e0fe8a9088d12075f4442ab4fe2fcd05e472234.json +0 -0
  55. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-cb29a6556d35ac630ee0aa885dd7341cf9573bd3efd216ff8a887b87686b03db.json +0 -0
  56. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-d0a1f341a89f5f14696b10baa72db9d95551c2b7e5fc67308fd52dc03dd98a92.json +0 -0
  57. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-d2ad0a0ca2649c9e4873cfcc1fc66d2d07cc45d0f65c560b06d7b5f592f4fa8a.json +0 -0
  58. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-d6cfe78eb635ba0b89ca4021a4dc8182d18ab5b197f30149cd28488eba4c1df5.json +0 -0
  59. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-d729b56dea00e49dcdba8cf0001e2811da27351eabe98212db3b589f18fc6f32.json +0 -0
  60. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-d9658bfd4e7170b41d03f2ddf2446d0bf54171c0d39d53bf20af2b8437f2ec48.json +0 -0
  61. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-dbba7b3d3289425bae711aedbf73fbc3699f857f86f84d95c3b556d05c5658b0.json +0 -0
  62. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-dcb96b649d6d63a58efd5d445453a4f3d7869a56ff714b69bedf3d616a0473ca.json +0 -0
  63. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-ebd876fbf5362a5900e75bc05f2f11c73c406ef7da4e95097fc6a1c3d1b8bc54.json +0 -0
  64. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-eef5cc6bce1cc14eba8f3e68971724ef181e88cffcedd74673615f2026b89a62.json +0 -0
  65. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/.sqlx/query-ef56d5fefc5774040d1ee397beadb475f6af02768c22f0e583c74062e2e821ce.json +0 -0
  66. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/Cargo.toml +0 -0
  67. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/README.md +0 -0
  68. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/migrations/20241007163501_initial.sql +0 -0
  69. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/migrations/20241211120039_merge_job_priority.sql +0 -0
  70. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/migrations/20241211121159_basic_indexes.sql +0 -0
  71. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/migrations/20241212151105_check_segment_records.sql +0 -0
  72. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/migrations/20250110145554_in_flight_messages.sql +0 -0
  73. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_binding/Cargo.toml +0 -0
  74. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_binding/src/lib.rs +0 -0
  75. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/Cargo.toml +0 -0
  76. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/src/fuzzy_query.rs +0 -0
  77. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/src/lib.rs +0 -0
  78. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/src/query_io.rs +0 -0
  79. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/src/reader.rs +0 -0
  80. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/src/request_types.rs +0 -0
  81. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/src/resource_indexer.rs +0 -0
  82. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/src/schema.rs +0 -0
  83. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/src/search_query.rs +0 -0
  84. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/src/search_response.rs +0 -0
  85. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/src/set_query.rs +0 -0
  86. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/src/stop_words.rs +0 -0
  87. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/README.md +0 -0
  88. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/ar.json +0 -0
  89. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/az.json +0 -0
  90. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/bn.json +0 -0
  91. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/ca.json +0 -0
  92. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/ch.json +0 -0
  93. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/da.json +0 -0
  94. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/de.json +0 -0
  95. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/el.json +0 -0
  96. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/en.json +0 -0
  97. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/es.json +0 -0
  98. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/eu.json +0 -0
  99. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/extract.py +0 -0
  100. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/fi.json +0 -0
  101. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/fr.json +0 -0
  102. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/he.json +0 -0
  103. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/hu.json +0 -0
  104. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/id.json +0 -0
  105. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/it.json +0 -0
  106. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/kk.json +0 -0
  107. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/ne.json +0 -0
  108. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/nl.json +0 -0
  109. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/no.json +0 -0
  110. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/pt.json +0 -0
  111. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/ro.json +0 -0
  112. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/ru.json +0 -0
  113. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/sl.json +0 -0
  114. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/sv.json +0 -0
  115. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/tg.json +0 -0
  116. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/stop_words/tr.json +0 -0
  117. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/tests/common/mod.rs +0 -0
  118. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_paragraph/tests/reader.rs +0 -0
  119. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_protos/Cargo.toml +0 -0
  120. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_protos/build.py +0 -0
  121. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_protos/build.rs +0 -0
  122. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_protos/src/lib.rs +0 -0
  123. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_protos/src/nidx.proto +0 -0
  124. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/Cargo.toml +0 -0
  125. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/src/graph_collector.rs +0 -0
  126. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/src/graph_query_parser.rs +0 -0
  127. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/src/io_maps.rs +0 -0
  128. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/src/lib.rs +0 -0
  129. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/src/reader.rs +0 -0
  130. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/src/resource_indexer.rs +0 -0
  131. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/src/schema.rs +0 -0
  132. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/src/top_unique_n.rs +0 -0
  133. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/tests/common/mod.rs +0 -0
  134. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/tests/test_graph_query_parser_search.rs +0 -0
  135. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/tests/test_graph_search.rs +0 -0
  136. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/tests/test_reader.rs +0 -0
  137. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_relation/tests/test_writer.rs +0 -0
  138. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_tantivy/Cargo.toml +0 -0
  139. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_tantivy/src/index_reader.rs +0 -0
  140. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_tantivy/src/lib.rs +0 -0
  141. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_tests/Cargo.toml +0 -0
  142. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_tests/src/graph.rs +0 -0
  143. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_tests/src/lib.rs +0 -0
  144. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/Cargo.toml +0 -0
  145. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/src/lib.rs +0 -0
  146. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/src/prefilter.rs +0 -0
  147. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/src/query_io.rs +0 -0
  148. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/src/reader.rs +0 -0
  149. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/src/request_types.rs +0 -0
  150. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/src/resource_indexer.rs +0 -0
  151. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/src/schema.rs +0 -0
  152. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/src/search_query.rs +0 -0
  153. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/tests/common/mod.rs +0 -0
  154. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/tests/test_deletions.rs +0 -0
  155. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/tests/test_flow.rs +0 -0
  156. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/tests/test_search.rs +0 -0
  157. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_text/tests/test_streaming.rs +0 -0
  158. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_types/Cargo.toml +0 -0
  159. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_types/src/lib.rs +0 -0
  160. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_types/src/prefilter.rs +0 -0
  161. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_types/src/query_language.rs +0 -0
  162. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/Cargo.toml +0 -0
  163. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/config.rs +0 -0
  164. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_point/disk_hnsw.rs +0 -0
  165. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_point/mod.rs +0 -0
  166. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_point/node.rs +0 -0
  167. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_point/ops_hnsw.rs +0 -0
  168. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_point/params.rs +0 -0
  169. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_point/ram_hnsw.rs +0 -0
  170. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_point/tests.rs +0 -0
  171. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_point_provider/mod.rs +0 -0
  172. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_point_provider/reader.rs +0 -0
  173. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_types/data_store.rs +0 -0
  174. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_types/mod.rs +0 -0
  175. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_types/trie.rs +0 -0
  176. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/data_types/trie_ram.rs +0 -0
  177. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/formula/mod.rs +0 -0
  178. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/indexer.rs +0 -0
  179. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/inverted_index/fst_index.rs +0 -0
  180. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/inverted_index/map.rs +0 -0
  181. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/inverted_index.rs +0 -0
  182. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/lib.rs +0 -0
  183. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/query_io.rs +0 -0
  184. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/request_types.rs +0 -0
  185. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/utils.rs +0 -0
  186. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/vector_types/dense_f32.rs +0 -0
  187. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/src/vector_types/mod.rs +0 -0
  188. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/tests/common/mod.rs +0 -0
  189. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/tests/test_basic_search.rs +0 -0
  190. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/nidx_vector/tests/test_hidden.rs +0 -0
  191. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/api/grpc.rs +0 -0
  192. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/api/shards.rs +0 -0
  193. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/api.rs +0 -0
  194. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/control.rs +0 -0
  195. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/errors.rs +0 -0
  196. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/grpc_server.rs +0 -0
  197. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/import_export.rs +0 -0
  198. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/indexer.rs +0 -0
  199. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/lib.rs +0 -0
  200. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/main.rs +0 -0
  201. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/metadata/deletion.rs +0 -0
  202. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/metadata/index.rs +0 -0
  203. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/metadata/index_request.rs +0 -0
  204. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/metadata/merge_job.rs +0 -0
  205. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/metadata/segment.rs +0 -0
  206. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/metadata/shard.rs +0 -0
  207. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/metadata.rs +0 -0
  208. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/metrics.rs +0 -0
  209. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/scheduler/audit_task.rs +0 -0
  210. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/scheduler/log_merge.rs +0 -0
  211. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/scheduler/metrics_task.rs +0 -0
  212. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/scheduler/purge_tasks.rs +0 -0
  213. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/scheduler/vector_merge.rs +0 -0
  214. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/scheduler.rs +0 -0
  215. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/searcher/grpc.rs +0 -0
  216. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/searcher/index_cache.rs +0 -0
  217. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/searcher/query_language.rs +0 -0
  218. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/searcher/query_planner.rs +0 -0
  219. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/searcher/shard_search.rs +0 -0
  220. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/searcher/shard_selector.rs +0 -0
  221. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/searcher/shard_suggest.rs +0 -0
  222. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/searcher/streams.rs +0 -0
  223. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/searcher/sync.rs +0 -0
  224. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/searcher.rs +0 -0
  225. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/segment_store.rs +0 -0
  226. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/settings.rs +0 -0
  227. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/telemetry/duration_layer.rs +0 -0
  228. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/telemetry/log_format.rs +0 -0
  229. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/telemetry/middleware.rs +0 -0
  230. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/telemetry.rs +0 -0
  231. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/tool.rs +0 -0
  232. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/utilization_tracker.rs +0 -0
  233. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/src/worker.rs +0 -0
  234. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/common/mod.rs +0 -0
  235. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/common/services.rs +0 -0
  236. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_date_range_search.rs +0 -0
  237. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_search_filtering.rs +0 -0
  238. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_search_relations.rs +0 -0
  239. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_search_sorting.rs +0 -0
  240. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_searcher_cluster.rs +0 -0
  241. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_security_search.rs +0 -0
  242. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_shards.rs +0 -0
  243. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_shards_api.rs +0 -0
  244. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_suggest.rs +0 -0
  245. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_synced_searcher.rs +0 -0
  246. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_vector_normalization.rs +0 -0
  247. {nidx_binding-6.3.7.post316 → nidx_binding-6.3.7.post321}/tests/test_vectorsets.rs +0 -0
@@ -0,0 +1,47 @@
1
+ {
2
+ "db_name": "PostgreSQL",
3
+ "query": "\n -- For each index, gather the seq number before which we want to force deletion of segments\n -- e.g: gather the seq of the 100th newest deletion, and force merge all segments older than that\n WITH index_deletion_window AS (\n SELECT\n id,\n COALESCE(\n (\n -- Biggest seq excluding the N most recent\n SELECT MIN(seq) FROM (\n SELECT seq FROM deletions WHERE index_id = indexes.id ORDER BY seq DESC LIMIT $2)\n AS new_deletions\n ),\n 0\n ) AS seq\n FROM indexes\n JOIN deletions ON index_id = indexes.id\n GROUP BY indexes.id\n HAVING COUNT(*) > $2\n )\n -- For each index, a list of mergeable segments with amount of records and deletions\n SELECT\n indexes.id AS \"id: IndexId\",\n indexes.kind AS \"kind: IndexKind\",\n array_agg(\n -- segment_id, records, force_merge (has more than N deletions)\n (segments.id, records, segments.seq < COALESCE(index_deletion_window.seq, 0))\n ORDER BY records DESC\n ) AS \"segments!: Vec<(SegmentId, i64, bool)>\"\n FROM segments\n JOIN indexes ON segments.index_id = indexes.id\n LEFT JOIN index_deletion_window ON segments.index_id = index_deletion_window.id\n WHERE\n delete_at IS NULL AND merge_job_id IS NULL\n AND segments.seq <= $1\n GROUP BY\n indexes.id,\n indexes.kind,\n -- Only merge vector segments with same tags\n CASE WHEN kind = 'vector' THEN index_metadata::text ELSE NULL END,\n index_deletion_window.id\n -- Only return indexes with more than one segment or with many deletions\n HAVING COUNT(segments) > 1 OR index_deletion_window.id IS NOT NULL\n ",
4
+ "describe": {
5
+ "columns": [
6
+ {
7
+ "ordinal": 0,
8
+ "name": "id: IndexId",
9
+ "type_info": "Int8"
10
+ },
11
+ {
12
+ "ordinal": 1,
13
+ "name": "kind: IndexKind",
14
+ "type_info": {
15
+ "Custom": {
16
+ "name": "index_kind",
17
+ "kind": {
18
+ "Enum": [
19
+ "text",
20
+ "paragraph",
21
+ "vector",
22
+ "relation"
23
+ ]
24
+ }
25
+ }
26
+ }
27
+ },
28
+ {
29
+ "ordinal": 2,
30
+ "name": "segments!: Vec<(SegmentId, i64, bool)>",
31
+ "type_info": "RecordArray"
32
+ }
33
+ ],
34
+ "parameters": {
35
+ "Left": [
36
+ "Int8",
37
+ "Int8"
38
+ ]
39
+ },
40
+ "nullable": [
41
+ false,
42
+ false,
43
+ null
44
+ ]
45
+ },
46
+ "hash": "a60ec2f66f1e7b84189e5b089f2087a29ff6a64326a3743dea935bbc58ee77fa"
47
+ }
@@ -559,9 +559,9 @@ dependencies = [
559
559
 
560
560
  [[package]]
561
561
  name = "crossbeam-channel"
562
- version = "0.5.14"
562
+ version = "0.5.15"
563
563
  source = "registry+https://github.com/rust-lang/crates.io-index"
564
- checksum = "06ba6d68e24814cb8de6bb986db8222d3a027d15872cabc0d18817bc3c0e4471"
564
+ checksum = "82b8f8f868b36967f9606790d1903570de9ceaf870a7bf9fbbd3016d636a2cb2"
565
565
  dependencies = [
566
566
  "crossbeam-utils",
567
567
  ]
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nidx_binding
3
- Version: 6.3.7.post316
3
+ Version: 6.3.7.post321
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -1,10 +1,10 @@
1
1
  [build-system]
2
- requires = ["pdm-backend", "grpcio-tools>=1.44.0,<1.63.0"]
2
+ requires = ["pdm-backend", "grpcio-tools>=1.71.0,<1.72.0"]
3
3
  build-backend = "pdm.backend"
4
4
 
5
5
  [project]
6
6
  name = "nidx_protos"
7
- version = "6.3.7.post316"
7
+ version = "6.3.7.post321"
8
8
  license = { text = "AGPL" }
9
9
  description = "Protobuf definitions for nucliadb/nidx"
10
10
  authors = [ { name = "Nuclia", email = "nucliadb@nuclia.com" }]
@@ -13,7 +13,7 @@ classifiers = [
13
13
  "Programming Language :: Python :: Implementation :: CPython",
14
14
  "Programming Language :: Python :: Implementation :: PyPy",
15
15
  ]
16
- version = "6.3.7.post316"
16
+ version = "6.3.7.post321"
17
17
 
18
18
  [project.urls]
19
19
  Homepage = "https://nuclia.com"
@@ -56,44 +56,48 @@ impl MergeScheduler {
56
56
  // TODO: Remove vector index split by metadata when removing tags
57
57
  let indexes = sqlx::query!(
58
58
  r#"
59
- -- Only gather deletion information for indexes with many deletions since it's expensive and often not needed
60
- WITH indexes_with_many_deletions AS (
61
- SELECT index_id FROM deletions GROUP BY index_id HAVING COUNT(*) > $2
62
-
63
- -- Deletions that apply to each segment (so we know which segments we need to merge to allow purging deletions)
64
- ), deletions_per_segment AS (
59
+ -- For each index, gather the seq number before which we want to force deletion of segments
60
+ -- e.g: gather the seq of the 100th newest deletion, and force merge all segments older than that
61
+ WITH index_deletion_window AS (
62
+ SELECT
63
+ id,
64
+ COALESCE(
65
+ (
66
+ -- Biggest seq excluding the N most recent
67
+ SELECT MIN(seq) FROM (
68
+ SELECT seq FROM deletions WHERE index_id = indexes.id ORDER BY seq DESC LIMIT $2)
69
+ AS new_deletions
70
+ ),
71
+ 0
72
+ ) AS seq
73
+ FROM indexes
74
+ JOIN deletions ON index_id = indexes.id
75
+ GROUP BY indexes.id
76
+ HAVING COUNT(*) > $2
77
+ )
78
+ -- For each index, a list of mergeable segments with amount of records and deletions
65
79
  SELECT
66
- segments.id,
67
- (
68
- SELECT COUNT(*)
69
- FROM deletions
70
- WHERE deletions.index_id = segments.index_id
71
- AND deletions.seq > segments.seq
72
- ) AS deletions
80
+ indexes.id AS "id: IndexId",
81
+ indexes.kind AS "kind: IndexKind",
82
+ array_agg(
83
+ -- segment_id, records, force_merge (has more than N deletions)
84
+ (segments.id, records, segments.seq < COALESCE(index_deletion_window.seq, 0))
85
+ ORDER BY records DESC
86
+ ) AS "segments!: Vec<(SegmentId, i64, bool)>"
73
87
  FROM segments
74
- NATURAL JOIN indexes_with_many_deletions
75
- GROUP BY segments.id
76
- )
77
-
78
- -- For each index, a list of mergeable segments with amount of records and deletions
79
- SELECT
80
- indexes.id AS "id: IndexId",
81
- indexes.kind AS "kind: IndexKind",
82
- array_agg(
83
- (segments.id, records, COALESCE(deletions, 0) > $2)
84
- ORDER BY records DESC
85
- ) AS "segments!: Vec<(SegmentId, i64, bool)>"
86
- FROM segments
87
- JOIN indexes ON segments.index_id = indexes.id
88
- LEFT JOIN deletions_per_segment ON segments.id = deletions_per_segment.id
89
- WHERE
90
- delete_at IS NULL AND merge_job_id IS NULL
91
- AND seq <= $1
92
- GROUP BY
93
- indexes.id,
94
- indexes.kind,
95
- -- Only merge vector segments with same tags
96
- CASE WHEN kind = 'vector' THEN index_metadata::text ELSE NULL END
88
+ JOIN indexes ON segments.index_id = indexes.id
89
+ LEFT JOIN index_deletion_window ON segments.index_id = index_deletion_window.id
90
+ WHERE
91
+ delete_at IS NULL AND merge_job_id IS NULL
92
+ AND segments.seq <= $1
93
+ GROUP BY
94
+ indexes.id,
95
+ indexes.kind,
96
+ -- Only merge vector segments with same tags
97
+ CASE WHEN kind = 'vector' THEN index_metadata::text ELSE NULL END,
98
+ index_deletion_window.id
99
+ -- Only return indexes with more than one segment or with many deletions
100
+ HAVING COUNT(segments) > 1 OR index_deletion_window.id IS NOT NULL
97
101
  "#,
98
102
  i64::from(last_indexed_seq),
99
103
  self.settings.max_deletions as i64
@@ -1,47 +0,0 @@
1
- {
2
- "db_name": "PostgreSQL",
3
- "query": "\n -- Only gather deletion information for indexes with many deletions since it's expensive and often not needed\n WITH indexes_with_many_deletions AS (\n SELECT index_id FROM deletions GROUP BY index_id HAVING COUNT(*) > $2\n\n -- Deletions that apply to each segment (so we know which segments we need to merge to allow purging deletions)\n ), deletions_per_segment AS (\n SELECT\n segments.id,\n (\n SELECT COUNT(*)\n FROM deletions\n WHERE deletions.index_id = segments.index_id\n AND deletions.seq > segments.seq\n ) AS deletions\n FROM segments\n NATURAL JOIN indexes_with_many_deletions\n GROUP BY segments.id\n )\n\n -- For each index, a list of mergeable segments with amount of records and deletions\n SELECT\n indexes.id AS \"id: IndexId\",\n indexes.kind AS \"kind: IndexKind\",\n array_agg(\n (segments.id, records, COALESCE(deletions, 0) > $2)\n ORDER BY records DESC\n ) AS \"segments!: Vec<(SegmentId, i64, bool)>\"\n FROM segments\n JOIN indexes ON segments.index_id = indexes.id\n LEFT JOIN deletions_per_segment ON segments.id = deletions_per_segment.id\n WHERE\n delete_at IS NULL AND merge_job_id IS NULL\n AND seq <= $1\n GROUP BY\n indexes.id,\n indexes.kind,\n -- Only merge vector segments with same tags\n CASE WHEN kind = 'vector' THEN index_metadata::text ELSE NULL END\n ",
4
- "describe": {
5
- "columns": [
6
- {
7
- "ordinal": 0,
8
- "name": "id: IndexId",
9
- "type_info": "Int8"
10
- },
11
- {
12
- "ordinal": 1,
13
- "name": "kind: IndexKind",
14
- "type_info": {
15
- "Custom": {
16
- "name": "index_kind",
17
- "kind": {
18
- "Enum": [
19
- "text",
20
- "paragraph",
21
- "vector",
22
- "relation"
23
- ]
24
- }
25
- }
26
- }
27
- },
28
- {
29
- "ordinal": 2,
30
- "name": "segments!: Vec<(SegmentId, i64, bool)>",
31
- "type_info": "RecordArray"
32
- }
33
- ],
34
- "parameters": {
35
- "Left": [
36
- "Int8",
37
- "Int8"
38
- ]
39
- },
40
- "nullable": [
41
- false,
42
- false,
43
- null
44
- ]
45
- },
46
- "hash": "77a245aed9f6f8b9fc643efbd4b1e2e8e99bbba085e3e75a4f29321cd7b2a25c"
47
- }