blob: b7f743ce0ba6f9ec0af14e5a222cb4433bb0661f (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
/* __ *\
** ________ ___ / / ___ Scala API **
** / __/ __// _ | / / / _ | (c) 2003-2005, LAMP/EPFL **
** __\ \/ /__/ __ |/ /__/ __ | **
** /____/\___/_/ |_/____/_/ | | **
** |/ **
\* */
package scala.dbc.datatype;
/** A SQL type for a varying length string of characters with arbitrary
* maximal length and arbitrary character set.
*/
abstract class CharacterVarying extends CharacterString {
def isEquivalent(datatype: DataType) = datatype match {
case dt: CharacterVarying =>
length == dt.length && encoding == dt.encoding
case _ =>
false
}
def isSubtypeOf(datatype: DataType) = datatype match {
case dt: CharacterVarying =>
length >= dt.length && encoding == dt.encoding
case _ =>
false
}
/** The maximal length of the string defined in characters. */
def length: Int;
/** A SQL-99 compliant string representation of the type. */
override def sqlString: java.lang.String =
"CHARACTER VARYING (" + length.toString() + ")";
}
|