|
|||||||||
| Home >> All >> org >> apache >> derby >> iapi >> [ types overview ] | PREV CLASS NEXT CLASS | ||||||||
SUMMARY: JAVADOC | SOURCE | DOWNLOAD | NESTED | FIELD | CONSTR | METHOD |
DETAIL: FIELD | CONSTR | METHOD | ||||||||
org.apache.derby.iapi.types
Class SQLTimestamp

java.lang.Objectorg.apache.derby.iapi.types.DataType
org.apache.derby.iapi.types.SQLTimestamp
- All Implemented Interfaces:
- CloneableObject, DataValueDescriptor, DateTimeDataValue, java.io.Externalizable, org.apache.derby.iapi.services.io.Formatable, Orderable, java.io.Serializable, org.apache.derby.iapi.services.io.Storable, org.apache.derby.iapi.services.io.TypedFormat
- public final class SQLTimestamp
- extends DataType
- implements DateTimeDataValue
- extends DataType
This contains an instance of a SQL Timestamp object.
SQLTimestamp is stored in 3 ints - an encoded date, an encoded time and nanoseconds encodedDate = 0 indicates a null WSCTimestamp SQLTimestamp is similar to SQLTimestamp, but it does conserves space by not keeping a GregorianCalendar object PERFORMANCE OPTIMIZATION: We only instantiate the value field when required due to the overhead of the Date methods. Thus, use isNull() instead of "value == null" and getTimestamp() instead of using value directly.
| Field Summary | |
private static int |
BASE_MEMORY_USAGE
|
(package private) static char |
DATE_SEPARATOR
|
private static char[] |
DATE_SEPARATORS
|
private static char[] |
DATE_TIME_SEPARATORS
|
private static char[] |
DATE_TIME_SEPARATORS_OR_END
|
private int |
encodedDate
|
private int |
encodedTime
|
private static char[] |
END_OF_STRING
|
(package private) static int |
FRACTION_TO_NANO
|
private static char |
IBM_DATE_TIME_SEPARATOR
|
private static char |
IBM_TIME_SEPARATOR
|
(package private) static int |
MAX_FRACTION_DIGITS
|
private int |
nanos
|
private static char |
ODBC_DATE_TIME_SEPARATOR
|
private static char |
ODBC_TIME_SEPARATOR
|
(package private) static int |
ONE_BILLION
|
private static char[] |
TIME_SEPARATORS
|
private static char[] |
TIME_SEPARATORS_OR_END
|
private java.lang.String |
valueString
|
| Fields inherited from interface org.apache.derby.iapi.types.DateTimeDataValue |
DAY_FIELD, DAY_INTERVAL, FRAC_SECOND_INTERVAL, HOUR_FIELD, HOUR_INTERVAL, MINUTE_FIELD, MINUTE_INTERVAL, MONTH_FIELD, MONTH_INTERVAL, QUARTER_INTERVAL, SECOND_FIELD, SECOND_INTERVAL, WEEK_INTERVAL, YEAR_FIELD, YEAR_INTERVAL |
| Fields inherited from interface org.apache.derby.iapi.types.Orderable |
ORDER_OP_EQUALS, ORDER_OP_GREATEROREQUALS, ORDER_OP_GREATERTHAN, ORDER_OP_LESSOREQUALS, ORDER_OP_LESSTHAN |
| Constructor Summary | |
|
SQLTimestamp()
no-arg constructor required by Formattable |
|
SQLTimestamp(DataValueDescriptor date,
DataValueDescriptor time)
|
(package private) |
SQLTimestamp(int encodedDate,
int encodedTime,
int nanos)
|
|
SQLTimestamp(java.lang.String timestampStr,
boolean isJDBCEscape,
org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder)
Construct a timestamp from a string. |
|
SQLTimestamp(java.lang.String timestampStr,
boolean isJDBCEscape,
org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder,
java.util.Calendar cal)
Construct a timestamp from a string. |
|
SQLTimestamp(java.sql.Timestamp value)
|
| Method Summary | |
private void |
addInternal(int calIntervalType,
int count,
SQLTimestamp tsResult)
|
int |
compare(DataValueDescriptor other)
Compare this Orderable with a given Orderable for the purpose of index positioning. |
boolean |
compare(int op,
DataValueDescriptor other,
boolean orderedNulls,
boolean unknownRV)
Compare this Orderable with a given Orderable for the purpose of qualification and sorting. |
private static int |
computeEncodedDate(java.util.Date value,
java.util.Calendar currentCal)
computeEncodedDate sets the date in a Calendar object and then uses the SQLDate function to compute an encoded date The encoded date is year << 16 + month << 8 + date |
private static int |
computeEncodedTime(java.util.Date value,
java.util.Calendar currentCal)
computeEncodedTime extracts the hour, minute and seconds from a java.util.Date value and encodes them as hour << 16 + minute << 8 + second using the SQLTime function for encoding the data |
static DateTimeDataValue |
computeTimestampFunction(DataValueDescriptor operand,
DataValueFactory dvf)
Compute the SQL timestamp function. |
int |
estimateMemoryUsage()
Estimate the memory usage in bytes of the data value and the overhead of the class. |
DataValueDescriptor |
getClone()
Clone this DataValueDescriptor. |
java.sql.Date |
getDate(java.util.Calendar cal)
getDate returns the date portion of the timestamp Time is set to 00:00:00.0 Since Date is a JDBC object we use the JDBC definition for the time portion. |
NumberDataValue |
getDate(NumberDataValue result)
Get the day of the month. |
NumberDataValue |
getHours(NumberDataValue result)
Get the hour of the day out of a time or timestamp. |
int |
getLength()
Gets the length of the data value. |
NumberDataValue |
getMinutes(NumberDataValue result)
Get the minute of the hour out of a time or timestamp. |
NumberDataValue |
getMonth(NumberDataValue result)
Get the month number out of a date. |
protected java.lang.String |
getNationalString(org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder)
International version of getString(). |
DataValueDescriptor |
getNewNull()
Get a new null value of the same type as this data value. |
java.lang.Object |
getObject()
Gets the value in the data value descriptor as a Java Object. |
NumberDataValue |
getSeconds(NumberDataValue source)
Get the second of the minute out of a time or timestamp. |
java.lang.String |
getString()
Gets the value in the data value descriptor as a String. |
java.sql.Time |
getTime(java.util.Calendar cal)
getTime returns the time portion of the timestamp Date is set to 1970-01-01 Since Time is a JDBC object we use the JDBC definition for the date portion. |
java.sql.Timestamp |
getTimestamp(java.util.Calendar cal)
Get the value field. |
int |
getTypeFormatId()
Return my format identifier. |
java.lang.String |
getTypeName()
Get the SQL name of the datatype |
NumberDataValue |
getYear(NumberDataValue result)
Get the year number out of a date. |
int |
hashCode()
Get a value that represents this Object, as uniquely as possible within the confines of an int. |
boolean |
isNull()
Check if the value is null. |
private java.sql.Date |
newDate(java.util.Calendar cal)
|
private java.sql.Time |
newTime(java.util.Calendar cal)
|
protected java.sql.Timestamp |
newTimestamp(java.util.Calendar currentCal)
|
(package private) static int[] |
parseDateOrTimestamp(DateTimeParser parser,
boolean timeRequired)
Parse a timestamp or a date. |
(package private) static int |
parseDateTimeInteger(java.lang.String str,
int start,
int ndigits)
|
(package private) static int[] |
parseLocalTimestamp(java.lang.String str,
org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder,
java.util.Calendar cal)
Parse a localized timestamp. |
private void |
parseTimestamp(java.lang.String timestampStr,
boolean isJDBCEscape,
org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder,
java.util.Calendar cal)
|
(package private) static SQLTimestamp |
promote(DateTimeDataValue dateTime,
java.sql.Date currentDate)
Promotes a DateTimeDataValue to a timestamp. |
void |
readExternal(java.io.ObjectInput in)
This method restores an object's state by reading in the instance data for the object from the passed in stream. |
void |
readExternalFromArray(org.apache.derby.iapi.services.io.ArrayInputStream in)
Read the DataValueDescriptor from the stream. |
void |
restoreToNull()
Restore this object to its (SQL)null value. |
private void |
setCalendar(java.util.Calendar cal)
|
protected void |
setFrom(DataValueDescriptor theValue)
|
void |
setInto(java.sql.PreparedStatement ps,
int position)
Set this value into a PreparedStatement. |
private void |
setNumericTimestamp(java.sql.Timestamp value,
java.util.Calendar cal)
Set the encoded values for the timestamp |
void |
setValue(java.sql.Date value,
java.util.Calendar cal)
Set the value of this DataValueDescriptor. |
void |
setValue(java.lang.Object theValue)
Set the value of this DataValueDescriptor to the given value |
void |
setValue(java.lang.String theValue)
Set the value of this DataValueDescriptor. |
void |
setValue(java.sql.Time value,
java.util.Calendar cal)
Set the value of this DataValueDescriptor. |
void |
setValue(java.sql.Timestamp value,
java.util.Calendar cal)
Set the value of this DataValueDescriptor. |
void |
setValueFromResultSet(java.sql.ResultSet resultSet,
int colNumber,
boolean isNullable)
Set the value based on the value for the specified DataValueDescriptor from the specified ResultSet. |
DateTimeDataValue |
timestampAdd(int intervalType,
NumberDataValue count,
java.sql.Date currentDate,
DateTimeDataValue resultHolder)
Add a number of intervals to a datetime value. |
NumberDataValue |
timestampDiff(int intervalType,
DateTimeDataValue time1,
java.sql.Date currentDate,
NumberDataValue resultHolder)
Finds the difference between two datetime values as a number of intervals. |
java.lang.String |
toString()
Convert this Object to a human-readable String. |
int |
typePrecedence()
Each built-in type in JSQL has a precedence. |
void |
writeExternal(java.io.ObjectOutput out)
This method is responsible for writing the instance data of an object to the passed in stream. |
| Methods inherited from class org.apache.derby.iapi.types.DataType |
checkHostVariable, cloneObject, coalesce, dataTypeConversion, equals, equals, flip, genericSetObject, getBoolean, getByte, getBytes, getDouble, getFloat, getInt, getLong, getShort, getStream, greaterOrEquals, greaterThan, in, invalidFormat, isNotNull, isNullOp, lessOrEquals, lessThan, normalize, notEquals, outOfRange, setBigDecimal, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, throwLangSetMismatch, throwLangSetMismatch, typeToBigDecimal |
| Methods inherited from class java.lang.Object |
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.apache.derby.iapi.types.DataValueDescriptor |
checkHostVariable, coalesce, equals, getBoolean, getByte, getBytes, getDouble, getFloat, getInt, getLong, getShort, getStream, greaterOrEquals, greaterThan, in, isNotNull, isNullOp, lessOrEquals, lessThan, normalize, notEquals, setBigDecimal, setInto, setObjectForCast, setToNull, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, setValue, typeToBigDecimal |
| Field Detail |
MAX_FRACTION_DIGITS
static final int MAX_FRACTION_DIGITS
- See Also:
- Constant Field Values
FRACTION_TO_NANO
static final int FRACTION_TO_NANO
- See Also:
- Constant Field Values
ONE_BILLION
static final int ONE_BILLION
- See Also:
- Constant Field Values
encodedDate
private int encodedDate
encodedTime
private int encodedTime
nanos
private int nanos
valueString
private java.lang.String valueString
BASE_MEMORY_USAGE
private static final int BASE_MEMORY_USAGE
DATE_SEPARATOR
static final char DATE_SEPARATOR
- See Also:
- Constant Field Values
DATE_SEPARATORS
private static final char[] DATE_SEPARATORS
IBM_DATE_TIME_SEPARATOR
private static final char IBM_DATE_TIME_SEPARATOR
- See Also:
- Constant Field Values
ODBC_DATE_TIME_SEPARATOR
private static final char ODBC_DATE_TIME_SEPARATOR
- See Also:
- Constant Field Values
DATE_TIME_SEPARATORS
private static final char[] DATE_TIME_SEPARATORS
DATE_TIME_SEPARATORS_OR_END
private static final char[] DATE_TIME_SEPARATORS_OR_END
IBM_TIME_SEPARATOR
private static final char IBM_TIME_SEPARATOR
- See Also:
- Constant Field Values
ODBC_TIME_SEPARATOR
private static final char ODBC_TIME_SEPARATOR
- See Also:
- Constant Field Values
TIME_SEPARATORS
private static final char[] TIME_SEPARATORS
TIME_SEPARATORS_OR_END
private static final char[] TIME_SEPARATORS_OR_END
END_OF_STRING
private static final char[] END_OF_STRING
| Constructor Detail |
SQLTimestamp
public SQLTimestamp()
- no-arg constructor required by Formattable
SQLTimestamp
public SQLTimestamp(java.sql.Timestamp value) throws org.apache.derby.iapi.error.StandardException
SQLTimestamp
SQLTimestamp(int encodedDate,
int encodedTime,
int nanos)
SQLTimestamp
public SQLTimestamp(DataValueDescriptor date, DataValueDescriptor time) throws org.apache.derby.iapi.error.StandardException
SQLTimestamp
public SQLTimestamp(java.lang.String timestampStr, boolean isJDBCEscape, org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder) throws org.apache.derby.iapi.error.StandardException
- Construct a timestamp from a string. The allowed formats are:
- JDBC escape: yyyy-mm-dd hh:mm:ss[.fffff]
- IBM: yyyy-mm-dd-hh.mm.ss[.nnnnnn]
SQLTimestamp
public SQLTimestamp(java.lang.String timestampStr, boolean isJDBCEscape, org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder, java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
- Construct a timestamp from a string. The allowed formats are:
- JDBC escape: yyyy-mm-dd hh:mm:ss[.fffff]
- IBM: yyyy-mm-dd-hh.mm.ss[.nnnnnn]
| Method Detail |
estimateMemoryUsage
public int estimateMemoryUsage()
- Description copied from interface:
DataValueDescriptor - Estimate the memory usage in bytes of the data value and the overhead of the class.
- Specified by:
estimateMemoryUsagein interfaceDataValueDescriptor
getString
public java.lang.String getString()
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a String.
Throws an exception if the data value is not a string.
- Specified by:
getStringin interfaceDataValueDescriptor
getDate
public java.sql.Date getDate(java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
- getDate returns the date portion of the timestamp
Time is set to 00:00:00.0
Since Date is a JDBC object we use the JDBC definition
for the time portion. See JDBC API Tutorial, 47.3.12.
- Specified by:
getDatein interfaceDataValueDescriptor- Overrides:
getDatein classDataType
newDate
private java.sql.Date newDate(java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
getTime
public java.sql.Time getTime(java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
- getTime returns the time portion of the timestamp
Date is set to 1970-01-01
Since Time is a JDBC object we use the JDBC definition
for the date portion. See JDBC API Tutorial, 47.3.12.
- Specified by:
getTimein interfaceDataValueDescriptor- Overrides:
getTimein classDataType
newTime
private java.sql.Time newTime(java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
getObject
public java.lang.Object getObject()
- Description copied from interface:
DataValueDescriptor - Gets the value in the data value descriptor as a Java Object.
The type of the Object will be the Java object type corresponding
to the data value's SQL type. JDBC defines a mapping between Java
object types and SQL types - we will allow that to be extended
through user type definitions. Throws an exception if the data
value is not an object (yeah, right).
- Specified by:
getObjectin interfaceDataValueDescriptor- Overrides:
getObjectin classDataType
getLength
public int getLength()
- Description copied from interface:
DataValueDescriptor - Gets the length of the data value. The meaning of this is
implementation-dependent. For string types, it is the number of
characters in the string. For numeric types, it is the number of
bytes used to store the number. This is the actual length
of this value, not the length of the type it was defined as.
For example, a VARCHAR value may be shorter than the declared
VARCHAR (maximum) length.
- Specified by:
getLengthin interfaceDataValueDescriptor
getTypeName
public java.lang.String getTypeName()
- Description copied from interface:
DataValueDescriptor - Get the SQL name of the datatype
- Specified by:
getTypeNamein interfaceDataValueDescriptor
getTypeFormatId
public int getTypeFormatId()
- Return my format identifier.
- Specified by:
getTypeFormatIdin interfaceorg.apache.derby.iapi.services.io.TypedFormat
writeExternal
public void writeExternal(java.io.ObjectOutput out) throws java.io.IOException
- Description copied from interface:
java.io.Externalizable - This method is responsible for writing the instance data of an object
to the passed in stream. Note that this stream is not a subclass of
OutputStream, but rather is a class that implements theObjectOutputinterface. That interface provides a number of methods for writing Java data values to a stream.Not that the implementation of this method must be coordinated with the implementation of
readExternal.- Specified by:
writeExternalin interfacejava.io.Externalizable
readExternal
public void readExternal(java.io.ObjectInput in) throws java.io.IOException
- Description copied from interface:
java.io.Externalizable - This method restores an object's state by reading in the instance data
for the object from the passed in stream. Note that this stream is not
a subclass of
InputStream, but rather is a class that implements theObjectInputinterface. That interface provides a mechanism for reading in Java data types from a stream.Note that this method must be compatible with
writeExternal. It must read back the exact same types that were written by that method in the exact order they were written.If this method needs to read back an object instance, then the class for that object must be found and loaded. If that operation fails, then this method throws a
ClassNotFoundException- Specified by:
readExternalin interfacejava.io.Externalizable
readExternalFromArray
public void readExternalFromArray(org.apache.derby.iapi.services.io.ArrayInputStream in) throws java.io.IOException
- Description copied from interface:
DataValueDescriptor - Read the DataValueDescriptor from the stream.
Initialize the data value by reading it's values from the ArrayInputStream. This interface is provided as a way to achieve possible performance enhancement when reading an array can be optimized over reading from a generic stream from readExternal().
- Specified by:
readExternalFromArrayin interfaceDataValueDescriptor
getClone
public DataValueDescriptor getClone()
- Description copied from interface:
DataValueDescriptor - Clone this DataValueDescriptor. Results in a new object
that has the same value as this but can be modified independently.
- Specified by:
getClonein interfaceDataValueDescriptor
getNewNull
public DataValueDescriptor getNewNull()
- Description copied from interface:
DataValueDescriptor - Get a new null value of the same type as this data value.
- Specified by:
getNewNullin interfaceDataValueDescriptor
restoreToNull
public void restoreToNull()
- Description copied from interface:
org.apache.derby.iapi.services.io.Storable - Restore this object to its (SQL)null value.
- Specified by:
restoreToNullin interfaceorg.apache.derby.iapi.services.io.Storable
setValueFromResultSet
public void setValueFromResultSet(java.sql.ResultSet resultSet, int colNumber, boolean isNullable) throws java.sql.SQLException, org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set the value based on the value for the specified DataValueDescriptor
from the specified ResultSet.
- Specified by:
setValueFromResultSetin interfaceDataValueDescriptor
compare
public int compare(DataValueDescriptor other) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Compare this Orderable with a given Orderable for the purpose of
index positioning. This method treats nulls as ordered values -
that is, it treats SQL null as equal to null and less than all
other values.
- Specified by:
comparein interfaceDataValueDescriptor
compare
public boolean compare(int op,
DataValueDescriptor other,
boolean orderedNulls,
boolean unknownRV)
throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Compare this Orderable with a given Orderable for the purpose of
qualification and sorting. The caller gets to determine how nulls
should be treated - they can either be ordered values or unknown
values.
- Specified by:
comparein interfaceDataValueDescriptor- Overrides:
comparein classDataType
parseTimestamp
private void parseTimestamp(java.lang.String timestampStr, boolean isJDBCEscape, org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder, java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
parseLocalTimestamp
static int[] parseLocalTimestamp(java.lang.String str, org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder, java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException, java.text.ParseException
- Parse a localized timestamp.
parseDateOrTimestamp
static int[] parseDateOrTimestamp(DateTimeParser parser, boolean timeRequired) throws org.apache.derby.iapi.error.StandardException
- Parse a timestamp or a date. DB2 allows timestamps to be used as dates or times. So
date('2004-04-15-16.15.32') is valid, as is date('2004-04-15').
This method does not handle localized timestamps.
setValue
public void setValue(java.lang.Object theValue) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor to the given value
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setFrom
protected void setFrom(DataValueDescriptor theValue) throws org.apache.derby.iapi.error.StandardException
setValue
public void setValue(java.sql.Date value, java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor.
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(java.sql.Time value, java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor.
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(java.sql.Timestamp value, java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor.
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
setValue
public void setValue(java.lang.String theValue) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set the value of this DataValueDescriptor.
- Specified by:
setValuein interfaceDataValueDescriptor- Overrides:
setValuein classDataType
getYear
public NumberDataValue getYear(NumberDataValue result) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DateTimeDataValue - Get the year number out of a date.
- Specified by:
getYearin interfaceDateTimeDataValue
getMonth
public NumberDataValue getMonth(NumberDataValue result) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DateTimeDataValue - Get the month number out of a date.
- Specified by:
getMonthin interfaceDateTimeDataValue
getDate
public NumberDataValue getDate(NumberDataValue result) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DateTimeDataValue - Get the day of the month.
- Specified by:
getDatein interfaceDateTimeDataValue
getHours
public NumberDataValue getHours(NumberDataValue result) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DateTimeDataValue - Get the hour of the day out of a time or timestamp.
- Specified by:
getHoursin interfaceDateTimeDataValue
getMinutes
public NumberDataValue getMinutes(NumberDataValue result) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DateTimeDataValue - Get the minute of the hour out of a time or timestamp.
- Specified by:
getMinutesin interfaceDateTimeDataValue
getSeconds
public NumberDataValue getSeconds(NumberDataValue source) throws org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DateTimeDataValue - Get the second of the minute out of a time or timestamp.
- Specified by:
getSecondsin interfaceDateTimeDataValue
toString
public java.lang.String toString()
- Description copied from class:
java.lang.Object - Convert this Object to a human-readable String.
There are no limits placed on how long this String
should be or what it should contain. We suggest you
make it as intuitive as possible to be able to place
it into System.out.println() 55
and such.
It is typical, but not required, to ensure that this method never completes abruptly with a java.lang.RuntimeException.
This method will be called when performing string concatenation with this object. If the result is
null, string concatenation will instead use"null".The default implementation returns
getClass().getName() + "@" + Integer.toHexString(hashCode()).
hashCode
public int hashCode()
- Description copied from class:
java.lang.Object - Get a value that represents this Object, as uniquely as
possible within the confines of an int.
There are some requirements on this method which subclasses must follow:
- Semantic equality implies identical hashcodes. In other
words, if
a.equals(b)is true, thena.hashCode() == b.hashCode()must be as well. However, the reverse is not necessarily true, and two objects may have the same hashcode without being equal. - It must be consistent. Whichever value o.hashCode() returns on the first invocation must be the value returned on all later invocations as long as the object exists. Notice, however, that the result of hashCode may change between separate executions of a Virtual Machine, because it is not invoked on the same object.
Notice that since
hashCodeis used in java.util.Hashtable and other hashing classes, a poor implementation will degrade the performance of hashing (so don't blindly implement it as returning a constant!). Also, if calculating the hash is time-consuming, a class may consider caching the results.The default implementation returns
System.identityHashCode(this) - Semantic equality implies identical hashcodes. In other
words, if
typePrecedence
public int typePrecedence()
- Description copied from interface:
DataValueDescriptor - Each built-in type in JSQL has a precedence. This precedence determines
how to do type promotion when using binary operators. For example, float
has a higher precedence than int, so when adding an int to a float, the
result type is float.
The precedence for some types is arbitrary. For example, it doesn't
matter what the precedence of the boolean type is, since it can't be
mixed with other types. But the precedence for the number types is
critical. The SQL standard requires that exact numeric types be
promoted to approximate numeric when one operator uses both. Also,
the precedence is arranged so that one will not lose precision when
promoting a type.
- Specified by:
typePrecedencein interfaceDataValueDescriptor- Overrides:
typePrecedencein classDataType
isNull
public final boolean isNull()
- Check if the value is null. encodedDate value of 0 is null
- Specified by:
isNullin interfaceorg.apache.derby.iapi.services.io.Storable
getTimestamp
public java.sql.Timestamp getTimestamp(java.util.Calendar cal)
- Get the value field. We instantiate the field
on demand.
- Specified by:
getTimestampin interfaceDataValueDescriptor- Overrides:
getTimestampin classDataType
newTimestamp
protected java.sql.Timestamp newTimestamp(java.util.Calendar currentCal)
setCalendar
private void setCalendar(java.util.Calendar cal)
setNumericTimestamp
private void setNumericTimestamp(java.sql.Timestamp value, java.util.Calendar cal) throws org.apache.derby.iapi.error.StandardException
- Set the encoded values for the timestamp
getNationalString
protected java.lang.String getNationalString(org.apache.derby.iapi.services.i18n.LocaleFinder localeFinder) throws org.apache.derby.iapi.error.StandardException
- International version of getString(). Overrides getNationalString
in DataType for date, time, and timestamp.
- Overrides:
getNationalStringin classDataType
computeEncodedDate
private static int computeEncodedDate(java.util.Date value, java.util.Calendar currentCal) throws org.apache.derby.iapi.error.StandardException
- computeEncodedDate sets the date in a Calendar object
and then uses the SQLDate function to compute an encoded date
The encoded date is
year << 16 + month << 8 + date
computeEncodedTime
private static int computeEncodedTime(java.util.Date value, java.util.Calendar currentCal) throws org.apache.derby.iapi.error.StandardException
- computeEncodedTime extracts the hour, minute and seconds from
a java.util.Date value and encodes them as
hour << 16 + minute << 8 + second
using the SQLTime function for encoding the data
setInto
public void setInto(java.sql.PreparedStatement ps, int position) throws java.sql.SQLException, org.apache.derby.iapi.error.StandardException
- Description copied from interface:
DataValueDescriptor - Set this value into a PreparedStatement. This method must
handle setting NULL into the PreparedStatement.
- Specified by:
setIntoin interfaceDataValueDescriptor- Overrides:
setIntoin classDataType
computeTimestampFunction
public static DateTimeDataValue computeTimestampFunction(DataValueDescriptor operand, DataValueFactory dvf) throws org.apache.derby.iapi.error.StandardException
- Compute the SQL timestamp function.
parseDateTimeInteger
static int parseDateTimeInteger(java.lang.String str, int start, int ndigits) throws org.apache.derby.iapi.error.StandardException
timestampAdd
public DateTimeDataValue timestampAdd(int intervalType, NumberDataValue count, java.sql.Date currentDate, DateTimeDataValue resultHolder) throws org.apache.derby.iapi.error.StandardException
- Add a number of intervals to a datetime value. Implements the JDBC escape TIMESTAMPADD function.
- Specified by:
timestampAddin interfaceDateTimeDataValue
addInternal
private void addInternal(int calIntervalType,
int count,
SQLTimestamp tsResult)
throws org.apache.derby.iapi.error.StandardException
timestampDiff
public NumberDataValue timestampDiff(int intervalType, DateTimeDataValue time1, java.sql.Date currentDate, NumberDataValue resultHolder) throws org.apache.derby.iapi.error.StandardException
- Finds the difference between two datetime values as a number of intervals. Implements the JDBC
TIMESTAMPDIFF escape function.
- Specified by:
timestampDiffin interfaceDateTimeDataValue
promote
static SQLTimestamp promote(DateTimeDataValue dateTime, java.sql.Date currentDate) throws org.apache.derby.iapi.error.StandardException
- Promotes a DateTimeDataValue to a timestamp.
|
|||||||||
| Home >> All >> org >> apache >> derby >> iapi >> [ types overview ] | PREV CLASS | ||||||||
JAVADOC