This repository was archived by the owner on Apr 2, 2026. It is now read-only.
Join bug fix
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|
+-+--+-+-+
+=+==+=+=+