public static void addAdditionalMetadata(Create create, TempMetadataID tempTable) { if (!create.getPrimaryKey().isEmpty()) { ArrayList<TempMetadataID> primaryKey = new ArrayList<TempMetadataID>(create.getPrimaryKey().size()); for (ElementSymbol symbol : create.getPrimaryKey()) { Object mid = symbol.getMetadataID(); if (mid instanceof TempMetadataID) { primaryKey.add((TempMetadataID)mid); } else if (mid instanceof Column) { //TODO: this breaks our normal metadata usage primaryKey.add(tempTable.getElements().get(((Column)mid).getPosition() - 1)); } } tempTable.setPrimaryKey(primaryKey); } for (int i = 0; i < create.getColumns().size(); i++) { Column column = create.getColumns().get(i); TempMetadataID tid = tempTable.getElements().get(i); if (column.isAutoIncremented()) { tid.setAutoIncrement(true); } if (column.getNullType() == NullType.No_Nulls) { tid.setNotNull(true); } } }
public static void addAdditionalMetadata(Create create, TempMetadataID tempTable) { if (!create.getPrimaryKey().isEmpty()) { ArrayList<TempMetadataID> primaryKey = new ArrayList<TempMetadataID>(create.getPrimaryKey().size()); for (ElementSymbol symbol : create.getPrimaryKey()) { Object mid = symbol.getMetadataID(); if (mid instanceof TempMetadataID) { primaryKey.add((TempMetadataID)mid); } else if (mid instanceof Column) { //TODO: this breaks our normal metadata usage primaryKey.add(tempTable.getElements().get(((Column)mid).getPosition() - 1)); } } tempTable.setPrimaryKey(primaryKey); } for (int i = 0; i < create.getColumns().size(); i++) { Column column = create.getColumns().get(i); TempMetadataID tid = tempTable.getElements().get(i); if (column.isAutoIncremented()) { tid.setAutoIncrement(true); } if (column.getNullType() == NullType.No_Nulls) { tid.setNotNull(true); } } }
public static void addAdditionalMetadata(Create create, TempMetadataID tempTable) { if (!create.getPrimaryKey().isEmpty()) { ArrayList<TempMetadataID> primaryKey = new ArrayList<TempMetadataID>(create.getPrimaryKey().size()); for (ElementSymbol symbol : create.getPrimaryKey()) { Object mid = symbol.getMetadataID(); if (mid instanceof TempMetadataID) { primaryKey.add((TempMetadataID)mid); } else if (mid instanceof Column) { //TODO: this breaks our normal metadata usage primaryKey.add(tempTable.getElements().get(((Column)mid).getPosition() - 1)); } } tempTable.setPrimaryKey(primaryKey); } for (int i = 0; i < create.getColumns().size(); i++) { Column column = create.getColumns().get(i); TempMetadataID tid = tempTable.getElements().get(i); if (column.isAutoIncremented()) { tid.setAutoIncrement(true); } if (column.getNullType() == NullType.No_Nulls) { tid.setNotNull(true); } } }
if (pk != null) { ArrayList<TempMetadataID> primaryKey = resolveIndex(metadata, id, pk); id.setPrimaryKey(primaryKey);
if (pk != null) { ArrayList<TempMetadataID> primaryKey = resolveIndex(metadata, id, pk); id.setPrimaryKey(primaryKey);
if (pk != null) { ArrayList<TempMetadataID> primaryKey = resolveIndex(metadata, id, pk); id.setPrimaryKey(primaryKey);
@Override public TempMetadataID getCodeTableMetadataId( String codeTableName, String returnElementName, String keyElementName, String matTableName) throws TeiidComponentException, QueryMetadataException { ElementSymbol keyElement = new ElementSymbol(matTableName + ElementSymbol.SEPARATOR + keyElementName); ElementSymbol returnElement = new ElementSymbol(matTableName + ElementSymbol.SEPARATOR + returnElementName); keyElement.setType(DataTypeManager.getDataTypeClass(metadata.getElementRuntimeTypeName(metadata.getElementID(codeTableName + ElementSymbol.SEPARATOR + keyElementName)))); returnElement.setType(DataTypeManager.getDataTypeClass(metadata.getElementRuntimeTypeName(metadata.getElementID(codeTableName + ElementSymbol.SEPARATOR + returnElementName)))); TempMetadataID id = this.tableStore.getMetadataStore().getTempGroupID(matTableName); if (id == null) { synchronized (this) { id = this.tableStore.getMetadataStore().addTempGroup(matTableName, Arrays.asList(keyElement, returnElement), false, true); String queryString = Reserved.SELECT + ' ' + new ElementSymbol(keyElementName) + " ," + new ElementSymbol(returnElementName) + ' ' + Reserved.FROM + ' ' + new GroupSymbol(codeTableName); //$NON-NLS-1$ id.setQueryNode(new QueryNode(queryString)); id.setPrimaryKey(id.getElements().subList(0, 1)); CacheHint hint = new CacheHint(true, null); id.setCacheHint(hint); } } return id; }
@Override public TempMetadataID getCodeTableMetadataId( String codeTableName, String returnElementName, String keyElementName, String matTableName) throws TeiidComponentException, QueryMetadataException { ElementSymbol keyElement = new ElementSymbol(matTableName + ElementSymbol.SEPARATOR + keyElementName); ElementSymbol returnElement = new ElementSymbol(matTableName + ElementSymbol.SEPARATOR + returnElementName); keyElement.setType(DataTypeManager.getDataTypeClass(metadata.getElementRuntimeTypeName(metadata.getElementID(codeTableName + ElementSymbol.SEPARATOR + keyElementName)))); returnElement.setType(DataTypeManager.getDataTypeClass(metadata.getElementRuntimeTypeName(metadata.getElementID(codeTableName + ElementSymbol.SEPARATOR + returnElementName)))); TempMetadataID id = this.tableStore.getMetadataStore().getTempGroupID(matTableName); if (id == null) { synchronized (this) { id = this.tableStore.getMetadataStore().addTempGroup(matTableName, Arrays.asList(keyElement, returnElement), false, true); String queryString = Reserved.SELECT + ' ' + new ElementSymbol(keyElementName) + " ," + new ElementSymbol(returnElementName) + ' ' + Reserved.FROM + ' ' + new GroupSymbol(codeTableName); //$NON-NLS-1$ id.setQueryNode(new QueryNode(queryString)); id.setPrimaryKey(id.getElements().subList(0, 1)); CacheHint hint = new CacheHint(true, null); id.setCacheHint(hint); } } return id; }
@Override public TempMetadataID getCodeTableMetadataId( String codeTableName, String returnElementName, String keyElementName, String matTableName) throws TeiidComponentException, QueryMetadataException { ElementSymbol keyElement = new ElementSymbol(matTableName + ElementSymbol.SEPARATOR + keyElementName); ElementSymbol returnElement = new ElementSymbol(matTableName + ElementSymbol.SEPARATOR + returnElementName); keyElement.setType(DataTypeManager.getDataTypeClass(metadata.getElementRuntimeTypeName(metadata.getElementID(codeTableName + ElementSymbol.SEPARATOR + keyElementName)))); returnElement.setType(DataTypeManager.getDataTypeClass(metadata.getElementRuntimeTypeName(metadata.getElementID(codeTableName + ElementSymbol.SEPARATOR + returnElementName)))); TempMetadataID id = this.tableStore.getMetadataStore().getTempGroupID(matTableName); if (id == null) { synchronized (this) { id = this.tableStore.getMetadataStore().addTempGroup(matTableName, Arrays.asList(keyElement, returnElement), false, true); String queryString = Reserved.SELECT + ' ' + new ElementSymbol(keyElementName) + " ," + new ElementSymbol(returnElementName) + ' ' + Reserved.FROM + ' ' + new GroupSymbol(codeTableName); //$NON-NLS-1$ id.setQueryNode(new QueryNode(queryString)); id.setPrimaryKey(id.getElements().subList(0, 1)); CacheHint hint = new CacheHint(true, null); id.setCacheHint(hint); } } return id; }