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]

Reply via email to