Skip to content

Commit

Permalink
try more efficient query
Browse files Browse the repository at this point in the history
  • Loading branch information
LostVector committed Feb 19, 2025
1 parent 9635522 commit 00071fc
Showing 1 changed file with 13 additions and 17 deletions.
30 changes: 13 additions & 17 deletions backend/onyx/db/document.py
Original file line number Diff line number Diff line change
Expand Up @@ -82,28 +82,24 @@ def count_documents_by_needs_sync(session: Session) -> int:
def construct_document_select_for_connector_credential_pair_by_needs_sync(
connector_id: int, credential_id: int
) -> Select:
initial_doc_ids_stmt = select(DocumentByConnectorCredentialPair.id).where(
and_(
DocumentByConnectorCredentialPair.connector_id == connector_id,
DocumentByConnectorCredentialPair.credential_id == credential_id,
)
)

stmt = (
return (
select(DbDocument)
.join(
DocumentByConnectorCredentialPair,
DbDocument.id == DocumentByConnectorCredentialPair.id,
)
.where(
DbDocument.id.in_(initial_doc_ids_stmt),
or_(
DbDocument.last_modified
> DbDocument.last_synced, # last_modified is newer than last_synced
DbDocument.last_synced.is_(None), # never synced
),
and_(
DocumentByConnectorCredentialPair.connector_id == connector_id,
DocumentByConnectorCredentialPair.credential_id == credential_id,
or_(
DbDocument.last_modified > DbDocument.last_synced,
DbDocument.last_synced.is_(None),
),
)
)
.distinct()
)

return stmt


def construct_document_id_select_for_connector_credential_pair_by_needs_sync(
connector_id: int, credential_id: int
Expand Down

0 comments on commit 00071fc

Please sign in to comment.