feat(streaming): Streaming CSV uploads for over 100k records for constant memory usage (#35478)

This commit is contained in:
amaannawab923
2025-11-20 22:46:59 +05:30
committed by GitHub
parent 6d359161bb
commit 35f156a1e1
27 changed files with 3096 additions and 71 deletions

View File

@@ -40,6 +40,7 @@ import ReportModal from 'src/features/reports/ReportModal';
import { deleteActiveReport } from 'src/features/reports/ReportModal/actions';
import { useUnsavedChangesPrompt } from 'src/hooks/useUnsavedChangesPrompt';
import { getChartFormDiffs } from 'src/utils/getChartFormDiffs';
import { StreamingExportModal } from 'src/components/StreamingExportModal';
import { useExploreAdditionalActionsMenu } from '../useExploreAdditionalActionsMenu';
import { useExploreMetadataBar } from './useExploreMetadataBar';
@@ -173,7 +174,7 @@ export const ExploreChartHeader = ({
[redirectSQLLab, history],
);
const [menu, isDropdownVisible, setIsDropdownVisible] =
const [menu, isDropdownVisible, setIsDropdownVisible, streamingExportState] =
useExploreAdditionalActionsMenu(
latestQueryFormData,
canDownload,
@@ -346,6 +347,14 @@ export const ExploreChartHeader = ({
onConfirmNavigation={handleConfirmNavigation}
handleSave={handleSaveAndCloseModal}
/>
<StreamingExportModal
visible={streamingExportState.isVisible}
onCancel={streamingExportState.onCancel}
onRetry={streamingExportState.onRetry}
onDownload={streamingExportState.onDownload}
progress={streamingExportState.progress}
/>
</>
);
};