<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def atlasdb_get_zonefiles_by_hash(zonefile_hash, block_height=None, con=None, path=None):
 """ Find all instances of this zone file in the atlasdb. Optionally filter on block height Returns None if the zone file is not in the db, or if block_height is set, return None if the zone file is not at this block height. """

    with AtlasDBOpen(con=con, path=path) as dbcon:

        sql = 'SELECT * FROM zonefiles WHERE zonefile_hash = ?'
        args = (zonefile_hash,)

        if block_height:
            sql += ' AND block_height = ?'
            args += (block_height,)

        sql += ' ORDER BY inv_index;'

        cur = dbcon.cursor()
        res = atlasdb_query_execute(cur, sql, args)

        ret = []
        for zfinfo in res:
            row = {}
            row.update(zfinfo)
            ret.append(row)

        if len(ret) == 0:
            return None

        return ret