Skip to content

Commit a901930

Browse files
author
elasticsearchmachine
committed
Add capability check to avoid errors on mixed clusters
1 parent 6f7e9bb commit a901930

File tree

8 files changed

+45
-4
lines changed

8 files changed

+45
-4
lines changed

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
similarityWithVectorField
44
required_capability: cosine_vector_similarity_function
5+
required_capability: dense_vector_field_type_released
56

67
// tag::vector-cosine-similarity[]
78
from colors
@@ -30,6 +31,7 @@ gray | 0.9082483053207397
3031

3132
similarityAsPartOfExpression
3233
required_capability: cosine_vector_similarity_function
34+
required_capability: dense_vector_field_type_released
3335

3436
from colors
3537
| where color != "black"
@@ -54,6 +56,7 @@ gray | 1.454
5456

5557
similarityWithLiteralVectors
5658
required_capability: cosine_vector_similarity_function
59+
required_capability: dense_vector_field_type_released
5760

5861
row a = 1
5962
| eval similarity = round(v_cosine([1, 2, 3], [0, 1, 2]), 3)
@@ -66,6 +69,7 @@ similarity:double
6669

6770
similarityWithStats
6871
required_capability: cosine_vector_similarity_function
72+
required_capability: dense_vector_field_type_released
6973

7074
from colors
7175
| where color != "black"
@@ -80,6 +84,7 @@ avg:double | min:double | max:double
8084
similarityWithNull
8185
required_capability: cosine_vector_similarity_function
8286
required_capability: vector_similarity_functions_support_null
87+
required_capability: dense_vector_field_type_released
8388

8489
from colors
8590
| eval similarity = v_cosine(rgb_vector, null)
@@ -93,6 +98,7 @@ total_null:long
9398
similarityWithRow
9499
required_capability: cosine_vector_similarity_function
95100
required_capability: to_dense_vector_function
101+
required_capability: dense_vector_field_type_released
96102

97103
row vector = to_dense_vector([1, 2, 3])
98104
| eval similarity = round(v_cosine(vector, [0, 1, 2]), 3)
@@ -105,6 +111,7 @@ vector: dense_vector | similarity:double
105111
similarityWithVectorField
106112
required_capability: cosine_vector_similarity_function
107113
required_capability: to_dense_vector_function
114+
required_capability: dense_vector_field_type_released
108115

109116
from colors
110117
| where color != "black"

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
similarityWithVectorField
44
required_capability: dot_product_vector_similarity_function
5+
required_capability: dense_vector_field_type_released
56

67
// tag::vector-dot-product[]
78
from colors
@@ -29,6 +30,7 @@ old lace | 60563.0
2930

3031
similarityAsPartOfExpression
3132
required_capability: dot_product_vector_similarity_function
33+
required_capability: dense_vector_field_type_released
3234

3335
from colors
3436
| eval score = round((1 + v_dot_product(rgb_vector, [0, 255, 255]) / 2), 3)
@@ -52,6 +54,7 @@ old lace | 30282.5
5254

5355
similarityWithLiteralVectors
5456
required_capability: dot_product_vector_similarity_function
57+
required_capability: dense_vector_field_type_released
5558

5659
row a = 1
5760
| eval similarity = round(v_dot_product([1, 2, 3], [0, 1, 2]), 3)
@@ -64,6 +67,7 @@ similarity:double
6467

6568
similarityWithStats
6669
required_capability: dot_product_vector_similarity_function
70+
required_capability: dense_vector_field_type_released
6771

6872
from colors
6973
| eval similarity = round(v_dot_product(rgb_vector, [0, 255, 255]), 3)
@@ -77,6 +81,7 @@ avg:double | min:double | max:double
7781
similarityWithNull
7882
required_capability: dot_product_vector_similarity_function
7983
required_capability: vector_similarity_functions_support_null
84+
required_capability: dense_vector_field_type_released
8085

8186
from colors
8287
| eval similarity = v_dot_product(rgb_vector, null)
@@ -91,6 +96,7 @@ total_null:long
9196
similarityWithRow
9297
required_capability: dot_product_vector_similarity_function
9398
required_capability: to_dense_vector_function
99+
required_capability: dense_vector_field_type_released
94100

95101
row vector = to_dense_vector([1, 2, 3])
96102
| eval similarity = round(v_dot_product(vector, [0, 1, 2]), 3)
@@ -103,6 +109,7 @@ vector: dense_vector | similarity:double
103109
similarityWithVectorField
104110
required_capability: dot_product_vector_similarity_function
105111
required_capability: to_dense_vector_function
112+
required_capability: dense_vector_field_type_released
106113

107114
from colors
108115
| eval query = to_dense_vector([0, 255, 255])

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
similarityWithVectorField
44
required_capability: hamming_vector_similarity_function
5+
required_capability: dense_vector_field_type_released
56

67
// tag::vector-hamming[]
78
from colors
@@ -29,6 +30,7 @@ firebrick | 16.0
2930

3031
similarityAsPartOfExpression
3132
required_capability: hamming_vector_similarity_function
33+
required_capability: dense_vector_field_type_released
3234

3335
from colors
3436
| eval score = round((1 + v_hamming(rgb_vector, [0, 255, 255]) / 2), 3)
@@ -52,6 +54,7 @@ firebrick | 9.0
5254

5355
similarityWithLiteralVectors
5456
required_capability: hamming_vector_similarity_function
57+
required_capability: dense_vector_field_type_released
5558

5659
row a = 1
5760
| eval similarity = round(v_hamming([1, 2, 3], [0, 1, 2]), 3)
@@ -64,6 +67,7 @@ similarity:double
6467

6568
similarityWithStats
6669
required_capability: hamming_vector_similarity_function
70+
required_capability: dense_vector_field_type_released
6771

6872
from colors
6973
| eval similarity = round(v_hamming(rgb_vector, [0, 255, 255]), 3)
@@ -77,6 +81,7 @@ avg:double | min:double | max:double
7781
similarityWithNull
7882
required_capability: hamming_vector_similarity_function
7983
required_capability: vector_similarity_functions_support_null
84+
required_capability: dense_vector_field_type_released
8085

8186
from colors
8287
| eval similarity = v_hamming(rgb_vector, null)
@@ -90,6 +95,7 @@ total_null:long
9095
similarityWithRow
9196
required_capability: hamming_vector_similarity_function
9297
required_capability: to_dense_vector_function
98+
required_capability: dense_vector_field_type_released
9399

94100
row vector = to_dense_vector([1, 2, 3])
95101
| eval similarity = round(v_hamming(vector, [0, 1, 2]), 3)
@@ -102,6 +108,7 @@ vector: dense_vector | similarity:double
102108
similarityWithVectorField
103109
required_capability: hamming_vector_similarity_function
104110
required_capability: to_dense_vector_function
111+
required_capability: dense_vector_field_type_released
105112

106113
from colors
107114
| eval query = to_dense_vector([0, 255, 255])

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
similarityWithVectorField
44
required_capability: l1_norm_vector_similarity_function
5+
required_capability: dense_vector_field_type_released
56

67
// tag::vector-l1-norm[]
78
from colors
@@ -29,6 +30,7 @@ gold | 550.0
2930

3031
similarityAsPartOfExpression
3132
required_capability: l1_norm_vector_similarity_function
33+
required_capability: dense_vector_field_type_released
3234

3335
from colors
3436
| eval score = round((1 + v_l1_norm(rgb_vector, [0, 255, 255]) / 2), 3)
@@ -52,6 +54,7 @@ gold | 276.0
5254

5355
similarityWithLiteralVectors
5456
required_capability: l1_norm_vector_similarity_function
57+
required_capability: dense_vector_field_type_released
5558

5659
row a = 1
5760
| eval similarity = round(v_l1_norm([1, 2, 3], [0, 1, 2]), 3)
@@ -64,6 +67,7 @@ similarity:double
6467

6568
similarityWithStats
6669
required_capability: l1_norm_vector_similarity_function
70+
required_capability: dense_vector_field_type_released
6771

6872
from colors
6973
| eval similarity = round(v_l1_norm(rgb_vector, [0, 255, 255]), 3)
@@ -77,6 +81,7 @@ avg:double | min:double | max:double
7781
similarityWithNull
7882
required_capability: l1_norm_vector_similarity_function
7983
required_capability: vector_similarity_functions_support_null
84+
required_capability: dense_vector_field_type_released
8085

8186
from colors
8287
| eval similarity = v_l1_norm(rgb_vector, null)
@@ -90,6 +95,7 @@ total_null:long
9095
similarityWithRow
9196
required_capability: l1_norm_vector_similarity_function
9297
required_capability: to_dense_vector_function
98+
required_capability: dense_vector_field_type_released
9399

94100
row vector = to_dense_vector([1, 2, 3])
95101
| eval similarity = round(v_l1_norm(vector, [0, 1, 2]), 3)
@@ -102,6 +108,7 @@ vector: dense_vector | similarity:double
102108
similarityWithVectorField
103109
required_capability: l1_norm_vector_similarity_function
104110
required_capability: to_dense_vector_function
111+
required_capability: dense_vector_field_type_released
105112

106113
from colors
107114
| eval query = to_dense_vector([0, 255, 255])

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

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
similarityWithVectorField
44
required_capability: l2_norm_vector_similarity_function
5+
required_capability: dense_vector_field_type_released
56

67
// tag::vector-l2-norm[]
78
from colors
@@ -29,6 +30,7 @@ tomato | 351.0227966308594
2930

3031
similarityAsPartOfExpression
3132
required_capability: l2_norm_vector_similarity_function
33+
required_capability: dense_vector_field_type_released
3234

3335
from colors
3436
| eval score = round((1 + v_l2_norm(rgb_vector, [0, 255, 255]) / 2), 3)
@@ -52,6 +54,7 @@ tomato | 176.511
5254

5355
similarityWithLiteralVectors
5456
required_capability: l2_norm_vector_similarity_function
57+
required_capability: dense_vector_field_type_released
5558

5659
row a = 1
5760
| eval similarity = round(v_l2_norm([1, 2, 3], [0, 1, 2]), 3)
@@ -64,6 +67,7 @@ similarity:double
6467

6568
similarityWithStats
6669
required_capability: l2_norm_vector_similarity_function
70+
required_capability: dense_vector_field_type_released
6771

6872
from colors
6973
| eval similarity = round(v_l2_norm(rgb_vector, [0, 255, 255]), 3)
@@ -77,6 +81,7 @@ avg:double | min:double | max:double
7781
similarityWithNull
7882
required_capability: l2_norm_vector_similarity_function
7983
required_capability: vector_similarity_functions_support_null
84+
required_capability: dense_vector_field_type_released
8085

8186
from colors
8287
| eval similarity = v_l2_norm(rgb_vector, null)
@@ -90,6 +95,7 @@ total_null:long
9095
similarityWithRow
9196
required_capability: l2_norm_vector_similarity_function
9297
required_capability: to_dense_vector_function
98+
required_capability: dense_vector_field_type_released
9399

94100
row vector = to_dense_vector([1, 2, 3])
95101
| eval similarity = round(v_l2_norm(vector, [0, 1, 2]), 3)
@@ -102,6 +108,7 @@ vector: dense_vector | similarity:double
102108
similarityWithVectorField
103109
required_capability: l2_norm_vector_similarity_function
104110
required_capability: to_dense_vector_function
111+
required_capability: dense_vector_field_type_released
105112

106113
from colors
107114
| eval query = to_dense_vector([0, 255, 255])

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

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
magnitudeWithVectorField
44
required_capability: magnitude_scalar_vector_function
5+
required_capability: dense_vector_field_type_released
56

67
// tag::vector-magnitude[]
78
from colors
@@ -29,6 +30,7 @@ linen | 415.93267822265625
2930

3031
magnitudeAsPartOfExpression
3132
required_capability: magnitude_scalar_vector_function
33+
required_capability: dense_vector_field_type_released
3234

3335
from colors
3436
| eval score = round((1 + v_magnitude(rgb_vector) / 2), 3)
@@ -52,6 +54,7 @@ linen | 208.966
5254

5355
magnitudeWithLiteralVectors
5456
required_capability: magnitude_scalar_vector_function
57+
required_capability: dense_vector_field_type_released
5558

5659
row a = 1
5760
| eval magnitude = round(v_magnitude([1, 2, 3]), 3)
@@ -64,6 +67,7 @@ magnitude:double
6467

6568
magnitudeWithStats
6669
required_capability: magnitude_scalar_vector_function
70+
required_capability: dense_vector_field_type_released
6771

6872
from colors
6973
| eval magnitude = round(v_magnitude(rgb_vector), 3)
@@ -76,7 +80,8 @@ avg:double | min:double | max:double
7680

7781
magnitudeWithNull
7882
required_capability: magnitude_scalar_vector_function
79-
83+
required_capability: dense_vector_field_type_released
84+
8085
row a = 1
8186
| eval magnitude = v_magnitude(null)
8287
| keep magnitude
@@ -89,6 +94,7 @@ null
8994
magnitudeWithRow
9095
required_capability: magnitude_scalar_vector_function
9196
required_capability: to_dense_vector_function
97+
required_capability: dense_vector_field_type_released
9298

9399
row vector = to_dense_vector([1, 2, 3])
94100
| eval magnitude = round(v_magnitude(vector), 3)

x-pack/plugin/src/yamlRestTest/resources/rest-api-spec/test/esql/230_folding.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ setup:
55
- method: POST
66
path: /_query
77
parameters: [ ]
8-
capabilities: [ dense_vector_field_type ]
8+
capabilities: [ dense_vector_field_type_released ]
99
test_runner_features: [ capabilities, contains ]
1010
reason: "make sure new functions run where supported only, dense vector needed for index creation"
1111
- do:

x-pack/plugin/src/yamlRestTest/resources/rest-api-spec/test/esql/40_unsupported_types.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ unsupported:
145145
- method: POST
146146
path: /_query
147147
parameters: []
148-
capabilities: [dense_vector_field_type, dense_vector_agg_metric_double_if_fns]
148+
capabilities: [dense_vector_field_type_released, dense_vector_agg_metric_double_if_fns]
149149
reason: "uses original_type"
150150

151151
- do:
@@ -338,7 +338,7 @@ unsupported with sort:
338338
- method: POST
339339
path: /_query
340340
parameters: [ ]
341-
capabilities: [ dense_vector_field_type, dense_vector_agg_metric_double_if_fns ]
341+
capabilities: [ dense_vector_field_type_released, dense_vector_agg_metric_double_if_fns ]
342342
reason: "support for sorting when dense_vector_field_type present"
343343

344344
- do:

0 commit comments

Comments
 (0)