+
+ {result.resultSets.length} result sets
+ {affected} rows affected
+ {result.durationMs} ms
+
+ {result.resultSets.length === 0 && (
+
Command completed without a result set.
+ )}
+ {result.resultSets.map((resultSet, resultSetIndex) => (
+
+
+ Result {resultSetIndex + 1} · {resultSet.rows.length} rows
+ {resultSet.truncated && " · first 500 shown"}
+
+
+
+
+
+ {resultSet.columns.map((column) => (
+ |
+ {column.name}
+ {column.type}
+ |
+ ))}
+
+
+
+ {resultSet.rows.map((row, rowIndex) => (
+
+ {resultSet.columns.map((column) => {
+ const value = formatSqlValue(row[column.name]);
+ return (
+ |
+ {value}
+ |
+ );
+ })}
+
+ ))}
+
+
+
+
+ ))}
+
+ );
+}
+
+function SqlPanelHeader({
+ icon: Icon,
+ eyebrow,
+ title,
+ detail,
+ action,
+}: {
+ icon: typeof Database;
+ eyebrow: string;
+ title: string;
+ detail: string;
+ action?: React.ReactNode;
+}) {
+ return (
+