Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

[coverage] Conformance findings: TRANSACTION-021

未关闭
#488 0 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
48/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
冷清
领域
databases

调研方向

先从 tests 下 coverage PR 中名为“TRANSACTION-021 — driver bug: isolation metadata advertises no supported level”的 xfail 测试开始,然后跟踪 Node.js 对 thrift 和 SEA 的 session getInfo 处理。完成的标准是代码 26 和 72 返回与受支持的事务级别一致且真实的隔离元数据,使 xfail 测试通过。

由索引模型根据 Issue 内容生成。

描述

Summary

Surfaced by the multi-language coverage fan-out while conformance-testing these SPEC-IDs against databricks/databricks-sql-nodejs. Each finding is committed as an expected-failure (xfail) test in the coverage PR — the test asserts the CORRECT (post-fix) behavior and stays red until THIS driver (databricks/databricks-sql-nodejs) is fixed, then flips green as a tripwire.

Findings

  • TRANSACTION-021 [thrift]: getInfo(CLI_DEFAULT_TXN_ISOLATION=26) and getInfo(SQL_TXN_ISOLATION_OPTION=72) both error on thrift: the driver keeps no capability info table and forwards isolation info codes to the server, which does not answer them, so it advertises no transaction-isolation support while Delta runs serializable-class transactions (same under-reporting class as databricks-odbc#137)
    • failing test: TRANSACTION-021 — driver bug: isolation metadata advertises no supported level [xfail] (see the coverage PR diff under tests/)
  • TRANSACTION-021 [sea]: getInfo(CLI_DEFAULT_TXN_ISOLATION=26) and getInfo(SQL_TXN_ISOLATION_OPTION=72) both error on the SEA kernel path too: no driver-side capability info table, so the isolation codes are forwarded to a server that answers only CLI_SERVER_NAME/CLI_DBMS_NAME/CLI_DBMS_VER, leaving isolation capability unadvertised
    • failing test: TRANSACTION-021 — driver bug: isolation metadata advertises no supported level [xfail] (see the coverage PR diff under tests/)
  • TRANSACTION-021: getInfo(CLI_DEFAULT_TXN_ISOLATION=26) and getInfo(SQL_TXN_ISOLATION_OPTION=72) both error on thrift and sea: the driver keeps no capability info table and forwards isolation info codes to the server, which does not answer them, so it advertises no transaction-isolation support while Delta runs serializable-class transactions (same under-reporting class as databricks-odbc#137)

Reproduce & Expected

TRANSACTION-021 — Verify the driver's ISOLATION METADATA truthfully advertises the level it actually supports, and agrees with the connection attribute asserted by TRANSACTION-013/014.

Reproduce:

  • Read the driver's DEFAULT isolation level from its metadata surface (ODBC:
    SQLGetInfo(SQL_DEFAULT_TXN_ISOLATION); JDBC:
    DatabaseMetaData.getDefaultTransactionIsolation(); Node.js:
    session.getInfo(CLI_DEFAULT_TXN_ISOLATION)).
  • Read the SUPPORTED-levels capability (ODBC: SQLGetInfo(SQL_TXN_ISOLATION_OPTION) mask;
    JDBC: supportsTransactionIsolationLevel(level) probed per level).

Context

主要语言
TypeScript
星标
36
派生
50
平均合并
13 小时 46 分钟
30 天内合并 PR
9

贡献指南

打开贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

databricks/databricks-sql-nodejs 的其他 Issue

查看 databricks/databricks-sql-nodejs 的全部 Issue

相似的 Issue

更多 TypeScript Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。