====
---- QUERY
# IMPALA-1619 group_concat() error
select length(group_concat(l_comment, "!")) from (
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem) a
---- CATCH
Concatenated string length larger than allowed limit of 1 GB character data
=====
---- QUERY
# IMPALA-2620: Allocation by UDF/UDA need to take into account of memory limit.
SET mem_limit=512m;
select length(group_concat(l_comment, "!")) from (
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem union all
select l_comment from tpch_parquet.lineitem) a
---- CATCH
Memory limit exceeded
====
---- QUERY
#IMPALA-3350: Results of string functions can exceed 1GB.
select length(concat_ws(',', s, s, s, s)) from (
  select group_concat(l_comment, "!") s from (
    select l_comment from tpch.lineitem union all
    select l_comment from tpch.lineitem) t1
  ) t2
---- CATCH
String length larger than allowed limit of 1 GB character data
=====
---- QUERY
select length(repeat(s, 10)) from (
  select group_concat(l_comment, "!") s from (
    select l_comment from tpch.lineitem union all
    select l_comment from tpch.lineitem) t1
  ) t2
---- CATCH
String length larger than allowed limit of 1 GB character data
=====
---- QUERY
select length(lpad(s, 1073741830, '!')) from (
  select group_concat(l_comment, "!") s from (
    select l_comment from tpch.lineitem union all
    select l_comment from tpch.lineitem) t1
  ) t2
---- CATCH
String length larger than allowed limit of 1 GB character data
=====
---- QUERY
select length(rpad(s, 1073741830, '~')) from (
  select group_concat(l_comment, "!") s from (
    select l_comment from tpch.lineitem union all
    select l_comment from tpch.lineitem) t1
  ) t2
---- CATCH
String length larger than allowed limit of 1 GB character data
=====
---- QUERY
select space(1073741830);
---- CATCH
String length larger than allowed limit of 1 GB character data
=====
---- QUERY
select length(regexp_replace(s, '.', '++++++++')) from (
  select group_concat(l_comment, "!") s from (
    select l_comment from tpch.lineitem union all
    select l_comment from tpch.lineitem) t1
  ) t2
---- CATCH
String length larger than allowed limit of 1 GB character data
=====
---- QUERY
select length(replace(s, ' ', '++++++++')) from (
  select group_concat(l_comment, "!") s from (
    select l_comment from tpch.lineitem union all
    select l_comment from tpch.lineitem) t1
  ) t2
---- RESULTS
625718301
=====
---- QUERY
select replace(x, '+', '000') from (select (replace(s, ' ', '++++++++')) x from (
  select group_concat(l_comment, "!") s from (
    select l_comment from tpch.lineitem union all
    select l_comment from tpch.lineitem) t1
  ) t2) t3;
---- CATCH
String length larger than allowed limit of 1 GB character data
=====
---- QUERY
select trunc(timestamp_col, space(1073741830)) from functional.alltypes
---- CATCH
String length larger than allowed limit of 1 GB character data
=====
---- QUERY
select extract(timestamp_col, space(1073741830)) from functional.alltypes
---- CATCH
String length larger than allowed limit of 1 GB character data
=====
---- QUERY
select length(madlib_encode_vector(concat_ws(',', s, s, s, s))) from (
  select group_concat(l_comment, "!") s from (
    select l_comment from tpch.lineitem union all
    select l_comment from tpch.lineitem) t1
  ) t2
---- CATCH
String length larger than allowed limit of 1 GB character data
=====
---- QUERY
select length(madlib_decode_vector(concat_ws(',', s, s, s, s))) from (
  select group_concat(l_comment, "!") s from (
    select l_comment from tpch.lineitem union all
    select l_comment from tpch.lineitem) t1
  ) t2
---- CATCH
String length larger than allowed limit of 1 GB character data
=====
---- QUERY
# IMPALA-4874: Generate a large row made up of multiple large strings to test RPC
#              transmission. This uses hashing to make this difficult to compress,
#              which results in a larger row batch.
select length(group_concat(h, "!")),
       length(group_concat(h, "-"))
from (
select cast(fnv_hash(concat(l_comment, 'a')) as string) as h from tpch_parquet.lineitem union all
select cast(fnv_hash(concat(l_comment, 'b')) as string) as h from tpch_parquet.lineitem union all
select cast(fnv_hash(concat(l_comment, 'c')) as string) as h from tpch_parquet.lineitem union all
select cast(fnv_hash(concat(l_comment, 'd')) as string) as h from tpch_parquet.lineitem union all
select cast(fnv_hash(concat(l_comment, 'e')) as string) as h from tpch_parquet.lineitem) a;
---- TYPES
INT,INT
---- RESULTS
611468161,611468161
=====