(refer-clojure :exclude '[distinct group-by update]) (require '[clojure.string :as s] '[sqlingvo.core :as c :refer [db sql select from where copy as group-by having insert intersect join refresh-materialized-view update returning truncate union values drop-table except ast delete explain drop-materialized-view]] '[sqlingvo.util :as util]) (def db (db :mysql))

Click here to make these examples interactive with ClojureScript.

sqlingvo.expr

*column-regex*

dynamic

The regular expression used to parse a column identifier.

*table-regex*

dynamic

The regular expression used to parse a table identifier.

ast

(ast stmt)

Returns the abstract syntax tree of stmt.

attribute?

(attribute? form)

Returns true if form is an attribute for a composite type.

IExpr

protocol

members

-parse-expr

(-parse-expr x)

Parse x and return the AST of a SQL expression.

make-node

(make-node & {:as node})

parse-column

(parse-column s)

Parse s as a column identifier and return a map with :op, :schema, :name and :as keys.

parse-condition

(parse-condition condition)

parse-expr

(parse-expr x)

Parse the SQL expression x into an AST.

parse-exprs

(parse-exprs xs)

Parse the SQL expressions xs into an AST.

parse-from

(parse-from forms)

parse-map-expr

(parse-map-expr m)

parse-table

(parse-table s)

Parse s as a table identifier and return a map with :op, :schema, :name and :as keys.

qualified-name

(qualified-name k)

Returns the qualified name of k.

stmt

(stmt x)

unintern-name

(unintern-name x)

Returns x without any namespace.