view test/mocknull.py @ 3692:8e52157e2073

More transitive-property work. - Add some more tests that break the current SQL backend implementation for transitive properties. One of them looks like a Postgres bug to me -- I'm getting: """ProgrammingError: ERROR: relation "_user2" does not exist""" where _user2 is an alias for _user in the from clause (but _user2 is used in a left outer join). The other SQL backends are fine with the generated SQL. Hmm. One of the reasons for packing sort and search attributes into the same data structure was the optimized SQL: not creating a left outer join for attributes that are already in a normal join (from/where clause). I'll check if I can instead leave the attribute from the from-clause instead (or if I'm then getting errors from the other backends, Postgres seems fine with that).
author Ralf Schlatterbeck <schlatterbeck@users.sourceforge.net>
date Wed, 30 Aug 2006 08:50:44 +0000
parents 79fd8537ae3b
children 3757449e00c4
line wrap: on
line source


class MockNull:
    def __init__(self, **kwargs):
        for key, value in kwargs.items():
            self.__dict__[key] = value

    def __call__(self, *args, **kwargs): return MockNull()
    def __getattr__(self, name):
        # This allows assignments which assume all intermediate steps are Null
        # objects if they don't exist yet.
        #
        # For example (with just 'client' defined):
        #
        # client.db.config.TRACKER_WEB = 'BASE/'
        self.__dict__[name] = MockNull()
        return getattr(self, name)

    def __getitem__(self, key): return self
    def __nonzero__(self): return 0
    def __str__(self): return ''
    def __repr__(self): return '<MockNull 0x%x>'%id(self)
    def gettext(self, str): return str
    _ = gettext

Roundup Issue Tracker: http://roundup-tracker.org/