TableValueType should accept is_ operator class
维护者通常 1 天内回复
@nightcityblade 已经在做这个了。
开始于 2026年10月6日。
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 68/100
调研方向
首先找到 TableValueType 及其声明的运算符类,然后查看附近关于运算符类行为的测试。使用 table_valued().is_not(None) 示例重现报告的警告;当 is 和 is_not 在没有弃用警告的情况下被接受,且相关测试通过时,即为完成。
由索引模型根据 Issue 内容生成。
描述
In 2.1 different kind of operators were added, to improve their organisation in various construct.
The TableValueType currently does not allow is, and it's warning.
This is mostly a postgresql element, and pg does have IS available for rows and it has a specific meaning.
For example this is a perfectly valid example that warns
import sqlalchemy as sa
t = sa.Table(
"t",
sa.MetaData(),
sa.Column("id", sa.Integer),
sa.Column("name", sa.String()),
)
s = sa.select(t).where(t.table_valued().is_(None))
e = sa.create_engine("postgresql://scott:tiger@localhost/test")
e.echo = True
with e.connect() as conn:
t.metadata.create_all(conn)
conn.execute(t.insert(), [{'id': 1, 'name': 2}, {'id': None, 'name': None}])
result = conn.execute(s).all()
print(result)
This prints [(null, null)] (usually it's used with is not)
we above example raises
SADeprecationWarning: Type object <class 'sqlalchemy.sql.sqltypes.TableValueType'> does not include operator 'is_not' in its operator classes. Using built-in operators (not including custom or overridden operators) outside of a type's stated operator classes is deprecated and will raise InvalidRequestError in a future release
s = sa.select(t).where(t.table_valued().is_not(None))
- 主要语言
- Python
- 星标
- 12.2k
- 派生
- 1.8k
- PR 合并指标
- 30 天内没有已合并 PR
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
sqlalchemy/sqlalchemy 的其他 Issue
-
Document that asyncpg error messages no longer include DETAIL in 2.1可能已有人在做 关联的 PR 仍在进行中或已合并。 未关闭
难度 1/5 1-3 小时 新手友好度 82/100
sqlalchemy/sqlalchemy#13655 · 1 个 reaction ·
维护者通常 1 天内回复
-
PostgreSQL multihost URL with bracketed IPv6 hosts raises ValueError: too many values to unpack可能重新可做 关联的 PR 已关闭且未合并。 未关闭bug engine postgresql
难度 2/5 1-3 小时 新手友好度 88/100
sqlalchemy/sqlalchemy#13637 · 3 条评论 ·
维护者通常 1 天内回复
-
asyncpg dialect raises DBAPIError, not DataError, for SQLSTATE class 22 errors可能已有人在做 @HardMax71 于 6 天前认领。 未关闭bug dialects
难度 2/5 1-3 小时 新手友好度 84/100
sqlalchemy/sqlalchemy#13636 · 7 条评论 ·
维护者通常 1 天内回复
-
documentation bug可能重新可做 关联的 PR 已关闭且未合并。 未关闭documentation
难度 2/5 1-3 小时 新手友好度 68/100
sqlalchemy/sqlalchemy#13594 · 2 条评论 · 5 个 reaction ·
维护者通常 1 天内回复
-
bug robots involved :robot: sql
难度 2/5 1-3 小时 新手友好度 72/100
sqlalchemy/sqlalchemy#13469 · 4 条评论 ·
维护者通常 1 天内回复
查看 sqlalchemy/sqlalchemy 的全部 Issue
相似的 Issue
-
HTML: <template> content is extracted as document text可能已有人在做 @ryanmeowy 今天认领。 未关闭bug html
难度 1/5 1 小时以内 新手友好度 82/100
docling-project/docling#4714 · 2 条评论 ·
维护者通常 1 天内回复
-
[BUG] Qdrant RAG client applies score_threshold to raw cosine similarity, not the 0-1 score it returns可能已有人在做 @roydonsequeira 今天认领。 未关闭bug
难度 2/5 1-3 小时 新手友好度 70/100
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
ashhart/TensorFold#536 ·
维护者通常 1 天内回复
-
area/install-update comp/cli duplicate P2 python:uv sweeper:risk-compatibility type/bug
难度 1/5 1 小时以内 新手友好度 62/100
NousResearch/hermes-agent#135440 · 1 条评论 ·
维护者通常 1 天内回复
-
bug
难度 2/5 1-3 小时 新手友好度 85/100
Deepak3699/Ai_Mentor#244 ·
维护者通常 1 天内回复