通过GemfireTemplate.query方法使用HINT和TRACE

问题描述

我正在尝试使用GemfireTemplate docsquery method中提到的OQL查询添加跟踪。但是OQL验证失败,并出现QueryInvalidException“意外的令牌:

解决方法

这不是SDG user@workspacexhnc27ngrq5uvvr3:/projects/challenge$ ansible-playbook mainplaybook.yml ERROR! unexpected parameter type in action: <class 'ansible.parsing.yaml.objects.AnsibleSequence'> The error appears to be in '/projects/challenge/fresco_loops/tasks/main.yml': line 2,column 3,but may be elsewhere in the file depending on the exact syntax problem. The offending line appears to be: --- - name: install apache2,sqlite3,git ^ here user@workspacexhnc27ngrq5uvvr3:/projects/challenge$ ansible-playbook mainplaybook.yml ERROR! unexpected parameter type in action: <class 'ansible.parsing.yaml.objects.AnsibleSequence'> The error appears to be in '/projects/challenge/fresco_loops/tasks/main.yml': line 2,git ^ here 的错误,也不是SDG的总体问题。

在GemFire / Geode中有两种查询方式。

  1. 首先,要使用post,它可以得到QueryService。或者,您可以获取运行OQL查询所依据的GemfireTemplate上的QueryService from the cache甚至是from the ClientCache。使用SDG的from the Pool时,这一切将自动为您处理。

  2. 查询Region的第二种方法是将查询“ PREDICATE”传递给Repository abstraction extension方法。

您认为Region方法在使用哪个GemFire / Geode API?

GemfireTemplate.query(:String) Region.query(:String) GemfireTemplate.query(:String) API。

Region.query(:String)方法uses GemfireTemplate.find(:String)

QueryService可以接受完全有效的OQL查询,例如QueryService,其中<TRACE> SELECT * FROM /SomeRegion WHERE id = 1方法仅接受OQL查询PREDICATE,即Region.query(:String)

通常将任何其他usesOQL Query reserved words传递给id = 1方法(以及扩展名GemfireTemplate.query(:String) API)都会导致无效的OQL查询。

如果您想传递Region.query(:String),则应调用<HINT 'IDIndex',...> <TRACE> SELECT * FROM /SomeRegion WHERE id = 1 AND ...,它使用接受完整OQL查询语法的GemFire / Geode GemfireTemplate.find(:String)

或者,您可以使用 Apache Geode的Spring数据(或VMware Tanzu GemFire)存储库扩展。

甚至仍然可以将HINTS,TRACES,LIMITS或其他查询功能添加到派生的存储库查询方法以及用QueryService注释的查询方法中。有关更多详细信息,请参见query syntax

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...