]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
refactor (sql): simplify and optimize internal SQL handling
authorShamil <ashm.tech@proton.me>
Mon, 21 Apr 2025 16:36:21 +0000 (12:36 -0400)
committerFederico Caselli <cfederico87@gmail.com>
Thu, 24 Apr 2025 19:51:11 +0000 (21:51 +0200)
Replaced redundant variable assignments with direct operations. Used `dict.get()` for safer dictionary lookups to streamline logic. Improves code readability and reduces unnecessary lines.

Closes: #12538
Pull-request: https://github.com/sqlalchemy/sqlalchemy/pull/12538
Pull-request-sha: d322d1508cfc37668099e6624816aba9c647ad51

Change-Id: Ib3dfc7086ec35117fdad65e136a17aa014b96ae5
(cherry picked from commit 93b0be7009b4f6efd091fda31229353f929f4cc9)

lib/sqlalchemy/sql/cache_key.py
lib/sqlalchemy/sql/compiler.py
lib/sqlalchemy/sql/crud.py
lib/sqlalchemy/sql/lambdas.py

index 1f562f2e67b4216e2bdbbc4781223bd515c609fa..cec0450aa61bc72b6151e8c1a90a4021e8097f77 100644 (file)
@@ -516,7 +516,7 @@ class CacheKey(NamedTuple):
                             e2,
                         )
             else:
-                pickup_index = stack.pop(-1)
+                stack.pop(-1)
                 break
 
     def _diff(self, other: CacheKey) -> str:
index 098667f92b6598e110d08d2930117ce93fafb982..f171256d4a1b5b0971e463079410df07790bc82c 100644 (file)
@@ -4292,7 +4292,7 @@ class SQLCompiler(Compiled):
                 inner = "(%s)" % (inner,)
             return inner
         else:
-            enclosing_alias = kwargs["enclosing_alias"] = alias
+            kwargs["enclosing_alias"] = alias
 
         if asfrom or ashint:
             if isinstance(alias.name, elements._truncated_label):
index c0c0c86bb9c6d808dd2bd382ce2a605aae31fe82..4a592ff7b975873e281a68fb06d51422f13295a6 100644 (file)
@@ -241,7 +241,7 @@ def _get_crud_params(
         stmt_parameter_tuples = list(spd.items())
         spd_str_key = {_column_as_key(key) for key in spd}
     else:
-        stmt_parameter_tuples = spd = spd_str_key = None
+        stmt_parameter_tuples = spd_str_key = None
 
     # if we have statement parameters - set defaults in the
     # compiled params
index 8d70f800e74614be694952f4e32f18b8809a5440..ce755c1f8327678a84e8554226a1b151d63f16d3 100644 (file)
@@ -256,10 +256,7 @@ class LambdaElement(elements.ClauseElement):
 
                 self.closure_cache_key = cache_key
 
-                try:
-                    rec = lambda_cache[tracker_key + cache_key]
-                except KeyError:
-                    rec = None
+                rec = lambda_cache.get(tracker_key + cache_key)
             else:
                 cache_key = _cache_key.NO_CACHE
                 rec = None
@@ -1173,7 +1170,7 @@ class AnalyzedFunction:
                         closure_pywrappers.append(bind)
                 else:
                     value = fn.__globals__[name]
-                    new_globals[name] = bind = PyWrapper(fn, name, value)
+                    new_globals[name] = PyWrapper(fn, name, value)
 
             # rewrite the original fn.   things that look like they will
             # become bound parameters are wrapped in a PyWrapper.