nidx-binding 6.3.0.post10__tar.gz → 6.3.0.post16__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 (242) hide show
  1. nidx_binding-6.3.0.post16/.sqlx/query-77a245aed9f6f8b9fc643efbd4b1e2e8e99bbba085e3e75a4f29321cd7b2a25c.json +47 -0
  2. nidx_binding-6.3.0.post10/.sqlx/query-e61329fbb184d48a81fbe18bb66b8f1947724b77bada24ebd56b0fbb800b2c7e.json → nidx_binding-6.3.0.post16/.sqlx/query-abe9f7832f2bd799ac44008da031e8d8ab52d4f5fbfc2a7e3974e8873bae55b2.json +2 -2
  3. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/PKG-INFO +1 -1
  4. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_binding/src/lib.rs +4 -0
  5. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_protos/pyproject.toml +1 -1
  6. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/pyproject.toml +1 -1
  7. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/metadata/index_request.rs +3 -2
  8. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/scheduler/merge_task.rs +8 -2
  9. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/scheduler.rs +20 -0
  10. nidx_binding-6.3.0.post10/.sqlx/query-ca7618102d184f9734ba876b0ade0bbc47d2d99747d9df380b120680d77c3b83.json +0 -47
  11. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-0cfce9b29547f8f5bafa6e440f86103be7b8c4ad2fd92db9ac223f4efbe23d10.json +0 -0
  12. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-1a561eed00f3dbe868bf5030059793300209179dc8fb73e4b57a54b5e81262fe.json +0 -0
  13. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-1d3fca2682e25a01143da92285297f134a6a105a96f64d87e0db3abb219855e4.json +0 -0
  14. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-249b3b57c27a71baa823f1fe0f0bba9c9af36f61c28f731e58beea60ec48e687.json +0 -0
  15. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-24cb6b683daa42d7125f862e25943ab4be7bf275cd8739f8da4859d701795e1a.json +0 -0
  16. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-263c8fce6db5b03bbd012fafdba6943cbee6ed7eb8976cdef4f5b01dde7ca6fd.json +0 -0
  17. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-2a5d92fb1638df830a4477a7cdf24e6db6b43034b7bbe74fdfb63e8afe2c4071.json +0 -0
  18. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-2b065a363f58caed60e3706603c1260dbf5a4c795604a5b68edda22eb07fec1b.json +0 -0
  19. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-3fc3cb39934683de8cd475ce1368c8373453eb1e01f81587d66b9d14b109ce6e.json +0 -0
  20. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-48f33b77b7c1633467b0b2efcaa1d3c207e7757e4f1d83b40d15e6ca365f7771.json +0 -0
  21. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-4ae09f2c08e2f324bee01bb8487a8f37678a1c5e9d327339235c50d4921a8949.json +0 -0
  22. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-4d7a76fa413c9ef0ce2a47ac7bb7e01d3e6a2aabded9487d21010a53efee8852.json +0 -0
  23. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-4fcbdd6657c7dc9b60b3a563dd41711b3dbcf72ce063427b7a01f8cddf34c244.json +0 -0
  24. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-577109ac00ccfbd38ecaccab94116f2f46a4caf5612afa372cded197123c1e08.json +0 -0
  25. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-5db25f97d8578d6d78f2f6bd4b72cc82a9b1b82805c6422d967ac63b20d99db4.json +0 -0
  26. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-5ec3233a3a23e926055056d46bdde17836a633066dbb5f349502648cd3ea9a60.json +0 -0
  27. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-66edb6ea424d8681927dcddb6bac5f1239175f4775d1f40417ba15054b0c6f19.json +0 -0
  28. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-6f9c6d201c1b5712efb68c363bffd3e0169c11f2a8f925e8cd4e8808599ff7b4.json +0 -0
  29. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-733c3ebacc86f444bf5e2dd79ade660c291e88a00fc09b722f6e2e191545874c.json +0 -0
  30. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-7a3bf27c330c468a596e8a297cf7d8b192e31e67ecc5177c1267f579e8e247c7.json +0 -0
  31. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-7a7e59e47b30b12237511fd3d7da2d17b0471ad2b006af48d6a6f587c779692b.json +0 -0
  32. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-7dcbb33312cc9f11ae3a6d73b1ace017a9f19a8bf8f10304fc57977c8efeadff.json +0 -0
  33. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-7efa7c0d747afc4b6aed0586ff846c27839c3213ff7ee9f30c89b0d0f17e60e3.json +0 -0
  34. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-8493140d788604d498a4e48da4158708572ccc9d60185290a00d549cc84533db.json +0 -0
  35. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-8493bb0059b013eaca42fd10cd7d04f0d06a8acaed379eff0d23f3229edde9ee.json +0 -0
  36. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-87996b3d6c7a2195438d7038015b06949102bce8c7b8cd8db1f83aaf23cbe489.json +0 -0
  37. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-8f096d8171b89f9615d18f95d696dc9e4fb3674e103161a713cdc806f7a68506.json +0 -0
  38. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-917732a56ee04bf3a6e127319dda8225210869c82f9828d878162394dba4e078.json +0 -0
  39. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-95fe4ef93ee90733db1b67ed7987f80b5aac792f1590b979c68b418d1599eb98.json +0 -0
  40. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-9b67658569b343d8b4b61ae0a7dc721f367f2ba33c7b69b9e68bfd5c9bff5206.json +0 -0
  41. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-9c8062ea55d070afef68309e58fa987eb37fda44e1efbf68c8ba2af7846cc968.json +0 -0
  42. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-a06e1d9f6f95e4c4c2b98310ebddcc9d963cc033582bf2e945e8bf3a301b4247.json +0 -0
  43. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-a55265c9b07bd1399961a6f1e757201fd0eebe868ddaf96437111113d80fce92.json +0 -0
  44. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-a891a37be5c2d7cce775c2dd33726b0318fd3839beab222a1b22bc6174604207.json +0 -0
  45. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-a945191bb4b3e37d6823ed3ad499339d007d69983105de8567777d9daf517b28.json +0 -0
  46. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-aca588cca57a85e4d7fcc40c23cd87e57d53d11ca550d78e7e3d5e39e524fcd3.json +0 -0
  47. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-b02f8aafc00a7724510772ac41269e368c5bccf03ef7b4590e0ef6fd1a1bf64f.json +0 -0
  48. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-b742e17cabe2d64617e9aa64bafc782172f7a4f8023d1b54f952a0fb39f6b2b8.json +0 -0
  49. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-b94e349dbc0daec57f8f8f6e9e2dffb06100b1bb2b41d297c9f3b191da37a83d.json +0 -0
  50. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-bd9afa22994aba671dbf7b5f89b53c2ee02f53c0442a81265786a6d52d08512f.json +0 -0
  51. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-be60554eca98a5899efc6b49785cecd6444a6d39afed9e4a884ce2dbf162012c.json +0 -0
  52. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-bf49702b506c9a1650ece1f8e8d9f14834a902f8caefafe30ded55e2790f2188.json +0 -0
  53. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-bfb8ae2e860e451b0868a7b1b50a451d998b2105f9fdfd307b26a1775d145e9f.json +0 -0
  54. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-bfcd21ed704cd305db5c17fcdec7d92aa4ac501913c9c9514d8ff92928c0c7e7.json +0 -0
  55. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-c3ab694650f49a75b146fb877a92e48c4f20f0d99f70f8ec859fbb763b01a1e5.json +0 -0
  56. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-c55542bb9fae544d87fae6f30e0fe8a9088d12075f4442ab4fe2fcd05e472234.json +0 -0
  57. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-cb29a6556d35ac630ee0aa885dd7341cf9573bd3efd216ff8a887b87686b03db.json +0 -0
  58. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-d0a1f341a89f5f14696b10baa72db9d95551c2b7e5fc67308fd52dc03dd98a92.json +0 -0
  59. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-d2ad0a0ca2649c9e4873cfcc1fc66d2d07cc45d0f65c560b06d7b5f592f4fa8a.json +0 -0
  60. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-d6cfe78eb635ba0b89ca4021a4dc8182d18ab5b197f30149cd28488eba4c1df5.json +0 -0
  61. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-d729b56dea00e49dcdba8cf0001e2811da27351eabe98212db3b589f18fc6f32.json +0 -0
  62. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-d9658bfd4e7170b41d03f2ddf2446d0bf54171c0d39d53bf20af2b8437f2ec48.json +0 -0
  63. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-dbba7b3d3289425bae711aedbf73fbc3699f857f86f84d95c3b556d05c5658b0.json +0 -0
  64. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-dcb96b649d6d63a58efd5d445453a4f3d7869a56ff714b69bedf3d616a0473ca.json +0 -0
  65. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-ebd876fbf5362a5900e75bc05f2f11c73c406ef7da4e95097fc6a1c3d1b8bc54.json +0 -0
  66. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-eef5cc6bce1cc14eba8f3e68971724ef181e88cffcedd74673615f2026b89a62.json +0 -0
  67. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/.sqlx/query-ef56d5fefc5774040d1ee397beadb475f6af02768c22f0e583c74062e2e821ce.json +0 -0
  68. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/Cargo.lock +0 -0
  69. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/Cargo.toml +0 -0
  70. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/README.md +0 -0
  71. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/migrations/20241007163501_initial.sql +0 -0
  72. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/migrations/20241211120039_merge_job_priority.sql +0 -0
  73. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/migrations/20241211121159_basic_indexes.sql +0 -0
  74. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/migrations/20241212151105_check_segment_records.sql +0 -0
  75. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/migrations/20250110145554_in_flight_messages.sql +0 -0
  76. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_binding/Cargo.toml +0 -0
  77. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/Cargo.toml +0 -0
  78. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/src/fuzzy_query.rs +0 -0
  79. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/src/lib.rs +0 -0
  80. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/src/query_io.rs +0 -0
  81. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/src/reader.rs +0 -0
  82. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/src/request_types.rs +0 -0
  83. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/src/resource_indexer.rs +0 -0
  84. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/src/schema.rs +0 -0
  85. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/src/search_query.rs +0 -0
  86. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/src/search_response.rs +0 -0
  87. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/src/set_query.rs +0 -0
  88. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/src/stop_words.rs +0 -0
  89. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/README.md +0 -0
  90. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/ar.json +0 -0
  91. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/az.json +0 -0
  92. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/bn.json +0 -0
  93. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/ca.json +0 -0
  94. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/ch.json +0 -0
  95. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/da.json +0 -0
  96. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/de.json +0 -0
  97. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/el.json +0 -0
  98. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/en.json +0 -0
  99. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/es.json +0 -0
  100. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/eu.json +0 -0
  101. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/extract.py +0 -0
  102. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/fi.json +0 -0
  103. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/fr.json +0 -0
  104. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/he.json +0 -0
  105. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/hu.json +0 -0
  106. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/id.json +0 -0
  107. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/it.json +0 -0
  108. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/kk.json +0 -0
  109. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/ne.json +0 -0
  110. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/nl.json +0 -0
  111. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/no.json +0 -0
  112. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/pt.json +0 -0
  113. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/ro.json +0 -0
  114. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/ru.json +0 -0
  115. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/sl.json +0 -0
  116. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/sv.json +0 -0
  117. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/tg.json +0 -0
  118. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/stop_words/tr.json +0 -0
  119. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/tests/common/mod.rs +0 -0
  120. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_paragraph/tests/reader.rs +0 -0
  121. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_protos/Cargo.toml +0 -0
  122. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_protos/build.py +0 -0
  123. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_protos/build.rs +0 -0
  124. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_protos/src/lib.rs +0 -0
  125. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_protos/src/nidx.proto +0 -0
  126. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_relation/Cargo.toml +0 -0
  127. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_relation/src/graph_query_parser.rs +0 -0
  128. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_relation/src/io_maps.rs +0 -0
  129. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_relation/src/lib.rs +0 -0
  130. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_relation/src/reader.rs +0 -0
  131. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_relation/src/resource_indexer.rs +0 -0
  132. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_relation/src/schema.rs +0 -0
  133. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_relation/tests/common/mod.rs +0 -0
  134. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_relation/tests/test_graph_search.rs +0 -0
  135. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_relation/tests/test_reader.rs +0 -0
  136. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_relation/tests/test_writer.rs +0 -0
  137. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_tantivy/Cargo.toml +0 -0
  138. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_tantivy/src/index_reader.rs +0 -0
  139. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_tantivy/src/lib.rs +0 -0
  140. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_tests/Cargo.toml +0 -0
  141. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_tests/src/lib.rs +0 -0
  142. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/Cargo.toml +0 -0
  143. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/src/lib.rs +0 -0
  144. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/src/prefilter.rs +0 -0
  145. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/src/query_io.rs +0 -0
  146. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/src/reader.rs +0 -0
  147. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/src/request_types.rs +0 -0
  148. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/src/resource_indexer.rs +0 -0
  149. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/src/schema.rs +0 -0
  150. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/src/search_query.rs +0 -0
  151. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/tests/common/mod.rs +0 -0
  152. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/tests/test_flow.rs +0 -0
  153. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/tests/test_search.rs +0 -0
  154. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_text/tests/test_streaming.rs +0 -0
  155. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_types/Cargo.toml +0 -0
  156. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_types/src/lib.rs +0 -0
  157. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_types/src/prefilter.rs +0 -0
  158. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_types/src/query_language.rs +0 -0
  159. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/Cargo.toml +0 -0
  160. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/config.rs +0 -0
  161. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_point/disk_hnsw.rs +0 -0
  162. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_point/mod.rs +0 -0
  163. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_point/node.rs +0 -0
  164. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_point/ops_hnsw.rs +0 -0
  165. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_point/params.rs +0 -0
  166. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_point/ram_hnsw.rs +0 -0
  167. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_point/tests.rs +0 -0
  168. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_point_provider/mod.rs +0 -0
  169. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_point_provider/reader.rs +0 -0
  170. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_types/data_store.rs +0 -0
  171. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_types/mod.rs +0 -0
  172. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_types/trie.rs +0 -0
  173. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/data_types/trie_ram.rs +0 -0
  174. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/formula/mod.rs +0 -0
  175. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/indexer.rs +0 -0
  176. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/inverted_index/fst_index.rs +0 -0
  177. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/inverted_index/map.rs +0 -0
  178. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/inverted_index.rs +0 -0
  179. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/lib.rs +0 -0
  180. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/query_io.rs +0 -0
  181. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/request_types.rs +0 -0
  182. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/utils.rs +0 -0
  183. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/vector_types/dense_f32.rs +0 -0
  184. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/src/vector_types/mod.rs +0 -0
  185. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/tests/common/mod.rs +0 -0
  186. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/tests/test_basic_search.rs +0 -0
  187. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/nidx_vector/tests/test_hidden.rs +0 -0
  188. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/api/grpc.rs +0 -0
  189. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/api/shards.rs +0 -0
  190. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/api.rs +0 -0
  191. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/control.rs +0 -0
  192. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/errors.rs +0 -0
  193. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/grpc_server.rs +0 -0
  194. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/import_export.rs +0 -0
  195. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/indexer.rs +0 -0
  196. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/lib.rs +0 -0
  197. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/main.rs +0 -0
  198. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/metadata/deletion.rs +0 -0
  199. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/metadata/index.rs +0 -0
  200. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/metadata/merge_job.rs +0 -0
  201. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/metadata/segment.rs +0 -0
  202. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/metadata/shard.rs +0 -0
  203. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/metadata.rs +0 -0
  204. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/metrics.rs +0 -0
  205. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/scheduler/audit_task.rs +0 -0
  206. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/scheduler/log_merge.rs +0 -0
  207. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/scheduler/metrics_task.rs +0 -0
  208. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/scheduler/purge_tasks.rs +0 -0
  209. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/scheduler/vector_merge.rs +0 -0
  210. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/searcher/grpc.rs +0 -0
  211. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/searcher/index_cache.rs +0 -0
  212. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/searcher/query_language.rs +0 -0
  213. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/searcher/query_planner/old_filter_compatibility.rs +0 -0
  214. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/searcher/query_planner.rs +0 -0
  215. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/searcher/shard_search.rs +0 -0
  216. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/searcher/shard_selector.rs +0 -0
  217. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/searcher/shard_suggest.rs +0 -0
  218. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/searcher/streams.rs +0 -0
  219. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/searcher/sync.rs +0 -0
  220. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/searcher.rs +0 -0
  221. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/segment_store.rs +0 -0
  222. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/settings.rs +0 -0
  223. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/telemetry/duration_layer.rs +0 -0
  224. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/telemetry/log_format.rs +0 -0
  225. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/telemetry/middleware.rs +0 -0
  226. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/telemetry.rs +0 -0
  227. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/tool.rs +0 -0
  228. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/src/worker.rs +0 -0
  229. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/common/mod.rs +0 -0
  230. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/common/services.rs +0 -0
  231. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_date_range_search.rs +0 -0
  232. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_search_filtering.rs +0 -0
  233. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_search_relations.rs +0 -0
  234. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_search_sorting.rs +0 -0
  235. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_searcher_cluster.rs +0 -0
  236. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_security_search.rs +0 -0
  237. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_shards.rs +0 -0
  238. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_shards_api.rs +0 -0
  239. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_suggest.rs +0 -0
  240. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_synced_searcher.rs +0 -0
  241. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_vector_normalization.rs +0 -0
  242. {nidx_binding-6.3.0.post10 → nidx_binding-6.3.0.post16}/tests/test_vectorsets.rs +0 -0
@@ -0,0 +1,47 @@
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
+ }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "db_name": "PostgreSQL",
3
- "query": "SELECT COALESCE(MIN(seq) - 1, (SELECT last_value FROM index_requests_seq_seq)) AS \"seq!\" FROM index_requests",
3
+ "query": "SELECT COALESCE(MIN(seq) - 1, (SELECT last_value FROM index_requests_seq_seq)) AS \"seq!\"\n FROM index_requests WHERE received_at > NOW() - INTERVAL '1 minute'",
4
4
  "describe": {
5
5
  "columns": [
6
6
  {
@@ -16,5 +16,5 @@
16
16
  null
17
17
  ]
18
18
  },
19
- "hash": "e61329fbb184d48a81fbe18bb66b8f1947724b77bada24ebd56b0fbb800b2c7e"
19
+ "hash": "abe9f7832f2bd799ac44008da031e8d8ab52d4f5fbfc2a7e3974e8873bae55b2"
20
20
  }
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nidx_binding
3
- Version: 6.3.0.post10
3
+ Version: 6.3.0.post16
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: Implementation :: CPython
6
6
  Classifier: Programming Language :: Python :: Implementation :: PyPy
@@ -49,6 +49,10 @@ impl GetAckFloor for SeqSource {
49
49
  let seq = self.0.load(std::sync::atomic::Ordering::Relaxed);
50
50
  Ok(seq)
51
51
  }
52
+
53
+ async fn cleanup(&self) -> anyhow::Result<()> {
54
+ Ok(())
55
+ }
52
56
  }
53
57
 
54
58
  #[pyclass]
@@ -4,7 +4,7 @@ build-backend = "pdm.backend"
4
4
 
5
5
  [project]
6
6
  name = "nidx_protos"
7
- version = "6.3.0.post10"
7
+ version = "6.3.0.post16"
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.0.post10"
16
+ version = "6.3.0.post16"
17
17
 
18
18
  [project.urls]
19
19
  Homepage = "https://nuclia.com"
@@ -43,7 +43,7 @@ impl IndexRequest {
43
43
  Ok(())
44
44
  }
45
45
 
46
- pub async fn delete_old(&self, meta: impl Executor<'_, Database = Postgres>) -> sqlx::Result<()> {
46
+ pub async fn delete_old(meta: impl Executor<'_, Database = Postgres>) -> sqlx::Result<()> {
47
47
  sqlx::query!("DELETE FROM index_requests WHERE received_at < NOW() - INTERVAL '1 minute'")
48
48
  .execute(meta)
49
49
  .await?;
@@ -52,7 +52,8 @@ impl IndexRequest {
52
52
 
53
53
  pub async fn last_ack_seq(meta: impl Executor<'_, Database = Postgres>) -> sqlx::Result<i64> {
54
54
  sqlx::query_scalar!(
55
- "SELECT COALESCE(MIN(seq) - 1, (SELECT last_value FROM index_requests_seq_seq)) AS \"seq!\" FROM index_requests"
55
+ "SELECT COALESCE(MIN(seq) - 1, (SELECT last_value FROM index_requests_seq_seq)) AS \"seq!\"
56
+ FROM index_requests WHERE received_at > NOW() - INTERVAL '1 minute'"
56
57
  )
57
58
  .fetch_one(meta)
58
59
  .await
@@ -64,10 +64,16 @@ impl MergeScheduler {
64
64
 
65
65
  -- Deletions that apply to each segment (so we know which segments we need to merge to allow purging deletions)
66
66
  ), deletions_per_segment AS (
67
- SELECT segments.id, COUNT(deletions) AS deletions
67
+ SELECT
68
+ segments.id,
69
+ (
70
+ SELECT COUNT(*)
71
+ FROM deletions
72
+ WHERE deletions.index_id = segments.index_id
73
+ AND deletions.seq > segments.seq
74
+ ) AS deletions
68
75
  FROM segments
69
76
  NATURAL JOIN indexes_with_many_deletions
70
- LEFT JOIN deletions ON segments.index_id = deletions.index_id AND segments.seq < deletions.seq
71
77
  GROUP BY segments.id
72
78
  )
73
79
 
@@ -68,6 +68,7 @@ pub async fn run(settings: Settings, shutdown: CancellationToken) -> anyhow::Res
68
68
 
69
69
  pub trait GetAckFloor {
70
70
  fn get(&mut self) -> impl Future<Output = anyhow::Result<i64>> + Send;
71
+ fn cleanup(&self) -> impl Future<Output = anyhow::Result<()>> + Send;
71
72
  }
72
73
 
73
74
  #[derive(Clone)]
@@ -77,6 +78,10 @@ impl GetAckFloor for NatsAckFloor {
77
78
  async fn get(&mut self) -> anyhow::Result<i64> {
78
79
  Ok(self.0.info().await?.ack_floor.stream_sequence as i64)
79
80
  }
81
+
82
+ async fn cleanup(&self) -> anyhow::Result<()> {
83
+ Ok(())
84
+ }
80
85
  }
81
86
 
82
87
  #[derive(Clone)]
@@ -86,6 +91,11 @@ impl GetAckFloor for PgAckFloor {
86
91
  async fn get(&mut self) -> anyhow::Result<i64> {
87
92
  Ok(IndexRequest::last_ack_seq(&self.0.pool).await?)
88
93
  }
94
+
95
+ async fn cleanup(&self) -> anyhow::Result<()> {
96
+ IndexRequest::delete_old(&self.0.pool).await?;
97
+ Ok(())
98
+ }
89
99
  }
90
100
 
91
101
  pub async fn run_tasks(
@@ -127,6 +137,16 @@ pub async fn run_tasks(
127
137
  }
128
138
  });
129
139
 
140
+ let ack_floor_copy = ack_floor.clone();
141
+ tasks.spawn(async move {
142
+ loop {
143
+ if let Err(e) = ack_floor_copy.cleanup().await {
144
+ warn!("Error cleaning up AckFloor: {e:?}");
145
+ }
146
+ sleep(Duration::from_secs(60)).await;
147
+ }
148
+ });
149
+
130
150
  let meta2 = meta.clone();
131
151
  let mut ack_floor_copy = ack_floor.clone();
132
152
  tasks.spawn(async move {
@@ -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 segments.id, COUNT(deletions) AS deletions\n FROM segments\n NATURAL JOIN indexes_with_many_deletions\n LEFT JOIN deletions ON segments.index_id = deletions.index_id AND segments.seq < deletions.seq\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": "ca7618102d184f9734ba876b0ade0bbc47d2d99747d9df380b120680d77c3b83"
47
- }