[Erp5-report] r27296 - in /erp5/trunk/products/ZSQLCatalog: ./ Interface/ Operator/ Query/ ...
nobody at svn.erp5.org
nobody at svn.erp5.org
Mon Jun 1 13:33:40 CEST 2009
Author: kazuhiko
Date: Mon Jun 1 13:33:39 2009
New Revision: 27296
URL: http://svn.erp5.org?rev=27296&view=rev
Log:
interfaces directory now follows zope naming convention.
Added:
erp5/trunk/products/ZSQLCatalog/interfaces/
- copied from r27278, erp5/trunk/products/ZSQLCatalog/Interface/
erp5/trunk/products/ZSQLCatalog/interfaces/abstract_syntax_node.py
- copied unchanged from r27278, erp5/trunk/products/ZSQLCatalog/Interface/IAbstractSyntaxNode.py
erp5/trunk/products/ZSQLCatalog/interfaces/column_map.py
- copied unchanged from r27278, erp5/trunk/products/ZSQLCatalog/Interface/IColumnMap.py
erp5/trunk/products/ZSQLCatalog/interfaces/entire_query.py
- copied unchanged from r27278, erp5/trunk/products/ZSQLCatalog/Interface/IEntireQuery.py
erp5/trunk/products/ZSQLCatalog/interfaces/operator.py
- copied unchanged from r27278, erp5/trunk/products/ZSQLCatalog/Interface/IOperator.py
erp5/trunk/products/ZSQLCatalog/interfaces/query.py
- copied unchanged from r27278, erp5/trunk/products/ZSQLCatalog/Interface/IQuery.py
erp5/trunk/products/ZSQLCatalog/interfaces/query_catalog.py
- copied unchanged from r27278, erp5/trunk/products/ZSQLCatalog/Interface/IQueryCatalog.py
erp5/trunk/products/ZSQLCatalog/interfaces/search_key.py
- copied unchanged from r27278, erp5/trunk/products/ZSQLCatalog/Interface/ISearchKey.py
erp5/trunk/products/ZSQLCatalog/interfaces/sql_expression.py
- copied unchanged from r27278, erp5/trunk/products/ZSQLCatalog/Interface/ISQLExpression.py
Removed:
erp5/trunk/products/ZSQLCatalog/Interface/
erp5/trunk/products/ZSQLCatalog/interfaces/IAbstractSyntaxNode.py
erp5/trunk/products/ZSQLCatalog/interfaces/IColumnMap.py
erp5/trunk/products/ZSQLCatalog/interfaces/IEntireQuery.py
erp5/trunk/products/ZSQLCatalog/interfaces/IOperator.py
erp5/trunk/products/ZSQLCatalog/interfaces/IQuery.py
erp5/trunk/products/ZSQLCatalog/interfaces/IQueryCatalog.py
erp5/trunk/products/ZSQLCatalog/interfaces/ISQLExpression.py
erp5/trunk/products/ZSQLCatalog/interfaces/ISearchKey.py
erp5/trunk/products/ZSQLCatalog/interfaces/Verify.py
Modified:
erp5/trunk/products/ZSQLCatalog/ColumnMap.py
erp5/trunk/products/ZSQLCatalog/Operator/ComparisonOperator.py
erp5/trunk/products/ZSQLCatalog/Operator/OperatorBase.py
erp5/trunk/products/ZSQLCatalog/Query/AutoQuery.py
erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py
erp5/trunk/products/ZSQLCatalog/Query/EntireQuery.py
erp5/trunk/products/ZSQLCatalog/Query/Query.py
erp5/trunk/products/ZSQLCatalog/Query/RelatedQuery.py
erp5/trunk/products/ZSQLCatalog/Query/SQLQuery.py
erp5/trunk/products/ZSQLCatalog/Query/SimpleQuery.py
erp5/trunk/products/ZSQLCatalog/SQLCatalog.py
erp5/trunk/products/ZSQLCatalog/SQLExpression.py
erp5/trunk/products/ZSQLCatalog/SearchKey/DateTimeKey.py
erp5/trunk/products/ZSQLCatalog/SearchKey/DefaultKey.py
erp5/trunk/products/ZSQLCatalog/SearchKey/FullTextKey.py
erp5/trunk/products/ZSQLCatalog/SearchKey/KeywordKey.py
erp5/trunk/products/ZSQLCatalog/SearchKey/RawKey.py
erp5/trunk/products/ZSQLCatalog/SearchKey/RelatedKey.py
erp5/trunk/products/ZSQLCatalog/SearchKey/SearchKey.py
erp5/trunk/products/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py
erp5/trunk/products/ZSQLCatalog/interfaces/__init__.py
Modified: erp5/trunk/products/ZSQLCatalog/ColumnMap.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/ColumnMap.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/ColumnMap.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/ColumnMap.py [utf8] Mon Jun 1 13:33:39 2009
@@ -28,7 +28,7 @@
##############################################################################
from zLOG import LOG, WARNING, INFO
-from Interface.IColumnMap import IColumnMap
+from interfaces.column_map import IColumnMap
from Interface.Verify import verifyClass
from SQLCatalog import profiler_decorator
Modified: erp5/trunk/products/ZSQLCatalog/Operator/ComparisonOperator.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Operator/ComparisonOperator.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Operator/ComparisonOperator.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Operator/ComparisonOperator.py [utf8] Mon Jun 1 13:33:39 2009
@@ -30,7 +30,7 @@
from OperatorBase import OperatorBase
from Products.ZSQLCatalog.SQLExpression import SQLExpression
-from Products.ZSQLCatalog.Interface.IOperator import IOperator
+from Products.ZSQLCatalog.interfaces.operator import IOperator
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
Modified: erp5/trunk/products/ZSQLCatalog/Operator/OperatorBase.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Operator/OperatorBase.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Operator/OperatorBase.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Operator/OperatorBase.py [utf8] Mon Jun 1 13:33:39 2009
@@ -29,7 +29,7 @@
##############################################################################
from zLOG import LOG
-from Products.ZSQLCatalog.Interface.IOperator import IOperator
+from Products.ZSQLCatalog.interfaces.operator import IOperator
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
Modified: erp5/trunk/products/ZSQLCatalog/Query/AutoQuery.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Query/AutoQuery.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Query/AutoQuery.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Query/AutoQuery.py [utf8] Mon Jun 1 13:33:39 2009
@@ -30,7 +30,7 @@
from Query import Query
from zLOG import LOG
-from Products.ZSQLCatalog.Interface.IQuery import IQuery
+from Products.ZSQLCatalog.interfaces.query import IQuery
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
Modified: erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Query/ComplexQuery.py [utf8] Mon Jun 1 13:33:39 2009
@@ -31,7 +31,7 @@
from Query import Query
from Products.ZSQLCatalog.SQLExpression import SQLExpression
from SQLQuery import SQLQuery
-from Products.ZSQLCatalog.Interface.IQuery import IQuery
+from Products.ZSQLCatalog.interfaces.query import IQuery
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
Modified: erp5/trunk/products/ZSQLCatalog/Query/EntireQuery.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Query/EntireQuery.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Query/EntireQuery.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Query/EntireQuery.py [utf8] Mon Jun 1 13:33:39 2009
@@ -31,7 +31,7 @@
from Products.ZSQLCatalog.SQLExpression import SQLExpression
from Products.ZSQLCatalog.ColumnMap import ColumnMap
from zLOG import LOG
-from Products.ZSQLCatalog.Interface.IEntireQuery import IEntireQuery
+from Products.ZSQLCatalog.interfaces.entire_query import IEntireQuery
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
Modified: erp5/trunk/products/ZSQLCatalog/Query/Query.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Query/Query.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Query/Query.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Query/Query.py [utf8] Mon Jun 1 13:33:39 2009
@@ -28,7 +28,7 @@
#
##############################################################################
-from Products.ZSQLCatalog.Interface.IQuery import IQuery
+from Products.ZSQLCatalog.interfaces.query import IQuery
from Interface.Verify import verifyClass
class Query(object):
Modified: erp5/trunk/products/ZSQLCatalog/Query/RelatedQuery.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Query/RelatedQuery.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Query/RelatedQuery.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Query/RelatedQuery.py [utf8] Mon Jun 1 13:33:39 2009
@@ -30,7 +30,7 @@
from Query import Query
from Products.ZSQLCatalog.SQLExpression import SQLExpression
-from Products.ZSQLCatalog.Interface.IQuery import IQuery
+from Products.ZSQLCatalog.interfaces.query import IQuery
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
Modified: erp5/trunk/products/ZSQLCatalog/Query/SQLQuery.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Query/SQLQuery.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Query/SQLQuery.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Query/SQLQuery.py [utf8] Mon Jun 1 13:33:39 2009
@@ -30,7 +30,7 @@
from Query import Query
from Products.ZSQLCatalog.SQLExpression import SQLExpression
-from Products.ZSQLCatalog.Interface.IQuery import IQuery
+from Products.ZSQLCatalog.interfaces.query import IQuery
from Interface.Verify import verifyClass
class SQLQuery(Query):
Modified: erp5/trunk/products/ZSQLCatalog/Query/SimpleQuery.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Query/SimpleQuery.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/Query/SimpleQuery.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/Query/SimpleQuery.py [utf8] Mon Jun 1 13:33:39 2009
@@ -29,7 +29,7 @@
##############################################################################
from Query import Query
-from Products.ZSQLCatalog.Interface.IQuery import IQuery
+from Products.ZSQLCatalog.interfaces.query import IQuery
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
from zLOG import LOG, WARNING
Modified: erp5/trunk/products/ZSQLCatalog/SQLCatalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SQLCatalog.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SQLCatalog.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SQLCatalog.py [utf8] Mon Jun 1 13:33:39 2009
@@ -42,7 +42,7 @@
import os
import md5
-from Interface.IQueryCatalog import ISearchKeyCatalog
+from interfaces.query_catalog import ISearchKeyCatalog
from Interface.Verify import verifyClass
from SearchText import isAdvancedSearchText
@@ -1965,7 +1965,7 @@
key
Default column (used when there is no explicit column in an AST leaf).
- Expected node API is described in Interface/IAbstractSyntaxNode.py .
+ Expected node API is described in interfaces/abstract_syntax_node.py .
"""
search_key, related_key_definition = self.getColumnSearchKey(key)
if search_key is None:
Modified: erp5/trunk/products/ZSQLCatalog/SQLExpression.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SQLExpression.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SQLExpression.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SQLExpression.py [utf8] Mon Jun 1 13:33:39 2009
@@ -28,7 +28,7 @@
##############################################################################
from zLOG import LOG
-from Interface.ISQLExpression import ISQLExpression
+from interfaces.sql_expression import ISQLExpression
from Interface.Verify import verifyClass
from types import NoneType
from SQLCatalog import profiler_decorator
Modified: erp5/trunk/products/ZSQLCatalog/SearchKey/DateTimeKey.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SearchKey/DateTimeKey.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SearchKey/DateTimeKey.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SearchKey/DateTimeKey.py [utf8] Mon Jun 1 13:33:39 2009
@@ -34,7 +34,7 @@
from Products.ZSQLCatalog.Query.ComplexQuery import ComplexQuery
from zLOG import LOG
from DateTime.DateTime import DateTime, DateTimeError, _cache
-from Products.ZSQLCatalog.Interface.ISearchKey import ISearchKey
+from Products.ZSQLCatalog.interfaces.search_key import ISearchKey
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
from Products.ZSQLCatalog.SearchText import parse
Modified: erp5/trunk/products/ZSQLCatalog/SearchKey/DefaultKey.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SearchKey/DefaultKey.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SearchKey/DefaultKey.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SearchKey/DefaultKey.py [utf8] Mon Jun 1 13:33:39 2009
@@ -30,7 +30,7 @@
from SearchKey import SearchKey
from Products.ZSQLCatalog.SearchText import parse
-from Products.ZSQLCatalog.Interface.ISearchKey import ISearchKey
+from Products.ZSQLCatalog.interfaces.search_key import ISearchKey
from Interface.Verify import verifyClass
class DefaultKey(SearchKey):
Modified: erp5/trunk/products/ZSQLCatalog/SearchKey/FullTextKey.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SearchKey/FullTextKey.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SearchKey/FullTextKey.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SearchKey/FullTextKey.py [utf8] Mon Jun 1 13:33:39 2009
@@ -31,7 +31,7 @@
from SearchKey import SearchKey
from Products.ZSQLCatalog.Query.SimpleQuery import SimpleQuery
from Products.ZSQLCatalog.SearchText import parse
-from Products.ZSQLCatalog.Interface.ISearchKey import ISearchKey
+from Products.ZSQLCatalog.interfaces.search_key import ISearchKey
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
Modified: erp5/trunk/products/ZSQLCatalog/SearchKey/KeywordKey.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SearchKey/KeywordKey.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SearchKey/KeywordKey.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SearchKey/KeywordKey.py [utf8] Mon Jun 1 13:33:39 2009
@@ -30,7 +30,7 @@
from SearchKey import SearchKey
from Products.ZSQLCatalog.SearchText import parse
-from Products.ZSQLCatalog.Interface.ISearchKey import ISearchKey
+from Products.ZSQLCatalog.interfaces.search_key import ISearchKey
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.Query.SimpleQuery import SimpleQuery
Modified: erp5/trunk/products/ZSQLCatalog/SearchKey/RawKey.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SearchKey/RawKey.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SearchKey/RawKey.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SearchKey/RawKey.py [utf8] Mon Jun 1 13:33:39 2009
@@ -29,7 +29,7 @@
##############################################################################
from SearchKey import SearchKey
-from Products.ZSQLCatalog.Interface.ISearchKey import ISearchKey
+from Products.ZSQLCatalog.interfaces.search_key import ISearchKey
from Interface.Verify import verifyClass
class RawKey(SearchKey):
Modified: erp5/trunk/products/ZSQLCatalog/SearchKey/RelatedKey.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SearchKey/RelatedKey.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SearchKey/RelatedKey.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SearchKey/RelatedKey.py [utf8] Mon Jun 1 13:33:39 2009
@@ -33,7 +33,7 @@
from Products.ZSQLCatalog.Query.RelatedQuery import RelatedQuery
from Products.ZSQLCatalog.Query.SQLQuery import SQLQuery
from Products.ZSQLCatalog.SQLExpression import SQLExpression
-from Products.ZSQLCatalog.Interface.ISearchKey import IRelatedKey
+from Products.ZSQLCatalog.interfaces.search_key import IRelatedKey
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
Modified: erp5/trunk/products/ZSQLCatalog/SearchKey/SearchKey.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SearchKey/SearchKey.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SearchKey/SearchKey.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SearchKey/SearchKey.py [utf8] Mon Jun 1 13:33:39 2009
@@ -31,7 +31,7 @@
from zLOG import LOG
from Products.ZSQLCatalog.Query.SimpleQuery import SimpleQuery
from Products.ZSQLCatalog.Query.ComplexQuery import ComplexQuery
-from Products.ZSQLCatalog.Interface.ISearchKey import ISearchKey
+from Products.ZSQLCatalog.interfaces.search_key import ISearchKey
from Interface.Verify import verifyClass
from Products.ZSQLCatalog.SQLCatalog import profiler_decorator
Modified: erp5/trunk/products/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py?rev=27296&r1=27295&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/SearchText/AdvancedSearchTextParser.py [utf8] Mon Jun 1 13:33:39 2009
@@ -28,7 +28,7 @@
from lexer import lexer, update_docstrings
try:
- from Products.ZSQLCatalog.Interface.IAbstractSyntaxNode import INode, IValueNode, ILogicalNode, IColumnNode
+ from Products.ZSQLCatalog.interfaces.abstract_syntax_node import INode, IValueNode, ILogicalNode, IColumnNode
from Interface.Verify import verifyClass
except ImportError:
INode = None
Removed: erp5/trunk/products/ZSQLCatalog/interfaces/IAbstractSyntaxNode.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Interface/IAbstractSyntaxNode.py?rev=27278&view=auto
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/interfaces/IAbstractSyntaxNode.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/interfaces/IAbstractSyntaxNode.py (removed)
@@ -1,99 +1,0 @@
-##############################################################################
-#
-# Copyright (c) 2002-2009 Nexedi SA and Contributors. All Rights Reserved.
-# Jean-Paul Smets-Solanes <jp at nexedi.com>
-# Vincent Pelletier <vincent at nexedi.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsability of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# garantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-##############################################################################
-
-from Interface import Interface
-
-class INode(Interface):
- """
- Any kind of node in an Abstract Syntax Tree.
- """
-
- def isLeaf():
- """
- Returns True if current node is a leaf in node tree.
- Returns False otherwise.
- """
-
- def isColumn():
- """
- Returns True if current node is a column in node tree.
- Returns False otherwise.
- """
-
-class IValueNode(INode):
- """
- Value- and comparison-operator-containig node.
- They are leaf nodes in the syntax tree.
- """
-
- def getValue():
- """
- Returns node's value.
- """
-
- def getComparisonOperator():
- """
- Returns node's comparison operator.
- """
-
-class ILogicalNode(INode):
- """
- Logical-operator-containing node.
- They are internal tree nodes.
- """
-
- def getLogicalOperator():
- """
- Returns node's logical operator.
- """
-
- def getNodeList():
- """
- Returns the list of subnodes.
- """
-
-class IColumnNode(INode):
- """
- Column-name-containing node.
- They are internal tree nodes.
- Their value applies to any contained ValueNode, except if there is another
- ColumnNode between current one and a ValueNode, for which the other
- ColumnNode will take precedence.
- """
-
- def getColumnName():
- """
- Returns node's column name.
- """
-
- def getSubNode():
- """
- Returns node's (only) subnode.
- """
-
Removed: erp5/trunk/products/ZSQLCatalog/interfaces/IColumnMap.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Interface/IColumnMap.py?rev=27278&view=auto
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/interfaces/IColumnMap.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/interfaces/IColumnMap.py (removed)
@@ -1,301 +1,0 @@
-##############################################################################
-#
-# Copyright (c) 2002-2009 Nexedi SA and Contributors. All Rights Reserved.
-# Jean-Paul Smets-Solanes <jp at nexedi.com>
-# Vincent Pelletier <vincent at nexedi.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsability of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# garantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-##############################################################################
-
-from Interface import Interface
-
-class IColumnMap(Interface):
- """
- The role of the column mapper is to make possible to have a "flat"
- overview of all columns used in a query, to choose how they will be
- mapped to catalog tables, and how those tables will be aliased in the SQL
- rendering of that query.
-
- Typical usage:
- - Instanciate (with or without a catalog table)
- - Register all columns the query will use
- - Build the column map
- - Fetch SQL representation of each registered column.
- - Fetch table alias mapping
- - Fetch the list of table aliases which require a join with catalog
- - Fetch the list of queries implied by columns. This happens when there
- are virtual columns registered which were not expanded in the query
- already. In that case, column map generate queries required to reach
- the real column behind the virtual one.
-
- Note that, although it's not enforced, it is meaningless to:
- - call build more than once
- - register columns after build happened
- - fetch SQL representation before build happened (this will most probably
- lead to KeyErrors anyway)
-
- Groups.
- All references to a given table withing a given group will cause all
- columns referencing that table to be resolved to the same table alias
- in resulting query.
- Ex:
- Note: instead of resolving columns by hand, it is also possible to
- call "build", but this way it makes .
- Registration:
- registerColumn('bar')
- registerColumn('baz')
- resolveColumn('bar', 'foo')
- resolveColumn('baz', 'foo')
- Result:
- asSQLColumn('bar') -> 'foo_alias.bar'
- asSQLColumn('baz') -> 'foo_alias.baz'
- Complementary, any reference to a given table from one group to
- another will cause columns to be resolved to distinct table aliases
- in resulting query.
- Ex:
- Registration:
- registerColumn('bar')
- registerColumn('baz', group='hoge')
- resolveColumn('bar', 'foo')
- resolveColumn('baz', 'foo', group='hoge')
- Result:
- asSQLColumn('bar') -> 'foo_alias.bar'
- asSQLColumn('baz', group='hoge') -> 'other_foo_alias.baz'
- """
-
- def __init__(catalog_table_name=None):
- """
- Create a column map.
-
- Initialises internal data structures and set the table name to use as
- catalog table.
- """
-
- def registerColumn(column, group=None, simple_query=None):
- """
- Register a column in given group on this column map.
-
- column (string)
- Contains the name of the column to register.
-
- This name might contain a dot, in which case a table name is extracted
- from it and that column is resolved to that table within its group.
- Note that this practice is discouraged, but not deprecated.
- group (string)
- Group id of given column.
- simple_query (SimpleQuery)
- The SimpleQuery doing a comparison on given column. This can be
- accessed from vote script at ColumnMap build time.
- """
-
- def ignoreColumn(column):
- """
- Act as if given column was valid and its mapping succeeded.
- ie: supresses all warnings relative to that column, and all mapping
- attemps.
- It is supposed to be used when given value is an SQL alias for a
- separately registered column.
-
- column (string)
- The value to ignore.
- """
-
- def registerRelatedKey(related_column, column):
- """
- Register a "virtual column".
- This method is to be called when registering any virtual column.
- A virtual column makes use internaly of multiple catalog columns.
- A related key is an example of a virtual column.
-
- This method internaly generates a new group id that caller must pass to
- registerRelatedKeyColumn when registering those internal (and real)
- columns. This is because the same virtual column can be used more than
- once in a query without interferences from other uses, and hence must be
- put in separate groups, without having to know that there are other uses
- for the same virtual column.
-
- virtual_column
- Name of the virtual column to register.
- column
- Name of the "last" real column behind the virtual column. Comparisons
- done on the virtual column will happen on that real column instead.
- For example, it's "title" for "source_title" related key.
- """
-
- def registerCatalog():
- """
- Register catalog table as being used in default group.
-
- This is for backward compatibility with text-only related keys, since
- they often hardcode catalog table name.
- """
-
- def registerRelatedKeyColumn(related_column, position, group):
- """
- Register given column as part of already registered virtual column.
-
- related_column (string)
- Name of the virtual column registered column is a part of.
- position (int)
- Unique id of this column in the list of all columns used by the
- virtual column it is a part of (it might use the same column name
- while expecting uses to be mapped to different aliases or evne
- different tables).
- Typically, this is table position in the parameter list the related
- key expects.
- group (string)
- Group id as returned by registerRelatedKey of given virtual column.
- """
-
- def getRelatedKeyGroup(position, group):
- """
- For given virtual key position and group, return a group.
-
- This is here so that all group generation code is inside ColumnMap
- class.
- """
-
- def registerTable(table_name, alias=None, group=None):
- """
- Register given table name as being used in given group.
-
- This method should not be called outside of this class except for
- backward compatibility purposes.
-
- It is implicitely done most of the time, and should only be used only
- when there is no control over chosen table alias or when table
- registration cannot be done by a Query.
- There are 2 cases where it cas required:
- - pre-mapped columns which won't be actually used, but which force table
- alias choice (see EntireQuery).
- - related keys, where the Related Query cannot register columns it uses
- by itself (since its content is not based on Queries but on raw SQL
- text).
- """
-
- def build(sql_catalog):
- """
- Resolve all unresolved registered columns (ie, not mapped to tables).
- Resolve all used tables to unique aliases.
-
- Chosen table aliases are based on table name and virtual column name the
- column comes from, if applicable. This is done to make final SQL more
- reader-friendly.
- """
-
- def asSQLColumn(column, group=None):
- """
- Return an SQL rendering of given column, with the table alias it has
- been mapped to.
-
- column (string)
- Column name. Can be the name of a virtual column.
-
- This name might contain a dot, in which case a table name is extracted
- from it and that column is resolved to that table within its group.
- Note that this practice is discouraged, but not deprecated.
- Note also that it does not apply to virtual columns (they cannot
- contain a dot).
- group (string)
- Group id of given column.
- """
-
- def getCatalogTableAlias(group=None):
- """
- Return the alias of catalog table name given at instantiation.
- """
-
- def getTableAliasDict():
- """
- Return a copy of table mapping.
-
- returned value (dict)
- key (string)
- Table alias.
- value (string)
- Table name.
- """
-
- def resolveColumn(column, table_name, group=None):
- """
- Map given column to given table within given group.
-
- column (string)
- Name of the column to map to a table. This cannot be a virtual column.
- table_name (string)
- Name of the table column must be mapped to. This is not an alias.
- It must be already known to be used within given group.
- group (string)
- Name of the group column and table are in.
- """
-
- def resolveTable(table_name, alias, group=None):
- """
- Resolve given table of given group as given alias.
-
- table_name (string)
- Table to alias.
- alias (string)
- Table alias. It must be unique at query scope to work as intended.
- gorup (string)
- Group the table belongs to.
- """
-
- def getTableAlias(table_name, group=None):
- """
- Get table alias in given group.
-
- table_name (string)
- Table name.
- group (string)
- Group id of given table.
- """
-
- def iterJoinQueryList():
- """
- Get an iterator over queries internally generated when resolving column
- map. Those queries are generated when a virtual column was registered as
- a real one. Queries required to map virtual columns to real ones are
- put in that list by build.
- """
-
- def getJoinTableAliasList():
- """
- Return a copy of the table alias list for tables requiring a join with
- catalog table.
- """
-
- def getStraightJoinTableList():
- """
- Returns the list of tables used this search and which
- need to be joined with the main table using explicit
- indices.
- """
-
- def getLeftJoinTableList():
- """
- Returns the list of tables used this search and which
- need to be LEFT joined with the main table using explicit
- indices.
- """
-
Removed: erp5/trunk/products/ZSQLCatalog/interfaces/IEntireQuery.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Interface/IEntireQuery.py?rev=27278&view=auto
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/interfaces/IEntireQuery.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/interfaces/IEntireQuery.py (removed)
@@ -1,101 +1,0 @@
-##############################################################################
-#
-# Copyright (c) 2002-2009 Nexedi SA and Contributors. All Rights Reserved.
-# Jean-Paul Smets-Solanes <jp at nexedi.com>
-# Vincent Pelletier <vincent at nexedi.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsability of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# garantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-##############################################################################
-
-from Interface import Interface
-
-class IEntireQuery(Interface):
- """
- A EntireQuery represents an entire SQL expression, where a Query
- represents only the "WHERE" part of that expression.
- A EntireQuery contains:
- - a Query instance
- - a limit expression
- - a group-by expression
- - an order-by expression
- - a select expression
- It internaly uses a ColumnMap instance to resolve tables to use to
- generate a "from" expression.
- """
-
- def __init__(query, order_by_list=None, group_by_list=None,
- select_dict=None, limit=None, catalog_table_name=None,
- extra_column_list=None, from_expression=None,
- order_by_override_list=None):
- """
- query (Query instance)
- The root of the Query tree this query will contain.
- order_by_list (list of 1-tuple, 2-tuple or 3-tuple)
- The list of columns which will be sorted by SQL.
- Tuple values are:
- - mandatory: column name
- - optionnal: sort order (can be "ASC" or "DESC", "ASC" by default)
- - optionnal: type cast (no cast by default, see "CAST" SQL method)
- group_by_list (list of string)
- The list of columns which will be groupped by value by SQL.
- select_dict (dict, key: string, value: string, None)
- Given values describe columns to make available in SQL result.
- If column is aliased in result set, key is the alias and value is the
- column.
- Otherwise, key is the column, and value must be None.
- limit
- See SQLExpression.
- catalog_table_name (string)
- Name of the table to use as a catalog.
-
- Deprecated parameters.
- extra_column_list (list of string)
- The list of columns to register to column map. They will not be used
- in final rendering, but are hint on which table are supposed to be
- used when mapping columns.
- from_expression
- See SQLExpression.
- order_by_override_list (list of string)
- If a column is in order_by_list, cannot be mapped to a table column
- but is present in this list, it will be passed through to
- SQLExpression.
- """
-
- def asSQLExpression(sql_catalog, only_group_columns):
- """
- Instantiate a column map, process parameters given at instantiation and
- register them to column map.
- Register query to column map.
- Build column map.
- Generate extra SQLExpressions from column map.
- Generate SQLExpression instance and return it.
- """
-
- def asSearchTextExpression(sql_catalog):
- """
- This is just a passthrough to embeded Query's asSearchTextExpression
- method.
- This means that only the where expression can be represented as a
- SearchText, but not sort, limits, ...
- """
-
Removed: erp5/trunk/products/ZSQLCatalog/interfaces/IOperator.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Interface/IOperator.py?rev=27278&view=auto
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/interfaces/IOperator.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/interfaces/IOperator.py (removed)
@@ -1,76 +1,0 @@
-##############################################################################
-#
-# Copyright (c) 2002-2009 Nexedi SA and Contributors. All Rights Reserved.
-# Jean-Paul Smets-Solanes <jp at nexedi.com>
-# Vincent Pelletier <vincent at nexedi.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsability of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# garantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-##############################################################################
-
-from Interface import Interface
-
-class IOperator(Interface):
- """
- An operator is responsible for rendering a value and a column name as SQL
- or Search Text.
-
- This class is designed to be used as a singleton-per-operator.
- """
-
- def __init__(operator):
- """
- operator (string)
- Operator's text representation. It is used both for SQL and SearchText
- rendering.
- """
-
- def asSearchText(value):
- """
- Render given value as Search Text
-
- value (see _renderValue)
- Value to render as a string for use in a Search Text expression.
- """
-
- def asSQLExpression(column, value_list, only_group_columns):
- """
- Construct a SQLExpression instance from given column and value, with
- contained glue text.
- value_list can be a non-list instance, which must be handled that same
- way as a list of one item.
- only_group_columns (bool)
- If false, the operator can add group columns in the "select_dict" of
- returned SLQExpression.
- Otherwise, it must not (SQL would be invalid).
- """
-
- def getOperator():
- """
- Accessor for operator's SQL representation.
- """
-
- def getOperatorSearchText():
- """
- Accessor for operator's SearchText representation.
- """
-
Removed: erp5/trunk/products/ZSQLCatalog/interfaces/IQuery.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Interface/IQuery.py?rev=27278&view=auto
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/interfaces/IQuery.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/interfaces/IQuery.py (removed)
@@ -1,69 +1,0 @@
-##############################################################################
-#
-# Copyright (c) 2002-2009 Nexedi SA and Contributors. All Rights Reserved.
-# Jean-Paul Smets-Solanes <jp at nexedi.com>
-# Vincent Pelletier <vincent at nexedi.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsability of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# garantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-##############################################################################
-
-from Interface import Interface
-
-class IQuery(Interface):
- """
- A Query contains:
- - a value
- - an operator
- - a column
-
- It is the python representation of a predicate, independently of its
- rendering (SQL or SearchText).
- For SQL rendering to be possible, it is necesary for some data to be
- centralized in a data structure known at EntireQuery level (to be able to
- generate unique table aliases, for exemple). This is the role of
- ColumnMap, and registerColumnMap method on this interface.
-
- This interface also offers various rendering methods, one per rendering
- format.
- """
-
- def asSearchTextExpression(sql_catalog, column=None):
- """
- Render a query in a user-oriented SearchText.
- Returns None if there is this query has no SearchText representation,
- but is SearchText-aware.
- If column is provided, it must be used instead of local knowledge of
- column name. It is used to make queries inside a related key render
- correctly.
- """
-
- def asSQLExpression(sql_catalog, column_map, only_group_columns):
- """
- Render a query as an SQLExpression instance.
- """
-
- def registerColumnMap(sql_catalog, column_map):
- """
- Register a query to given column_map.
- """
-
Removed: erp5/trunk/products/ZSQLCatalog/interfaces/IQueryCatalog.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Interface/IQueryCatalog.py?rev=27278&view=auto
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/interfaces/IQueryCatalog.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/interfaces/IQueryCatalog.py (removed)
@@ -1,235 +1,0 @@
-##############################################################################
-#
-# Copyright (c) 2002-2009 Nexedi SA and Contributors. All Rights Reserved.
-# Jean-Paul Smets-Solanes <jp at nexedi.com>
-# Vincent Pelletier <vincent at nexedi.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsability of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# garantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-##############################################################################
-
-from Interface import Interface
-
-class ISearchKeyCatalog(Interface):
-
- def buildQuery(kw, ignore_empty_string=True, operator='and'):
- """
- Build a ComplexQuery from kw values.
-
- kw (dict: string keys, any value)
- A query will be emited based on its value. Depending on the type of
- the value it is handled differently. Query values will be passed
- through to result (key is ignored). For all other types, their key
- must be either a known column of a sql_search_tables table, or a
- related key name.
- - String values will be parsed according to the default SearchKey of
- their real column (even for related keys). If parsing was
- successful, Queries will be generated from its output.
- Otherwise, that value will be taken as such.
- - Dictionary values can be composed of the following keys:
- 'query': Their payload value, considered as empty if not given.
- 'key': The SearchKey to use for this value, overriding default
- column configuration.
- (for other possible keys, see SearchKeys)
- They will be taken as such.
- - All other types will be taken as such, and no "empty" check will be
- performed on them.
- ignore_empty_string (boolean)
- If True, values from kw which are empty will be skipped.
- operator (string)
- Used to explicit the logical relation between kw entries.
- It must be a valid ComplexQuery logical operator ('and', 'or').
- """
-
- def buildSQLQuery(query_table='catalog', REQUEST=None,
- ignore_empty_string=1, only_group_columns=False,
- limit=None, extra_column_list=None,
- **kw):
- """
- Construct and return an instance of EntireQuery class from given
- parameters by calling buildQuery.
-
- ignore_empty_string (boolean)
- See buildQuery.
- limit (1-tuple, 2-tuple)
- If given, will emit SQL to limit the number of result lines.
- group_by_list (list of strings)
- If given, will emit SQL to group found lines on given parameter names
- (their column if they are column names, corresponding virtual columns
- otherwise - as for related keys).
- select_dict (dict, key: string, value: string, None)
- Given values describe columns to make available in SQL result.
- If column is aliased in result set, key is the alias and value is the
- column.
- Otherwise, key is the column, and value can be None or the same as
- key.
- select_list (list of strings)
- Same as providing select_dict with select_list items as keys, and None
- values.
- order_by_list (list of 1-, 2-, or 3-tuples of strings)
- If given, will emit SQL to sort result lines.
- Sort will happen with decreasing precedence in list order.
- Given n-tuples can contain those values, always in this order:
- - parameter name
- - sort order (see SQL documentation of 'ORDER BY')
- - type cast (see SQL documentation of 'CAST')
- Sort will happen on given parameter name (its column if it's a column
- name, corresponding virtual column otherwise - as for related keys).
- Extra parameters are passed through to buildQuery.
-
- Backward compatibility parameters:
- Those parameters are deprecated and should not be used. They are present
- to provide backward compatibility with former ZSQLCatalog version.
- REQUEST
- Ignored.
- extra_column_list (list)
- query_table (string, None)
- The table to use as catalog table.
- If given and None, not catalog table will be used. Use this when you
- are using SQLCatalog to generate manualy a part of another query.
- That table has a special position in returned query:
- - all other tables are joined on this one (when it is required to use
- other tables)
- - it is expected to have some columns (uid, path)
- It is strongly discouraged to use this parameter for any value other
- than None.
- group_by
- Use group_by_list instead.
- group_by_expression
- Use group_by_list instead.
- select_expression
- Use select_list or select_dict instead.
- sort_on
- Use order_by_list instead.
- sort_order
- Use order_by_list instead.
- from_expression
- This value will be emited in SQL directly in addition to computed
- value.
- There is no replacement.
- where_expression
- This value will be emited in SQL directly in addition to computed
- value.
- Use Query instances instead.
- select_expression_key
- This prevents given column from being ignored even if they could not
- be mapped.
- There is no replacement.
- only_group_columns
- Replaces former stat__ parameter.
- Used to globally disalow use of non-group columns in SQL.
- """
-
- def getSearchKey(column, search_key=None):
- """
- Returns the default SearchKey instance for the
- requested column. There is one instance per
- search_key (incl. virtual keys surch as
- source_title) and we try to compute it once
- only and cache it.
- If search_key is provided, it is used as the
- name of the search key class to return.
- """
-
- def getComparisonOperator(operator):
- """
- Return a comparison operator matching given string.
- String must be a valid SQL comparison operator (=, LIKE, IN, ...).
- String case does not matter.
- There is one comparison operator instance per possible string value.
- """
-
- # TODO: add support for other operators (logical, ensemblist (?))
-
- def searchResults(REQUEST=None, **kw):
- """
- Invokes queryResults with the appropriate
- ZSQL Method to return a list of results
- """
-
- def countResults(REQUEST=None, **kw):
- """
- Invokes queryResults with the appropriate
- ZSQL Method to return a statistics for
- a list of results
- """
-
- def queryResults(sql_method, REQUEST=None, src__=0, build_sql_query_method=None, **kw):
- """
- Return the result of the given 'sql_method' ZSQL Method after
- processing all parameters to build a Query object passed to
- that method.
-
- The implementation should do the following.
-
- 1- Use **kw parameters to build a Query object
- by invoking buildQuery
-
- 2- Build a ColumnMap instance by invoking
- the buildColumnMap on the Query. Some
- optmisation may happen here to try
- to build the best possible ColumnMap and
- use the best possible indices for joining.
- During the ColumnMap build process, the
- Search Key associated to each Query node
- in the Query tree registers the columns
- which are used (ex. to search) or provided
- (ex. MATCH value for full text search,
- interleave expression or parameter in a
- UNION Query)
-
- 3- Render the query object as an SQLExpression
- instance. This instance contains all necessary
- parts to generate:
- - where_expression
- - sort_expression
- - group_by_expression
- - select_expression
-
- 4- Invoke sql_method
- """
-
- def isAdvancedSearchText(search_text):
- """
- Returns True if given value follows Search Text "advanced" syntax,
- False otherwise.
- """
-
- def parseSearchText(search_text, column=None, search_key=None, is_valid=None):
- """
- Parses given SearchText expression using given column's parser
- (determined by the SearchKey it is configured to use by default), or
- given SearchKey name.
-
- search_text (string)
- SearchText to parse.
- column (string)
- Column to use to determine which SearchKey to use for parsing.
- Either this parameter or search_key must be provided.
- search_key (string)
- Name of the SearchKey to use for parsing.
- Either this parameter or column must be provided.
- if_valid (callback)
- Callback method to use to decide wether an encountered column-ish
- identifier in SearchText is a valid column.
- If not provided, catalog schema will be used.
- """
Removed: erp5/trunk/products/ZSQLCatalog/interfaces/ISQLExpression.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Interface/ISQLExpression.py?rev=27278&view=auto
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/interfaces/ISQLExpression.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/interfaces/ISQLExpression.py (removed)
@@ -1,119 +1,0 @@
-##############################################################################
-#
-# Copyright (c) 2002-2009 Nexedi SA and Contributors. All Rights Reserved.
-# Jean-Paul Smets-Solanes <jp at nexedi.com>
-# Vincent Pelletier <vincent at nexedi.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsability of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# garantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-##############################################################################
-
-from Interface import Interface
-
-class ISQLExpression(Interface):
- """
- This is a container for chunks of SQL generated by a Query.
- Each Query instance generates its own SQLExpression instance.
- SQLExpressions can be nested (an SQLExpression can contain 0, 1 or more
- SQLExpressions).
-
- Chunks are:
- - table_alias_dict
- - order_by_list
- - group_by_list
- - select_dict
- - limit
- Mutualy exclusive chunks are:
- - where expression
- - sql_expression_list
- Deprecated chunks are:
- - from_expression
-
- Providing sql_expression_list with more than one entry makes
- where_expression_operator mandatory.
- """
-
- def __init__(query,
- table_alias_dict=None,
- order_by_list=None,
- order_by_dict=None,
- group_by_list=None,
- where_expression=None,
- where_expression_operator=None,
- sql_expression_list=None,
- select_dict=None,
- limit=None,
- from_expression=None):
- """
- Instantiate an SQLExpression object.
-
- This method does consistency checks on received parameters, so that
- failures are detected as early as possible.
-
- Also, it casts most optional parameters into empty lists and empty dicts
- to make code using those values simpler.
-
- query (Query)
- The Query instance which called this constructor.
- table_alias_dict (dict, key: string, value: string)
- Table alias dict as returned by ColumnMap.getTableAliasDict() .
- order_by_list (list of strings)
- List of result ordering, pre-rendered.
- order_by_dict (dict, key: string, value: string)
- Column rendering replacement specific to order_by.
- group_by_list (list of strings)
- List of column names on which result line list will be grouped.
- where_expression (string)
- Text representing a "where" expression of an SQL query.
- where_expression_operator ("and", "or", "not", None)
- Operator to apply on immediately contained SQLExpressions.
- It must be "and" or "or" when there are multiple contained
- SQLExpressions, it can be "not" if there is exactly one contained
- SQLExpression, and must not be provided if there is no contained
- SQLExpression.
- sql_expression_list (list of SQLExpression)
- List of immediately contained SQLExpressions.
- select_dict (dict, key:string, value:string or Null)
- Lists all columns to be part of select expression.
- Key is column alias.
- Value is column name, or Null. If it is Null, the alias will also be
- used as column name.
- limit (1-tuple, 2-tuple, other)
- First item is the number of lines expected, second one if given is the
- offset of limited result list within the unlimited result list.
- If it is not a tuple it is treated as the value of a 1-tuple
- parameter.
- from_expression (string)
- This parameter is deprecated.
- """
-
- def asSQLExpressionDict():
- """
- Returns a dictionnary usable as a **kw for a catalog sql method.
-
- It renders aliases (see getTableAliasDict) as a list of strings and
- "from" expression (see getFromExpression) as a list of strings.
-
- See getWhereExpression, getOrderByExpression, getLimitExpression,
- getSelectExpression, getGroupByExpression.
- """
-
Removed: erp5/trunk/products/ZSQLCatalog/interfaces/ISearchKey.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Interface/ISearchKey.py?rev=27278&view=auto
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/interfaces/ISearchKey.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/interfaces/ISearchKey.py (removed)
@@ -1,186 +1,0 @@
-##############################################################################
-#
-# Copyright (c) 2002-2009 Nexedi SA and Contributors. All Rights Reserved.
-# Jean-Paul Smets-Solanes <jp at nexedi.com>
-# Vincent Pelletier <vincent at nexedi.com>
-#
-# WARNING: This program as such is intended to be used by professional
-# programmers who take the whole responsability of assessing all potential
-# consequences resulting from its eventual inadequacies and bugs
-# End users who are looking for a ready-to-use solution with commercial
-# garantees and support are strongly adviced to contract a Free Software
-# Service Company
-#
-# This program is Free Software; you can redistribute it and/or
-# modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 2
-# of the License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-#
-##############################################################################
-
-from Interface import Interface
-
-class ISearchKey(Interface):
- """
- A SearchKey generates Query instances.
- It is responsible for parsing (or not) input value and generating the
- appropriate Query structure to match the intended search.
-
- This class is designed as a "singleton per column".
- """
-
- def __init__(column):
- """
- column (string)
- The column this SearchKey is instanciated for.
- """
-
- def getColumn():
- """
- Returns: string
- The column this SearchKey is instanciated for.
- """
-
- def buildSQLExpression(operator, value, column_map, only_group_columns, group):
- """
- This method passes on SQLExpression creation to operator, giving it the
- resolved column of this RelatedKey.
-
- operator (Operator)
- A comparison operator. It is used to render value, column and itself
- as valid SQL.
- value (anything)
- column_map (ColumnMap)
- The (built) column map to render our column.
- group (string)
- The group our column was part of.
-
- Returns: SQLExpression
- SQLExpression build by operator for current Query.
- """
-
- def buildSearchTextExpression(operator, value, column=None):
- """
- Render comparison using operator between value and our column as
- SearchText.
-
- operator (Operator)
- A comparison operator. It is used to render value as value SearchText.
- value (anything)
- column (string)
- If given, it overrides our column in SearchText rendering. This is
- useful when SearchText rendering is done for a virtual column,
- because the name of the virtual column must appear when rendered as
- SearchText.
- """
-
- def registerColumnMap(column_map, group, simple_query):
- """
- Register the column of this SearchKey to given column map.
-
- column_map (ColumnMap)
- The ColumnMap instance to register to.
- group (string)
- The group registration will be part of.
- simple_query (SimpleQuery)
- The SimpleQuery being registered.
-
- Returns: string
- The group assigned to caller. See ColumnMap for methods redefining
- caller's group.
- """
-
- def buildQuery(search_value, group=None, logical_operator=None, comparison_operator=None):
- """
- Generate queries from given search_value.
- logical_operator ('and', 'or', 'not', None)
- If no logical operator can be found in search_value, it will use given
- default operator.
- comparison_operator (string, None)
- If given, expresses the comparison between column and value.
- """
-
- def parseSearchText(value, is_column):
- """
- Parse given value to generate an Abstract Syntax Tree representing its
- logical structure, or None if there is no obvious structure in given
- value.
- See SearchText for parsing code.
-
- value (string)
- The string to parse.
- is_column (function taking one parameter)
- This function will be called with a single parameter, being a column
- name candidate.
- It must return a boolean:
- True: value is a valid column name
- False: value is not a valid column name
-
- Returns: (None, AbstratSyntaxNode)
- AbstratSyntaxNode complies with the IAbstractSyntaxNode interface.
- """
-
-class IRelatedKey(ISearchKey):
- """
- A RelatedKey is a special variation of a SearchKey.
- Only a small set of methods differ. They are defined in this class.
- """
-
- def registerColumnMap(column_map, table_alias_list=None):
- """
- This is slightly different for regular registerColumnMap in that it must
- register multiple tables (and not columns, since RelatedKeys do not
- provide this information).
- Also, it must register namely "catalog" table and resolve its alias,
- angain since it's hardcoded in RelatedKey ZSQLMethods and not provided
- by their definitions.
-
- column_map (ColumnMap)
-
- Deprecated:
- table_alias_list (None, list of 2-tuples of strings)
- This list must have the exact same length as the list of tables
- """
-
- def buildSQLExpression(sql_catalog, column_map, only_group_columns, group):
- """
- operator and value parameters are useless, since this type of SearhKey
- does not compare a value to any column, but uses a ZSQLMethod.
- To reach that ZSQLMethod, it also required a new sql_catalog parameter.
-
- sql_catalog (SQLCatalog)
- Used to retrieve related key's ZSQLMethod.
- """
-
- def buildQuery(sql_catalog, related_key_definition, search_value=None):
- """
- group is useless here, since group is determined by ColumnMap at
- registration time. search_value becomes optional.
-
- sql_catalog (SQLCatalog)
- Used to retrieve real column's SearchKey. For example, a RelatedKey
- used to compare with a "title" column will retrieve title's default
- SearchKey (which should be a KeywordKey).
- related_key_definition (string)
- Describes parameters of a RelatedKey. It is composed of 3 mains parts,
- separated by '/':
- - a list of table names
- Table names are separated by ','
- - a column name
- - the name of the related key ZSQLMethod
- search_value (None or Query)
- If given, a condition on real column will be generated.
- Otherwise, only the SQL required to reach that column will be
- generated. This is useful when sorting on a virtual column, for
- example.
- """
-
Removed: erp5/trunk/products/ZSQLCatalog/interfaces/Verify.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/Interface/Verify.py?rev=27278&view=auto
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/interfaces/Verify.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/interfaces/Verify.py (removed)
@@ -1,3 +1,0 @@
-# This imports from Zope's products, which would otherwise be unreachable from parent folder.
-from Interface.Verify import verifyClass
-
Modified: erp5/trunk/products/ZSQLCatalog/interfaces/__init__.py
URL: http://svn.erp5.org/erp5/trunk/products/ZSQLCatalog/interfaces/__init__.py?rev=27296&r1=27278&r2=27296&view=diff
==============================================================================
--- erp5/trunk/products/ZSQLCatalog/interfaces/__init__.py [utf8] (original)
+++ erp5/trunk/products/ZSQLCatalog/interfaces/__init__.py [utf8] Mon Jun 1 13:33:39 2009
@@ -1,1 +1,0 @@
-
More information about the Erp5-report
mailing list