>From Utsav Singh <[email protected]>:

Utsav Singh has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18321 )


Change subject: [NO ISSUE] COPY TO CSV
......................................................................

[NO ISSUE] COPY TO CSV

Change-Id: Ibe34c2e9c84e48231acc8ae418b646865036ff5c
---
M 
asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/CopyToStatement.java
1 file changed, 33 insertions(+), 3 deletions(-)



  git pull ssh://asterix-gerrit.ics.uci.edu:29418/asterixdb 
refs/changes/21/18321/1

diff --git 
a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/CopyToStatement.java
 
b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/CopyToStatement.java
index 599d528..c8064f1 100644
--- 
a/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/CopyToStatement.java
+++ 
b/asterixdb/asterix-lang-common/src/main/java/org/apache/asterix/lang/common/statement/CopyToStatement.java
@@ -32,6 +32,7 @@
 import org.apache.asterix.lang.common.base.IReturningStatement;
 import org.apache.asterix.lang.common.clause.OrderbyClause;
 import org.apache.asterix.lang.common.expression.LiteralExpr;
+import org.apache.asterix.lang.common.expression.TypeExpression;
 import org.apache.asterix.lang.common.expression.VariableExpr;
 import org.apache.asterix.lang.common.literal.StringLiteral;
 import org.apache.asterix.lang.common.visitor.base.ILangVisitor;
@@ -52,13 +53,14 @@
     private List<Expression> partitionExpressions;
     private List<Expression> orderByList;
     private int varCounter;
+    private TypeExpression itemType;

     public CopyToStatement(Namespace namespace, String datasetName, Query 
query, VariableExpr sourceVariable,
             ExternalDetailsDecl externalDetailsDecl, int varCounter, 
List<Expression> keyExpressions,
             boolean autogenerated) {
         this(namespace, datasetName, query, sourceVariable, 
externalDetailsDecl, new ArrayList<>(), new ArrayList<>(),
                 new HashMap<>(), new ArrayList<>(), new ArrayList<>(), new 
ArrayList<>(), varCounter, keyExpressions,
-                autogenerated);
+                autogenerated, null);
     }

     public CopyToStatement(Namespace namespace, String datasetName, Query 
query, VariableExpr sourceVariable,
@@ -68,7 +70,17 @@
             List<OrderbyClause.NullOrderModifier> orderByNullModifierList, int 
varCounter) {
         this(namespace, datasetName, query, sourceVariable, 
externalDetailsDecl, pathExpressions, partitionExpressions,
                 partitionsVariables, orderbyList, orderByModifiers, 
orderByNullModifierList, varCounter,
-                new ArrayList<>(), false);
+                new ArrayList<>(), false, null);
+    }
+
+    public CopyToStatement(Namespace namespace, String datasetName, Query 
query, VariableExpr sourceVariable,
+            ExternalDetailsDecl externalDetailsDecl, List<Expression> 
pathExpressions,
+            List<Expression> partitionExpressions, Map<Integer, VariableExpr> 
partitionsVariables,
+            List<Expression> orderbyList, List<OrderbyClause.OrderModifier> 
orderByModifiers,
+            List<OrderbyClause.NullOrderModifier> orderByNullModifierList, int 
varCounter, TypeExpression itemType) {
+        this(namespace, datasetName, query, sourceVariable, 
externalDetailsDecl, pathExpressions, partitionExpressions,
+                partitionsVariables, orderbyList, orderByModifiers, 
orderByNullModifierList, varCounter,
+                new ArrayList<>(), false, itemType);
     }

     private CopyToStatement(Namespace namespace, String datasetName, Query 
query, VariableExpr sourceVariable,
@@ -76,7 +88,7 @@
             List<Expression> partitionExpressions, Map<Integer, VariableExpr> 
partitionsVariables,
             List<Expression> orderbyList, List<OrderbyClause.OrderModifier> 
orderByModifiers,
             List<OrderbyClause.NullOrderModifier> orderByNullModifierList, int 
varCounter,
-            List<Expression> keyExpressions, boolean autogenerated) {
+            List<Expression> keyExpressions, boolean autogenerated, 
TypeExpression itemType) {
         this.namespace = namespace;
         this.datasetName = datasetName;
         this.query = query;
@@ -91,6 +103,7 @@
         this.varCounter = varCounter;
         this.keyExpressions = keyExpressions != null ? keyExpressions : new 
ArrayList<>();
         this.autogenerated = autogenerated;
+        this.itemType = itemType;

         if (pathExpressions.isEmpty()) {
             // Ensure path expressions to have at least an empty string
@@ -137,6 +150,10 @@
         return sourceVariable;
     }

+    public TypeExpression getItemType() {
+        return itemType;
+    }
+
     public ExternalDetailsDecl getExternalDetailsDecl() {
         return externalDetailsDecl;
     }
@@ -184,6 +201,10 @@
         return hasPartitionClause() || hasOrderClause();
     }

+    public boolean hasSchemaClause() {
+        return itemType != null;
+    }
+
     public boolean hasPartitionClause() {
         return !partitionExpressions.isEmpty();
     }

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/18321
To unsubscribe, or for help writing mail filters, visit 
https://asterix-gerrit.ics.uci.edu/settings

Gerrit-Project: asterixdb
Gerrit-Branch: master
Gerrit-Change-Id: Ibe34c2e9c84e48231acc8ae418b646865036ff5c
Gerrit-Change-Number: 18321
Gerrit-PatchSet: 1
Gerrit-Owner: Utsav Singh <[email protected]>
Gerrit-MessageType: newchange

Reply via email to