>From Peeyush Gupta <[email protected]>:

Peeyush Gupta has uploaded this change for review. ( 
https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17925 )


Change subject: [ASTERIXDB-3299][COMP] Out of memory during query compilation
......................................................................

[ASTERIXDB-3299][COMP] Out of memory during query compilation

- user model changes: no
- storage format changes: no
- interface changes: no

Change-Id: Iea45c4f77b30b6ca4de7f8355be3a135c6c87460
---
M 
asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ARecordSerializerDeserializer.java
1 file changed, 24 insertions(+), 2 deletions(-)



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

diff --git 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ARecordSerializerDeserializer.java
 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ARecordSerializerDeserializer.java
index 3f8102e..95d6068 100644
--- 
a/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ARecordSerializerDeserializer.java
+++ 
b/asterixdb/asterix-om/src/main/java/org/apache/asterix/dataflow/data/nontagged/serde/ARecordSerializerDeserializer.java
@@ -73,8 +73,17 @@
             for (int i = 0; i < numberOfSchemaFields; i++) {
                 IAType t = recordType.getFieldTypes()[i];
                 IAType t2 = (t.getTypeTag() == ATypeTag.UNION) ? ((AUnionType) 
t).getActualType() : t;
-                serializers[i] = 
SerializerDeserializerProvider.INSTANCE.getSerializerDeserializer(t2);
-                deserializers[i] = 
SerializerDeserializerProvider.INSTANCE.getNonTaggedSerializerDeserializer(t2);
+                ISerializerDeserializer nonTaggedSerelaizerDeserializer =
+                        
SerializerDeserializerProvider.INSTANCE.getNonTaggedSerializerDeserializer(t2);
+                switch (t2.getTypeTag()) {
+                    case ANY:
+                    case UNION:
+                        // we could do smth better for nullable fields
+                        serializers[i] = 
AObjectSerializerDeserializer.INSTANCE;
+                    default:
+                        serializers[i] = 
SerializerDeserializerProvider.addTag(nonTaggedSerelaizerDeserializer);
+                }
+                deserializers[i] = nonTaggedSerelaizerDeserializer;
             }
         } else {
             this.recordType = null;

--
To view, visit https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/17925
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: Iea45c4f77b30b6ca4de7f8355be3a135c6c87460
Gerrit-Change-Number: 17925
Gerrit-PatchSet: 1
Gerrit-Owner: Peeyush Gupta <[email protected]>
Gerrit-MessageType: newchange

Reply via email to