Class SQLQuery

java.lang.Object
com.mckoi.database.jdbc.SQLQuery

public final class SQLQuery extends Object
Represents an SQL Query to the database. This includes the query string itself plus any data types that are part of the query.

FUTURE ENHANCEMENTS: This could do some preliminary parsing of the query string for faster translation by the database.

Author:
Tobias Downer
  • Constructor Details

    • SQLQuery

      public SQLQuery(String query)
      Constructs the query.
  • Method Details

    • addVar

      public void addVar(Object ob)
      Adds a variable to the query. If the object is not a type that is a database 'primitive' type (BigDecimal, ByteLongObject, Boolean, Date, String) then it is serialized and the serialized form is wrapped in a ByteLongObject.
    • setVar

      public void setVar(int i, Object ob)
      Sets a variable at the given index. Grows if necessary. If the object is not a type that is a database 'primitive' type (BigDecimal, ByteLongObject, Boolean, Date, String) then it is serialized and the serialized form is wrapped in a ByteLongObject.
    • clear

      public void clear()
      Clears all the parameters.
    • getQuery

      public String getQuery()
      Returns the query string.
    • getVars

      public Object[] getVars()
      Returns the array of all objects that are to be used as substitutions for '?' in the query.

      NOTE: Array returned references internal Object[] here so don't change!

    • prepare

      public void prepare(boolean do_escape_processing) throws SQLException
      Prepares the query by parsing the query string and performing any updates that are required before being passed down to the lower layers of the database engine for processing. For example, JDBC escape code processing.
      Throws:
      SQLException
    • equals

      public boolean equals(Object ob)
      Returns true if this query is equal to another.
      Overrides:
      equals in class Object
    • copy

      public SQLQuery copy()
      Creates an exact copy of this object.
    • toString

      public String toString()
      Outputs the query as text (for debugging)
      Overrides:
      toString in class Object
    • writeTo

      public void writeTo(DataOutputStream out) throws IOException
      Writes the SQL query to the data output stream.
      Throws:
      IOException
    • readFrom

      public static SQLQuery readFrom(DataInputStream in) throws IOException
      Reads an SQLQuery object from the data input stream.
      Throws:
      IOException
    • serializeToBlob

      public ByteLongObject serializeToBlob()
      Serializes an SQLQuery object to a ByteLongObject.
    • deserializeFromBlob

      public static SQLQuery deserializeFromBlob(ByteLongObject ob)
      Deserializes an SQLQuery object from a ByteLongObject.