alamb commented on code in PR #11969:
URL: https://github.com/apache/datafusion/pull/11969#discussion_r1718268553
##########
datafusion/sqllogictest/test_files/map.slt:
##########
@@ -493,3 +509,68 @@ select cardinality(map([1, 2, 3], ['a', 'b', 'c'])),
cardinality(MAP {'a': 1, 'b
cardinality(MAP {'a': MAP {1:'a', 2:'b', 3:'c'}, 'b': MAP {2:'c',
4:'d'} });
----
3 2 0 2
+
+# map_extract
+# key is string
+query IIII
+select map_extract(MAP {'a': 1, 'b': NULL, 'c': 3}, 'a'), map_extract(MAP
{'a': 1, 'b': NULL, 'c': 3}, 'b'),
+ map_extract(MAP {'a': 1, 'b': NULL, 'c': 3}, 'c'), map_extract(MAP
{'a': 1, 'b': NULL, 'c': 3}, 'd');
+----
+1 NULL 3 NULL
Review Comment:
WHile this choice is strange to me (a list that will always have 1 or 0
elements) I think it will make for an easy implementation -- you shouldn't have
to make special implementations for each type of key -- instead you should just
be able to calculate the offsets directly and make a list array that points to
the keys array
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]