后台:我正在为Cassandra编写一个ActiveRecord适配器,特别是基于JDBC驱动程序(activerecord-jdbccassandra-adapter)构建的适配器。
问题: CQL类似于SQL,但它有一些显着的差异。我现在遇到的主要问题是它不希望表名附加到查询中的列引用,并且在它们出现时失败。在SQL中,这些前缀是可选的,除非它们用于消除复杂查询的歧义。
那么,如何让ActiveRecord停止将表名前置到列引用?我不确定这是否需要在ActiveRecord或ActiveRelation中发生,这是我无法解决此问题的一部分。
示例:
来自ActiveRecord的SQL:
SELECT positions.* FROM positions WHERE positions.sku = 'LM_180114' LIMIT 1
所需的CQL:
SELECT * FROM positions WHERE sku = 'LM_180114' LIMIT 1