···
3
3
4
4
interface TableInfo {
5
5
tableName: string;
6
6
+
tableType: string;
6
7
rowCount: number;
7
8
sampleData: Record<string, any>[];
8
9
}
···
31
32
try {
32
33
const conn = await getDuckConn();
33
34
34
34
-
// Get all tables (DuckDB uses INFORMATION_SCHEMA)
35
35
-
const tablesResult = await conn.runAndReadAll("SELECT table_name as name FROM information_schema.tables WHERE table_schema = 'main';");
35
35
+
// Get all tables and views (DuckDB uses INFORMATION_SCHEMA)
36
36
+
const tablesResult = await conn.runAndReadAll(`
37
37
+
SELECT table_name as name, table_type
38
38
+
FROM information_schema.tables
39
39
+
WHERE table_schema = 'main'
40
40
+
ORDER BY table_name
41
41
+
`);
36
42
const tables = tablesResult.getRowObjects();
37
43
38
44
const tableInfo: TableInfo[] = [];
39
45
40
46
for (const table of tables) {
41
47
const name = String(table.name);
48
48
+
const type = String(table.table_type);
42
49
43
50
// Get row count
44
51
const countResult = await conn.runAndReadAll(`SELECT COUNT(*) as count FROM ${name}`);
···
47
54
48
55
const info: TableInfo = {
49
56
tableName: name,
57
57
+
tableType: type,
50
58
rowCount: count,
51
59
sampleData: []
52
60
};
···
27
27
},
28
28
"temp_and_humidity_ch3": {
29
29
"min": 15.4,
30
30
-
"max": 16.3,
30
30
+
"max": 16.4,
31
31
"minTime": "2025-11-02T15:54:23.182Z",
32
32
-
"maxTime": "2025-11-02T17:43:13.040Z"
32
32
+
"maxTime": "2025-11-02T18:01:02.195Z"
33
33
},
34
34
"temp_and_humidity_ch5": {
35
35
"min": 20.7,
36
36
-
"max": 20.9,
36
36
+
"max": 21,
37
37
"minTime": "2025-11-02T14:31:49.630Z",
38
38
-
"maxTime": "2025-11-02T13:19:45.681Z"
38
38
+
"maxTime": "2025-11-02T18:02:07.052Z"
39
39
},
40
40
"temp_and_humidity_ch6": {
41
41
-
"min": 18.7,
41
41
+
"min": 18.6,
42
42
"max": 18.7,
43
43
-
"minTime": "2025-11-02T13:19:45.681Z",
43
43
+
"minTime": "2025-11-02T18:01:02.195Z",
44
44
"maxTime": "2025-11-02T13:19:45.681Z"
45
45
},
46
46
"temp_and_humidity_ch7": {
47
47
-
"min": 13,
47
47
+
"min": 12.9,
48
48
"max": 15.7,
49
49
-
"minTime": "2025-11-02T17:12:40.048Z",
49
49
+
"minTime": "2025-11-02T18:01:02.195Z",
50
50
"maxTime": "2025-11-02T13:19:45.681Z"
51
51
},
52
52
"temp_and_humidity_ch8": {
···
89
89
},
90
90
"temp_and_humidity_ch5": {
91
91
"min": 68,
92
92
-
"max": 69,
92
92
+
"max": 73,
93
93
"minTime": "2025-11-02T16:54:23.232Z",
94
94
-
"maxTime": "2025-11-02T13:19:45.681Z"
94
94
+
"maxTime": "2025-11-02T18:02:07.052Z"
95
95
},
96
96
"temp_and_humidity_ch6": {
97
97
"min": 69,