rusackas commented on code in PR #42598:
URL: https://github.com/apache/superset/pull/42598#discussion_r3706351295
##########
superset/extensions/metadb.py:
##########
@@ -119,6 +134,51 @@ def create_connect_args(self, url: URL) ->
tuple[tuple[()], dict[str, Any]]:
},
)
+ def do_execute(
+ self,
+ cursor: Any,
+ statement: str,
+ parameters: Any,
+ context: Any = None,
+ ) -> None:
+ with self._flag_join_query(statement):
+ super().do_execute(cursor, statement, parameters, context)
Review Comment:
Pushed the exact regression test you proposed (table1_large x
table2_multi_late_match, 2 genuine matches at a=2/a=3,
SUPERSET_META_DB_LIMIT=2). It passes across test-sqlite, test-mysql,
test-postgres, and unit-tests, no failures:
https://github.com/apache/superset/pull/42598/commits/9cdd449c5e
One caveat I want to flag rather than paper over: since `a` is a primary key
on both sides here, each per-outer-row inner lookup can only ever match a
single row regardless of what limit gets applied to it, so this test may not be
a maximally strict probe of the "limit reapplied mid cursor-iteration" scenario
specifically, it mainly confirms this concrete shape doesn't reproduce a
failure. If you think a genuine one-to-many fan-out (multiple inner matches for
a single outer key, exceeding SUPERSET_META_DB_LIMIT on that one key) is worth
adding as a stricter test, happy to add it, just didn't want to claim more
confidence than this result actually supports.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]