diff --git a/lib/odba/cache.rb b/lib/odba/cache.rb
index <HASH>..<HASH> 100644
--- a/lib/odba/cache.rb
+++ b/lib/odba/cache.rb
@@ -386,6 +386,16 @@ module ODBA
 		def retrieve_from_index(index_name, search_term, meta=nil)
 			index = indices.fetch(index_name)
 			ids = index.fetch_ids(search_term, meta)
+      if meta.respond_to?(:error_limit) && (limit = meta.error_limit) \
+        && (size = ids.size) > limit.to_i
+        error = OdbaResultLimitError.new
+        error.limit = limit
+        error.size = size
+        error.index = index_name
+        error.search_term = search_term
+        error.meta = meta
+        raise error
+      end
 			bulk_fetch(ids, nil)
 		end
 		# Create necessary DB-Structure / other storage-setup
diff --git a/lib/odba/odba_error.rb b/lib/odba/odba_error.rb
index <HASH>..<HASH> 100644
--- a/lib/odba/odba_error.rb
+++ b/lib/odba/odba_error.rb
@@ -4,4 +4,7 @@
 module ODBA
 	class OdbaError < RuntimeError
 	end
+  class OdbaResultLimitError < OdbaError
+    attr_accessor :limit, :size, :index, :search_term, :meta
+  end
 end
Provide a Result-Limit that raises an OdbaResultLimitError