]> xenbits.xensource.com Git - people/aperard/emesinae.git/commitdiff
Add sort order to tags.
authorIan Campbell <ian.campbell@citrix.com>
Tue, 2 Jul 2013 12:47:13 +0000 (13:47 +0100)
committerIan Campbell <ian.campbell@citrix.com>
Tue, 2 Jul 2013 12:47:42 +0000 (13:47 +0100)
An existing DB can be upgraded with:
8<-------------------------------------------------
BEGIN TRANSACTION;
ALTER TABLE tags RENAME TO tmp_tags;
create table tags (
       tag_id integer not null primary key autoincrement,
       namespace varchar, -- "component", "affects" etc
       name varchar,
       sort_order integer default 0,
       -- the following refer to the default visibility and setting in the search page.
       active bool default true, -- searched for by default
       advanced bool default false -- only shown in advanced search pane
);

INSERT OR IGNORE INTO tags(tag_id, namespace, name, active, advanced)
               SELECT tag_id, namespace, name, active, advanced FROM tmp_tags;
DROP TABLE tmp_tags;
COMMIT;
8<-------------------------------------------------

Emesinae/Common.pm
TODO
config/examples/test/dbinit.sql
config/examples/xen-bugs.xenproject.org/dbinit.sql
db/createdb.sql

index d862bf72439a0aa8f77f9584243febb15d96a472..6d5ef1cde1d9de5e5acec2867c91ca57ebf77f76 100644 (file)
@@ -63,6 +63,7 @@ sub list_tags($$) {
         SELECT name,active,advanced
           FROM tags
          WHERE namespace = ?
+      ORDER BY sort_order DESC
     " );
     $sth->execute($ns) or die "Unable to obtain list of tags in namesapce $ns";
 
diff --git a/TODO b/TODO
index c1b0da6d50353cd18e28499529ae5064f7f0efca..503f182accde174d7a0ad6bea38849e14180db6c 100644 (file)
--- a/TODO
+++ b/TODO
@@ -37,7 +37,6 @@ database:
  - Refactor email addresses into their own table and create references instead
    of inlining into the record. Should enable better searching.
  - Use Perl DBI select_* interface instead of prepare/executre/fetch/finish
- - add sort order to tags
 
 documentation:
  - have some
index f8a645a1a352799dec87886863b2065f6c8f9c61..5868906dc8085ecf1f10b3cbe687fce0ba3a8772 100644 (file)
@@ -1,5 +1,5 @@
-INSERT INTO tags (namespace,name,active,advanced) VALUES ("affects","master","true","false");
-INSERT INTO tags (namespace,name,active,advanced) VALUES ("affects","stable-4.2","true","false");
-INSERT INTO tags (namespace,name,active,advanced) VALUES ("affects","stable-4.1","false","true");
-INSERT INTO tags (namespace,name,active,advanced) VALUES ("affects","stable-4.0","false","true");
+INSERT INTO tags (namespace,name,sort_order,active,advanced) VALUES ("affects","master",1000,"true","false");
+INSERT INTO tags (namespace,name,sort_order,active,advanced) VALUES ("affects","stable-4.2",42,"true","false");
+INSERT INTO tags (namespace,name,sort_order,active,advanced) VALUES ("affects","stable-4.1",41,"false","true");
+INSERT INTO tags (namespace,name,sort_order,active,advanced) VALUES ("affects","stable-4.0",40,"false","true");
 
index 9a6e6e671506ea4ec1fe818d4fce7ea8719ed228..e5ec97faac444827b3b69e2271b8b6301d25e0cd 100644 (file)
@@ -1,6 +1,6 @@
-INSERT INTO tags (namespace,name,active,advanced) VALUES ("affects","master","true","false");
-INSERT INTO tags (namespace,name,active,advanced) VALUES ("affects","4.3","true","false");
-INSERT INTO tags (namespace,name,active,advanced) VALUES ("affects","4.2","true","false");
-INSERT INTO tags (namespace,name,active,advanced) VALUES ("affects","4.1","false","true");
-INSERT INTO tags (namespace,name,active,advanced) VALUES ("affects","4.0","false","true");
+INSERT INTO tags (namespace,name,sort_order,active,advanced) VALUES ("affects","master",1000,"true","false");
+INSERT INTO tags (namespace,name,sort_order,active,advanced) VALUES ("affects","4.3",43,"true","false");
+INSERT INTO tags (namespace,name,sort_order,active,advanced) VALUES ("affects","4.2",42,"true","false");
+INSERT INTO tags (namespace,name,sort_order,active,advanced) VALUES ("affects","4.1",41,"false","true");
+INSERT INTO tags (namespace,name,sort_order,active,advanced) VALUES ("affects","4.0",40,"false","true");
 
index dc33547ffe0da2adec28e9e86923c8d324334cd5..bc8f2a1c45ce3c3eef922de6632276b71a8daa5d 100644 (file)
@@ -27,6 +27,7 @@ create table tags (
        tag_id integer not null primary key autoincrement,
        namespace varchar, -- "component", "affects" etc
        name varchar,
+       sort_order integer default 0,
        -- the following refer to the default visibility and setting in the search page.
        active bool default true, -- searched for by default
        advanced bool default false -- only shown in advanced search pane