+textInSql+" has no alias and from clause only has tables with alias");
}
DboTableMeta metaClass = tableInfo.getTableMeta();
//At this point, we have looked up the metaClass associated with the alias
DboColumnMeta colMeta = facade.getColumnMeta(metaClass, columnName);
if (colMeta == null) {
//okay, there is no column found, but maybe the column name for the id matches(id is a special case)
colMeta = metaClass.getIdColumnMeta();
if(!colMeta.getColumnName().equals(columnName)) {
List<String> names = metaClass.getColumnNameList();
throw new IllegalArgumentException("There is no column=" + columnName + " that exists for table "
+ metaClass.getColumnFamily()+" potential columns are="+names+" rowkey col="+colMeta.getColumnName());
}
}
wiring.addEagerlyJoinedView(tableInfo);
StateAttribute attr = new StateAttribute(tableInfo, colMeta, textInSql);
attributeNode2.setState(attr, textInSql);
wiring.incrementAttributesCount(textInSql);
TypeInfo typeInfo = new TypeInfo(colMeta);
if(otherSideType == null)
return typeInfo;
if(otherSideType.getConstantType() != null) {
validateTypes(wiring, otherSideType.getConstantType(), typeInfo);
} else {
Class<?> classType = otherSideType.getColumnInfo().getClassType();
if(!classType.equals(colMeta.getClassType()))
throw new IllegalArgumentException("Types are not the same for query="+wiring.getQuery()+" types="+classType+" and "+colMeta.getClassType());
}
return null;
}