Pages

Monday, November 29, 2010

CFQuery and the underlying Java Objects

We know the Java is the backend of ColdFusion. So Java is underlying in ColdFusion. So there are Java Objects in CFQuery too.

For Example:

cfquery name="myqry" datasource="myDS"
select top 1 orderid from tblorder
cfquery

Next, I wanted to find out what Java object is this. This was pretty straight forward

cfdump var= "#myqry.getClass().getName()#"

That gives me coldfusion.sql.QueryTable , so I know what object this is internally

cfset sql = createObject("java","coldfusion.sql.QueryTable")
cfdump var = "#sql#"

coldfusion.sql.QueryTable
object of coldfusion.sql.QueryTable
Class Name coldfusion.sql.QueryTable
Methods Method Return Type
absolute(int) boolean
addColumn(java.lang.String, java.util.Vector) int
addColumn(java.lang.String) int
addRowSetListener(javax.sql.RowSetListener) void
afterLast() void
beforeFirst() void
cancelRowUpdates() void
clearParameters() void
clearWarnings() void
close() void
deleteRow() void
equals(java.lang.Object) boolean
execute() void
findColumn(java.lang.String) int
first() boolean
getArray(java.lang.String) java.sql.Array
getArray(int) java.sql.Array
getAsciiStream(int) java.io.InputStream
getAsciiStream(java.lang.String) java.io.InputStream
getBigDecimal(java.lang.String) java.math.BigDecimal
getBigDecimal(int) java.math.BigDecimal
getBigDecimal(java.lang.String, int) java.math.BigDecimal
getBigDecimal(int, int) java.math.BigDecimal
getBinaryStream(int) java.io.InputStream
getBinaryStream(java.lang.String) java.io.InputStream
getBlob(java.lang.String) java.sql.Blob
getBlob(int) java.sql.Blob
getBoolean(int) boolean
getBoolean(java.lang.String) boolean
getByte(java.lang.String) byte
getByte(int) byte
getBytes(int) byte[]
getBytes(java.lang.String) byte[]
getCharacterStream(java.lang.String) java.io.Reader
getCharacterStream(int) java.io.Reader
getClob(int) java.sql.Clob
getClob(java.lang.String) java.sql.Clob
getColumnList() java.lang.String[]
getCommand() java.lang.String
getConcurrency() int
getCurrentRow() int
getCursorName() java.lang.String
getDataSourceName() java.lang.String
getDate(java.lang.String, java.util.Calendar) java.sql.Date
getDate(int) java.sql.Date
getDate(java.lang.String) java.sql.Date
getDate(int, java.util.Calendar) java.sql.Date
getDouble(int) double
getDouble(java.lang.String) double
getEscapeProcessing() boolean
getFetchDirection() int
getFetchSize() int
getFloat(int) float
getFloat(java.lang.String) float
getInt(java.lang.String) int
getInt(int) int
getLong(java.lang.String) long
getLong(int) long
getMaxFieldSize() int
getMaxRows() int
getMetaData() java.sql.ResultSetMetaData
getObject(java.lang.String) java.lang.Object
getObject(int) java.lang.Object
getObject(int, java.util.Map) java.lang.Object
getObject(java.lang.String, java.util.Map) java.lang.Object
getPassword() java.lang.String
getQueryTimeout() int
getRecordCount() int
getRecordsetType() java.lang.String
getRef(java.lang.String) java.sql.Ref
getRef(int) java.sql.Ref
getRow() int
getShallowCopy() coldfusion.sql.QueryTable
getShort(int) short
getShort(java.lang.String) short
getStatement() java.sql.Statement
getString(java.lang.String) java.lang.String
getString(int) java.lang.String
getTime(int, java.util.Calendar) java.sql.Time
getTime(java.lang.String) java.sql.Time
getTime(java.lang.String, java.util.Calendar) java.sql.Time
getTime(int) java.sql.Time
getTimestamp(int) java.sql.Timestamp
getTimestamp(java.lang.String) java.sql.Timestamp
getTimestamp(java.lang.String, java.util.Calendar) java.sql.Timestamp
getTimestamp(int, java.util.Calendar) java.sql.Timestamp
getTransactionIsolation() int
getType() int
getTypeMap() java.util.Map
getURL(java.lang.String) java.net.URL
getURL(int) java.net.URL
getUnicodeStream(int) java.io.InputStream
getUnicodeStream(java.lang.String) java.io.InputStream
getUpdateCount() int
getUrl() java.lang.String
getUsername() java.lang.String
getWarnings() java.sql.SQLWarning
insertRow() void
isAfterLast() boolean
isBeforeFirst() boolean
isFirst() boolean
isLast() boolean
isReadOnly() boolean
last() boolean
moveToCurrentRow() void
moveToInsertRow() void
next() boolean
populate(java.sql.ResultSet, int) void
populate(java.sql.ResultSet) void
populate(coldfusion.sql.QueryTable, int) void
populate(com.allaire.cfx.Query) void
previous() boolean
refreshRow() void
relative(int) boolean
removeRowSetListener(javax.sql.RowSetListener) void
resolveObject(java.lang.Object, int, int) java.lang.Object
rowDeleted() boolean
rowInserted() boolean
rowUpdated() boolean
setArray(int, java.sql.Array) void
setAsciiStream(int, java.io.InputStream, int) void
setBigDecimal(int, java.math.BigDecimal) void
setBinaryStream(int, java.io.InputStream, int) void
setBlob(int, java.sql.Blob) void
setBoolean(int, boolean) void
setByte(int, byte) void
setBytes(int, byte[]) void
setCharacterStream(int, java.io.Reader, int) void
setClob(int, java.sql.Clob) void
setCommand(java.lang.String) void
setConcurrency(int) void
setDataSourceName(java.lang.String) void
setDate(int, java.sql.Date) void
setDate(int, java.sql.Date, java.util.Calendar) void
setDouble(int, double) void
setEscapeProcessing(boolean) void
setFetchDirection(int) void
setFetchSize(int) void
setFloat(int, float) void
setInt(int, int) void
setLong(int, long) void
setMaxFieldSize(int) void
setMaxRows(int) void
setMetaData(coldfusion.sql.QueryTableMetaData) void
setNull(int, int) void
setNull(int, int, java.lang.String) void
setObject(int, java.lang.Object, int) void
setObject(int, java.lang.Object) void
setObject(int, java.lang.Object, int, int) void
setPassword(java.lang.String) void
setQueryTimeout(int) void
setReadOnly(boolean) void
setRef(int, java.sql.Ref) void
setShort(int, short) void
setString(int, java.lang.String) void
setTime(int, java.sql.Time) void
setTime(int, java.sql.Time, java.util.Calendar) void
setTimestamp(int, java.sql.Timestamp, java.util.Calendar) void
setTimestamp(int, java.sql.Timestamp) void
setTransactionIsolation(int) void
setType(int) void
setTypeMap(java.util.Map) void
setUpdateCount(int) void
setUrl(java.lang.String) void
setUsername(java.lang.String) void
updateArray(int, java.sql.Array) void
updateArray(java.lang.String, java.sql.Array) void
updateAsciiStream(java.lang.String, java.io.InputStream, int) void
updateAsciiStream(int, java.io.InputStream, int) void
updateBigDecimal(int, java.math.BigDecimal) void
updateBigDecimal(java.lang.String, java.math.BigDecimal) void
updateBinaryStream(java.lang.String, java.io.InputStream, int) void
updateBinaryStream(int, java.io.InputStream, int) void
updateBlob(int, java.sql.Blob) void
updateBlob(java.lang.String, java.sql.Blob) void
updateBoolean(int, boolean) void
updateBoolean(java.lang.String, boolean) void
updateByte(java.lang.String, byte) void
updateByte(int, byte) void
updateBytes(java.lang.String, byte[]) void
updateBytes(int, byte[]) void
updateCharacterStream(java.lang.String, java.io.Reader, int) void
updateCharacterStream(int, java.io.Reader, int) void
updateClob(int, java.sql.Clob) void
updateClob(java.lang.String, java.sql.Clob) void
updateDate(java.lang.String, java.sql.Date) void
updateDate(int, java.sql.Date) void
updateDouble(int, double) void
updateDouble(java.lang.String, double) void
updateFloat(java.lang.String, float) void
updateFloat(int, float) void
updateInt(java.lang.String, int) void
updateInt(int, int) void
updateLong(int, long) void
updateLong(java.lang.String, long) void
updateNull(java.lang.String) void
updateNull(int) void
updateObject(java.lang.String, java.lang.Object, int) void
updateObject(int, java.lang.Object) void
updateObject(java.lang.String, java.lang.Object) void
updateObject(int, java.lang.Object, int) void
updateRef(java.lang.String, java.sql.Ref) void
updateRef(int, java.sql.Ref) void
updateRow() void
updateShort(java.lang.String, short) void
updateShort(int, short) void
updateString(int, java.lang.String) void
updateString(java.lang.String, java.lang.String) void
updateTime(java.lang.String, java.sql.Time) void
updateTime(int, java.sql.Time) void
updateTimestamp(java.lang.String, java.sql.Timestamp) void
updateTimestamp(int, java.sql.Timestamp) void
wasNull() boolean

Fields Field Value
int APPLICATION_SCOPE 7
int ARGUMENTS_SCOPE 1
int CLOSE_CURSORS_AT_COMMIT 2
int CONCUR_READ_ONLY 1007
int CONCUR_UPDATABLE 1008
int FETCH_FORWARD 1000
int FETCH_REVERSE 1001
int FETCH_UNKNOWN 1002
int HOLD_CURSORS_OVER_COMMIT 1
int LOCAL_SCOPE 0
int NOT_FOUND -1
int NO_SCOPE -1
int PAGE_SCOPE 3
int REQUEST_SCOPE 5
int SERVER_SCOPE 8
int SESSION_SCOPE 6
int THIS_SCOPE 4
int THREAD_SCOPE 2
int TYPE_FORWARD_ONLY 1003
int TYPE_SCROLL_INSENSITIVE 1004
int TYPE_SCROLL_SENSITIVE 1005

Parent Class object coldfusion.sql.Table
Class Name coldfusion.sql.Table
Methods Method Return Type
addRows(int) int
clear() void
findColumn(java.lang.String) int
firstTable() coldfusion.sql.Table
getColumn(int) java.util.List
getColumn(java.lang.String) java.util.List
getColumnCount() int
getColumnName(int) java.lang.String
getColumnNames() java.lang.String[]
getField(int, int) java.lang.Object
lastTable() coldfusion.sql.Table
nextTable() coldfusion.sql.Table
previousTable() coldfusion.sql.Table
setField(int, int, java.lang.Object) void
setNextTable(coldfusion.sql.Table) void
setPreviousTable(coldfusion.sql.Table) void
toString() java.lang.String

Parent Class object coldfusion.sql.imq.imqTable
Class Name coldfusion.sql.imq.imqTable
Methods Method Return Type
addColumnName(java.lang.String) void
clear() void
getColumnNames() java.lang.String[]
getColumnTypeName(int) java.lang.String
getMemoryTrackerProxy() coldfusion.monitor.memory.MemoryTrackerProxy
getQueryStat() coldfusion.monitor.sql.QueryStat
getRow(int) coldfusion.sql.imq.Row
getRowCount() int
getScopeType() int
guessColumnType(int) int
isCached() boolean
removeRows(int, int) void
setCached(boolean) void
setColumnNames(java.lang.String[]) void
setMemoryTrackerProxy(coldfusion.monitor.memory.MemoryTrackerProxy) void
setQueryStat(coldfusion.monitor.sql.QueryStat) void
sort(int, boolean) void
sort(coldfusion.sql.imq.OrderByColumnList) void
sort(int, boolean, boolean) void
sort(coldfusion.sql.imq.OrderByColumnList, boolean) void
valuesIterator() java.util.Iterator




- returns 1 (because this column exists in my query)
- returns 0 (because this doesnt)



Here is a dump of what it looks like. It gives you the executiontime of the query and tells you if the query is cached or not apart from giving you the actual SQL statement and the resultset.


use java.sql.ResultSet to get more info

http://www.zrinity.com/developers/mx/undocumentation/query.cfm

No comments:

Post a Comment