1
0
mirror of https://github.com/MariaDB/server.git synced 2025-11-08 00:28:29 +03:00

MDEV-13817 add support for oracle left join syntax - the ( + )

Parser changes made by Alexander Barkov <bar@mariadb.com>.

Part of the tests made by Iqbal Hassan <iqbal@hasprime.com>.
Initially marking with ORA_JOIN flag made also by
Iqbal Hassan <iqbal@hasprime.com>.

Main idea is that parser mark fields with (+) with a flag
(ORA_JOIN).

During Prepare the flag bring to the new created items if needed.

Later after preparing (fix_firlds()) WHERE confition the
relations betweel the tables analyzed and tables reordered
so to make JOIN/LEFT JOIN operators in chain equivalent to
the query with oracle outer join operator (+).

Then the flags of (+) removed.
This commit is contained in:
Oleksandr Byelkin
2025-05-12 16:23:20 +02:00
parent 58a2184f5d
commit dae5a99c73
26 changed files with 3560 additions and 34 deletions

1147
sql/sql_oracle_outer_join.cc Normal file

File diff suppressed because it is too large Load Diff