@@ -173,6 +173,13 @@ trait ArrayBasedUnaryHigherOrderFunction extends UnaryHigherOrderFunction {
173173
174174trait MapBasedUnaryHigherOrderFunction extends UnaryHigherOrderFunction {
175175 override def inputTypes : Seq [AbstractDataType ] = Seq (MapType , expectingFunctionType)
176+
177+ @ transient val (keyType, valueType, valueContainsNull) = input.dataType match {
178+ case MapType (kType, vType, vContainsNull) => (kType, vType, vContainsNull)
179+ case _ =>
180+ val MapType (kType, vType, vContainsNull) = MapType .defaultConcreteType
181+ (kType, vType, vContainsNull)
182+ }
176183}
177184
178185object ArrayBasedHigherOrderFunction {
@@ -265,13 +272,6 @@ case class MapFilter(
265272 function : Expression )
266273 extends MapBasedUnaryHigherOrderFunction with CodegenFallback {
267274
268- @ transient val (keyType, valueType, valueContainsNull) = input.dataType match {
269- case MapType (kType, vType, vContainsNull) => (kType, vType, vContainsNull)
270- case _ =>
271- val MapType (kType, vType, vContainsNull) = MapType .defaultConcreteType
272- (kType, vType, vContainsNull)
273- }
274-
275275 @ transient lazy val (keyVar, valueVar) = {
276276 val args = function.asInstanceOf [LambdaFunction ].arguments
277277 (args.head.asInstanceOf [NamedLambdaVariable ], args.tail.head.asInstanceOf [NamedLambdaVariable ])
0 commit comments