{
SourceTableList sourceTables = new SourceTableList();
for(int fromItemIndex : v.fromItemVisitor.tables.keySet())
{
Table t = v.fromItemVisitor.tables.get(fromItemIndex);
String schema = t.getSchemaName();
if(schema != null)
{
schema = schema.replaceAll("`", "");
}
String tableName = t.getName();
tableName = tableName.replaceAll("`", "");
List<ZNRecord> tuples = null;
String key = null;
if(schema != null && (schema.equalsIgnoreCase("explodeList") || schema.equalsIgnoreCase("explodeMap")))
{
tuples = getExplodedTable(schema, tableName, tupleReader);
key = (t.getAlias() != null ? t.getAlias() : "xxx_random_" + System.currentTimeMillis());
}
else
{
tuples = tupleReader.get(tableName);
key = (t.getAlias() != null ? t.getAlias() : tableName);
}
sourceTables.add(new SourceTable(key, fromItemIndex, tuples));
}
for(int fromItemIndex : v.fromItemVisitor.subSelects.keySet())