Commit c6d26af5 authored by Vincent Pelletier's avatar Vincent Pelletier

ZSQLCatalog.SQLCatalog: Raise on unknown column by default.

Update callers which could not be fixed so they disable the exception.
Reviewed-by: Jérome Perrin's avatarJerôme Perrin <jerome@nexedi.com>
parent c4fc940c
...@@ -60,6 +60,7 @@ if not kw:\n ...@@ -60,6 +60,7 @@ if not kw:\n
portal = context.getPortalObject()\n portal = context.getPortalObject()\n
person = portal.portal_catalog.getResultValue(portal_type="Person",\n person = portal.portal_catalog.getResultValue(portal_type="Person",\n
validation_state="validated",\n validation_state="validated",\n
ignore_unknown_columns=True,\n
**kw)\n **kw)\n
\n \n
return json.dumps(dict(response=(person is not None)))\n return json.dumps(dict(response=(person is not None)))\n
......
...@@ -52,11 +52,12 @@ class InventoryListBrain(ComputedAttributeGetItemCompatibleMixin): ...@@ -52,11 +52,12 @@ class InventoryListBrain(ComputedAttributeGetItemCompatibleMixin):
Lists each variation Lists each variation
""" """
# Stock management # Stock management
def _callSimulationTool(self, method_id, **kw): def _callSimulationTool(self, method_id, ignore_unknown_columns=True, **kw):
return getattr( return getattr(
self.getPortalObject().portal_simulation, self.getPortalObject().portal_simulation,
method_id, method_id,
)( )(
ignore_unknown_columns=ignore_unknown_columns,
node_uid=self.node_uid, node_uid=self.node_uid,
variation_text=self.variation_text, variation_text=self.variation_text,
resource_uid=self.resource_uid, resource_uid=self.resource_uid,
......
...@@ -73,7 +73,7 @@ node = context.Base_getAdvancedSearchSyntaxTreeNode(value, column=column)\n ...@@ -73,7 +73,7 @@ node = context.Base_getAdvancedSearchSyntaxTreeNode(value, column=column)\n
if node is None:\n if node is None:\n
return context.buildSingleQuery(column, value)\n return context.buildSingleQuery(column, value)\n
else:\n else:\n
return context.buildQueryFromAbstractSyntaxTreeNode(node, column)\n return context.buildQueryFromAbstractSyntaxTreeNode(node, column, ignore_unknown_columns=True)\n
</string> </value> </string> </value>
</item> </item>
<item> <item>
......
...@@ -1693,10 +1693,6 @@ class TestMovementHistoryList(InventoryAPITestCase): ...@@ -1693,10 +1693,6 @@ class TestMovementHistoryList(InventoryAPITestCase):
self.assertRaises(ValueError, self.assertRaises(ValueError,
getMovementHistoryList, getMovementHistoryList,
section_category='group/notexists') section_category='group/notexists')
# (but other arguments are ignored)
self.assertEqual(len(getMovementHistoryList(
section_category='group/level1',
ignored='argument')), 1)
@expectedFailure @expectedFailure
def testDoubleSectionCategory(self): def testDoubleSectionCategory(self):
......
...@@ -210,6 +210,7 @@ class Selection(Acquisition.Implicit, Traversable, Persistent): ...@@ -210,6 +210,7 @@ class Selection(Acquisition.Implicit, Traversable, Persistent):
kw = self.params.copy() kw = self.params.copy()
else: else:
kw = params.copy() kw = params.copy()
kw.setdefault("ignore_unknown_columns", True)
# Always remove '-C'-named parameter. # Always remove '-C'-named parameter.
kw.pop('-C', None) kw.pop('-C', None)
if self.invert_mode is not 0: if self.invert_mode is not 0:
......
...@@ -2178,7 +2178,7 @@ class Catalog(Folder, ...@@ -2178,7 +2178,7 @@ class Catalog(Folder,
result = None result = None
return result return result
def buildQueryFromAbstractSyntaxTreeNode(self, node, key, wrap=lambda x: x, ignore_unknown_columns=True): def buildQueryFromAbstractSyntaxTreeNode(self, node, key, wrap=lambda x: x, ignore_unknown_columns=False):
""" """
Build a query from given Abstract Syntax Tree (AST) node by recursing in Build a query from given Abstract Syntax Tree (AST) node by recursing in
its childs. its childs.
...@@ -2231,7 +2231,7 @@ class Catalog(Folder, ...@@ -2231,7 +2231,7 @@ class Catalog(Folder,
return self._parseSearchText(self.getSearchKey( return self._parseSearchText(self.getSearchKey(
column, search_key=search_key), search_text, is_valid=is_valid) column, search_key=search_key), search_text, is_valid=is_valid)
def buildQuery(self, kw, ignore_empty_string=True, operator='and', ignore_unknown_columns=True): def buildQuery(self, kw, ignore_empty_string=True, operator='and', ignore_unknown_columns=False):
query_list = [] query_list = []
append = query_list.append append = query_list.append
# unknown_column_dict: contains all (key, value) pairs which could not be # unknown_column_dict: contains all (key, value) pairs which could not be
...@@ -2375,7 +2375,7 @@ class Catalog(Folder, ...@@ -2375,7 +2375,7 @@ class Catalog(Folder,
def buildEntireQuery(self, kw, query_table='catalog', ignore_empty_string=1, def buildEntireQuery(self, kw, query_table='catalog', ignore_empty_string=1,
limit=None, extra_column_list=(), limit=None, extra_column_list=(),
ignore_unknown_columns=True): ignore_unknown_columns=False):
kw = self.getCannonicalArgumentDict(kw) kw = self.getCannonicalArgumentDict(kw)
group_by_list = kw.pop('group_by_list', []) group_by_list = kw.pop('group_by_list', [])
select_dict = kw.pop('select_dict', {}) select_dict = kw.pop('select_dict', {})
...@@ -2417,7 +2417,7 @@ class Catalog(Folder, ...@@ -2417,7 +2417,7 @@ class Catalog(Folder,
def buildSQLQuery(self, query_table='catalog', REQUEST=None, def buildSQLQuery(self, query_table='catalog', REQUEST=None,
ignore_empty_string=1, only_group_columns=False, ignore_empty_string=1, only_group_columns=False,
limit=None, extra_column_list=(), limit=None, extra_column_list=(),
ignore_unknown_columns=True, ignore_unknown_columns=False,
**kw): **kw):
return self.buildEntireQuery( return self.buildEntireQuery(
kw, kw,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment