summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/db/include/db_query.hrl')
-rw-r--r--src/db/include/db_query.hrl27
1 files changed, 25 insertions, 2 deletions
diff --git a/src/db/include/db_query.hrl b/src/db/include/db_query.hrl
index bdd9dc1..45c040b 100644
--- a/src/db/include/db_query.hrl
+++ b/src/db/include/db_query.hrl
@@ -1,6 +1,8 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% TYPES %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+-type db_user() :: ({'user', any()} | 'admin' | 'any').
+
-record
(
set_field,
@@ -26,9 +28,30 @@
{
field :: non_neg_integer(),
ix :: non_neg_integer(),
- update :: list(db_query())
+ ops :: list(db_query_op())
+ }
+).
+
+-record
+(
+ set_user,
+ {
+ user :: db_user()
+ }
+).
+
+-record
+(
+ db_query,
+ {
+ db :: atom(),
+ id :: any(),
+ user :: db_user(),
+ ops :: list(db_query_master_op())
}
).
--type db_query() :: (#set_field{} | #add_to_field{} | #update_indexed{}).
+-type db_query_op() :: (#set_field{} | #add_to_field{} | #update_indexed{}).
+-type db_query_master_op() :: (db_query_op() | #set_user{}).
+-type db_query() :: #db_query{}.