You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lens.apache.org by am...@apache.org on 2014/11/26 12:18:22 UTC
incubator-lens git commit: LENS-62 : Allow explain keywords to be set
after select (Sushil Mohanty via amareshwari)
Repository: incubator-lens
Updated Branches:
refs/heads/master b80290f0a -> c78cd464d
LENS-62 : Allow explain keywords to be set after select (Sushil Mohanty via amareshwari)
Project: http://git-wip-us.apache.org/repos/asf/incubator-lens/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-lens/commit/c78cd464
Tree: http://git-wip-us.apache.org/repos/asf/incubator-lens/tree/c78cd464
Diff: http://git-wip-us.apache.org/repos/asf/incubator-lens/diff/c78cd464
Branch: refs/heads/master
Commit: c78cd464ddae33845b28c1c3c45f855e9e06c4b5
Parents: b80290f
Author: Amareshwari Sriramdasu <am...@inmobi.com>
Authored: Wed Nov 26 16:48:12 2014 +0530
Committer: Amareshwari Sriramdasu <am...@inmobi.com>
Committed: Wed Nov 26 16:48:12 2014 +0530
----------------------------------------------------------------------
.../org/apache/lens/driver/jdbc/JDBCDriver.java | 21 ++++++++++++++++----
.../driver/jdbc/JDBCDriverConfConstants.java | 8 ++++++++
2 files changed, 25 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/c78cd464/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
----------------------------------------------------------------------
diff --git a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
index a314d29..f073203 100644
--- a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
+++ b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriver.java
@@ -545,15 +545,28 @@ public class JDBCDriver implements LensDriver {
* the lens exception
*/
@Override
- public DriverQueryPlan explain(String query, Configuration conf) throws LensException {
+ public DriverQueryPlan explain(String query, Configuration conf)
+ throws LensException {
checkConfigured();
+ String explainQuery;
conf = RewriteUtil.getFinalQueryConf(this, conf);
String rewrittenQuery = rewriteQuery(query, conf);
Configuration explainConf = new Configuration(conf);
- explainConf.setBoolean(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER, false);
- String explainQuery = explainConf.get(JDBC_EXPLAIN_KEYWORD_PARAM, DEFAULT_JDBC_EXPLAIN_KEYWORD) + rewrittenQuery;
+ explainConf.setBoolean(LensConfConstants.QUERY_PERSISTENT_RESULT_INDRIVER,
+ false);
+ String explainKeyword = explainConf.get(JDBC_EXPLAIN_KEYWORD_PARAM,
+ DEFAULT_JDBC_EXPLAIN_KEYWORD);
+ boolean explainBeforeSelect = explainConf.getBoolean(JDBC_EXPLAIN_KEYWORD_BEFORE_SELECT,
+ DEFAULT_JDBC_EXPLAIN_KEYWORD_BEFORE_SELECT);
+
+ if (explainBeforeSelect)
+ explainQuery = explainKeyword + " " + rewrittenQuery;
+ else
+ explainQuery = rewrittenQuery.replaceAll("select ", "select "
+ + explainKeyword + " ");
LOG.info("Explain Query : " + explainQuery);
- QueryContext explainQueryCtx = new QueryContext(explainQuery, null, explainConf);
+ QueryContext explainQueryCtx = new QueryContext(explainQuery, null,
+ explainConf);
QueryResult result = null;
try {
http://git-wip-us.apache.org/repos/asf/incubator-lens/blob/c78cd464/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriverConfConstants.java
----------------------------------------------------------------------
diff --git a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriverConfConstants.java b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriverConfConstants.java
index a1cd10e..489af81 100644
--- a/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriverConfConstants.java
+++ b/lens-driver-jdbc/src/main/java/org/apache/lens/driver/jdbc/JDBCDriverConfConstants.java
@@ -73,4 +73,12 @@ public interface JDBCDriverConfConstants {
/** The Constant DEFAULT_JDBC_EXPLAIN_KEYWORD. */
public static final String DEFAULT_JDBC_EXPLAIN_KEYWORD = "explain ";
+
+ /** The Constant JDBC_EXPLAIN_KEYWORD_BEFORE_SELECT. */
+ public static final String JDBC_EXPLAIN_KEYWORD_BEFORE_SELECT = JDBC_DRIVER_PFX + "explain.before.select";
+
+ /** The Constant DEFAULT_JDBC_EXPLAIN_KEYWORD_BEFORE_SELECT. */
+ public static final boolean DEFAULT_JDBC_EXPLAIN_KEYWORD_BEFORE_SELECT = true;
+
+
}