private void addForeignKey(MetadataFactory mf, String name, List<String> columnNames, String referenceTable, Table table) throws TranslatorException { ForeignKey fk = mf.addForeignKey("FK_"+name, columnNames, referenceTable, table); for (String column:columnNames) { Column c = table.getColumnByName(column); c.setProperty(KEY_ASSOSIATED_WITH_FOREIGN_TABLE, mf.getName()+Tokens.DOT+referenceTable); } fk.setNameInSource(name); }
private void setFunctionMethodTypes(FunctionMethod function) { FunctionParameter outputParameter = function.getOutputParameter(); if (outputParameter != null) { setDataType(outputParameter.getRuntimeType(), outputParameter, dataTypes, outputParameter.getNullType() == NullType.Nullable); } for (FunctionParameter param : function.getInputParameters()) { setDataType(param.getRuntimeType(), param, dataTypes, param.getNullType() == NullType.Nullable); } }
public String getFullName(final Object metadataID) throws TeiidComponentException, QueryMetadataException { AbstractMetadataRecord metadataRecord = (AbstractMetadataRecord) metadataID; if (metadataRecord instanceof Column) { Column c = (Column)metadataRecord; if (c.getParent() != null && c.getParent().getParent() instanceof Procedure) { return c.getParent().getParent().getFullName() + '.' + c.getName(); } } return metadataRecord.getFullName(); }
private boolean isJoinOrPkColumn(Column column) { Table table = (Table)column.getParent(); boolean isKey = (table.getPrimaryKey().getColumnByName(column.getName()) != null); if (!isKey) { for(ForeignKey fk:table.getForeignKeys()) { if (fk.getColumnByName(column.getName()) != null) { isKey = true; } } } return isKey; } }
private static boolean doesProcedureReturn(Procedure proc) { for (ProcedureParameter pp : proc.getParameters()) { if (pp.getType().equals(ProcedureParameter.Type.ReturnValue)) { return true; } } return (proc.getResultSet() != null); }
public Table getMergeTable() throws TranslatorException { String tblName = this.table.getProperty(MongoDBMetadataProcessor.MERGE, false); if (tblName == null) { return null; } Table mergeTable = this.metadata.getTable(this.table.getParent().getName(), tblName); return mergeTable; }
private ProcedureParameter getReturnParameter() { for (ProcedureParameter parameter: this.procedure.getParameters()) { if (parameter.getType().equals(ProcedureParameter.Type.ReturnValue)) { return parameter; } } return null; }
private Table buildTable(MetadataFactory mf, String name) { Table table = mf.addTable(name); table.setSupportsUpdate(true); return table; }
public void addFunction(FunctionMethod functionMethod) { functionMethod.setParent(this.schema); setUUID(functionMethod); for (FunctionParameter param : functionMethod.getInputParameters()) { setUUID(param); } setUUID(functionMethod.getOutputParameter()); this.schema.addFunction(functionMethod); }
public ProcedureParameter getReturnParameter() { for (ProcedureParameter param : this.metadataObject.getParameters()) { if (param.getType() == Type.ReturnValue) { return param; } } return null; }
@Override public String getFullName() { if (this.tableType == Type.TemporaryTable && !this.isVirtual) { return this.getName(); } return super.getFullName(); }
/** * Create a virtual model with default settings. */ public static Schema createVirtualModel(String name, MetadataStore metadataStore) { Schema schema = new Schema(); schema.setName(name); schema.setPhysical(false); metadataStore.addSchema(schema); return schema; }
public MetadataStore asMetadataStore() { MetadataStore store = new MetadataStore(); mergeInto(store); return store; }
public String getFullName(final Object metadataID) throws TeiidComponentException, QueryMetadataException { AbstractMetadataRecord metadataRecord = (AbstractMetadataRecord) metadataID; if (metadataRecord instanceof Column) { Column c = (Column)metadataRecord; if (c.getParent() != null && c.getParent().getParent() instanceof Procedure) { return c.getParent().getParent().getFullName() + '.' + c.getName(); } } return metadataRecord.getFullName(); }
public String getFullName(final Object metadataID) throws TeiidComponentException, QueryMetadataException { AbstractMetadataRecord metadataRecord = (AbstractMetadataRecord) metadataID; if (metadataRecord instanceof Column) { Column c = (Column)metadataRecord; if (c.getParent() != null && c.getParent().getParent() instanceof Procedure) { return c.getParent().getParent().getFullName() + '.' + c.getName(); } } return metadataRecord.getFullName(); }