code: public ParserViewDefinition createParserView(String sql, ImmutableList<QuotedID> attributes) {
  		if (!isStillMutable()) {
  			throw new IllegalStateException("Too late! Parser views must be created before freezing the DBMetadata");
  		}
  		RelationID id = getQuotedIDFactory().createRelationID(null, String.format("view_%s", parserViewCounter++));
  		
  		ParserViewDefinition view = new ParserViewDefinition(id, attributes, sql, typeFactory.getXsdStringDatatype());
  		// UGLY!!
  		add(view, relations);
  		return view;
  	}
docs: creates a view for SQLQueryParser
  (NOTE: these views are simply names for complex non-parsable subqueries, not database views)
  
  TODO: make the second argument a callback (which is called only when needed)
  TODO: make it re-use parser views for the same SQL
  
  @param sql
  @return