class interface PG
creation
make
-- Make an uninitialized PG object.
feature(s) from MEMORY
-- Status Report :
collecting: BOOLEAN
-- Is garbage collection enabled ?
feature(s) from MEMORY
-- Status setting :
collection_off
-- Disable garbage collection.
collection_on
-- Enable garbage collection.
feature(s) from MEMORY
-- Removal :
dispose
-- Action to be executed just before garbage collection
-- reclaims an object.
full_collect
-- Force a full collection cycle if garbage collection is
-- enabled; do nothing otherwise.
feature(s) from MEMORY
-- The Guru section (low level memory management) :
pointer_size: INTEGER
-- The size in number of bytes for a pointer.
malloc (size: INTEGER): POINTER
-- Memory allocation of size byte.
require
size > 0
calloc (number_of_objects, size_of_one: INTEGER): POINTER
-- Allocates memory for an array of number_of_objects elements
-- of size_of_one bytes each and returns a pointer to the
-- allocated memory.
-- The memory is set to zero.
require
number_of_objects > 0;
size_of_one >= 1
realloc (pointer: POINTER ;size: INTEGER): POINTER
-- Memory re-allocation of size byte.
require
pointer.is_not_null;
size > 0
feature(s) from PG
-- Connection options
set_host (to: STRING)
-- Set database host to connect to
set_port (to: STRING)
-- Set database port to connect to
set_options (to: STRING)
-- Set database connection options
set_tty (to: STRING)
-- Set database tty
set_dbname (to: STRING)
-- Set database to connect to
set_username (to: STRING)
-- Set username to connect as
set_password (to: STRING)
-- Set password for authentication
connect
-- Make a database connection
ensure
is_connected
feature(s) from PG
-- Query features
query (q: STRING)
-- Query on an open database connection
require
is_connected;
q /= Void
ensure
query_successful
num_rows: INTEGER
-- Number of rows returned from the last query
require
has_results
get_row: BOOLEAN
-- Get the next row of data back, returns false if there's no more data
require
has_results
feature(s) from PG
-- Copy stuff
copy_to (table: STRING)
-- Begin a copy to the database.
require
is_connected;
table /= Void
ensure
copy_in_ready
copy_from (table: STRING)
-- Begin a copy from the database.
require
is_connected;
table /= Void
ensure
copy_out_ready
putline (line: STRING)
-- Send a line to the database.
require
line /= Void;
is_connected
last_line: STRING
-- last line from getline
getline: BOOLEAN
-- Get a line from the database.
require
is_connected
endcopy
-- End a copy to/from
require
is_connected
feature(s) from PG
-- Transaction
begin
require
is_connected
commit
require
is_connected
rollback
require
is_connected
feature(s) from PG
-- Utility
quote (s: STRING): STRING
-- Quote a string for safety.
require
s /= Void
feature(s) from PG
-- Database Information
tables: ARRAY[STRING]
-- List all tables in this database.
require
is_connected
ensure
Result /= Void
sequences: ARRAY[STRING]
-- List all sequences in this database.
require
is_connected
ensure
Result /= Void
feature(s) from PG
-- Status
is_connected: BOOLEAN
-- Find out if we're connected.
is_not_connected: BOOLEAN
-- Find out if we're not connected (shortcut)
has_results: BOOLEAN
-- Find out if we have results
query_successful: BOOLEAN
-- Find out if the query was successful
require
has_results
copy_in_ready: BOOLEAN
-- Are we ready for a copy in?
require
has_results
copy_out_ready: BOOLEAN
-- Are we ready for a copy out?
require
has_results
errmsg: STRING
-- Get the last error message.
require
is_connected
feature(s) from PG
-- Available data
current_row: INTEGER
-- Current row number we're on.
last_row: ARRAY[STRING]
-- Last row retrieved.
end of PG