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"));

Reply via email to