Finish implementing get-day (SQLite)
This commit is contained in:
parent
07609d4813
commit
c74d83908c
|
@ -2284,40 +2284,55 @@ ORDER BY interval_id DESC;")
|
|||
((list (or (list date-id prop-id) nil))
|
||||
(execute-to-list
|
||||
connection "SELECT date_id, prop_id FROM dates WHERE date = ?;" date))
|
||||
(intervals
|
||||
(loop for (name start stop properties)
|
||||
in (execute-sxql
|
||||
#'execute-to-list
|
||||
(select (:name :start_time :stop_time :properties)
|
||||
(from :intervals)
|
||||
(left-join :interval_names :using (:name_id))
|
||||
(left-join :properties :using (:prop_id))
|
||||
(where (:in :interval_id
|
||||
(select (:interval_id)
|
||||
(from :date_intervals)
|
||||
(where (:= :date_id date-id))))))
|
||||
connection)
|
||||
collect (make-instance 'chronometrist:interval
|
||||
:name name
|
||||
:start start
|
||||
:stop stop
|
||||
:properties (when properties
|
||||
(read-from-string properties)))))
|
||||
(event-ids
|
||||
(flatten (execute-to-list
|
||||
connection
|
||||
"SELECT event_id FROM date_events WHERE date_id = ?;"
|
||||
date-id)))
|
||||
(properties
|
||||
(execute-single connection
|
||||
"SELECT properties FROM properties WHERE prop_id = ?"
|
||||
prop-id)))
|
||||
;; (setf (chronometrist:date day) date
|
||||
;; ;; (intervals day) intervals
|
||||
;; ;; (events day) events
|
||||
;; (chronometrist:properties day) properties)
|
||||
;; day
|
||||
intervals))
|
||||
(when prop-id
|
||||
(execute-sxql #'execute-single
|
||||
(select (:properties)
|
||||
(from :properties)
|
||||
(where (:= :prop_id prop-id)))
|
||||
connection))))
|
||||
(setf (chronometrist:date day) date
|
||||
(chronometrist:intervals day)
|
||||
(loop for (name start stop properties)
|
||||
in (execute-sxql
|
||||
#'execute-to-list
|
||||
(select (:name :start_time :stop_time :properties)
|
||||
(from :intervals)
|
||||
(left-join :interval_names :using (:name_id))
|
||||
(left-join :properties :using (:prop_id))
|
||||
(where (:in :interval_id
|
||||
(select (:interval_id)
|
||||
(from :date_intervals)
|
||||
(where (:= :date_id date-id))))))
|
||||
connection)
|
||||
collect (make-instance 'chronometrist:interval
|
||||
:name name
|
||||
:start start
|
||||
:stop stop
|
||||
:properties (when properties
|
||||
(read-from-string properties))))
|
||||
(chronometrist:events day)
|
||||
(loop for (name time properties)
|
||||
in (execute-sxql
|
||||
#'execute-to-list
|
||||
(select (:name :time :properties)
|
||||
(from :events)
|
||||
(left-join :event_names :using (:name_id))
|
||||
(left-join :properties :using (:prop_id))
|
||||
(where (:in :event_id
|
||||
(select (:event_id)
|
||||
(from :date_events)
|
||||
(where (:= :date_id date-id))))))
|
||||
connection)
|
||||
collect (make-instance 'chronometrist:event
|
||||
:name name
|
||||
:time time
|
||||
:properties (when properties
|
||||
(read-from-string properties))))
|
||||
(chronometrist:properties day)
|
||||
(when properties
|
||||
(read-from-string properties)))
|
||||
day))
|
||||
#+END_SRC
|
||||
|
||||
**** iso-to-unix :function:
|
||||
|
|
Reference in New Issue