no tag searching, add index to db.py

This commit is contained in:
Damien Elmes 2008-11-14 19:48:47 +09:00
parent 9b224263a9
commit 91114a72c5
2 changed files with 9 additions and 3 deletions

View file

@ -25,7 +25,8 @@ except ImportError:
sqlite.enable_shared_cache(True)
from sqlalchemy import (Table, Integer, Float, Column, MetaData,
ForeignKey, Boolean, String, Date, UniqueConstraint)
ForeignKey, Boolean, String, Date,
UniqueConstraint, Index)
from sqlalchemy import create_engine
from sqlalchemy.orm import mapper, sessionmaker, relation, backref, \
object_session as _object_session
@ -48,8 +49,7 @@ def newWarn(*args, **kwargs):
oldWarn(*args, **kwargs)
util.warn = newWarn
# shared metadata
metadata = MetaData()
# this class assumes the provided session is called with transactional=False

View file

@ -1188,6 +1188,12 @@ from cards, facts, models where
cards.factId == facts.id and facts.modelId == models.id
%s""" % where)
def cardsWithNoTags(self):
return self.s.column0("""
select cards.id from cards, facts where
cards.tags = "" and facts.tags = ""
and cards.factId = facts.id""")
def allTags(self):
"Return a hash listing tags in model, fact and cards."
return list(set(parseTags(",".join([x[1] for x in self.tagsList()]))))