# 
# UNSIGNED column attribute 
#

let $extra_type_opts = UNSIGNED;

--source have_engine.inc

--echo #
--echo # Fixed point columns (NUMERIC, DECIMAL)
--echo #

--source type_fixed.inc
let $create_definition = 
    a DECIMAL $col_opts,
    b NUMERIC $col_opts
;
--source create_table.inc
if ($mysql_errname)
{
  --let $functionality = Fixed point types or UNSIGNED columns
  --source unexpected_result.inc
}
if (!$mysql_errname)
{
  --replace_column 3 # 4 # 5 # 6 #
  SHOW COLUMNS IN t1;

  INSERT INTO t1 (a,b) VALUES (1.0,-1.0);
  INSERT INTO t1 (a,b) VALUES (-100,100);
  --sorted_result
  SELECT a,b FROM t1;
  DROP TABLE t1;
}

--echo #
--echo # Floating point columns (FLOAT, DOUBLE)
--echo #

--source type_float.inc
let $create_definition = 
    a DOUBLE $col_opts,
    b FLOAT $col_opts 
;
--source create_table.inc
if ($mysql_errname)
{
  --let $functionality = Floating point types or UNSIGNED columns
  --source unexpected_result.inc
}
if (!$mysql_errname)
{
  --replace_column 3 # 4 # 5 # 6 #
  SHOW COLUMNS IN t1;

  INSERT INTO t1 (a,b) VALUES (1.0,-1.0);
  INSERT INTO t1 (a,b) VALUES (-100,100);
  --sorted_result
  SELECT a,b FROM t1;
  DROP TABLE t1;
}

--echo #
--echo # INT columns
--echo #

--source type_int.inc
let $create_definition =
    t TINYINT $col_opts,
    s SMALLINT $col_opts,
    m MEDIUMINT $col_opts,
    i INT $col_opts,
    b BIGINT $col_opts
;
--source create_table.inc 
if ($mysql_errname)
{
  --let $functionality = INT types or UNSIGNED columns
  --source unexpected_result.inc
}
if (!$mysql_errname)
{
  --replace_column 3 # 4 # 5 # 6 #
  SHOW COLUMNS IN t1;

  INSERT INTO t1 (t,s,m,i,b) VALUES (255,65535,16777215,4294967295,18446744073709551615);
  INSERT INTO t1 (t,s,m,i,b) VALUES (-1,-1,-1,-1,-1);
  --sorted_result
  SELECT t,s,m,i,b FROM t1;
  DROP TABLE t1;
  
}

--source cleanup_engine.inc