def test_sql(client): # cleanup client.sql(drop_query) result = sql_fields( client, 'PUBLIC', create_query, page_size, include_field_names=True ) assert result.status == 0, result.message for i, data_line in enumerate(initial_data, start=1): fname, lname, grade = data_line result = sql_fields( client, 'PUBLIC', insert_query, page_size, query_args=[i, fname, lname, grade], include_field_names=True ) assert result.status == 0, result.message result = cache_get_configuration(client, 'SQL_PUBLIC_STUDENT') assert result.status == 0, result.message binary_type_name = result.value[PROP_QUERY_ENTITIES][0]['value_type_name'] result = sql( client, 'SQL_PUBLIC_STUDENT', binary_type_name, 'TRUE', page_size ) assert result.status == 0, result.message assert len(result.value['data']) == page_size assert result.value['more'] is True for wrapped_object in result.value['data'].values(): data = unwrap_binary(client, wrapped_object) assert data.type_id == entity_id(binary_type_name) cursor = result.value['cursor'] while result.value['more']: result = sql_cursor_get_page(client, cursor) assert result.status == 0, result.message for wrapped_object in result.value['data'].values(): data = unwrap_binary(client, wrapped_object) assert data.type_id == entity_id(binary_type_name) # repeat cleanup result = sql_fields(client, 'PUBLIC', drop_query, page_size) assert result.status == 0
def test_sql_fields(client): # cleanup client.sql(drop_query) result = sql_fields( client, 'PUBLIC', create_query, page_size, include_field_names=True ) assert result.status == 0, result.message for i, data_line in enumerate(initial_data, start=1): fname, lname, grade = data_line result = sql_fields( client, 'PUBLIC', insert_query, page_size, query_args=[i, fname, lname, grade], include_field_names=True ) assert result.status == 0, result.message result = sql_fields( client, 'PUBLIC', select_query, page_size, include_field_names=True ) assert result.status == 0 assert len(result.value['data']) == page_size assert result.value['more'] is True cursor = result.value['cursor'] result = sql_fields_cursor_get_page(client, cursor, field_count=4) assert result.status == 0 assert len(result.value['data']) == len(initial_data) - page_size assert result.value['more'] is False # repeat cleanup result = sql_fields(client, 'PUBLIC', drop_query, page_size) assert result.status == 0
def __init__(self, client, cache_info, *args, **kwargs): """ :param client: Synchronous Apache Ignite client. :param cache_info: Cache meta info. """ super().__init__(client, cache_info) self.connection = self.client.random_node self._finalize_init( sql_fields(self.connection, self.cache_info, *args, **kwargs))