Connection

- NAME
- SYNOPSIS
- DESCRIPTION
- AUTHOR

# NAME

        SQLRelay::Connection - Perl API for SQL Relay

# SYNOPSIS

            use SQLRelay::Connection;
            use SQLRelay::Cursor;

            my $sc=SQLRelay::Connection->new("testhost",9000,"",
                                              "testuser","testpassword",0,1);
            my $ss=SQLRelay::Cursor->new($sc);

            $ss->sendQuery("select table_name from user_tables");
            $sc->endSession();

            for (my $i=0; $i<$ss->rowCount(); $i++) {
                    print $ss->getField($i,"table_name"), "\n";
            }

# DESCRIPTION

        SQLRelay::Connection

            new(server, port, socket, user, password, retrytime, tries);
                # Initiates a connection to "server" on "port"
                # or to the unix "socket" on the local machine
                # and authenticates with "user" and "password".
                # Failed connections will be retried for
                # "tries" times, waiting "retrytime" seconds between each
                # try.  If "tries" is 0 then retries will continue forever.
                # If "retrytime" is 0 then retries will be attempted on
                # a default interval.
                #
                # If the "socket" parameter is neither
                # NULL nor "" then an attempt will be made to
                # connect through it before attempting to
                # connect to "server" on "port".  If it is
                # NULL or "" then no attempt will be made to
                # connect through the socket.

            DESTROY();
                # Disconnects and ends the session if
                # it hasn't been ended already.

            setConnectTimeout(timeoutsec, timeoutusec);
                # Sets the server connect timeout in seconds and
                # milliseconds.  Setting either parameter to -1 disables the
                # timeout.  You can also set this timeout using the
                # SQLR_CLIENT_CONNECT_TIMEOUT environment variable.

            setAuthenticationTimeout(timeoutsec, timeoutusec);
                # Sets the authentication timeout in seconds and
                # milliseconds.  Setting either parameter to -1 disables the
                # timeout.   You can also set this timeout using the
                # SQLR_CLIENT_AUTHENTICATION_TIMEOUT environment variable. */

            setResponseTimeout(timeoutsec, timeoutusec);
                # Sets the response timeout (for queries, commits, rollbacks,
                # pings, etc.) in seconds and milliseconds.  Setting either
                # parameter to -1 disables the timeout.  You can also set
                # this timeout using the SQLR_CLIENT_RESPONSE_TIMEOUT
                # environment variable.

            endSession();
                # Ends the session.

            suspendSession();
                # Leaves the session open so another client
                # can connect to it.

            getConnectionPort();
                # Returns the inet port that the client is
                # communicating over. This parameter may be
                # passed to another client for use in
                # the resumeSession() command below.
                # Note: the value returned by this method is
                # only valid after a call to suspendSession().

            getConnectionSocket();
                # Returns the unix socket that the client is
                # communicating over. This parameter may be
                # passed to another client for use in
                # the resumeSession() command below.
                # Note: the value returned by this method is
                # only valid after a call to suspendSession().

            resumeSession(port,socket);
                # Resumes a session previously left open
                # using suspendSession().
                # Returns true on success and false on failure.

            ping();
                # Returns true if the database is up and false
                # if it's down.

            identify();
                # Returns the type of database:
                #   oracle8, postgresql, mysql, etc.

            dbVersion();
                # Returns the version of the database

            dbHostName();
                # Returns the host name of the database

            dbIpAddress();
                # Returns the ip address of the database

            serverVersion();
                # Returns the version of the SQL Relay server software

            clientVersion();
                # Returns the version of the SQL Relay client software

            bindFormat();
                # Returns a string representing the format
                # of the bind variables used in the db.

            selectDatabase(database);
                # Sets the current database/schema to "database"
            getCurrentDatabase();
                # Returns the database/schema that is currently in use.

            getLastInsertId();
                # Returns the value of the autoincrement
                # column for the last insert

            autoCommitOn();
                # Instructs the database to perform a commit
                # after every successful query.
                # Returns true if setting autocommit on succeeded
                # and false if it failed.

            autoCommitOff();
                # Instructs the database to wait for the
                # client to tell it when to commit.
                # Returns true if setting autocommit off succeeded
                # and false if it failed.

            begin();
                # Begins a transaction.  Returns true if the begin
                # succeeded, false if it failed.  If the database
                # automatically begins a new transaction when a
                # commit or rollback is issued then this doesn't
                # do anything unless SQL Relay is faking transaction
                # blocks.

            commit();
                # Issues a commit.  Returns true if the commit
                # succeeded, false if it failed.

            rollback();
                # Issues a rollback.  Returns true if the rollback
                # succeeded, false if it failed.

            errorMessage();
                # If an operation failed and generated an error, the
                # error message is available here.  If there is no
                # error then this method returns NULL.

            errorNumber();
                # If an operation failed and generated an
                # error, the error number is available here.
                # If there is no error then this method
                # returns 0.

            debugOn();
                # Causes verbose debugging information to be
                # sent to standard output.  Another way to do
                # this is to start a query with "-- debug\n".
                # Yet another way is to set the environment
                # variable SQLR_CLIENT_DEBUG to "ON"

            debugOff();
                # Turns debugging off.

            getDebug();
                # Returns true if debugging is currently on and false
                # if debugging is currently off.

            setDebugFile(filename);
                # Allows you to specify a file to write debug to.
                # Setting "filename" to NULL or an empty string causes debug
                # to be written to standard output (the default).

            setClientInfo(clientinfo);
                # Allows you to set a string that will be passed to the
                # server and ultimately included in server-side logging
                # along with queries that were run by this instance of
                # the client.

            getClientInfo();
                # Returns the string that was set by setClientInfo().

# AUTHOR

        David Muse
        david.muse@firstworks.com