AryaWu/sqlite
0
1# 2005 Mar 162#3# The author disclaims copyright to this source code. In place of4# a legal notice, here is a blessing:5#6# May you do good and not evil.7# May you find forgiveness for yourself and forgive others.8# May you share freely, never taking more than you give.9#10#***********************************************************************11# This file implements regression tests for SQLite library.12#13# This file implements tests for miscellanous features that were14# left out of other test files.15#16# $Id: misc5.test,v 1.22 2008/07/29 10:26:45 danielk1977 Exp $17 18set testdir [file dirname $argv0]19source $testdir/tester.tcl20 21# Build records using the MakeRecord opcode such that the size of the 22# header is at the transition point in the size of a varint.23#24# This test causes an assertion failure or a buffer overrun in version25# 3.1.5 and earlier.26#27for {set i 120} {$i<140} {incr i} {28 do_test misc5-1.$i {29 catchsql {DROP TABLE t1}30 set sql1 {CREATE TABLE t1}31 set sql2 {INSERT INTO t1 VALUES}32 set sep (33 for {set j 0} {$j<$i} {incr j} {34 append sql1 ${sep}a$j35 append sql2 ${sep}$j36 set sep ,37 }38 append sql1 {);}39 append sql2 {);}40 execsql $sql1$sql241 } {}42}43 44# Make sure large integers are stored correctly.45#46ifcapable conflict {47 do_test misc5-2.1 {48 execsql {49 create table t2(x unique);50 insert into t2 values(1);51 insert or ignore into t2 select x*2 from t2;52 insert or ignore into t2 select x*4 from t2;53 insert or ignore into t2 select x*16 from t2;54 insert or ignore into t2 select x*256 from t2;55 insert or ignore into t2 select x*65536 from t2;56 insert or ignore into t2 select x*2147483648 from t2;57 insert or ignore into t2 select x-1 from t2;58 insert or ignore into t2 select x+1 from t2;59 insert or ignore into t2 select -x from t2;60 select count(*) from t2;61 }62 } 37163} else {64 do_test misc5-2.1 {65 execsql {66 BEGIN;67 create table t2(x unique);68 create table t2_temp(x);69 insert into t2_temp values(1);70 insert into t2_temp select x*2 from t2_temp;71 insert into t2_temp select x*4 from t2_temp;72 insert into t2_temp select x*16 from t2_temp;73 insert into t2_temp select x*256 from t2_temp;74 insert into t2_temp select x*65536 from t2_temp;75 insert into t2_temp select x*2147483648 from t2_temp;76 insert into t2_temp select x-1 from t2_temp;77 insert into t2_temp select x+1 from t2_temp;78 insert into t2_temp select -x from t2_temp;79 INSERT INTO t2 SELECT DISTINCT(x) FROM t2_temp;80 DROP TABLE t2_temp;81 COMMIT;82 select count(*) from t2;83 }84 } 37185}86do_test misc5-2.2 {87 execsql {88 select x from t2 order by x;89 }90} \91"-4611686018427387905\92-4611686018427387904\93-4611686018427387903\94-2305843009213693953\95-2305843009213693952\96-2305843009213693951\97-1152921504606846977\98-1152921504606846976\99-1152921504606846975\100-576460752303423489\101-576460752303423488\102-576460752303423487\103-288230376151711745\104-288230376151711744\105-288230376151711743\106-144115188075855873\107-144115188075855872\108-144115188075855871\109-72057594037927937\110-72057594037927936\111-72057594037927935\112-36028797018963969\113-36028797018963968\114-36028797018963967\115-18014398509481985\116-18014398509481984\117-18014398509481983\118-9007199254740993\119-9007199254740992\120-9007199254740991\121-4503599627370497\122-4503599627370496\123-4503599627370495\124-2251799813685249\125-2251799813685248\126-2251799813685247\127-1125899906842625\128-1125899906842624\129-1125899906842623\130-562949953421313\131-562949953421312\132-562949953421311\133-281474976710657\134-281474976710656\135-281474976710655\136-140737488355329\137-140737488355328\138-140737488355327\139-70368744177665\140-70368744177664\141-70368744177663\142-35184372088833\143-35184372088832\144-35184372088831\145-17592186044417\146-17592186044416\147-17592186044415\148-8796093022209\149-8796093022208\150-8796093022207\151-4398046511105\152-4398046511104\153-4398046511103\154-2199023255553\155-2199023255552\156-2199023255551\157-1099511627777\158-1099511627776\159-1099511627775\160-549755813889\161-549755813888\162-549755813887\163-274877906945\164-274877906944\165-274877906943\166-137438953473\167-137438953472\168-137438953471\169-68719476737\170-68719476736\171-68719476735\172-34359738369\173-34359738368\174-34359738367\175-17179869185\176-17179869184\177-17179869183\178-8589934593\179-8589934592\180-8589934591\181-4294967297\182-4294967296\183-4294967295\184-2147483649\185-2147483648\186-2147483647\187-1073741825\188-1073741824\189-1073741823\190-536870913\191-536870912\192-536870911\193-268435457\194-268435456\195-268435455\196-134217729\197-134217728\198-134217727\199-67108865\200-67108864\201-67108863\202-33554433\203-33554432\204-33554431\205-16777217\206-16777216\207-16777215\208-8388609\209-8388608\210-8388607\211-4194305\212-4194304\213-4194303\214-2097153\215-2097152\216-2097151\217-1048577\218-1048576\219-1048575\220-524289\221-524288\222-524287\223-262145\224-262144\225-262143\226-131073\227-131072\228-131071\229-65537\230-65536\231-65535\232-32769\233-32768\234-32767\235-16385\236-16384\237-16383\238-8193\239-8192\240-8191\241-4097\242-4096\243-4095\244-2049\245-2048\246-2047\247-1025\248-1024\249-1023\250-513\251-512\252-511\253-257\254-256\255-255\256-129\257-128\258-127\259-65\260-64\261-63\262-33\263-32\264-31\265-17\266-16\267-15\268-9\269-8\270-7\271-5\272-4\273-3\274-2\275-1\2760\2771\2782\2793\2804\2815\2827\2838\2849\28515\28616\28717\28831\28932\29033\29163\29264\29365\294127\295128\296129\297255\298256\299257\300511\301512\302513\3031023\3041024\3051025\3062047\3072048\3082049\3094095\3104096\3114097\3128191\3138192\3148193\31516383\31616384\31716385\31832767\31932768\32032769\32165535\32265536\32365537\324131071\325131072\326131073\327262143\328262144\329262145\330524287\331524288\332524289\3331048575\3341048576\3351048577\3362097151\3372097152\3382097153\3394194303\3404194304\3414194305\3428388607\3438388608\3448388609\34516777215\34616777216\34716777217\34833554431\34933554432\35033554433\35167108863\35267108864\35367108865\354134217727\355134217728\356134217729\357268435455\358268435456\359268435457\360536870911\361536870912\362536870913\3631073741823\3641073741824\3651073741825\3662147483647\3672147483648\3682147483649\3694294967295\3704294967296\3714294967297\3728589934591\3738589934592\3748589934593\37517179869183\37617179869184\37717179869185\37834359738367\37934359738368\38034359738369\38168719476735\38268719476736\38368719476737\384137438953471\385137438953472\386137438953473\387274877906943\388274877906944\389274877906945\390549755813887\391549755813888\392549755813889\3931099511627775\3941099511627776\3951099511627777\3962199023255551\3972199023255552\3982199023255553\3994398046511103\4004398046511104\4014398046511105\4028796093022207\4038796093022208\4048796093022209\40517592186044415\40617592186044416\40717592186044417\40835184372088831\40935184372088832\41035184372088833\41170368744177663\41270368744177664\41370368744177665\414140737488355327\415140737488355328\416140737488355329\417281474976710655\418281474976710656\419281474976710657\420562949953421311\421562949953421312\422562949953421313\4231125899906842623\4241125899906842624\4251125899906842625\4262251799813685247\4272251799813685248\4282251799813685249\4294503599627370495\4304503599627370496\4314503599627370497\4329007199254740991\4339007199254740992\4349007199254740993\43518014398509481983\43618014398509481984\43718014398509481985\43836028797018963967\43936028797018963968\44036028797018963969\44172057594037927935\44272057594037927936\44372057594037927937\444144115188075855871\445144115188075855872\446144115188075855873\447288230376151711743\448288230376151711744\449288230376151711745\450576460752303423487\451576460752303423488\452576460752303423489\4531152921504606846975\4541152921504606846976\4551152921504606846977\4562305843009213693951\4572305843009213693952\4582305843009213693953\4594611686018427387903\4604611686018427387904\4614611686018427387905"462 463# Ticket #1210. Do proper reference counting of Table structures464# so that deeply nested SELECT statements can be flattened correctly.465#466ifcapable subquery {467 do_test misc5-3.1 {468 execsql {469 CREATE TABLE songs(songid, artist, timesplayed);470 INSERT INTO songs VALUES(1,'one',1);471 INSERT INTO songs VALUES(2,'one',2);472 INSERT INTO songs VALUES(3,'two',3);473 INSERT INTO songs VALUES(4,'three',5);474 INSERT INTO songs VALUES(5,'one',7);475 INSERT INTO songs VALUES(6,'two',11);476 SELECT DISTINCT artist 477 FROM ( 478 SELECT DISTINCT artist 479 FROM songs 480 WHERE songid IN ( 481 SELECT songid 482 FROM songs 483 WHERE LOWER(artist) = ( 484 -- This sub-query is indeterminate. Because there is no ORDER BY,485 -- it may return 'one', 'two' or 'three'. Because of this, the486 -- outermost parent query may correctly return any of 'one', 'two' 487 -- or 'three' as well.488 SELECT DISTINCT LOWER(artist) 489 FROM ( 490 -- This sub-query returns the table:491 --492 -- two 14493 -- one 10494 -- three 5495 --496 SELECT DISTINCT artist,sum(timesplayed) AS total 497 FROM songs 498 GROUP BY LOWER(artist) 499 ORDER BY total DESC 500 LIMIT 10 501 ) 502 WHERE artist <> '' 503 ) 504 ) 505 ) 506 ORDER BY LOWER(artist) ASC;507 }508 } {two}509}510 511# Ticket #1370. Do not overwrite small files (less than 1024 bytes)512# when trying to open them as a database.513#514if {[permutation] == ""} {515 do_test misc5-4.1 {516 db close517 forcedelete test.db518 set fd [open test.db w]519 puts $fd "This is not really a database"520 close $fd521 sqlite3 db test.db522 catchsql {523 CREATE TABLE t1(a,b,c);524 }525 } {1 {file is not a database}}526 reset_db527}528 529# Ticket #1371. Allow floating point numbers of the form .N or N.530#531do_test misc5-5.1 {532 execsql {SELECT .1 }533} 0.1534do_test misc5-5.2 {535 execsql {SELECT 2. }536} 2.0537do_test misc5-5.3 {538 execsql {SELECT 3.e0 }539} 3.0540do_test misc5-5.4 {541 execsql {SELECT .4e+1}542} 4.0543 544# Ticket #1582. Ensure that an unknown table in a LIMIT clause applied to545# a UNION ALL query causes an error, not a crash.546#547db close548forcedelete test.db549sqlite3 db test.db550ifcapable subquery&&compound {551 do_test misc5-6.1 {552 catchsql {553 SELECT * FROM sqlite_master 554 UNION ALL 555 SELECT * FROM sqlite_master556 LIMIT (SELECT count(*) FROM blah);557 }558 } {1 {no such table: blah}}559 do_test misc5-6.2 {560 execsql {561 CREATE TABLE logs(msg TEXT, timestamp INTEGER, dbtime TEXT);562 }563 catchsql {564 SELECT * FROM logs WHERE logs.oid >= (SELECT head FROM logs_base) 565 UNION ALL 566 SELECT * FROM logs 567 LIMIT (SELECT lmt FROM logs_base) ;568 }569 } {1 {no such table: logs_base}}570}571 572# Overflow the lemon parser stack by providing an overly complex573# expression. Make sure that the overflow is detected and the574# stack is grown automatically such that the application calling575# SQLite never notices.576#577do_test misc5-7.1.1 {578 execsql {CREATE TABLE t1(x)}579 set sql "INSERT INTO t1 VALUES("580 set tail ""581 for {set i 0} {$i<200} {incr i} {582 append sql "(1+"583 append tail ")"584 }585 append sql "0$tail); SELECT * FROM t1;"586 catchsql $sql587} {0 200}588do_test misc5-7.1.2 {589 execsql {DELETE FROM t1}590 set sql "INSERT INTO t1 VALUES("591 set tail ""592 for {set i 0} {$i<900} {incr i} {593 append sql "(1+"594 append tail ")"595 }596 append sql "0$tail); SELECT * FROM t1;"597 catchsql $sql598} {1 {Recursion limit}}599 600 601# Parser stack overflow is silently ignored when it occurs while parsing the602# schema and PRAGMA writable_schema is turned on.603#604do_test misc5-7.2 {605 sqlite3 db2 :memory:606 sqlite3_db_config db2 DEFENSIVE 0607 catchsql {608 CREATE TABLE t1(x UNIQUE);609 PRAGMA writable_schema=ON;610 UPDATE sqlite_master SET sql='CREATE table t(o CHECK(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((;VALUES(o)';611 BEGIN;612 CREATE TABLE t2(y);613 ROLLBACK;614 DROP TABLE IF EXISTS D;615 } db2616} {0 {}}617db2 close618 619 620# Ticket #1911621#622ifcapable compound {623 do_test misc5-9.1 {624 execsql {625 SELECT name, type FROM sqlite_master WHERE name IS NULL626 UNION627 SELECT type, name FROM sqlite_master WHERE type IS NULL628 ORDER BY 1, 2, 1, 2, 1, 2629 }630 } {}631 do_test misc5-9.2 {632 execsql {633 SELECT name, type FROM sqlite_master WHERE name IS NULL634 UNION635 SELECT type, name FROM sqlite_master WHERE type IS NULL636 ORDER BY 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2637 }638 } {}639}640 641# Ticket #1912. Make the tokenizer require a space after a numeric642# literal.643#644do_test misc5-10.1 {645 catchsql {646 SELECT 123abc647 }648} {1 {unrecognized token: "123abc"}}649do_test misc5-10.2 {650 catchsql {651 SELECT 1*123.4e5ghi;652 }653} {1 {unrecognized token: "123.4e5ghi"}}654 655 656# Additional integer encoding tests.657#658do_test misc5-11.1 {659 db eval {660 CREATE TABLE t3(x);661 INSERT INTO t3 VALUES(-18);662 INSERT INTO t3 VALUES(-17);663 INSERT INTO t3 VALUES(-16);664 INSERT INTO t3 VALUES(-15);665 INSERT INTO t3 VALUES(-14);666 INSERT INTO t3 VALUES(-13);667 INSERT INTO t3 VALUES(-12);668 INSERT INTO t3 VALUES(-11);669 INSERT INTO t3 VALUES(-10);670 INSERT INTO t3 VALUES(-9);671 INSERT INTO t3 VALUES(-8);672 INSERT INTO t3 VALUES(-7);673 INSERT INTO t3 VALUES(-6);674 INSERT INTO t3 VALUES(-5);675 INSERT INTO t3 VALUES(-4);676 INSERT INTO t3 VALUES(-3);677 INSERT INTO t3 VALUES(-2);678 INSERT INTO t3 VALUES(-1);679 INSERT INTO t3 VALUES(0);680 INSERT INTO t3 VALUES(1);681 INSERT INTO t3 VALUES(2);682 INSERT INTO t3 VALUES(3);683 INSERT INTO t3 VALUES(4);684 INSERT INTO t3 VALUES(5);685 INSERT INTO t3 VALUES(6);686 INSERT INTO t3 VALUES(7);687 INSERT INTO t3 VALUES(8);688 INSERT INTO t3 VALUES(9);689 INSERT INTO t3 VALUES(10);690 INSERT INTO t3 VALUES(11);691 INSERT INTO t3 VALUES(12);692 INSERT INTO t3 VALUES(13);693 INSERT INTO t3 VALUES(14);694 INSERT INTO t3 VALUES(15);695 INSERT INTO t3 VALUES(16);696 INSERT INTO t3 VALUES(17);697 INSERT INTO t3 VALUES(18);698 INSERT INTO t3 VALUES(30);699 INSERT INTO t3 VALUES(31);700 INSERT INTO t3 VALUES(32);701 INSERT INTO t3 VALUES(33);702 INSERT INTO t3 VALUES(34);703 INSERT INTO t3 VALUES(-30);704 INSERT INTO t3 VALUES(-31);705 INSERT INTO t3 VALUES(-32);706 INSERT INTO t3 VALUES(-33);707 INSERT INTO t3 VALUES(-34);708 INSERT INTO t3 VALUES(62);709 INSERT INTO t3 VALUES(63);710 INSERT INTO t3 VALUES(64);711 INSERT INTO t3 VALUES(65);712 INSERT INTO t3 VALUES(66);713 INSERT INTO t3 VALUES(-62);714 INSERT INTO t3 VALUES(-63);715 INSERT INTO t3 VALUES(-64);716 INSERT INTO t3 VALUES(-65);717 INSERT INTO t3 VALUES(-66);718 INSERT INTO t3 VALUES(126);719 INSERT INTO t3 VALUES(127);720 INSERT INTO t3 VALUES(128);721 INSERT INTO t3 VALUES(129);722 INSERT INTO t3 VALUES(130);723 INSERT INTO t3 VALUES(-126);724 INSERT INTO t3 VALUES(-127);725 INSERT INTO t3 VALUES(-128);726 INSERT INTO t3 VALUES(-129);727 INSERT INTO t3 VALUES(-130);728 INSERT INTO t3 VALUES(254);729 INSERT INTO t3 VALUES(255);730 INSERT INTO t3 VALUES(256);731 INSERT INTO t3 VALUES(257);732 INSERT INTO t3 VALUES(258);733 INSERT INTO t3 VALUES(-254);734 INSERT INTO t3 VALUES(-255);735 INSERT INTO t3 VALUES(-256);736 INSERT INTO t3 VALUES(-257);737 INSERT INTO t3 VALUES(-258);738 INSERT INTO t3 VALUES(510);739 INSERT INTO t3 VALUES(511);740 INSERT INTO t3 VALUES(512);741 INSERT INTO t3 VALUES(513);742 INSERT INTO t3 VALUES(514);743 INSERT INTO t3 VALUES(-510);744 INSERT INTO t3 VALUES(-511);745 INSERT INTO t3 VALUES(-512);746 INSERT INTO t3 VALUES(-513);747 INSERT INTO t3 VALUES(-514);748 INSERT INTO t3 VALUES(1022);749 INSERT INTO t3 VALUES(1023);750 INSERT INTO t3 VALUES(1024);751 INSERT INTO t3 VALUES(1025);752 INSERT INTO t3 VALUES(1026);753 INSERT INTO t3 VALUES(-1022);754 INSERT INTO t3 VALUES(-1023);755 INSERT INTO t3 VALUES(-1024);756 INSERT INTO t3 VALUES(-1025);757 INSERT INTO t3 VALUES(-1026);758 INSERT INTO t3 VALUES(2046);759 INSERT INTO t3 VALUES(2047);760 INSERT INTO t3 VALUES(2048);761 INSERT INTO t3 VALUES(2049);762 INSERT INTO t3 VALUES(2050);763 INSERT INTO t3 VALUES(-2046);764 INSERT INTO t3 VALUES(-2047);765 INSERT INTO t3 VALUES(-2048);766 INSERT INTO t3 VALUES(-2049);767 INSERT INTO t3 VALUES(-2050);768 INSERT INTO t3 VALUES(4094);769 INSERT INTO t3 VALUES(4095);770 INSERT INTO t3 VALUES(4096);771 INSERT INTO t3 VALUES(4097);772 INSERT INTO t3 VALUES(4098);773 INSERT INTO t3 VALUES(-4094);774 INSERT INTO t3 VALUES(-4095);775 INSERT INTO t3 VALUES(-4096);776 INSERT INTO t3 VALUES(-4097);777 INSERT INTO t3 VALUES(-4098);778 INSERT INTO t3 VALUES(8190);779 INSERT INTO t3 VALUES(8191);780 INSERT INTO t3 VALUES(8192);781 INSERT INTO t3 VALUES(8193);782 INSERT INTO t3 VALUES(8194);783 INSERT INTO t3 VALUES(-8190);784 INSERT INTO t3 VALUES(-8191);785 INSERT INTO t3 VALUES(-8192);786 INSERT INTO t3 VALUES(-8193);787 INSERT INTO t3 VALUES(-8194);788 INSERT INTO t3 VALUES(16382);789 INSERT INTO t3 VALUES(16383);790 INSERT INTO t3 VALUES(16384);791 INSERT INTO t3 VALUES(16385);792 INSERT INTO t3 VALUES(16386);793 INSERT INTO t3 VALUES(-16382);794 INSERT INTO t3 VALUES(-16383);795 INSERT INTO t3 VALUES(-16384);796 INSERT INTO t3 VALUES(-16385);797 INSERT INTO t3 VALUES(-16386);798 INSERT INTO t3 VALUES(32766);799 INSERT INTO t3 VALUES(32767);800 INSERT INTO t3 VALUES(32768);801 INSERT INTO t3 VALUES(32769);802 INSERT INTO t3 VALUES(32770);803 INSERT INTO t3 VALUES(-32766);804 INSERT INTO t3 VALUES(-32767);805 INSERT INTO t3 VALUES(-32768);806 INSERT INTO t3 VALUES(-32769);807 INSERT INTO t3 VALUES(-32770);808 INSERT INTO t3 VALUES(65534);809 INSERT INTO t3 VALUES(65535);810 INSERT INTO t3 VALUES(65536);811 INSERT INTO t3 VALUES(65537);812 INSERT INTO t3 VALUES(65538);813 INSERT INTO t3 VALUES(-65534);814 INSERT INTO t3 VALUES(-65535);815 INSERT INTO t3 VALUES(-65536);816 INSERT INTO t3 VALUES(-65537);817 INSERT INTO t3 VALUES(-65538);818 INSERT INTO t3 VALUES(131070);819 INSERT INTO t3 VALUES(131071);820 INSERT INTO t3 VALUES(131072);821 INSERT INTO t3 VALUES(131073);822 INSERT INTO t3 VALUES(131074);823 INSERT INTO t3 VALUES(-131070);824 INSERT INTO t3 VALUES(-131071);825 INSERT INTO t3 VALUES(-131072);826 INSERT INTO t3 VALUES(-131073);827 INSERT INTO t3 VALUES(-131074);828 INSERT INTO t3 VALUES(262142);829 INSERT INTO t3 VALUES(262143);830 INSERT INTO t3 VALUES(262144);831 INSERT INTO t3 VALUES(262145);832 INSERT INTO t3 VALUES(262146);833 INSERT INTO t3 VALUES(-262142);834 INSERT INTO t3 VALUES(-262143);835 INSERT INTO t3 VALUES(-262144);836 INSERT INTO t3 VALUES(-262145);837 INSERT INTO t3 VALUES(-262146);838 INSERT INTO t3 VALUES(524286);839 INSERT INTO t3 VALUES(524287);840 INSERT INTO t3 VALUES(524288);841 INSERT INTO t3 VALUES(524289);842 INSERT INTO t3 VALUES(524290);843 INSERT INTO t3 VALUES(-524286);844 INSERT INTO t3 VALUES(-524287);845 INSERT INTO t3 VALUES(-524288);846 INSERT INTO t3 VALUES(-524289);847 INSERT INTO t3 VALUES(-524290);848 INSERT INTO t3 VALUES(1048574);849 INSERT INTO t3 VALUES(1048575);850 INSERT INTO t3 VALUES(1048576);851 INSERT INTO t3 VALUES(1048577);852 INSERT INTO t3 VALUES(1048578);853 INSERT INTO t3 VALUES(-1048574);854 INSERT INTO t3 VALUES(-1048575);855 INSERT INTO t3 VALUES(-1048576);856 INSERT INTO t3 VALUES(-1048577);857 INSERT INTO t3 VALUES(-1048578);858 INSERT INTO t3 VALUES(2097150);859 INSERT INTO t3 VALUES(2097151);860 INSERT INTO t3 VALUES(2097152);861 INSERT INTO t3 VALUES(2097153);862 INSERT INTO t3 VALUES(2097154);863 INSERT INTO t3 VALUES(-2097150);864 INSERT INTO t3 VALUES(-2097151);865 INSERT INTO t3 VALUES(-2097152);866 INSERT INTO t3 VALUES(-2097153);867 INSERT INTO t3 VALUES(-2097154);868 INSERT INTO t3 VALUES(4194302);869 INSERT INTO t3 VALUES(4194303);870 INSERT INTO t3 VALUES(4194304);871 INSERT INTO t3 VALUES(4194305);872 INSERT INTO t3 VALUES(4194306);873 INSERT INTO t3 VALUES(-4194302);874 INSERT INTO t3 VALUES(-4194303);875 INSERT INTO t3 VALUES(-4194304);876 INSERT INTO t3 VALUES(-4194305);877 INSERT INTO t3 VALUES(-4194306);878 INSERT INTO t3 VALUES(8388606);879 INSERT INTO t3 VALUES(8388607);880 INSERT INTO t3 VALUES(8388608);881 INSERT INTO t3 VALUES(8388609);882 INSERT INTO t3 VALUES(8388610);883 INSERT INTO t3 VALUES(-8388606);884 INSERT INTO t3 VALUES(-8388607);885 INSERT INTO t3 VALUES(-8388608);886 INSERT INTO t3 VALUES(-8388609);887 INSERT INTO t3 VALUES(-8388610);888 INSERT INTO t3 VALUES(16777214);889 INSERT INTO t3 VALUES(16777215);890 INSERT INTO t3 VALUES(16777216);891 INSERT INTO t3 VALUES(16777217);892 INSERT INTO t3 VALUES(16777218);893 INSERT INTO t3 VALUES(-16777214);894 INSERT INTO t3 VALUES(-16777215);895 INSERT INTO t3 VALUES(-16777216);896 INSERT INTO t3 VALUES(-16777217);897 INSERT INTO t3 VALUES(-16777218);898 INSERT INTO t3 VALUES(33554430);899 INSERT INTO t3 VALUES(33554431);900 INSERT INTO t3 VALUES(33554432);901 INSERT INTO t3 VALUES(33554433);902 INSERT INTO t3 VALUES(33554434);903 INSERT INTO t3 VALUES(-33554430);904 INSERT INTO t3 VALUES(-33554431);905 INSERT INTO t3 VALUES(-33554432);906 INSERT INTO t3 VALUES(-33554433);907 INSERT INTO t3 VALUES(-33554434);908 INSERT INTO t3 VALUES(67108862);909 INSERT INTO t3 VALUES(67108863);910 INSERT INTO t3 VALUES(67108864);911 INSERT INTO t3 VALUES(67108865);912 INSERT INTO t3 VALUES(67108866);913 INSERT INTO t3 VALUES(-67108862);914 INSERT INTO t3 VALUES(-67108863);915 INSERT INTO t3 VALUES(-67108864);916 INSERT INTO t3 VALUES(-67108865);917 INSERT INTO t3 VALUES(-67108866);918 INSERT INTO t3 VALUES(134217726);919 INSERT INTO t3 VALUES(134217727);920 INSERT INTO t3 VALUES(134217728);921 INSERT INTO t3 VALUES(134217729);922 INSERT INTO t3 VALUES(134217730);923 INSERT INTO t3 VALUES(-134217726);924 INSERT INTO t3 VALUES(-134217727);925 INSERT INTO t3 VALUES(-134217728);926 INSERT INTO t3 VALUES(-134217729);927 INSERT INTO t3 VALUES(-134217730);928 INSERT INTO t3 VALUES(268435454);929 INSERT INTO t3 VALUES(268435455);930 INSERT INTO t3 VALUES(268435456);931 INSERT INTO t3 VALUES(268435457);932 INSERT INTO t3 VALUES(268435458);933 INSERT INTO t3 VALUES(-268435454);934 INSERT INTO t3 VALUES(-268435455);935 INSERT INTO t3 VALUES(-268435456);936 INSERT INTO t3 VALUES(-268435457);937 INSERT INTO t3 VALUES(-268435458);938 INSERT INTO t3 VALUES(536870910);939 INSERT INTO t3 VALUES(536870911);940 INSERT INTO t3 VALUES(536870912);941 INSERT INTO t3 VALUES(536870913);942 INSERT INTO t3 VALUES(536870914);943 INSERT INTO t3 VALUES(-536870910);944 INSERT INTO t3 VALUES(-536870911);945 INSERT INTO t3 VALUES(-536870912);946 INSERT INTO t3 VALUES(-536870913);947 INSERT INTO t3 VALUES(-536870914);948 INSERT INTO t3 VALUES(1073741822);949 INSERT INTO t3 VALUES(1073741823);950 INSERT INTO t3 VALUES(1073741824);951 INSERT INTO t3 VALUES(1073741825);952 INSERT INTO t3 VALUES(1073741826);953 INSERT INTO t3 VALUES(-1073741822);954 INSERT INTO t3 VALUES(-1073741823);955 INSERT INTO t3 VALUES(-1073741824);956 INSERT INTO t3 VALUES(-1073741825);957 INSERT INTO t3 VALUES(-1073741826);958 INSERT INTO t3 VALUES(2147483646);959 INSERT INTO t3 VALUES(2147483647);960 INSERT INTO t3 VALUES(2147483648);961 INSERT INTO t3 VALUES(2147483649);962 INSERT INTO t3 VALUES(2147483650);963 INSERT INTO t3 VALUES(-2147483646);964 INSERT INTO t3 VALUES(-2147483647);965 INSERT INTO t3 VALUES(-2147483648);966 INSERT INTO t3 VALUES(-2147483649);967 INSERT INTO t3 VALUES(-2147483650);968 INSERT INTO t3 VALUES(4294967294);969 INSERT INTO t3 VALUES(4294967295);970 INSERT INTO t3 VALUES(4294967296);971 INSERT INTO t3 VALUES(4294967297);972 INSERT INTO t3 VALUES(4294967298);973 INSERT INTO t3 VALUES(-4294967294);974 INSERT INTO t3 VALUES(-4294967295);975 INSERT INTO t3 VALUES(-4294967296);976 INSERT INTO t3 VALUES(-4294967297);977 INSERT INTO t3 VALUES(-4294967298);978 INSERT INTO t3 VALUES(8589934590);979 INSERT INTO t3 VALUES(8589934591);980 INSERT INTO t3 VALUES(8589934592);981 INSERT INTO t3 VALUES(8589934593);982 INSERT INTO t3 VALUES(8589934594);983 INSERT INTO t3 VALUES(-8589934590);984 INSERT INTO t3 VALUES(-8589934591);985 INSERT INTO t3 VALUES(-8589934592);986 INSERT INTO t3 VALUES(-8589934593);987 INSERT INTO t3 VALUES(-8589934594);988 INSERT INTO t3 VALUES(17179869182);989 INSERT INTO t3 VALUES(17179869183);990 INSERT INTO t3 VALUES(17179869184);991 INSERT INTO t3 VALUES(17179869185);992 INSERT INTO t3 VALUES(17179869186);993 INSERT INTO t3 VALUES(-17179869182);994 INSERT INTO t3 VALUES(-17179869183);995 INSERT INTO t3 VALUES(-17179869184);996 INSERT INTO t3 VALUES(-17179869185);997 INSERT INTO t3 VALUES(-17179869186);998 INSERT INTO t3 VALUES(34359738366);999 INSERT INTO t3 VALUES(34359738367);1000 INSERT INTO t3 VALUES(34359738368);1001 INSERT INTO t3 VALUES(34359738369);1002 INSERT INTO t3 VALUES(34359738370);1003 INSERT INTO t3 VALUES(-34359738366);1004 INSERT INTO t3 VALUES(-34359738367);1005 INSERT INTO t3 VALUES(-34359738368);1006 INSERT INTO t3 VALUES(-34359738369);1007 INSERT INTO t3 VALUES(-34359738370);1008 INSERT INTO t3 VALUES(68719476734);1009 INSERT INTO t3 VALUES(68719476735);1010 INSERT INTO t3 VALUES(68719476736);1011 INSERT INTO t3 VALUES(68719476737);1012 INSERT INTO t3 VALUES(68719476738);1013 INSERT INTO t3 VALUES(-68719476734);1014 INSERT INTO t3 VALUES(-68719476735);1015 INSERT INTO t3 VALUES(-68719476736);1016 INSERT INTO t3 VALUES(-68719476737);1017 INSERT INTO t3 VALUES(-68719476738);1018 INSERT INTO t3 VALUES(137438953470);1019 INSERT INTO t3 VALUES(137438953471);1020 INSERT INTO t3 VALUES(137438953472);1021 INSERT INTO t3 VALUES(137438953473);1022 INSERT INTO t3 VALUES(137438953474);1023 INSERT INTO t3 VALUES(-137438953470);1024 INSERT INTO t3 VALUES(-137438953471);1025 INSERT INTO t3 VALUES(-137438953472);1026 INSERT INTO t3 VALUES(-137438953473);1027 INSERT INTO t3 VALUES(-137438953474);1028 INSERT INTO t3 VALUES(274877906942);1029 INSERT INTO t3 VALUES(274877906943);1030 INSERT INTO t3 VALUES(274877906944);1031 INSERT INTO t3 VALUES(274877906945);1032 INSERT INTO t3 VALUES(274877906946);1033 INSERT INTO t3 VALUES(-274877906942);1034 INSERT INTO t3 VALUES(-274877906943);1035 INSERT INTO t3 VALUES(-274877906944);1036 INSERT INTO t3 VALUES(-274877906945);1037 INSERT INTO t3 VALUES(-274877906946);1038 INSERT INTO t3 VALUES(549755813886);1039 INSERT INTO t3 VALUES(549755813887);1040 INSERT INTO t3 VALUES(549755813888);1041 INSERT INTO t3 VALUES(549755813889);1042 INSERT INTO t3 VALUES(549755813890);1043 INSERT INTO t3 VALUES(-549755813886);1044 INSERT INTO t3 VALUES(-549755813887);1045 INSERT INTO t3 VALUES(-549755813888);1046 INSERT INTO t3 VALUES(-549755813889);1047 INSERT INTO t3 VALUES(-549755813890);1048 INSERT INTO t3 VALUES(1099511627774);1049 INSERT INTO t3 VALUES(1099511627775);1050 INSERT INTO t3 VALUES(1099511627776);1051 INSERT INTO t3 VALUES(1099511627777);1052 INSERT INTO t3 VALUES(1099511627778);1053 INSERT INTO t3 VALUES(-1099511627774);1054 INSERT INTO t3 VALUES(-1099511627775);1055 INSERT INTO t3 VALUES(-1099511627776);1056 INSERT INTO t3 VALUES(-1099511627777);1057 INSERT INTO t3 VALUES(-1099511627778);1058 INSERT INTO t3 VALUES(2199023255550);1059 INSERT INTO t3 VALUES(2199023255551);1060 INSERT INTO t3 VALUES(2199023255552);1061 INSERT INTO t3 VALUES(2199023255553);1062 INSERT INTO t3 VALUES(2199023255554);1063 INSERT INTO t3 VALUES(-2199023255550);1064 INSERT INTO t3 VALUES(-2199023255551);1065 INSERT INTO t3 VALUES(-2199023255552);1066 INSERT INTO t3 VALUES(-2199023255553);1067 INSERT INTO t3 VALUES(-2199023255554);1068 INSERT INTO t3 VALUES(4398046511102);1069 INSERT INTO t3 VALUES(4398046511103);1070 INSERT INTO t3 VALUES(4398046511104);1071 INSERT INTO t3 VALUES(4398046511105);1072 INSERT INTO t3 VALUES(4398046511106);1073 INSERT INTO t3 VALUES(-4398046511102);1074 INSERT INTO t3 VALUES(-4398046511103);1075 INSERT INTO t3 VALUES(-4398046511104);1076 INSERT INTO t3 VALUES(-4398046511105);1077 INSERT INTO t3 VALUES(-4398046511106);1078 INSERT INTO t3 VALUES(8796093022206);1079 INSERT INTO t3 VALUES(8796093022207);1080 INSERT INTO t3 VALUES(8796093022208);1081 INSERT INTO t3 VALUES(8796093022209);1082 INSERT INTO t3 VALUES(8796093022210);1083 INSERT INTO t3 VALUES(-8796093022206);1084 INSERT INTO t3 VALUES(-8796093022207);1085 INSERT INTO t3 VALUES(-8796093022208);1086 INSERT INTO t3 VALUES(-8796093022209);1087 INSERT INTO t3 VALUES(-8796093022210);1088 INSERT INTO t3 VALUES(17592186044414);1089 INSERT INTO t3 VALUES(17592186044415);1090 INSERT INTO t3 VALUES(17592186044416);1091 INSERT INTO t3 VALUES(17592186044417);1092 INSERT INTO t3 VALUES(17592186044418);1093 INSERT INTO t3 VALUES(-17592186044414);1094 INSERT INTO t3 VALUES(-17592186044415);1095 INSERT INTO t3 VALUES(-17592186044416);1096 INSERT INTO t3 VALUES(-17592186044417);1097 INSERT INTO t3 VALUES(-17592186044418);1098 INSERT INTO t3 VALUES(35184372088830);1099 INSERT INTO t3 VALUES(35184372088831);1100 INSERT INTO t3 VALUES(35184372088832);1101 INSERT INTO t3 VALUES(35184372088833);1102 INSERT INTO t3 VALUES(35184372088834);1103 INSERT INTO t3 VALUES(-35184372088830);1104 INSERT INTO t3 VALUES(-35184372088831);1105 INSERT INTO t3 VALUES(-35184372088832);1106 INSERT INTO t3 VALUES(-35184372088833);1107 INSERT INTO t3 VALUES(-35184372088834);1108 INSERT INTO t3 VALUES(70368744177662);1109 INSERT INTO t3 VALUES(70368744177663);1110 INSERT INTO t3 VALUES(70368744177664);1111 INSERT INTO t3 VALUES(70368744177665);1112 INSERT INTO t3 VALUES(70368744177666);1113 INSERT INTO t3 VALUES(-70368744177662);1114 INSERT INTO t3 VALUES(-70368744177663);1115 INSERT INTO t3 VALUES(-70368744177664);1116 INSERT INTO t3 VALUES(-70368744177665);1117 INSERT INTO t3 VALUES(-70368744177666);1118 INSERT INTO t3 VALUES(140737488355326);1119 INSERT INTO t3 VALUES(140737488355327);1120 INSERT INTO t3 VALUES(140737488355328);1121 INSERT INTO t3 VALUES(140737488355329);1122 INSERT INTO t3 VALUES(140737488355330);1123 INSERT INTO t3 VALUES(-140737488355326);1124 INSERT INTO t3 VALUES(-140737488355327);1125 INSERT INTO t3 VALUES(-140737488355328);1126 INSERT INTO t3 VALUES(-140737488355329);1127 INSERT INTO t3 VALUES(-140737488355330);1128 INSERT INTO t3 VALUES(281474976710654);1129 INSERT INTO t3 VALUES(281474976710655);1130 INSERT INTO t3 VALUES(281474976710656);1131 INSERT INTO t3 VALUES(281474976710657);1132 INSERT INTO t3 VALUES(281474976710658);1133 INSERT INTO t3 VALUES(-281474976710654);1134 INSERT INTO t3 VALUES(-281474976710655);1135 INSERT INTO t3 VALUES(-281474976710656);1136 INSERT INTO t3 VALUES(-281474976710657);1137 INSERT INTO t3 VALUES(-281474976710658);1138 INSERT INTO t3 VALUES(562949953421310);1139 INSERT INTO t3 VALUES(562949953421311);1140 INSERT INTO t3 VALUES(562949953421312);1141 INSERT INTO t3 VALUES(562949953421313);1142 INSERT INTO t3 VALUES(562949953421314);1143 INSERT INTO t3 VALUES(-562949953421310);1144 INSERT INTO t3 VALUES(-562949953421311);1145 INSERT INTO t3 VALUES(-562949953421312);1146 INSERT INTO t3 VALUES(-562949953421313);1147 INSERT INTO t3 VALUES(-562949953421314);1148 INSERT INTO t3 VALUES(1125899906842622);1149 INSERT INTO t3 VALUES(1125899906842623);1150 INSERT INTO t3 VALUES(1125899906842624);1151 INSERT INTO t3 VALUES(1125899906842625);1152 INSERT INTO t3 VALUES(1125899906842626);1153 INSERT INTO t3 VALUES(-1125899906842622);1154 INSERT INTO t3 VALUES(-1125899906842623);1155 INSERT INTO t3 VALUES(-1125899906842624);1156 INSERT INTO t3 VALUES(-1125899906842625);1157 INSERT INTO t3 VALUES(-1125899906842626);1158 INSERT INTO t3 VALUES(2251799813685246);1159 INSERT INTO t3 VALUES(2251799813685247);1160 INSERT INTO t3 VALUES(2251799813685248);1161 INSERT INTO t3 VALUES(2251799813685249);1162 INSERT INTO t3 VALUES(2251799813685250);1163 INSERT INTO t3 VALUES(-2251799813685246);1164 INSERT INTO t3 VALUES(-2251799813685247);1165 INSERT INTO t3 VALUES(-2251799813685248);1166 INSERT INTO t3 VALUES(-2251799813685249);1167 INSERT INTO t3 VALUES(-2251799813685250);1168 INSERT INTO t3 VALUES(4503599627370494);1169 INSERT INTO t3 VALUES(4503599627370495);1170 INSERT INTO t3 VALUES(4503599627370496);1171 INSERT INTO t3 VALUES(4503599627370497);1172 INSERT INTO t3 VALUES(4503599627370498);1173 INSERT INTO t3 VALUES(-4503599627370494);1174 INSERT INTO t3 VALUES(-4503599627370495);1175 INSERT INTO t3 VALUES(-4503599627370496);1176 INSERT INTO t3 VALUES(-4503599627370497);1177 INSERT INTO t3 VALUES(-4503599627370498);1178 INSERT INTO t3 VALUES(9007199254740990);1179 INSERT INTO t3 VALUES(9007199254740991);1180 INSERT INTO t3 VALUES(9007199254740992);1181 INSERT INTO t3 VALUES(9007199254740993);1182 INSERT INTO t3 VALUES(9007199254740994);1183 INSERT INTO t3 VALUES(-9007199254740990);1184 INSERT INTO t3 VALUES(-9007199254740991);1185 INSERT INTO t3 VALUES(-9007199254740992);1186 INSERT INTO t3 VALUES(-9007199254740993);1187 INSERT INTO t3 VALUES(-9007199254740994);1188 INSERT INTO t3 VALUES(18014398509481982);1189 INSERT INTO t3 VALUES(18014398509481983);1190 INSERT INTO t3 VALUES(18014398509481984);1191 INSERT INTO t3 VALUES(18014398509481985);1192 INSERT INTO t3 VALUES(18014398509481986);1193 INSERT INTO t3 VALUES(-18014398509481982);1194 INSERT INTO t3 VALUES(-18014398509481983);1195 INSERT INTO t3 VALUES(-18014398509481984);1196 INSERT INTO t3 VALUES(-18014398509481985);1197 INSERT INTO t3 VALUES(-18014398509481986);1198 INSERT INTO t3 VALUES(36028797018963966);1199 INSERT INTO t3 VALUES(36028797018963967);1200 INSERT INTO t3 VALUES(36028797018963968);