[ 
https://issues.apache.org/jira/browse/CASSANDRA-18547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17762885#comment-17762885
 ] 

Brad Schoening edited comment on CASSANDRA-18547 at 9/10/23 9:20 AM:
---------------------------------------------------------------------

Yes, history on/off could be implemented as well.  But I'd agree about putting 
that in a separate ticket.


was (Author: bschoeni):
Yes, history on/off could be implemented as well.  But I'd agree about putting 
it in a separate ticket.

> Refactor cqlsh On/Off switch implementation
> -------------------------------------------
>
>                 Key: CASSANDRA-18547
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18547
>             Project: Cassandra
>          Issue Type: Improvement
>          Components: CQL/Interpreter
>            Reporter: Brad Schoening
>            Assignee: Brad Schoening
>            Priority: Normal
>             Fix For: 5.x
>
>
> This change refactors the On/Off switch implemented in the class 
> SwitchCommand and subclass  SwitchCommandWithValue of cqlshmain.py to use an 
> Enum with static methods instead of custom classes.
> The body of on_off_switch + enum definition requires just 15 lines of code vs 
> 33 in SwitchCommand.
> The existing code is hard to read, including the usage in the code, which 
> instantiates a SwitchCommand object in-order to invoke the execute method:
>  
> {code:java}
> self.tracing_enabled = SwitchCommand("TRACING", 
> "Tracing").execute(self.tracing_enabled, parsed, self.printerr){code}
> this can be replaced by a more familiar direct function call:
> {code:java}
> self.tracing_enabled = self.on_off_toggle("TRACING", "Tracing", 
> self.tracing_enabled, parsed.get_binding('switch')){code}
>  
> The refactoring also updates the command output for consistency. Instead of 
> the current:
> {code:java}
> > tracing on
> Now Tracing is enabled
> > paging on
> Query paging is already enabled. Use PAGING OFF to disable.
> > expand on
> Now Expanded output is enabled
> {code}
> replace with more succinct and consistent, using 'ON/OFF' instead of 
> enabled/disabled and removing the redundant 'Now':
> {code:java}
> > tracing on
> TRACING set to ON
> > paging on
> PAGING is already ON
> > expand on
> EXPAND set to ON
> {code}
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to