1616import net .sf .jsqlparser .expression .ArrayConstructor ;
1717import net .sf .jsqlparser .expression .Expression ;
1818import net .sf .jsqlparser .expression .ExpressionVisitor ;
19+ import net .sf .jsqlparser .expression .operators .relational .SupportsOldOracleJoinSyntax ;
1920import net .sf .jsqlparser .parser .ASTNodeAccessImpl ;
2021
2122/**
@@ -28,6 +29,7 @@ public class Column extends ASTNodeAccessImpl implements Expression, MultiPartNa
2829 private String commentText ;
2930 private ArrayConstructor arrayConstructor ;
3031 private String tableDelimiter = "." ;
32+ private int oldOracleJoinSyntax = SupportsOldOracleJoinSyntax .NO_ORACLE_JOIN ;
3133
3234 // holds the physical table when resolved against an actual schema information
3335 private Table resolvedTable = null ;
@@ -192,6 +194,14 @@ public void setTableDelimiter(String tableDelimiter) {
192194 this .tableDelimiter = tableDelimiter ;
193195 }
194196
197+ public int getOldOracleJoinSyntax () {
198+ return oldOracleJoinSyntax ;
199+ }
200+
201+ public void setOldOracleJoinSyntax (int oldOracleJoinSyntax ) {
202+ this .oldOracleJoinSyntax = oldOracleJoinSyntax ;
203+ }
204+
195205 @ Override
196206 public String getFullyQualifiedName () {
197207 return getFullyQualifiedName (false );
@@ -245,6 +255,7 @@ public <T, S> T accept(ExpressionVisitor<T> expressionVisitor, S context) {
245255 @ Override
246256 public String toString () {
247257 return getFullyQualifiedName (true )
258+ + (oldOracleJoinSyntax != SupportsOldOracleJoinSyntax .NO_ORACLE_JOIN ? "(+)" : "" )
248259 + (commentText != null ? " /* " + commentText + "*/ " : "" );
249260 }
250261
@@ -268,6 +279,11 @@ public Column withTableDelimiter(String delimiter) {
268279 return this ;
269280 }
270281
282+ public Column withOldOracleJoinSyntax (int oldOracleJoinSyntax ) {
283+ this .setOldOracleJoinSyntax (oldOracleJoinSyntax );
284+ return this ;
285+ }
286+
271287 public String getCommentText () {
272288 return commentText ;
273289 }
0 commit comments