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}