@@ -763,6 +763,45 @@ Y_UNIT_TEST_SUITE(KqpPrefixedVectorIndexes) {
763763 DoTestPrefixedVectorIndexUpdateClusterChange (Q_ (R"( UPSERT INTO `/Root/TestTable` (`pk`, `user`, `emb`, `data`) VALUES (91, "user_a", "\x03\x31\x03", "19") RETURNING `data`, `emb`, `user`, `pk`;)" ), true , Covered);
764764 }
765765
766+ Y_UNIT_TEST (PrefixedVectorIndexIgnoreNewPrefix) {
767+ NKikimrConfig::TFeatureFlags featureFlags;
768+ featureFlags.SetEnableVectorIndex (true );
769+ auto setting = NKikimrKqp::TKqpSetting ();
770+ auto serverSettings = TKikimrSettings ()
771+ .SetFeatureFlags (featureFlags)
772+ .SetKqpSettings ({setting});
773+
774+ TKikimrRunner kikimr (serverSettings);
775+ kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::BUILD_INDEX, NActors::NLog::PRI_TRACE);
776+ kikimr.GetTestServer ().GetRuntime ()->SetLogPriority (NKikimrServices::FLAT_TX_SCHEMESHARD, NActors::NLog::PRI_TRACE);
777+
778+ auto db = kikimr.GetTableClient ();
779+
780+ auto session = DoCreateTableForPrefixedVectorIndex (db, false );
781+ DoCreatePrefixedVectorIndex (session, false , " " , 2 );
782+
783+ const TString originalPostingTable = ReadTablePartToYson (session, " /Root/TestTable/index/indexImplPostingTable" );
784+ const TString originalPrefixTable = ReadTablePartToYson (session, " /Root/TestTable/index/indexImplPrefixTable" );
785+
786+ // Insert to the table with index should succeed
787+ {
788+ TString query1 (Q_ (R"(
789+ INSERT INTO `/Root/TestTable` (pk, user, emb, data) VALUES
790+ (101, "user_d", "\x03\x29\x03", "101")
791+ )" ));
792+
793+ auto result = session.ExecuteDataQuery (query1, TTxControl::BeginTx (TTxSettings::SerializableRW ()).CommitTx ())
794+ .ExtractValueSync ();
795+ UNIT_ASSERT (result.IsSuccess ());
796+ }
797+
798+ // Index is not updated
799+ const TString postingTable1_ins = ReadTablePartToYson (session, " /Root/TestTable/index/indexImplPostingTable" );
800+ UNIT_ASSERT_STRINGS_EQUAL (originalPostingTable, postingTable1_ins);
801+ const TString prefixTable1_ins = ReadTablePartToYson (session, " /Root/TestTable/index/indexImplPrefixTable" );
802+ UNIT_ASSERT_STRINGS_EQUAL (originalPrefixTable, prefixTable1_ins);
803+ }
804+
766805}
767806
768807}
0 commit comments