Dear Web2py Team,

in your web documentation for combining rows it says: 

"You can do union of the records in two sets of rows:
>>> rows3 = rows1 & rows2"

This worked with PyDal 17.08 where method __and__ of Rows Class in 
objects.py was defined as:

def __and__(self, other):
    ....
    records = self.records + other.records
    ....

In PyDal 17.11 method __and__ of Rows Class in objects.py is defined as:

def __and__(self, other):
    ....
    records = []
    other_records = list(other.records)
    for record in self.records:
        if record in other_records:
            records.append(record)
            other_records.remove(record)

This will return no combination of two recordsets but a logical AND of two 
recordsets which is always an empty list if there are no duplicate records 
in the two sets.

Is this intended or is just a 'not' missing to do a real UNION of the 
recordsets, removing duplicates?
In this case it would also remain a problem when 'self.records' is shorter 
than 'other_records', because you would loose records of 'other_records'

Please let me know if this will be changed, or if there will be another 
recommended way of combining rows.

Many thanks in advance,
Michael





-- 
Resources:
- http://web2py.com
- http://web2py.com/book (Documentation)
- http://github.com/web2py/web2py (Source code)
- https://code.google.com/p/web2py/issues/list (Report Issues)
--- 
You received this message because you are subscribed to the Google Groups 
"web2py-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to web2py+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to