if (localEntities.put(entity.getTableName(), entity) != null) throw new IllegalStateException("Duplicate key"); if (localEntities.containsKey(queryEntity.getTableName())) { QueryEntity localEntity = localEntities.get(queryEntity.getTableName());
/** * @param cache Cache. * @return Name of the table contained by this cache. */ @SuppressWarnings("unchecked") private static String tableName(IgniteCache<?, ?> cache) { return ((Collection<QueryEntity>)cache.getConfiguration(CacheConfiguration.class).getQueryEntities()) .iterator().next().getTableName(); }
/** * Get table name for entity. * * @param entity Entity. * @return Table name. */ public static String tableName(QueryEntity entity) { String res = entity.getTableName(); if (res == null) { String valTyp = entity.findValueType(); if (valTyp == null) throw new IgniteException("Value type cannot be null or empty [queryEntity=" + entity + ']'); res = typeName(entity.findValueType()); } return res; }
/** * Create data transfer object for given cache type metadata. * * @param q Actual cache query entities. */ private VisorQueryEntity(QueryEntity q) { assert q != null; keyType = q.getKeyType(); valType = q.getValueType(); keyFields = toList(q.getKeyFields()); LinkedHashMap<String, String> qryFields = q.getFields(); qryFlds = new LinkedHashMap<>(qryFields); aliases = U.copyMap(q.getAliases()); Collection<QueryIndex> qryIdxs = q.getIndexes(); grps = new ArrayList<>(qryIdxs.size()); for (QueryIndex qryIdx : qryIdxs) grps.add(new VisorQueryIndex(qryIdx)); tblName = q.getTableName(); keyFieldName = q.getKeyFieldName(); valFieldName = q.getValueFieldName(); }
tblNames.add(e.getTableName()); if (!tblNames.add(e.getTableName())) return new SchemaOperationException(SchemaOperationException.CODE_TABLE_EXISTS, e.getTableName());
writer.writeString(qryEntity.getTableName()); writer.writeString(qryEntity.getKeyFieldName()); writer.writeString(qryEntity.getValueFieldName());
String tblName = entity.getTableName(); QueryEntity entity = ((List<QueryEntity>)entities).get(i); if (F.eq(entity.getTableName(), op0.tableName())) { targetIdx = i; QueryEntity entity = ((List<QueryEntity>)entities).get(i); if (F.eq(entity.getTableName(), op0.tableName())) { targetIdx = i;
/** * @param tabName Table name. * @return QueryEntity of table. */ private QueryEntity findTableInfo(String tabName) { IgniteEx ignite = grid(0); Collection<String> cacheNames = ignite.cacheNames(); for (String cacheName : cacheNames) { CacheConfiguration ccfg = ignite.cache(cacheName).getConfiguration(CacheConfiguration.class); Collection<QueryEntity> entities = ccfg.getQueryEntities(); for (QueryEntity entity : entities) if (entity.getTableName().equalsIgnoreCase(tabName)) return entity; } return null; }
String tblName = entity.getTableName();
w.writeString(e.getKeyType()); w.writeString(e.getValueType()); w.writeString(e.getTableName()); w.writeString(e.getKeyFieldName()); w.writeString(e.getValueFieldName());
cacheName = QueryUtils.createTableCacheName(schemaName, entity.getTableName()); throw new SchemaOperationException(SchemaOperationException.CODE_TABLE_EXISTS, entity.getTableName());
String normalTblName = entity.getTableName();
/** */ private void checkNodeState(IgniteEx node, String schemaName, String tableName, String fieldName) { String cacheName = F.eq(schemaName, QueryUtils.DFLT_SCHEMA) ? QueryUtils.createTableCacheName(schemaName, tableName) : schemaName; DynamicCacheDescriptor desc = node.context().cache().cacheDescriptor(cacheName); assertNotNull("Cache descriptor not found", desc); QuerySchema schema = desc.schema(); assertNotNull(schema); QueryEntity entity = null; for (QueryEntity e : schema.entities()) { if (F.eq(tableName, e.getTableName())) { entity = e; break; } } assertNotNull(entity); assertNotNull(entity.getNotNullFields()); assertTrue(entity.getNotNullFields().contains(fieldName)); }
desc.tableName(qryEntity.getTableName());
if (localEntities.put(entity.getTableName(), entity) != null) throw new IllegalStateException("Duplicate key"); if (localEntities.containsKey(queryEntity.getTableName())) { QueryEntity localEntity = localEntities.get(queryEntity.getTableName());
private void appendIndex(QueryEntity queryEntity, AssociationKeyMetadata associationKeyMetadata, SchemaDefinitionContext context) { QueryIndex queryIndex = new QueryIndex(); queryIndex.setIndexType( QueryIndexType.SORTED ); LinkedHashMap<String, Boolean> fields = new LinkedHashMap<>(); for ( String columnName : associationKeyMetadata.getRowKeyColumnNames() ) { String realColumnName = StringHelper.realColumnName( columnName ); queryEntity.addQueryField( realColumnName, STRING_CLASS_NAME, null ); //vk: why always String here? fields.put( realColumnName, true ); } queryIndex.setFields( fields ); queryIndex.setName( queryEntity.getTableName() + '_' + org.hibernate.ogm.util.impl.StringHelper.join( fields.keySet(), "_" ) ); Set<QueryIndex> indexes = new HashSet<>( queryEntity.getIndexes() ); indexes.add( queryIndex ); queryEntity.setIndexes( indexes ); }
/** * Get table name for entity. * * @param entity Entity. * @return Table name. */ public static String tableName(QueryEntity entity) { String res = entity.getTableName(); if (res == null) { String valTyp = entity.findValueType(); if (valTyp == null) throw new IgniteException("Value type cannot be null or empty [queryEntity=" + entity + ']'); res = typeName(entity.findValueType()); } return res; }
/** * Create data transfer object for given cache type metadata. * * @param q Actual cache query entities. */ private VisorQueryEntity(QueryEntity q) { assert q != null; keyType = q.getKeyType(); valType = q.getValueType(); keyFields = toList(q.getKeyFields()); LinkedHashMap<String, String> qryFields = q.getFields(); qryFlds = new LinkedHashMap<>(qryFields); aliases = U.copyMap(q.getAliases()); Collection<QueryIndex> qryIdxs = q.getIndexes(); grps = new ArrayList<>(qryIdxs.size()); for (QueryIndex qryIdx : qryIdxs) grps.add(new VisorQueryIndex(qryIdx)); tblName = q.getTableName(); keyFieldName = q.getKeyFieldName(); valFieldName = q.getValueFieldName(); }
tblNames.add(e.getTableName()); if (!tblNames.add(e.getTableName())) return new SchemaOperationException(SchemaOperationException.CODE_TABLE_EXISTS, e.getTableName());
writer.writeString(qryEntity.getTableName()); writer.writeString(qryEntity.getKeyFieldName()); writer.writeString(qryEntity.getValueFieldName());