Commit Graph

69 Commits

Author SHA1 Message Date
Claude Code
1894b77b44 fix(bigquery): address review comments on memory-limited fetch
- Use has_app_context()/has_request_context() guards so fetch_data
  is safe to call outside a Flask request (fixes RuntimeError on g
  writes and current_app access in non-request paths)
- Replace sys.getsizeof(str(batch)) with per-row getsizeof sum for
  more accurate memory estimation without the str() allocation
- Fix false-positive truncation: fetch remaining+1 rows and check
  len > remaining to confirm more data exists beyond the cap
- Reset g.bq_memory_limited/g.bq_memory_limited_row_count after
  reading in get_df_payload to prevent flag leaking across multiple
  queries in the same request
- Wrap warning string in _() for i18n
- Add warning field to ChartDataResponseResult Marshmallow schema
- Pass noDuplicate: true to addWarningToast to suppress duplicate
  toasts when a multi-query chart has multiple truncated responses

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-07 13:16:58 -07:00
Claude Code
1773531807 fix(bigquery): limit result set size to prevent browser memory crashes
Implement memory-aware progressive fetching in BigQuery's fetch_data
method. Large result sets (950+ MB) previously crashed Chrome by loading
everything into memory at once. The fix samples an initial batch to
estimate row size, then fetches only as many rows as fit within the
BQ_FETCH_MAX_MB config limit (default 200 MB). A warning toast is shown
to users when results are truncated.

This is always-on with no feature flag -- operators control the budget
via the BQ_FETCH_MAX_MB config constant.

Originally by @ethan-l-geotab in apache#36387.

Co-authored-by: ethan-l-geotab <ethanliong@geotab.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-11 13:20:26 -07:00
Evan Rusackas
c4eb7de6de fix(excel): remove unwanted index column from Excel exports (#38176)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-23 08:28:40 -08:00
Luis Sánchez
88a14f2ba0 fix(FiltersBadge): world map wont show filter icon after refresh page (#37260) 2026-02-11 16:33:32 +03:00
Luiz Otavio
1e8d648f47 feat: Chart query last run timestamp (#36934) 2026-01-09 17:02:18 -03:00
Beto Dealmeida
16e6452b8c feat: Explorable protocol (#36245) 2025-12-04 13:18:34 -05:00
Beto Dealmeida
775d1ba061 fix: normalize totals cache keys for async hits (#36274) 2025-12-01 11:11:10 -05:00
Beto Dealmeida
aca18fff99 fix: double computation of contribution_totals (#36226) 2025-11-25 14:35:55 -05:00
Beto Dealmeida
0c87034b17 fix: cache key generation (#36225) 2025-11-25 12:50:00 -05:00
Beto Dealmeida
a2267d869b refactor: refactor get_query_result (#36057) 2025-11-21 18:14:52 -05:00
Beto Dealmeida
62dc5c0306 fix(cache): ensure SQL is sanitized before cache key generation (#35419) 2025-10-02 13:25:54 -04:00
Daniel Vaz Gaspar
28788fd1fa fix: centralize cache timeout -1 logic to prevent caching (#34654) 2025-08-18 08:45:20 +01:00
Mehmet Salih Yavuz
adaae8ba15 fix(Timeshift): Determine temporal column correctly (#34582) 2025-08-07 15:20:34 +03:00
Mehmet Salih Yavuz
761daec53d feat(timeshift): Add support for date range timeshifts (#34375) 2025-08-05 19:31:40 +03:00
Maxime Beauchemin
cb27d5fe8d chore: proper current_app.config proxy usage (#34345)
Co-authored-by: Claude <noreply@anthropic.com>
2025-07-31 19:27:42 -07:00
Maxime Beauchemin
2db8f809ba fix: proper handling of boolean filters with snowflake (#34199)
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net>
2025-07-18 12:13:52 -07:00
Mehmet Salih Yavuz
6adfd33e3a fix(Table): Allow timeshifts to be overriden (#34014) 2025-07-07 13:20:09 +03:00
Michael S. Molina
d6ed819fe2 fix: Annotation layer errors (#34074) 2025-07-04 15:06:30 -03:00
Levis Mbote
7deca8f2cd feat(chart): add toggle for percentage metric calculation mode in Table chart (#33656) 2025-06-13 21:00:58 +03:00
sowo
29b62f7c0a fix(contextmenu): uncaught TypeError (#28203) 2025-03-18 20:42:38 -06:00
Maxime Beauchemin
e51b95ffa8 chore: enforce more ruff rules (#31447)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2024-12-18 17:41:34 -08:00
Antonio Rivero
bc6d2dba37 feat(time_comparison): Support all date formats when computing custom and inherit offsets (#30002) 2024-08-23 15:32:25 +02:00
squalou
ce72a0ac27 fix: set columns numeric datatypes when exporting to excel (#27229)
Co-authored-by: Elizabeth Thompson <eschutho@gmail.com>
2024-08-23 01:39:47 -06:00
Antonio Rivero
9052f9fbb4 fix(plugins): Fix dashboard filter for Table and Big Number with Time Comparison (#29517) 2024-07-08 23:07:35 +02:00
John Bodley
17d7e7e5e1 fix: Remove BASE_AXIS from pre-query (#29084) 2024-06-05 10:27:26 -07:00
Antonio Rivero
b1f85dce71 refactor(plugins): BigNumber Time Comparison with existing time_offset API (#27718)
Co-authored-by: lilykuang <jialikuang@gmail.com>
Co-authored-by: Kamil Gabryjelski <kamil.gabryjelski@gmail.com>
2024-05-16 18:47:50 +02:00
Michael S. Molina
821c7d7f2c fix: Time shifts calculation for ECharts plugins (#28432) 2024-05-15 08:11:52 -03:00
Antonio Rivero
6844735a45 fix(time_offset): improved LIMIT-handling in advanced analytics (#27934) 2024-04-12 00:54:21 +02:00
Maxime Beauchemin
12fe2929a4 fix: row limits & row count labels are confusing (#27700) 2024-04-02 13:58:35 -07:00
Zef Lin
efdeb9df05 feat(embedded+async queries): support async queries to work with embedded guest user (#26332) 2024-01-08 17:11:45 -08:00
John Bodley
07bcfa9b5f chore(command): Organize Commands according to SIP-92 (#25850) 2023-11-22 16:55:54 -03:00
John Bodley
07551dc3d4 chore(connector): Cleanup base models and views according to SIP-92 (#24773) 2023-11-21 10:11:50 -08:00
John Bodley
ae703b48fc fix: Revert "fix: Apply normalization to all dttm columns (#25147)" (#25801) 2023-10-31 10:21:47 -03:00
Kamil Gabryjelski
58fcd292a9 fix: Apply normalization to all dttm columns (#25147) 2023-10-06 09:47:00 -07:00
Sebastian Liebscher
067bfbf950 chore: move TypedDict from typing_extensions to typing (#25121) 2023-08-30 09:49:45 -07:00
EugeneTorap
fc89718d48 chore: Update pylint to 2.17.4 (#24700)
Co-authored-by: John Bodley <john.bodley@gmail.com>
2023-07-24 17:13:49 -07:00
Sebastian Liebscher
91e6f5cb9f chore(deps): bump pandas >=2.0 (#24705)
Co-authored-by: EugeneTorap <evgenykrutpro@gmail.com>
2023-07-20 11:04:17 -07:00
John Bodley
1b5a6790f0 chore: Remove obsolete legacy visualizations (#24694) 2023-07-18 08:17:52 -07:00
Rob Moore
d5f88c18f6 fix(charts): Fix chart load task error handling (#24447) 2023-06-21 15:21:14 +03:00
John Bodley
3e76736874 chore(dao): Organize DAOs according to SIP-92 (#24331)
Co-authored-by: JUST.in DO IT <justin.park@airbnb.com>
2023-06-18 18:32:32 -07:00
Michael S. Molina
e5b7f7c9b5 fix: Time shifts with different granularity for ECharts (#24176) 2023-06-08 16:03:37 -03:00
John Bodley
a4d5d7c6b9 chore(pre-commit): Add pyupgrade and pycln hooks (#24197) 2023-06-01 12:01:10 -07:00
John Bodley
d583ca9ef5 chore: Embrace the walrus operator (#24127) 2023-05-19 00:37:13 -07:00
Ville Brofeldt
306fb22021 chore(chart-data): add post processing error message to response (#23734) 2023-04-19 18:49:33 +03:00
Ville Brofeldt
500d90058f feat: add ability to disable cache (#23439) 2023-03-31 11:41:57 +03:00
Kamil Gabryjelski
42980a69a7 fix(dashboard): Charts crashing when cross filter on adhoc column is applied (#23238)
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com>
2023-03-04 07:57:35 +01:00
Igor Șincariov
6cf434e5c1 feat: Add excel export (#22006)
Co-authored-by: Igor Șincariov <igorsinc@pm.me>
Co-authored-by: EugeneTorap <evgenykrutpro@gmail.com>
2023-01-27 11:23:10 -07:00
Diego Medina
bed10a0e2b chore: deprecate /superset/slice_json/<int:slice_id> and /superset/annotation_json/<int:layer_id> (#22496) 2023-01-27 11:50:19 -05:00
Yongjie Zhao
a9b229dd1d feat: support mulitple temporal filters in AdhocFilter and move the Time Section away (#21767) 2022-11-02 08:21:17 +08:00
Maxime Beauchemin
72598a5b2a fix: rename datasource->dataset in error message (#21959) 2022-11-01 21:53:06 +08:00