2019-07-07 19:19:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								DROP   VIEW   chores_current ; 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								CREATE   VIEW   chores_current 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								AS 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								SELECT 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 h . id   AS   chore_id , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 MAX ( l . tracked_time )   AS   last_tracked_time , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 CASE   h . period_type 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 WHEN   ' manually '   THEN   ' 2999-12-31 23:59:59 ' 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 WHEN   ' dynamic-regular '   THEN   DATETIME ( MAX ( l . tracked_time ) ,   ' + '   | |   CAST ( h . period_days   AS   TEXT )   | |   '  day ' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 WHEN   ' daily '   THEN   DATETIME ( IFNULL ( MAX ( l . tracked_time ) ,   DATETIME ( ' now ' ,   ' localtime ' ) ) ,   ' +1 day ' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 WHEN   ' weekly '   THEN 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 CASE 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 WHEN   period_config   LIKE   ' %sunday% '   THEN   DATETIME ( IFNULL ( MAX ( l . tracked_time ) ,   DATETIME ( ' now ' ,   ' localtime ' ) ) ,   ' 1 days ' ,   ' weekday 0 ' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 WHEN   period_config   LIKE   ' %monday% '   THEN   DATETIME ( IFNULL ( MAX ( l . tracked_time ) ,   DATETIME ( ' now ' ,   ' localtime ' ) ) ,   ' 1 days ' ,   ' weekday 1 ' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 WHEN   period_config   LIKE   ' %tuesday% '   THEN   DATETIME ( IFNULL ( MAX ( l . tracked_time ) ,   DATETIME ( ' now ' ,   ' localtime ' ) ) ,   ' 1 days ' ,   ' weekday 2 ' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 WHEN   period_config   LIKE   ' %wednesday% '   THEN   DATETIME ( IFNULL ( MAX ( l . tracked_time ) ,   DATETIME ( ' now ' ,   ' localtime ' ) ) ,   ' 1 days ' ,   ' weekday 3 ' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 WHEN   period_config   LIKE   ' %thursday% '   THEN   DATETIME ( IFNULL ( MAX ( l . tracked_time ) ,   DATETIME ( ' now ' ,   ' localtime ' ) ) ,   ' 1 days ' ,   ' weekday 4 ' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 WHEN   period_config   LIKE   ' %friday% '   THEN   DATETIME ( IFNULL ( MAX ( l . tracked_time ) ,   DATETIME ( ' now ' ,   ' localtime ' ) ) ,   ' 1 days ' ,   ' weekday 5 ' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
												 WHEN   period_config   LIKE   ' %saturday% '   THEN   DATETIME ( IFNULL ( MAX ( l . tracked_time ) ,   DATETIME ( ' now ' ,   ' localtime ' ) ) ,   ' 1 days ' ,   ' weekday 6 ' ) 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
											 END 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
										 WHEN   ' monthly '   THEN   DATETIME ( IFNULL ( MAX ( l . tracked_time ) ,   DATETIME ( ' now ' ,   ' localtime ' ) ) ,   ' +1 month ' ,   ' start of month ' ,   ' + '   | |   CAST ( h . period_days   -   1   AS   TEXT )   | |   '  day ' ) 
  
						 
					
						
							
								
									
										
										
										
											2019-07-07 19:38:57 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 END   AS   next_estimated_execution_time , 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 h . track_date_only 
  
						 
					
						
							
								
									
										
										
										
											2019-07-07 19:19:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								FROM   chores   h 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								LEFT   JOIN   chores_log   l 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
									 ON   h . id   =   l . chore_id 
  
						 
					
						
							
								
									
										
										
										
											2019-07-07 19:47:05 +02:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
									 AND   l . undone   =   0 
  
						 
					
						
							
								
									
										
										
										
											2019-07-07 19:19:54 +02:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								GROUP   BY   h . id ,   h . period_days ;