Add doc-strings to date-time.lisp
authorAlejandro R Sedeño <asedeno@google.com>
Wed, 3 Apr 2013 22:38:37 +0000 (18:38 -0400)
committerAlejandro R Sedeño <asedeno@google.com>
Thu, 4 Apr 2013 02:25:51 +0000 (22:25 -0400)
src/common/date-time.lisp

index d4a0524..5a45519 100644 (file)
       (make-instance 'mysql-date-time)))
 
 (defun parse-date-time-string (str)
+  "Parses a date-time-string in one of the following forms and returns a MYSQL-DATE-TIME object.
+    \"\" -- All fields = 0
+    \"YYYY-MM-DD\" -- All time fields = 0
+    \"YYYY-MM-DD hh:mm:ss\" -- Microseconds = 0
+    \"YYYY-MM-DD hh:mm:ss.µµµµµµ\""
   (let ((year 0) (month 0) (day 0)
         (hour 0) (minute 0) (second 0)
         (microsecond 0)
             minutes seconds microseconds)))
 
 (defun mysql-time-interval-to-seconds (interval)
+  "Converts a MYSQL-TIME-INTERVAL to a whole number of seconds.
+   Returns microseconds as a second value."
   (assert (typep interval 'mysql-time-interval))
   (with-prefixed-accessors (negativep days hours minutes seconds microseconds)
     (mysql-time-interval- interval)
             microseconds)))
 
 (defun seconds-to-mysql-time-interval (value &optional (microseconds 0))
+  "Creates a MYSQL-TIME-INTERVAL representing VALUE seconds.
+   An optional second argument can be used to specify microseconds."
   (assert (typep value 'integer))
   (let ((negativep (minusp value))
         (value (abs value)))
                          :microseconds microseconds))))))
 
 (defun parse-time-interval-string (str)
+  "Parses the MySQL Text Protocol represetation of a time interval.
+   /(-)?(h+):(mm):(ss).(µµµµµµ)/"
   (let ((negativep (starts-with str "-")))
     (multiple-value-bind (hours end)
         (parse-integer str :start (if negativep 1 0) :junk-allowed t)