From 303eda1567220483bd898c5c23ce63921a25560e Mon Sep 17 00:00:00 2001 From: "Timothy J. Warren" Date: Tue, 8 Apr 2014 15:38:18 -0400 Subject: [PATCH] Fix sql test errors --- drivers/sqlite/sqlite_sql.php | 2 +- tests/databases/sqlite/SqliteTest.php | 55 ++------------ tests/db_files/FB_TEST_DB.FDB | Bin 860160 -> 860160 bytes tests/db_files/mysql.sql | 105 ++++++++++++++++++++++++++ tests/db_files/sqlite.sql | 3 + 5 files changed, 117 insertions(+), 48 deletions(-) diff --git a/drivers/sqlite/sqlite_sql.php b/drivers/sqlite/sqlite_sql.php index a50ee40..bab2f36 100644 --- a/drivers/sqlite/sqlite_sql.php +++ b/drivers/sqlite/sqlite_sql.php @@ -68,7 +68,7 @@ class SQLite_SQL extends Abstract_SQL { public function table_list() { return <<db->exec(file_get_contents(QTEST_DIR.'/db_files/sqlite.sql')); - } - public function testCreateTable() { - $this->DataCreate(); - - //Attempt to create the table - $sql = $this->db->util->create_table('create_test', - array( - 'id' => 'INTEGER', - 'key' => 'TEXT', - 'val' => 'TEXT', - ), - array( - 'id' => 'PRIMARY KEY' - ) - ); - $this->db->query($sql); - - //Attempt to create the table - $sql = $this->db->util->create_table('create_join', - array( - 'id' => 'INTEGER', - 'key' => 'TEXT', - 'val' => 'TEXT', - ), - array( - 'id' => 'PRIMARY KEY' - ) - ); - $this->db->query($sql); - - // A table to delete - $sql = $this->db->util->create_table('create_delete', - array( - 'id' => 'INTEGER', - 'key' => 'TEXT', - 'val' => 'TEXT', - ), - array( - 'id' => 'PRIMARY KEY' - ) - ); - $this->db->query($sql); + $this->db->exec(file_get_contents(QTEST_DIR.'/db_files/sqlite.sql')); //Check $dbs = $this->db->get_tables(); + $this->assertTrue(in_array('TEST1', $dbs)); + $this->assertTrue(in_array('TEST2', $dbs)); + $this->assertTrue(in_array('NUMBERS', $dbs)); + $this->assertTrue(in_array('NEWTABLE', $dbs)); $this->assertTrue(in_array('create_test', $dbs)); + $this->assertTrue(in_array('create_join', $dbs)); + $this->assertTrue(in_array('create_delete', $dbs)); } // -------------------------------------------------------------------------- @@ -109,10 +71,10 @@ SQL; public function testBackupStructure() { $sql = mb_trim($this->db->util->backup_structure()); - $expected = << 100; -CREATE TABLE "create_delete" ("id" INTEGER PRIMARY KEY, "key" TEXT, "val" TEXT); SQL; $expected_array = explode("\n", $expected); diff --git a/tests/db_files/FB_TEST_DB.FDB b/tests/db_files/FB_TEST_DB.FDB index cbd1daa034283e4222d88cdf3104c07f4deb7989..f2e29a27c0738f082da12384b57f5c33576592cf 100755 GIT binary patch delta 3835 zcmbuBe{54#6vyv$9^b={RAC?bSzGz35>aj5#k^yF)>*g zW3Vw`i$5*~Og4jmA<5Kq4^s)$7)zLiEG41@gFi3^GZRfrfat_??|rB1rvF)Tcl&+! zazE$$&UxoGa>0mPFg8+B8E7!bP1i zRSF7!Q>A8M75yl?)7R~z-9D|`XY2OaM|{j)K>Iigu#S#?cL~|+1Sr*U4L*pU8s{%)W6v$3vbaj?wbV?j2XCV4mnlfh{z^Mh)Ei`7Qx zcEM>vwFyF<5ptd+EJ&$1l+Y^FK?{mHprCaLUI>S3Mk!wyWV2{OGIEWeJhci=EsBr? zoO6#PEMQY79T6PB(a-sDYF^+u-4HsDYF`yU-|`Y5)rjQ}Vxaj75VnqsEv~ zW6V=3)vTysr!=cxbEem8677i+&%wy?RwvD(N7zk+KE>lDZofIFosH+GML!$Qp8vZj zbL;bkH4nqAkxM*(knM6CWgqyQ!~RYzhBvkl9Cum_2)Kmxlj)a$cE3 z2qWLS2x%mnG#l}LrHKcz{^_Rr#*NiaY_aRJ*^@O5^|eh~nx5HIZ+EuxhGDh?P$TP| z<>q>4h56YqTj8QUb61sPhVyNp(GHVcVE1p*Qj-lj?%(A03v4Ez6LAjDx4DS7b$46K zp0+K|x9w=#)7Ini_PV@>UEV(P$B45q+uGajyzbraa`d~EE8^NnQbKCh7MT9 z*(UeiMXzh+q)L03*kNRT{-9oR3&vII9SF}g&u(%rpt6wPhh6in&LRp|X!%$`dqX`J z*LhLcy&~IyCtWlus`bETs9<>!o^g4Rs*CT2-6g93JP)ihK zC#Fy`2P#|j8=+xJ6y8?IR?vu9D0y2&w%SC4OrwHEC2EOks{aMGg*p*cD47C<+S~+f zQ=;&$0_xQlqY?$Z^q}7CHuYxxUNL>pWD$K4trq2W7AndH<~qD2 z34Nh$_ZZ)IP%q#+d-bJsjDNUKuZ78bNMFeB^yAusFJm&123x}IJX9vAY_ZoQ~OJQtZpQKM1RXcRRXMXihy`Aa69P2Iv{Af(Mz4vCuA|pPGV}QLF38n2kx_98l4%)*U7gCPpIU1k>%KuxU&rDbHB~Q9!?xHEETjeZd5g z#kgpsU$;l-F_ZZ`^I47vE)JXhP+6p=`sWl6=6aUFyWrVe&s;e6m0V9bFwf+AntS0_ zCmZx^_TR9rAtzxx2V(&Yj}6`kx&FU2FByk%1ICvy7TDJegqOh&taF2&H84%U6c&&D zCFH@3dWPU<=$vWVH%;fG=0}F$^e9iN$@`vE8`N|JCYi5Hq_8YBB2gm}H6l?jw2&!< zOetiFOJs^mB&-Rfc>Xexs1b=8k*E=g8eKvvg}tOgCKWQNkgz6@qVNTBrWGY>nOL}v z8bd&hA)v+(;6WG2ghD11GNF*LCXnLAl<5*RB2Xg&H6l=B$Z>^?D`Z?D;|d9D0x4cl znMl-#M2$$)h(wLKj45PHA!7;|l`N>(4FZW3iZ>E9B2gm}H6l@CE&&P0LdE`9;hMjm I_W1Yw153|Y?*IS* delta 3822 zcmai$ZEO@p7{_P!Zh9|!XRnk>ODXLI3Iz+6mSXRNOd?*=S`De#9Ez|tfq*g51X02_Log(QQ4|vWghXq7W@ex3abVnLI{V+5 z&hPop^XzP67ecWMq4ktB7z;vV`U>bVhpj}Pt|8Mk$rDOVE$M1!AB zDJc9-*I24a7fEdcGNr6)Y^&$r)QRT|uBi(u-jY^1Sgse3owpcS$Id)K^ z9n@$i#s65&iup)HuASn+T2NOauyRVS95fs5-!H5>Ov(QiQ9*7IakYbX6$WuZ^p6_- zKdgqRX|Z}{X;4xksiv7zH&}=NS*KRz6YP43wpnZ!n<^Lm5Sz*`{Y{j$eSKy3Y3Ma_ ziI)$v-M*Uoj{~j-e;`j=X7G21*^@^{S+Vu|Fq@gb>Mafbbh=+sKnNo@+=R4~HqAl& z-)rI>Y~9q++P;3pGh3W`343?sync7yfIIK7J8$sd)R4=X8gjGC+GZ^op3N&dJ#No>+sVyj zc$Oz8Ae;XUiKE>?SM9m!758N&-_p21n0ci+6Tt~wHPJx*GnWnUqe zpUj6g)8$WwORR}D?;I*?^+T9dYM&mWHiee82?rYL5*+81VeisM%v%-WETUQ;%!Miy z&)}t&&!~Eq3VW-c6qOqz;zW~2V>U_DST+eYlDHr($v5Gxo<_l$C?CT6Jk8=@+AJt`n2vwreti+#Kh-NA^{DPjTrcB4_Ua4h7$1CFU&xL9`h2+WO6c?XoBLsr zkNC)by*WB&$K|%Us9iZaFGn+}_q~GiolST76d$0`QzE0Q=_!%SGJf>{_JPAR-zmD2{PRA&IgCXllgXT!B9k5`r;AQ{ zgqU%@^q8fU$CAl$k&D$(T#$w`{#_4*I4*L5MQ1@mq7M1L8& z(?|4W(A_!$lg34o%3ReD1tF>??Q(R^nIy6p=bahSoiW;Hv4F3X6^P)zfXRhWS!Csk zpVQnd@-2do!ShAF5?J=NB3~Ua$BTR$`{`27hJ70f=Qtb5HAf?P587sEa~zGya8aSp z;U|AE}gf1-3&Wp%{9`y{t&(Z}sI*_AhqUM7muzHez zt2+PtQms?nAapWc0*QYjEN6#+8bd&hA)v+((h8YY$TXM8G?z#i6G-v?Wg}1{0yQE~ zBLX#s45<|M#uRc)A;%OF#spFnel`*{B2gm}H6l^ZwKo=Cbb%aI$WetHRY({UNbz;g zMxsU}YDA(&B 100; + +-- TRIGGER on NEWTABLE +DROP FUNCTION IF EXISTS add_stamp() CASCADE; +CREATE OR REPLACE FUNCTION add_stamp() RETURNS OPAQUE AS ' + BEGIN + IF (NEW.somedate IS NULL OR NEW.somedate = 0) THEN + NEW.somedate := CURRENT_TIMESTAMP; + RETURN NEW; + END IF; + END; +' LANGUAGE 'plpgsql'; + +DROP TRIGGER IF EXISTS ADDCURRENTDATE ON newtable; + +CREATE TRIGGER ADDCURRENTDATE +BEFORE INSERT OR UPDATE +ON newtable FOR EACH ROW + EXECUTE PROCEDURE add_stamp(); + +-- TABLEs for testing CONSTRAINTs +CREATE TABLE IF NOT EXISTS testconstraints ( + someid integer NOT NULL, + somename character varying(10) NOT NULL, + CONSTRAINT testconstraints_id_pk PRIMARY KEY (someid) +); +CREATE TABLE IF NOT EXISTS testconstraints2 ( + ext_id integer NOT NULL, + modified date, + uniquefield character varying(10) NOT NULL, + usraction integer NOT NULL, + CONSTRAINT testconstraints_id_fk FOREIGN KEY (ext_id) + REFERENCES testconstraints (someid) MATCH SIMPLE + ON UPDATE CASCADE ON DELETE CASCADE, + CONSTRAINT unique_2_fields_idx UNIQUE (modified, usraction), + CONSTRAINT uniquefld_idx UNIQUE (uniquefield) +); diff --git a/tests/db_files/sqlite.sql b/tests/db_files/sqlite.sql index 9d4bd0c..f4f733a 100644 --- a/tests/db_files/sqlite.sql +++ b/tests/db_files/sqlite.sql @@ -1,4 +1,7 @@ -- sample data to test SQLite +CREATE TABLE IF NOT EXISTS "create_test" ("id" INTEGER PRIMARY KEY, "key" TEXT, "val" TEXT); +CREATE TABLE IF NOT EXISTS "create_join" ("id" INTEGER PRIMARY KEY, "key" TEXT, "val" TEXT); +CREATE TABLE IF NOT EXISTS "create_delete" ("id" INTEGER PRIMARY KEY, "key" TEXT, "val" TEXT); -- TABLE TEST DROP TABLE IF EXISTS TEST1;