###############################################################################
#
# tkt-c010fa6584.eagle --
#
# Written by Joe Mistachkin.
# Released to the public domain, use at your own risk!
#
###############################################################################

package require Eagle
package require Eagle.Library
package require Eagle.Test

runTestPrologue

###############################################################################

package require System.Data.SQLite.Test
runSQLiteTestPrologue

###############################################################################

runTest {test tkt-c010fa6584-1.1 {column "integral" type handling} -setup {
  setupDb [set fileName tkt-c010fa6584-1.1.db]
} -body {
  #
  # NOTE: Create a database table with all the integral type names that are
  #       recognized by System.Data.SQLite.  Subsequently, each column will
  #       be tested against a list of values that meet and/or exceed the
  #       bounds for the underlying primitive integral CLR type.
  #
  sql execute $db {
    CREATE TABLE t1(
      a00 SYSNAME,           -- This is the 'payload' column name.
      a01,                   -- String
      a02 TEXT,              -- String
      a03 BIGINT,            -- Int64
      a04 BIGUINT,           -- UInt64
      a05 COUNTER,           -- Int64
      a06 IDENTITY,          -- Int64
      a07 INT,               -- Int32
      a08 INT8,              -- SByte
      a09 INT16,             -- Int16
      a10 INT32,             -- Int32
      a11 INT64,             -- Int64
      a12 INTEGER,           -- Int64
      a13 INTEGER8,          -- SByte
      a14 INTEGER16,         -- Int16
      a15 INTEGER32,         -- Int32
      a16 INTEGER64,         -- Int64
      a17 LONG,              -- Int64
      a18 SMALLINT,          -- Int16
      a19 SMALLUINT,         -- UInt16
      a20 TINYINT,           -- Byte
      a21 TINYSINT,          -- SByte
      a22 UINT,              -- UInt32
      a23 UINT8,             -- Byte
      a24 UINT16,            -- UInt16
      a25 UINT32,            -- UInt32
      a26 UINT64,            -- UInt64
      a27 ULONG,             -- UInt64
      a28 UNSIGNEDINTEGER,   -- UInt32
      a29 UNSIGNEDINTEGER8,  -- Byte
      a30 UNSIGNEDINTEGER16, -- UInt16
      a31 UNSIGNEDINTEGER32, -- UInt32
      a32 UNSIGNEDINTEGER64  -- UInt64
    );
  }

  #
  # NOTE: These are the numeric values being tested against all the types in
  #       the database table defined above.  This list includes values that
  #       are out-of-bounds for each primitive integral type.
  #
  set values [list \
      -9223372036854775809 -9223372036854775808 \
      -2147483649 -2147483648 \
      -32769 -32768 \
      -129 -128 \
      -1 0 1 \
      127 128 \
      255 256 \
      32767 32768 \
      65535 65536 \
      2147483647 2147483648 \
      4294967295 4294967296 \
      9223372036854775807 9223372036854775808 \
      18446744073709551615 18446744073709551616]

  for {set index 1} {$index <= 32} {incr index} {
    set name [appendArgs a [format %02d $index]]
    foreach value $values {
      sql execute $db [subst {
        INSERT INTO t1 (a00, $name) VALUES('$name', $value);
      }]
    }
  }

  set results [list]

  for {set index 1} {$index <= 32} {incr index} {
    set name [appendArgs a [format %02d $index]]
    set count [sql execute -execute scalar $db [subst {
      SELECT COUNT(*) FROM t1 WHERE a00 = '$name';
    }]]
    for {set offset 0} {$offset < $count} {incr offset} {
      set code [catch {
        sql execute -execute scalar $db [subst {
          SELECT $name FROM t1 WHERE a00 = '$name' LIMIT 1 OFFSET $offset;
        }]
      } result]

      set match [expr {$result eq [lindex $values $offset]}]

      lappend results [list \
          $name $offset $match [lindex $values $offset] \
          $code [expr {$code == 0 ? $result : $errorCode}]]
    }
  }

  set results
} -cleanup {
  cleanupDb $fileName

  unset -nocomplain match result code offset count results value name index \
      values db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \
{{a01 0 False -9223372036854775809 0 -9.22337203685478E+18} {a01 1 True\
-9223372036854775808 0 -9223372036854775808} {a01 2 True -2147483649 0\
-2147483649} {a01 3 True -2147483648 0 -2147483648} {a01 4 True -32769 0\
-32769} {a01 5 True -32768 0 -32768} {a01 6 True -129 0 -129} {a01 7 True -128\
0 -128} {a01 8 True -1 0 -1} {a01 9 True 0 0 0} {a01 10 True 1 0 1} {a01 11\
True 127 0 127} {a01 12 True 128 0 128} {a01 13 True 255 0 255} {a01 14 True\
256 0 256} {a01 15 True 32767 0 32767} {a01 16 True 32768 0 32768} {a01 17 True\
65535 0 65535} {a01 18 True 65536 0 65536} {a01 19 True 2147483647 0\
2147483647} {a01 20 True 2147483648 0 2147483648} {a01 21 True 4294967295 0\
4294967295} {a01 22 True 4294967296 0 4294967296} {a01 23 True\
9223372036854775807 0 9223372036854775807} {a01 24 False 9223372036854775808 0\
9.22337203685478E+18} {a01 25 False 18446744073709551615 0\
1.84467440737096E+19} {a01 26 False 18446744073709551616 0\
1.84467440737096E+19} {a02 0 False -9223372036854775809 0\
-9.22337203685478e+18} {a02 1 True -9223372036854775808 0 -9223372036854775808}\
{a02 2 True -2147483649 0 -2147483649} {a02 3 True -2147483648 0 -2147483648}\
{a02 4 True -32769 0 -32769} {a02 5 True -32768 0 -32768} {a02 6 True -129 0\
-129} {a02 7 True -128 0 -128} {a02 8 True -1 0 -1} {a02 9 True 0 0 0} {a02 10\
True 1 0 1} {a02 11 True 127 0 127} {a02 12 True 128 0 128} {a02 13 True 255 0\
255} {a02 14 True 256 0 256} {a02 15 True 32767 0 32767} {a02 16 True 32768 0\
32768} {a02 17 True 65535 0 65535} {a02 18 True 65536 0 65536} {a02 19 True\
2147483647 0 2147483647} {a02 20 True 2147483648 0 2147483648} {a02 21 True\
4294967295 0 4294967295} {a02 22 True 4294967296 0 4294967296} {a02 23 True\
9223372036854775807 0 9223372036854775807} {a02 24 False 9223372036854775808 0\
9.22337203685478e+18} {a02 25 False 18446744073709551615 0\
1.84467440737096e+19} {a02 26 False 18446744073709551616 0\
1.84467440737096e+19} {a03 0 False -9223372036854775809 0 -9223372036854775808}\
{a03 1 True -9223372036854775808 0 -9223372036854775808} {a03 2 True\
-2147483649 0 -2147483649} {a03 3 True -2147483648 0 -2147483648} {a03 4 True\
-32769 0 -32769} {a03 5 True -32768 0 -32768} {a03 6 True -129 0 -129} {a03 7\
True -128 0 -128} {a03 8 True -1 0 -1} {a03 9 True 0 0 0} {a03 10 True 1 0 1}\
{a03 11 True 127 0 127} {a03 12 True 128 0 128} {a03 13 True 255 0 255} {a03 14\
True 256 0 256} {a03 15 True 32767 0 32767} {a03 16 True 32768 0 32768} {a03 17\
True 65535 0 65535} {a03 18 True 65536 0 65536} {a03 19 True 2147483647 0\
2147483647} {a03 20 True 2147483648 0 2147483648} {a03 21 True 4294967295 0\
4294967295} {a03 22 True 4294967296 0 4294967296} {a03 23 True\
9223372036854775807 0 9223372036854775807} {a03 24 False 9223372036854775808 0\
-9223372036854775808} {a03 25 False 18446744073709551615 0\
-9223372036854775808} {a03 26 False 18446744073709551616 0\
-9223372036854775808} {a04 0 False -9223372036854775809 0 9223372036854775808}\
{a04 1 False -9223372036854775808 0 9223372036854775808} {a04 2 False\
-2147483649 0 18446744071562067967} {a04 3 False -2147483648 0\
18446744071562067968} {a04 4 False -32769 0 18446744073709518847} {a04 5 False\
-32768 0 18446744073709518848} {a04 6 False -129 0 18446744073709551487} {a04 7\
False -128 0 18446744073709551488} {a04 8 False -1 0 18446744073709551615} {a04\
9 True 0 0 0} {a04 10 True 1 0 1} {a04 11 True 127 0 127} {a04 12 True 128 0\
128} {a04 13 True 255 0 255} {a04 14 True 256 0 256} {a04 15 True 32767 0\
32767} {a04 16 True 32768 0 32768} {a04 17 True 65535 0 65535} {a04 18 True\
65536 0 65536} {a04 19 True 2147483647 0 2147483647} {a04 20 True 2147483648 0\
2147483648} {a04 21 True 4294967295 0 4294967295} {a04 22 True 4294967296 0\
4294967296} {a04 23 True 9223372036854775807 0 9223372036854775807} {a04 24\
True 9223372036854775808 0 9223372036854775808} {a04 25 False\
18446744073709551615 0 9223372036854775808} {a04 26 False 18446744073709551616\
0 9223372036854775808} {a05 0 False -9223372036854775809 0\
-9223372036854775808} {a05 1 True -9223372036854775808 0 -9223372036854775808}\
{a05 2 True -2147483649 0 -2147483649} {a05 3 True -2147483648 0 -2147483648}\
{a05 4 True -32769 0 -32769} {a05 5 True -32768 0 -32768} {a05 6 True -129 0\
-129} {a05 7 True -128 0 -128} {a05 8 True -1 0 -1} {a05 9 True 0 0 0} {a05 10\
True 1 0 1} {a05 11 True 127 0 127} {a05 12 True 128 0 128} {a05 13 True 255 0\
255} {a05 14 True 256 0 256} {a05 15 True 32767 0 32767} {a05 16 True 32768 0\
32768} {a05 17 True 65535 0 65535} {a05 18 True 65536 0 65536} {a05 19 True\
2147483647 0 2147483647} {a05 20 True 2147483648 0 2147483648} {a05 21 True\
4294967295 0 4294967295} {a05 22 True 4294967296 0 4294967296} {a05 23 True\
9223372036854775807 0 9223372036854775807} {a05 24 False 9223372036854775808 0\
-9223372036854775808} {a05 25 False 18446744073709551615 0\
-9223372036854775808} {a05 26 False 18446744073709551616 0\
-9223372036854775808} {a06 0 False -9223372036854775809 0 -9223372036854775808}\
{a06 1 True -9223372036854775808 0 -9223372036854775808} {a06 2 True\
-2147483649 0 -2147483649} {a06 3 True -2147483648 0 -2147483648} {a06 4 True\
-32769 0 -32769} {a06 5 True -32768 0 -32768} {a06 6 True -129 0 -129} {a06 7\
True -128 0 -128} {a06 8 True -1 0 -1} {a06 9 True 0 0 0} {a06 10 True 1 0 1}\
{a06 11 True 127 0 127} {a06 12 True 128 0 128} {a06 13 True 255 0 255} {a06 14\
True 256 0 256} {a06 15 True 32767 0 32767} {a06 16 True 32768 0 32768} {a06 17\
True 65535 0 65535} {a06 18 True 65536 0 65536} {a06 19 True 2147483647 0\
2147483647} {a06 20 True 2147483648 0 2147483648} {a06 21 True 4294967295 0\
4294967295} {a06 22 True 4294967296 0 4294967296} {a06 23 True\
9223372036854775807 0 9223372036854775807} {a06 24 False 9223372036854775808 0\
-9223372036854775808} {a06 25 False 18446744073709551615 0\
-9223372036854775808} {a06 26 False 18446744073709551616 0\
-9223372036854775808} {a07 0 False -9223372036854775809 0 0} {a07 1 False\
-9223372036854775808 0 0} {a07 2 False -2147483649 0 2147483647} {a07 3 True\
-2147483648 0 -2147483648} {a07 4 True -32769 0 -32769} {a07 5 True -32768 0\
-32768} {a07 6 True -129 0 -129} {a07 7 True -128 0 -128} {a07 8 True -1 0 -1}\
{a07 9 True 0 0 0} {a07 10 True 1 0 1} {a07 11 True 127 0 127} {a07 12 True 128\
0 128} {a07 13 True 255 0 255} {a07 14 True 256 0 256} {a07 15 True 32767 0\
32767} {a07 16 True 32768 0 32768} {a07 17 True 65535 0 65535} {a07 18 True\
65536 0 65536} {a07 19 True 2147483647 0 2147483647} {a07 20 False 2147483648 0\
-2147483648} {a07 21 False 4294967295 0 -1} {a07 22 False 4294967296 0 0} {a07\
23 False 9223372036854775807 0 -1} {a07 24 False 9223372036854775808 0 0} {a07\
25 False 18446744073709551615 0 0} {a07 26 False 18446744073709551616 0 0} {a08\
0 False -9223372036854775809 0 0} {a08 1 False -9223372036854775808 0 0} {a08 2\
False -2147483649 0 -1} {a08 3 False -2147483648 0 0} {a08 4 False -32769 0 -1}\
{a08 5 False -32768 0 0} {a08 6 False -129 0 127} {a08 7 True -128 0 -128} {a08\
8 True -1 0 -1} {a08 9 True 0 0 0} {a08 10 True 1 0 1} {a08 11 True 127 0 127}\
{a08 12 False 128 0 -128} {a08 13 False 255 0 -1} {a08 14 False 256 0 0} {a08\
15 False 32767 0 -1} {a08 16 False 32768 0 0} {a08 17 False 65535 0 -1} {a08 18\
False 65536 0 0} {a08 19 False 2147483647 0 -1} {a08 20 False 2147483648 0 0}\
{a08 21 False 4294967295 0 -1} {a08 22 False 4294967296 0 0} {a08 23 False\
9223372036854775807 0 -1} {a08 24 False 9223372036854775808 0 0} {a08 25 False\
18446744073709551615 0 0} {a08 26 False 18446744073709551616 0 0} {a09 0 False\
-9223372036854775809 0 0} {a09 1 False -9223372036854775808 0 0} {a09 2 False\
-2147483649 0 -1} {a09 3 False -2147483648 0 0} {a09 4 False -32769 0 32767}\
{a09 5 True -32768 0 -32768} {a09 6 True -129 0 -129} {a09 7 True -128 0 -128}\
{a09 8 True -1 0 -1} {a09 9 True 0 0 0} {a09 10 True 1 0 1} {a09 11 True 127 0\
127} {a09 12 True 128 0 128} {a09 13 True 255 0 255} {a09 14 True 256 0 256}\
{a09 15 True 32767 0 32767} {a09 16 False 32768 0 -32768} {a09 17 False 65535 0\
-1} {a09 18 False 65536 0 0} {a09 19 False 2147483647 0 -1} {a09 20 False\
2147483648 0 0} {a09 21 False 4294967295 0 -1} {a09 22 False 4294967296 0 0}\
{a09 23 False 9223372036854775807 0 -1} {a09 24 False 9223372036854775808 0 0}\
{a09 25 False 18446744073709551615 0 0} {a09 26 False 18446744073709551616 0 0}\
{a10 0 False -9223372036854775809 0 0} {a10 1 False -9223372036854775808 0 0}\
{a10 2 False -2147483649 0 2147483647} {a10 3 True -2147483648 0 -2147483648}\
{a10 4 True -32769 0 -32769} {a10 5 True -32768 0 -32768} {a10 6 True -129 0\
-129} {a10 7 True -128 0 -128} {a10 8 True -1 0 -1} {a10 9 True 0 0 0} {a10 10\
True 1 0 1} {a10 11 True 127 0 127} {a10 12 True 128 0 128} {a10 13 True 255 0\
255} {a10 14 True 256 0 256} {a10 15 True 32767 0 32767} {a10 16 True 32768 0\
32768} {a10 17 True 65535 0 65535} {a10 18 True 65536 0 65536} {a10 19 True\
2147483647 0 2147483647} {a10 20 False 2147483648 0 -2147483648} {a10 21 False\
4294967295 0 -1} {a10 22 False 4294967296 0 0} {a10 23 False\
9223372036854775807 0 -1} {a10 24 False 9223372036854775808 0 0} {a10 25 False\
18446744073709551615 0 0} {a10 26 False 18446744073709551616 0 0} {a11 0 False\
-9223372036854775809 0 -9223372036854775808} {a11 1 True -9223372036854775808 0\
-9223372036854775808} {a11 2 True -2147483649 0 -2147483649} {a11 3 True\
-2147483648 0 -2147483648} {a11 4 True -32769 0 -32769} {a11 5 True -32768 0\
-32768} {a11 6 True -129 0 -129} {a11 7 True -128 0 -128} {a11 8 True -1 0 -1}\
{a11 9 True 0 0 0} {a11 10 True 1 0 1} {a11 11 True 127 0 127} {a11 12 True 128\
0 128} {a11 13 True 255 0 255} {a11 14 True 256 0 256} {a11 15 True 32767 0\
32767} {a11 16 True 32768 0 32768} {a11 17 True 65535 0 65535} {a11 18 True\
65536 0 65536} {a11 19 True 2147483647 0 2147483647} {a11 20 True 2147483648 0\
2147483648} {a11 21 True 4294967295 0 4294967295} {a11 22 True 4294967296 0\
4294967296} {a11 23 True 9223372036854775807 0 9223372036854775807} {a11 24\
False 9223372036854775808 0 -9223372036854775808} {a11 25 False\
18446744073709551615 0 -9223372036854775808} {a11 26 False 18446744073709551616\
0 -9223372036854775808} {a12 0 False -9223372036854775809 0\
-9223372036854775808} {a12 1 True -9223372036854775808 0 -9223372036854775808}\
{a12 2 True -2147483649 0 -2147483649} {a12 3 True -2147483648 0 -2147483648}\
{a12 4 True -32769 0 -32769} {a12 5 True -32768 0 -32768} {a12 6 True -129 0\
-129} {a12 7 True -128 0 -128} {a12 8 True -1 0 -1} {a12 9 True 0 0 0} {a12 10\
True 1 0 1} {a12 11 True 127 0 127} {a12 12 True 128 0 128} {a12 13 True 255 0\
255} {a12 14 True 256 0 256} {a12 15 True 32767 0 32767} {a12 16 True 32768 0\
32768} {a12 17 True 65535 0 65535} {a12 18 True 65536 0 65536} {a12 19 True\
2147483647 0 2147483647} {a12 20 True 2147483648 0 2147483648} {a12 21 True\
4294967295 0 4294967295} {a12 22 True 4294967296 0 4294967296} {a12 23 True\
9223372036854775807 0 9223372036854775807} {a12 24 False 9223372036854775808 0\
-9223372036854775808} {a12 25 False 18446744073709551615 0\
-9223372036854775808} {a12 26 False 18446744073709551616 0\
-9223372036854775808} {a13 0 False -9223372036854775809 0 0} {a13 1 False\
-9223372036854775808 0 0} {a13 2 False -2147483649 0 -1} {a13 3 False\
-2147483648 0 0} {a13 4 False -32769 0 -1} {a13 5 False -32768 0 0} {a13 6\
False -129 0 127} {a13 7 True -128 0 -128} {a13 8 True -1 0 -1} {a13 9 True 0 0\
0} {a13 10 True 1 0 1} {a13 11 True 127 0 127} {a13 12 False 128 0 -128} {a13\
13 False 255 0 -1} {a13 14 False 256 0 0} {a13 15 False 32767 0 -1} {a13 16\
False 32768 0 0} {a13 17 False 65535 0 -1} {a13 18 False 65536 0 0} {a13 19\
False 2147483647 0 -1} {a13 20 False 2147483648 0 0} {a13 21 False 4294967295 0\
-1} {a13 22 False 4294967296 0 0} {a13 23 False 9223372036854775807 0 -1} {a13\
24 False 9223372036854775808 0 0} {a13 25 False 18446744073709551615 0 0} {a13\
26 False 18446744073709551616 0 0} {a14 0 False -9223372036854775809 0 0} {a14\
1 False -9223372036854775808 0 0} {a14 2 False -2147483649 0 -1} {a14 3 False\
-2147483648 0 0} {a14 4 False -32769 0 32767} {a14 5 True -32768 0 -32768} {a14\
6 True -129 0 -129} {a14 7 True -128 0 -128} {a14 8 True -1 0 -1} {a14 9 True 0\
0 0} {a14 10 True 1 0 1} {a14 11 True 127 0 127} {a14 12 True 128 0 128} {a14\
13 True 255 0 255} {a14 14 True 256 0 256} {a14 15 True 32767 0 32767} {a14 16\
False 32768 0 -32768} {a14 17 False 65535 0 -1} {a14 18 False 65536 0 0} {a14\
19 False 2147483647 0 -1} {a14 20 False 2147483648 0 0} {a14 21 False\
4294967295 0 -1} {a14 22 False 4294967296 0 0} {a14 23 False\
9223372036854775807 0 -1} {a14 24 False 9223372036854775808 0 0} {a14 25 False\
18446744073709551615 0 0} {a14 26 False 18446744073709551616 0 0} {a15 0 False\
-9223372036854775809 0 0} {a15 1 False -9223372036854775808 0 0} {a15 2 False\
-2147483649 0 2147483647} {a15 3 True -2147483648 0 -2147483648} {a15 4 True\
-32769 0 -32769} {a15 5 True -32768 0 -32768} {a15 6 True -129 0 -129} {a15 7\
True -128 0 -128} {a15 8 True -1 0 -1} {a15 9 True 0 0 0} {a15 10 True 1 0 1}\
{a15 11 True 127 0 127} {a15 12 True 128 0 128} {a15 13 True 255 0 255} {a15 14\
True 256 0 256} {a15 15 True 32767 0 32767} {a15 16 True 32768 0 32768} {a15 17\
True 65535 0 65535} {a15 18 True 65536 0 65536} {a15 19 True 2147483647 0\
2147483647} {a15 20 False 2147483648 0 -2147483648} {a15 21 False 4294967295 0\
-1} {a15 22 False 4294967296 0 0} {a15 23 False 9223372036854775807 0 -1} {a15\
24 False 9223372036854775808 0 0} {a15 25 False 18446744073709551615 0 0} {a15\
26 False 18446744073709551616 0 0} {a16 0 False -9223372036854775809 0\
-9223372036854775808} {a16 1 True -9223372036854775808 0 -9223372036854775808}\
{a16 2 True -2147483649 0 -2147483649} {a16 3 True -2147483648 0 -2147483648}\
{a16 4 True -32769 0 -32769} {a16 5 True -32768 0 -32768} {a16 6 True -129 0\
-129} {a16 7 True -128 0 -128} {a16 8 True -1 0 -1} {a16 9 True 0 0 0} {a16 10\
True 1 0 1} {a16 11 True 127 0 127} {a16 12 True 128 0 128} {a16 13 True 255 0\
255} {a16 14 True 256 0 256} {a16 15 True 32767 0 32767} {a16 16 True 32768 0\
32768} {a16 17 True 65535 0 65535} {a16 18 True 65536 0 65536} {a16 19 True\
2147483647 0 2147483647} {a16 20 True 2147483648 0 2147483648} {a16 21 True\
4294967295 0 4294967295} {a16 22 True 4294967296 0 4294967296} {a16 23 True\
9223372036854775807 0 9223372036854775807} {a16 24 False 9223372036854775808 0\
-9223372036854775808} {a16 25 False 18446744073709551615 0\
-9223372036854775808} {a16 26 False 18446744073709551616 0\
-9223372036854775808} {a17 0 False -9223372036854775809 0 -9223372036854775808}\
{a17 1 True -9223372036854775808 0 -9223372036854775808} {a17 2 True\
-2147483649 0 -2147483649} {a17 3 True -2147483648 0 -2147483648} {a17 4 True\
-32769 0 -32769} {a17 5 True -32768 0 -32768} {a17 6 True -129 0 -129} {a17 7\
True -128 0 -128} {a17 8 True -1 0 -1} {a17 9 True 0 0 0} {a17 10 True 1 0 1}\
{a17 11 True 127 0 127} {a17 12 True 128 0 128} {a17 13 True 255 0 255} {a17 14\
True 256 0 256} {a17 15 True 32767 0 32767} {a17 16 True 32768 0 32768} {a17 17\
True 65535 0 65535} {a17 18 True 65536 0 65536} {a17 19 True 2147483647 0\
2147483647} {a17 20 True 2147483648 0 2147483648} {a17 21 True 4294967295 0\
4294967295} {a17 22 True 4294967296 0 4294967296} {a17 23 True\
9223372036854775807 0 9223372036854775807} {a17 24 False 9223372036854775808 0\
-9223372036854775808} {a17 25 False 18446744073709551615 0\
-9223372036854775808} {a17 26 False 18446744073709551616 0\
-9223372036854775808} {a18 0 False -9223372036854775809 0 0} {a18 1 False\
-9223372036854775808 0 0} {a18 2 False -2147483649 0 -1} {a18 3 False\
-2147483648 0 0} {a18 4 False -32769 0 32767} {a18 5 True -32768 0 -32768} {a18\
6 True -129 0 -129} {a18 7 True -128 0 -128} {a18 8 True -1 0 -1} {a18 9 True 0\
0 0} {a18 10 True 1 0 1} {a18 11 True 127 0 127} {a18 12 True 128 0 128} {a18\
13 True 255 0 255} {a18 14 True 256 0 256} {a18 15 True 32767 0 32767} {a18 16\
False 32768 0 -32768} {a18 17 False 65535 0 -1} {a18 18 False 65536 0 0} {a18\
19 False 2147483647 0 -1} {a18 20 False 2147483648 0 0} {a18 21 False\
4294967295 0 -1} {a18 22 False 4294967296 0 0} {a18 23 False\
9223372036854775807 0 -1} {a18 24 False 9223372036854775808 0 0} {a18 25 False\
18446744073709551615 0 0} {a18 26 False 18446744073709551616 0 0} {a19 0 False\
-9223372036854775809 0 0} {a19 1 False -9223372036854775808 0 0} {a19 2 False\
-2147483649 0 65535} {a19 3 False -2147483648 0 0} {a19 4 False -32769 0 32767}\
{a19 5 False -32768 0 32768} {a19 6 False -129 0 65407} {a19 7 False -128 0\
65408} {a19 8 False -1 0 65535} {a19 9 True 0 0 0} {a19 10 True 1 0 1} {a19 11\
True 127 0 127} {a19 12 True 128 0 128} {a19 13 True 255 0 255} {a19 14 True\
256 0 256} {a19 15 True 32767 0 32767} {a19 16 True 32768 0 32768} {a19 17 True\
65535 0 65535} {a19 18 False 65536 0 0} {a19 19 False 2147483647 0 65535} {a19\
20 False 2147483648 0 0} {a19 21 False 4294967295 0 65535} {a19 22 False\
4294967296 0 0} {a19 23 False 9223372036854775807 0 65535} {a19 24 False\
9223372036854775808 0 0} {a19 25 False 18446744073709551615 0 0} {a19 26 False\
18446744073709551616 0 0} {a20 0 False -9223372036854775809 0 0} {a20 1 False\
-9223372036854775808 0 0} {a20 2 False -2147483649 0 255} {a20 3 False\
-2147483648 0 0} {a20 4 False -32769 0 255} {a20 5 False -32768 0 0} {a20 6\
False -129 0 127} {a20 7 False -128 0 128} {a20 8 False -1 0 255} {a20 9 True 0\
0 0} {a20 10 True 1 0 1} {a20 11 True 127 0 127} {a20 12 True 128 0 128} {a20\
13 True 255 0 255} {a20 14 False 256 0 0} {a20 15 False 32767 0 255} {a20 16\
False 32768 0 0} {a20 17 False 65535 0 255} {a20 18 False 65536 0 0} {a20 19\
False 2147483647 0 255} {a20 20 False 2147483648 0 0} {a20 21 False 4294967295\
0 255} {a20 22 False 4294967296 0 0} {a20 23 False 9223372036854775807 0 255}\
{a20 24 False 9223372036854775808 0 0} {a20 25 False 18446744073709551615 0 0}\
{a20 26 False 18446744073709551616 0 0} {a21 0 False -9223372036854775809 0 0}\
{a21 1 False -9223372036854775808 0 0} {a21 2 False -2147483649 0 -1} {a21 3\
False -2147483648 0 0} {a21 4 False -32769 0 -1} {a21 5 False -32768 0 0} {a21\
6 False -129 0 127} {a21 7 True -128 0 -128} {a21 8 True -1 0 -1} {a21 9 True 0\
0 0} {a21 10 True 1 0 1} {a21 11 True 127 0 127} {a21 12 False 128 0 -128} {a21\
13 False 255 0 -1} {a21 14 False 256 0 0} {a21 15 False 32767 0 -1} {a21 16\
False 32768 0 0} {a21 17 False 65535 0 -1} {a21 18 False 65536 0 0} {a21 19\
False 2147483647 0 -1} {a21 20 False 2147483648 0 0} {a21 21 False 4294967295 0\
-1} {a21 22 False 4294967296 0 0} {a21 23 False 9223372036854775807 0 -1} {a21\
24 False 9223372036854775808 0 0} {a21 25 False 18446744073709551615 0 0} {a21\
26 False 18446744073709551616 0 0} {a22 0 False -9223372036854775809 0 0} {a22\
1 False -9223372036854775808 0 0} {a22 2 False -2147483649 0 2147483647} {a22 3\
False -2147483648 0 2147483648} {a22 4 False -32769 0 4294934527} {a22 5 False\
-32768 0 4294934528} {a22 6 False -129 0 4294967167} {a22 7 False -128 0\
4294967168} {a22 8 False -1 0 4294967295} {a22 9 True 0 0 0} {a22 10 True 1 0\
1} {a22 11 True 127 0 127} {a22 12 True 128 0 128} {a22 13 True 255 0 255} {a22\
14 True 256 0 256} {a22 15 True 32767 0 32767} {a22 16 True 32768 0 32768} {a22\
17 True 65535 0 65535} {a22 18 True 65536 0 65536} {a22 19 True 2147483647 0\
2147483647} {a22 20 True 2147483648 0 2147483648} {a22 21 True 4294967295 0\
4294967295} {a22 22 False 4294967296 0 0} {a22 23 False 9223372036854775807 0\
4294967295} {a22 24 False 9223372036854775808 0 0} {a22 25 False\
18446744073709551615 0 0} {a22 26 False 18446744073709551616 0 0} {a23 0 False\
-9223372036854775809 0 0} {a23 1 False -9223372036854775808 0 0} {a23 2 False\
-2147483649 0 255} {a23 3 False -2147483648 0 0} {a23 4 False -32769 0 255}\
{a23 5 False -32768 0 0} {a23 6 False -129 0 127} {a23 7 False -128 0 128} {a23\
8 False -1 0 255} {a23 9 True 0 0 0} {a23 10 True 1 0 1} {a23 11 True 127 0\
127} {a23 12 True 128 0 128} {a23 13 True 255 0 255} {a23 14 False 256 0 0}\
{a23 15 False 32767 0 255} {a23 16 False 32768 0 0} {a23 17 False 65535 0 255}\
{a23 18 False 65536 0 0} {a23 19 False 2147483647 0 255} {a23 20 False\
2147483648 0 0} {a23 21 False 4294967295 0 255} {a23 22 False 4294967296 0 0}\
{a23 23 False 9223372036854775807 0 255} {a23 24 False 9223372036854775808 0 0}\
{a23 25 False 18446744073709551615 0 0} {a23 26 False 18446744073709551616 0 0}\
{a24 0 False -9223372036854775809 0 0} {a24 1 False -9223372036854775808 0 0}\
{a24 2 False -2147483649 0 65535} {a24 3 False -2147483648 0 0} {a24 4 False\
-32769 0 32767} {a24 5 False -32768 0 32768} {a24 6 False -129 0 65407} {a24 7\
False -128 0 65408} {a24 8 False -1 0 65535} {a24 9 True 0 0 0} {a24 10 True 1\
0 1} {a24 11 True 127 0 127} {a24 12 True 128 0 128} {a24 13 True 255 0 255}\
{a24 14 True 256 0 256} {a24 15 True 32767 0 32767} {a24 16 True 32768 0 32768}\
{a24 17 True 65535 0 65535} {a24 18 False 65536 0 0} {a24 19 False 2147483647 0\
65535} {a24 20 False 2147483648 0 0} {a24 21 False 4294967295 0 65535} {a24 22\
False 4294967296 0 0} {a24 23 False 9223372036854775807 0 65535} {a24 24 False\
9223372036854775808 0 0} {a24 25 False 18446744073709551615 0 0} {a24 26 False\
18446744073709551616 0 0} {a25 0 False -9223372036854775809 0 0} {a25 1 False\
-9223372036854775808 0 0} {a25 2 False -2147483649 0 2147483647} {a25 3 False\
-2147483648 0 2147483648} {a25 4 False -32769 0 4294934527} {a25 5 False -32768\
0 4294934528} {a25 6 False -129 0 4294967167} {a25 7 False -128 0 4294967168}\
{a25 8 False -1 0 4294967295} {a25 9 True 0 0 0} {a25 10 True 1 0 1} {a25 11\
True 127 0 127} {a25 12 True 128 0 128} {a25 13 True 255 0 255} {a25 14 True\
256 0 256} {a25 15 True 32767 0 32767} {a25 16 True 32768 0 32768} {a25 17 True\
65535 0 65535} {a25 18 True 65536 0 65536} {a25 19 True 2147483647 0\
2147483647} {a25 20 True 2147483648 0 2147483648} {a25 21 True 4294967295 0\
4294967295} {a25 22 False 4294967296 0 0} {a25 23 False 9223372036854775807 0\
4294967295} {a25 24 False 9223372036854775808 0 0} {a25 25 False\
18446744073709551615 0 0} {a25 26 False 18446744073709551616 0 0} {a26 0 False\
-9223372036854775809 0 9223372036854775808} {a26 1 False -9223372036854775808 0\
9223372036854775808} {a26 2 False -2147483649 0 18446744071562067967} {a26 3\
False -2147483648 0 18446744071562067968} {a26 4 False -32769 0\
18446744073709518847} {a26 5 False -32768 0 18446744073709518848} {a26 6 False\
-129 0 18446744073709551487} {a26 7 False -128 0 18446744073709551488} {a26 8\
False -1 0 18446744073709551615} {a26 9 True 0 0 0} {a26 10 True 1 0 1} {a26 11\
True 127 0 127} {a26 12 True 128 0 128} {a26 13 True 255 0 255} {a26 14 True\
256 0 256} {a26 15 True 32767 0 32767} {a26 16 True 32768 0 32768} {a26 17 True\
65535 0 65535} {a26 18 True 65536 0 65536} {a26 19 True 2147483647 0\
2147483647} {a26 20 True 2147483648 0 2147483648} {a26 21 True 4294967295 0\
4294967295} {a26 22 True 4294967296 0 4294967296} {a26 23 True\
9223372036854775807 0 9223372036854775807} {a26 24 True 9223372036854775808 0\
9223372036854775808} {a26 25 False 18446744073709551615 0 9223372036854775808}\
{a26 26 False 18446744073709551616 0 9223372036854775808} {a27 0 False\
-9223372036854775809 0 9223372036854775808} {a27 1 False -9223372036854775808 0\
9223372036854775808} {a27 2 False -2147483649 0 18446744071562067967} {a27 3\
False -2147483648 0 18446744071562067968} {a27 4 False -32769 0\
18446744073709518847} {a27 5 False -32768 0 18446744073709518848} {a27 6 False\
-129 0 18446744073709551487} {a27 7 False -128 0 18446744073709551488} {a27 8\
False -1 0 18446744073709551615} {a27 9 True 0 0 0} {a27 10 True 1 0 1} {a27 11\
True 127 0 127} {a27 12 True 128 0 128} {a27 13 True 255 0 255} {a27 14 True\
256 0 256} {a27 15 True 32767 0 32767} {a27 16 True 32768 0 32768} {a27 17 True\
65535 0 65535} {a27 18 True 65536 0 65536} {a27 19 True 2147483647 0\
2147483647} {a27 20 True 2147483648 0 2147483648} {a27 21 True 4294967295 0\
4294967295} {a27 22 True 4294967296 0 4294967296} {a27 23 True\
9223372036854775807 0 9223372036854775807} {a27 24 True 9223372036854775808 0\
9223372036854775808} {a27 25 False 18446744073709551615 0 9223372036854775808}\
{a27 26 False 18446744073709551616 0 9223372036854775808} {a28 0 False\
-9223372036854775809 0 9223372036854775808} {a28 1 False -9223372036854775808 0\
9223372036854775808} {a28 2 False -2147483649 0 18446744071562067967} {a28 3\
False -2147483648 0 18446744071562067968} {a28 4 False -32769 0\
18446744073709518847} {a28 5 False -32768 0 18446744073709518848} {a28 6 False\
-129 0 18446744073709551487} {a28 7 False -128 0 18446744073709551488} {a28 8\
False -1 0 18446744073709551615} {a28 9 True 0 0 0} {a28 10 True 1 0 1} {a28 11\
True 127 0 127} {a28 12 True 128 0 128} {a28 13 True 255 0 255} {a28 14 True\
256 0 256} {a28 15 True 32767 0 32767} {a28 16 True 32768 0 32768} {a28 17 True\
65535 0 65535} {a28 18 True 65536 0 65536} {a28 19 True 2147483647 0\
2147483647} {a28 20 True 2147483648 0 2147483648} {a28 21 True 4294967295 0\
4294967295} {a28 22 True 4294967296 0 4294967296} {a28 23 True\
9223372036854775807 0 9223372036854775807} {a28 24 True 9223372036854775808 0\
9223372036854775808} {a28 25 False 18446744073709551615 0 9223372036854775808}\
{a28 26 False 18446744073709551616 0 9223372036854775808} {a29 0 False\
-9223372036854775809 0 0} {a29 1 False -9223372036854775808 0 0} {a29 2 False\
-2147483649 0 255} {a29 3 False -2147483648 0 0} {a29 4 False -32769 0 255}\
{a29 5 False -32768 0 0} {a29 6 False -129 0 127} {a29 7 False -128 0 128} {a29\
8 False -1 0 255} {a29 9 True 0 0 0} {a29 10 True 1 0 1} {a29 11 True 127 0\
127} {a29 12 True 128 0 128} {a29 13 True 255 0 255} {a29 14 False 256 0 0}\
{a29 15 False 32767 0 255} {a29 16 False 32768 0 0} {a29 17 False 65535 0 255}\
{a29 18 False 65536 0 0} {a29 19 False 2147483647 0 255} {a29 20 False\
2147483648 0 0} {a29 21 False 4294967295 0 255} {a29 22 False 4294967296 0 0}\
{a29 23 False 9223372036854775807 0 255} {a29 24 False 9223372036854775808 0 0}\
{a29 25 False 18446744073709551615 0 0} {a29 26 False 18446744073709551616 0 0}\
{a30 0 False -9223372036854775809 0 0} {a30 1 False -9223372036854775808 0 0}\
{a30 2 False -2147483649 0 65535} {a30 3 False -2147483648 0 0} {a30 4 False\
-32769 0 32767} {a30 5 False -32768 0 32768} {a30 6 False -129 0 65407} {a30 7\
False -128 0 65408} {a30 8 False -1 0 65535} {a30 9 True 0 0 0} {a30 10 True 1\
0 1} {a30 11 True 127 0 127} {a30 12 True 128 0 128} {a30 13 True 255 0 255}\
{a30 14 True 256 0 256} {a30 15 True 32767 0 32767} {a30 16 True 32768 0 32768}\
{a30 17 True 65535 0 65535} {a30 18 False 65536 0 0} {a30 19 False 2147483647 0\
65535} {a30 20 False 2147483648 0 0} {a30 21 False 4294967295 0 65535} {a30 22\
False 4294967296 0 0} {a30 23 False 9223372036854775807 0 65535} {a30 24 False\
9223372036854775808 0 0} {a30 25 False 18446744073709551615 0 0} {a30 26 False\
18446744073709551616 0 0} {a31 0 False -9223372036854775809 0 0} {a31 1 False\
-9223372036854775808 0 0} {a31 2 False -2147483649 0 2147483647} {a31 3 False\
-2147483648 0 2147483648} {a31 4 False -32769 0 4294934527} {a31 5 False -32768\
0 4294934528} {a31 6 False -129 0 4294967167} {a31 7 False -128 0 4294967168}\
{a31 8 False -1 0 4294967295} {a31 9 True 0 0 0} {a31 10 True 1 0 1} {a31 11\
True 127 0 127} {a31 12 True 128 0 128} {a31 13 True 255 0 255} {a31 14 True\
256 0 256} {a31 15 True 32767 0 32767} {a31 16 True 32768 0 32768} {a31 17 True\
65535 0 65535} {a31 18 True 65536 0 65536} {a31 19 True 2147483647 0\
2147483647} {a31 20 True 2147483648 0 2147483648} {a31 21 True 4294967295 0\
4294967295} {a31 22 False 4294967296 0 0} {a31 23 False 9223372036854775807 0\
4294967295} {a31 24 False 9223372036854775808 0 0} {a31 25 False\
18446744073709551615 0 0} {a31 26 False 18446744073709551616 0 0} {a32 0 False\
-9223372036854775809 0 9223372036854775808} {a32 1 False -9223372036854775808 0\
9223372036854775808} {a32 2 False -2147483649 0 18446744071562067967} {a32 3\
False -2147483648 0 18446744071562067968} {a32 4 False -32769 0\
18446744073709518847} {a32 5 False -32768 0 18446744073709518848} {a32 6 False\
-129 0 18446744073709551487} {a32 7 False -128 0 18446744073709551488} {a32 8\
False -1 0 18446744073709551615} {a32 9 True 0 0 0} {a32 10 True 1 0 1} {a32 11\
True 127 0 127} {a32 12 True 128 0 128} {a32 13 True 255 0 255} {a32 14 True\
256 0 256} {a32 15 True 32767 0 32767} {a32 16 True 32768 0 32768} {a32 17 True\
65535 0 65535} {a32 18 True 65536 0 65536} {a32 19 True 2147483647 0\
2147483647} {a32 20 True 2147483648 0 2147483648} {a32 21 True 4294967295 0\
4294967295} {a32 22 True 4294967296 0 4294967296} {a32 23 True\
9223372036854775807 0 9223372036854775807} {a32 24 True 9223372036854775808 0\
9223372036854775808} {a32 25 False 18446744073709551615 0 9223372036854775808}\
{a32 26 False 18446744073709551616 0 9223372036854775808}}}

###############################################################################

runTest {test tkt-c010fa6584-1.2 {UInt32 parameter binding} -setup {
  setupDb [set fileName tkt-c010fa6584-1.2.db]
} -body {
  sql execute $db "CREATE TABLE t1(x UINT32);"

  sql execute $db "INSERT INTO t1 (x) VALUES(?);" \
      [list param1 UInt32 0xFFFFFFFF]

  sql execute -execute scalar $db "SELECT x FROM t1;"
} -cleanup {
  cleanupDb $fileName

  unset -nocomplain db fileName
} -constraints \
{eagle monoBug28 command.sql compile.DATA SQLite System.Data.SQLite} -result \
{4294967295}}

###############################################################################

runSQLiteTestEpilogue
runTestEpilogue
