Class SQLQuery


  • public final class SQLQuery
    extends java.lang.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 Summary

      Constructors 
      Constructor Description
      SQLQuery​(java.lang.String query)
      Constructs the query.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addVar​(java.lang.Object ob)
      Adds a variable to the query.
      void clear()
      Clears all the parameters.
      SQLQuery copy()
      Creates an exact copy of this object.
      static SQLQuery deserializeFromBlob​(ByteLongObject ob)
      Deserializes an SQLQuery object from a ByteLongObject.
      boolean equals​(java.lang.Object ob)
      Returns true if this query is equal to another.
      java.lang.String getQuery()
      Returns the query string.
      java.lang.Object[] getVars()
      Returns the array of all objects that are to be used as substitutions for '?' in the query.
      void prepare​(boolean do_escape_processing)
      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.
      static SQLQuery readFrom​(java.io.DataInputStream in)
      Reads an SQLQuery object from the data input stream.
      ByteLongObject serializeToBlob()
      Serializes an SQLQuery object to a ByteLongObject.
      void setVar​(int i, java.lang.Object ob)
      Sets a variable at the given index.
      java.lang.String toString()
      Outputs the query as text (for debugging)
      void writeTo​(java.io.DataOutputStream out)
      Writes the SQL query to the data output stream.
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • SQLQuery

        public SQLQuery​(java.lang.String query)
        Constructs the query.
    • Method Detail

      • addVar

        public void addVar​(java.lang.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,
                           java.lang.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 java.lang.String getQuery()
        Returns the query string.
      • getVars

        public java.lang.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 java.sql.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:
        java.sql.SQLException
      • equals

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

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

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

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

        public static SQLQuery readFrom​(java.io.DataInputStream in)
                                 throws java.io.IOException
        Reads an SQLQuery object from the data input stream.
        Throws:
        java.io.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.