[ https://issues.apache.org/jira/browse/CASSANDRA-10733?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tyler Hobbs updated CASSANDRA-10733: ------------------------------------ Attachment: 10733-fix-space-2.2.txt Thanks for the patch! Sorry for the slow response, I had some higher priority things to take care of before the holidays. Your attached patch to fix the first issue looks good to me. However, I think your suggested approach for fixing the trailing space after a partial autocomplete is not correct. The root of the problem seems to be that after a partial completion, it's recursively looking for further completions, when we know that this isn't necessary. I've attached a patch that avoids recursion in this case. Would you mind adding some test cases for both of these in {{pylib/cqlshlib/test/test_cqlsh_completion.py}}? > Inconsistencies in CQLSH auto-complete > -------------------------------------- > > Key: CASSANDRA-10733 > URL: https://issues.apache.org/jira/browse/CASSANDRA-10733 > Project: Cassandra > Issue Type: Bug > Components: CQL, Tools > Reporter: Michael Edge > Assignee: Michael Edge > Priority: Trivial > Labels: cqlsh, lhf > Fix For: 2.1.x, 2.2.x, 3.x > > Attachments: 10733-fix-space-2.2.txt, > CASSANDRA-2.2-10733-CQLSH-Auto.patch, CASSANDRA-3.0-10733-CQLSH-Auto.patch > > > Auto-complete in cqlsh does not work correctly on some commands. We see some > inconsistent behaviour when completing part of the statement and hitting the > tab key. > {color:green}Works correctly{color} > Auto-complete on {{'desc table '}}, {{'desc function '}} and {{'desc type '}} > works correctly. We see a list of all tables (or functions, types) in the > current keyspace plus a list of all available keyspaces followed by a full > stop (e.g. system.) > {code} > cqlsh:fxaggr> desc TABLE > minutedata system_distributed. > ; rawtickdatabylp system_traces. > <enter> rawtickdatabysymbol tickdata > daydata system. > fxaggr. system_auth. > {code} > {color:red}Fix required{color} > {{'desc aggregate '}} displays the aggregates in the current keyspace (in > this case, only 1, called 'average') but does not display a list of available > keyspaces. It only displays the current keyspace, with no following full stop. > {code} > cqlsh:fxaggr> desc aggregate > ; <enter> average fxaggr > {code} > {color:green}Works correctly{color} > Auto-complete on {{'desc table <keyspace>. '}} and {{'desc type > <keyspace>.'}} works correctly. We see a list of all tables (or types) in the > current keyspace > {code} > cqlsh:fxaggr> desc table fxaggr. > daydata rawtickdatabylp tickdata > minutedata rawtickdatabysymbol > {code} > {color:red}Fix required{color} > Auto-complete on {{'desc function <keyspace>. '}} and {{'desc aggregate > <keyspace>.'}} works inconsistently. In a keyspace with 2 functions, both > beginning with the letters 'avg', if I type {{'desc function <keyspace>'}} > and hit tab, auto-complete will result in this: {{'desc function fxaggr.avg > '}} and will not display the matching functions. If I type {{'desc function > <keyspace>.'}} (note the trailing full stop) and hit tab, auto-complete will > work correctly: > {code} > cqlsh:fxaggr> desc function fxaggr.avg > avgfinal avgstate > {code} > If I type {{'desc aggregate <keyspace>'}} and hit tab, auto-complete returns > {{'desc aggregate <keyspace> '}} (it adds a space) and does not show me the > list of available aggregates. If I type {{'desc aggregate <keyspace>.'}} > (note the trailing full stop) and hit tab, auto-complete will work correctly. -- This message was sent by Atlassian JIRA (v6.3.4#6332)