-
Notifications
You must be signed in to change notification settings - Fork 5
/
stmts.go
111 lines (99 loc) · 3.59 KB
/
stmts.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package stmts
/*
This package we need to store CQL statements
*/
const (
/*
========================================
Init statements
========================================
*/
CREATE_KEYSPACE = "CREATE KEYSPACE IF NOT EXISTS %s WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 1 }"
// Violation Log Table
CREATE_VIOLATION_LOG_TABLE = `
CREATE TABLE IF NOT EXISTS %s.vlog_namespace_type (
namespace varchar,
cluster varchar,
type varchar,
source varchar,
vType varchar,
vSource varchar,
created_at timestamp,
PRIMARY KEY((namespace,cluster,type,source),created_at))
WITH CLUSTERING ORDER BY (created_at DESC)
`
CREATE_ACTION_LOG_NAMESPACE_TYPE_TABLE = `
CREATE TABLE IF NOT EXISTS %s.alog_namespace_type (
namespace varchar,
cluster varchar,
type varchar,
source varchar,
vType varchar,
vSource varchar,
action varchar,
created_at timestamp,
PRIMARY KEY((namespace,type),created_at))
WITH CLUSTERING ORDER BY (created_at DESC)
`
CREATE_ACTION_LOG_TYPE_TABLE = `
CREATE TABLE IF NOT EXISTS %s.alog_type (
namespace varchar,
cluster varchar,
type varchar,
source varchar,
vType varchar,
vSource varchar,
action varchar,
created_at timestamp,
PRIMARY KEY((type),created_at))
WITH CLUSTERING ORDER BY (created_at DESC)
`
CREATE_ACTION_LOG_VTYPE_TABLE = `
CREATE TABLE IF NOT EXISTS %s.alog_vType (
namespace varchar,
cluster varchar,
type varchar,
source varchar,
vType varchar,
vSource varchar,
action varchar,
created_at timestamp,
PRIMARY KEY((vType),created_at))
WITH CLUSTERING ORDER BY (created_at DESC)
`
CREATE_ACTION_LOG_ACTION_TABLE = `
CREATE TABLE IF NOT EXISTS %s.alog_action (
namespace varchar,
cluster varchar,
type varchar,
source varchar,
vType varchar,
vSource varchar,
action varchar,
created_at timestamp,
PRIMARY KEY((action),created_at))
WITH CLUSTERING ORDER BY (created_at DESC)
`
// Tracks the status of a violation
CREATE_VACTION_TABLE = `
CREATE TABLE IF NOT EXISTS %s.vaction (
namespace varchar,
cluster varchar,
type varchar,
source varchar,
vType varchar,
vSource varchar,
actions frozen<map<varchar, list<timestamp>>>,
created_at timestamp,
expire_at timestamp,
PRIMARY KEY((namespace,cluster,type,source,vtype,vsource),created_at))
WITH CLUSTERING ORDER BY (created_at desc)
`
INSERT_TO_VLOG = `INSERT INTO %s.vlog_namespace_type (namespace, cluster, type, source, vType, vSource, created_at) VALUES (?, ?, ?, ?, ?, ?, ?)`
INSERT_TO_ALOG_NAMESPACE_TYPE = `INSERT INTO %s.alog_namespace_type (namespace, cluster, type, source, vType, vSource, action, created_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`
INSERT_TO_ALOG_TYPE = `INSERT INTO %s.alog_type (namespace, cluster, type, source, vType, vSource, action, created_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`
INSERT_TO_ALOG_VTYPE = `INSERT INTO %s.alog_vType (namespace, cluster, type, source, vType, vSource, action, created_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`
INSERT_TO_ALOG_ACTION = `INSERT INTO %s.alog_action (namespace, cluster, type, source, vType, vSource, action, created_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?)`
INSERT_TO_VACTION = `INSERT INTO %s.vaction (namespace, cluster, type, source, vType, vSource, actions, created_at ,expire_at) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)`
SELECT_ENTITY_FROM_VACTION = `SELECT namespace, type, source, vType, vSource, actions, created_at, expire_at FROM %s.vaction WHERE namespace = ? AND cluster = ? AND type = ? AND source = ? AND vType = ? AND vSource = ? LIMIT 1`
)