@Override protected Collection<TableInSchema> initialTables() { final List<TableInSchema> list = new ArrayList<TableInSchema>(); final RelDataType mapType = typeFactory.createMapType( typeFactory.createSqlType(SqlTypeName.VARCHAR), typeFactory.createSqlType(SqlTypeName.ANY)); final RelDataType rowType = typeFactory.createStructType( new RelDataTypeFactory.FieldInfoBuilder().add("_MAP", mapType)); for (String collection : mongoDb.getCollectionNames()) { final MongoTable table = new MongoTable(this, collection, rowType); list.add( new TableInSchemaImpl(this, collection, TableType.TABLE, table)); } return list; } }