maestral.database.query ======================= .. py:module:: maestral.database.query .. autoapi-nested-parse:: SQL query definitions that facilitate writing object-oriented code to generate SQL queries. Module Contents --------------- .. py:class:: Query Base type for query .. py:method:: clause() :abstractmethod: Generate the corresponding SQL clause. :returns: SQL clause and arguments to substitute. .. py:method:: order_by(expr) .. py:class:: OrderedQuery(query, order_expr) Bases: :py:obj:`Query` Ordered query .. py:method:: clause() Generate the corresponding SQL clause. :returns: SQL clause and arguments to substitute. .. py:class:: PathTreeQuery(column, path) Bases: :py:obj:`Query` Query for an entire subtree at the given path. :param column: Column to match. :param path: Root path for the subtree. .. py:method:: clause() Generate the corresponding SQL clause. :returns: SQL clause and arguments to substitute. .. py:class:: MatchQuery(column, value) Bases: :py:obj:`Query` Query to match an exact value. :param column: Column to match. :param value: Value to match. .. py:method:: clause() Generate the corresponding SQL clause. :returns: SQL clause and arguments to substitute. .. py:class:: AllQuery Bases: :py:obj:`Query` Query to match everything. .. py:method:: clause() Generate the corresponding SQL clause. :returns: SQL clause and arguments to substitute. .. py:class:: CollectionQuery(*subqueries) Bases: :py:obj:`Query` An abstract query class that aggregates other queries. Can be indexed like a list to access the sub-queries. :param subqueries: Subqueries to aggregate. .. py:method:: clause_with_joiner(joiner) Return a clause created by joining together the clauses of all subqueries with the string joiner (padded by spaces). .. py:method:: clause() :abstractmethod: Generate the corresponding SQL clause. :returns: SQL clause and arguments to substitute. .. py:class:: AndQuery(*subqueries) Bases: :py:obj:`CollectionQuery` A conjunction of a list of other queries. .. py:method:: clause() Generate the corresponding SQL clause. :returns: SQL clause and arguments to substitute. .. py:class:: OrQuery(*subqueries) Bases: :py:obj:`CollectionQuery` A conjunction of a list of other queries. .. py:method:: clause() Generate the corresponding SQL clause. :returns: SQL clause and arguments to substitute. .. py:class:: NotQuery(subquery) Bases: :py:obj:`Query` A query that matches the negation of its `subquery`, as a shortcut for performing `not(subquery)` without using regular expressions. :param subquery: Query to negate. .. py:method:: clause() Generate the corresponding SQL clause. :returns: SQL clause and arguments to substitute.