Hello Tim Armstrong, Zach Amsden, I'd like you to reexamine a change. Please visit
http://gerrit.cloudera.org:8080/8639 to look at the new patch set (#4). Change subject: IMPALA-4664: Unexpected string conversion in Shell ...................................................................... IMPALA-4664: Unexpected string conversion in Shell Impala shell can accidentally convert certain literal strings to lowercase. Impala shell splits each command into tokens and then converts the first token to lowercase to figure out how it should execute the command. The splitting is done by spaces only. Thus, if the user types a TAB after the SELECT, the first token after the split becomes the SELECT plus whatever comes after it. sqlparse libraries is upgraded from 0.1.14 to 0.2.4 due to bug fixes and syntax extension. sqlparse 0.1.14 cannot parse assignment properly. (e.g. set variable=value) Testing: Add tests to tests/shell/test_shell_interactive.py Change-Id: Iba6fa4e9ac570d22135ba51b844db8f9be965ca3 --- M LICENSE.txt M README.md M bin/rat_exclude_files.txt M bin/set-pythonpath.sh M shell/.gitignore R shell/ext-py/egg/prettytable-0.7.1/CHANGELOG R shell/ext-py/egg/prettytable-0.7.1/COPYING R shell/ext-py/egg/prettytable-0.7.1/MANIFEST.in R shell/ext-py/egg/prettytable-0.7.1/PKG-INFO R shell/ext-py/egg/prettytable-0.7.1/README R shell/ext-py/egg/prettytable-0.7.1/prettytable.py R shell/ext-py/egg/prettytable-0.7.1/setup.cfg R shell/ext-py/egg/prettytable-0.7.1/setup.py R shell/ext-py/egg/sasl-0.1.1/MANIFEST.in R shell/ext-py/egg/sasl-0.1.1/PKG-INFO R shell/ext-py/egg/sasl-0.1.1/sasl/__init__.py R shell/ext-py/egg/sasl-0.1.1/sasl/saslwrapper.cpp R shell/ext-py/egg/sasl-0.1.1/sasl/saslwrapper.h R shell/ext-py/egg/sasl-0.1.1/sasl/saslwrapper.py R shell/ext-py/egg/sasl-0.1.1/sasl/saslwrapper_wrap.cxx R shell/ext-py/egg/sasl-0.1.1/setup.cfg R shell/ext-py/egg/sasl-0.1.1/setup.py D shell/ext-py/sqlparse-0.1.14/AUTHORS D shell/ext-py/sqlparse-0.1.14/CHANGES D shell/ext-py/sqlparse-0.1.14/bin/sqlformat D shell/ext-py/sqlparse-0.1.14/docs/source/changes.rst D shell/ext-py/sqlparse-0.1.14/pytest.ini D shell/ext-py/sqlparse-0.1.14/setup.cfg D shell/ext-py/sqlparse-0.1.14/sqlparse/engine/__init__.py D shell/ext-py/sqlparse-0.1.14/sqlparse/engine/filter.py D shell/ext-py/sqlparse-0.1.14/sqlparse/engine/grouping.py D shell/ext-py/sqlparse-0.1.14/sqlparse/exceptions.py D shell/ext-py/sqlparse-0.1.14/sqlparse/filters.py D shell/ext-py/sqlparse-0.1.14/sqlparse/formatter.py D shell/ext-py/sqlparse-0.1.14/sqlparse/functions.py D shell/ext-py/sqlparse-0.1.14/sqlparse/lexer.py D shell/ext-py/sqlparse-0.1.14/sqlparse/pipeline.py D shell/ext-py/sqlparse-0.1.14/sqlparse/sql.py D shell/ext-py/sqlparse-0.1.14/sqlparse/tokens.py D shell/ext-py/sqlparse-0.1.14/sqlparse/utils.py D shell/ext-py/sqlparse-0.1.14/tests/test_filters.py D shell/ext-py/sqlparse-0.1.14/tests/test_format.py D shell/ext-py/sqlparse-0.1.14/tests/test_functions.py D shell/ext-py/sqlparse-0.1.14/tests/test_grouping.py D shell/ext-py/sqlparse-0.1.14/tests/test_parse.py D shell/ext-py/sqlparse-0.1.14/tests/test_pipeline.py D shell/ext-py/sqlparse-0.1.14/tests/test_regressions.py D shell/ext-py/sqlparse-0.1.14/tests/test_split.py D shell/ext-py/sqlparse-0.1.14/tests/test_tokenize.py D shell/ext-py/sqlparse-0.1.14/tests/utils.py D shell/ext-py/sqlparse-0.1.14/tox.ini A shell/ext-py/whl/sqlparse-0.2.4/AUTHORS A shell/ext-py/whl/sqlparse-0.2.4/CHANGELOG R shell/ext-py/whl/sqlparse-0.2.4/LICENSE R shell/ext-py/whl/sqlparse-0.2.4/MANIFEST.in R shell/ext-py/whl/sqlparse-0.2.4/PKG-INFO R shell/ext-py/whl/sqlparse-0.2.4/README.rst R shell/ext-py/whl/sqlparse-0.2.4/TODO R shell/ext-py/whl/sqlparse-0.2.4/docs/source/analyzing.rst R shell/ext-py/whl/sqlparse-0.2.4/docs/source/api.rst A shell/ext-py/whl/sqlparse-0.2.4/docs/source/changes.rst R shell/ext-py/whl/sqlparse-0.2.4/docs/source/conf.py R shell/ext-py/whl/sqlparse-0.2.4/docs/source/index.rst R shell/ext-py/whl/sqlparse-0.2.4/docs/source/indices.rst R shell/ext-py/whl/sqlparse-0.2.4/docs/source/intro.rst R shell/ext-py/whl/sqlparse-0.2.4/docs/source/ui.rst R shell/ext-py/whl/sqlparse-0.2.4/docs/sqlformat.1 A shell/ext-py/whl/sqlparse-0.2.4/setup.cfg R shell/ext-py/whl/sqlparse-0.2.4/setup.py R shell/ext-py/whl/sqlparse-0.2.4/sqlparse/__init__.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/__main__.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/cli.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/compat.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/engine/__init__.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/engine/filter_stack.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/engine/grouping.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/engine/statement_splitter.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/exceptions.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/filters/__init__.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/filters/aligned_indent.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/filters/others.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/filters/output.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/filters/reindent.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/filters/right_margin.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/filters/tokens.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/formatter.py R shell/ext-py/whl/sqlparse-0.2.4/sqlparse/keywords.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/lexer.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/sql.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/tokens.py A shell/ext-py/whl/sqlparse-0.2.4/sqlparse/utils.py R shell/ext-py/whl/sqlparse-0.2.4/tests/__init__.py A shell/ext-py/whl/sqlparse-0.2.4/tests/conftest.py R shell/ext-py/whl/sqlparse-0.2.4/tests/files/_Make_DirEntry.sql R shell/ext-py/whl/sqlparse-0.2.4/tests/files/begintag.sql R shell/ext-py/whl/sqlparse-0.2.4/tests/files/begintag_2.sql R shell/ext-py/whl/sqlparse-0.2.4/tests/files/dashcomment.sql A shell/ext-py/whl/sqlparse-0.2.4/tests/files/encoding_gbk.sql A shell/ext-py/whl/sqlparse-0.2.4/tests/files/encoding_utf8.sql R shell/ext-py/whl/sqlparse-0.2.4/tests/files/function.sql R shell/ext-py/whl/sqlparse-0.2.4/tests/files/function_psql.sql R shell/ext-py/whl/sqlparse-0.2.4/tests/files/function_psql2.sql R shell/ext-py/whl/sqlparse-0.2.4/tests/files/function_psql3.sql A shell/ext-py/whl/sqlparse-0.2.4/tests/files/function_psql4.sql R shell/ext-py/whl/sqlparse-0.2.4/tests/files/huge_select.sql A shell/ext-py/whl/sqlparse-0.2.4/tests/files/stream.sql R shell/ext-py/whl/sqlparse-0.2.4/tests/files/test_cp1251.sql A shell/ext-py/whl/sqlparse-0.2.4/tests/test_cli.py A shell/ext-py/whl/sqlparse-0.2.4/tests/test_format.py A shell/ext-py/whl/sqlparse-0.2.4/tests/test_grouping.py A shell/ext-py/whl/sqlparse-0.2.4/tests/test_keywords.py A shell/ext-py/whl/sqlparse-0.2.4/tests/test_parse.py A shell/ext-py/whl/sqlparse-0.2.4/tests/test_regressions.py A shell/ext-py/whl/sqlparse-0.2.4/tests/test_split.py A shell/ext-py/whl/sqlparse-0.2.4/tests/test_tokenize.py A shell/ext-py/whl/sqlparse-0.2.4/tox.ini M shell/impala-shell M shell/impala_shell.py M shell/make_shell_tarball.sh M tests/shell/test_shell_interactive.py 120 files changed, 6,128 insertions(+), 5,137 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/39/8639/4 -- To view, visit http://gerrit.cloudera.org:8080/8639 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newpatchset Gerrit-Change-Id: Iba6fa4e9ac570d22135ba51b844db8f9be965ca3 Gerrit-Change-Number: 8639 Gerrit-PatchSet: 4 Gerrit-Owner: Kim Jin Chul <jinc...@gmail.com> Gerrit-Reviewer: Kim Jin Chul <jinc...@gmail.com> Gerrit-Reviewer: Tim Armstrong <tarmstr...@cloudera.com> Gerrit-Reviewer: Zach Amsden <zams...@cloudera.com>