 (defn describe-columns
   "Returns table columns description, taken from `system.schema_columns`."
   [^Session session ks table]
+  (assert (not hayt/*prepared-statement*) "Describe Columns query can't be executed as a prepared query")
   (select session :system.schema_columns
           (q/where {:keyspace_name (name ks)
                     :columnfamily_name (name table)})))

(defn describe-table
  "Returns a table description, taken from `system.schema_columnfamilies`."
  [^Session session ks table]
  (first
   (select session :system.schema_columnfamilies
           (q/where {:keyspace_name (name ks)

(defn describe-keyspace
  "Returns a keyspace description, taken from `system.schema_keyspaces`."
  [^Session session ks]
  (assert (not hayt/*prepared-statement*) "Describe Keyspace query can't be executed as a prepared query")
  (first
   (select session :system.schema_keyspaces
           (q/where {:keyspace_name (name ks)}))))
