            :table_id (id :categories), :id (id :categories :name)}))
 
 ;; #### checkins
-(defn checkins-col [col]
+(defn checkins-col
+  "Return column information for the `checkins` column named by keyword COL."
+  [col]
   (case col
     :id       {:extra_info {}
                :special_type :id

    :BigIntegerField))

(def driver-name->driver-dataset
  {:mongo       (MongoDriverData.)
   :generic-sql (GenericSqlDriverData.)})
(def valid-driver-names (set (keys driver-name->driver-dataset)))

(defmacro with-driver
  "Execute BODY with `*db*` and `*db-id*` bound to appropriate places for "

                  :table_id (id :venues)
                  :id (id :venues :name)}))

(defn venues-cols
  "`cols` information for all the columns in `venues`."
  []
  (mapv venue-col [:id :category_id :price :longitude :latitude :name]))

;; #### categories
(defn categories-col
  "Return column information for the `categories` column named by keyword COL."
  [col]
  (case col
    :id   {:extra_info {} :special_type :id, :base_type (id-field-type *driver-dataset*), :description nil, :name (format-name *driver-dataset* "id")
           :table_id (id :categories), :id (id :categories :id)}
