Hi Denis,
The cache was defined in the spring configuration as follows and not generated
through SQL DML:
<bean
class="org.apache.ignite.configuration.CacheConfiguration">
<property name="name" value="domainnode" />
<property name="sqlSchema" value="account" />
<property name="cacheStoreFactory">
<bean
class="javax.cache.configuration.FactoryBuilder$SingletonFactory">
<constructor-arg>
<bean
class="com.extremenetworks.ignite.store.DomainNodeStore" />
</constructor-arg>
</bean>
</property>
<property name="indexedTypes">
<list>
<value>java.lang.String</value>
<value>com.extremenetworks.ignite.model.CachedDomainNode</value>
</list>
</property>
</bean>
The annotated fields in CachedDomainNode:
@QuerySqlField(index = true)
private String id;
@QuerySqlField
private String name;
@QuerySqlField
private String ipAddress;
@QuerySqlField
private Long lastUpdate;
@QuerySqlField
private int nodeType;
0: jdbc:ignite:thin://127.0.0.1> select * from account.cacheddomainnode;
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+
| ID | NAME |
IPADDRESS | LASTUPDATE | NODETYPE
|
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+
| 11111111-1111-1111-1111-111111111111 | Test-XMC |
/127.0.0.1 | 1571185515950 | 0
|
| 99488ecd-4cae-4ecc-8306-c3b4215452c2 | XMC-Justice1 |
/10.51.102.191 | 1571278075994 | 0
|
| 99488ecd-4cae-4ecc-8306-c3b4215452c3 | XMC-Justice2 |
/10.51.102.192 | 1571278108222 | 0
|
+--------------------------------+--------------------------------+--------------------------------+--------------------------------+--------------------------------+
3 rows selected (0.04 seconds)
0: jdbc:ignite:thin://127.0.0.1> select id from account.cacheddomainnode;
+--------------------------------+
| ID |
+--------------------------------+
| 11111111-1111-1111-1111-111111111111 |
+--------------------------------+
1 row selected (0.013 seconds)
0: jdbc:ignite:thin://127.0.0.1> select _key from account.cacheddomainnode;
+--------------------------------+
| _KEY |
+--------------------------------+
| 11111111-1111-1111-1111-111111111111 |
| 99488ecd-4cae-4ecc-8306-c3b4215452c2 |
| 99488ecd-4cae-4ecc-8306-c3b4215452c3 |
+--------------------------------+
From: Denis Mekhanikov <[email protected]>
Sent: Thursday, October 17, 2019 11:52 AM
To: [email protected]
Subject: Re: Issue querying id column only
External Email: Use caution in opening links or attachments.
Are you able to reproduce this issue using SQL only?
Could you share the DDL, insert and select statements that lead to the
described issue?
I tried the following queries, but they work as expected.
CREATE TABLE people (id int PRIMARY key, first_name varchar, last_name varchar);
INSERT INTO people (id, first_name, last_name) VALUES (1, 'John', 'Doe');
INSERT INTO people (id, first_name, last_name) VALUES (2, 'John', 'Foe');
SELECT id FROM people;
Denis
On 17 Oct 2019, 09:02 +0300, Kurt Semba
<[email protected]<mailto:[email protected]>>, wrote:
Hi all,
Is it possible for a table through the SQL interface to only return some subset
of data if querying against a specific column?
e.g.
We have a cache configuration defined based on Java SQL Query annotations that
contains an id field and some other string fields. The value of the id field in
all entries also matches the value of the cache entry key).
The table contains 3 entries, however if I execute “select id from table”
through sqlline, I only am able to see 1 entry. However, if I execute “select
id, name from table”, I see all of them.
Are there any steps I can take to better diagnose this?
Thank you
Kurt