001: /*
002:
003: Derby - Class org.apache.derby.iapi.reference.Limits
004:
005: Licensed to the Apache Software Foundation (ASF) under one or more
006: contributor license agreements. See the NOTICE file distributed with
007: this work for additional information regarding copyright ownership.
008: The ASF licenses this file to you under the Apache License, Version 2.0
009: (the "License"); you may not use this file except in compliance with
010: the License. You may obtain a copy of the License at
011:
012: http://www.apache.org/licenses/LICENSE-2.0
013:
014: Unless required by applicable law or agreed to in writing, software
015: distributed under the License is distributed on an "AS IS" BASIS,
016: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: See the License for the specific language governing permissions and
018: limitations under the License.
019:
020: */
021:
022: package org.apache.derby.iapi.reference;
023:
024: public interface Limits {
025: /**
026: * Various fixed Limits. DB2 related limits are prefixed with "DB2_".
027: */
028:
029: public static final int DB2_MAX_TRIGGER_RECURSION = 16; /* Maximum nesting level for triggers */
030:
031: /** Maximum number of indexes on a table */
032: public static final int DB2_MAX_INDEXES_ON_TABLE = 32767;
033: /* Maximum number of columns in a table */
034: public static final int DB2_MAX_COLUMNS_IN_TABLE = 1012;
035:
036: /* Maximum number of columns in a view */
037: public static final int DB2_MAX_COLUMNS_IN_VIEW = 5000;
038:
039: /* Maximum number of parameters in a stored procedure */
040: public static final int DB2_MAX_PARAMS_IN_STORED_PROCEDURE = 90;
041:
042: /* Maximum number of elements in a select list */
043: public static final int DB2_MAX_ELEMENTS_IN_SELECT_LIST = 1012;
044: /* Maximum number of columns in a group by list */
045: public static final int DB2_MAX_ELEMENTS_IN_GROUP_BY = 32677;
046: /* Maximum number of columns in an order by list */
047: public static final int DB2_MAX_ELEMENTS_IN_ORDER_BY = 1012;
048:
049: // Max length for an exception parameter string over CCC server.
050: public static final int DB2_CCC_MAX_EXCEPTION_PARAM_LENGTH = 70;
051:
052: // Warning. Changing this value will affect upgrade and the creation of the
053: // SQLCAMESSAGE procedure. See org.apache.derby.impl.sql.catalog.
054: public static final int DB2_JCC_MAX_EXCEPTION_PARAM_LENGTH = 2400;
055:
056: /* Identifiers (Constraint, Cursor, Function/Procedure, Index,
057: * Trigger, Column, Schema, Savepoint, Table and View names)
058: * are limited to 128 */
059: public static final int MAX_IDENTIFIER_LENGTH = 128;
060:
061: public static final int DB2_CHAR_MAXWIDTH = 254;
062: public static final int DB2_VARCHAR_MAXWIDTH = 32672;
063: public static final int DB2_LOB_MAXWIDTH = 2147483647;
064: public static final int DB2_LONGVARCHAR_MAXWIDTH = 32700;
065: public static final int DB2_CONCAT_VARCHAR_LENGTH = 4000;
066: public static final int DB2_MAX_FLOATINGPOINT_LITERAL_LENGTH = 30; // note, this value 30 is also contained in err msg 42820
067: public static final int DB2_MAX_CHARACTER_LITERAL_LENGTH = 32672;
068: public static final int DB2_MAX_HEX_LITERAL_LENGTH = 16336;
069:
070: public static final int DB2_MIN_COL_LENGTH_FOR_CURRENT_USER = 8;
071: public static final int DB2_MIN_COL_LENGTH_FOR_CURRENT_SCHEMA = 128;
072: public static final int DB2_MAX_USERID_LENGTH = 30;
073:
074: /**
075: * DB2 TABLESPACE page size limits
076: */
077: public static final int DB2_MIN_PAGE_SIZE = 4096; // 4k
078: public static final int DB2_MAX_PAGE_SIZE = 32768; // 32k
079:
080: /**
081: * DECIMAL type limits
082: */
083:
084: public static final int DB2_MAX_DECIMAL_PRECISION_SCALE = 31;
085: public static final int DB2_DEFAULT_DECIMAL_PRECISION = 5;
086: public static final int DB2_DEFAULT_DECIMAL_SCALE = 0;
087:
088: /**
089: * REAL/DOUBLE range limits
090: */
091:
092: static final float DB2_SMALLEST_REAL = -3.402E+38f;
093: static final float DB2_LARGEST_REAL = +3.402E+38f;
094: static final float DB2_SMALLEST_POSITIVE_REAL = +1.175E-37f;
095: static final float DB2_LARGEST_NEGATIVE_REAL = -1.175E-37f;
096:
097: static final double DB2_SMALLEST_DOUBLE = -1.79769E+308d;
098: static final double DB2_LARGEST_DOUBLE = +1.79769E+308d;
099: static final double DB2_SMALLEST_POSITIVE_DOUBLE = +2.225E-307d;
100: static final double DB2_LARGEST_NEGATIVE_DOUBLE = -2.225E-307d;
101:
102: }
|