Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 如何调试cqlsh?_Debugging_Autocomplete_Cassandra_Cqlsh - Fatal编程技术网

Debugging 如何调试cqlsh?

Debugging 如何调试cqlsh?,debugging,autocomplete,cassandra,cqlsh,Debugging,Autocomplete,Cassandra,Cqlsh,我需要了解cqlsh是如何进行自动完成的,因为我想在CREATETABLE语句的自动完成中包含一个自定义压缩策略。我通常通过在代码中的某个地方放置一个断点,然后遵循流程来实现这一点。但我不确定如何使用cqlsh实现这一点,因为我没有看到主要方法。如何调试cqlsh以更好地理解在何处需要实现此功能? 可能不相关,但我使用的是v3.11。cqlsh是使用python编写的,因此您可以使用任何python编辑器来调试代码。我正在使用的一个python编辑器是JetBrains PyCharm,您可以在

我需要了解cqlsh是如何进行自动完成的,因为我想在CREATETABLE语句的自动完成中包含一个自定义压缩策略。我通常通过在代码中的某个地方放置一个断点,然后遵循流程来实现这一点。但我不确定如何使用cqlsh实现这一点,因为我没有看到主要方法。如何调试cqlsh以更好地理解在何处需要实现此功能?
可能不相关,但我使用的是v3.11。

cqlsh是使用python编写的,因此您可以使用任何python编辑器来调试代码。我正在使用的一个python编辑器是JetBrains PyCharm,您可以在此编辑器中从“Cassandra installed directory\bin”打开cqlsh.py脚本,并在调试模式下运行cqlsh.py。运行/调试时,使用console视图提供输入。顺便说一下,我正在使用PyCharm。

Cqlsh是一个python工具,它位于
$CASSANDRA_HOME/bin/Cqlsh.py

如果要向cqlsh添加自定义压缩策略,则必须编辑它的依赖项文件,该文件位于
$CASSANDRA_HOME//pylib/cqlshlib/cqlhandling.py

找到
可用\u压缩\u类
字段并添加您的类

available_compaction_classes = (
    'LeveledCompactionStrategy',
    'SizeTieredCompactionStrategy',
    'DateTieredCompactionStrategy',
    'TimeWindowCompactionStrategy',
    'MyCompactionStrategy'
)
在这里,我添加了
MyCompactionStrategy

现在保存更改并重新登录,您将获得自动完成压缩

cassandra@cqlsh:titan> CREATE TABLE test (id int primary key, data text) WITH compaction = {'class': '
DateTieredCompactionStrategy  LeveledCompactionStrategy     MyCompactionStrategy          SizeTieredCompactionStrategy  TimeWindowCompactionStrategy

有时候,这种级别的日志记录在调试中已经足够了。

哦,哇,你为我节省了很多工作,因为我还不知道如何使用Python。谢谢,伙计!
cqlsh:demo> TRACING ON
Now Tracing is enabled