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

Function commitChange

src/lib/sql/sql-execute-helper.ts:71–108  ·  view source on GitHub ↗
({
  driver,
  tableName,
  tableSchema,
  data,
}: {
  driver: BaseDriver;
  tableName: string;
  tableSchema: DatabaseTableSchema;
  data: OptimizeTableState;
})

Source from the content-addressed store, hash-verified

69}
70
71export async function commitChange({
72 driver,
73 tableName,
74 tableSchema,
75 data,
76}: {
77 driver: BaseDriver;
78 tableName: string;
79 tableSchema: DatabaseTableSchema;
80 data: OptimizeTableState;
81}): Promise<{ errorMessage?: string }> {
82 const plans = generateTableChangePlan({
83 tableSchema,
84 data,
85 });
86
87 try {
88 const result = await driver.updateTableData(
89 tableSchema.schemaName,
90 tableName,
91 plans.map((p) => p.plan),
92 tableSchema
93 );
94
95 data.applyChanges(
96 plans.map((p, idx) => {
97 return {
98 row: p.row,
99 updated: result[idx]?.record ?? {},
100 };
101 })
102 );
103 } catch (e) {
104 return { errorMessage: (e as Error).message };
105 }
106
107 return {};
108}

Callers 1

TableDataWindowFunction · 0.90

Calls 2

generateTableChangePlanFunction · 0.85
applyChangesMethod · 0.80

Tested by

no test coverage detected