web2py is always backward compatible, you can use either row.update or row.update_record but if you use db(db.cdsdata.id>0).select('extracted') you can't use update_record because your rows didn't received an id from db so you ca use any of this
rows=db(db.cdsdata.id>0).select() rows=db(db.cdsdata.id>0).select(db.cdsdata.ALL) or just id and extracted if you are not going to use other fields rows=db(db.cdsdata.id>0).select(db.cdsdata.id, db.cdsdata.extracted)