SQL Relay node.js API
Public Member Functions | List of all members
SQLRCursor Class Reference

Public Member Functions

 SQLRCursor (var sqlrc)
 
function setResultSetBufferSize (var rows)
 
function getResultSetBufferSize ()
 
function dontGetColumnInfo ()
 
function getColumnInfo ()
 
function mixedCaseColumnNames ()
 
function upperCaseColumnNames ()
 
function lowerCaseColumnNames ()
 
function cacheToFile (var filename)
 
function setCacheTtl (var ttl)
 
function getCacheFileName ()
 
function cacheOff ()
 
function getDatabaseList (var wild)
 
function getTableList (var wild)
 
function getColumnList (var table, var wild)
 
function sendQuery (var query)
 
function sendQuery (var query, var length)
 
function sendFileQuery (var path, var filename)
 
function prepareQuery (var query)
 
function prepareQuery (var query, var length)
 
function prepareFileQuery (var path, var filename)
 
function substitution (var variable, var value)
 
function substitution (var variable, var value)
 
function substitution (var variable, var value, var precision, var scale)
 
function substitutions (var variables, var values)
 
function substitutions (var variables, var values)
 
function substitutions (var variables, var values, var precisions, var scales)
 
function inputBind (var variable, var value)
 
function inputBind (var variable, var value, var valuelength)
 
function inputBind (var variable, var value)
 
function inputBind (var variable, var value, var precision, var scale)
 
function inputBind (var variable, var year, var month, var day, var hour, var minute, var second, var microsecond, var tz)
 
function inputBindBlob (var variable, var value, var size)
 
function inputBindClob (var variable, var value, var size)
 
function inputBinds (var variables, var values)
 
function inputBinds (var variables, const var values)
 
function inputBinds (var variables, const var values, const var precisions, const var scales)
 
function defineOutputBindString (var variable, var bufferlength)
 
function defineOutputBindInteger (var variable)
 
function defineOutputBindDouble (var variable)
 
function defineOutputBindDate (var variable)
 
function defineOutputBindBlob (var variable)
 
function defineOutputBindClob (var variable)
 
function defineOutputBindCursor (var variable)
 
function clearBinds ()
 
function countBindVariables () const
 
function validateBinds ()
 
function validBind (var variable)
 
function executeQuery ()
 
function fetchFromBindCursor ()
 
function getOutputBindString (var variable)
 
function getOutputBindInteger (var variable)
 
function getOutputBindDouble (var variable)
 
function getOutputBindDate (var variable, var year, var month, var day, var hour, var minute, var second, var microsecond, var tz)
 
function getOutputBindBlob (var variable)
 
function getOutputBindClob (var variable)
 
function getOutputBindLength (var variable)
 
function getOutputBindCursor (var variable)
 
function openCachedResultSet (var filename)
 
function colCount ()
 
function rowCount ()
 
function totalRows ()
 
function affectedRows ()
 
function firstRowIndex ()
 
function endOfResultSet ()
 
function errorMessage ()
 
function errorNumber ()
 
function getNullsAsEmptyStrings ()
 
function getNullsAsNulls ()
 
function getField (var row, var col)
 
function getField (var row, var col)
 
function getFieldAsInteger (var row, var col)
 
function getFieldAsInteger (var row, var col)
 
function getFieldAsDouble (var row, var col)
 
function getFieldAsDouble (var row, var col)
 
function getFieldLength (var row, var col)
 
function getFieldLength (var row, var col)
 
function getRow (var row)
 
function getRowLengths (var row)
 
function getColumnNames ()
 
function getColumnName (var col)
 
function getColumnType (var col)
 
function getColumnType (var col)
 
function getColumnLength (var col)
 
function getColumnLength (var col)
 
function getColumnPrecision (var col)
 
function getColumnPrecision (var col)
 
function getColumnScale (var col)
 
function getColumnScale (var col)
 
function getColumnIsNullable (var col)
 
function getColumnIsNullable (var col)
 
function getColumnIsPrimaryKey (var col)
 
function getColumnIsPrimaryKey (var col)
 
function getColumnIsUnique (var col)
 
function getColumnIsUnique (var col)
 
function getColumnIsPartOfKey (var col)
 
function getColumnIsPartOfKey (var col)
 
function getColumnIsUnsigned (var col)
 
function getColumnIsUnsigned (var col)
 
function getColumnIsZeroFilled (var col)
 
function getColumnIsZeroFilled (var col)
 
function getColumnIsBinary (var col)
 
function getColumnIsBinary (var col)
 
function getColumnIsAutoIncrement (var col)
 
function getColumnIsAutoIncrement (var col)
 
function getLongest (var col)
 
function getLongest (var col)
 
function suspendResultSet ()
 
function getResultSetId ()
 
function resumeResultSet (var id)
 
function resumeCachedResultSet (var id, var filename)
 
function closeResultSet ()
 

Constructor & Destructor Documentation

◆ SQLRCursor()

SQLRCursor::SQLRCursor ( var sqlrc)

Creates a cursor to run queries and fetch result sets using connecton "sqlrc".

Member Function Documentation

◆ affectedRows()

function SQLRCursor::affectedRows ( )

Returns the number of rows that were updated, inserted or deleted by the query. Not all databases support this call. Don't use it for applications which are designed to be portable across databases. 0 is returned by databases which don't support this option.

◆ cacheOff()

function SQLRCursor::cacheOff ( )

Sets query caching off.

◆ cacheToFile()

function SQLRCursor::cacheToFile ( var filename)

Sets query caching on. Future queries will be cached to the file "filename".

A default time-to-live of 10 minutes is also set.

Note that once cacheToFile() is called, the result sets of all future queries will be cached to that file until another call to cacheToFile() changes which file to cache to or a call to cacheOff() turns off caching.

◆ clearBinds()

function SQLRCursor::clearBinds ( )

Clears all bind variables.

◆ closeResultSet()

function SQLRCursor::closeResultSet ( )

Closes the current result set, if one is open. Data that has been fetched already is still available but no more data may be fetched. Server side resources for the result set are freed as well.

◆ colCount()

function SQLRCursor::colCount ( )

Returns the number of columns in the current result set.

◆ countBindVariables()

function SQLRCursor::countBindVariables ( ) const

Parses the previously prepared query, counts the number of bind variables defined in it and returns that number.

◆ defineOutputBindBlob()

function SQLRCursor::defineOutputBindBlob ( var variable)

Defines a binary lob output bind variable.

◆ defineOutputBindClob()

function SQLRCursor::defineOutputBindClob ( var variable)

Defines a character lob output bind variable.

◆ defineOutputBindCursor()

function SQLRCursor::defineOutputBindCursor ( var variable)

Defines a cursor output bind variable.

◆ defineOutputBindDate()

function SQLRCursor::defineOutputBindDate ( var variable)

Defines a date output bind variable.

◆ defineOutputBindDouble()

function SQLRCursor::defineOutputBindDouble ( var variable)

Defines a decimal output bind variable.

◆ defineOutputBindInteger()

function SQLRCursor::defineOutputBindInteger ( var variable)

Defines an integer output bind variable.

◆ defineOutputBindString()

function SQLRCursor::defineOutputBindString ( var variable,
var bufferlength )

Defines an output bind variable. "bufferlength" bytes will be reserved to store the value.

◆ dontGetColumnInfo()

function SQLRCursor::dontGetColumnInfo ( )

Tells the server not to send any column info (names, types, sizes). If you don't need that info, you should call this method to improve performance.

◆ endOfResultSet()

function SQLRCursor::endOfResultSet ( )

Returns false if part of the result set is still pending on the server and true if not. This method can only return false if setResultSetBufferSize() has been called with a parameter other than 0.

◆ errorMessage()

function SQLRCursor::errorMessage ( )

If a query failed and generated an error, the error message is available here. If the query succeeded then this method returns NULL.

◆ errorNumber()

function SQLRCursor::errorNumber ( )

If a query failed and generated an error, the error number is available here. If there is no error then this method returns 0.

◆ executeQuery()

function SQLRCursor::executeQuery ( )

Execute the query that was previously prepared and bound.

◆ fetchFromBindCursor()

function SQLRCursor::fetchFromBindCursor ( )

Fetch from a cursor that was returned as an output bind variable.

◆ firstRowIndex()

function SQLRCursor::firstRowIndex ( )

Returns the index of the first buffered row. This is useful when buffering only part of the result set at a time.

◆ getCacheFileName()

function SQLRCursor::getCacheFileName ( )

Returns the name of the file containing the cached result set.

◆ getColumnInfo()

function SQLRCursor::getColumnInfo ( )

Tells the server to send column info.

◆ getColumnIsAutoIncrement() [1/2]

function SQLRCursor::getColumnIsAutoIncrement ( var col)

Returns true if the specified column auto-increments and false otherwise.

◆ getColumnIsAutoIncrement() [2/2]

function SQLRCursor::getColumnIsAutoIncrement ( var col)

Returns true if the specified column auto-increments and false otherwise.

◆ getColumnIsBinary() [1/2]

function SQLRCursor::getColumnIsBinary ( var col)

Returns true if the specified column contains binary data and false otherwise.

◆ getColumnIsBinary() [2/2]

function SQLRCursor::getColumnIsBinary ( var col)

Returns true if the specified column contains binary data and false otherwise.

◆ getColumnIsNullable() [1/2]

function SQLRCursor::getColumnIsNullable ( var col)

Returns true if the specified column can contain nulls and false otherwise.

◆ getColumnIsNullable() [2/2]

function SQLRCursor::getColumnIsNullable ( var col)

Returns true if the specified column can contain nulls and false otherwise.

◆ getColumnIsPartOfKey() [1/2]

function SQLRCursor::getColumnIsPartOfKey ( var col)

Returns true if the specified column is part of a composite key and false otherwise.

◆ getColumnIsPartOfKey() [2/2]

function SQLRCursor::getColumnIsPartOfKey ( var col)

Returns true if the specified column is part of a composite key and false otherwise.

◆ getColumnIsPrimaryKey() [1/2]

function SQLRCursor::getColumnIsPrimaryKey ( var col)

Returns true if the specified column is a primary key and false otherwise.

◆ getColumnIsPrimaryKey() [2/2]

function SQLRCursor::getColumnIsPrimaryKey ( var col)

Returns true if the specified column is a primary key and false otherwise.

◆ getColumnIsUnique() [1/2]

function SQLRCursor::getColumnIsUnique ( var col)

Returns true if the specified column is unique and false otherwise.

◆ getColumnIsUnique() [2/2]

function SQLRCursor::getColumnIsUnique ( var col)

Returns true if the specified column is unique and false otherwise.

◆ getColumnIsUnsigned() [1/2]

function SQLRCursor::getColumnIsUnsigned ( var col)

Returns true if the specified column is an unsigned number and false otherwise.

◆ getColumnIsUnsigned() [2/2]

function SQLRCursor::getColumnIsUnsigned ( var col)

Returns true if the specified column is an unsigned number and false otherwise.

◆ getColumnIsZeroFilled() [1/2]

function SQLRCursor::getColumnIsZeroFilled ( var col)

Returns true if the specified column was created with the zero-fill flag and false otherwise.

◆ getColumnIsZeroFilled() [2/2]

function SQLRCursor::getColumnIsZeroFilled ( var col)

Returns true if the specified column was created with the zero-fill flag and false otherwise.

◆ getColumnLength() [1/2]

function SQLRCursor::getColumnLength ( var col)

Returns the number of bytes required on the server to store the data for the specified column

◆ getColumnLength() [2/2]

function SQLRCursor::getColumnLength ( var col)

Returns the number of bytes required on the server to store the data for the specified column

◆ getColumnList()

function SQLRCursor::getColumnList ( var table,
var wild )

Sends a query that returns a list of columns in the table specified by the "table" parameter matching "wild". If wild is empty or NULL then a list of all columns will be returned.

◆ getColumnName()

function SQLRCursor::getColumnName ( var col)

Returns the name of the specified column.

◆ getColumnNames()

function SQLRCursor::getColumnNames ( )

Returns a null terminated array of the column names of the current result set.

◆ getColumnPrecision() [1/2]

function SQLRCursor::getColumnPrecision ( var col)

Returns the precision of the specified column. Precision is the total number of digits in a number. eg: 123.45 has a precision of 5. For non-numeric types, it's the number of characters in the string.

◆ getColumnPrecision() [2/2]

function SQLRCursor::getColumnPrecision ( var col)

Returns the precision of the specified column. Precision is the total number of digits in a number. eg: 123.45 has a precision of 5. For non-numeric types, it's the number of characters in the string.

◆ getColumnScale() [1/2]

function SQLRCursor::getColumnScale ( var col)

Returns the scale of the specified column. Scale is the total number of digits to the right of the decimal point in a number. eg: 123.45 has a scale of 2.

◆ getColumnScale() [2/2]

function SQLRCursor::getColumnScale ( var col)

Returns the scale of the specified column. Scale is the total number of digits to the right of the decimal point in a number. eg: 123.45 has a scale of 2.

◆ getColumnType() [1/2]

function SQLRCursor::getColumnType ( var col)

Returns the type of the specified column.

◆ getColumnType() [2/2]

function SQLRCursor::getColumnType ( var col)

Returns the type of the specified column.

◆ getDatabaseList()

function SQLRCursor::getDatabaseList ( var wild)

Sends a query that returns a list of databases/schemas matching "wild". If wild is empty or NULL then a list of all databases/schemas will be returned.

◆ getField() [1/2]

function SQLRCursor::getField ( var row,
var col )

Returns the specified field as a string.

◆ getField() [2/2]

function SQLRCursor::getField ( var row,
var col )

Returns the specified field as a string

◆ getFieldAsDouble() [1/2]

function SQLRCursor::getFieldAsDouble ( var row,
var col )

Returns the specified field as a decimal.

◆ getFieldAsDouble() [2/2]

function SQLRCursor::getFieldAsDouble ( var row,
var col )

Returns the specified field as a decimal.

◆ getFieldAsInteger() [1/2]

function SQLRCursor::getFieldAsInteger ( var row,
var col )

Returns the specified field as an integer.

◆ getFieldAsInteger() [2/2]

function SQLRCursor::getFieldAsInteger ( var row,
var col )

Returns the specified field as an integer.

◆ getFieldLength() [1/2]

function SQLRCursor::getFieldLength ( var row,
var col )

Returns the length of the specified field.

◆ getFieldLength() [2/2]

function SQLRCursor::getFieldLength ( var row,
var col )

Returns the length of the specified field.

◆ getLongest() [1/2]

function SQLRCursor::getLongest ( var col)

Returns the length of the longest field in the specified column.

◆ getLongest() [2/2]

function SQLRCursor::getLongest ( var col)

Returns the length of the longest field in the specified column.

◆ getNullsAsEmptyStrings()

function SQLRCursor::getNullsAsEmptyStrings ( )

Tells the connection to return NULL fields and output bind variables as empty strings. This is the default.

◆ getNullsAsNulls()

function SQLRCursor::getNullsAsNulls ( )

Tells the connection to return NULL fields and output bind variables as NULL's rather than as empty strings.

◆ getOutputBindBlob()

function SQLRCursor::getOutputBindBlob ( var variable)

Get the value stored in a previously defined binary lob output bind variable.

◆ getOutputBindClob()

function SQLRCursor::getOutputBindClob ( var variable)

Get the value stored in a previously defined character lob output bind variable.

◆ getOutputBindCursor()

function SQLRCursor::getOutputBindCursor ( var variable)

Get the cursor associated with a previously defined output bind variable.

◆ getOutputBindDate()

function SQLRCursor::getOutputBindDate ( var variable,
var year,
var month,
var day,
var hour,
var minute,
var second,
var microsecond,
var tz )

Get the value stored in a previously defined date output bind variable.

◆ getOutputBindDouble()

function SQLRCursor::getOutputBindDouble ( var variable)

Get the value stored in a previously defined decimal output bind variable.

◆ getOutputBindInteger()

function SQLRCursor::getOutputBindInteger ( var variable)

Get the value stored in a previously defined integer output bind variable.

◆ getOutputBindLength()

function SQLRCursor::getOutputBindLength ( var variable)

Get the length of the value stored in a previously defined output bind variable.

◆ getOutputBindString()

function SQLRCursor::getOutputBindString ( var variable)

Get the value stored in a previously defined string output bind variable.

◆ getResultSetBufferSize()

function SQLRCursor::getResultSetBufferSize ( )

Returns the number of result set rows that will be buffered at a time or 0 for the entire result set.

◆ getResultSetId()

function SQLRCursor::getResultSetId ( )

Returns the internal ID of this result set. This parameter may be passed to another cursor for use in the resumeResultSet() method. Note: The value this method returns is only valid after a call to suspendResultSet().

◆ getRow()

function SQLRCursor::getRow ( var row)

Returns a null terminated array of the values of the fields in the specified row.

◆ getRowLengths()

function SQLRCursor::getRowLengths ( var row)

Returns a null terminated array of the lengths of the fields in the specified row.

◆ getTableList()

function SQLRCursor::getTableList ( var wild)

Sends a query that returns a list of tables matching "wild". If wild is empty or NULL then a list of all tables will be returned.

◆ inputBind() [1/5]

function SQLRCursor::inputBind ( var variable,
var value )

Defines a string input bind variable.

◆ inputBind() [2/5]

function SQLRCursor::inputBind ( var variable,
var value )

Defines a integer input bind variable.

◆ inputBind() [3/5]

function SQLRCursor::inputBind ( var variable,
var value,
var precision,
var scale )

Defines a decimal input bind variable. (If you don't have the precision and scale then set them both 0. However in that case you may get unexpected rounding behavior if the server is faking binds.)

◆ inputBind() [4/5]

function SQLRCursor::inputBind ( var variable,
var value,
var valuelength )

Defines a string input bind variable.

◆ inputBind() [5/5]

function SQLRCursor::inputBind ( var variable,
var year,
var month,
var day,
var hour,
var minute,
var second,
var microsecond,
var tz )

Defines a date input bind variable. "day" should be 1-31 and "month" should be 1-12. "tz" may be left NULL. Most databases ignore "tz".

◆ inputBindBlob()

function SQLRCursor::inputBindBlob ( var variable,
var value,
var size )

Defines a binary lob input bind variable.

◆ inputBindClob()

function SQLRCursor::inputBindClob ( var variable,
var value,
var size )

Defines a character lob input bind variable.

◆ inputBinds() [1/3]

function SQLRCursor::inputBinds ( var variables,
const var values )

Defines an array of integer input bind variables.

◆ inputBinds() [2/3]

function SQLRCursor::inputBinds ( var variables,
const var values,
const var precisions,
const var scales )

Defines an array of decimal input bind variables.

◆ inputBinds() [3/3]

function SQLRCursor::inputBinds ( var variables,
var values )

Defines an array of string input bind variables.

◆ lowerCaseColumnNames()

function SQLRCursor::lowerCaseColumnNames ( )

Columns names are converted to lower case.

◆ mixedCaseColumnNames()

function SQLRCursor::mixedCaseColumnNames ( )

Columns names are returned in the same case as they are defined in the database. This is the default.

◆ openCachedResultSet()

function SQLRCursor::openCachedResultSet ( var filename)

Opens a cached result set. Returns true on success and false on failure.

◆ prepareFileQuery()

function SQLRCursor::prepareFileQuery ( var path,
var filename )

Prepare to execute the contents of "path"/"filename". Returns false if the // file couldn't be opened.

◆ prepareQuery() [1/2]

function SQLRCursor::prepareQuery ( var query)

Prepare to execute "query".

◆ prepareQuery() [2/2]

function SQLRCursor::prepareQuery ( var query,
var length )

Prepare to execute "query" with length "length". This method must be used if the query contains binary data.

◆ resumeCachedResultSet()

function SQLRCursor::resumeCachedResultSet ( var id,
var filename )

Resumes a result set previously left open using suspendSession() and continues caching the result set to "filename". Returns true on success and false on failure.

◆ resumeResultSet()

function SQLRCursor::resumeResultSet ( var id)

Resumes a result set previously left open using suspendSession(). Returns true on success and false on failure.

◆ rowCount()

function SQLRCursor::rowCount ( )

Returns the number of rows in the current result set (if the result set is being stepped through, this returns the number of rows processed so far).

◆ sendFileQuery()

function SQLRCursor::sendFileQuery ( var path,
var filename )

Sends the query in file "path"/"filename" directly and gets a result set.

◆ sendQuery() [1/2]

function SQLRCursor::sendQuery ( var query)

Sends "query" directly and gets a result set.

◆ sendQuery() [2/2]

function SQLRCursor::sendQuery ( var query,
var length )

Sends "query" with length "length" directly and gets a result set. This method must be used if the query contains binary data.

◆ setCacheTtl()

function SQLRCursor::setCacheTtl ( var ttl)

Sets the time-to-live for cached result sets. The sqlr-cachemanger will remove each cached result set "ttl" seconds after it's created, provided it's scanning the directory containing the cache files.

◆ setResultSetBufferSize()

function SQLRCursor::setResultSetBufferSize ( var rows)

Sets the number of rows of the result set to buffer at a time. 0 (the default) means buffer the entire result set.

◆ substitution() [1/3]

function SQLRCursor::substitution ( var variable,
var value )

Defines a string substitution variable.

◆ substitution() [2/3]

function SQLRCursor::substitution ( var variable,
var value )

Defines an integer substitution variable.

◆ substitution() [3/3]

function SQLRCursor::substitution ( var variable,
var value,
var precision,
var scale )

Defines a decimal substitution variable.

◆ substitutions() [1/3]

function SQLRCursor::substitutions ( var variables,
var values )

Defines an array of string substitution variables.

◆ substitutions() [2/3]

function SQLRCursor::substitutions ( var variables,
var values )

Defines an array of integer substitution variables.

◆ substitutions() [3/3]

function SQLRCursor::substitutions ( var variables,
var values,
var precisions,
var scales )

Defines an array of decimal substitution variables.

◆ suspendResultSet()

function SQLRCursor::suspendResultSet ( )

Tells the server to leave this result set open when the connection calls suspendSession() so that another connection can connect to it using resumeResultSet() after it calls resumeSession().

◆ totalRows()

function SQLRCursor::totalRows ( )

Returns the total number of rows that will be returned in the result set. Not all databases support this call. Don't use it for applications which are designed to be portable across databases. 0 is returned by databases which don't support this option.

◆ upperCaseColumnNames()

function SQLRCursor::upperCaseColumnNames ( )

Columns names are converted to upper case.

◆ validateBinds()

function SQLRCursor::validateBinds ( )

If you are binding to any variables that might not actually be in your query, call this to ensure that the database won't try to bind them unless they really are in the query. There is a performance penalty for calling this method.

◆ validBind()

function SQLRCursor::validBind ( var variable)

Returns true if "variable" was a valid bind variable of the query.