dbcli / dbcli/mssql-cli

`IndexError: list index out of range` for stored procedures

未关闭
#393 4 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
area: interactive bug
主要语言
Python
星标
1.4k
派生
191
PR 合并指标
30 天内没有已合并 PR

描述

I get a crash when trying to run a built-in stored procedure:
```
HRDB> exec sp_spaceused;
Traceback (most recent call last):
File "/usr/lib/python2.7/runpy.py", line 174, in _run_module_as_main
"__main__", fname, loader, pkg_name)
File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
exec code in run_globals
File "/home/eric/.virtualenvs/awscli/lib/python2.7/site-packages/mssqlcli/main.py", line 117, in
main()
File "/home/eric/.virtualenvs/awscli/lib/python2.7/site-packages/mssqlcli/main.py", line 110, in main
run_cli_with(mssqlcli_options)
File "/home/eric/.virtualenvs/awscli/lib/python2.7/site-packages/mssqlcli/main.py", line 55, in run_cli_with
mssqlcli.run()
File "/home/eric/.virtualenvs/awscli/local/lib/python2.7/site-packages/mssqlcli/mssql_cli.py", line 440, in run
self.execute_query(text)
File "/home/eric/.virtualenvs/awscli/local/lib/python2.7/site-packages/mssqlcli/mssql_cli.py", line 365, in execute_query
output = self._execute_interactive_command(text)
File "/home/eric/.virtualenvs/awscli/local/lib/python2.7/site-packages/mssqlcli/mssql_cli.py", line 321, in _execute_interactive_command
output, query = self._evaluate_command(text)
File "/home/eric/.virtualenvs/awscli/local/lib/python2.7/site-packages/mssqlcli/mssql_cli.py", line 548, in _evaluate_command
self.mssqlcliclient_main.execute_query(text):
File "/home/eric/.virtualenvs/awscli/local/lib/python2.7/site-packages/mssqlcli/mssqlcliclient.py", line 112, in execute_query
in self._execute_query(single_query):
File "/home/eric/.virtualenvs/awscli/local/lib/python2.7/site-packages/mssqlcli/mssqlcliclient.py", line 146, in _execute_query
= query_messages[result_set_summary.request_id].message if query_messages else u''
IndexError: list index out of range
```

贡献指南

这个仓库没有索引到贡献指南

调研方向

在 mssql-cli 客户端中使用 `exec sp_spaceused;` 重现该故障,然后检查 `mssqlcliclient.py`,尤其是第 146 行附近的 `_execute_query`,以及 traceback 中显示的查询执行路径。完成的标准是:内置存储过程不再产生 `IndexError: list index out of range`,并且其输出或消息能够在不崩溃的情况下得到处理。

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

评估

技术栈
python, sql
领域
cli, databases
Issue 类型
缺陷
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
描述清楚
新手友好度
45/100

把新 issue 发到你的邮箱

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