(ns metabase.driver.sql-jdbc.quoting (:require [honey.sql :as sql] [metabase.driver.sql.query-processor :as sql.qp])) | |
Helper macro for quoting identifiers. | (defmacro with-quoting
[driver & body]
`(binding [sql/*dialect* (sql/get-dialect (sql.qp/quote-style ~driver))
sql/*quoted* true]
~@body)) |
Protect against a table being interpreted as a function call. | (defn quote-table [table-name] (keyword (str "'" (sql/format-entity (keyword table-name))))) |
Quote an identifier, in case it looks like a function call. | (defn quote-identifier [ref] [:raw (sql/format-entity ref)]) |
Used to quote column names when building HoneySQL queries, in case they look like function calls. | (defn quote-columns
[driver columns]
(with-quoting driver
(map quote-identifier columns))) |