Skip to content
This repository was archived by the owner on Apr 2, 2026. It is now read-only.

Join bug fix

Choose a tag to compare

@root-11 root-11 released this 06 Feb 10:23

In join we previously had a check that would raise if the input table had no rows.
This lead to some data pipelines being disrupted when filtering as an error would be raised.
In this patch we have removed this validation, so that an empty table (generating an empty set) can pass.

The logic for this change is that, if this is valid:

AA = Table({'A':[1,2,3], 'B':[10,20,30]})
BB = Table({'A1': [1,2,3], 'B1': [1,2,3]})
CC = AA.join(BB, ['B'], ['B1'])
CC.show()
+===+=====+=====+=====+=====+
| # |  A  |  B  |  A1 |  B1 |
|row|empty|empty|empty|empty|
+---+-----+-----+-----+-----+
+===+=====+=====+=====+=====+

then so is this:

A = Table({'A':[1,2,3], 'B':[]})
B = Table({'A1': [1]})
C = B.join(A, left_keys=['A1'], right_keys=['B'])
C.show()
+=+==+=+=+
|#|A1|A|B|
+-+--+-+-+
+=+==+=+=+