OpenTenBase / OpenTenBase/TXSQL
subquery_to_derived duplicate name
Dieses Issue hat noch niemand übernommen.
- Vorherrschende Sprache
- C++
- Sterne
- 337
- Forks
- 234
- PR-Merge-Kennzahlen
- Keine gemergten PRs in 30 T.
Beschreibung
With optimizer_switch='subquery_to_derived=on', running the reproducer below on a freshly created schema crashes the server process. The query was expected to return a result set (or at worst a query-level error) without affecting the server, but instead the server crashes. With subquery_to_derived=off the same query runs fine.
Crash SQL
CREATE TABLE t1 (a BIGINT PRIMARY KEY, b BIGINT);
CREATE TABLE t2 (a BIGINT PRIMARY KEY);
SELECT /*+ SET_VAR(optimizer_switch='subquery_to_derived=on') */
COUNT(DISTINCT s.a) = (SELECT COUNT(DISTINCT s1.a)
FROM t2 s1 WHERE s1.a = o.b) AS x
FROM t1 o LEFT JOIN t2 s ON o.b = s.a
GROUP BY o.a, o.b;
Beitragsleitfaden
Für dieses Repository ist kein Beitragsleitfaden indexiert
Erste Schritte
- Lies das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreib ins Issue, dass du es übernimmst — das erspart doppelte Arbeit.
- Forke das Repository und arbeite in einem Branch.
- Öffne einen Pull Request, der die Issue-Nummer nennt.
Rechercherichtung
Führe zunächst den bereitgestellten SQL-Reproducer in einem frisch erstellten Schema mit aktiviertem subquery_to_derived aus und vergleiche ihn anschließend mit deaktivierter Einstellung. Verfolge den Optimizer-Pfad, der die Subquery transformiert und doppelte Namen behandelt; abgeschlossen ist die Aufgabe, wenn die Abfrage den Server nicht mehr zum Absturz bringt, sondern stattdessen ein Resultset oder einen Fehler auf Abfrageebene zurückgibt.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Bewertung
- Tech-Stack
- sql
- Bereich
- databases
- Issue-Typ
- Bug
- Schwierigkeit
- 4/5
- Geschätzter Aufwand
- 3-5 Tage
- Aktivitätsstatus
- Ruhig
- Klarheit
- Größtenteils klar
- Anfängerfreundlichkeit
- 45/100