fix: save columns reference from sqllab save datasets flow (#24248)

This commit is contained in:
Hugh A. Miles II
2023-06-20 13:54:19 -04:00
committed by GitHub
parent fdef9cbc96
commit 93e1db4bd9
37 changed files with 489 additions and 202 deletions

View File

@@ -122,10 +122,10 @@ describe('ResultSet', () => {
expect(table).toBeInTheDocument();
const firstColumn = queryAllByText(
mockedProps.query.results?.columns[0].name ?? '',
mockedProps.query.results?.columns[0].column_name ?? '',
)[0];
const secondColumn = queryAllByText(
mockedProps.query.results?.columns[1].name ?? '',
mockedProps.query.results?.columns[1].column_name ?? '',
)[0];
expect(firstColumn).toBeInTheDocument();
expect(secondColumn).toBeInTheDocument();

View File

@@ -205,7 +205,7 @@ const ResultSet = ({
...EXPLORE_CHART_DEFAULT,
datasource: `${results.query_id}__query`,
...{
all_columns: results.columns.map(column => column.name),
all_columns: results.columns.map(column => column.column_name),
},
});
const url = mountExploreUrl(null, {
@@ -491,7 +491,7 @@ const ResultSet = ({
}
if (data && data.length > 0) {
const expandedColumns = results.expanded_columns
? results.expanded_columns.map(col => col.name)
? results.expanded_columns.map(col => col.column_name)
: [];
return (
<>
@@ -500,7 +500,7 @@ const ResultSet = ({
{sql}
<FilterableTable
data={data}
orderedColumnKeys={results.columns.map(col => col.name)}
orderedColumnKeys={results.columns.map(col => col.column_name)}
height={rowsHeight}
filterText={searchText}
expandedColumns={expandedColumns}

View File

@@ -62,6 +62,7 @@ export type ExploreQuery = QueryResponse & {
export interface ISimpleColumn {
column_name?: string | null;
name?: string | null;
type?: string | null;
is_dttm?: boolean | null;
}
@@ -199,14 +200,15 @@ export const SaveDatasetModal = ({
return;
}
setLoading(true);
const [, key] = await Promise.all([
updateDataset(
datasource?.dbId,
datasetToOverwrite?.datasetid,
datasource?.sql,
datasource?.columns?.map(
(d: { name: string; type: string; is_dttm: boolean }) => ({
column_name: d.name,
(d: { column_name: string; type: string; is_dttm: boolean }) => ({
column_name: d.column_name,
type: d.type,
is_dttm: d.is_dttm,
}),
@@ -292,12 +294,10 @@ export const SaveDatasetModal = ({
dispatch(
createDatasource({
schema: datasource.schema,
sql: datasource.sql,
dbId: datasource.dbId || datasource?.database?.id,
templateParams,
datasourceName: datasetName,
columns: selectedColumns,
}),
)
.then((data: { id: number }) =>