mirror of
https://github.com/apache/impala.git
synced 2026-01-02 03:00:32 -05:00
Adds a query option 'strict_mode' which treats integer and floating pt overflows as parse errors. In the past, overflows were ignored and the max value was returned. When this query option is set, overflowing values are treated as if they were completely invalid data, i.e. NULL is returned. When abort_on_error is enabled, this means the query is aborted. Notes: * DECIMAL overflow/underflow is already treated as an error. * The handling in text-converter treats underflows the same as overflows, so they would result in the same behavior. However, floating point parsing never returns an underflow today. * We may also want to handle numeric values that are truncated when parsing to integer types, e.g. 10.5 -> 10. Change-Id: I7409c31ec0cb6fe0b2d9842b9f58fe1670914836 Reviewed-on: http://gerrit.cloudera.org:8080/3150 Reviewed-by: Matthew Jacobs <mj@cloudera.com> Tested-by: Internal Jenkins
261 lines
6.4 KiB
Plaintext
261 lines
6.4 KiB
Plaintext
====
|
|
---- QUERY
|
|
# use functional
|
|
use functional
|
|
====
|
|
---- QUERY
|
|
# Simple pattern literal
|
|
show tables "alltypes"
|
|
---- RESULTS
|
|
'alltypes'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Pattern with wildcard
|
|
show tables "all*ypes"
|
|
---- RESULTS
|
|
'alltypes'
|
|
'allcomplextypes'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Empty string matches nothing
|
|
show tables ""
|
|
---- RESULTS
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Check that regex metacharacters are being escaped
|
|
show tables '+alltypes'
|
|
---- RESULTS
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Fully qualified names will not match
|
|
show tables "functional.alltypes"
|
|
---- RESULTS
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Database names are case insensitive.
|
|
USE FUNCTIONAL
|
|
---- RESULTS
|
|
====
|
|
---- QUERY
|
|
# Different database
|
|
# We have no SHOW TABLES with no pattern test since the set of tables is
|
|
# changing often, and may be different depending on whether benchmark data is
|
|
# loaded, for example.
|
|
show tables '*'
|
|
---- RESULTS: VERIFY_IS_SUBSET
|
|
'alltypes'
|
|
'alltypesagg'
|
|
'alltypesaggmultifiles'
|
|
'alltypesaggmultifilesnopart'
|
|
'alltypesaggnonulls'
|
|
'alltypeserror'
|
|
'alltypeserrornonulls'
|
|
'alltypesinsert'
|
|
'alltypesmixedformat'
|
|
'alltypesnopart'
|
|
'alltypesnopart_insert'
|
|
'alltypessmall'
|
|
'alltypestiny'
|
|
'dimtbl'
|
|
'emptytable'
|
|
'greptiny'
|
|
'insert_overwrite_nopart'
|
|
'insert_overwrite_partitioned'
|
|
'jointbl'
|
|
'liketbl'
|
|
'nullescapedtable'
|
|
'nullinsert'
|
|
'nullinsert_alt'
|
|
'nulltable'
|
|
'rankingssmall'
|
|
'stringpartitionkey'
|
|
'tblwithraggedcolumns'
|
|
'testtbl'
|
|
'text_comma_backslash_newline'
|
|
'text_dollar_hash_pipe'
|
|
'tinyinttable'
|
|
'tinytable'
|
|
'uservisitssmall'
|
|
'zipcode_incomes'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Choice amongst patterns
|
|
show tables "alltypes|stringpartitionkey|testtbl"
|
|
---- RESULTS
|
|
'alltypes'
|
|
'stringpartitionkey'
|
|
'testtbl'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Show tables in
|
|
show tables in functional
|
|
---- RESULTS: VERIFY_IS_SUBSET
|
|
'alltypes'
|
|
'alltypesagg'
|
|
'alltypesaggmultifiles'
|
|
'alltypesaggmultifilesnopart'
|
|
'alltypesaggnonulls'
|
|
'alltypeserror'
|
|
'alltypeserrornonulls'
|
|
'alltypesinsert'
|
|
'alltypesmixedformat'
|
|
'alltypesnopart'
|
|
'alltypesnopart_insert'
|
|
'alltypessmall'
|
|
'alltypestiny'
|
|
'dimtbl'
|
|
'emptytable'
|
|
'greptiny'
|
|
'insert_overwrite_nopart'
|
|
'insert_overwrite_partitioned'
|
|
'jointbl'
|
|
'liketbl'
|
|
'nullescapedtable'
|
|
'nullinsert'
|
|
'nullinsert_alt'
|
|
'nulltable'
|
|
'overflow'
|
|
'rankingssmall'
|
|
'stringpartitionkey'
|
|
'tblwithraggedcolumns'
|
|
'testtbl'
|
|
'text_comma_backslash_newline'
|
|
'text_dollar_hash_pipe'
|
|
'tinyinttable'
|
|
'tinytable'
|
|
'uservisitssmall'
|
|
'zipcode_incomes'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Show tables in with a pattern
|
|
show tables in functional like 'alltypesagg*'
|
|
---- RESULTS
|
|
'alltypesagg'
|
|
'alltypesaggmultifiles'
|
|
'alltypesaggmultifilesnopart'
|
|
'alltypesaggnonulls'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Coverage of syntax variations.
|
|
show tables in functional 'alltypesagg'
|
|
---- RESULTS
|
|
'alltypesagg'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
show tables in functional like 'alltypesagg'
|
|
---- RESULTS
|
|
'alltypesagg'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
show tables 'alltypesagg'
|
|
---- RESULTS
|
|
'alltypesagg'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
show tables like 'alltypesagg'
|
|
---- RESULTS
|
|
'alltypesagg'
|
|
---- TYPES
|
|
STRING
|
|
====
|
|
---- QUERY
|
|
# Show databases
|
|
show databases like 'tpcds'
|
|
---- RESULTS
|
|
'tpcds',''
|
|
---- TYPES
|
|
STRING,STRING
|
|
====
|
|
---- QUERY
|
|
show databases like 'functional'
|
|
---- RESULTS
|
|
'functional',''
|
|
---- TYPES
|
|
STRING,STRING
|
|
====
|
|
---- QUERY
|
|
show databases like 'functional'
|
|
---- RESULTS
|
|
'functional',''
|
|
---- TYPES
|
|
STRING,STRING
|
|
====
|
|
---- QUERY
|
|
show databases like 'def*'
|
|
---- RESULTS
|
|
'default','Default Hive database'
|
|
---- TYPES
|
|
STRING,STRING
|
|
====
|
|
---- QUERY
|
|
show files in alltypesagg
|
|
---- LABELS
|
|
Path,Size,Partition
|
|
---- RESULTS
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=__HIVE_DEFAULT_PARTITION__/000000_0',regex:.*,'year=2010/month=1/day=__HIVE_DEFAULT_PARTITION__'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=1/100101.txt',regex:.*,'year=2010/month=1/day=1'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=2/100102.txt',regex:.*,'year=2010/month=1/day=2'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=3/100103.txt',regex:.*,'year=2010/month=1/day=3'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=4/100104.txt',regex:.*,'year=2010/month=1/day=4'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=5/100105.txt',regex:.*,'year=2010/month=1/day=5'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=6/100106.txt',regex:.*,'year=2010/month=1/day=6'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=7/100107.txt',regex:.*,'year=2010/month=1/day=7'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=8/100108.txt',regex:.*,'year=2010/month=1/day=8'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=9/100109.txt',regex:.*,'year=2010/month=1/day=9'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=10/100110.txt',regex:.*,'year=2010/month=1/day=10'
|
|
---- TYPES
|
|
STRING,STRING,STRING
|
|
====
|
|
---- QUERY
|
|
show files in functional.alltypesagg
|
|
---- LABELS
|
|
Path,Size,Partition
|
|
---- RESULTS
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=__HIVE_DEFAULT_PARTITION__/000000_0',regex:.*,'year=2010/month=1/day=__HIVE_DEFAULT_PARTITION__'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=1/100101.txt',regex:.*,'year=2010/month=1/day=1'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=2/100102.txt',regex:.*,'year=2010/month=1/day=2'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=3/100103.txt',regex:.*,'year=2010/month=1/day=3'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=4/100104.txt',regex:.*,'year=2010/month=1/day=4'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=5/100105.txt',regex:.*,'year=2010/month=1/day=5'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=6/100106.txt',regex:.*,'year=2010/month=1/day=6'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=7/100107.txt',regex:.*,'year=2010/month=1/day=7'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=8/100108.txt',regex:.*,'year=2010/month=1/day=8'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=9/100109.txt',regex:.*,'year=2010/month=1/day=9'
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=10/100110.txt',regex:.*,'year=2010/month=1/day=10'
|
|
---- TYPES
|
|
STRING,STRING,STRING
|
|
====
|
|
---- QUERY
|
|
show files in alltypesagg partition(year=2010,month=1,day=NULL)
|
|
---- LABELS
|
|
Path,Size,Partition
|
|
---- RESULTS
|
|
'$NAMENODE/test-warehouse/alltypesagg/year=2010/month=1/day=__HIVE_DEFAULT_PARTITION__/000000_0',regex:.*,'year=2010/month=1/day=__HIVE_DEFAULT_PARTITION__'
|
|
---- TYPES
|
|
STRING,STRING,STRING
|
|
====
|