Skip to content

Commit 888041d

Browse files
committed
corrected fix #311 and fix #332, introduced unaliased fqn of column
1 parent b3faf8e commit 888041d

File tree

3 files changed

+21
-7
lines changed

3 files changed

+21
-7
lines changed

src/main/java/net/sf/jsqlparser/schema/Column.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -62,10 +62,19 @@ public void setColumnName(String string) {
6262

6363
@Override
6464
public String getFullyQualifiedName() {
65+
return getName(false);
66+
}
67+
68+
/**
69+
* Get name with out without using aliases.
70+
* @param aliases
71+
* @return
72+
*/
73+
public String getName(boolean aliases) {
6574
StringBuilder fqn = new StringBuilder();
6675

6776
if (table != null) {
68-
if (table.getAlias() != null) {
77+
if (table.getAlias() != null && aliases) {
6978
fqn.append(table.getAlias().getName());
7079
} else {
7180
fqn.append(table.getFullyQualifiedName());
@@ -87,6 +96,6 @@ public void accept(ExpressionVisitor expressionVisitor) {
8796

8897
@Override
8998
public String toString() {
90-
return getFullyQualifiedName();
99+
return getName(true);
91100
}
92101
}

src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -174,10 +174,6 @@ public void visit(PlainSelect plainSelect) {
174174
}
175175
}
176176

177-
public void visit(Column column) {
178-
buffer.append(column.getFullyQualifiedName());
179-
}
180-
181177
@Override
182178
public void visit(AllTableColumns allTableColumns) {
183179
buffer.append(allTableColumns.getTable().getFullyQualifiedName()).append(".*");
@@ -360,7 +356,7 @@ public void deparseJoin(Join join) {
360356
buffer.append(" USING (");
361357
for (Iterator<Column> iterator = join.getUsingColumns().iterator(); iterator.hasNext();) {
362358
Column column = iterator.next();
363-
buffer.append(column.getFullyQualifiedName());
359+
buffer.append(column.toString());
364360
if (iterator.hasNext()) {
365361
buffer.append(", ");
366362
}

src/test/java/net/sf/jsqlparser/util/SelectUtilsTest.java

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -122,4 +122,13 @@ public void testTableAliasIssue311() {
122122
assertEquals("SELECT tab1.col1, tab1.col2, tab1.col3, tab2.b1, tab2.b2 FROM mytable1 AS tab1 LEFT JOIN mytable2 AS tab2 ON tab1.col1 = tab2.b1",
123123
select.toString());
124124
}
125+
126+
public void testTableAliasIssue311_2() {
127+
Table table1 = new Table("mytable1");
128+
table1.setAlias(new Alias("tab1"));
129+
130+
Column col = new Column(table1, "col1");
131+
assertEquals("tab1.col1", col.toString());
132+
assertEquals("mytable.col1", col.getFullyQualifiedName());
133+
}
125134
}

0 commit comments

Comments
 (0)