QuerySupport - Интерфейс поддержки запросов к таблице
===========================================================

.. currentmodule:: axioma.core.dp

.. class:: QuerySupport

	Интерфейс поддержки запросов к таблице

	Методы:

		.. method:: checkQuery(table_query)

			Проверить валидность запроса к таблице

			:param table_query: запрос к таблице
			:type table_query: :class:`~axioma.core.dp.TableQuery`
			:return: валидность запроса
			:rtype: :class:`bool`

		.. method:: count(table_query=QuerySelectAll())

			Получить количество записей, удовлетворяющих запросу. Данный метод является наиболее предпочтительным для оценки количества записей. При этом используется наиболее оптимальный вариант выполнения запроса для каждого конкретного провайдера данных.

			:param table_query: запрос к таблице. По умолчанию дополнительные фильтры не используются
			:type table_query: :class:`~axioma.core.dp.TableQuery`
			:return: количество
			:rtype: количество записей, удовлетворяющих запросу

		.. method:: select(table_query, page_range=PageRange())

			Получить итератор на записи, удовлетворяющие запросу

			:param table_query: запрос к таблице
			:type table_query: :class:`~axioma.core.dp.TableQuery`
			:param page_range: диапазон запрашиваемых записей
			:type page_range: :class:`~axioma.core.dp.PageRange`
			:return: Итератор на записи в таблице
			:rtype: :class:`~axioma.core.dp.Cursor`
