Evan
c6bf4e65b6
fix(sqllab): mutate the whole query before splitting when MUTATE_AFTER_SPLIT=False
...
The prior fix derived is_split purely from run_multiple_statements_as_one, so
for the common case (engines that execute statements individually) with the
default MUTATE_AFTER_SPLIT=False, is_split was always True and the mutator
never fired at all -- a regression from the pre-fix behavior where it always
ran. Mutate the whole, un-split query once before splitting into per-statement
blocks when MUTATE_AFTER_SPLIT is False, in both the sync (sql_lab.py) and
async (celery_task.py) SQL Lab paths, and add regression tests covering both
flag values across both engine modes.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-07-11 20:43:41 -07:00
Daniel Vaz Gaspar
2f71771b56
fix(sqllab): prevent corrupted query state from blocking SQL Lab access ( #40580 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: Joe Li <joe@preset.io >
2026-06-09 10:51:45 +01:00
Mehmet Salih Yavuz
8b0e63b58c
fix(rls): prevent double-apply when converting physical dataset to virtual ( #39725 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-14 18:05:48 +03:00
Beto Dealmeida
cb53745d43
feat: semantic layer extension ( #37815 )
2026-05-05 12:07:46 -04:00
Yuriy Krasilnikov
09e9c6a522
fix(embedded): prevent double RLS application in virtual datasets ( #37395 )
2026-03-12 14:12:59 +01:00
Beto Dealmeida
5d20dc57d7
feat(oauth2): add PKCE support for database OAuth2 authentication ( #37067 )
2026-01-30 23:28:10 -05:00
Enzo Martellucci
ea90d1f141
refactor(db-engine-specs): use standard OAuth 2.0 params in base class ( #37010 )
2026-01-09 17:44:32 +01: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
Beto Dealmeida
122bb68e5a
fix: subquery alias in RLS ( #34374 )
2025-07-28 22:58:15 -04:00
Maxime Beauchemin
3f8472ca7b
chore: move some rules from ruff -> pylint ( #34292 )
2025-07-24 09:40:49 -07:00
Beto Dealmeida
a26e1d822a
chore: remove sqlparse ( #33564 )
2025-06-04 19:31:41 -04:00
Beto Dealmeida
401ce56fa1
feat: use sqlglot to validate adhoc subquery ( #33560 )
2025-05-30 18:09:19 -04:00
Beto Dealmeida
cf315388f2
feat(sqllab): use sqlglot instead of sqlparse ( #33542 )
2025-05-30 17:08:19 -04:00
Beto Dealmeida
8de58b9848
feat: use sqlglot to set limit ( #33473 )
2025-05-27 15:20:02 -04:00
Beto Dealmeida
8013b32f0e
chore: remove is_select_query ( #33457 )
2025-05-22 20:53:22 -04: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
anamitraadhikari
6ede3271ff
fix(SQL Lab): hang when result set size is too big ( #30522 )
...
Co-authored-by: aadhikari <aadhikari@apple.com >
Co-authored-by: Ville Brofeldt <33317356+villebro@users.noreply.github.com >
2024-10-14 18:03:28 -07:00
Beto Dealmeida
0415ed34ce
feat: allow create/update OAuth2 DB ( #30071 )
2024-09-03 19:22:38 -04:00
Beto Dealmeida
d5c0506faa
fix: OAuth2 in async DBs ( #29461 )
2024-07-02 21:12:07 -04:00
Beto Dealmeida
5660f8e554
feat: OAuth2 client initial work ( #29109 )
2024-06-09 22:11:18 -04:00
Maxime Beauchemin
cfc440c56c
feat: improve event logging for queries + refactor ( #27943 )
...
Co-authored-by: Beto Dealmeida <roberto@dealmeida.net >
2024-04-22 16:30:50 -07:00
Beto Dealmeida
9022f5c519
feat(SIP-85): OAuth2 for databases ( #27631 )
2024-04-02 22:05:33 -04:00
John Bodley
847ed3f5b0
refactor: Ensure Flask framework leverages the Flask-SQLAlchemy session (Phase II) ( #26909 )
2024-02-14 06:20:15 +13:00
John Bodley
7af82ae87d
refactor: Ensure Celery leverages the Flask-SQLAlchemy session ( #26186 )
2024-01-17 17:06:22 +13:00
Beto Dealmeida
2bd611916d
feat: safer insert RLS ( #20323 )
2023-11-08 22:52:25 -05:00
Rob Moore
4e94fc4cff
fix(sqllab): reinstate "Force trino client async execution" ( #25680 )
2023-10-19 16:38:13 +03:00
Ville Brofeldt
e56e0de458
fix: revert fix(sqllab): Force trino client async execution ( #24859 ) ( #25541 )
2023-10-13 11:58:20 +00:00
Rob Moore
cfda30c81a
fix(sqllab): Force trino client async execution ( #24859 )
2023-09-06 14:20:26 -07:00
Jesse Yang
7e836e9b04
test: autouse app_context in unit tests ( #20911 )
2022-08-02 15:42:50 -07:00
Daniel Vaz Gaspar
60eb1094a4
feat: add name, description and non null tables to RLS ( #20432 )
...
* feat: add name, description and non null tables to RLS
* add validation
* add and fix tests
* fix sqlite migration
* improve default value for name
2022-06-20 13:52:05 +01:00
John Bodley
449d08b25e
fix: Refactor SQL username logic ( #19914 )
...
Co-authored-by: John Bodley <john.bodley@airbnb.com >
2022-05-12 21:03:05 -07:00
Beto Dealmeida
f2881e5bbd
feat: RLS for SQL Lab ( #19999 )
...
* feat: RLS for SQL Lab
* Small fixes
* Pass username to security manager
* Update docstrings
* Add tests
* Remove type from docstring
2022-05-12 11:03:01 -07:00