[Midnightbsd-cvs] mports [16140] trunk/Tools/magus/schema.sql: add readyports view
laffer1 at midnightbsd.org
laffer1 at midnightbsd.org
Mon Apr 7 20:07:14 EDT 2014
Revision: 16140
http://svnweb.midnightbsd.org/mports/?rev=16140
Author: laffer1
Date: 2014-04-07 20:07:13 -0400 (Mon, 07 Apr 2014)
Log Message:
-----------
add readyports view
Modified Paths:
--------------
trunk/Tools/magus/schema.sql
Modified: trunk/Tools/magus/schema.sql
===================================================================
--- trunk/Tools/magus/schema.sql 2014-04-07 22:40:01 UTC (rev 16139)
+++ trunk/Tools/magus/schema.sql 2014-04-08 00:07:13 UTC (rev 16140)
@@ -38,9 +38,9 @@
CREATE TABLE "events" (
"id" integer DEFAULT nextval('"events_id_seq"') NOT NULL,
"port" int NOT NULL,
- "phase" varchar(16) NOT NULL,
- "type" varchar(32) NOT NULL,
- "name" varchar(128) NOT NULL,
+ "phase" varchar(16),
+ "type" varchar(32),
+ "name" varchar(128),
"msg" text,
"machine" int NOT NULL,
primary key ("id")
@@ -185,15 +185,39 @@
"created" timestamp NOT NULL default CURRENT_TIMESTAMP,
primary key ("id")
) ;
-/*!50001 DROP VIEW IF EXISTS ready_ports*/;
-/*!50001 CREATE ALGORITHM=UNDEFINED */
-/*!50013 DEFINER=root at localhost SQL SECURITY DEFINER */
-/*!50001 VIEW ready_ports AS select ports.id AS id,ports.run AS run,ports.name AS name,ports.pkgname AS pkgname,ports.version AS version,ports.description AS description,ports.license AS license,ports.www AS www,ports.status AS status,ports.updated AS updated,(select count(0) AS COUNT(*) from depends where (depends.dependency = ports.id)) AS priority from ports where ((ports.status = _latin1'untested') and (not(ports.id in (select locks.port AS port from locks where (locks.port = ports.id)))) and ((not(ports.id in (select depends.port AS port from depends where (depends.port = ports.id)))) or (not(ports.id in (select depends.port AS port from depends where (((depends.port = ports.id) and (not(depends.dependency in (select depends.port AS port from ports where ((ports.id = depends.dependency) and ((ports.status = _latin1'pass') or (ports.status = _latin1'warn'))))))) or depends.dependency in (select locks.port AS port from locks where (locks.port = depends.dependency)))))))) order by (select count(0) AS COUNT(*) from depends where (depends.dependency = ports.id)) desc */;
-/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
-/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
-/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
-/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
-/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
-/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
-/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
+
+
+create VIEW ready_ports AS
+ SELECT ports.id AS id,
+ ports.run AS run,
+ ports.name AS name,
+ ports.pkgname AS pkgname,
+ ports.version AS version,
+ ports.description AS description,
+ ports.license AS license,
+ ports.www AS www,
+ ports.status AS status,
+ ports.updated AS updated,
+ (SELECT count(0) AS COUNT
+ FROM depends
+ WHERE depends.dependency = ports.id) AS priority
+ FROM ports
+ LEFT JOIN locks on locks.port = ports.id
+ LEFT JOIN depends on depends.port = ports.id
+ WHERE ports.status = 'untested' and locks.id is null and
+ (depends.port is null or
+ not exists
+ (SELECT depends.port AS port
+ FROM depends WHERE ports.id = depends.port and not exists
+ (SELECT ports.id as dep_id
+ FROM ports
+ WHERE ports.id = depends.dependency and (ports.status = 'pass' or ports.status = 'warn'))
+ or
+ depends.dependency = locks.port))
+ORDER BY priority desc, ports.name asc;
+
+alter table ports add foreign key (run) references runs(id);
+alter table port_categories add foreign key (category) references categories(id);
+alter table locks add foreign key (port) references ports(id);
+
+
More information about the Midnightbsd-cvs
mailing list