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