宝哥软件园

卡珊德拉查询语言-卡珊德拉查询语言介绍

编辑:宝哥软件园 来源:互联网 时间:2021-08-06

类型:文件处理大小:209KB语言:中文评分:7.0标签:立即下载和SQL(结构化查询语言)类似卡珊德拉也即将在未来的发行版本中提供卡桑德拉查询语句(CQL)。比如使用键空间名称为网站,使用持续查询语言表示为:使用网站;查询柱族为标准1,关键为k的值:从标准一中选择,其中键=' k更新柱族为标准1,关键为k,列为c的值:用ROW('k ',COL('c ','你好!'更新标准1));更多的有关持续查询语言的语法详细信息可以参考官方的文档:https://SVN。阿帕奇。org/repos/ASF/Cassandra/trunk/doc/cql/cql。超文本标记语言抛开持续查询语言的语法,深入到卡桑德拉的内部实现,其也无非是解析持续查询语言的操作类型,然后将其转化为内部的操作接口进行调用使用语句实现逻辑:用例:客户端状态。设置键空间((字符串)语句。声明);这里将键空间进行了切换,和直接调用节俭原料药的setKeyspace效果一致选择语句实现逻辑:案例选择:语句选择=(选择语句)语句。声明;ListCqlRow avroRows=new ArrayListCqlRow();avroResult.type=CqlResultType .行列表组织。阿帕奇。卡珊德拉。db。row rows=nullif(!select.getKeyPredicates().isRange())row=MultiCal(键空间,选择);else rows=multiRangeSlice(键空间,选择);这与调用节俭原料药的多切片或多切片效果一致:更新语句实现逻辑:案例更新:更新语句更新=(更新语句)语句。声明;validateColumnFamily(键空间,更新。getcolumn family());avroResult.type=CqlResultType .votilistroventure row ventures=new arraystrowverage();用于(行行:更新。getrows()){ validateKey(Row。getkey().getByteBuffer());行突变rm=新行突变(键空间,行getKey().getByteBuffer());for(org。阿帕奇。卡珊德拉。cql。col第:行。getcolumns()){ RM。添加(新查询路径(更新。getcolumn family())、null、col.getName().getByteBuffer()),col.getValue().getByteBuffer()、系统。current itememills());} RowBudgents。添加(RM);}请尝试{ storageproxy。突变(行冒险,更新。getconsistencyllevel());} catch (org.apache.cassandra。节俭。不可用异常e){抛出新的不可用异常();} catch(超时异常e){ throw new timedoutexexception();}这与调用节俭原料药的批处理_突变效果一致:虽然现在持续查询语言功能还很弱,但是又向前迈向了一大步。

更多资讯
游戏推荐
更多+