]> git.decadent.org.uk Git - dak.git/commitdiff
Add changedby column to source table, and fill in information found in the
authorChristoph Berg <myon@debian.org>
Sat, 9 Feb 2008 19:57:33 +0000 (20:57 +0100)
committerChristoph Berg <myon@debian.org>
Sat, 9 Feb 2008 19:57:33 +0000 (20:57 +0100)
.changes. This will allow to identify NMUs and sponsored uploads more precisely
in tools querying projectb.

Also move src_uploaders after source in DB population script so the REFERNCES
clause works.

ChangeLog
dak/process_accepted.py
setup/add_constraints.sql
setup/init_pool.sql

index 79a893b37b37fa98fb6524b185fca446ab8f4616..e7422486437439db97513b03158a75b42bfe3d8b 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2008-02-09  Christoph Berg <myon@debian.org>
+
+       * setup/add_constraints.sql setup/init_pool.sql: Add changedby column
+       to source table, and move src_uploaders after source so the REFERNCES
+       clause works.
+       * dak/process_accepted.py (install): Fill the changedby column from
+       the information found in the .changes. This will allow to identify
+       NMUs and sponsored uploads more precisely in tools querying projectb.
+
 2008-02-06  Joerg Jaspert  <joerg@debian.org>
 
        * daklib/utils.py (check_signature): Make variable key available,
index 20aab49515e5af6be63497c7578cd749a0465705..3c40b97ba8191393fde693a06769236bb822751c 100755 (executable)
@@ -281,6 +281,9 @@ def install ():
             maintainer = dsc["maintainer"]
             maintainer = maintainer.replace("'", "\\'")
             maintainer_id = daklib.database.get_or_set_maintainer_id(maintainer)
+            changedby = changes["changed-by"]
+            changedby = changedby.replace("'", "\\'")
+            changedby_id = daklib.database.get_or_set_maintainer_id(changedby)
             fingerprint_id = daklib.database.get_or_set_fingerprint_id(dsc["fingerprint"])
             install_date = time.strftime("%Y-%m-%d")
             filename = files[file]["pool name"] + file
@@ -288,8 +291,8 @@ def install ():
             dsc_location_id = files[file]["location id"]
             if not files[file].has_key("files id") or not files[file]["files id"]:
                 files[file]["files id"] = daklib.database.set_files_id (filename, files[file]["size"], files[file]["md5sum"], dsc_location_id)
-            projectB.query("INSERT INTO source (source, version, maintainer, file, install_date, sig_fpr) VALUES ('%s', '%s', %d, %d, '%s', %s)"
-                           % (package, version, maintainer_id, files[file]["files id"], install_date, fingerprint_id))
+            projectB.query("INSERT INTO source (source, version, maintainer, changedby, file, install_date, sig_fpr) VALUES ('%s', '%s', %d, %d, %d, '%s', %s)"
+                           % (package, version, maintainer_id, changedby_id, files[file]["files id"], install_date, fingerprint_id))
 
             for suite in changes["distribution"].keys():
                 suite_id = daklib.database.get_suite_id(suite)
index 8d275502c313cfa9d19fc9e4fd7ff46fd6e71c11..1d2bad66f4e0684937856526932d7851794a954f 100644 (file)
@@ -5,6 +5,7 @@
 ALTER TABLE files ADD CONSTRAINT files_location FOREIGN KEY (location) REFERENCES location(id) MATCH FULL;
 
 ALTER TABLE source ADD CONSTRAINT source_maintainer FOREIGN KEY (maintainer) REFERENCES maintainer(id) MATCH FULL;
+ALTER TABLE source ADD CONSTRAINT source_changedby FOREIGN KEY (changedby) REFERENCES maintainer(id) MATCH FULL;
 ALTER TABLE source ADD CONSTRAINT source_file FOREIGN KEY (file) REFERENCES files(id) MATCH FULL;
 ALTER TABLE source ADD CONSTRAINT source_sig_fpr FOREIGN KEY (sig_fpr) REFERENCES fingerprint(id) MATCH FULL;
 
index 8797acd59b33c4c6b88c2ac6f4edbdef1459baa8..887771895bbe67bbcce4e8bbfa7d0ecdda2db836 100644 (file)
@@ -28,12 +28,6 @@ CREATE TABLE maintainer (
        name TEXT UNIQUE NOT NULL
 );
 
-CREATE TABLE src_uploaders (
-       id SERIAL PRIMARY KEY,
-       source INT4 NOT NULL REFERENCES source,
-       maintainer INT4 NOT NULL REFERENCES maintainer
-);
-
 CREATE TABLE uid (
        id SERIAL PRIMARY KEY,
        uid TEXT UNIQUE NOT NULL,
@@ -78,12 +72,19 @@ CREATE TABLE source (
         source TEXT NOT NULL,
         version TEXT NOT NULL,
         maintainer INT4 NOT NULL, -- REFERENCES maintainer
+        changedby INT4 NOT NULL, -- REFERENCES maintainer
         file INT4 UNIQUE NOT NULL, -- REFERENCES files
        install_date TIMESTAMP NOT NULL,
        sig_fpr INT4 NOT NULL, -- REFERENCES fingerprint
        unique (source, version)
 );
 
+CREATE TABLE src_uploaders (
+       id SERIAL PRIMARY KEY,
+       source INT4 NOT NULL REFERENCES source,
+       maintainer INT4 NOT NULL REFERENCES maintainer
+);
+
 CREATE TABLE dsc_files (
        id SERIAL PRIMARY KEY,
        source INT4 NOT NULL, -- REFERENCES source,