This is an automated email from the ASF dual-hosted git repository.
mattcasters pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/hop.git
The following commit(s) were added to refs/heads/main by this push:
new 7caaf6e85a Update Oracle LIMIT clause to use FETCH FIRST syntax for
Oracle 12c #7726 (#7729)
7caaf6e85a is described below
commit 7caaf6e85a8c54182b86583c747854e34b689246
Author: Nicolas Adment <[email protected]>
AuthorDate: Sat Aug 1 02:59:34 2026 +0200
Update Oracle LIMIT clause to use FETCH FIRST syntax for Oracle 12c #7726
(#7729)
---
.../main/java/org/apache/hop/databases/oracle/OracleDatabaseMeta.java | 3 ++-
.../java/org/apache/hop/databases/oracle/OracleDatabaseMetaTest.java | 2 +-
2 files changed, 3 insertions(+), 2 deletions(-)
diff --git
a/plugins/databases/oracle/src/main/java/org/apache/hop/databases/oracle/OracleDatabaseMeta.java
b/plugins/databases/oracle/src/main/java/org/apache/hop/databases/oracle/OracleDatabaseMeta.java
index e8e951f6b8..86f4970a1e 100644
---
a/plugins/databases/oracle/src/main/java/org/apache/hop/databases/oracle/OracleDatabaseMeta.java
+++
b/plugins/databases/oracle/src/main/java/org/apache/hop/databases/oracle/OracleDatabaseMeta.java
@@ -318,7 +318,8 @@ public class OracleDatabaseMeta extends BaseDatabaseMeta
*/
@Override
public String getLimitClause(int nrRows) {
- return " WHERE ROWNUM <= " + nrRows;
+ // Minimum version Oracle 12c Release 1 (released in 2013)
+ return " FETCH FIRST " + nrRows + " ROWS ONLY";
}
/**
diff --git
a/plugins/databases/oracle/src/test/java/org/apache/hop/databases/oracle/OracleDatabaseMetaTest.java
b/plugins/databases/oracle/src/test/java/org/apache/hop/databases/oracle/OracleDatabaseMetaTest.java
index 343aee19e9..e0224aa9a1 100644
---
a/plugins/databases/oracle/src/test/java/org/apache/hop/databases/oracle/OracleDatabaseMetaTest.java
+++
b/plugins/databases/oracle/src/test/java/org/apache/hop/databases/oracle/OracleDatabaseMetaTest.java
@@ -245,7 +245,7 @@ class OracleDatabaseMetaTest {
@Test
void testOverriddenSqlStatements() {
- assertEquals(" WHERE ROWNUM <= 5", nativeMeta.getLimitClause(5));
+ assertEquals(" FETCH FIRST 5 ROWS ONLY", nativeMeta.getLimitClause(5));
String reusedFieldsQuery = "SELECT * FROM FOO WHERE 1=0";
assertEquals(reusedFieldsQuery, nativeMeta.getSqlQueryFields("FOO"));
assertEquals(reusedFieldsQuery, nativeMeta.getSqlTableExists("FOO"));