indexing
status: "See notice at end of class"
date: "$Date$"
revision: "$Revision$"
access: perform_select, search, retrieve
product: eiffelstore
database: all_bases
class interface
DB_SELECTION
create
make
feature
make
feature
last_parsed_query: STRING
feature
after: BOOLEAN
container
require
container_exists: container /= void
container: LIST [DB_RESULT]
cursor: DB_RESULT
immediate_execution: BOOLEAN
no
DB_EXEC_USE
is_allocatable: BOOLEAN
Current
is_exiting: BOOLEAN
load_result
ensure
Result implies (not is_ok or else exhausted or else (stop_condition /= void and then stop_condition.found))
is_mapped (key: STRING): BOOLEAN
key
STRING_HDL
require STRING_HDL
keys_exists: key /= void
is_tracing: BOOLEAN
DB_EXEC_USE
last_query: STRING
DB_EXPRESSION
mapped_value (key: STRING): ANY
key
STRING_HDL
require STRING_HDL
key_exists: key /= void
key_mapped: is_mapped (key)
ensure STRING_HDL
result_exists: Result /= void
object: ANY
cursor_to_object
stop_condition: ACTION
execute
load_result
trace_output: FILE
DB_EXEC_USE
feature
is_connected: BOOLEAN
DB_STATUS_USE
is_ok: BOOLEAN
DB_STATUS_USE
feature
clear_all
STRING_HDL
cursor_to_object
objectcursor
require
cursor_exists: cursor /= void
object_exists: object /= void
forth
cursorcontainer
require else
container_exists: container /= void
ensure then
container_index_moved: container.index = old container.index + 1
cursor_updated: not after implies cursor = container.item
no_object_convert
cursor
ensure
object = void
object_convert (reference: ANY)
objectreference
cursor
require
reference_exists: reference /= void
ensure
object_set: object = reference
reset_cursor (c: DB_RESULT)
cursorc
require
arguments_exists: c /= void
connected: is_connected
ensure
cursor_reset: cursor = c
set_action (action: ACTION)
stop_conditionaction
require
action_exists: action /= void
ensure
stop_condition_set: stop_condition = action
set_container (one_container: like container)
require
container_exists: one_container /= void
ensure
container_set: container = one_container
set_immediate
DB_EXEC_USE
ensure DB_EXEC_USE
execution_status: immediate_execution
set_map_name (n: ANY; key: STRING)
nkey
nVoid
STRING_HDL
require STRING_HDL
key_exists: key /= void
not_key_in_table: not is_mapped (key)
ensure STRING_HDL
ht.count = old ht.count + 1
set_query (query: STRING)
last_queryquery
DB_EXPRESSION
require DB_EXPRESSION
query_not_void: query /= void
ensure DB_EXPRESSION
last_query_changed: last_query = query
set_trace
DB_EXEC_USE
ensure DB_EXEC_USE
trace_status: is_tracing
start
cursorcontainer
require else
container_exists: container /= void
ensure then
container_on_first: container.isfirst
cursor_updated: cursor = container.item
unset_action
stop_condition
ensure
stop_condition_void: stop_condition = void
unset_container
container
require
container_exists: container /= void
ensure
container_is_void: container = void
unset_immediate
PREPAREEXECUTE
DB_EXEC_USE
ensure DB_EXEC_USE
execution_status: not immediate_execution
unset_map_name (key: STRING)
key
STRING_HDL
require STRING_HDL
key_exists: key /= void
item_exists: is_mapped (key)
ensure STRING_HDL
ht.count = old ht.count - 1
unset_trace
DB_EXEC_USE
ensure DB_EXEC_USE
trace_status: not is_tracing
feature
execute_query
querylast_query
require DB_EXPRESSION
last_query_not_void: last_query /= void
load_result
container
exit_condition
require
connected: is_connected
is_ok: is_ok
ensure
cursor_not_void: cursor /= void
exit_condition_met: is_exiting
next
require
connected: is_connected
query (s: STRING)
s
load_result
require
connected: is_connected
argument_exists: s /= void
argument_is_not_empty: not s.is_empty
is_ok: is_ok
is_allocatable: is_allocatable
ensure
last_query_changed: last_query = s
terminate
require
connected: is_connected
ensure
is_allocatable: is_allocatable
wipe_out
ensure
container_is_empty: container /= void implies container.is_empty
object_model_void: object = void
cursor_void: cursor = void
invariant
last_cursor_in_container: container /= void and then not container.is_empty implies container.has (cursor)
ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)
end -- DB_SELECTION