File misctype_def.h¶
File List > cubrid > src > parser > misctype_def.h
Go to the documentation of this file
/*
* Copyright 2008 Search Solution Corporation
* Copyright 2016 CUBRID Corporation
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
/*
* misctype_def.h - Parse tree structures and types
*/
#ifndef _MISCTYPE_DEF_H_
#define _MISCTYPE_DEF_H_
#ident "$Id$"
/* Enumerated Misc Types */
typedef enum
{
PT_MISC_NONE = 0,
PT_MISC_DUMMY = 3000,
PT_ALL,
PT_ONLY,
PT_DISTINCT,
PT_SHARED,
PT_DEFAULT,
PT_ASC,
PT_DESC,
PT_GRANT_OPTION,
PT_NO_GRANT_OPTION,
PT_CLASS,
PT_VCLASS,
PT_VID_ATTR,
PT_OID_ATTR,
/* PT_CLASSOID_ATTR is no longer used. The concept that it used to embody (the OID of the class of an instance is
* now captured via a first class server function F_CLASS_OF which takes an arbitrary instance valued expression. */
PT_CLASSOID_ATTR,
PT_TRIGGER_OID,
PT_NORMAL,
/* PT_META_CLASS is used to embody the concept of a class OID reference that is constant at compile time. (i.e. it
* does not vary as instance OIDs vary across an inheritance hierarchy). Contrast this with the F_CLASS_OF function
* which returns the class OID for any instance valued expression. F_CLASS_OF is a server side function. */
PT_META_CLASS,
PT_META_ATTR,
PT_PARAMETER,
PT_HINT_NAME, /* hint argument name */
PT_INDEX_NAME,
PT_RESERVED, /* reserved names for special attributes */
PT_IS_SUBQUERY, /* query is sub-query, not directly producing result */
PT_IS_UNION_SUBQUERY, /* in a union sub-query */
PT_IS_UNION_QUERY, /* query directly producing result in top level union */
PT_IS_SET_EXPR,
PT_IS_CSELECT, /* query is CSELECT, not directly producing result */
PT_IS_WHACKED_SPEC, /* ignore this one in xasl generation, no cross product */
PT_IS_SUBINSERT, /* used by value clause of insert */
PT_IS_VALUE, /* used by value clause of insert */
PT_IS_DEFAULT_VALUE,
PT_ATTRIBUTE,
PT_METHOD,
PT_FUNCTION_RENAME,
PT_FILE_RENAME,
PT_NO_ISOLATION_LEVEL, /* value for uninitialized isolation level */
PT_SERIALIZABLE,
PT_REPEATABLE_READ,
PT_READ_COMMITTED,
PT_ISOLATION_LEVEL, /* get transaction option */
PT_LOCK_TIMEOUT,
PT_HOST_IN, /* kind of host variable */
PT_HOST_OUT,
PT_HOST_OUT_DESCR,
PT_ACTIVE, /* trigger status */
PT_INACTIVE,
PT_BEFORE, /* trigger time */
PT_AFTER,
PT_DEFERRED,
PT_REJECT, /* trigger action */
PT_INVALIDATE_XACTION,
PT_PRINT,
PT_EXPRESSION,
PT_TRIGGER_TRACE, /* trigger options */
PT_TRIGGER_DEPTH,
PT_IS_CALL_STMT, /* is the method a call statement */
PT_IS_MTHD_EXPR, /* is the method call part of an expr */
PT_IS_CLASS_MTHD, /* is the method a class method */
PT_IS_INST_MTHD, /* is the method an instance method */
PT_METHOD_ENTITY, /* this entity arose from a method call */
PT_IS_SELECTOR_SPEC, /* This is the 'real' correspondant of the whacked spec. down in the path entities
* portion. */
PT_PATH_INNER, /* types of join which may emulate path */
PT_PATH_OUTER,
PT_PATH_OUTER_WEASEL,
PT_LOCAL, /* local or cascaded view check option */
PT_CASCADED,
PT_CURRENT,
PT_CHAR_STRING, /* denotes the flavor of a literal string */
PT_BIT_STRING,
PT_HEX_STRING,
PT_MATCH_REGULAR,
PT_MATCH_FULL, /* values to support triggered actions for */
PT_MATCH_PARTIAL, /* referential integrity constraints */
PT_RULE_CASCADE,
PT_RULE_RESTRICT,
PT_RULE_SET_NULL,
PT_RULE_SET_DEFAULT,
PT_RULE_NO_ACTION,
PT_LEADING, /* trim operation qualifiers */
PT_TRAILING,
PT_BOTH,
PT_NOPUT,
PT_INPUT,
PT_OUTPUT,
PT_INPUTOUTPUT,
PT_MILLISECOND, /* datetime components for extract operation */
PT_SECOND,
PT_MINUTE,
PT_HOUR,
PT_DAY,
PT_WEEK,
PT_MONTH,
PT_QUARTER,
PT_YEAR,
/* mysql units types */
PT_SECOND_MILLISECOND,
PT_MINUTE_MILLISECOND,
PT_MINUTE_SECOND,
PT_HOUR_MILLISECOND,
PT_HOUR_SECOND,
PT_HOUR_MINUTE,
PT_DAY_MILLISECOND,
PT_DAY_SECOND,
PT_DAY_MINUTE,
PT_DAY_HOUR,
PT_YEAR_MONTH,
PT_SIMPLE_CASE,
PT_SEARCHED_CASE,
PT_OPT_LVL, /* Variants of "get/set optimization" statement */
PT_OPT_COST,
PT_SUBSTR_ORG,
PT_SUBSTR, /* substring qualifier */
PT_EQ_TORDER,
PT_SP_PROCEDURE,
PT_SP_FUNCTION,
PT_SP_IN,
PT_SP_OUT,
PT_SP_INOUT,
PT_LOB_INTERNAL,
PT_LOB_EXTERNAL,
PT_FROM_LAST,
PT_IGNORE_NULLS,
PT_NULLS_DEFAULT,
PT_NULLS_FIRST,
PT_NULLS_LAST,
PT_CONSTRAINT_NAME,
PT_TRACE_ON,
PT_TRACE_OFF,
PT_TRACE_FORMAT_TEXT,
PT_TRACE_FORMAT_JSON,
PT_IS_SHOWSTMT, /* query is SHOWSTMT */
PT_IS_CTE_REC_SUBQUERY,
PT_IS_CTE_NON_REC_SUBQUERY,
PT_DERIVED_JSON_TABLE, // json table spec derivation
PT_DERIVED_DBLINK_TABLE, // dblink table spec derivation
PT_PRIVATE,
PT_PUBLIC,
PT_SYNONYM,
PT_AUTHID_OWNER,
PT_AUTHID_CALLER,
PT_NOT_DETERMINISTIC,
PT_DETERMINISTIC
// todo: separate into relevant enumerations
} PT_MISC_TYPE;
#endif /* _MISCTYPE_DEF_H_ */