Current section

Files

Jump to
sqlparser include sql.hrl
Raw

include/sql.hrl

%% -*- erlang; utf-8 -*-
% COMMON
-record(table, {name, alias}).
-record(all, {table}).
-record(subquery, {name, subquery }).
-record(key, {alias, name, table}).
-record(value, {name, value}).
-record(condition, {nexo, op1, op2}).
-record(function, {name, params, alias}).
-record(operation, {type, op1, op2}).
-record(variable, {name, label, scope}).
-record(system_set, {'query'}).
% SHOW
-record(show, {type, full, from, conditions}).
-type show() :: #show{}.
% SELECT
-record(select, {params, tables, conditions, group, order, limit, offset}).
-record(order, {key, sort}).
-type select() :: #select{}.
% UPDATE
-record(update, {table, set, conditions}).
-record(set, {key, value}).
-type update() :: #update{}.
% DELETE
-record(delete, {table, conditions}).
-type delete() :: #delete{}.
% INSERT
-record(insert, {table, values}).
-type insert() :: #insert{}.
% DESCRIBE
-record(describe, {table}).
-type describe() :: #describe{}.
% CREATE TABLE
-record(create_table, {table, fields}).
-type create_table() :: #create_table{}.
-record(field, {
name,
type,
default,
unique = false,
primary = false,
null = true
}).
% DROP TABLE
-record(drop_table, {table}).
-type drop_table() :: #drop_table{}.
-type sql() :: show() | select() | update() | delete() | insert() |
create_table() | drop_table().
% Database Administration Statements
-record(management, {action :: action(), data :: account() | permission() }).
-record(account, {access}).
-record(permission, {on, account, conditions}).
-type action() :: create | drop | grant | rename | revoke | setpasswd.
-type account() :: #account{}.
-type permission() :: #permission{}.