~ubuntu-branches/ubuntu/maverick/hsqldb/maverick

« back to all changes in this revision

Viewing changes to src/org/hsqldb/Column.java

  • Committer: Bazaar Package Importer
  • Author(s): Matthias Klose
  • Date: 2006-09-26 11:47:49 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20060926114749-3jd0utm7w21x1iqt
Tags: 1.8.0.5-2ubuntu1
* Synchronise with Debian unstable; remaining changes:
  - build using java-gcj-compat.
* libhsqldb-java: Add gij as alternative dependency.
* Build a libhsqldb-java-gcj package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* Copyright (c) 1995-2000, The Hypersonic SQL Group.
2
 
 * All rights reserved.
3
 
 *
4
 
 * Redistribution and use in source and binary forms, with or without
5
 
 * modification, are permitted provided that the following conditions are met:
6
 
 *
7
 
 * Redistributions of source code must retain the above copyright notice, this
8
 
 * list of conditions and the following disclaimer.
9
 
 *
10
 
 * Redistributions in binary form must reproduce the above copyright notice,
11
 
 * this list of conditions and the following disclaimer in the documentation
12
 
 * and/or other materials provided with the distribution.
13
 
 *
14
 
 * Neither the name of the Hypersonic SQL Group nor the names of its
15
 
 * contributors may be used to endorse or promote products derived from this
16
 
 * software without specific prior written permission.
17
 
 *
18
 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19
 
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
 
 * ARE DISCLAIMED. IN NO EVENT SHALL THE HYPERSONIC SQL GROUP,
22
 
 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23
 
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24
 
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
25
 
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
26
 
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27
 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
28
 
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
 
 *
30
 
 * This software consists of voluntary contributions made by many individuals 
31
 
 * on behalf of the Hypersonic SQL Group.
32
 
 *
33
 
 *
34
 
 * For work added by the HSQL Development Group:
35
 
 *
36
 
 * Copyright (c) 2001-2005, The HSQL Development Group
37
 
 * All rights reserved.
38
 
 *
39
 
 * Redistribution and use in source and binary forms, with or without
40
 
 * modification, are permitted provided that the following conditions are met:
41
 
 *
42
 
 * Redistributions of source code must retain the above copyright notice, this
43
 
 * list of conditions and the following disclaimer.
44
 
 *
45
 
 * Redistributions in binary form must reproduce the above copyright notice,
46
 
 * this list of conditions and the following disclaimer in the documentation
47
 
 * and/or other materials provided with the distribution.
48
 
 *
49
 
 * Neither the name of the HSQL Development Group nor the names of its
50
 
 * contributors may be used to endorse or promote products derived from this
51
 
 * software without specific prior written permission.
52
 
 *
53
 
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
54
 
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
55
 
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
56
 
 * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
57
 
 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
58
 
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
59
 
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
60
 
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
61
 
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
62
 
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
63
 
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
64
 
 */
65
 
 
66
 
 
 
1
/* Copyright (c) 1995-2000, The Hypersonic SQL Group.
 
2
 * All rights reserved.
 
3
 *
 
4
 * Redistribution and use in source and binary forms, with or without
 
5
 * modification, are permitted provided that the following conditions are met:
 
6
 *
 
7
 * Redistributions of source code must retain the above copyright notice, this
 
8
 * list of conditions and the following disclaimer.
 
9
 *
 
10
 * Redistributions in binary form must reproduce the above copyright notice,
 
11
 * this list of conditions and the following disclaimer in the documentation
 
12
 * and/or other materials provided with the distribution.
 
13
 *
 
14
 * Neither the name of the Hypersonic SQL Group nor the names of its
 
15
 * contributors may be used to endorse or promote products derived from this
 
16
 * software without specific prior written permission.
 
17
 *
 
18
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 
19
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
20
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
21
 * ARE DISCLAIMED. IN NO EVENT SHALL THE HYPERSONIC SQL GROUP,
 
22
 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 
23
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 
24
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 
25
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 
26
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
27
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 
28
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
29
 *
 
30
 * This software consists of voluntary contributions made by many individuals 
 
31
 * on behalf of the Hypersonic SQL Group.
 
32
 *
 
33
 *
 
34
 * For work added by the HSQL Development Group:
 
35
 *
 
36
 * Copyright (c) 2001-2005, The HSQL Development Group
 
37
 * All rights reserved.
 
38
 *
 
39
 * Redistribution and use in source and binary forms, with or without
 
40
 * modification, are permitted provided that the following conditions are met:
 
41
 *
 
42
 * Redistributions of source code must retain the above copyright notice, this
 
43
 * list of conditions and the following disclaimer.
 
44
 *
 
45
 * Redistributions in binary form must reproduce the above copyright notice,
 
46
 * this list of conditions and the following disclaimer in the documentation
 
47
 * and/or other materials provided with the distribution.
 
48
 *
 
49
 * Neither the name of the HSQL Development Group nor the names of its
 
50
 * contributors may be used to endorse or promote products derived from this
 
51
 * software without specific prior written permission.
 
52
 *
 
53
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
 
54
 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 
55
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 
56
 * ARE DISCLAIMED. IN NO EVENT SHALL HSQL DEVELOPMENT GROUP, HSQLDB.ORG,
 
57
 * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 
58
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 
59
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
 
60
 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
 
61
 * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 
62
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
 
63
 * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
64
 */
 
65
 
 
66
 
67
67
package org.hsqldb;
68
68
 
69
69
import java.io.IOException;
932
932
                        return ValuePool.getInt(((Number) o).intValue());
933
933
                    }
934
934
 
 
935
                    if (o instanceof Byte || o instanceof Short) {
 
936
                        return ValuePool.getInt(((Number) o).intValue());
 
937
                    }
 
938
 
935
939
                    if (o instanceof java.lang.Number) {
936
940
                        return convertToInt(o);
937
941
                    }
960
964
                        return ValuePool.getLong(((Integer) o).longValue());
961
965
                    }
962
966
 
 
967
                    if (o instanceof Byte || o instanceof Short) {
 
968
                        return ValuePool.getLong(((Number) o).intValue());
 
969
                    }
 
970
 
963
971
                    if (o instanceof java.lang.Number) {
964
972
                        return convertToLong(o);
965
973
                    }
1186
1194
        } catch (HsqlException e) {
1187
1195
            throw e;
1188
1196
        } catch (Exception e) {
1189
 
            throw Trace.error(Trace.WRONG_DATA_TYPE, e.getMessage());
 
1197
            throw Trace.error(Trace.WRONG_DATA_TYPE, e.toString());
1190
1198
        }
1191
1199
    }
1192
1200
 
1466
1474
                return checkChar((String) obj, size, check);
1467
1475
 
1468
1476
            case Types.VARCHAR :
 
1477
            case Types.VARCHAR_IGNORECASE :
1469
1478
                return checkVarchar((String) obj, size, check);
1470
1479
 
1471
1480
            case Types.NUMERIC :