code: function readDefinitionByAddress( conn, address, max_mci, callbacks )
  {
  	if ( max_mci === null )
  	{
  		max_mci = MAX_INT32;
  	}
  
  	//
  	//	try to find last definition change, otherwise definition_chash=address
  	//
  	conn.query
  	(
  		"SELECT definition_chash FROM address_definition_changes CROSS JOIN units USING(unit) \
  		WHERE address=? AND is_stable=1 AND sequence='good' AND main_chain_index<=? ORDER BY level DESC LIMIT 1", 
  		[ address, max_mci ],
  		function( rows )
  		{
  			var definition_chash = ( rows.length > 0 ) ? rows[ 0 ].definition_chash : address;
  			readDefinitionAtMci( conn, definition_chash, max_mci, callbacks );
  		}
  	);
  }
docs: max_mci must be stable