Skip to content

Throw specific exceptions when attempting filters on empty lists #933

Closed

Description

@tsmith023

Currently, passing an empty list to any of the methods available on wvc.query.Filter throws index out of range errors.

Instead, we should catch this edge case and throw a specific exception notifying that filtering empty lists is not supported at all by Weaviate, as first encountered here: #929

Activity

  1. changed the title [-]Throw a specific exception when filtering on empty lists[/-] [+]Throw specific exceptions when attempting filters on empty lists[/+] on Mar 5, 2024
  2. saireddythfc commented on Mar 23, 2024

    @saireddythfc
    Contributor

    I tried creating a new feature branch to address this issue but I ran into this during the process:

    (Edit for context):
    black....................................................................Failed

    • hook id: black
    • files were modified by this hook

    reformatted weaviate/collections/filters.py

    All done! ✨ 🍰 ✨
    1 file reformatted.

    don't commit to branch...................................................Passed
    trim trailing whitespace.................................................Passed
    linting..................................................................Passed
    docstrings...............................................................Passed
    mypy.....................................................................Passed

    • hook id: mypy
    • duration: 32.01s

    Static checking ./weaviate:
    Success: no issues found in 142 source files
    Static checking ./integration:
    Success: no issues found in 23 source files

    pyright..................................................................Failed

    • hook id: pyright
    • exit code: 1

    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/collection.py
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/collection.py:199:9 - error: Overload 2 for "iterator" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/collection.py:232:9 - error: Overload 5 for "iterator" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/aggregations/near_image.py
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/aggregations/near_image.py:34:9 - error: Overload 2 for "near_image" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/aggregations/near_object.py
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/aggregations/near_object.py:32:9 - error: Overload 2 for "near_object" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/aggregations/near_text.py
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/aggregations/near_text.py:35:9 - error: Overload 2 for "near_text" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/aggregations/near_vector.py
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/aggregations/near_vector.py:32:9 - error: Overload 2 for "near_vector" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/aggregations/over_all.py
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/aggregations/over_all.py:26:9 - error: Overload 2 for "over_all" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/bm25/generate.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/bm25/generate.pyi:37:9 - error: Overload 2 for "bm25" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/bm25/generate.pyi:97:9 - error: Overload 5 for "bm25" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/bm25/query.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/bm25/query.pyi:34:9 - error: Overload 2 for "bm25" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/bm25/query.pyi:85:9 - error: Overload 5 for "bm25" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/fetch_object_by_id/query.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/fetch_object_by_id/query.pyi:29:9 - error: Overload 2 for "fetch_object_by_id" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/fetch_object_by_id/query.pyi:56:9 - error: Overload 5 for "fetch_object_by_id" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/fetch_objects/generate.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/fetch_objects/generate.pyi:94:9 - error: Overload 5 for "fetch_objects" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/fetch_objects/query.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/fetch_objects/query.pyi:35:9 - error: Overload 2 for "fetch_objects" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/fetch_objects/query.pyi:80:9 - error: Overload 5 for "fetch_objects" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/fetch_objects/query.pyi:110:9 - error: Overload 7 for "fetch_objects" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/hybrid/generate.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/hybrid/generate.pyi:40:9 - error: Overload 2 for "hybrid" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/hybrid/generate.pyi:109:9 - error: Overload 5 for "hybrid" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/hybrid/query.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/hybrid/query.pyi:37:9 - error: Overload 2 for "hybrid" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/hybrid/query.pyi:97:9 - error: Overload 5 for "hybrid" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_image/generate.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_image/generate.pyi:42:9 - error: Overload 2 for "near_image" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_image/generate.pyi:108:9 - error: Overload 5 for "near_image" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_image/generate.pyi:175:9 - error: Overload 8 for "near_image" will never be used because its parameters overlap overload 7 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_image/generate.pyi:241:9 - error: Overload 11 for "near_image" will never be used because its parameters overlap overload 10 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_image/query.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_image/query.pyi:39:9 - error: Overload 2 for "near_image" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_image/query.pyi:96:9 - error: Overload 5 for "near_image" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_image/query.pyi:156:9 - error: Overload 8 for "near_image" will never be used because its parameters overlap overload 7 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_image/query.pyi:213:9 - error: Overload 11 for "near_image" will never be used because its parameters overlap overload 10 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_media/generate.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_media/generate.pyi:50:9 - error: Overload 2 for "near_media" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_media/generate.pyi:119:9 - error: Overload 5 for "near_media" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_media/generate.pyi:189:9 - error: Overload 8 for "near_media" will never be used because its parameters overlap overload 7 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_media/generate.pyi:258:9 - error: Overload 11 for "near_media" will never be used because its parameters overlap overload 10 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_media/query.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_media/query.pyi:47:9 - error: Overload 2 for "near_media" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_media/query.pyi:107:9 - error: Overload 5 for "near_media" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_media/query.pyi:170:9 - error: Overload 8 for "near_media" will never be used because its parameters overlap overload 7 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_media/query.pyi:230:9 - error: Overload 11 for "near_media" will never be used because its parameters overlap overload 10 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_object/generate.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_object/generate.pyi:40:9 - error: Overload 2 for "near_object" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_object/generate.pyi:106:9 - error: Overload 5 for "near_object" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_object/generate.pyi:173:9 - error: Overload 8 for "near_object" will never be used because its parameters overlap overload 7 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_object/generate.pyi:239:9 - error: Overload 11 for "near_object" will never be used because its parameters overlap overload 10 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_object/query.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_object/query.pyi:37:9 - error: Overload 2 for "near_object" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_object/query.pyi:94:9 - error: Overload 5 for "near_object" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_object/query.pyi:154:9 - error: Overload 8 for "near_object" will never be used because its parameters overlap overload 7 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_object/query.pyi:211:9 - error: Overload 11 for "near_object" will never be used because its parameters overlap overload 10 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_text/generate.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_text/generate.pyi:49:9 - error: Overload 2 for "near_text" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_text/generate.pyi:121:9 - error: Overload 5 for "near_text" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_text/generate.pyi:194:9 - error: Overload 8 for "near_text" will never be used because its parameters overlap overload 7 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_text/generate.pyi:266:9 - error: Overload 11 for "near_text" will never be used because its parameters overlap overload 10 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_text/query.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_text/query.pyi:46:9 - error: Overload 2 for "near_text" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_text/query.pyi:109:9 - error: Overload 5 for "near_text" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_text/query.pyi:175:9 - error: Overload 8 for "near_text" will never be used because its parameters overlap overload 7 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_text/query.pyi:238:9 - error: Overload 11 for "near_text" will never be used because its parameters overlap overload 10 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_vector/generate.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_vector/generate.pyi:40:9 - error: Overload 2 for "near_vector" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_vector/generate.pyi:106:9 - error: Overload 5 for "near_vector" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_vector/generate.pyi:173:9 - error: Overload 8 for "near_vector" will never be used because its parameters overlap overload 7 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_vector/generate.pyi:239:9 - error: Overload 11 for "near_vector" will never be used because its parameters overlap overload 10 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_vector/query.pyi
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_vector/query.pyi:37:9 - error: Overload 2 for "near_vector" will never be used because its parameters overlap overload 1 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_vector/query.pyi:94:9 - error: Overload 5 for "near_vector" will never be used because its parameters overlap overload 4 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_vector/query.pyi:154:9 - error: Overload 8 for "near_vector" will never be used because its parameters overlap overload 7 (reportOverlappingOverload)
    /Users/hurrikane/Desktop/GitHub/Open Source Repos/weaviate-python-client/weaviate/collections/queries/near_vector/query.pyi:211:9 - error: Overload 11 for "near_vector" will never be used because its parameters overlap overload 10 (reportOverlappingOverload)
    61 errors, 0 warnings, 0 informations

  3. added a commit that references this issue on Apr 7, 2026
    1756f36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions