Skip to content

Commit 9611675

Browse files
committed
#393 Simplify OracleDialect generated queries
1 parent bef8143 commit 9611675

File tree

3 files changed

+8
-15
lines changed

3 files changed

+8
-15
lines changed

activejdbc/src/main/java/org/javalite/activejdbc/dialects/DefaultDialect.java

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -99,17 +99,11 @@ protected void appendSubQuery(StringBuilder query, String subQuery) {
9999
}
100100
}
101101

102-
protected void appendSelect(StringBuilder query, String tableName, String tableAlias, String subQuery,
103-
List<String> orderBys) {
102+
protected void appendSelect(StringBuilder query, String tableName, String subQuery, List<String> orderBys) {
104103
if (tableName == null) {
105104
query.append(subQuery);
106105
} else {
107-
if (tableAlias == null) {
108-
query.append("SELECT * FROM ").append(tableName);
109-
} else {
110-
query.append("SELECT ").append(tableAlias).append(".* FROM ").append(tableName).append(' ')
111-
.append(tableAlias);
112-
}
106+
query.append("SELECT * FROM ").append(tableName);
113107
appendSubQuery(query, subQuery);
114108
}
115109
appendOrderBy(query, orderBys);
@@ -118,7 +112,7 @@ protected void appendSelect(StringBuilder query, String tableName, String tableA
118112
@Override
119113
public String formSelect(String tableName, String subQuery, List<String> orderBys, long limit, long offset) {
120114
StringBuilder fullQuery = new StringBuilder();
121-
appendSelect(fullQuery, tableName, null, subQuery, orderBys);
115+
appendSelect(fullQuery, tableName, subQuery, orderBys);
122116
return fullQuery.toString();
123117
}
124118

activejdbc/src/main/java/org/javalite/activejdbc/dialects/OracleDialect.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,16 +55,15 @@ public String formSelect(String tableName, String subQuery, List<String> orderBy
5555

5656
StringBuilder fullQuery = new StringBuilder();
5757
if (needOffset) {
58-
fullQuery.append("SELECT * FROM (SELECT t2.*, ROWNUM AS oracle_row_number FROM (");
58+
fullQuery.append("SELECT * FROM (SELECT a.*, ROWNUM AS oracle_row_number FROM (");
5959
} else if (needLimit) { // if needLimit and don't needOffset
6060
fullQuery.append("SELECT * FROM (");
6161
}
62-
//TODO check if this can be simplified removing the alias t
63-
appendSelect(fullQuery, tableName, (needLimit || needOffset) ? "t" : null, subQuery, orderBys);
62+
appendSelect(fullQuery, tableName, subQuery, orderBys);
6463

6564
if (needOffset) {
6665
// Oracle offset starts with 1, not like MySQL with 0;
67-
fullQuery.append(") t2) WHERE oracle_row_number >= ").append(offset + 1);
66+
fullQuery.append(") a) WHERE oracle_row_number >= ").append(offset + 1);
6867
if (needLimit) {
6968
fullQuery.append(" AND ROWNUM <= ").append(limit);
7069
}

activejdbc/src/main/java/org/javalite/activejdbc/dialects/PostgreSQLDialect.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@ public class PostgreSQLDialect extends DefaultDialect {
2020
@Override
2121
public String formSelect(String tableName, String subQuery, List<String> orderBys, long limit, long offset) {
2222
StringBuilder fullQuery = new StringBuilder();
23-
24-
appendSelect(fullQuery, tableName, null, subQuery, orderBys);
23+
24+
appendSelect(fullQuery, tableName, subQuery, orderBys);
2525

2626
if(limit != -1){
2727
fullQuery.append(" LIMIT ").append(limit);

0 commit comments

Comments
 (0)