I create a cache with QueryEntities (through ignite configuration file) and use
SqlFieldsQuery to query it.
I can see the cache in ignitevisor and it appears as table through sqlline
interface. While ignitevisor shows the data sqlline tool does not.
Here is the configuration:
...
<property name="defaultDataRegionConfiguration">
<bean
class="org.apache.ignite.configuration.DataRegionConfiguration">
<property name="persistenceEnabled" value="true"/>
</bean>
</property>
</bean>
</property>
<property name="cacheConfiguration">
<bean class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="PersonSQL"/>
<!-- Configure query entities -->
<property name="queryEntities">
<list>
<bean class="org.apache.ignite.cache.QueryEntity">
<!-- Setting the type of the key -->
<property name="keyType" value="java.lang.String"/>
<property name="keyFieldName" value="name"/>
<!-- Setting type of the value -->
<property name="valueType"
value="com.blah.sfqx.SqlFieldQueryXML.PersonSQL"/>
<!-- Defining fields that will be either indexed or
queryable. Indexed fields are added to the 'indexes' list below.-->
<property name="fields">
<map>
<entry key="ssn" value="java.lang.String"/>
<entry key="name" value="java.lang.String"/>
<entry key="address"
value="com.futurewei.sfqx.Address"/>
</map>
</property>
<!-- Defining indexed fields.-->
<property name="indexes">
<!-- Single field (aka. column) index -->
<bean
class="org.apache.ignite.cache.QueryIndex">
<constructor-arg value="name"/>
</bean>
</property>
...
Here is the ignitevisor output (truncated):
visor> cache -scan -c=@c1
Entries in cache: PersonSQL
+========================================================================================================================================================================================================================================================================================================================================================+
| Key Class | Key | Value Class |
Value
|
+========================================================================================================================================================================================================================================================================================================================================================+
| java.lang.String | 7336-18-3968 | o.a.i.i.binary.BinaryObjectImpl |
com.futurewei.sfqx.SqlFieldQueryXML$PersonSQL [hash=-900842615,
ssn=7336-18-3968, name=uuykixzs, address=com.blah.sfqx.SqlFieldQueryXML$Address
[idHash=302301205, hash=239196030, houseNumber=2606, streetName=xjzxzzpazdzx,
city=uwjitlprkd, state=dzhiiisjq, zip=73550]] |
| java.lang.String | 6198-10-5000 | o.a.i.i.binary.BinaryObjectImpl |
com.futurewei.sfqx.SqlFieldQueryXML$PersonSQL [hash=426078934,
ssn=6198-10-5000, name=lwthwezu, address=com.blah.sfqx.SqlFieldQueryXML$Address
[idHash=1460034609, hash=-1811594149, houseNumber=9161,
streetName=npruuwxhwbai, city=yxexraxvuu, state=cgxcrypcy, zip=91752]] |
| java.lang.String | 9448-3-1310 | o.a.i.i.binary.BinaryObjectImpl |
com.futurewei.sfqx.SqlFieldQueryXML$PersonSQL [hash=402062681, ssn=9448-3-1310,
name=pyaujxzt, address=com.blah.sfqx.SqlFieldQueryXML$Address
[idHash=710697527, hash=1654079158, houseNumber=2267, streetName=xpgtnbzngftv,
city=flbtopwban, state=jkdrlxwqj, zip=11144]] |
| java.lang.String | 9880-7-3532
Here is the sqlline output:
0: jdbc:ignite:thin://127.0.0.1:10800> !tables
+-----------+-------------+-----------------------------+------------+---------+----------+------------+-----------+---------------------------+----------------+
| TABLE_CAT | TABLE_SCHEM | TABLE_NAME | TABLE_TYPE | REMARKS
| TYPE_CAT | TYPE_SCHEM | TYPE_NAME | SELF_REFERENCING_COL_NAME |
REF_GENERATION |
+-----------+-------------+-----------------------------+------------+---------+----------+------------+-----------+---------------------------+----------------+
| IGNITE | PersonSQL | PERSONSQL | TABLE |
| | | | |
|
| IGNITE | SYS | BASELINE_NODES | VIEW |
| | | | |
|
| IGNITE | SYS | BINARY_METADATA
...
0: jdbc:ignite:thin://127.0.0.1:10800> select count (*) from
"PersonSQL".PERSONSQL;
+----------+
| COUNT(*) |
+----------+
| 0 |
>From Java program, I get
SQL Query failed: Ignite failed to process request [2]: Failed to set schema
for DB connection for thread [schema="PersonSQL"] (server status code [1])
If the cache name in the program is changed to "com.....PersonSQL" the error is
Cache does not exist.
Any help in unraveling this problem will be greatly appreciated.
---------------------
Regards,
Prasad Kommoju