As of commit 766b0d659a77
, we’ve changed the behavior of take
, collect
, and show
on column and entry expressions from MatrixTables. There’s been no change to row expressions because they are always sorted.
Example:
Suppose there’s a matrix table mt
with 4 columns keyed by column field s
with values ["Bob", "Alice", "Dave", "Carol"]
. Before, calling mt.s.collect()
would result in ['Alice', 'Bob', 'Carol', 'Dave']
. Now, the new behavior is the order of the result is the same as the order in the original matrix table. So now mt.s.collect()
would result in ['Bob', 'Alice', 'Dave', 'Carol']
. However, mt.cols().s.collect()
would result in ['Alice', 'Bob', 'Carol', 'Dave']
because the table is sorted by the row key s
after converting from MatrixTable to Table. The same applies for entry expressions!