You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by "Stefan Miklosovic (Jira)" <ji...@apache.org> on 2023/09/07 20:59:00 UTC
[jira] [Commented] (CASSANDRA-18547) Refactor cqlsh On/Off switch implementation
[ https://issues.apache.org/jira/browse/CASSANDRA-18547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17762872#comment-17762872 ]
Stefan Miklosovic commented on CASSANDRA-18547:
-----------------------------------------------
I am just thinking as I read that patch .... could we do "history on/off" too? By default it would be "on". The reasoning behind that is that if there are some security sensitive statements, like setting passwords etc, maybe a user wants to suppress the history for a while. That would be most probably another ticket though.
I like that the output is now same for every "command".
> 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-unsubscribe@cassandra.apache.org
For additional commands, e-mail: commits-help@cassandra.apache.org