File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 22
33import pytest
44
5+ from weaviate .collections .collection import CollectionAsync
56from weaviate .collections .query import _QueryCollectionAsync
67from weaviate .connect import ConnectionV4
78from weaviate .exceptions import WeaviateInvalidInputError
9+ from weaviate .util import _ServerVersion
810
911# TODO: re-enable tests once string syntax is re-enabled in the API
1012
@@ -130,3 +132,14 @@ async def test_bad_query_inputs(connection: ConnectionV4) -> None:
130132
131133 # near image
132134 await _test_query (lambda : query .near_image (42 ))
135+
136+
137+ def test_async_collection_query_uses_current_connection_version (connection : ConnectionV4 ) -> None :
138+ collection = CollectionAsync (connection , "dummy" , True )
139+
140+ connection ._weaviate_version = _ServerVersion .from_string ("1.32.5" )
141+
142+ request = collection .query ._query .get ()
143+
144+ assert request .uses_125_api
145+ assert request .uses_127_api
Original file line number Diff line number Diff line change @@ -82,15 +82,17 @@ def __init__(
8282 tenant : Optional [str ],
8383 consistency_level : Optional [ConsistencyLevel ],
8484 validate_arguments : bool ,
85- uses_125_api : bool ,
86- uses_127_api : bool ,
8785 ):
8886 super ().__init__ (weaviate_version , consistency_level , validate_arguments )
8987 self ._name : str = name
9088 self ._tenant = tenant
9189 self ._validate_arguments = validate_arguments
92- self .__uses_125_api = uses_125_api
93- self .__uses_127_api = uses_127_api
90+ self ._use_weaviate_version (weaviate_version )
91+
92+ def _use_weaviate_version (self , weaviate_version : _ServerVersion ) -> None :
93+ self ._weaviate_version = weaviate_version
94+ self .__uses_125_api = weaviate_version .is_at_least (1 , 25 , 0 )
95+ self .__uses_127_api = weaviate_version .is_at_least (1 , 27 , 0 )
9496
9597 def __parse_near_options (
9698 self ,
Original file line number Diff line number Diff line change @@ -86,18 +86,23 @@ def __init__(
8686 self ._references = references
8787 self ._validate_arguments = validate_arguments
8888
89- self .__uses_125_api = connection ._weaviate_version .is_at_least (1 , 25 , 0 )
90- self .__uses_127_api = connection ._weaviate_version .is_at_least (1 , 27 , 0 )
91- self ._query = _QueryGRPC (
89+ self .__query = _QueryGRPC (
9290 connection ._weaviate_version ,
9391 self ._name ,
9492 self .__tenant ,
9593 self .__consistency_level ,
9694 validate_arguments = self ._validate_arguments ,
97- uses_125_api = self .__uses_125_api ,
98- uses_127_api = self .__uses_127_api ,
9995 )
10096
97+ @property
98+ def _query (self ) -> _QueryGRPC :
99+ self .__query ._use_weaviate_version (self ._connection ._weaviate_version )
100+ return self .__query
101+
102+ @property
103+ def __uses_127_api (self ) -> bool :
104+ return self ._connection ._weaviate_version .is_at_least (1 , 27 , 0 )
105+
101106 def __retrieve_timestamp (
102107 self ,
103108 timestamp : int ,
You can’t perform that action at this time.
0 commit comments