• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

tarantool / tarantool / 32932739057
88%

Build:
DEFAULT BRANCH: master
Ran 26 Aug 2026 05:21AM UTC
Jobs 1
Files 529
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

26 Aug 2026 05:06AM UTC coverage: 87.853% (-0.03%) from 87.879%
32932739057

push

github

ImeevMA
sql: calculate the `JOIN` type using parser rules

This patch creates rules for evaluating the `JOIN` type instead of using
the special function defined in `select.c`.

This simplifies the evaluation. It also changes the error description
when the `JOIN` type evaluates to both `INNER` and `OUTER`.

Some errors related to `JOIN` evaluation are now reduced to syntax
errors.

Part of #5485

@TarantoolBot document
Title: Supported `JOIN` type keyword combinations

In Tarantool SQL, a `JOIN` type is defined by combining up to three
special keywords (`CROSS`, `INNER`, `LEFT`, `NATURAL`, `OUTER`, `RIGHT`)
before the `JOIN` operator:
1. No keyword - `INNER JOIN`.
2. One keyword:
  - `CROSS` -> `INNER JOIN` + `CROSS JOIN`;
  - `INNER` -> `INNER JOIN`;
  - `LEFT` -> `LEFT JOIN` + `OUTER JOIN`;
  - `NATURAL` -> `NATURAL JOIN`;
  - `OUTER` -> `OUTER JOIN`;
  - `RIGHT` -> `RIGHT JOIN` + `OUTER JOIN`;
3. Two and three keywords - union of types from previous rule.

The `JOIN` type cannot be both `INNER` and `OUTER`. Also, `OUTER` other
than `LEFT`/`LEFT OUTER` is not supported (for example, `RIGHT JOIN`,
`RIGHT OUTER JOIN`, plain `OUTER JOIN`, or `LEFT RIGHT JOIN`).

72309 of 121422 branches covered (59.55%)

19 of 19 new or added lines in 2 files covered. (100.0%)

147 existing lines in 20 files now uncovered.

108211 of 123173 relevant lines covered (87.85%)

1387314.85 hits per line

Coverage Regressions

Lines Coverage ∆ File
39
93.68
-0.01% src/box/sql/parse.c
22
95.07
0.6% src/box/sql/ast.c
21
93.0
0.01% src/box/sql/parse.y
20
90.73
-0.61% src/box/box.cc
8
60.42
-3.55% src/lib/core/fio.c
6
95.22
-1.04% src/box/vy_read_iterator.c
4
87.94
-0.27% src/box/vy_run.c
4
89.79
-0.21% src/box/xrow.c
4
93.31
-1.27% src/lib/swim/swim_io.c
4
22.64
-0.08% src/lib/uri/uri_parser.c
3
95.33
-0.31% src/box/replication.cc
2
93.02
-0.03% src/box/xrow_update_field.c
2
80.95
-9.52% src/lib/core/tt_sigaction.c
2
97.26
0.1% src/lib/msgpuck/msgpuck.h
1
96.55
-0.28% src/box/lua/init.c
1
85.71
-0.07% src/box/xlog.c
1
94.3
0.2% src/lib/core/fiber.c
1
98.08
-0.31% src/lib/json/json.c
1
96.23
-0.05% src/lib/salad/bps_tree.h
1
79.44
-0.25% src/main.cc
Jobs
ID Job ID Ran Files Coverage
1 32932739057.1 26 Aug 2026 05:21AM UTC 529
87.85
GitHub Action Run
Source Files on build 32932739057
  • Tree
  • List 529
  • Changed 28
  • Source Changed 0
  • Coverage Changed 28
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • 990019b3 on github
  • Prev Build on master (#32889611747)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc