001package gudusoft.gsqlparser.dlineage.dataflow.model;
002
003import java.util.List;
004
005import gudusoft.gsqlparser.dlineage.util.DlineageUtil;
006import gudusoft.gsqlparser.nodes.TObjectName;
007import gudusoft.gsqlparser.sqlenv.TSQLEnv;
008import gudusoft.gsqlparser.util.SQLUtil;
009
010public class Schema extends Table {
011    public Schema(TObjectName schema) {
012        super(schema);
013        this.name = schema.toString();
014        this.schema = schema.getColumnNameOnly();
015        this.database = DlineageUtil.getTableSchema(schema.toString());
016        this.setSchema(true);
017        
018        List<String> segments = SQLUtil.parseNames(this.name);
019                if (segments.size() < 2) {
020                        if (!SQLUtil.isEmpty(this.database) && !TSQLEnv.DEFAULT_DB_NAME.equalsIgnoreCase(this.database)) {
021                                this.name = this.database + "." + this.name;
022                        }
023                }
024    }
025}