def findTroveReferences(self, names):
        cu = self.db.cursor()
        cu.execute("""
        CREATE TEMPORARY TABLE ftc(
            idx INTEGER,
            name %(STRING)s
        )""" % self.db.keywords, start_transaction = False)
        cu.executemany("INSERT INTO ftc VALUES(?, ?)",
                       enumerate(names), start_transaction = False)

        # the JOIN TroveTroves on includedId ensures that this trove
        # is pointed to somewhere!
        cu.execute("""SELECT idx, Instances.troveName, Versions.version,
                             Flavors.flavor
                        FROM ftc
                        JOIN Instances AS IncInst ON
                            ftc.name = IncInst.troveName
                        JOIN TroveTroves ON
                            (IncInst.instanceId = TroveTroves.includedId
                             AND TroveTroves.inPristine = 1)
                        JOIN Instances ON
                            IncInst.instanceId = Instances.instanceId
                        JOIN Flavors ON
                            IncInst.flavorId = Flavors.flavorId
                        JOIN Versions ON
                            IncInst.versionId = Versions.versionId
                """)
        result = [ [] for x in names ]
        for (idx, name, version, flavor) in cu:
            result[idx].append((name, versions.VersionFromString(version),
                                deps.deps.ThawFlavor(flavor)))
        cu.execute("DROP TABLE ftc", start_transaction = False)
        return result
return trove tuples that a) have a name in the given list of
dataset/ETHPy150Open sassoftware/conary/conary/local/sqldb.py/Database.findTroveReferences