MCPcopy Create free account
hub / github.com/outerbase/studio / transformRawResult

Function transformRawResult

src/drivers/database/rqlite.ts:23–68  ·  view source on GitHub ↗
(raw: RqliteResult)

Source from the content-addressed store, hash-verified

21}
22
23export function transformRawResult(raw: RqliteResult): DatabaseResultSet {
24 const columns = raw.columns ?? [];
25 const types = raw.types ?? [];
26 const values = raw.values;
27 const headerSet = new Set();
28
29 const headers: DatabaseHeader[] = columns.map((colName, colIdx) => {
30 const colType = types[colIdx];
31
32 let renameColName = colName;
33
34 for (let i = 0; i < 20; i++) {
35 if (!headerSet.has(renameColName)) break;
36 renameColName = `__${colName}_${i}`;
37 }
38
39 return {
40 name: renameColName,
41 displayName: colName,
42 originalType: colType,
43 type: convertSqliteType(colType),
44 };
45 });
46
47 const rows = values
48 ? values.map((r) =>
49 headers.reduce((a, b, idx) => {
50 a[b.name] = r[idx];
51 return a;
52 }, {} as DatabaseRow)
53 )
54 : [];
55
56 return {
57 rows,
58 stat: {
59 rowsAffected: raw?.rows_affected ?? 0,
60 rowsRead: null,
61 rowsWritten: null,
62 queryDurationMs: raw?.time ?? 0,
63 },
64 headers,
65 lastInsertRowid:
66 raw.last_insert_id === undefined ? undefined : raw.last_insert_id,
67 };
68}
69
70export class RqliteQueryable implements QueryableBaseDriver {
71 constructor(

Callers

nothing calls this directly

Calls 1

convertSqliteTypeFunction · 0.90

Tested by

no test coverage detected