From: <one...@us...> - 2003-05-03 07:20:52
|
Update of /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/dialect In directory sc8-pr-cvs1:/tmp/cvs-serv15927/dialect Modified Files: Dialect.java MySQLDialect.java Oracle9Dialect.java PostgreSQLDialect.java Log Message: applied paged SQL SELECT patch by David White Index: Dialect.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/dialect/Dialect.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** Dialect.java 25 Apr 2003 03:40:31 -0000 1.12 --- Dialect.java 3 May 2003 07:20:49 -0000 1.13 *************** *** 347,350 **** --- 347,362 ---- } + public boolean supportsPagingSelect() { + return false; + } + + public String getPagingSelect(String querySelect) { + throw new UnsupportedOperationException("paged queries not supported"); + } + + public boolean reversePagingSelectOrder() { + return false; + } + } Index: MySQLDialect.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/dialect/MySQLDialect.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** MySQLDialect.java 25 Apr 2003 03:40:32 -0000 1.7 --- MySQLDialect.java 3 May 2003 07:20:49 -0000 1.8 *************** *** 83,86 **** --- 83,101 ---- } + public boolean supportsPagingSelect() { + return true; + } + + public String getPagingSelect(String sql) { + StringBuffer pagingSelect = new StringBuffer(); + pagingSelect.append(sql); + pagingSelect.append(" limit ?, ?"); + return pagingSelect.toString(); + } + + public boolean reversePagingSelectOrder() { + return false; + } + } Index: Oracle9Dialect.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/dialect/Oracle9Dialect.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Oracle9Dialect.java 25 Apr 2003 03:40:32 -0000 1.3 --- Oracle9Dialect.java 3 May 2003 07:20:49 -0000 1.4 *************** *** 41,45 **** public String getSequenceNextValString(String sequenceName) { ! return "select " + sequenceName + ".nextval from dual"; } public String getCreateSequenceString(String sequenceName) { --- 41,45 ---- public String getSequenceNextValString(String sequenceName) { ! return "select " + sequenceName + ".nextval from dual"; } public String getCreateSequenceString(String sequenceName) { *************** *** 60,63 **** --- 60,75 ---- public boolean supportsSequences() { return true; + } + + public boolean supportsPagingSelect() { + return true; + } + + public String getPagingSelect(String sql) { + StringBuffer pagingSelect = new StringBuffer(); + pagingSelect.append("select * from ( select a.*, rownum rnum from ( "); + pagingSelect.append(sql); + pagingSelect.append(" ) a where rownum <= ?) where rnum >= ?"); + return pagingSelect.toString(); } Index: PostgreSQLDialect.java =================================================================== RCS file: /cvsroot/hibernate/Hibernate2/src/net/sf/hibernate/dialect/PostgreSQLDialect.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** PostgreSQLDialect.java 25 Apr 2003 03:40:32 -0000 1.9 --- PostgreSQLDialect.java 3 May 2003 07:20:49 -0000 1.10 *************** *** 59,62 **** --- 59,76 ---- } + public boolean supportsPagingSelect() { + return true; + } + + public String getPagingSelect(String sql) { + StringBuffer pagingSelect = new StringBuffer(); + pagingSelect.append(sql); + pagingSelect.append(" limit ?, ?"); + return pagingSelect.toString(); + } + + public boolean reversePagingSelectOrder() { + return true; + } } |