You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ignite.apache.org by "Alexey Kukushkin (JIRA)" <ji...@apache.org> on 2019/01/09 22:15:00 UTC
[jira] [Created] (IGNITE-10874) JDBC thin driver metadata misses
caches with queryEntities and names containing underscores
Alexey Kukushkin created IGNITE-10874:
-----------------------------------------
Summary: JDBC thin driver metadata misses caches with queryEntities and names containing underscores
Key: IGNITE-10874
URL: https://issues.apache.org/jira/browse/IGNITE-10874
Project: Ignite
Issue Type: Improvement
Components: jdbc
Affects Versions: 2.7
Reporter: Alexey Kukushkin
+*Steps to reproduce*+
1) Build and run this app:
{code:java}
public class App {
public static void main(String[] ags) {
try (Ignite ignite = Ignition.start(
new IgniteConfiguration()
.setDiscoverySpi(
new TcpDiscoverySpi()
.setIpFinder(
new TcpDiscoveryVmIpFinder().setAddresses(Collections.singleton("127.0.0.1:47500"))
)
)
)) {
final String NAME = "V_MODELS_SHORT";
ignite.getOrCreateCache(
new CacheConfiguration<>()
.setName(NAME)
.setCacheMode(CacheMode.PARTITIONED)
.setAtomicityMode(CacheAtomicityMode.TRANSACTIONAL)
.setQueryEntities(Collections.singleton(
new QueryEntity()
.setKeyType(Integer.class.getTypeName())
.setValueType(NAME)
.setKeyFieldName("VMS_ID")
.setFields(
Stream.of(
new AbstractMap.SimpleEntry<>("VMS_ID", Integer.class.getTypeName()),
new AbstractMap.SimpleEntry<>("VMS_HASVERSION", Boolean.class.getTypeName())
).collect(Collectors.toMap(
AbstractMap.SimpleEntry::getKey,
AbstractMap.SimpleEntry::getValue,
(u, v) -> {
throw new IllegalStateException(String.format("Duplicate key %s", u));
},
LinkedHashMap::new
))
)
))
);
System.in.read();
}
}
}
{code}
2) While the app is running use a JDBC database management tool like DBeaver to open a JDBC thin driver connection to Ignite.
3) Check table "V_MODELS_SHORT" under schema "V_MODELS_SHORT"
+*Expected*+
3) Table "V_MODELS_SHORT" is visible under schema "V_MODELS_SHORT"
+*Actual*+
3) There is no table "V_MODELS_SHORT" under schema "V_MODELS_SHORT"
+*Notes*+
You still can run queries on table V_MODELS_SHORT in DBeaver. For example, these queries work fine:
{code:java}
INSERT INTO V_MODELS_SHORT.V_MODELS_SHORT VALUES (1, 'false');
SELECT * FROM V_MODELS_SHORT.V_MODELS_SHORT;
{code}
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)