Skip to content

Commit 71d7eab

Browse files
author
elasticsearchmachine
committed
Change capabilities to avoid bwc problems
1 parent 3a83a70 commit 71d7eab

File tree

12 files changed

+86
-45
lines changed

12 files changed

+86
-45
lines changed

x-pack/plugin/esql/qa/testFixtures/src/main/resources/vector-magnitude.csv-spec

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Tests for v_magnitude scalar function
22

33
magnitudeWithVectorField
4-
required_capability: magnitude_scalar_vector_function
4+
required_capability: magnitude_scalar_vector_function_pushable
55
required_capability: dense_vector_field_type_released
66

77
// tag::vector-magnitude[]
@@ -29,7 +29,7 @@ linen | 415.93267822265625
2929
;
3030

3131
magnitudeAsPartOfExpression
32-
required_capability: magnitude_scalar_vector_function
32+
required_capability: magnitude_scalar_vector_function_pushable
3333
required_capability: dense_vector_field_type_released
3434

3535
from colors
@@ -53,7 +53,7 @@ linen | 208.966
5353
;
5454

5555
magnitudeWithLiteralVectors
56-
required_capability: magnitude_scalar_vector_function
56+
required_capability: magnitude_scalar_vector_function_pushable
5757
required_capability: dense_vector_field_type_released
5858

5959
row a = 1
@@ -66,7 +66,7 @@ magnitude:double
6666
;
6767

6868
magnitudeWithStats
69-
required_capability: magnitude_scalar_vector_function
69+
required_capability: magnitude_scalar_vector_function_pushable
7070
required_capability: dense_vector_field_type_released
7171

7272
from colors
@@ -79,7 +79,7 @@ avg:double | min:double | max:double
7979
;
8080

8181
magnitudeWithNull
82-
required_capability: magnitude_scalar_vector_function
82+
required_capability: magnitude_scalar_vector_function_pushable
8383
required_capability: dense_vector_field_type_released
8484

8585
row a = 1
@@ -92,7 +92,7 @@ null
9292
;
9393

9494
magnitudeWithRow
95-
required_capability: magnitude_scalar_vector_function
95+
required_capability: magnitude_scalar_vector_function_pushable
9696
required_capability: to_dense_vector_function
9797
required_capability: dense_vector_field_type_released
9898

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/action/EsqlCapabilities.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1305,7 +1305,7 @@ public enum Cap {
13051305
/**
13061306
* Cosine vector similarity function
13071307
*/
1308-
COSINE_VECTOR_SIMILARITY_FUNCTION(Build.current().isSnapshot()),
1308+
COSINE_VECTOR_SIMILARITY_FUNCTION_PUSHABLE(Build.current().isSnapshot()),
13091309

13101310
/**
13111311
* Fixed some profile serialization issues
@@ -1319,17 +1319,17 @@ public enum Cap {
13191319
/**
13201320
* Dot product vector similarity function
13211321
*/
1322-
DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION(Build.current().isSnapshot()),
1322+
DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION_PUSHABLE(Build.current().isSnapshot()),
13231323

13241324
/**
13251325
* l1 norm vector similarity function
13261326
*/
1327-
L1_NORM_VECTOR_SIMILARITY_FUNCTION(Build.current().isSnapshot()),
1327+
L1_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE(Build.current().isSnapshot()),
13281328

13291329
/**
13301330
* l2 norm vector similarity function
13311331
*/
1332-
L2_NORM_VECTOR_SIMILARITY_FUNCTION(Build.current().isSnapshot()),
1332+
L2_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE(Build.current().isSnapshot()),
13331333

13341334
/**
13351335
* Support for the options field of CATEGORIZE.
@@ -1355,7 +1355,7 @@ public enum Cap {
13551355
/*
13561356
* Support for calculating the scalar vector magnitude.
13571357
*/
1358-
MAGNITUDE_SCALAR_VECTOR_FUNCTION(Build.current().isSnapshot()),
1358+
MAGNITUDE_SCALAR_VECTOR_FUNCTION_PUSHABLE(Build.current().isSnapshot()),
13591359

13601360
/**
13611361
* Byte elements dense vector field type support.
@@ -1375,7 +1375,7 @@ public enum Cap {
13751375
/**
13761376
* Support for vector Hamming distance.
13771377
*/
1378-
HAMMING_VECTOR_SIMILARITY_FUNCTION(Build.current().isSnapshot()),
1378+
HAMMING_VECTOR_SIMILARITY_FUNCTION_PUSHABLE(Build.current().isSnapshot()),
13791379

13801380
/**
13811381
* Support for tbucket function

x-pack/plugin/esql/src/main/java/org/elasticsearch/xpack/esql/expression/function/vector/VectorWritables.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,22 +28,22 @@ public static List<NamedWriteableRegistry.Entry> getNamedWritables() {
2828
List<NamedWriteableRegistry.Entry> entries = new ArrayList<>();
2929

3030
entries.add(Knn.ENTRY);
31-
if (EsqlCapabilities.Cap.COSINE_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
31+
if (EsqlCapabilities.Cap.COSINE_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
3232
entries.add(CosineSimilarity.ENTRY);
3333
}
34-
if (EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
34+
if (EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
3535
entries.add(DotProduct.ENTRY);
3636
}
37-
if (EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
37+
if (EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
3838
entries.add(L1Norm.ENTRY);
3939
}
40-
if (EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
40+
if (EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
4141
entries.add(L2Norm.ENTRY);
4242
}
43-
if (EsqlCapabilities.Cap.MAGNITUDE_SCALAR_VECTOR_FUNCTION.isEnabled()) {
43+
if (EsqlCapabilities.Cap.MAGNITUDE_SCALAR_VECTOR_FUNCTION_PUSHABLE.isEnabled()) {
4444
entries.add(Magnitude.ENTRY);
4545
}
46-
if (EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
46+
if (EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
4747
entries.add(Hamming.ENTRY);
4848
}
4949

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/analysis/AnalyzerTests.java

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2418,28 +2418,28 @@ private void checkDenseVectorCastingKnnQueryParams(String fieldName) {
24182418
}
24192419

24202420
public void testDenseVectorImplicitCastingSimilarityFunctions() {
2421-
if (EsqlCapabilities.Cap.COSINE_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2421+
if (EsqlCapabilities.Cap.COSINE_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24222422
checkDenseVectorImplicitCastingSimilarityFunction(
24232423
"v_cosine(float_vector, [0.342, 0.164, 0.234])",
24242424
List.of(0.342, 0.164, 0.234)
24252425
);
24262426
checkDenseVectorImplicitCastingSimilarityFunction("v_cosine(byte_vector, [1, 2, 3])", List.of(1, 2, 3));
24272427
}
2428-
if (EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2428+
if (EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24292429
checkDenseVectorImplicitCastingSimilarityFunction(
24302430
"v_dot_product(float_vector, [0.342, 0.164, 0.234])",
24312431
List.of(0.342, 0.164, 0.234)
24322432
);
24332433
checkDenseVectorImplicitCastingSimilarityFunction("v_dot_product(byte_vector, [1, 2, 3])", List.of(1, 2, 3));
24342434
}
2435-
if (EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2435+
if (EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24362436
checkDenseVectorImplicitCastingSimilarityFunction(
24372437
"v_l1_norm(float_vector, [0.342, 0.164, 0.234])",
24382438
List.of(0.342, 0.164, 0.234)
24392439
);
24402440
checkDenseVectorImplicitCastingSimilarityFunction("v_l1_norm(byte_vector, [1, 2, 3])", List.of(1, 2, 3));
24412441
}
2442-
if (EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2442+
if (EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24432443
checkDenseVectorImplicitCastingSimilarityFunction(
24442444
"v_l2_norm(float_vector, [0.342, 0.164, 0.234])",
24452445
List.of(0.342, 0.164, 0.234)
@@ -2450,7 +2450,7 @@ public void testDenseVectorImplicitCastingSimilarityFunctions() {
24502450
checkDenseVectorImplicitCastingSimilarityFunction("v_l2_norm(bit_vector, [1, 2])", List.of(1, 2));
24512451
}
24522452
}
2453-
if (EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2453+
if (EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24542454
checkDenseVectorImplicitCastingSimilarityFunction(
24552455
"v_hamming(byte_vector, [0.342, 0.164, 0.234])",
24562456
List.of(0.342, 0.164, 0.234)
@@ -2480,23 +2480,23 @@ private void checkDenseVectorImplicitCastingSimilarityFunction(String similarity
24802480
}
24812481

24822482
public void testDenseVectorEvalCastingSimilarityFunctions() {
2483-
if (EsqlCapabilities.Cap.COSINE_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2483+
if (EsqlCapabilities.Cap.COSINE_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24842484
checkDenseVectorEvalCastingSimilarityFunction("v_cosine(float_vector, query)");
24852485
checkDenseVectorEvalCastingSimilarityFunction("v_cosine(byte_vector, query)");
24862486
}
2487-
if (EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2487+
if (EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24882488
checkDenseVectorEvalCastingSimilarityFunction("v_dot_product(float_vector, query)");
24892489
checkDenseVectorEvalCastingSimilarityFunction("v_dot_product(byte_vector, query)");
24902490
}
2491-
if (EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2491+
if (EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24922492
checkDenseVectorEvalCastingSimilarityFunction("v_l1_norm(float_vector, query)");
24932493
checkDenseVectorEvalCastingSimilarityFunction("v_l1_norm(byte_vector, query)");
24942494
}
2495-
if (EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2495+
if (EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24962496
checkDenseVectorEvalCastingSimilarityFunction("v_l2_norm(float_vector, query)");
24972497
checkDenseVectorEvalCastingSimilarityFunction("v_l2_norm(float_vector, query)");
24982498
}
2499-
if (EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2499+
if (EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
25002500
checkDenseVectorEvalCastingSimilarityFunction("v_hamming(byte_vector, query)");
25012501
checkDenseVectorEvalCastingSimilarityFunction("v_hamming(byte_vector, query)");
25022502
}
@@ -2521,16 +2521,16 @@ private void checkDenseVectorEvalCastingSimilarityFunction(String similarityFunc
25212521

25222522
public void testVectorFunctionHexImplicitCastingError() {
25232523
checkVectorFunctionHexImplicitCastingError("where knn(float_vector, \"notcorrect\")");
2524-
if (EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2524+
if (EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
25252525
checkVectorFunctionHexImplicitCastingError("eval s = v_dot_product(\"notcorrect\", 0.342)");
25262526
}
2527-
if (EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2527+
if (EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
25282528
checkVectorFunctionHexImplicitCastingError("eval s = v_l1_norm(\"notcorrect\", 0.342)");
25292529
}
2530-
if (EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2530+
if (EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
25312531
checkVectorFunctionHexImplicitCastingError("eval s = v_l2_norm(\"notcorrect\", 0.342)");
25322532
}
2533-
if (EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2533+
if (EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
25342534
checkVectorFunctionHexImplicitCastingError("eval s = v_hamming(\"notcorrect\", 0.342)");
25352535
}
25362536
}
@@ -2548,7 +2548,7 @@ private void checkVectorFunctionHexImplicitCastingError(String clause) {
25482548
}
25492549

25502550
public void testMagnitudePlanWithDenseVectorImplicitCasting() {
2551-
assumeTrue("v_magnitude not available", EsqlCapabilities.Cap.MAGNITUDE_SCALAR_VECTOR_FUNCTION.isEnabled());
2551+
assumeTrue("v_magnitude not available", EsqlCapabilities.Cap.MAGNITUDE_SCALAR_VECTOR_FUNCTION_PUSHABLE.isEnabled());
25522552

25532553
var plan = analyze(String.format(Locale.ROOT, """
25542554
from test | eval scalar = v_magnitude([1, 2, 3])

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/analysis/VerifierTests.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2471,26 +2471,26 @@ private void checkFullTextFunctionsInStats(String functionInvocation) {
24712471
}
24722472

24732473
public void testVectorSimilarityFunctionsNullArgs() throws Exception {
2474-
if (EsqlCapabilities.Cap.COSINE_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2474+
if (EsqlCapabilities.Cap.COSINE_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24752475
checkVectorFunctionsNullArgs("v_cosine(null, vector)");
24762476
checkVectorFunctionsNullArgs("v_cosine(vector, null)");
24772477
}
2478-
if (EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2478+
if (EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24792479
checkVectorFunctionsNullArgs("v_dot_product(null, vector)");
24802480
checkVectorFunctionsNullArgs("v_dot_product(vector, null)");
24812481
}
2482-
if (EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2482+
if (EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24832483
checkVectorFunctionsNullArgs("v_l1_norm(null, vector)");
24842484
checkVectorFunctionsNullArgs("v_l1_norm(vector, null)");
24852485
}
2486-
if (EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2486+
if (EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24872487
checkVectorFunctionsNullArgs("v_l2_norm(null, vector)");
24882488
checkVectorFunctionsNullArgs("v_l2_norm(vector, null)");
24892489
}
2490-
if (EsqlCapabilities.Cap.MAGNITUDE_SCALAR_VECTOR_FUNCTION.isEnabled()) {
2490+
if (EsqlCapabilities.Cap.MAGNITUDE_SCALAR_VECTOR_FUNCTION_PUSHABLE.isEnabled()) {
24912491
checkVectorFunctionsNullArgs("v_magnitude(null)");
24922492
}
2493-
if (EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION.isEnabled()) {
2493+
if (EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION_PUSHABLE.isEnabled()) {
24942494
checkVectorFunctionsNullArgs("v_hamming(null, vector)");
24952495
checkVectorFunctionsNullArgs("v_hamming(vector, null)");
24962496
}

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/vector/CosineSimilarityTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public static Iterable<Object[]> parameters() {
3737
}
3838

3939
protected EsqlCapabilities.Cap capability() {
40-
return EsqlCapabilities.Cap.COSINE_VECTOR_SIMILARITY_FUNCTION;
40+
return EsqlCapabilities.Cap.COSINE_VECTOR_SIMILARITY_FUNCTION_PUSHABLE;
4141
}
4242

4343
@Override

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/vector/DotProductSimilarityTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public static Iterable<Object[]> parameters() {
3737
}
3838

3939
protected EsqlCapabilities.Cap capability() {
40-
return EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION;
40+
return EsqlCapabilities.Cap.DOT_PRODUCT_VECTOR_SIMILARITY_FUNCTION_PUSHABLE;
4141
}
4242

4343
@Override

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/vector/HammingSimilarityTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public static Iterable<Object[]> parameters() {
3737
}
3838

3939
protected EsqlCapabilities.Cap capability() {
40-
return EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION;
40+
return EsqlCapabilities.Cap.HAMMING_VECTOR_SIMILARITY_FUNCTION_PUSHABLE;
4141
}
4242

4343
@Override

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/vector/L1NormSimilarityTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public static Iterable<Object[]> parameters() {
3737
}
3838

3939
protected EsqlCapabilities.Cap capability() {
40-
return EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION;
40+
return EsqlCapabilities.Cap.L1_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE;
4141
}
4242

4343
@Override

x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/expression/function/vector/L2NormSimilarityTests.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public static Iterable<Object[]> parameters() {
3737
}
3838

3939
protected EsqlCapabilities.Cap capability() {
40-
return EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION;
40+
return EsqlCapabilities.Cap.L2_NORM_VECTOR_SIMILARITY_FUNCTION_PUSHABLE;
4141
}
4242

4343
@Override

0 commit comments

Comments
 (0)