You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by aa...@apache.org on 2016/11/03 17:40:59 UTC

[1/4] cayenne git commit: Added SybaseSelectTranslator to handle limits within the query

Repository: cayenne
Updated Branches:
  refs/heads/master 2a06041df -> 0e1912c20


Added SybaseSelectTranslator to handle limits within the query


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/a851bb6c
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/a851bb6c
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/a851bb6c

Branch: refs/heads/master
Commit: a851bb6c02d8391f63d874b650998fcd50fb2b33
Parents: 513acc4
Author: Lon Varscsak <lo...@gmail.com>
Authored: Wed Oct 26 14:45:52 2016 -0700
Committer: Lon Varscsak <lo...@gmail.com>
Committed: Wed Oct 26 14:48:10 2016 -0700

----------------------------------------------------------------------
 .../cayenne/dba/sybase/SybaseAdapter.java       | 21 +++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/a851bb6c/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java
index 073290a..d5893ac 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseAdapter.java
@@ -19,8 +19,14 @@
 
 package org.apache.cayenne.dba.sybase;
 
+import java.sql.PreparedStatement;
+import java.sql.SQLException;
+import java.sql.Types;
+import java.util.List;
+
 import org.apache.cayenne.access.translator.ParameterBinding;
 import org.apache.cayenne.access.translator.ejbql.EJBQLTranslatorFactory;
+import org.apache.cayenne.access.translator.select.SelectTranslator;
 import org.apache.cayenne.access.types.ByteArrayType;
 import org.apache.cayenne.access.types.ByteType;
 import org.apache.cayenne.access.types.CharType;
@@ -35,13 +41,10 @@ import org.apache.cayenne.dba.JdbcAdapter;
 import org.apache.cayenne.dba.PkGenerator;
 import org.apache.cayenne.dba.QuotingStrategy;
 import org.apache.cayenne.di.Inject;
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.query.SelectQuery;
 import org.apache.cayenne.resource.ResourceLocator;
 
-import java.sql.PreparedStatement;
-import java.sql.SQLException;
-import java.sql.Types;
-import java.util.List;
-
 /**
  * DbAdapter implementation for <a href="http://www.sybase.com">Sybase
  * RDBMS</a>.
@@ -69,6 +72,14 @@ public class SybaseAdapter extends JdbcAdapter {
         return new SybaseEJBQLTranslatorFactory();
     }
 
+	/**
+	 * @since 4.0
+	 */
+	@Override
+	public SelectTranslator getSelectTranslator(SelectQuery<?> query, EntityResolver entityResolver) {
+		return new SybaseSelectTranslator(query, this, entityResolver);
+	}
+
     /**
      * Returns word "go".
      * 


[2/4] cayenne git commit: Added SybaseSelectTranslator to handle limits within the query

Posted by aa...@apache.org.
Added SybaseSelectTranslator to handle limits within the query


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/6b7a053a
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/6b7a053a
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/6b7a053a

Branch: refs/heads/master
Commit: 6b7a053a8c42a5d474434371842552f514351c98
Parents: a851bb6
Author: Lon Varscsak <lo...@gmail.com>
Authored: Wed Oct 26 14:28:45 2016 -0700
Committer: Lon Varscsak <lo...@gmail.com>
Committed: Wed Oct 26 14:48:18 2016 -0700

----------------------------------------------------------------------
 .../dba/sybase/SybaseSelectTranslator.java      | 34 ++++++++++++++++++++
 1 file changed, 34 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/6b7a053a/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.java
new file mode 100644
index 0000000..9361b29
--- /dev/null
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.java
@@ -0,0 +1,34 @@
+package org.apache.cayenne.dba.sybase;
+
+import org.apache.cayenne.access.translator.select.DefaultSelectTranslator;
+import org.apache.cayenne.dba.DbAdapter;
+import org.apache.cayenne.map.EntityResolver;
+import org.apache.cayenne.query.Query;
+
+public class SybaseSelectTranslator extends DefaultSelectTranslator {
+	/**
+	 * @since 4.0
+	 */
+	public SybaseSelectTranslator(Query query, DbAdapter adapter, EntityResolver entityResolver) {
+		super(query, adapter, entityResolver);
+	}
+
+	@Override
+	protected void appendLimitAndOffsetClauses(StringBuilder buffer) {
+
+		int limit = queryMetadata.getFetchLimit();
+		int offset = queryMetadata.getFetchOffset();
+
+		if (limit > 0) {
+			String sql = buffer.toString();
+
+			// If contains distinct insert top limit after
+			if (sql.startsWith("SELECT DISTINCT ")) {
+				buffer.replace(0, 15, "SELECT DISTINCT TOP " + (offset + limit));
+
+			} else {
+				buffer.replace(0, 6, "SELECT TOP " + (offset + limit));
+			}
+		}
+	}
+}


[3/4] cayenne git commit: Merge branch '114'

Posted by aa...@apache.org.
Merge branch '114'


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/cd1496a6
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/cd1496a6
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/cd1496a6

Branch: refs/heads/master
Commit: cd1496a6a6ae0af27e7c209f05a4be1732deda99
Parents: 2a06041 6b7a053
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Thu Nov 3 20:27:27 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Thu Nov 3 20:27:27 2016 +0300

----------------------------------------------------------------------
 .../cayenne/dba/sybase/SybaseAdapter.java       | 21 +++++++++---
 .../dba/sybase/SybaseSelectTranslator.java      | 34 ++++++++++++++++++++
 2 files changed, 50 insertions(+), 5 deletions(-)
----------------------------------------------------------------------



[4/4] cayenne git commit: CAY-2132 Adding SybaseSelectTranslator to support TOP/DISTINCT TOP in limited queries

Posted by aa...@apache.org.
CAY-2132 Adding SybaseSelectTranslator to support TOP/DISTINCT TOP in limited queries

* adding missing license headers; release notes;


Project: http://git-wip-us.apache.org/repos/asf/cayenne/repo
Commit: http://git-wip-us.apache.org/repos/asf/cayenne/commit/0e1912c2
Tree: http://git-wip-us.apache.org/repos/asf/cayenne/tree/0e1912c2
Diff: http://git-wip-us.apache.org/repos/asf/cayenne/diff/0e1912c2

Branch: refs/heads/master
Commit: 0e1912c2027b51b8b8173fd79387e19994358a11
Parents: cd1496a
Author: Andrus Adamchik <an...@objectstyle.com>
Authored: Thu Nov 3 20:33:12 2016 +0300
Committer: Andrus Adamchik <an...@objectstyle.com>
Committed: Thu Nov 3 20:39:03 2016 +0300

----------------------------------------------------------------------
 .../dba/sybase/SybaseSelectTranslator.java        | 18 ++++++++++++++++++
 docs/doc/src/main/resources/RELEASE-NOTES.txt     |  1 +
 2 files changed, 19 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cayenne/blob/0e1912c2/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.java
----------------------------------------------------------------------
diff --git a/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.java b/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.java
index 9361b29..93af596 100644
--- a/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.java
+++ b/cayenne-server/src/main/java/org/apache/cayenne/dba/sybase/SybaseSelectTranslator.java
@@ -1,3 +1,21 @@
+/*****************************************************************
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ ****************************************************************/
 package org.apache.cayenne.dba.sybase;
 
 import org.apache.cayenne.access.translator.select.DefaultSelectTranslator;

http://git-wip-us.apache.org/repos/asf/cayenne/blob/0e1912c2/docs/doc/src/main/resources/RELEASE-NOTES.txt
----------------------------------------------------------------------
diff --git a/docs/doc/src/main/resources/RELEASE-NOTES.txt b/docs/doc/src/main/resources/RELEASE-NOTES.txt
index 59845ad..967cb60 100644
--- a/docs/doc/src/main/resources/RELEASE-NOTES.txt
+++ b/docs/doc/src/main/resources/RELEASE-NOTES.txt
@@ -36,6 +36,7 @@ CAY-2114 cdbimport: object layer settings are not respected
 CAY-2115 DbLoader - allow loading DataMap without Obj layer
 CAY-2116 Split schema synchronization code in a separate module
 CAY-2118 cdbimport: drop support for the old style of table filtering
+CAY-2132 Adding SybaseSelectTranslator to support TOP/DISTINCT TOP in limited queries 
 
 Bug Fixes: