/ Hex Artifact Content
Login

Artifact d7b0a5f41123df1e43985b91b8b2e70f95282d21:


0000: 23 20 32 30 31 34 2d 30 37 2d 32 33 0a 23 0a 23  # 2014-07-23.#.#
0010: 20 54 68 65 20 61 75 74 68 6f 72 20 64 69 73 63   The author disc
0020: 6c 61 69 6d 73 20 63 6f 70 79 72 69 67 68 74 20  laims copyright 
0030: 74 6f 20 74 68 69 73 20 73 6f 75 72 63 65 20 63  to this source c
0040: 6f 64 65 2e 20 20 49 6e 20 70 6c 61 63 65 20 6f  ode.  In place o
0050: 66 0a 23 20 61 20 6c 65 67 61 6c 20 6e 6f 74 69  f.# a legal noti
0060: 63 65 2c 20 68 65 72 65 20 69 73 20 61 20 62 6c  ce, here is a bl
0070: 65 73 73 69 6e 67 3a 0a 23 0a 23 20 20 20 20 4d  essing:.#.#    M
0080: 61 79 20 79 6f 75 20 64 6f 20 67 6f 6f 64 20 61  ay you do good a
0090: 6e 64 20 6e 6f 74 20 65 76 69 6c 2e 0a 23 20 20  nd not evil..#  
00a0: 20 20 4d 61 79 20 79 6f 75 20 66 69 6e 64 20 66    May you find f
00b0: 6f 72 67 69 76 65 6e 65 73 73 20 66 6f 72 20 79  orgiveness for y
00c0: 6f 75 72 73 65 6c 66 20 61 6e 64 20 66 6f 72 67  ourself and forg
00d0: 69 76 65 20 6f 74 68 65 72 73 2e 0a 23 20 20 20  ive others..#   
00e0: 20 4d 61 79 20 79 6f 75 20 73 68 61 72 65 20 66   May you share f
00f0: 72 65 65 6c 79 2c 20 6e 65 76 65 72 20 74 61 6b  reely, never tak
0100: 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 79 6f  ing more than yo
0110: 75 20 67 69 76 65 2e 0a 23 0a 23 2a 2a 2a 2a 2a  u give..#.#*****
0120: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0130: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0140: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0150: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0160: 2a 2a 0a 23 0a 23 20 54 68 69 73 20 66 69 6c 65  **.#.# This file
0170: 20 69 6d 70 6c 65 6d 65 6e 74 73 20 74 65 73 74   implements test
0180: 73 20 66 6f 72 20 68 65 78 61 64 65 63 69 6d 61  s for hexadecima
0190: 6c 20 6c 69 74 65 72 61 6c 73 0a 0a 0a 73 65 74  l literals...set
01a0: 20 74 65 73 74 64 69 72 20 5b 66 69 6c 65 20 64   testdir [file d
01b0: 69 72 6e 61 6d 65 20 24 61 72 67 76 30 5d 0a 73  irname $argv0].s
01c0: 6f 75 72 63 65 20 24 74 65 73 74 64 69 72 2f 74  ource $testdir/t
01d0: 65 73 74 65 72 2e 74 63 6c 0a 0a 70 72 6f 63 20  ester.tcl..proc 
01e0: 68 65 78 6c 69 74 31 20 7b 74 6e 75 6d 20 76 61  hexlit1 {tnum va
01f0: 6c 20 61 6e 73 7d 20 7b 0a 20 20 64 6f 5f 65 78  l ans} {.  do_ex
0200: 65 63 73 71 6c 5f 74 65 73 74 20 68 65 78 6c 69  ecsql_test hexli
0210: 74 2d 24 74 6e 75 6d 20 22 53 45 4c 45 43 54 20  t-$tnum "SELECT 
0220: 24 76 61 6c 22 20 24 61 6e 73 0a 7d 0a 0a 68 65  $val" $ans.}..he
0230: 78 6c 69 74 31 20 31 30 30 20 30 78 30 20 30 0a  xlit1 100 0x0 0.
0240: 68 65 78 6c 69 74 31 20 31 30 31 20 30 78 30 30  hexlit1 101 0x00
0250: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
0260: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
0270: 30 30 30 30 30 30 30 30 30 30 30 31 20 31 0a 68  000000000001 1.h
0280: 65 78 6c 69 74 31 20 31 30 32 20 30 78 32 20 32  exlit1 102 0x2 2
0290: 0a 68 65 78 6c 69 74 31 20 31 30 33 20 30 78 34  .hexlit1 103 0x4
02a0: 20 34 0a 68 65 78 6c 69 74 31 20 31 30 34 20 30   4.hexlit1 104 0
02b0: 78 38 20 38 0a 68 65 78 6c 69 74 31 20 31 30 35  x8 8.hexlit1 105
02c0: 20 30 78 30 30 30 30 30 30 30 30 30 30 30 30 30   0x0000000000000
02d0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
02e0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30  0000000000000000
02f0: 31 30 20 31 36 0a 68 65 78 6c 69 74 31 20 31 30  10 16.hexlit1 10
0300: 33 20 30 78 32 30 20 33 32 0a 68 65 78 6c 69 74  3 0x20 32.hexlit
0310: 31 20 31 30 36 20 30 78 34 30 20 36 34 0a 68 65  1 106 0x40 64.he
0320: 78 6c 69 74 31 20 31 30 37 20 30 78 38 30 20 31  xlit1 107 0x80 1
0330: 32 38 0a 68 65 78 6c 69 74 31 20 31 30 38 20 30  28.hexlit1 108 0
0340: 78 31 30 30 20 32 35 36 0a 68 65 78 6c 69 74 31  x100 256.hexlit1
0350: 20 31 30 39 20 30 78 32 30 30 20 35 31 32 0a 68   109 0x200 512.h
0360: 65 78 6c 69 74 31 20 31 31 30 20 30 58 34 30 30  exlit1 110 0X400
0370: 20 31 30 32 34 0a 68 65 78 6c 69 74 31 20 31 31   1024.hexlit1 11
0380: 31 20 30 78 38 30 30 20 32 30 34 38 0a 68 65 78  1 0x800 2048.hex
0390: 6c 69 74 31 20 31 31 32 20 30 78 31 30 30 30 20  lit1 112 0x1000 
03a0: 34 30 39 36 0a 68 65 78 6c 69 74 31 20 31 31 33  4096.hexlit1 113
03b0: 20 30 78 32 30 30 30 20 38 31 39 32 0a 68 65 78   0x2000 8192.hex
03c0: 6c 69 74 31 20 31 31 34 20 30 78 34 30 30 30 20  lit1 114 0x4000 
03d0: 31 36 33 38 34 0a 68 65 78 6c 69 74 31 20 31 31  16384.hexlit1 11
03e0: 35 20 30 78 38 30 30 30 20 33 32 37 36 38 0a 68  5 0x8000 32768.h
03f0: 65 78 6c 69 74 31 20 31 31 36 20 30 78 31 30 30  exlit1 116 0x100
0400: 30 30 20 36 35 35 33 36 0a 68 65 78 6c 69 74 31  00 65536.hexlit1
0410: 20 31 31 37 20 30 78 32 30 30 30 30 20 31 33 31   117 0x20000 131
0420: 30 37 32 0a 68 65 78 6c 69 74 31 20 31 31 38 20  072.hexlit1 118 
0430: 30 78 34 30 30 30 30 20 32 36 32 31 34 34 0a 68  0x40000 262144.h
0440: 65 78 6c 69 74 31 20 31 31 39 20 30 78 38 30 30  exlit1 119 0x800
0450: 30 30 20 35 32 34 32 38 38 0a 68 65 78 6c 69 74  00 524288.hexlit
0460: 31 20 31 32 30 20 30 78 31 30 30 30 30 30 20 31  1 120 0x100000 1
0470: 30 34 38 35 37 36 0a 68 65 78 6c 69 74 31 20 31  048576.hexlit1 1
0480: 32 31 20 30 78 32 30 30 30 30 30 20 32 30 39 37  21 0x200000 2097
0490: 31 35 32 0a 68 65 78 6c 69 74 31 20 31 32 32 20  152.hexlit1 122 
04a0: 30 78 34 30 30 30 30 30 20 34 31 39 34 33 30 34  0x400000 4194304
04b0: 0a 68 65 78 6c 69 74 31 20 31 32 33 20 30 78 38  .hexlit1 123 0x8
04c0: 30 30 30 30 30 20 38 33 38 38 36 30 38 0a 68 65  00000 8388608.he
04d0: 78 6c 69 74 31 20 31 32 34 20 30 78 31 30 30 30  xlit1 124 0x1000
04e0: 30 30 30 20 31 36 37 37 37 32 31 36 0a 68 65 78  000 16777216.hex
04f0: 6c 69 74 31 20 31 32 35 20 30 78 32 30 30 30 30  lit1 125 0x20000
0500: 30 30 20 33 33 35 35 34 34 33 32 0a 68 65 78 6c  00 33554432.hexl
0510: 69 74 31 20 31 32 36 20 30 78 34 30 30 30 30 30  it1 126 0x400000
0520: 30 20 36 37 31 30 38 38 36 34 0a 68 65 78 6c 69  0 67108864.hexli
0530: 74 31 20 31 32 37 20 30 78 38 30 30 30 30 30 30  t1 127 0x8000000
0540: 20 31 33 34 32 31 37 37 32 38 0a 68 65 78 6c 69   134217728.hexli
0550: 74 31 20 31 32 38 20 30 78 31 30 30 30 30 30 30  t1 128 0x1000000
0560: 30 20 32 36 38 34 33 35 34 35 36 0a 68 65 78 6c  0 268435456.hexl
0570: 69 74 31 20 31 32 39 20 30 78 32 30 30 30 30 30  it1 129 0x200000
0580: 30 30 20 35 33 36 38 37 30 39 31 32 0a 68 65 78  00 536870912.hex
0590: 6c 69 74 31 20 31 33 30 20 30 78 34 30 30 30 30  lit1 130 0x40000
05a0: 30 30 30 20 31 30 37 33 37 34 31 38 32 34 0a 68  000 1073741824.h
05b0: 65 78 6c 69 74 31 20 31 33 31 20 30 78 38 30 30  exlit1 131 0x800
05c0: 30 30 30 30 30 20 32 31 34 37 34 38 33 36 34 38  00000 2147483648
05d0: 0a 68 65 78 6c 69 74 31 20 31 33 32 20 30 78 31  .hexlit1 132 0x1
05e0: 30 30 30 30 30 30 30 30 20 34 32 39 34 39 36 37  00000000 4294967
05f0: 32 39 36 0a 68 65 78 6c 69 74 31 20 31 33 33 20  296.hexlit1 133 
0600: 30 78 32 30 30 30 30 30 30 30 30 20 38 35 38 39  0x200000000 8589
0610: 39 33 34 35 39 32 0a 68 65 78 6c 69 74 31 20 31  934592.hexlit1 1
0620: 33 34 20 30 78 34 30 30 30 30 30 30 30 30 20 31  34 0x400000000 1
0630: 37 31 37 39 38 36 39 31 38 34 0a 68 65 78 6c 69  7179869184.hexli
0640: 74 31 20 31 33 35 20 30 78 38 30 30 30 30 30 30  t1 135 0x8000000
0650: 30 30 20 33 34 33 35 39 37 33 38 33 36 38 0a 68  00 34359738368.h
0660: 65 78 6c 69 74 31 20 31 33 36 20 30 78 31 30 30  exlit1 136 0x100
0670: 30 30 30 30 30 30 30 20 36 38 37 31 39 34 37 36  0000000 68719476
0680: 37 33 36 0a 68 65 78 6c 69 74 31 20 31 33 37 20  736.hexlit1 137 
0690: 30 78 32 30 30 30 30 30 30 30 30 30 20 31 33 37  0x2000000000 137
06a0: 34 33 38 39 35 33 34 37 32 0a 68 65 78 6c 69 74  438953472.hexlit
06b0: 31 20 31 33 38 20 30 78 34 30 30 30 30 30 30 30  1 138 0x40000000
06c0: 30 30 20 32 37 34 38 37 37 39 30 36 39 34 34 0a  00 274877906944.
06d0: 68 65 78 6c 69 74 31 20 31 33 39 20 30 78 38 30  hexlit1 139 0x80
06e0: 30 30 30 30 30 30 30 30 20 35 34 39 37 35 35 38  00000000 5497558
06f0: 31 33 38 38 38 0a 68 65 78 6c 69 74 31 20 31 34  13888.hexlit1 14
0700: 30 20 30 78 31 30 30 30 30 30 30 30 30 30 30 20  0 0x10000000000 
0710: 31 30 39 39 35 31 31 36 32 37 37 37 36 0a 68 65  1099511627776.he
0720: 78 6c 69 74 31 20 31 34 31 20 30 78 32 30 30 30  xlit1 141 0x2000
0730: 30 30 30 30 30 30 30 20 32 31 39 39 30 32 33 32  0000000 21990232
0740: 35 35 35 35 32 0a 68 65 78 6c 69 74 31 20 31 34  55552.hexlit1 14
0750: 32 20 30 78 34 30 30 30 30 30 30 30 30 30 30 20  2 0x40000000000 
0760: 34 33 39 38 30 34 36 35 31 31 31 30 34 0a 68 65  4398046511104.he
0770: 78 6c 69 74 31 20 31 34 33 20 30 78 38 30 30 30  xlit1 143 0x8000
0780: 30 30 30 30 30 30 30 20 38 37 39 36 30 39 33 30  0000000 87960930
0790: 32 32 32 30 38 0a 68 65 78 6c 69 74 31 20 31 34  22208.hexlit1 14
07a0: 34 20 30 78 31 30 30 30 30 30 30 30 30 30 30 30  4 0x100000000000
07b0: 20 31 37 35 39 32 31 38 36 30 34 34 34 31 36 0a   17592186044416.
07c0: 68 65 78 6c 69 74 31 20 31 34 35 20 30 78 32 30  hexlit1 145 0x20
07d0: 30 30 30 30 30 30 30 30 30 30 20 33 35 31 38 34  0000000000 35184
07e0: 33 37 32 30 38 38 38 33 32 0a 68 65 78 6c 69 74  372088832.hexlit
07f0: 31 20 31 34 36 20 30 78 34 30 30 30 30 30 30 30  1 146 0x40000000
0800: 30 30 30 30 20 37 30 33 36 38 37 34 34 31 37 37  0000 70368744177
0810: 36 36 34 0a 68 65 78 6c 69 74 31 20 31 34 37 20  664.hexlit1 147 
0820: 30 78 38 30 30 30 30 30 30 30 30 30 30 30 20 31  0x800000000000 1
0830: 34 30 37 33 37 34 38 38 33 35 35 33 32 38 0a 68  40737488355328.h
0840: 65 78 6c 69 74 31 20 31 34 38 20 30 78 31 30 30  exlit1 148 0x100
0850: 30 30 30 30 30 30 30 30 30 30 20 32 38 31 34 37  0000000000 28147
0860: 34 39 37 36 37 31 30 36 35 36 0a 68 65 78 6c 69  4976710656.hexli
0870: 74 31 20 31 34 39 20 30 78 32 30 30 30 30 30 30  t1 149 0x2000000
0880: 30 30 30 30 30 30 20 35 36 32 39 34 39 39 35 33  000000 562949953
0890: 34 32 31 33 31 32 0a 68 65 78 6c 69 74 31 20 31  421312.hexlit1 1
08a0: 35 30 20 30 78 34 30 30 30 30 30 30 30 30 30 30  50 0x40000000000
08b0: 30 30 20 31 31 32 35 38 39 39 39 30 36 38 34 32  00 1125899906842
08c0: 36 32 34 0a 68 65 78 6c 69 74 31 20 31 35 31 20  624.hexlit1 151 
08d0: 30 78 38 30 30 30 30 30 30 30 30 30 30 30 30 20  0x8000000000000 
08e0: 32 32 35 31 37 39 39 38 31 33 36 38 35 32 34 38  2251799813685248
08f0: 0a 68 65 78 6c 69 74 31 20 31 35 32 20 30 78 31  .hexlit1 152 0x1
0900: 30 30 30 30 30 30 30 30 30 30 30 30 30 20 34 35  0000000000000 45
0910: 30 33 35 39 39 36 32 37 33 37 30 34 39 36 0a 68  03599627370496.h
0920: 65 78 6c 69 74 31 20 31 35 33 20 30 78 32 30 30  exlit1 153 0x200
0930: 30 30 30 30 30 30 30 30 30 30 30 20 39 30 30 37  00000000000 9007
0940: 31 39 39 32 35 34 37 34 30 39 39 32 0a 68 65 78  199254740992.hex
0950: 6c 69 74 31 20 31 35 34 20 30 78 34 30 30 30 30  lit1 154 0x40000
0960: 30 30 30 30 30 30 30 30 30 20 31 38 30 31 34 33  000000000 180143
0970: 39 38 35 30 39 34 38 31 39 38 34 0a 68 65 78 6c  98509481984.hexl
0980: 69 74 31 20 31 35 35 20 30 78 38 30 30 30 30 30  it1 155 0x800000
0990: 30 30 30 30 30 30 30 30 20 33 36 30 32 38 37 39  00000000 3602879
09a0: 37 30 31 38 39 36 33 39 36 38 0a 68 65 78 6c 69  7018963968.hexli
09b0: 74 31 20 31 35 36 20 30 78 31 30 30 30 30 30 30  t1 156 0x1000000
09c0: 30 30 30 30 30 30 30 30 20 37 32 30 35 37 35 39  00000000 7205759
09d0: 34 30 33 37 39 32 37 39 33 36 0a 68 65 78 6c 69  4037927936.hexli
09e0: 74 31 20 31 35 37 20 30 78 32 30 30 30 30 30 30  t1 157 0x2000000
09f0: 30 30 30 30 30 30 30 30 20 31 34 34 31 31 35 31  00000000 1441151
0a00: 38 38 30 37 35 38 35 35 38 37 32 0a 68 65 78 6c  88075855872.hexl
0a10: 69 74 31 20 31 35 38 20 30 78 34 30 30 30 30 30  it1 158 0x400000
0a20: 30 30 30 30 30 30 30 30 30 20 32 38 38 32 33 30  000000000 288230
0a30: 33 37 36 31 35 31 37 31 31 37 34 34 0a 68 65 78  376151711744.hex
0a40: 6c 69 74 31 20 31 35 39 20 30 78 38 30 30 30 30  lit1 159 0x80000
0a50: 30 30 30 30 30 30 30 30 30 30 20 35 37 36 34 36  0000000000 57646
0a60: 30 37 35 32 33 30 33 34 32 33 34 38 38 0a 68 65  0752303423488.he
0a70: 78 6c 69 74 31 20 31 36 30 20 30 58 31 30 30 30  xlit1 160 0X1000
0a80: 30 30 30 30 30 30 30 30 30 30 30 30 20 31 31 35  000000000000 115
0a90: 32 39 32 31 35 30 34 36 30 36 38 34 36 39 37 36  2921504606846976
0aa0: 0a 68 65 78 6c 69 74 31 20 31 36 31 20 30 78 32  .hexlit1 161 0x2
0ab0: 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 20  000000000000000 
0ac0: 32 33 30 35 38 34 33 30 30 39 32 31 33 36 39 33  2305843009213693
0ad0: 39 35 32 0a 68 65 78 6c 69 74 31 20 31 36 32 20  952.hexlit1 162 
0ae0: 30 58 34 30 30 30 30 30 30 30 30 30 30 30 30 30  0X40000000000000
0af0: 30 30 20 34 36 31 31 36 38 36 30 31 38 34 32 37  00 4611686018427
0b00: 33 38 37 39 30 34 0a 68 65 78 6c 69 74 31 20 31  387904.hexlit1 1
0b10: 36 33 20 30 78 38 30 30 30 30 30 30 30 30 30 30  63 0x80000000000
0b20: 30 30 30 30 30 20 2d 39 32 32 33 33 37 32 30 33  00000 -922337203
0b30: 36 38 35 34 37 37 35 38 30 38 0a 68 65 78 6c 69  6854775808.hexli
0b40: 74 31 20 31 36 34 20 30 58 46 46 46 46 46 46 46  t1 164 0XFFFFFFF
0b50: 46 46 46 46 46 46 46 46 46 20 2d 31 0a 0a 66 6f  FFFFFFFFF -1..fo
0b60: 72 20 7b 73 65 74 20 6e 20 31 7d 20 7b 24 6e 20  r {set n 1} {$n 
0b70: 3c 20 30 78 31 30 7d 20 7b 69 6e 63 72 20 6e 7d  < 0x10} {incr n}
0b80: 20 7b 0a 20 20 68 65 78 6c 69 74 31 20 32 30 30   {.  hexlit1 200
0b90: 2e 24 6e 2e 31 20 30 58 5b 66 6f 72 6d 61 74 20  .$n.1 0X[format 
0ba0: 25 30 33 58 20 24 6e 5d 20 24 6e 0a 20 20 68 65  %03X $n] $n.  he
0bb0: 78 6c 69 74 31 20 32 30 30 2e 24 6e 2e 32 20 30  xlit1 200.$n.2 0
0bc0: 78 5b 66 6f 72 6d 61 74 20 25 30 33 58 20 24 6e  x[format %03X $n
0bd0: 5d 20 24 6e 0a 20 20 68 65 78 6c 69 74 31 20 32  ] $n.  hexlit1 2
0be0: 30 30 2e 24 6e 2e 33 20 30 58 5b 66 6f 72 6d 61  00.$n.3 0X[forma
0bf0: 74 20 25 30 33 78 20 24 6e 5d 20 24 6e 0a 20 20  t %03x $n] $n.  
0c00: 68 65 78 6c 69 74 31 20 32 30 30 2e 24 6e 2e 34  hexlit1 200.$n.4
0c10: 20 30 78 5b 66 6f 72 6d 61 74 20 25 30 33 78 20   0x[format %03x 
0c20: 24 6e 5d 20 24 6e 0a 7d 0a 0a 23 20 53 74 72 69  $n] $n.}..# Stri
0c30: 6e 67 20 6c 69 74 65 72 61 6c 73 20 74 68 61 74  ng literals that
0c40: 20 6c 6f 6f 6b 20 6c 69 6b 65 20 68 65 78 20 64   look like hex d
0c50: 6f 20 6e 6f 74 20 67 65 74 20 63 61 73 74 20 6f  o not get cast o
0c60: 72 20 63 6f 65 72 63 65 64 2e 0a 23 0a 64 6f 5f  r coerced..#.do_
0c70: 65 78 65 63 73 71 6c 5f 74 65 73 74 20 68 65 78  execsql_test hex
0c80: 6c 69 74 2d 33 30 30 20 7b 0a 20 20 43 52 45 41  lit-300 {.  CREA
0c90: 54 45 20 54 41 42 4c 45 20 74 31 28 78 20 49 4e  TE TABLE t1(x IN
0ca0: 54 2c 20 79 20 52 45 41 4c 29 3b 0a 20 20 49 4e  T, y REAL);.  IN
0cb0: 53 45 52 54 20 49 4e 54 4f 20 74 31 20 56 41 4c  SERT INTO t1 VAL
0cc0: 55 45 53 28 27 31 32 33 34 27 2c 27 34 35 36 37  UES('1234','4567
0cd0: 27 29 2c 28 27 30 78 31 32 33 34 27 2c 27 30 78  '),('0x1234','0x
0ce0: 34 35 36 37 27 29 3b 0a 20 20 53 45 4c 45 43 54  4567');.  SELECT
0cf0: 20 74 79 70 65 6f 66 28 78 29 2c 20 78 2c 20 74   typeof(x), x, t
0d00: 79 70 65 6f 66 28 79 29 2c 20 79 2c 20 27 23 27  ypeof(y), y, '#'
0d10: 20 46 52 4f 4d 20 74 31 20 4f 52 44 45 52 20 42   FROM t1 ORDER B
0d20: 59 20 72 6f 77 69 64 3b 0a 7d 20 7b 69 6e 74 65  Y rowid;.} {inte
0d30: 67 65 72 20 31 32 33 34 20 72 65 61 6c 20 34 35  ger 1234 real 45
0d40: 36 37 2e 30 20 23 20 74 65 78 74 20 30 78 31 32  67.0 # text 0x12
0d50: 33 34 20 74 65 78 74 20 30 78 34 35 36 37 20 23  34 text 0x4567 #
0d60: 7d 0a 64 6f 5f 65 78 65 63 73 71 6c 5f 74 65 73  }.do_execsql_tes
0d70: 74 20 68 65 78 6c 69 74 2d 33 30 31 20 7b 0a 20  t hexlit-301 {. 
0d80: 20 53 45 4c 45 43 54 20 43 41 53 54 28 27 30 78   SELECT CAST('0x
0d90: 31 32 33 34 27 20 41 53 20 49 4e 54 45 47 45 52  1234' AS INTEGER
0da0: 29 3b 0a 7d 20 7b 30 7d 0a 0a 23 20 4f 76 65 72  );.} {0}..# Over
0db0: 73 69 7a 65 64 20 68 65 78 20 6c 69 74 65 72 61  sized hex litera
0dc0: 6c 73 20 61 72 65 20 72 65 6a 65 63 74 65 64 0a  ls are rejected.
0dd0: 23 0a 64 6f 5f 63 61 74 63 68 73 71 6c 5f 74 65  #.do_catchsql_te
0de0: 73 74 20 68 65 78 6c 69 73 74 2d 34 30 30 20 7b  st hexlist-400 {
0df0: 0a 20 20 53 45 4c 45 43 54 20 30 78 31 30 30 30  .  SELECT 0x1000
0e00: 30 30 30 30 30 30 30 30 30 30 30 30 30 3b 0a 7d  0000000000000;.}
0e10: 20 7b 31 20 7b 68 65 78 20 6c 69 74 65 72 61 6c   {1 {hex literal
0e20: 20 74 6f 6f 20 62 69 67 3a 20 30 78 31 30 30 30   too big: 0x1000
0e30: 30 30 30 30 30 30 30 30 30 30 30 30 30 7d 7d 0a  0000000000000}}.
0e40: 64 6f 5f 63 61 74 63 68 73 71 6c 5f 74 65 73 74  do_catchsql_test
0e50: 20 68 65 78 6c 69 73 74 2d 34 30 31 20 7b 0a 20   hexlist-401 {. 
0e60: 20 53 45 4c 45 43 54 20 44 49 53 54 49 4e 43 54   SELECT DISTINCT
0e70: 20 30 78 31 30 30 30 30 30 30 30 30 30 30 30 30   0x1000000000000
0e80: 30 30 30 30 3b 0a 7d 20 7b 31 20 7b 68 65 78 20  0000;.} {1 {hex 
0e90: 6c 69 74 65 72 61 6c 20 74 6f 6f 20 62 69 67 3a  literal too big:
0ea0: 20 30 78 31 30 30 30 30 30 30 30 30 30 30 30 30   0x1000000000000
0eb0: 30 30 30 30 7d 7d 0a 64 6f 5f 63 61 74 63 68 73  0000}}.do_catchs
0ec0: 71 6c 5f 74 65 73 74 20 68 65 78 6c 69 73 74 2d  ql_test hexlist-
0ed0: 34 31 30 20 7b 0a 20 20 44 52 4f 50 20 54 41 42  410 {.  DROP TAB
0ee0: 4c 45 20 49 46 20 45 58 49 53 54 53 20 74 31 3b  LE IF EXISTS t1;
0ef0: 0a 20 20 43 52 45 41 54 45 20 54 41 42 4c 45 20  .  CREATE TABLE 
0f00: 74 31 28 78 29 3b 0a 20 20 49 4e 53 45 52 54 20  t1(x);.  INSERT 
0f10: 49 4e 54 4f 20 74 31 20 56 41 4c 55 45 53 28 31  INTO t1 VALUES(1
0f20: 2b 30 78 31 30 30 30 30 30 30 30 30 30 30 30 30  +0x1000000000000
0f30: 30 30 30 30 29 3b 0a 7d 20 7b 31 20 7b 68 65 78  0000);.} {1 {hex
0f40: 20 6c 69 74 65 72 61 6c 20 74 6f 6f 20 62 69 67   literal too big
0f50: 3a 20 30 78 31 30 30 30 30 30 30 30 30 30 30 30  : 0x100000000000
0f60: 30 30 30 30 30 7d 7d 0a 0a 0a 66 69 6e 69 73 68  00000}}...finish
0f70: 5f 74 65 73 74 0a                                _test.