Skip to content

Commit

Permalink
fix array and map
Browse files Browse the repository at this point in the history
  • Loading branch information
rui-mo authored and taiyang-li committed May 17, 2023
1 parent 42a3390 commit d9c2cd7
Show file tree
Hide file tree
Showing 3 changed files with 14 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@
import io.glutenproject.substrait.type.*;

import org.apache.spark.sql.catalyst.InternalRow;
import org.apache.spark.sql.catalyst.util.GenericArrayData;
import org.apache.spark.sql.catalyst.util.ArrayBasedMapData;
import org.apache.spark.sql.catalyst.util.ArrayData;
import org.apache.spark.sql.catalyst.util.MapData;
import org.apache.spark.sql.types.*;

import java.util.ArrayList;
Expand Down Expand Up @@ -143,11 +143,11 @@ public static DecimalLiteralNode makeDecimalLiteral(Decimal vDecimal, TypeNode t
return new DecimalLiteralNode(vDecimal, typeNode);
}

public static ListLiteralNode makeListLiteral(GenericArrayData array, TypeNode typeNode) {
public static ListLiteralNode makeListLiteral(ArrayData array, TypeNode typeNode) {
return new ListLiteralNode(array, typeNode);
}

public static MapLiteralNode makeMapLiteral(ArrayBasedMapData map, TypeNode typeNode) {
public static MapLiteralNode makeMapLiteral(MapData map, TypeNode typeNode) {
return new MapLiteralNode(map, typeNode);
}

Expand Down Expand Up @@ -198,10 +198,10 @@ public static LiteralNode makeLiteral(Object obj, TypeNode typeNode) {
return makeDecimalLiteral(decimal, typeNode);
}
if (typeNode instanceof ListNode) {
return makeListLiteral((GenericArrayData) obj, typeNode);
return makeListLiteral((ArrayData) obj, typeNode);
}
if (typeNode instanceof MapNode) {
return makeMapLiteral((ArrayBasedMapData) obj, typeNode);
return makeMapLiteral((MapData) obj, typeNode);
}
if (typeNode instanceof StructNode) {
return makeStructLiteral((InternalRow) obj, typeNode);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,20 @@

package io.glutenproject.substrait.expression;

import org.apache.spark.sql.catalyst.util.GenericArrayData;
import org.apache.spark.sql.catalyst.util.ArrayData;

import io.substrait.proto.Expression;
import io.substrait.proto.Expression.Literal.Builder;
import io.glutenproject.substrait.type.TypeNode;
import io.glutenproject.substrait.type.ListNode;

public class ListLiteralNode extends LiteralNodeWithValue<GenericArrayData> {
public ListLiteralNode(GenericArrayData array, TypeNode typeNode) {
public class ListLiteralNode extends LiteralNodeWithValue<ArrayData> {
public ListLiteralNode(ArrayData array, TypeNode typeNode) {
super(array, typeNode);
}

@Override
protected void updateLiteralBuilder(Builder literalBuilder, GenericArrayData array) {
protected void updateLiteralBuilder(Builder literalBuilder, ArrayData array) {
Object[] elements = array.array();
TypeNode elementType = ((ListNode) getTypeNode()).getNestedType();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,19 @@

package io.glutenproject.substrait.expression;

import org.apache.spark.sql.catalyst.util.ArrayBasedMapData;

import io.substrait.proto.Expression;
import io.substrait.proto.Expression.Literal.Builder;
import io.glutenproject.substrait.type.TypeNode;
import io.glutenproject.substrait.type.MapNode;
import org.apache.spark.sql.catalyst.util.MapData;

public class MapLiteralNode extends LiteralNodeWithValue<ArrayBasedMapData> {
public MapLiteralNode(ArrayBasedMapData map, TypeNode typeNode) {
public class MapLiteralNode extends LiteralNodeWithValue<MapData> {
public MapLiteralNode(MapData map, TypeNode typeNode) {
super(map, typeNode);
}

@Override
protected void updateLiteralBuilder(Builder literalBuilder, ArrayBasedMapData map) {
protected void updateLiteralBuilder(Builder literalBuilder, MapData map) {
Object[] keys = map.keyArray().array();
Object[] values = map.valueArray().array();

Expand Down

0 comments on commit d9c2cd7

Please sign in to comment.