summaryrefslogtreecommitdiff
path: root/bin/osv/expression.py
diff options
context:
space:
mode:
authorhusen daudi <hda@hda>2009-08-12 18:36:26 +0530
committerhusen daudi <hda@hda>2009-08-12 18:36:26 +0530
commit076c4f13d628d40be9b2a2eb4e646fa57dfaee74 (patch)
tree9a551e3f2e453db40d0178144f6869545f275be6 /bin/osv/expression.py
parent695f0ef325e052f028e74519047e3763660e9d9a (diff)
Revert bad commit
bzr revid: hda@hda-20090812130626-zw5ryz7iu6lht4mi
Diffstat (limited to 'bin/osv/expression.py')
-rw-r--r--bin/osv/expression.py24
1 files changed, 7 insertions, 17 deletions
diff --git a/bin/osv/expression.py b/bin/osv/expression.py
index ec5c5302fb5..b89e7ff3d96 100644
--- a/bin/osv/expression.py
+++ b/bin/osv/expression.py
@@ -103,24 +103,14 @@ class expression(object):
left, operator, right = e
working_table = table
- main_table = table
- fargs = left.split('.', 1)
- index = i
if left in table._inherit_fields:
- while True:
- field = main_table._columns.get(fargs[0], False)
- if field:
- working_table = main_table
-# self.__tables[index-1] = self.__tables[i]
- self.__tables[i] = working_table
- break
- working_table = main_table.pool.get(main_table._inherit_fields[left][0])
- if working_table not in self.__tables.values():
- self.__joins.append(('%s.%s=%s.%s' % (working_table._table, 'id', main_table._table, main_table._inherits[working_table._name]), working_table._table))
- self.__tables[index] = working_table
- index += 1
- main_table = working_table
-
+ working_table = table.pool.get(table._inherit_fields[left][0])
+ if working_table not in self.__tables.values():
+ self.__joins.append(('%s.%s=%s.%s' % (working_table._table, 'id', table._table, table._inherits[working_table._name]), working_table._table))
+
+ self.__tables[i] = working_table
+
+ fargs = left.split('.', 1)
field = working_table._columns.get(fargs[0], False)
if not field:
if left == 'id' and operator == 'child_of':