          {:connection-details->spec  connection-details->spec
           :column->base-type         column->base-type
           :string-length-fn          (constantly :CHAR_LENGTH)
-          :apply-filter              apply-filter}))
+          :apply-filter              apply-filter
+          :date                      date
+          :unix-timestamp->timestamp unix-timestamp->timestamp
+          :current-datetime-fn       (constantly now)}))
 
 (extend CrateDriver
   driver/IDriver

                                        :display-name "Port"
                                        :type         :integer
                                        :default      4300}])
          :can-connect?  can-connect})
  sql/ISQLDriver CrateISQLDriverMixin)

(driver/register-driver! :crate (CrateDriver.))

  {:pre [(map? filter) field]}
  (let [field (qp/formatted field)]
    {field (case          filter-type
             ;; TODO: implement Crate equivalent for "BETWEEN"
             :between     ['between [(qp/formatted (:min-val filter)) (qp/formatted (:max-val filter))]]
             :starts-with ['like (qp/formatted (update value :value (fn [s] (str    s \%)))) ]
             :contains    ['like (qp/formatted (update value :value (fn [s] (str \% s \%))))]
