Fix sql test errors
This commit is contained in:
parent
d87de2ba47
commit
303eda1567
@ -68,7 +68,7 @@ class SQLite_SQL extends Abstract_SQL {
|
||||
public function table_list()
|
||||
{
|
||||
return <<<SQL
|
||||
SELECT "name"
|
||||
SELECT DISTINCT "name"
|
||||
FROM "sqlite_master"
|
||||
WHERE "type"='table'
|
||||
ORDER BY "name" DESC
|
||||
|
@ -31,58 +31,20 @@ class SQLiteTest extends DBTest {
|
||||
// ! Util Method tests
|
||||
// --------------------------------------------------------------------------
|
||||
|
||||
public function DataCreate()
|
||||
{
|
||||
$this->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 = <<<SQL
|
||||
CREATE TABLE "create_test" ("id" INTEGER PRIMARY KEY, "key" TEXT, "val" TEXT);
|
||||
CREATE TABLE "create_join" ("id" INTEGER PRIMARY KEY, "key" TEXT, "val" TEXT);
|
||||
CREATE TABLE "create_delete" ("id" INTEGER PRIMARY KEY, "key" TEXT, "val" TEXT);
|
||||
CREATE TABLE TEST1 (
|
||||
TEST_NAME TEXT NOT NULL,
|
||||
TEST_ID INTEGER DEFAULT '0' NOT NULL,
|
||||
@ -153,7 +115,6 @@ CREATE VIEW "numbersview" AS
|
||||
SELECT *
|
||||
FROM NUMBERS
|
||||
WHERE NUMBER > 100;
|
||||
CREATE TABLE "create_delete" ("id" INTEGER PRIMARY KEY, "key" TEXT, "val" TEXT);
|
||||
SQL;
|
||||
|
||||
$expected_array = explode("\n", $expected);
|
||||
|
Binary file not shown.
@ -1 +1,106 @@
|
||||
-- sample data to test PostgreSQL INFORMATION_SCHEMA
|
||||
|
||||
-- TABLE TEST
|
||||
CREATE TABLE IF NOT EXISTS TEST1 (
|
||||
TEST_NAME CHAR(30) NOT NULL,
|
||||
TEST_ID INTEGER DEFAULT '0' NOT NULL,
|
||||
TEST_DATE TIMESTAMP NOT NULL
|
||||
);
|
||||
ALTER TABLE TEST1 DROP CONSTRAINT IF EXISTS PK_TEST CASCADE;
|
||||
ALTER TABLE TEST1 ADD CONSTRAINT PK_TEST PRIMARY KEY (TEST_ID);
|
||||
|
||||
-- TABLE TEST2 with some CONSTRAINTs and an INDEX
|
||||
CREATE TABLE IF NOT EXISTS TEST2 (
|
||||
ID INTEGER NOT NULL,
|
||||
FIELD1 INTEGER,
|
||||
FIELD2 CHAR(15),
|
||||
FIELD3 VARCHAR(50),
|
||||
FIELD4 INTEGER,
|
||||
FIELD5 INTEGER,
|
||||
ID2 INTEGER NOT NULL
|
||||
);
|
||||
ALTER TABLE TEST2 DROP CONSTRAINT IF EXISTS PK_TEST2 CASCADE;
|
||||
ALTER TABLE TEST2 DROP CONSTRAINT IF EXISTS TEST2_FIELD1ID_IDX CASCADE;
|
||||
ALTER TABLE TEST2 DROP CONSTRAINT IF EXISTS TEST2_FIELD4_IDX CASCADE;
|
||||
DROP INDEX IF EXISTS TEST2_FIELD5_IDX;
|
||||
|
||||
ALTER TABLE TEST2 ADD CONSTRAINT PK_TEST2 PRIMARY KEY (ID2);
|
||||
ALTER TABLE TEST2 ADD CONSTRAINT TEST2_FIELD1ID_IDX UNIQUE (ID, FIELD1);
|
||||
ALTER TABLE TEST2 ADD CONSTRAINT TEST2_FIELD4_IDX UNIQUE (FIELD4);
|
||||
CREATE INDEX TEST2_FIELD5_IDX ON TEST2(FIELD5);
|
||||
|
||||
-- TABLE NUMBERS
|
||||
CREATE TABLE IF NOT EXISTS NUMBERS (
|
||||
NUMBER INTEGER DEFAULT '0' NOT NULL,
|
||||
EN CHAR(100) NOT NULL,
|
||||
FR CHAR(100) NOT NULL
|
||||
);
|
||||
|
||||
-- TABLE NEWTABLE
|
||||
CREATE TABLE IF NOT EXISTS NEWTABLE (
|
||||
ID INT DEFAULT 0 NOT NULL,
|
||||
SOMENAME VARCHAR (12),
|
||||
SOMEDATE TIMESTAMP NOT NULL
|
||||
);
|
||||
ALTER TABLE NEWTABLE DROP CONSTRAINT IF EXISTS PKINDEX_IDX CASCADE;
|
||||
ALTER TABLE NEWTABLE ADD CONSTRAINT PKINDEX_IDX PRIMARY KEY (ID);
|
||||
|
||||
DROP SEQUENCE IF EXISTS NEWTABLE_SEQ CASCADE;
|
||||
CREATE SEQUENCE NEWTABLE_SEQ INCREMENT 1 START 1;
|
||||
|
||||
-- VIEW on TEST
|
||||
CREATE OR REPLACE VIEW "testview"(
|
||||
TEST_NAME,
|
||||
TEST_ID,
|
||||
TEST_DATE
|
||||
) AS
|
||||
SELECT *
|
||||
FROM TEST1
|
||||
WHERE TEST_NAME LIKE 't%';
|
||||
|
||||
-- VIEW on NUMBERS
|
||||
CREATE OR REPLACE VIEW "numbersview"(
|
||||
NUMBER,
|
||||
TRANS_EN,
|
||||
TRANS_FR
|
||||
) AS
|
||||
SELECT *
|
||||
FROM NUMBERS
|
||||
WHERE NUMBER > 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)
|
||||
);
|
||||
|
||||
|
@ -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;
|
||||
|
Loading…
Reference in New Issue
Block a user