You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@calcite.apache.org by jh...@apache.org on 2021/04/15 04:11:16 UTC

[calcite] 08/08: [CALCITE-4569] In piglet, allow creating a PigConverter with custom properties (Mahesh Kumar Behera)

This is an automated email from the ASF dual-hosted git repository.

jhyde pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/calcite.git

commit 296b84cad4406be03f2db35ce6077ad8fed4fef6
Author: Mahesh Kumar Behera <ma...@apache.org>
AuthorDate: Fri Apr 9 18:03:04 2021 +0530

    [CALCITE-4569] In piglet, allow creating a PigConverter with custom properties (Mahesh Kumar Behera)
    
    Close apache/calcite#2391
---
 .../java/org/apache/calcite/piglet/PigConverter.java   | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/piglet/src/main/java/org/apache/calcite/piglet/PigConverter.java b/piglet/src/main/java/org/apache/calcite/piglet/PigConverter.java
index fdcc092..6219c96 100644
--- a/piglet/src/main/java/org/apache/calcite/piglet/PigConverter.java
+++ b/piglet/src/main/java/org/apache/calcite/piglet/PigConverter.java
@@ -40,6 +40,7 @@ import org.apache.calcite.tools.RuleSets;
 import org.apache.pig.ExecType;
 import org.apache.pig.PigServer;
 import org.apache.pig.impl.logicalLayer.FrontendException;
+import org.apache.pig.impl.util.PropertiesUtil;
 import org.apache.pig.newplan.logical.relational.LogicalPlan;
 
 import com.google.common.collect.ImmutableList;
@@ -49,6 +50,7 @@ import java.io.InputStream;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
+import java.util.Properties;
 
 /**
  * Extension from PigServer to convert Pig scripts into logical relational
@@ -98,14 +100,22 @@ public class PigConverter extends PigServer {
 
   private final PigRelBuilder builder;
 
-  private PigConverter(FrameworkConfig config, ExecType execType)
-      throws Exception {
-    super(execType);
+  /** Private constructor. */
+  private PigConverter(FrameworkConfig config, ExecType execType,
+      Properties properties) throws Exception {
+    super(execType, properties);
     this.builder = PigRelBuilder.create(config);
   }
 
+  /** Creates a PigConverter using the given property settings. */
+  public static PigConverter create(FrameworkConfig config,
+      Properties properties) throws Exception {
+    return new PigConverter(config, ExecType.LOCAL, properties);
+  }
+
+  /** Creates a PigConverter using default property settings. */
   public static PigConverter create(FrameworkConfig config) throws Exception {
-    return new PigConverter(config, ExecType.LOCAL);
+    return create(config, PropertiesUtil.loadDefaultProperties());
   }
 
   public PigRelBuilder getBuilder() {