pub const LIST_CONTRACTS_BY_TIME: &str = "SELECT\n contract_predicate.contract_id,\n predicate.predicate\nFROM\n predicate\n JOIN contract_predicate ON predicate.id = contract_predicate.predicate_id\nWHERE\n contract_predicate.contract_id IN (\n SELECT\n id\n FROM\n contract\n WHERE\n (\n created_at_seconds > :start_seconds\n OR (\n created_at_seconds = :start_seconds\n AND created_at_nanos >= :start_nanos\n )\n )\n AND (\n created_at_seconds < :end_seconds\n OR (\n created_at_seconds = :end_seconds\n AND created_at_nanos <= :end_nanos\n )\n )\n LIMIT\n :page_size OFFSET :page_size * :page_number\n )\nORDER BY\n contract_predicate.contract_id,\n contract_predicate.id;\n";
Expand description
SELECT
contract_predicate.contract_id,
predicate.predicate
FROM
predicate
JOIN contract_predicate ON predicate.id = contract_predicate.predicate_id
WHERE
contract_predicate.contract_id IN (
SELECT
id
FROM
contract
WHERE
(
created_at_seconds > :start_seconds
OR (
created_at_seconds = :start_seconds
AND created_at_nanos >= :start_nanos
)
)
AND (
created_at_seconds < :end_seconds
OR (
created_at_seconds = :end_seconds
AND created_at_nanos <= :end_nanos
)
)
LIMIT
:page_size OFFSET :page_size * :page_number
)
ORDER BY
contract_predicate.contract_id,
contract_predicate.id;