Next: Introduction, Previous: (dir), Up: (dir) [Contents][Index]
This is the sxql Reference Manual, version 0.1.0, generated automatically by Declt version 3.0 "Montgomery Scott" on Mon Apr 19 17:55:13 2021 GMT+0.
• Introduction | What sxql is all about | |
• Systems | The systems documentation | |
• Modules | The modules documentation | |
• Files | The files documentation | |
• Packages | The packages documentation | |
• Definitions | The symbols documentation | |
• Indexes | Concepts, functions, variables and data types |
(select (:id :name :sex)
(from (:as :person :p))
(where (:and (:>= :age 18)
(:< :age 65)))
(order-by (:desc :age)))
;=> #<SXQL-STATEMENT: SELECT id, name, sex FROM person AS p WHERE ((age >= 18) AND (age < 65)) ORDER BY age DESC>
(yield *)
;=> "SELECT id, name, sex FROM person AS p WHERE ((age >= ?) AND (age < ?)) ORDER BY age DESC"
; (18 65)
(sql-compile **)
;=> #<SXQL-COMPILED: SELECT id, name, sex FROM person AS p WHERE ((age >= ?) AND (age < ?)) ORDER BY age DESC [18, 65]>
(union-queries * (select (:id :name :sex) (from '(:as animal a))))
;=> #<SXQL-OP: (SELECT id, name, sex FROM (person AS p) WHERE ((age >= ?) AND (age < ?)) ORDER BY age DESC) UNION (SELECT id, name, sex FROM (animal AS a))>
(yield *)
;=> "(SELECT id, name, sex FROM (person AS p) WHERE ((age >= ?) AND (age < ?)) ORDER BY age DESC) UNION (SELECT id, name, sex FROM (animal AS a))"
; (18 65)
Creates a SELECT query. It takes a field (or a list of fields) and SQL Clauses.
(select ((:+ 1 1)))
;=> #<SXQL-STATEMENT: SELECT (1 + 1)>
(select :name
(from :person)
(where (:> :age 20)))
;=> #<SXQL-STATEMENT: SELECT name FROM person WHERE (age > 20)>
(select (:id :name)
(from (:as :person :p))
(left-join :person_config :on (:= :person.config_id :person_config.id))
(where (:and (:> :age 20)
(:<= :age 65)))
(order-by :age)
(limit 5))
;=> #<SXQL-STATEMENT: SELECT id, name FROM (person AS p) LEFT JOIN person_config ON (person.config_id = person_config.id) WHERE ((age > 20) AND (age <= 65)) ORDER BY age LIMIT 5>
(select (:sex (:count :*)) (from :person) (group-by :sex))
;=> #<SXQL-STATEMENT: SELECT sex, COUNT(*) FROM person GROUP BY sex>
(select (:sex (:as (:count :*) :num))
(from :person)
(group-by :sex)
(order-by (:desc :num)))
;=> #<SXQL-STATEMENT: SELECT sex, COUNT(*) AS num FROM person GROUP BY sex ORDER BY num DESC>
(insert-into :person
(set= :sex "male"
:age 25
:name "Eitaro Fukamachi"))
;=> #<SXQL-STATEMENT: INSERT INTO person SET sex = 'male', age = 25, name = 'Eitaro Fukamachi'>
(insert-into :users
(set= :name "Jack"
:jinbei-size "small")
(returning :id))
;=> #<SXQL-STATEMENT: INSERT INTO `users` (`name`, `jinbei-size`) VALUES ('Jack', 'small') RETURNING `id`>
(insert-into :person
(:id :name)
(select (:id :name)
(from :person_tmp)))
;=> #<SXQL-STATEMENT: INSERT INTO person (id, name) SELECT id, name FROM person_tmp>
(update :person
(set= :age 26)
(where (:like :name "Eitaro %")))
;=> #<SXQL-STATEMENT: UPDATE person SET age = 26 WHERE (name LIKE 'Eitaro %')>
(delete-from :person
(where (:= :name "Eitaro Fukamachi")))
;=> #<SXQL-STATEMENT: DELETE FROM person WHERE (name = 'Eitaro Fukamachi')>
(union-queries
(select (:name :birthday) (from :fulltime))
(select (:name :birthday) (from :parttime)))
;=> #<SXQL-OP: (SELECT name, birthday FROM fulltime) UNION (SELECT name, birthday FROM parttime)>
(union-all-queries
(select (:name :birthday) (from :fulltime))
(select (:name :birthday) (from :parttime)))
;=> #<SXQL-OP: (SELECT name, birthday FROM fulltime) UNION ALL (SELECT name, birthday FROM parttime)>
(create-table :enemy
((name :type 'string
:primary-key t)
(age :type 'integer
:not-null t)
(address :type 'text
:not-null nil)
(fatal_weakness :type 'text
:not-null t
:default "None")
(identifying_color :type '(:char 20)
:unique t)))
;=> #<SXQL-STATEMENT: CREATE TABLE enemy (name STRING PRIMARY KEY, age INTEGER NOT NULL, address TEXT, fatal_weakness TEXT NOT NULL DEFAULT 'None', identifying_color CHAR(20) UNIQUE)>
(yield *)
;=> "CREATE TABLE enemy (name STRING PRIMARY KEY, age INTEGER NOT NULL, address TEXT, fatal_weakness TEXT NOT NULL DEFAULT ?, identifying_color CHAR(20) UNIQUE)"
; ("None")
(create-table (:enemy :if-not-exists t)
((name :type 'string
:primary-key t)
(age :type 'integer
:not-null t)
(address :type 'text
:not-null nil)
(fatal_weakness :type 'text
:not-null t
:default "None")
(identifying_color :type '(:char 20)
:unique t)))
;=> #<SXQL-STATEMENT: CREATE TABLE IF NOT EXISTS enemy (name STRING PRIMARY KEY, age INTEGER NOT NULL, address TEXT, fatal_weakness TEXT NOT NULL DEFAULT 'None', identifying_color CHAR(20) UNIQUE)>
(drop-table :enemy)
;=> #<SXQL-STATEMENT: DROP TABLE enemy>
(drop-table :enemy :if-exists t)
;=> #<SXQL-STATEMENT: DROP TABLE IF EXISTS enemy>
(alter-table :tweet
(add-column :id :type 'bigint :primary-key t :auto-increment t :first t)
(add-column :updated_at :type 'timestamp))
;=> #<SXQL-STATEMENT: ALTER TABLE tweet ADD COLUMN id BIGINT AUTO_INCREMENT PRIMARY KEY FIRST, ADD COLUMN updated_at TIMESTAMP>
(create-index "index_name"
:unique t
:using :btee
:on '(:table :column1 :column2))
;=> #<SXQL-STATEMENT: CREATE UNIQUE INDEX index_name USING BTEE ON table (column1, column2)>
(drop-index "index_name" :if-exists t :on :person)
;=> #<SXQL-STATEMENT: DROP INDEX IF EXISTS index_name ON person>
(fields :id)
;=> #<SXQL-CLAUSE: id>
(fields (:count :id))
;=> #<SXQL-CLAUSE: COUNT(id)>
(fields :id (:sum :amount))
;=> #<SXQL-CLAUSE: id, SUM(amount)>
(from :person)
;=> #<SXQL-CLAUSE: FROM person>
(from :person :person_config)
;=> #<SXQL-CLAUSE: FROM person, person_config>
(from (select :* (from :person) (where (:= :is_active 1))))
;=> #<SXQL-CLAUSE: FROM (SELECT * FROM person WHERE (is_active = 1))>
(where (:and (:> :age 20) (:<= :age 65)))
;=> #<SXQL-CLAUSE: WHERE ((age > 20) AND (age <= 65))>
(yield *)
;=> "WHERE ((age > ?) AND (age <= ?))"
; (20 65)
(order-by :age)
;=> #<SXQL-CLAUSE: ORDER BY age>
(order-by :age (:desc :id))
;=> #<SXQL-CLAUSE: ORDER BY age, id DESC>
; NIL
(group-by :sex)
;=> #<SXQL-CLAUSE: GROUP BY sex>
(having (:>= (:sum :hoge) 88))
;=> #<SXQL-CLAUSE: HAVING (SUM(`hoge`) >= 88)>
(returning :id)
;=> #<SXQL-CLAUSE: RETURNING `id`>
(limit 10)
;=> #<SXQL-CLAUSE: LIMIT 10>
(limit 0 10)
;=> #<SXQL-CLAUSE: LIMIT 0, 10>
(yield *)
;=> "LIMIT 0, 10"
; NIL
(offset 0)
;=> #<SXQL-CLAUSE: OFFSET 0>
(yield *)
;=> "OFFSET 0"
; NIL
(inner-join :person_config :on (:= :person.config_id :person_config.id))
;=> #<SXQL-CLAUSE: INNER JOIN person_config ON (person.config_id = person_config.id)>
(left-join :person_config :on (:= :person.config_id :person_config.id))
;=> #<SXQL-CLAUSE: LEFT JOIN person_config ON (person.config_id = person_config.id)>
(left-join :person_config :using :config_id)
;=> #<SXQL-CLAUSE: LEFT JOIN person_config USING config_id>
(primary-key :id)
;=> #<SXQL-CLAUSE: PRIMARY KEY (id)>
(primary-key '(:id))
;=> #<SXQL-CLAUSE: PRIMARY KEY (id)>
(primary-key "id_index" '(:id))
;=> #<SXQL-CLAUSE: PRIMARY KEY 'id_index' (id)>
(unique-key '(:name :country))
;=> #<SXQL-CLAUSE: UNIQUE (name, country)>
(unique-key "name_and_country_index" '(:name :country))
;=> #<SXQL-CLAUSE: UNIQUE 'name_and_country_index' (name, country)>
(index-key (:name :country))
;=> #<SXQL-CLAUSE: KEY (name, country)>
(index-key "name_and_country_index" '(:name :country))
;=> #<SXQL-CLAUSE: KEY 'name_and_country_index' (name, country)>
(foreign-key '(:project_id) :references '(:project :id))
;=> #<SXQL-CLAUSE: FOREIGN KEY (project_id) REFERENCES project (id)>
(foreign-key '(:user_id) :references '(:user :id) :on-delete :cascade)
;=> #<SXQL-CLAUSE: FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE>
(add-column :updated_at :type 'integer :default 0 :not-null t :after :created_at)
;=> #<SXQL-CLAUSE: ADD COLUMN updated_at INTEGER NOT NULL DEFAULT 0 AFTER created_at>
(modify-column :updated_at :type 'datetime :not-null t)
;=> #<SXQL-CLAUSE: MODIFY COLUMN updated_at DATETIME NOT NULL>
(alter-column :user :type '(:varchar 64))
;=> #<SXQL-CLAUSE: ALTER COLUMN user TYPE VARCHAR(64)>
(alter-column :id :set-default 1)
;=> #<SXQL-CLAUSE: ALTER COLUMN id SET DEFAULT 1>
(alter-column :id :drop-default t)
;=> #<SXQL-CLAUSE: ALTER COLUMN id DROP DEFAULT>
(alter-column :profile :not-null t)
;=> #<SXQL-CLAUSE: ALTER COLUMN profile SET NOT NULL>
(change-column :updated_at :updated_on)
;=> #<SXQL-CLAUSE: CHANGE COLUMN updated_at updated_on>
(drop-column :updated_on)
;=> #<SXQL-CLAUSE: DROP COLUMN updated_on>
(add-primary-key :id :name)
;=> #<SXQL-CLAUSE: ADD PRIMARY KEY (id, name)>
(drop-primary-key)
;=> #<SXQL-CLAUSE: DROP PRIMARY KEY>
(rename-to :users)
;=> #<SXQL-CLAUSE: RENAME TO `users`>
(alter-table :user
(rename-to :users))
;=> #<SXQL-STATEMENT: ALTER TABLE `user` RENAME TO `users`>
Support MySQL's INSERT ... ON DUPLICATE KEY UPDATE
syntax.
(on-duplicate-key-update :age (:+ :age 1))
;=> #<SXQL-CLAUSE: ON DUPLICATE KEY UPDATE `age` = (`age` + 1)>
(insert-into :person
(set= :sex "male"
:age 25
:name "Eitaro Fukamachi")
(on-duplicate-key-update :age (:+ :age 1)))
;=> #<SXQL-STATEMENT: INSERT INTO `person` (`sex`, `age`, `name`) VALUES ('male', 25, 'Eitaro Fukamachi') ON DUPLICATE KEY UPDATE `age` = (`age` + 1)>
Support PostgreSQL's INSERT ... ON CONFLICT DO NOTHING
syntax.
(on-conflict-do-nothing)
;=> #<SXQL-CLAUSE: ON CONFLICT DO NOTHING>
(on-conflict-do-nothing :index_name)
;=> #<SXQL-CLAUSE: ON CONFLICT ON CONSTRAINT index_name DO NOTHING>
(on-conflict-do-nothing '(:column1 :column2 :column3))
;=> #<SXQL-CLAUSE: ON CONFLICT (column1, column2, column3) DO NOTHING>
Support PostgreSQL's INSERT ... ON CONFLICT ... DO UPDATE
syntax.
(on-conflict-do-update :index_name (set= :x 1 :y 2))
;=> #<SXQL-CLAUSE: ON CONFLICT ON CONSTRAINT index_name DO UPDATE SET x = 1, y = 2>
(on-conflict-do-update '(:column1 :column2 :column3) (set= :x 1 :y 2))
;=> #<SXQL-CLAUSE: ON CONFLICT (column1, column2, column3) DO UPDATE SET x = 1, y = 2>
(insert-into :person
(set= :sex "male"
:age 25
:name "Eitaro Fukamachi")
(on-conflict-do-update '(:name)
(set= :age (:+ :age 1))
(where (:< :age 99))))
;=> #<SXQL-STATEMENT: INSERT INTO person (sex, age, name) VALUES ('male', 25, 'Eitaro Fukamachi') ON CONFLICT (name) DO UPDATE SET age = (age + 1) WHERE (age < 99)>
*quote-character*
is the character that a table or column name will be quoted with. The default value is NIL (not quote).
(yield (select :* (from 'table)))
;=> "SELECT * FROM table"
; NIL
;; for MySQL
(let ((*quote-character* #\`))
(yield (select :* (from 'table))))
;=> "SELECT * FROM `table`"
; NIL
;; for PostgreSQL
(let ((*quote-character* #\"))
(yield (select :* (from 'table))))
;=> "SELECT * FROM "table""
; NIL
Copyright (c) 2013-2014 Eitaro Fukamachi (e.arrows@gmail.com)
Licensed under the BSD 3-Clause License.
Next: Modules, Previous: Introduction, Up: Top [Contents][Index]
The main system appears first, followed by any subsystem dependency.
• The sxql system |
Eitaro Fukamachi
BSD 3-Clause
A SQL generator
# SxQL - An SQL generator.
[](https://travis-ci.org/fukamachi/sxql)
## Usage
“‘common-lisp
(select (:id :name :sex)
(from (:as :person :p))
(where (:and (:>= :age 18)
(:< :age 65)))
(order-by (:desc :age)))
;=> #<SXQL-STATEMENT: SELECT id, name, sex FROM person AS p WHERE ((age >= 18) AND (age < 65)) ORDER BY age DESC>
(yield *)
;=> "SELECT id, name, sex FROM person AS p WHERE ((age >= ?) AND (age < ?)) ORDER BY age DESC"
; (18 65)
(sql-compile **)
;=> #<SXQL-COMPILED: SELECT id, name, sex FROM person AS p WHERE ((age >= ?) AND (age < ?)) ORDER BY age DESC [18, 65]>
(union-queries * (select (:id :name :sex) (from ’(:as animal a))))
;=> #<SXQL-OP: (SELECT id, name, sex FROM (person AS p) WHERE ((age >= ?) AND (age < ?)) ORDER BY age DESC) UNION (SELECT id, name, sex FROM (animal AS a))>
(yield *)
;=> "(SELECT id, name, sex FROM (person AS p) WHERE ((age >= ?) AND (age < ?)) ORDER BY age DESC) UNION (SELECT id, name, sex FROM (animal AS a))"
; (18 65)
“‘
## SQL Statements
### select (field &body clauses)
Creates a SELECT query. It takes a field (or a list of fields) and SQL Clauses.
“‘common-lisp
(select ((:+ 1 1)))
;=> #<SXQL-STATEMENT: SELECT (1 + 1)>
(select :name
(from :person)
(where (:> :age 20)))
;=> #<SXQL-STATEMENT: SELECT name FROM person WHERE (age > 20)>
(select (:id :name)
(from (:as :person :p))
(left-join :person_config :on (:= :person.config_id :person_config.id))
(where (:and (:> :age 20)
(:<= :age 65)))
(order-by :age)
(limit 5))
;=> #<SXQL-STATEMENT: SELECT id, name FROM (person AS p) LEFT JOIN person_config ON (person.config_id = person_config.id) WHERE ((age > 20) AND (age <= 65)) ORDER BY age LIMIT 5>
(select (:sex (:count :*)) (from :person) (group-by :sex))
;=> #<SXQL-STATEMENT: SELECT sex, COUNT(*) FROM person GROUP BY sex>
(select (:sex (:as (:count :*) :num))
(from :person)
(group-by :sex)
(order-by (:desc :num)))
;=> #<SXQL-STATEMENT: SELECT sex, COUNT(*) AS num FROM person GROUP BY sex ORDER BY num DESC>
“‘
### insert-into (table &body clauses)
“‘common-lisp
(insert-into :person
(set= :sex "male"
:age 25
:name "Eitaro Fukamachi"))
;=> #<SXQL-STATEMENT: INSERT INTO person SET sex = ’male’, age = 25, name = ’Eitaro Fukamachi’>
(insert-into :users
(set= :name "Jack"
:jinbei-size "small")
(returning :id))
;=> #<SXQL-STATEMENT: INSERT INTO ‘users‘ (‘name‘, ‘jinbei-size‘) VALUES (’Jack’, ’small’) RETURNING ‘id‘>
(insert-into :person
(:id :name)
(select (:id :name)
(from :person_tmp)))
;=> #<SXQL-STATEMENT: INSERT INTO person (id, name) SELECT id, name FROM person_tmp>
“‘
### update (table &body clauses)
“‘common-lisp
(update :person
(set= :age 26)
(where (:like :name "Eitaro %")))
;=> #<SXQL-STATEMENT: UPDATE person SET age = 26 WHERE (name LIKE ’Eitaro %’)>
“‘
### delete-from (table &body clauses)
“‘common-lisp
(delete-from :person
(where (:= :name "Eitaro Fukamachi")))
;=> #<SXQL-STATEMENT: DELETE FROM person WHERE (name = ’Eitaro Fukamachi’)>
“‘
### union-queies (&rest statements)
“‘common-lisp
(union-queries
(select (:name :birthday) (from :fulltime))
(select (:name :birthday) (from :parttime)))
;=> #<SXQL-OP: (SELECT name, birthday FROM fulltime) UNION (SELECT name, birthday FROM parttime)>
“‘
### union-all-queries (&rest statements)
“‘common-lisp
(union-all-queries
(select (:name :birthday) (from :fulltime))
(select (:name :birthday) (from :parttime)))
;=> #<SXQL-OP: (SELECT name, birthday FROM fulltime) UNION ALL (SELECT name, birthday FROM parttime)>
“‘
### create-table (table column-definitions &body options)
“‘common-lisp
(create-table :enemy
((name :type ’string
:primary-key t)
(age :type ’integer
:not-null t)
(address :type ’text
:not-null nil)
(fatal_weakness :type ’text
:not-null t
:default "None")
(identifying_color :type ’(:char 20)
:unique t)))
;=> #<SXQL-STATEMENT: CREATE TABLE enemy (name STRING PRIMARY KEY, age INTEGER NOT NULL, address TEXT, fatal_weakness TEXT NOT NULL DEFAULT ’None’, identifying_color CHAR(20) UNIQUE)>
(yield *)
;=> "CREATE TABLE enemy (name STRING PRIMARY KEY, age INTEGER NOT NULL, address TEXT, fatal_weakness TEXT NOT NULL DEFAULT ?, identifying_color CHAR(20) UNIQUE)"
; ("None")
(create-table (:enemy :if-not-exists t)
((name :type ’string
:primary-key t)
(age :type ’integer
:not-null t)
(address :type ’text
:not-null nil)
(fatal_weakness :type ’text
:not-null t
:default "None")
(identifying_color :type ’(:char 20)
:unique t)))
;=> #<SXQL-STATEMENT: CREATE TABLE IF NOT EXISTS enemy (name STRING PRIMARY KEY, age INTEGER NOT NULL, address TEXT, fatal_weakness TEXT NOT NULL DEFAULT ’None’, identifying_color CHAR(20) UNIQUE)>
“‘
### drop-table (table &key if-exists)
“‘common-lisp
(drop-table :enemy)
;=> #<SXQL-STATEMENT: DROP TABLE enemy>
(drop-table :enemy :if-exists t)
;=> #<SXQL-STATEMENT: DROP TABLE IF EXISTS enemy>
“‘
### alter-table (table &body clauses)
“‘common-lisp
(alter-table :tweet
(add-column :id :type ’bigint :primary-key t :auto-increment t :first t)
(add-column :updated_at :type ’timestamp))
;=> #<SXQL-STATEMENT: ALTER TABLE tweet ADD COLUMN id BIGINT AUTO_INCREMENT PRIMARY KEY FIRST, ADD COLUMN updated_at TIMESTAMP>
“‘
### create-index (index-name &key unique using on)
“‘common-lisp
(create-index "index_name"
:unique t
:using :btee
:on ’(:table :column1 :column2))
;=> #<SXQL-STATEMENT: CREATE UNIQUE INDEX index_name USING BTEE ON table (column1, column2)>
“‘
### drop-index (index-name &key if-exists on)
“‘common-lisp
(drop-index "index_name" :if-exists t :on :person)
;=> #<SXQL-STATEMENT: DROP INDEX IF EXISTS index_name ON person>
“‘
## SQL Clauses
### fields
“‘common-lisp
(fields :id)
;=> #<SXQL-CLAUSE: id>
(fields (:count :id))
;=> #<SXQL-CLAUSE: COUNT(id)>
(fields :id (:sum :amount))
;=> #<SXQL-CLAUSE: id, SUM(amount)>
“‘
### from
“‘common-lisp
(from :person)
;=> #<SXQL-CLAUSE: FROM person>
(from :person :person_config)
;=> #<SXQL-CLAUSE: FROM person, person_config>
(from (select :* (from :person) (where (:= :is_active 1))))
;=> #<SXQL-CLAUSE: FROM (SELECT * FROM person WHERE (is_active = 1))>
“‘
### where
“‘common-lisp
(where (:and (:> :age 20) (:<= :age 65)))
;=> #<SXQL-CLAUSE: WHERE ((age > 20) AND (age <= 65))>
(yield *)
;=> "WHERE ((age > ?) AND (age <= ?))"
; (20 65)
“‘
### order-by
“‘common-lisp
(order-by :age)
;=> #<SXQL-CLAUSE: ORDER BY age>
(order-by :age (:desc :id))
;=> #<SXQL-CLAUSE: ORDER BY age, id DESC>
; NIL
“‘
### group-by
“‘common-lisp
(group-by :sex)
;=> #<SXQL-CLAUSE: GROUP BY sex>
“‘
### having
“‘common-lisp
(having (:>= (:sum :hoge) 88))
;=> #<SXQL-CLAUSE: HAVING (SUM(‘hoge‘) >= 88)>
“‘
### returning
“‘common-lisp
(returning :id)
;=> #<SXQL-CLAUSE: RETURNING ‘id‘>
“‘
### limit
“‘common-lisp
(limit 10)
;=> #<SXQL-CLAUSE: LIMIT 10>
(limit 0 10)
;=> #<SXQL-CLAUSE: LIMIT 0, 10>
(yield *)
;=> "LIMIT 0, 10"
; NIL
“‘
### offset
“‘common-lisp
(offset 0)
;=> #<SXQL-CLAUSE: OFFSET 0>
(yield *)
;=> "OFFSET 0"
; NIL
“‘
### inner-join, left-join, right-join, full-join
“‘common-lisp
(inner-join :person_config :on (:= :person.config_id :person_config.id))
;=> #<SXQL-CLAUSE: INNER JOIN person_config ON (person.config_id = person_config.id)>
(left-join :person_config :on (:= :person.config_id :person_config.id))
;=> #<SXQL-CLAUSE: LEFT JOIN person_config ON (person.config_id = person_config.id)>
(left-join :person_config :using :config_id)
;=> #<SXQL-CLAUSE: LEFT JOIN person_config USING config_id>
“‘
### primary-key
“‘common-lisp
(primary-key :id)
;=> #<SXQL-CLAUSE: PRIMARY KEY (id)>
(primary-key ’(:id))
;=> #<SXQL-CLAUSE: PRIMARY KEY (id)>
(primary-key "id_index" ’(:id))
;=> #<SXQL-CLAUSE: PRIMARY KEY ’id_index’ (id)>
“‘
### unique-key
“‘common-lisp
(unique-key ’(:name :country))
;=> #<SXQL-CLAUSE: UNIQUE (name, country)>
(unique-key "name_and_country_index" ’(:name :country))
;=> #<SXQL-CLAUSE: UNIQUE ’name_and_country_index’ (name, country)>
“‘
### index-key
“‘common-lisp
(index-key (:name :country))
;=> #<SXQL-CLAUSE: KEY (name, country)>
(index-key "name_and_country_index" ’(:name :country))
;=> #<SXQL-CLAUSE: KEY ’name_and_country_index’ (name, country)>
“‘
### foreign-key
“‘common-lisp
(foreign-key ’(:project_id) :references ’(:project :id))
;=> #<SXQL-CLAUSE: FOREIGN KEY (project_id) REFERENCES project (id)>
(foreign-key ’(:user_id) :references ’(:user :id) :on-delete :cascade)
;=> #<SXQL-CLAUSE: FOREIGN KEY (user_id) REFERENCES user (id) ON DELETE CASCADE>
“‘
### add-column
“‘common-lisp
(add-column :updated_at :type ’integer :default 0 :not-null t :after :created_at)
;=> #<SXQL-CLAUSE: ADD COLUMN updated_at INTEGER NOT NULL DEFAULT 0 AFTER created_at>
“‘
### modify-column
“‘common-lisp
(modify-column :updated_at :type ’datetime :not-null t)
;=> #<SXQL-CLAUSE: MODIFY COLUMN updated_at DATETIME NOT NULL>
“‘
### alter-column
“‘common-lisp
(alter-column :user :type ’(:varchar 64))
;=> #<SXQL-CLAUSE: ALTER COLUMN user TYPE VARCHAR(64)>
(alter-column :id :set-default 1)
;=> #<SXQL-CLAUSE: ALTER COLUMN id SET DEFAULT 1>
(alter-column :id :drop-default t)
;=> #<SXQL-CLAUSE: ALTER COLUMN id DROP DEFAULT>
(alter-column :profile :not-null t)
;=> #<SXQL-CLAUSE: ALTER COLUMN profile SET NOT NULL>
“‘
### change-column
“‘common-lisp
(change-column :updated_at :updated_on)
;=> #<SXQL-CLAUSE: CHANGE COLUMN updated_at updated_on>
“‘
### drop-column
“‘common-lisp
(drop-column :updated_on)
;=> #<SXQL-CLAUSE: DROP COLUMN updated_on>
“‘
### add-primary-key
“‘common-lisp
(add-primary-key :id :name)
;=> #<SXQL-CLAUSE: ADD PRIMARY KEY (id, name)>
“‘
### drop-primary-key
“‘common-lisp
(drop-primary-key)
;=> #<SXQL-CLAUSE: DROP PRIMARY KEY>
“‘
### rename-to
“‘common-lisp
(rename-to :users)
;=> #<SXQL-CLAUSE: RENAME TO ‘users‘>
(alter-table :user
(rename-to :users))
;=> #<SXQL-STATEMENT: ALTER TABLE ‘user‘ RENAME TO ‘users‘>
“‘
### on-duplicate-key-update
Support MySQL’s ‘INSERT ... ON DUPLICATE KEY UPDATE‘ syntax.
“‘common-lisp
(on-duplicate-key-update :age (:+ :age 1))
;=> #<SXQL-CLAUSE: ON DUPLICATE KEY UPDATE ‘age‘ = (‘age‘ + 1)>
(insert-into :person
(set= :sex "male"
:age 25
:name "Eitaro Fukamachi")
(on-duplicate-key-update :age (:+ :age 1)))
;=> #<SXQL-STATEMENT: INSERT INTO ‘person‘ (‘sex‘, ‘age‘, ‘name‘) VALUES (’male’, 25, ’Eitaro Fukamachi’) ON DUPLICATE KEY UPDATE ‘age‘ = (‘age‘ + 1)>
“‘
### on-coflict-do-nothing
Support PostgreSQL’s ‘INSERT ... ON CONFLICT DO NOTHING‘ syntax.
“‘common-lisp
(on-conflict-do-nothing)
;=> #<SXQL-CLAUSE: ON CONFLICT DO NOTHING>
(on-conflict-do-nothing :index_name)
;=> #<SXQL-CLAUSE: ON CONFLICT ON CONSTRAINT index_name DO NOTHING>
(on-conflict-do-nothing ’(:column1 :column2 :column3))
;=> #<SXQL-CLAUSE: ON CONFLICT (column1, column2, column3) DO NOTHING>
“‘
### on-coflict-do-update
Support PostgreSQL’s ‘INSERT ... ON CONFLICT ... DO UPDATE‘ syntax.
“‘common-lisp
(on-conflict-do-update :index_name (set= :x 1 :y 2))
;=> #<SXQL-CLAUSE: ON CONFLICT ON CONSTRAINT index_name DO UPDATE SET x = 1, y = 2>
(on-conflict-do-update ’(:column1 :column2 :column3) (set= :x 1 :y 2))
;=> #<SXQL-CLAUSE: ON CONFLICT (column1, column2, column3) DO UPDATE SET x = 1, y = 2>
(insert-into :person
(set= :sex "male"
:age 25
:name "Eitaro Fukamachi")
(on-conflict-do-update ’(:name)
(set= :age (:+ :age 1))
(where (:< :age 99))))
;=> #<SXQL-STATEMENT: INSERT INTO person (sex, age, name) VALUES (’male’, 25, ’Eitaro Fukamachi’) ON CONFLICT (name) DO UPDATE SET age = (age + 1) WHERE (age < 99)>
“‘
## SQL Operators
* :not
* :is-null, :not-null
* :asc, :desc
* :distinct
* :=, :!=
* :<, :>, :<= :>=
* :a<, :a>
* :as
* :in, :not-in
* :like
* :and, :or
* :+, :-, :* :/ :%
* :raw
* :is-distinct-from, :is-not-distinct-from (Postgres)
## Set a quote character
‘*quote-character*‘ is the character that a table or column name will be quoted with. The default value is NIL (not quote).
“‘common-lisp
(yield (select :* (from ’table)))
;=> "SELECT * FROM table"
; NIL
;; for MySQL
(let ((*quote-character* #\‘))
(yield (select :* (from ’table))))
;=> "SELECT * FROM ‘table‘"
; NIL
;; for PostgreSQL
(let ((*quote-character* #\"))
(yield (select :* (from ’table))))
;=> "SELECT * FROM "table""
; NIL
“‘
## Author
* Eitaro Fukamachi (e.arrows@gmail.com)
## Copyright
Copyright (c) 2013-2014 Eitaro Fukamachi (e.arrows@gmail.com)
# License
Licensed under the BSD 3-Clause License.
0.1.0
sxql.asd (file)
src (module)
Modules are listed depth-first from the system components tree.
• The sxql/src module |
sxql (system)
src/
Files are sorted by type and then listed depth-first from the systems components trees.
• Lisp files |
Next: The sxql/src/sxql․lisp file, Previous: Lisp files, Up: Lisp files [Contents][Index]
Next: The sxql/src/compile․lisp file, Previous: The sxql․asd file, Up: Lisp files [Contents][Index]
src (module)
src/sxql.lisp
Next: The sxql/src/sql-type․lisp file, Previous: The sxql/src/sxql․lisp file, Up: Lisp files [Contents][Index]
sql-type.lisp (file)
src (module)
src/compile.lisp
Next: The sxql/src/operator․lisp file, Previous: The sxql/src/compile․lisp file, Up: Lisp files [Contents][Index]
src (module)
src/sql-type.lisp
Next: The sxql/src/clause․lisp file, Previous: The sxql/src/sql-type․lisp file, Up: Lisp files [Contents][Index]
sql-type.lisp (file)
src (module)
src/operator.lisp
Next: The sxql/src/statement․lisp file, Previous: The sxql/src/operator․lisp file, Up: Lisp files [Contents][Index]
operator.lisp (file)
src (module)
src/clause.lisp
Next: The sxql/src/composed-statement․lisp file, Previous: The sxql/src/clause․lisp file, Up: Lisp files [Contents][Index]
src (module)
src/statement.lisp
Next: The sxql/src/util․lisp file, Previous: The sxql/src/statement․lisp file, Up: Lisp files [Contents][Index]
src (module)
src/composed-statement.lisp
Previous: The sxql/src/composed-statement․lisp file, Up: Lisp files [Contents][Index]
src (module)
src/util.lisp
Next: Definitions, Previous: Files, Up: Top [Contents][Index]
Packages are listed by definition order.
Next: The sxql package, Previous: Packages, Up: Packages [Contents][Index]
sxql.asd
Next: The sxql․compile package, Previous: The sxql-asd package, Up: Packages [Contents][Index]
sxql.lisp (file)
Next: The sxql․sql-type package, Previous: The sxql package, Up: Packages [Contents][Index]
compile.lisp (file)
sql-compile (function)
Next: The sxql․operator package, Previous: The sxql․compile package, Up: Packages [Contents][Index]
sql-type.lisp (file)
Next: The sxql․clause package, Previous: The sxql․sql-type package, Up: Packages [Contents][Index]
operator.lisp (file)
Next: The sxql․statement package, Previous: The sxql․operator package, Up: Packages [Contents][Index]
clause.lisp (file)
Next: The sxql․composed-statement package, Previous: The sxql․clause package, Up: Packages [Contents][Index]
statement.lisp (file)
Next: The sxql․util package, Previous: The sxql․statement package, Up: Packages [Contents][Index]
composed-statement.lisp (file)
Previous: The sxql․composed-statement package, Up: Packages [Contents][Index]
util.lisp (file)
Definitions are sorted by export status, category, package, and then by lexicographic order.
• Exported definitions | ||
• Internal definitions |
Next: Internal definitions, Previous: Definitions, Up: Definitions [Contents][Index]
• Exported special variables | ||
• Exported macros | ||
• Exported functions | ||
• Exported generic functions | ||
• Exported structures | ||
• Exported types |
Next: Exported macros, Previous: Exported definitions, Up: Exported definitions [Contents][Index]
clause.lisp (file)
operator.lisp (file)
sql-type.lisp (file)
Function for converting a string into an SQL symbol. It takes a string and must returns a string.
operator.lisp (file)
sql-type.lisp (file)
Next: Exported functions, Previous: Exported special variables, Up: Exported definitions [Contents][Index]
sql-type.lisp (file)
sql-type.lisp (file)
Next: Exported generic functions, Previous: Exported macros, Up: Exported definitions [Contents][Index]
composed-statement.lisp (file)
clause.lisp (file)
statement.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
operator.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
compile.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
Split ‘sequence‘ into subsequences of size ‘chunk-size‘.
Next: Exported structures, Previous: Exported functions, Up: Exported definitions [Contents][Index]
statement.lisp (file)
operator.lisp (file)
clause.lisp (file)
statement.lisp (file)
sql-type.lisp (file)
composed-statement.lisp (file)
compile.lisp (file)
compile.lisp (file)
compile.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
Next: Exported types, Previous: Exported generic functions, Up: Exported definitions [Contents][Index]
statement.lisp (file)
sql-statement (structure)
yield (method)
string
"alter table"
alter-table-statement-name (function)
(setf alter-table-statement-name) (function)
sxql.sql-type:sql-symbol
alter-table-statement-table (function)
(setf alter-table-statement-table) (function)
alter-table-statement-children (function)
(setf alter-table-statement-children) (function)
clause.lisp (file)
sql-clause (structure)
yield (method)
column-definition-clause-column-name (function)
(setf column-definition-clause-column-name) (function)
column-definition-clause-type (function)
(setf column-definition-clause-type) (function)
column-definition-clause-not-null (function)
(setf column-definition-clause-not-null) (function)
column-definition-clause-default (function)
(setf column-definition-clause-default) (function)
column-definition-clause-auto-increment (function)
column-definition-clause-autoincrement (function)
column-definition-clause-unique (function)
(setf column-definition-clause-unique) (function)
column-definition-clause-primary-key (function)
(setf column-definition-clause-primary-key) (function)
composed-statement.lisp (file)
structure-object (structure)
composed-statement-statements (function)
(setf composed-statement-statements) (function)
sql-type.lisp (file)
sql-op (structure)
yield (method)
(and trivial-types:proper-list (satisfies sxql.sql-type::sql-statement-list-p))
conjunctive-op-expressions (function)
(setf conjunctive-op-expressions) (function)
statement.lisp (file)
sql-statement (structure)
yield (method)
string
"create index"
create-index-statement-name (function)
(setf create-index-statement-name) (function)
sxql.sql-type:sql-symbol
create-index-statement-index-name (function)
(setf create-index-statement-index-name) (function)
sxql.sql-type:sql-symbol
create-index-statement-table-name (function)
(setf create-index-statement-table-name) (function)
sxql.sql-type:sql-list
create-index-statement-columns (function)
(setf create-index-statement-columns) (function)
boolean
create-index-statement-unique (function)
(setf create-index-statement-unique) (function)
(or null sxql.sql-type:sql-keyword)
create-index-statement-using (function)
(setf create-index-statement-using) (function)
boolean
create-index-statement-if-not-exists (function)
(setf create-index-statement-if-not-exists) (function)
statement.lisp (file)
sql-composed-statement (structure)
yield (method)
string
"create table"
create-table-statement-name (function)
(setf create-table-statement-name) (function)
create-table-statement-table (function)
(setf create-table-statement-table) (function)
boolean
create-table-statement-if-not-exists (function)
(setf create-table-statement-if-not-exists) (function)
statement.lisp (file)
sql-composed-statement (structure)
string
"delete from"
delete-from-statement-name (function)
(setf delete-from-statement-name) (function)
statement.lisp (file)
sql-statement (structure)
yield (method)
string
"drop index"
drop-index-statement-name (function)
(setf drop-index-statement-name) (function)
sxql.sql-type:sql-symbol
drop-index-statement-index-name (function)
(setf drop-index-statement-index-name) (function)
boolean
drop-index-statement-if-exists (function)
(setf drop-index-statement-if-exists) (function)
(or null sxql.sql-type:sql-symbol)
drop-index-statement-on (function)
(setf drop-index-statement-on) (function)
statement.lisp (file)
sql-statement (structure)
yield (method)
string
"drop table"
drop-table-statement-name (function)
(setf drop-table-statement-name) (function)
sxql.sql-type:sql-symbol
drop-table-statement-table (function)
(setf drop-table-statement-table) (function)
boolean
drop-table-statement-if-exists (function)
(setf drop-table-statement-if-exists) (function)
sql-type.lisp (file)
sql-clause (structure)
yield (method)
(or sxql.sql-type:sql-expression sxql.sql-type:sql-expression-list)
expression-clause-expression (function)
(setf expression-clause-expression) (function)
sql-type.lisp (file)
sql-clause (structure)
yield (method)
(and trivial-types:proper-list (satisfies sxql.sql-type:sql-expression-list-p))
expression-list-clause-expressions (function)
(setf expression-list-clause-expressions) (function)
clause.lisp (file)
statement-clause (structure)
string
""
fields-clause-name (function)
(setf fields-clause-name) (function)
clause.lisp (file)
expression-clause (structure)
string
"foreign key"
foreign-key-clause-name (function)
(setf foreign-key-clause-name) (function)
sxql.sql-type:sql-list
foreign-key-clause-column-names (function)
(setf foreign-key-clause-column-names) (function)
sxql.clause:references-clause
foreign-key-clause-references (function)
(setf foreign-key-clause-references) (function)
clause.lisp (file)
statement-clause (structure)
yield-only-contents (method)
string
"from"
from-clause-name (function)
(setf from-clause-name) (function)
sql-type.lisp (file)
conjunctive-op (structure)
yield (method)
clause.lisp (file)
expression-list-clause (structure)
string
"group by"
group-by-clause-name (function)
(setf group-by-clause-name) (function)
clause.lisp (file)
expression-clause (structure)
string
"having"
having-clause-name (function)
(setf having-clause-name) (function)
sql-type.lisp (file)
sql-op (structure)
yield (method)
sxql.sql-type:sql-expression
infix-list-op-left (function)
(setf infix-list-op-left) (function)
(or trivial-types:proper-list sxql.sql-type:sql-statement)
infix-list-op-right (function)
(setf infix-list-op-right) (function)
sql-type.lisp (file)
sql-op (structure)
yield (method)
(or sxql.sql-type:sql-statement sxql.sql-type:sql-expression sxql.sql-type:sql-expression-list)
infix-op-left (function)
(setf infix-op-left) (function)
(or sxql.sql-type:sql-statement sxql.sql-type:sql-expression sxql.sql-type:sql-expression-list)
infix-op-right (function)
(setf infix-op-right) (function)
sql-type.lisp (file)
infix-op (structure)
as-op (structure)
yield (method)
statement.lisp (file)
sql-composed-statement (structure)
yield (method)
string
"insert into"
insert-into-statement-name (function)
(setf insert-into-statement-name) (function)
clause.lisp (file)
statement-clause (structure)
yield (method)
(or (eql :inner) (eql :left) (eql :right) (eql :full))
:inner
join-clause-kind (function)
(setf join-clause-kind) (function)
(or null sxql.sql-type:sql-expression)
join-clause-on (function)
(setf join-clause-on) (function)
(or null sxql.sql-type:sql-symbol sxql.sql-type:sql-list)
join-clause-using (function)
(setf join-clause-using) (function)
clause.lisp (file)
expression-clause (structure)
yield (method)
string
"key"
key-clause-name (function)
(setf key-clause-name) (function)
(or null sxql.sql-type:sql-variable)
key-clause-key-name (function)
(setf key-clause-key-name) (function)
key-clause-keys (function)
(setf key-clause-keys) (function)
clause.lisp (file)
expression-list-clause (structure)
yield (method)
string
"limit"
limit-clause-name (function)
(setf limit-clause-name) (function)
sxql.sql-type:sql-variable
limit-clause-count1 (function)
(setf limit-clause-count1) (function)
(or null sxql.sql-type:sql-variable)
limit-clause-count2 (function)
(setf limit-clause-count2) (function)
clause.lisp (file)
sql-clause (structure)
yield (method)
string
"offset"
offset-clause-name (function)
(setf offset-clause-name) (function)
sxql.sql-type:sql-variable
offset-clause-offset (function)
(setf offset-clause-offset) (function)
clause.lisp (file)
expression-list-clause (structure)
yield-only-contents (method)
string
"order by"
order-by-clause-name (function)
(setf order-by-clause-name) (function)
A statement for PRAGMA statement available in SQLITE. See https://www.sqlite.org/pragma.html
statement.lisp (file)
sql-statement (structure)
yield (method)
string
"pragma"
pragma-statement-name (function)
(setf pragma-statement-name) (function)
pragma-statement-pragma-name (function)
(setf pragma-statement-pragma-name) (function)
pragma-statement-value (function)
(setf pragma-statement-value) (function)
clause.lisp (file)
key-clause (structure)
string
"primary key"
primary-key-clause-name (function)
(setf primary-key-clause-name) (function)
clause.lisp (file)
expression-clause (structure)
string
"references"
references-clause-name (function)
(setf references-clause-name) (function)
sxql.sql-type:sql-symbol
references-clause-table-name (function)
(setf references-clause-table-name) (function)
sxql.sql-type:sql-list
references-clause-column-names (function)
(setf references-clause-column-names) (function)
clause.lisp (file)
expression-clause (structure)
string
"returning"
returning-clause-name (function)
(setf returning-clause-name) (function)
statement.lisp (file)
sql-composed-statement (structure)
string
"select"
select-statement-name (function)
(setf select-statement-name) (function)
select-statement-clause-order (function)
(setf select-statement-clause-order) (function)
select-statement-fields-clause (function)
(setf select-statement-fields-clause) (function)
select-statement-from-clause (function)
(setf select-statement-from-clause) (function)
select-statement-join-clause (function)
(setf select-statement-join-clause) (function)
select-statement-where-clause (function)
(setf select-statement-where-clause) (function)
select-statement-group-by-clause (function)
(setf select-statement-group-by-clause) (function)
select-statement-having-clause (function)
(setf select-statement-having-clause) (function)
select-statement-returning-clause (function)
(setf select-statement-returning-clause) (function)
select-statement-order-by-clause (function)
(setf select-statement-order-by-clause) (function)
select-statement-limit-clause (function)
(setf select-statement-limit-clause) (function)
select-statement-offset-clause (function)
(setf select-statement-offset-clause) (function)
select-statement-updatability-clause (function)
(setf select-statement-updatability-clause) (function)
clause.lisp (file)
sql-clause (structure)
yield (method)
string
"set"
set=-clause-name (function)
(setf set=-clause-name) (function)
(and trivial-types:proper-list (satisfies sxql.sql-type:sql-expression-list-p))
set=-clause-args (function)
(setf set=-clause-args) (function)
sql-type.lisp (file)
structure-object (structure)
sql-type.lisp (file)
structure-object (structure)
string
""
sql-clause-name (function)
(setf sql-clause-name) (function)
sql-type.lisp (file)
structure-object (structure)
yield (method)
sql-column-type-name (function)
(setf sql-column-type-name) (function)
list
sql-column-type-args (function)
(setf sql-column-type-args) (function)
list
sql-column-type-attrs (function)
(setf sql-column-type-attrs) (function)
sql-type.lisp (file)
sql-statement (structure)
trivial-types:proper-list
sql-composed-statement-children (function)
(setf sql-composed-statement-children) (function)
sql-type.lisp (file)
structure-object (structure)
sql-splicing-expression-list (structure)
yield (method)
(and trivial-types:proper-list (satisfies sxql.sql-type:sql-expression-list-p))
sql-expression-list-elements (function)
(setf sql-expression-list-elements) (function)
sql-type.lisp (file)
sql-atom (structure)
yield (method)
string
sql-keyword-name (function)
(setf sql-keyword-name) (function)
sql-type.lisp (file)
structure-object (structure)
sql-splicing-list (structure)
yield (method)
trivial-types:proper-list
sql-list-elements (function)
(setf sql-list-elements) (function)
sql-type.lisp (file)
structure-object (structure)
string
sql-op-name (function)
(setf sql-op-name) (function)
sql-type.lisp (file)
sql-expression-list (structure)
yield (method)
sql-type.lisp (file)
structure-object (structure)
string
""
sql-statement-name (function)
(setf sql-statement-name) (function)
sql-type.lisp (file)
sql-atom (structure)
yield (method)
string
sql-symbol-name (function)
(setf sql-symbol-name) (function)
sql-type.lisp (file)
sql-atom (structure)
yield (method)
(or string number (vector (unsigned-byte 8)) array)
sql-variable-value (function)
(setf sql-variable-value) (function)
sql-type.lisp (file)
sql-clause (structure)
yield (method)
(or sxql.sql-type:sql-expression sxql.sql-type:sql-expression-list sxql.sql-type:sql-statement)
statement-clause-statement (function)
(setf statement-clause-statement) (function)
sql-type.lisp (file)
sql-op (structure)
yield (method)
sxql.sql-type:sql-expression
unary-op-var (function)
(setf unary-op-var) (function)
sql-type.lisp (file)
unary-op (structure)
yield (method)
sql-type.lisp (file)
unary-op (structure)
distinct-op (structure)
yield (method)
clause.lisp (file)
key-clause (structure)
string
"unique"
unique-key-clause-name (function)
(setf unique-key-clause-name) (function)
clause.lisp (file)
statement-clause (structure)
yield (method)
keyword
:update
updatability-clause-update-type (function)
(setf updatability-clause-update-type) (function)
list
(quote nil)
updatability-clause-idents (function)
(setf updatability-clause-idents) (function)
boolean
updatability-clause-nowait (function)
(setf updatability-clause-nowait) (function)
statement.lisp (file)
sql-composed-statement (structure)
string
"update"
update-statement-name (function)
(setf update-statement-name) (function)
clause.lisp (file)
expression-clause (structure)
yield-only-contents (method)
string
"where"
where-clause-name (function)
(setf where-clause-name) (function)
Previous: Exported structures, Up: Exported definitions [Contents][Index]
sql-type.lisp (file)
sql-type.lisp (file)
Previous: Exported definitions, Up: Definitions [Contents][Index]
• Internal special variables | ||
• Internal macros | ||
• Internal functions | ||
• Internal generic functions | ||
• Internal structures | ||
• Internal types |
Next: Internal macros, Previous: Internal definitions, Up: Internal definitions [Contents][Index]
sql-type.lisp (file)
composed-statement.lisp (file)
statement.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
Next: Internal functions, Previous: Internal special variables, Up: Internal definitions [Contents][Index]
compile.lisp (file)
operator.lisp (file)
operator.lisp (file)
Next: Internal generic functions, Previous: Internal macros, Up: Internal definitions [Contents][Index]
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
composed-statement.lisp (file)
composed-statement.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
statement.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
composed-statement.lisp (file)
sql-type.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
statement.lisp (file)
clause.lisp (file)
statement.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
sql-type.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
statement.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
clause.lisp (file)
operator.lisp (file)
clause.lisp (file)
statement.lisp (file)
clause.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
composed-statement.lisp (file)
statement.lisp (file)
clause.lisp (file)
operator.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
compile.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
compile.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
compile.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
statement.lisp (file)
clause.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
clause.lisp (file)
clause.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
statement.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
Take in a symbol, convert to string, look for presences of lower case letters.
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
statement.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
composed-statement.lisp (file)
clause.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
statement.lisp (file)
clause.lisp (file)
statement.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
statement.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
clause.lisp (file)
operator.lisp (file)
clause.lisp (file)
statement.lisp (file)
clause.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
composed-statement.lisp (file)
statement.lisp (file)
clause.lisp (file)
operator.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
compile.lisp (file)
clause.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
compile.lisp (file)
sql-type.lisp (file)
compile.lisp (file)
sql-type.lisp (file)
sql-type.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
statement.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
statement.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
operator.lisp (file)
operator.lisp (file)
operator.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)
clause.lisp (file)