>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