') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ', 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); })(); Remove query obj from providers fab by Prab-27 · Pull Request #53953 · apache/airflow · GitHub
Skip to content

Remove query obj from providers fab - #53953

Merged
vincbeck merged 11 commits into
apache:mainfrom
Prab-27:remove-query-obj-from-providers-fab
Aug 29, 2025
Merged

Remove query obj from providers fab#53953
vincbeck merged 11 commits into
apache:mainfrom
Prab-27:remove-query-obj-from-providers-fab

Conversation

@Prab-27

Copy link
Copy Markdown
Contributor

Related discussion : here

This PR is part of the migration to SQLAlchemy 2.0

Removed session.query() from src and tests


^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named {pr_number}.significant.rst or {issue_number}.significant.rst, in airflow-core/newsfragments.

@Prab-27
Prab-27force-pushed the remove-query-obj-from-providers-fab branch from 953c467 to 56773aeCompareAugust 3, 2025 10:50
@Prab-27
Prab-27force-pushed the remove-query-obj-from-providers-fab branch from 56773ae to 9412a3aCompareAugust 10, 2025 12:14
@Prab-27
Prab-27 marked this pull request as ready for review August 11, 2025 03:32
@Prab-27
Prab-27 requested a review from vincbeck as a code ownerAugust 11, 2025 03:32
@potiuk

Copy link
Copy Markdown
Member

conflicts to solve :(

@Prab-27

Copy link
Copy Markdown
ContributorAuthor

I need to deep dive into pre-commit hook because it doesn't detect certain patterns session.query code from fab like

security_manager.sync_roles()
num_pv_before = db.session().query(ab_perm_role).count()
security_manager.sync_roles()
num_pv_after = db.session().query(ab_perm_role).count()
assert num_pv_before == num_pv_after
 sesh = self.appbuilder.get_session
perms = sesh.query(Permission).filter(
or_(
Permission.action == None, # noqa: E711
Permission.resource == None, # noqa: E711
)
)

@Prab-27
Prab-27force-pushed the remove-query-obj-from-providers-fab branch 3 times, most recently from 64867c1 to 380232dCompareAugust 28, 2025 10:42
@Prab-27

Copy link
Copy Markdown
ContributorAuthor

Thanks I'll update pre-commit hook

@Prab-27
Prab-27force-pushed the remove-query-obj-from-providers-fab branch from 380232d to a9772b4CompareAugust 28, 2025 12:52
@Prab-27

Copy link
Copy Markdown
ContributorAuthor

Sorry! I forgot to include this earlier. It's updated now.

@vincbeck

Copy link
Copy Markdown
Contributor

Nice! It detected some missing then (a good proof it works :))

@Prab-27

Copy link
Copy Markdown
ContributorAuthor

Apologies—some query objects were still present. I should have reviewed them earlier. I'll update the code shortly

@Prab-27
Prab-27force-pushed the remove-query-obj-from-providers-fab branch from a9772b4 to 7db69c1CompareAugust 29, 2025 09:40
@Prab-27
Prab-27 requested a review from vincbeckAugust 29, 2025 13:59
@vincbeck
vincbeck merged commit 06ca8a9 into apache:mainAug 29, 2025
73 checks passed
mangal-vairalkar pushed a commit to mangal-vairalkar/airflow that referenced this pull request Aug 30, 2025
* remove session.query from tests
* remove session.query from fab/src
* fix errors
* Removed unnecessary comments code and applied small fixes
* resolved conflict and removed session.query from it
* remove .query()
* fix static checks
* fix static checks
* fix import error
* include fab provider in pre-commit check
* remove query obj from test_user_endpoint
bggwak pushed a commit to bggwak/airflow that referenced this pull request Sep 2, 2025
* remove session.query from tests
* remove session.query from fab/src
* fix errors
* Removed unnecessary comments code and applied small fixes
* resolved conflict and removed session.query from it
* remove .query()
* fix static checks
* fix static checks
* fix import error
* include fab provider in pre-commit check
* remove query obj from test_user_endpoint
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants

@Prab-27@potiuk@vincbeck