|
17 | 17 | #include "ts_catalog/metadata.h" |
18 | 18 | #include "uuid.h" |
19 | 19 |
|
20 | | -void |
21 | | -ts_telemetry_event_truncate(void) |
22 | | -{ |
23 | | - RangeVar rv = { |
24 | | - .schemaname = CATALOG_SCHEMA_NAME, |
25 | | - .relname = TELEMETRY_EVENT_TABLE_NAME, |
26 | | - }; |
27 | | - ExecuteTruncate(&(TruncateStmt){ |
28 | | - .type = T_TruncateStmt, |
29 | | - .relations = list_make1(&rv), |
30 | | - .behavior = DROP_RESTRICT, |
31 | | - }); |
32 | | -} |
33 | | - |
34 | | -void |
35 | | -ts_telemetry_events_add(JsonbParseState *state) |
36 | | -{ |
37 | | - ScanIterator iterator = |
38 | | - ts_scan_iterator_create(TELEMETRY_EVENT, AccessShareLock, CurrentMemoryContext); |
39 | | - pushJsonbValue(&state, WJB_BEGIN_ARRAY, NULL); |
40 | | - ts_scanner_foreach(&iterator) |
41 | | - { |
42 | | - TupleInfo *ti = iterator.tinfo; |
43 | | - TupleDesc tupdesc = ti->slot->tts_tupleDescriptor; |
44 | | - bool created_isnull, tag_isnull, value_isnull; |
45 | | - Datum created = slot_getattr(ti->slot, Anum_telemetry_event_created, &created_isnull); |
46 | | - Datum tag = slot_getattr(ti->slot, Anum_telemetry_event_tag, &tag_isnull); |
47 | | - Datum body = slot_getattr(ti->slot, Anum_telemetry_event_body, &value_isnull); |
48 | | - |
49 | | - pushJsonbValue(&state, WJB_BEGIN_OBJECT, NULL); |
50 | | - if (!created_isnull) |
51 | | - { |
52 | | - ts_jsonb_add_str(state, |
53 | | - NameStr( |
54 | | - TupleDescAttr(tupdesc, Anum_telemetry_event_created - 1)->attname), |
55 | | - DatumGetCString(DirectFunctionCall1(timestamptz_out, created))); |
56 | | - } |
57 | | - |
58 | | - if (!tag_isnull) |
59 | | - { |
60 | | - ts_jsonb_add_str(state, |
61 | | - NameStr(TupleDescAttr(tupdesc, Anum_telemetry_event_tag - 1)->attname), |
62 | | - pstrdup(NameStr(*DatumGetName(tag)))); |
63 | | - } |
64 | | - |
65 | | - if (!value_isnull) |
66 | | - { |
67 | | - JsonbValue jsonb_value; |
68 | | - JsonbToJsonbValue(DatumGetJsonbPCopy(body), &jsonb_value); |
69 | | - ts_jsonb_add_value(state, |
70 | | - NameStr( |
71 | | - TupleDescAttr(tupdesc, Anum_telemetry_event_body - 1)->attname), |
72 | | - &jsonb_value); |
73 | | - } |
74 | | - pushJsonbValue(&state, WJB_END_OBJECT, NULL); |
75 | | - } |
76 | | - pushJsonbValue(&state, WJB_END_ARRAY, NULL); |
77 | | -} |
78 | | - |
79 | 20 | /* |
80 | 21 | * add all entries from _timescaledb_catalog.metadata |
81 | 22 | */ |
|
0 commit comments