'Makes certain that the underlying query object has been closed,
and that all counters have been removed from it.  This is
important for reference counting.
You should only need to call close if you have previously called
open.  The collectdata methods all can handle opening and
closing the query.  Calling close multiple times is acceptable.'

def close(self):

    try:
        self.killbase(self._base)
    except AttributeError:
        self.killbase()
