2008-11-25 11:01:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								package  Hydra::Schema::Builds ;  
						 
					
						
							
								
									
										
										
										
											2008-10-28 10:19:31 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								use  strict ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								use  warnings ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								use  base  'DBIx::Class' ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								__PACKAGE__ - > load_components ( "Core" ) ;  
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								__PACKAGE__ - > table ( "Builds" ) ;  
						 
					
						
							
								
									
										
										
										
											2008-10-28 10:19:31 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								__PACKAGE__ - > add_columns (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "id" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "integer" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "finished" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "integer" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-10-28 10:19:31 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  "timestamp" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "integer" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-04 18:23:28 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "project" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "text" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "jobset" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "text" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-12 14:18:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "job" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-10-28 10:19:31 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "text" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-12 16:42:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "nixname" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "text" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-10-28 10:19:31 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								  "description" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "text" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "drvpath" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "text" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "outpath" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "text" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-06 18:26:29 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "system" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "text" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-16 15:09:39 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "longdescription" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "text" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "license" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "text" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-04 14:49:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "homepage" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  data_type  = >  "text" ,  is_nullable  = >  0 ,  size  = >  undef  } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-10-28 10:19:31 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								__PACKAGE__ - > set_primary_key ( "id" ) ;  
						 
					
						
							
								
									
										
										
										
											2008-11-25 11:01:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								__PACKAGE__ - > belongs_to ( "project" ,  "Hydra::Schema::Projects" ,  {  name  = >  "project"  } ) ;  
						 
					
						
							
								
									
										
										
										
											2008-11-10 10:18:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								__PACKAGE__ - > belongs_to (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "jobset" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-25 11:01:42 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "Hydra::Schema::Jobsets" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-10 10:18:50 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  {  name  = >  "jobset" ,  project  = >  "project"  } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
									
										
										
										
											2009-03-13 14:49:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								__PACKAGE__ - > belongs_to (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "job" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "Hydra::Schema::Jobs" , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  {  jobset  = >  "jobset" ,  name  = >  "job" ,  project  = >  "project"  } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
									
										
										
										
											2008-11-08 22:40:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								__PACKAGE__ - > has_many (  
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "buildschedulinginfoes" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-16 16:26:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "Hydra::Schema::BuildSchedulingInfo" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  {  "foreign.id"  = >  "self.id"  } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								__PACKAGE__ - > has_many (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "buildresultinfoes" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-16 16:26:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "Hydra::Schema::BuildResultInfo" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  {  "foreign.id"  = >  "self.id"  } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
									
										
										
										
											2008-11-12 16:42:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								__PACKAGE__ - > has_many (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "buildsteps" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-16 16:26:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "Hydra::Schema::BuildSteps" , 
							 
						 
					
						
							
								
									
										
										
										
											2009-03-12 14:18:30 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  {  "foreign.build"  = >  "self.id"  } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-12 16:42:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								__PACKAGE__ - > has_many (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "buildinputs_builds" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-16 16:26:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "Hydra::Schema::BuildInputs" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-09 00:48:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  {  "foreign.build"  = >  "self.id"  } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-08 22:40:12 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								__PACKAGE__ - > has_many (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "buildinputs_dependencies" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-16 16:26:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "Hydra::Schema::BuildInputs" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  {  "foreign.dependency"  = >  "self.id"  } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
									
										
										
										
											2008-10-28 10:19:31 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								__PACKAGE__ - > has_many (  
						 
					
						
							
								
									
										
										
										
											2008-11-12 16:42:07 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "buildproducts" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-16 16:26:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "Hydra::Schema::BuildProducts" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-09 00:48:36 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  {  "foreign.build"  = >  "self.id"  } , 
							 
						 
					
						
							
								
									
										
										
										
											2008-10-28 10:19:31 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-03-13 14:49:25 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								# Created by DBIx::Class::Schema::Loader v0.04005 @ 2009-03-13 13:33:20  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:xqKyjCWVdoTyQJC28K3WXA  
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-16 16:26:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								__PACKAGE__ - > has_many ( dependents  = >  'Hydra::Schema::BuildInputs' ,  'dependency' ) ;  
						 
					
						
							
								
									
										
										
										
											2008-10-28 10:19:31 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-11-27 15:16:06 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								__PACKAGE__ - > many_to_many ( dependentBuilds  = >  'dependents' ,  'build' ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-12-16 16:26:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								__PACKAGE__ - > has_many ( inputs  = >  'Hydra::Schema::BuildInputs' ,  'build' ) ;  
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								__PACKAGE__ - > belongs_to (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "schedulingInfo" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-16 16:26:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "Hydra::Schema::BuildSchedulingInfo" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  {  id  = >  "id"  } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								__PACKAGE__ - > belongs_to (  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  "resultInfo" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-12-16 16:26:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  "Hydra::Schema::BuildResultInfo" , 
							 
						 
					
						
							
								
									
										
										
										
											2008-11-11 12:54:37 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								  {  id  = >  "id"  } , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								) ;  
						 
					
						
							
								
									
										
										
										
											2008-11-06 13:40:31 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2009-05-07 13:30:55 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								if  ( $ ENV { "HYDRA_DBI" }  =~  m/^dbi:Pg/ )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  __PACKAGE__ - > sequence ( 'builds_id_seq' ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
									
										
										
										
											2009-04-03 15:37:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sub  makeSource  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    my  ( $ name ,  $ query )  =  @ _ ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    my  $ source  =  __PACKAGE__ - > result_source_instance ( ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    my  $ new_source  =  $ source - > new ( $ source ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $ new_source - > source_name ( $ name ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    $ new_source - > name ( \  "($query)" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    Hydra::Schema - > register_extra_source ( $ name  = >  $ new_source ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								sub  makeQueries  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    my  ( $ name ,  $ constraint )  =  @ _ ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-04-28 14:21:33 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    makeSource ( 'JobStatus'  .  $ name ,  "select * from (select project, jobset, job, system, max(id) as id from Builds where finished = 1 $constraint group by project, jobset, job, system) as a natural join Builds" ) ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    makeSource ( 'LatestSucceeded'  .  $ name ,  "select * from (select project, jobset, job, system, max(id) as id from Builds natural join BuildResultInfo where finished = 1 and buildStatus = 0 $constraint group by project, jobset, job, system) as a natural join Builds" ) ; 
							 
						 
					
						
							
								
									
										
										
										
											2009-04-03 15:37:21 +00:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								makeQueries ( '' ,  "" ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								makeQueries ( 'ForProject' ,  "and project = ?" ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								makeQueries ( 'ForJobset' ,  "and project = ? and jobset = ?" ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								makeQueries ( 'ForJob' ,  "and project = ? and jobset = ? and job = ?" ) ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2008-10-28 10:19:31 +00:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								1 ;