@api.publicApi
    def trovesArePinned(self, troveList):
        cu = self.db.cursor()
        cu.execute("""
        CREATE TEMPORARY TABLE tlList(
            name        %(STRING)s,
            version     %(STRING)s,
            flavor      %(STRING)s
        )""" % self.db.keywords, start_transaction = False)
        def _iter(tl):
            for name, version, flavor in troveList:
                yield (name, version.asString(), flavor.freeze())
        cu.executemany("INSERT INTO tlList VALUES(?, ?, ?)", _iter(troveList),
                       start_transaction = False)
        # count the number of items we're inserting
        count = cu.execute('SELECT count(*) FROM tlList').next()[0]
        cu.execute("""
select
    pinned
from
    tlList, Instances, Versions, Flavors
where
        Instances.troveName = tlList.name
    and Versions.version = tlList.version
    and Instances.versionId = Versions.versionId
    and (    Flavors.flavor = tlList.flavor
          or Flavors.flavor is NULL and tlList.flavor = '' )
    and Instances.flavorId = Flavors.flavorId
order by
    tlList.rowId asc
""")
        # we use == 1 here to make sure that if we have NULL for
        # pinned, we convert that to a boolean
        results = [ x[0] == 1 for x in cu ]
        # make sure that we got the same number of results as our query
        assert(len(results) == count)
        cu.execute("DROP TABLE tlList", start_transaction = False)

        return results
Returns a node
dataset/ETHPy150Open sassoftware/conary/conary/local/sqldb.py/Database.trovesArePinned--crossover with--dataset/ETHPy150Open edelight/kitchen/kitchen/dashboard/api.py/get_node