Poorly written filter expressions cause segfaults rather than an error.
eg:
unnamed_A := FILTER orders BY o_orderkeyxxxxxxx <22 ;
unnamed_A2 := SELECT o_orderkey AS o_orderkey FROM unnamed_A;
DISPLAY unnamed_A2 USING ('|');
results in:
Segmentation fault (core dumped)
gdb backtrace shows:
(gdb) bt
0 0x000000000069f860 in host_compare(long long*, long long, long long) ()
Poorly written filter expressions cause segfaults rather than an error. eg: unnamed_A := FILTER orders BY o_orderkeyxxxxxxx <22 ; unnamed_A2 := SELECT o_orderkey AS o_orderkey FROM unnamed_A; DISPLAY unnamed_A2 USING ('|');
results in: Segmentation fault (core dumped)
gdb backtrace shows: (gdb) bt
0 0x000000000069f860 in host_compare(long long*, long long, long long) ()
1 0x00000000006ac030 in zone_map_check(std::queue<std::basic_string<char, std::char_traits, std::allocator >, std::deque<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > >, std::queue<std::basic_string<char, std::char_traits, std::allocator >, std::deque<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > >, std::queue<long long, std::deque<long long, std::allocator > >, std::queue<double, std::deque<double, std::allocator > >, CudaSet*, unsigned int) ()
2 0x00000000006c447d in filterop(char, char_, unsigned int) ()
3 0x00000000006c3d74 in copyColumns(CudaSet*, std::queue<std::basic_string<char, std::char_traits, std::allocator >, std::deque<std::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::basic_string<char, std::char_traits, std::allocator > > > >, unsigned int, unsigned long&, bool, bool) ()
4 0x00000000004204a5 in emitselect(char, char_, int) ()
5 0x000000000042c45c in yyparse() ()