/
conseil.sql
456 lines (330 loc) · 10.9 KB
/
conseil.sql
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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
--
-- PostgreSQL database dump
--
-- Dumped from database version 10.3
-- Dumped by pg_dump version 10.3
SET statement_timeout = 0;
SET lock_timeout = 0;
SET idle_in_transaction_session_timeout = 0;
SET client_encoding = 'UTF8';
SET standard_conforming_strings = on;
SELECT pg_catalog.set_config('search_path', '', false);
SET check_function_bodies = false;
SET client_min_messages = warning;
SET row_security = off;
--
-- Name: plpgsql; Type: EXTENSION; Schema: -; Owner: -
--
CREATE EXTENSION IF NOT EXISTS plpgsql WITH SCHEMA pg_catalog;
--
-- Name: EXTENSION plpgsql; Type: COMMENT; Schema: -; Owner: -
--
COMMENT ON EXTENSION plpgsql IS 'PL/pgSQL procedural language';
--
-- Name: truncate_tables(character varying); Type: FUNCTION; Schema: public; Owner: -
--
DROP FUNCTION IF EXISTS public.truncate_tables(username character varying);
CREATE FUNCTION public.truncate_tables(username character varying) RETURNS void
LANGUAGE plpgsql
AS $$
DECLARE
statements CURSOR FOR
SELECT tablename FROM pg_tables
WHERE tableowner = username AND schemaname = 'public';
BEGIN
FOR stmt IN statements LOOP
EXECUTE 'TRUNCATE TABLE ' || quote_ident(stmt.tablename) || ' CASCADE;';
END LOOP;
END;
$$;
SET default_tablespace = '';
SET default_with_oids = false;
--
-- Name: accounts; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.accounts (
account_id character varying NOT NULL,
block_id character varying NOT NULL,
manager character varying NOT NULL,
spendable boolean NOT NULL,
delegate_setable boolean NOT NULL,
delegate_value character varying,
counter integer NOT NULL,
script character varying,
balance numeric NOT NULL,
block_level numeric DEFAULT '-1'::integer NOT NULL
);
--
-- Name: blocks; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.blocks (
level integer NOT NULL,
proto integer NOT NULL,
predecessor character varying NOT NULL,
"timestamp" timestamp without time zone NOT NULL,
validation_pass integer NOT NULL,
fitness character varying NOT NULL,
context character varying,
signature character varying,
protocol character varying NOT NULL,
chain_id character varying,
hash character varying NOT NULL,
operations_hash character varying,
period_kind character varying,
current_expected_quorum integer,
active_proposal character varying,
baker character varying,
nonce_hash character varying,
consumed_gas numeric,
meta_level integer,
meta_level_position integer,
meta_cycle integer,
meta_cycle_position integer,
meta_voting_period integer,
meta_voting_period_position integer,
expected_commitment boolean
);
--
-- Name: fees; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.fees (
low integer NOT NULL,
medium integer NOT NULL,
high integer NOT NULL,
"timestamp" timestamp without time zone NOT NULL,
kind character varying NOT NULL
);
--
-- Name: operation_groups; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.operation_groups (
protocol character varying NOT NULL,
chain_id character varying,
hash character varying NOT NULL,
branch character varying NOT NULL,
signature character varying,
block_id character varying NOT NULL
);
--
-- Name: operations; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.operations (
operation_id integer NOT NULL,
operation_group_hash character varying NOT NULL,
kind character varying NOT NULL,
level integer,
delegate character varying,
slots character varying,
nonce character varying,
pkh character varying,
secret character varying,
source character varying,
fee numeric,
counter numeric,
gas_limit numeric,
storage_limit numeric,
public_key character varying,
amount numeric,
destination character varying,
parameters character varying,
manager_pubkey character varying,
balance numeric,
spendable boolean,
delegatable boolean,
script character varying,
storage character varying,
status character varying,
consumed_gas numeric,
storage_size numeric,
paid_storage_size_diff numeric,
block_hash character varying NOT NULL,
block_level integer NOT NULL,
"timestamp" timestamp without time zone NOT NULL
);
--
-- Name: balance_updates; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.balance_updates (
id integer NOT NULL,
source character varying NOT NULL,
source_id integer,
source_hash character varying,
kind character varying NOT NULL,
contract character varying,
change numeric NOT NULL,
level numeric,
delegate character varying,
category character varying
);
--
-- Name: accounts_checkpoint; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.accounts_checkpoint (
account_id character varying NOT NULL,
block_id character varying NOT NULL,
block_level integer DEFAULT '-1'::integer NOT NULL
);
--
-- Name: proposals; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.proposals (
protocol_hash character varying NOT NULL,
block_id character varying NOT NULL,
block_level integer NOT NULL
);
--
-- Name: bakers; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.bakers (
pkh character varying NOT NULL,
rolls integer NOT NULL,
block_id character varying NOT NULL,
block_level integer NOT NULL
);
--
-- Name: ballots; Type: TABLE; Schema: public; Owner: -
--
CREATE TABLE public.ballots (
pkh character varying NOT NULL,
ballot character varying NOT NULL,
block_id character varying NOT NULL,
block_level integer NOT NULL
);
--
-- Name: operations_operation_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.operations_operation_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: operations_operation_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.operations_operation_id_seq OWNED BY public.operations.operation_id;
--
-- Name: operations operation_id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.operations ALTER COLUMN operation_id SET DEFAULT nextval('public.operations_operation_id_seq'::regclass);
--
-- Name: balance_updates_id_seq; Type: SEQUENCE; Schema: public; Owner: -
--
CREATE SEQUENCE public.balance_updates_id_seq
START WITH 1
INCREMENT BY 1
NO MINVALUE
NO MAXVALUE
CACHE 1;
--
-- Name: balance_updates_id_seq; Type: SEQUENCE OWNED BY; Schema: public; Owner: -
--
ALTER SEQUENCE public.balance_updates_id_seq OWNED BY public.balance_updates.id;
--
-- Name: balance_updates id; Type: DEFAULT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.balance_updates ALTER COLUMN id SET DEFAULT nextval('public.balance_updates_id_seq'::regclass);
--
-- Name: operation_groups OperationGroups_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.operation_groups
ADD CONSTRAINT "OperationGroups_pkey" PRIMARY KEY (hash);
--
-- Name: accounts accounts_pkey; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.accounts
ADD CONSTRAINT accounts_pkey PRIMARY KEY (account_id);
--
-- Name: blocks blocks_hash_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.blocks
ADD CONSTRAINT blocks_hash_key UNIQUE (hash);
--
-- Name: operations operationId; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.operations
ADD CONSTRAINT "operationId" PRIMARY KEY (operation_id);
--
-- Name: balance_updates balance_updates_key; Type: CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.balance_updates
ADD CONSTRAINT "balance_updates_key" PRIMARY KEY (id);
--
-- Name: fki_block; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX fki_block ON public.operation_groups USING btree (block_id);
--
-- Name: fki_fk_blockhashes; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX fki_fk_blockhashes ON public.operations USING btree (block_hash);
--
-- Name: ix_accounts_block_level; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX ix_accounts_block_level ON public.accounts USING btree (block_level);
--
-- Name: ix_accounts_manager; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX ix_accounts_manager ON public.accounts USING btree (manager);
--
-- Name: ix_blocks_level; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX ix_blocks_level ON public.blocks USING btree (level);
--
-- Name: ix_operations_destination; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX ix_operations_destination ON public.operations USING btree (destination);
--
-- Name: ix_operations_source; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX ix_operations_source ON public.operations USING btree (source);
--
-- Name: ix_accounts_checkpoint_block_level; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX ix_accounts_checkpoint_block_level ON public.accounts_checkpoint USING btree (block_level);
--
-- Name: ix_proposals_protocol; Type: INDEX; Schema: public; Owner: -
--
CREATE INDEX ix_proposals_protocol ON public.proposals USING btree (protocol_hash);
--
-- Name: accounts accounts_block_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.accounts
ADD CONSTRAINT accounts_block_id_fkey FOREIGN KEY (block_id) REFERENCES public.blocks(hash);
--
-- Name: accounts_checkpoint checkpoint_block_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.accounts_checkpoint
ADD CONSTRAINT checkpoint_block_id_fkey FOREIGN KEY (block_id) REFERENCES public.blocks(hash);
--
-- Name: proposals proposal_block_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.proposals
ADD CONSTRAINT proposal_block_id_fkey FOREIGN KEY (block_id) REFERENCES public.blocks(hash);
--
-- Name: bakers baker_block_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.bakers
ADD CONSTRAINT baker_block_id_fkey FOREIGN KEY (block_id) REFERENCES public.blocks(hash);
--
-- Name: ballots ballot_block_id_fkey; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.ballots
ADD CONSTRAINT ballot_block_id_fkey FOREIGN KEY (block_id) REFERENCES public.blocks(hash);
--
-- Name: operation_groups block; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.operation_groups
ADD CONSTRAINT block FOREIGN KEY (block_id) REFERENCES public.blocks(hash);
--
-- Name: operations fk_blockhashes; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.operations
ADD CONSTRAINT fk_blockhashes FOREIGN KEY (block_hash) REFERENCES public.blocks(hash);
--
-- Name: operations fk_opgroups; Type: FK CONSTRAINT; Schema: public; Owner: -
--
ALTER TABLE ONLY public.operations
ADD CONSTRAINT fk_opgroups FOREIGN KEY (operation_group_hash) REFERENCES public.operation_groups(hash);
--
-- PostgreSQL database dump complete
--