Buglet - buglet.sourceforge.org

org.buglet.db
Class SQLSelect

java.lang.Object
  |
  +--org.buglet.db.SQLTable
        |
        +--org.buglet.db.SQLSelect

public class SQLSelect
extends SQLTable

This class designed to allow the user to easily insert a row into a table in mysql. The example is something like: mySQLTable mtable = new mySQLTable("tablename"); mtable.add("col1", 12); mtable.add("col2", "234"); mtable.send(); Multi table join SQLSelect s1 = new SQLSelect("usernotes"); SQLSelect s2 = new SQLSelect("users"); s2.selectColumn(username,"adminuser"); s1.join("critic_uid", s1, "uid"); SQLSelect s3 = new SQLSelect("users"); // select column s3.selectColumn(username,"useruid"); s1.join("uid", s3, "uid"); This class needs work: TODO 1. Automatic logging of sql - based on flag. 2. sqlEscape needs to be fixed 3. build class to select data.


Inner classes inherited from class org.buglet.db.SQLTable
SQLTable.whereParam
 
Field Summary
(package private)  java.util.Vector columnnames
           
(package private)  java.util.Vector columnOrder
           
(package private)  java.util.Hashtable countColumns
           
(package private)  java.util.Hashtable distinctColumns
           
(package private)  boolean distinctResults
           
(package private)  java.util.Hashtable groupColumns
           
(package private)  java.util.Hashtable joinColumns
           
(package private)  int joincount
           
(package private)  HashVector joinTables
          Table Aliases with pointer to other SQLSelect objects
(package private) static org.apache.log4j.Category log
           
(package private)  java.util.Hashtable markedColumns
           
(package private)  java.util.Hashtable maxColumns
           
(package private)  java.util.Hashtable minColumns
           
(package private)  java.lang.String number
           
(package private)  HashVector orderColumns
           
(package private)  java.lang.String postfix
           
(package private)  int queryCount
           
(package private)  boolean showTimingInfo
           
static java.util.Hashtable sqlErrorCache
           
(package private)  java.lang.String start
           
(package private)  java.util.Hashtable sumColumns
           
(package private)  boolean testTiming
           
(package private)  long timeEnd
          timing test variable
(package private)  long timeStart
          timing test variable
 
Fields inherited from class org.buglet.db.SQLTable
bugPool, DB_CONTACT, DB_JOB, dbname, isBug, isContact, OP_DELETE, OP_INSERT, OP_STRAIGHT, OP_UPDATE, operation, operationNames, overridesql, parameters, success, tablename, WHEREOP_DATEEND, WHEREOP_DATESTART, WHEREOP_EMPTYORNULL, WHEREOP_EQUALORNULL, WHEREOP_EQUALS, WHEREOP_GREATERTHAN, WHEREOP_GREATERTHANORNULL, WHEREOP_GREATERTHANZEROORNULL, WHEREOP_ISIN, WHEREOP_ISNOTNULL, WHEREOP_ISNULL, WHEREOP_LESSTHAN, WHEREOP_LESSTHANORNULL, WHEREOP_LESSTHANZEROORNULL, WHEREOP_LIKE, WHEREOP_NOTEQUALS, WHEREOP_VALUE, whereParams
 
Constructor Summary
SQLSelect(java.lang.String tablename)
          sole constructor
SQLSelect(java.lang.String db, java.lang.String tablename)
          database specific constructor
 
Method Summary
 void addGroupBy(java.lang.String Column)
           
 void addOrderBy(java.lang.String Column)
           
 void addReverseOrderBy(java.lang.String Column)
           
 void dontTestTiming()
           
 float getAverage(java.lang.String column)
           
 long getCount(java.lang.String column)
           
 double getDouble()
          returns a vector of hash tables- one per row.
 java.util.Hashtable getFirstRowHash()
           
 float getFloat(java.lang.String column)
           
 java.util.Hashtable getHash()
          shorter name so that people can remember.
 int getInt(java.lang.String column)
           
 java.util.Vector getIntList(java.lang.String column)
          return a vector containing Long objects
 long getLong()
           
 long getLong(java.lang.String column)
           
 java.util.Vector getResultColumnNames()
           
 java.lang.String getString(java.lang.String column)
           
 long getTotal()
          if one of the columns being selected is "total" then you can get back the first row of "total"
 java.util.Vector getVectorOfHashes()
          returns a vector of hash tables- one per row.
 java.util.Vector getVectorOfVectors()
           
 java.util.Hashtable getVerticalHashtable(java.lang.String keyColumn, java.lang.String valueColumn)
           
 void init()
           
 void join(java.lang.String joinkey, SQLSelect select, java.lang.String targetKey)
           
static void main(java.lang.String[] args)
           
 java.lang.StringBuffer prepColumns()
          generate the column list for the sql statement
 java.lang.StringBuffer prepColumns(java.lang.String alias)
           
 java.util.Vector processWhereParams(java.lang.String tableName, java.util.Vector sqlVector)
           
(package private)  boolean reportBug(java.lang.String sqlString)
           
 java.util.Hashtable resultToHashtable(java.sql.ResultSet rs)
           
 java.util.Vector resultToVector(java.sql.ResultSet rs)
           
 void selectColumn(java.lang.String column)
           
 void selectColumn(java.lang.String column, java.lang.String colalias)
           
 void selectCountColumn(java.lang.String column)
          Add a count(*) from the table.
 void selectCountColumn(java.lang.String column, java.lang.String coalias)
          Add a count(*) from the table.
 void selectDistinctColumn(java.lang.String column)
          add a distinct column to your select e.g.
 void selectDistinctColumn(java.lang.String column, java.lang.String alias)
          add a distinct column to your select e.g.
 void selectDistinctResults()
           
 void selectMaxColumn(java.lang.String column)
           
 void selectMaxColumn(java.lang.String column, java.lang.String coalias)
          Add a count(*) from the table.
 void selectMinColumn(java.lang.String column)
           
 void selectMinColumn(java.lang.String column, java.lang.String coalias)
           
 void selectSumColumn(java.lang.String column, java.lang.String coalias)
           
 void setPostfix(java.lang.String postfix)
           
 void setRange(long start, long number)
           
 void setRange(java.lang.String start, java.lang.String number)
           
 void showTimingInfo()
           
static void testme()
           
 void timingOut()
          Output the timing information.
 java.lang.String toString()
           
 
Methods inherited from class org.buglet.db.SQLTable
add, add, add, add, add, addDateEnd, addDateOnlyEnd, addDateOnlyStart, addDateStart, addEmptyOrIsNull, addEqualOrNull, addGreaterThan, addGreaterThan, addGreaterThanOrNull, addGreaterThanOrNull, addGreaterThanZeroOrNull, addGreaterThanZeroOrNull, addIgnoreParam, addIgnoreParam, addIsIn, addIsIn, addIsNotNull, addIsNull, addLessThan, addLessThan, addLessThan, addLessThan, addLessThanOrNull, addLessThanOrNull, addLessThanZeroOrNull, addLessThanZeroOrNull, addLike, addLikeParam, addWhere, addWhere, addWhere, addWhere, freeHandle, getHandle, getInsertID, isSuccess, prepSql, send, setFetchID, setIsBug, setIsContact, setOpDelete, setOpStraight, setOpUpdate, setOverRideSql, sqlEscape, wherePartClause
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

log

static org.apache.log4j.Category log

testTiming

boolean testTiming

timeStart

long timeStart
timing test variable

timeEnd

long timeEnd
timing test variable

showTimingInfo

boolean showTimingInfo

columnnames

java.util.Vector columnnames

groupColumns

java.util.Hashtable groupColumns

orderColumns

HashVector orderColumns

columnOrder

java.util.Vector columnOrder

sqlErrorCache

public static java.util.Hashtable sqlErrorCache

start

java.lang.String start

number

java.lang.String number

joinTables

HashVector joinTables
Table Aliases with pointer to other SQLSelect objects

joinColumns

java.util.Hashtable joinColumns

markedColumns

java.util.Hashtable markedColumns

countColumns

java.util.Hashtable countColumns

maxColumns

java.util.Hashtable maxColumns

minColumns

java.util.Hashtable minColumns

distinctColumns

java.util.Hashtable distinctColumns

sumColumns

java.util.Hashtable sumColumns

distinctResults

boolean distinctResults

joincount

int joincount

queryCount

int queryCount

postfix

java.lang.String postfix
Constructor Detail

SQLSelect

public SQLSelect(java.lang.String db,
                 java.lang.String tablename)
database specific constructor

SQLSelect

public SQLSelect(java.lang.String tablename)
sole constructor
Method Detail

init

public void init()

setPostfix

public void setPostfix(java.lang.String postfix)

setRange

public void setRange(java.lang.String start,
                     java.lang.String number)

setRange

public void setRange(long start,
                     long number)

getVerticalHashtable

public java.util.Hashtable getVerticalHashtable(java.lang.String keyColumn,
                                                java.lang.String valueColumn)

getTotal

public long getTotal()
if one of the columns being selected is "total" then you can get back the first row of "total"

getLong

public long getLong(java.lang.String column)

getInt

public int getInt(java.lang.String column)

getAverage

public float getAverage(java.lang.String column)

getCount

public long getCount(java.lang.String column)

getFloat

public float getFloat(java.lang.String column)

getString

public java.lang.String getString(java.lang.String column)

getIntList

public java.util.Vector getIntList(java.lang.String column)
return a vector containing Long objects

getHash

public java.util.Hashtable getHash()
shorter name so that people can remember.

getFirstRowHash

public java.util.Hashtable getFirstRowHash()

join

public void join(java.lang.String joinkey,
                 SQLSelect select,
                 java.lang.String targetKey)

getVectorOfHashes

public java.util.Vector getVectorOfHashes()
returns a vector of hash tables- one per row.
Parameters:
sql -  

getLong

public long getLong()

getDouble

public double getDouble()
returns a vector of hash tables- one per row.
Parameters:
sql -  

getVectorOfVectors

public java.util.Vector getVectorOfVectors()

getResultColumnNames

public java.util.Vector getResultColumnNames()

resultToVector

public java.util.Vector resultToVector(java.sql.ResultSet rs)
                                throws java.sql.SQLException

resultToHashtable

public java.util.Hashtable resultToHashtable(java.sql.ResultSet rs)
                                      throws java.sql.SQLException

selectColumn

public void selectColumn(java.lang.String column,
                         java.lang.String colalias)

selectColumn

public void selectColumn(java.lang.String column)

prepColumns

public java.lang.StringBuffer prepColumns()
generate the column list for the sql statement

prepColumns

public java.lang.StringBuffer prepColumns(java.lang.String alias)

addGroupBy

public void addGroupBy(java.lang.String Column)

addOrderBy

public void addOrderBy(java.lang.String Column)

addReverseOrderBy

public void addReverseOrderBy(java.lang.String Column)

selectDistinctResults

public void selectDistinctResults()

selectDistinctColumn

public void selectDistinctColumn(java.lang.String column)
add a distinct column to your select e.g. select distinct state from users

selectDistinctColumn

public void selectDistinctColumn(java.lang.String column,
                                 java.lang.String alias)
add a distinct column to your select e.g. select distinct T3.state from users T3

selectCountColumn

public void selectCountColumn(java.lang.String column)
Add a count(*) from the table.

selectSumColumn

public void selectSumColumn(java.lang.String column,
                            java.lang.String coalias)

selectCountColumn

public void selectCountColumn(java.lang.String column,
                              java.lang.String coalias)
Add a count(*) from the table.

selectMaxColumn

public void selectMaxColumn(java.lang.String column)

selectMaxColumn

public void selectMaxColumn(java.lang.String column,
                            java.lang.String coalias)
Add a count(*) from the table.

selectMinColumn

public void selectMinColumn(java.lang.String column)

selectMinColumn

public void selectMinColumn(java.lang.String column,
                            java.lang.String coalias)

toString

public java.lang.String toString()
Overrides:
toString in class SQLTable

processWhereParams

public java.util.Vector processWhereParams(java.lang.String tableName,
                                           java.util.Vector sqlVector)

showTimingInfo

public void showTimingInfo()

dontTestTiming

public void dontTestTiming()

timingOut

public void timingOut()
Output the timing information.

testme

public static void testme()

main

public static void main(java.lang.String[] args)

reportBug

boolean reportBug(java.lang.String sqlString)

Buglet - buglet.sourceforge.org

Copyright © 2001 58k.com Inc. All Rights Reserved