RPM Package Manager, CVS Repository http://rpm5.org/cvs/ ____________________________________________________________________________
Server: rpm5.org Name: Jeff Johnson Root: /v/rpm/cvs Email: [email protected] Module: rpm Date: 09-Apr-2010 00:01:53 Branch: HEAD Handle: 2010040822014903 Added files: rpm/tests/ref rpmdb.sql sqldb-basic.out sqldb-basic.sql Modified files: rpm CHANGES rpm/tests Makefile.am Log: - tests: stub-in a "make check-sql" target. Summary: Revision Changes Path 1.3313 +1 -0 rpm/CHANGES 1.64 +7 -0 rpm/tests/Makefile.am 1.1 +17 -0 rpm/tests/ref/rpmdb.sql 1.1 +40 -0 rpm/tests/ref/sqldb-basic.out 1.1 +22 -0 rpm/tests/ref/sqldb-basic.sql ____________________________________________________________________________ patch -p0 <<'@@ .' Index: rpm/CHANGES ============================================================================ $ cvs diff -u -r1.3312 -r1.3313 CHANGES --- rpm/CHANGES 8 Apr 2010 12:11:51 -0000 1.3312 +++ rpm/CHANGES 8 Apr 2010 22:01:49 -0000 1.3313 @@ -1,5 +1,6 @@ 5.2b1 -> 5.3a1 + - jbj: tests: stub-in a "make check-sql" target. - jbj: rpmsql: stub-in an "expand" function tied to macro expansion. - jbj: rpmsql: resurrect building --without-sqlite. - jbj: sqlite: stub-in a framework for creating functions. @@ . patch -p0 <<'@@ .' Index: rpm/tests/Makefile.am ============================================================================ $ cvs diff -u -r1.63 -r1.64 Makefile.am --- rpm/tests/Makefile.am 2 Mar 2010 17:34:14 -0000 1.63 +++ rpm/tests/Makefile.am 8 Apr 2010 22:01:51 -0000 1.64 @@ -43,6 +43,7 @@ rpmcache = $(abs_top_builddir)/tools/rpmcache --macros $(macros) rpmdigest = $(abs_top_builddir)/tools/rpmdigest rpmrepo = $(abs_top_builddir)/tools/rpmrepo +dbsql = $(abs_top_builddir)/tools/sqlite3 tpgp = ./tpgp --macros $(macros) @@ -414,6 +415,12 @@ @diff -ru tmp/{wget,cp} @${grep} -i HREF $(POPTURI) > tmp/grep +check-sql: + @echo "=== $@ ===" + @rm -rf tmp/sqldb* + @-${dbsql} -echo tmp/sqldb '.read ref/sqldb-basic.sql' > tmp/sqldb-basic.out + @-diff -u {tmp,ref}/sqldb-basic.out || cp {tmp,ref}/sqldb-basic.out + check-local: check-init check-pubkeys check-markup check-macros \ check-build check-sign check-ACID check-install \ check-query check-verify check-rpmv3\ @@ . patch -p0 <<'@@ .' Index: rpm/tests/ref/rpmdb.sql ============================================================================ $ cvs diff -u -r0 -r1.1 rpmdb.sql --- /dev/null 2010-04-09 00:01:48.000000000 +0200 +++ rpmdb.sql 2010-04-09 00:01:52.962318277 +0200 @@ -0,0 +1,17 @@ +CREATE TABLE Packages ( + i INTEGER UNIQUE PRIMARY KEY NOT NULL, + h BLOB NOT NULL +); +CREATE TEMP TRIGGER insert_Packages AFTER INSERT ON Packages + BEGIN + INSERT INTO Nvra (k,v) VALUES ( new.h, new.rowid ); + END; +CREATE TEMP TRIGGER delete_Packages BEFORE DELETE ON Packages + BEGIN + DELETE FROM Nvra WHERE v = old.rowid; + END; + +CREATE TABLE Nvra ( + k TEXT PRIMARY KEY NOT NULL, + v INTEGER REFERENCES Packages(i) ON UPDATE RESTRICT ON DELETE RESTRICT +); @@ . patch -p0 <<'@@ .' Index: rpm/tests/ref/sqldb-basic.out ============================================================================ $ cvs diff -u -r0 -r1.1 sqldb-basic.out --- /dev/null 2010-04-09 00:01:48.000000000 +0200 +++ sqldb-basic.out 2010-04-09 00:01:52.902315082 +0200 @@ -0,0 +1,40 @@ +.read ref/rpmdb.sql +CREATE TABLE Packages ( + i INTEGER UNIQUE PRIMARY KEY NOT NULL, + h BLOB NOT NULL +); +CREATE TEMP TRIGGER insert_Packages AFTER INSERT ON Packages + BEGIN + INSERT INTO Nvra (k,v) VALUES ( new.h, new.rowid ); + END; +CREATE TEMP TRIGGER delete_Packages BEFORE DELETE ON Packages + BEGIN + DELETE FROM Nvra WHERE v = old.rowid; + END; +CREATE TABLE Nvra ( + k TEXT PRIMARY KEY NOT NULL, + v INTEGER REFERENCES Packages(i) ON UPDATE RESTRICT ON DELETE RESTRICT +); +BEGIN TRANSACTION; +INSERT into Packages (h) VALUES ('bing-1.2-3.noarch'); +INSERT into Packages (h) VALUES ('bang-4.5-6.noarch'); +INSERT into Packages (h) VALUES ('boom-7.8.9.noarch'); +COMMIT TRANSACTION; +SELECT * from Packages; +1|bing-1.2-3.noarch +2|bang-4.5-6.noarch +3|boom-7.8.9.noarch +SELECT * from Nvra; +bing-1.2-3.noarch|1 +bang-4.5-6.noarch|2 +boom-7.8.9.noarch|3 +BEGIN TRANSACTION; +DELETE FROM Packages WHERE i = 2; +COMMIT TRANSACTION; +SELECT * from Packages; +1|bing-1.2-3.noarch +3|boom-7.8.9.noarch +SELECT * from Nvra; +bing-1.2-3.noarch|1 +boom-7.8.9.noarch|3 +.exit @@ . patch -p0 <<'@@ .' Index: rpm/tests/ref/sqldb-basic.sql ============================================================================ $ cvs diff -u -r0 -r1.1 sqldb-basic.sql --- /dev/null 2010-04-09 00:01:48.000000000 +0200 +++ sqldb-basic.sql 2010-04-09 00:01:52.932316679 +0200 @@ -0,0 +1,22 @@ +-- Instantiate the rpmdb.sql schema. + +.read ref/rpmdb.sql + +-- Basic rpmdbAdd/rpmdbRemove operations using SQL triggers. + +BEGIN TRANSACTION; +INSERT into Packages (h) VALUES ('bing-1.2-3.noarch'); +INSERT into Packages (h) VALUES ('bang-4.5-6.noarch'); +INSERT into Packages (h) VALUES ('boom-7.8.9.noarch'); +COMMIT TRANSACTION; + +SELECT * from Packages; +SELECT * from Nvra; + +BEGIN TRANSACTION; +DELETE FROM Packages WHERE i = 2; +COMMIT TRANSACTION; + +SELECT * from Packages; +SELECT * from Nvra; +.exit @@ . ______________________________________________________________________ RPM Package Manager http://rpm5.org CVS Sources Repository [email protected]
