         # Function triggered when the user click on 'more results'
         show_more_results: (event) =>
             event.preventDefault()
-            @skip_value += @current_results.length
-            try
-                @current_results = []
-
-                # If there are more results to show, we had to buffer one row, so we add that one extra row to the current results
-                @current_results.push @extra_row
-                @extra_row = undefined
-
-                @start_time = new Date()
-
-                @id_execution++
-                get_result_callback = @generate_get_result_callback @id_execution
-                @state.cursor.next get_result_callback
-                $(window).scrollTop(@$('.results_container').offset().top)
-            catch err
-                @toggle_executing false
-                # We print the query here (the user just hit `more data`)
-                @results_view.render_error(@query, err)
+            @current_results = []
+            @start_time = new Date()
+            @state.query_result.shift @limit, @next_results_callback
+
+            # TODO: there is no indication that anything is loading
+            $(window).scrollTop(@$('.results_container').offset().top)
 
         abort_query: =>
-            if @state.cursor?
-                @state.cursor.close()
+            @state.query_result?.discard()
             @driver_handler.close_connection()
-            @id_execution++
             @toggle_executing false
 
         # Function that execute the queries in a synchronous way.

                    @save_query
                        query: @raw_query
                        broken_query: false

        # Evaluate the query
        # We cannot force eval to a local scope, but "use strict" will declare variables in the scope at least

                    flatten_attr: flatten_attr

        tag_record: (doc, i) =>
            doc.record = @metadata.skip_value + 1

        render_result: (args) =>

            if args? and args.results isnt undefined
                @results = args.results
                @results_array = null # if @results is not an array (possible starting from 1.4), we will transform @results_array to [@results] for the table view
