📄 nodefactoryimpl.java
字号:
return C_NodeNames.DROP_INDEX_NODE_NAME; case C_NodeTypes.DROP_TRIGGER_NODE: return C_NodeNames.DROP_TRIGGER_NODE_NAME; case C_NodeTypes.READ_CURSOR_NODE: return C_NodeNames.READ_CURSOR_NODE_NAME; case C_NodeTypes.TINYINT_CONSTANT_NODE: case C_NodeTypes.SMALLINT_CONSTANT_NODE: case C_NodeTypes.INT_CONSTANT_NODE: case C_NodeTypes.LONGINT_CONSTANT_NODE: case C_NodeTypes.DECIMAL_CONSTANT_NODE: case C_NodeTypes.DOUBLE_CONSTANT_NODE: case C_NodeTypes.FLOAT_CONSTANT_NODE: return C_NodeNames.NUMERIC_CONSTANT_NODE_NAME; case C_NodeTypes.USERTYPE_CONSTANT_NODE: return C_NodeNames.USERTYPE_CONSTANT_NODE_NAME; case C_NodeTypes.PREDICATE: return C_NodeNames.PREDICATE_NAME; case C_NodeTypes.RESULT_COLUMN: return C_NodeNames.RESULT_COLUMN_NAME; case C_NodeTypes.SET_SCHEMA_NODE: return C_NodeNames.SET_SCHEMA_NODE_NAME; case C_NodeTypes.SIMPLE_STRING_OPERATOR_NODE: return C_NodeNames.SIMPLE_STRING_OPERATOR_NODE_NAME; case C_NodeTypes.STATIC_CLASS_FIELD_REFERENCE_NODE: return C_NodeNames.STATIC_CLASS_FIELD_REFERENCE_NODE_NAME; case C_NodeTypes.STATIC_METHOD_CALL_NODE: return C_NodeNames.STATIC_METHOD_CALL_NODE_NAME; case C_NodeTypes.EXTRACT_OPERATOR_NODE: return C_NodeNames.EXTRACT_OPERATOR_NODE_NAME; case C_NodeTypes.PARAMETER_NODE: return C_NodeNames.PARAMETER_NODE_NAME; case C_NodeTypes.DROP_SCHEMA_NODE: return C_NodeNames.DROP_SCHEMA_NODE_NAME; case C_NodeTypes.DROP_TABLE_NODE: return C_NodeNames.DROP_TABLE_NODE_NAME; case C_NodeTypes.DROP_VIEW_NODE: return C_NodeNames.DROP_VIEW_NODE_NAME; case C_NodeTypes.SUBQUERY_NODE: return C_NodeNames.SUBQUERY_NODE_NAME; case C_NodeTypes.BASE_COLUMN_NODE: return C_NodeNames.BASE_COLUMN_NODE_NAME; case C_NodeTypes.CALL_STATEMENT_NODE: return C_NodeNames.CALL_STATEMENT_NODE_NAME; case C_NodeTypes.MODIFY_COLUMN_DEFAULT_NODE: case C_NodeTypes.MODIFY_COLUMN_TYPE_NODE: case C_NodeTypes.MODIFY_COLUMN_CONSTRAINT_NODE: case C_NodeTypes.MODIFY_COLUMN_CONSTRAINT_NOT_NULL_NODE: return C_NodeNames.MODIFY_COLUMN_NODE_NAME; case C_NodeTypes.NON_STATIC_METHOD_CALL_NODE: return C_NodeNames.NON_STATIC_METHOD_CALL_NODE_NAME; case C_NodeTypes.CURRENT_OF_NODE: return C_NodeNames.CURRENT_OF_NODE_NAME; case C_NodeTypes.DEFAULT_NODE: return C_NodeNames.DEFAULT_NODE_NAME; case C_NodeTypes.DELETE_NODE: return C_NodeNames.DELETE_NODE_NAME; case C_NodeTypes.UPDATE_NODE: return C_NodeNames.UPDATE_NODE_NAME; case C_NodeTypes.ORDER_BY_COLUMN: return C_NodeNames.ORDER_BY_COLUMN_NAME; case C_NodeTypes.ROW_RESULT_SET_NODE: return C_NodeNames.ROW_RESULT_SET_NODE_NAME; case C_NodeTypes.VIRTUAL_COLUMN_NODE: return C_NodeNames.VIRTUAL_COLUMN_NODE_NAME; case C_NodeTypes.CURRENT_DATETIME_OPERATOR_NODE: return C_NodeNames.CURRENT_DATETIME_OPERATOR_NODE_NAME; case C_NodeTypes.USER_NODE: case C_NodeTypes.CURRENT_USER_NODE: case C_NodeTypes.SESSION_USER_NODE: case C_NodeTypes.SYSTEM_USER_NODE: case C_NodeTypes.CURRENT_ISOLATION_NODE: case C_NodeTypes.IDENTITY_VAL_NODE: case C_NodeTypes.CURRENT_SCHEMA_NODE: return C_NodeNames.SPECIAL_FUNCTION_NODE_NAME; case C_NodeTypes.IS_NODE: return C_NodeNames.IS_NODE_NAME; case C_NodeTypes.LOCK_TABLE_NODE: return C_NodeNames.LOCK_TABLE_NODE_NAME; case C_NodeTypes.ALTER_TABLE_NODE: return C_NodeNames.ALTER_TABLE_NODE_NAME; case C_NodeTypes.AGGREGATE_NODE: return C_NodeNames.AGGREGATE_NODE_NAME; case C_NodeTypes.COLUMN_DEFINITION_NODE: return C_NodeNames.COLUMN_DEFINITION_NODE_NAME; case C_NodeTypes.EXEC_SPS_NODE: return C_NodeNames.EXEC_SPS_NODE_NAME; case C_NodeTypes.FK_CONSTRAINT_DEFINITION_NODE: return C_NodeNames.FK_CONSTRAINT_DEFINITION_NODE_NAME; case C_NodeTypes.FROM_VTI: return C_NodeNames.FROM_VTI_NAME; case C_NodeTypes.MATERIALIZE_RESULT_SET_NODE: return C_NodeNames.MATERIALIZE_RESULT_SET_NODE_NAME; case C_NodeTypes.NORMALIZE_RESULT_SET_NODE: return C_NodeNames.NORMALIZE_RESULT_SET_NODE_NAME; case C_NodeTypes.SCROLL_INSENSITIVE_RESULT_SET_NODE: return C_NodeNames.SCROLL_INSENSITIVE_RESULT_SET_NODE_NAME; case C_NodeTypes.ORDER_BY_NODE: return C_NodeNames.ORDER_BY_NODE_NAME; case C_NodeTypes.DISTINCT_NODE: return C_NodeNames.DISTINCT_NODE_NAME; case C_NodeTypes.LOCATE_FUNCTION_NODE: case C_NodeTypes.SUBSTRING_OPERATOR_NODE: case C_NodeTypes.TRIM_OPERATOR_NODE: case C_NodeTypes.TIMESTAMP_ADD_FN_NODE: case C_NodeTypes.TIMESTAMP_DIFF_FN_NODE: return C_NodeNames.TERNARY_OPERATOR_NODE_NAME; case C_NodeTypes.SELECT_NODE: return C_NodeNames.SELECT_NODE_NAME; case C_NodeTypes.CREATE_VIEW_NODE: return C_NodeNames.CREATE_VIEW_NODE_NAME; case C_NodeTypes.CONSTRAINT_DEFINITION_NODE: return C_NodeNames.CONSTRAINT_DEFINITION_NODE_NAME; case C_NodeTypes.NEW_INVOCATION_NODE: return C_NodeNames.NEW_INVOCATION_NODE_NAME; case C_NodeTypes.CREATE_SCHEMA_NODE: return C_NodeNames.CREATE_SCHEMA_NODE_NAME; case C_NodeTypes.FROM_BASE_TABLE: return C_NodeNames.FROM_BASE_TABLE_NAME; case C_NodeTypes.FROM_SUBQUERY: return C_NodeNames.FROM_SUBQUERY_NAME; case C_NodeTypes.GROUP_BY_NODE: return C_NodeNames.GROUP_BY_NODE_NAME; case C_NodeTypes.INSERT_NODE: return C_NodeNames.INSERT_NODE_NAME; case C_NodeTypes.JOIN_NODE: return C_NodeNames.JOIN_NODE_NAME; case C_NodeTypes.CREATE_TABLE_NODE: return C_NodeNames.CREATE_TABLE_NODE_NAME; case C_NodeTypes.RENAME_NODE: return C_NodeNames.RENAME_NODE_NAME; case C_NodeTypes.UNION_NODE: return C_NodeNames.UNION_NODE_NAME; case C_NodeTypes.INTERSECT_OR_EXCEPT_NODE: return C_NodeNames.INTERSECT_OR_EXCEPT_NODE_NAME; case C_NodeTypes.CREATE_TRIGGER_NODE: return C_NodeNames.CREATE_TRIGGER_NODE_NAME; case C_NodeTypes.HALF_OUTER_JOIN_NODE: return C_NodeNames.HALF_OUTER_JOIN_NODE_NAME; case C_NodeTypes.CREATE_INDEX_NODE: return C_NodeNames.CREATE_INDEX_NODE_NAME; case C_NodeTypes.CURSOR_NODE: return C_NodeNames.CURSOR_NODE_NAME; case C_NodeTypes.HASH_TABLE_NODE: return C_NodeNames.HASH_TABLE_NODE_NAME; case C_NodeTypes.INDEX_TO_BASE_ROW_NODE: return C_NodeNames.INDEX_TO_BASE_ROW_NODE_NAME; case C_NodeTypes.CREATE_ALIAS_NODE: return C_NodeNames.CREATE_ALIAS_NODE_NAME; case C_NodeTypes.PROJECT_RESTRICT_NODE: return C_NodeNames.PROJECT_RESTRICT_NODE_NAME; case C_NodeTypes.SQL_BOOLEAN_CONSTANT_NODE: return C_NodeNames.SQL_BOOLEAN_CONSTANT_NODE_NAME; case C_NodeTypes.DROP_ALIAS_NODE: return C_NodeNames.DROP_ALIAS_NODE_NAME; case C_NodeTypes.TEST_CONSTRAINT_NODE: return C_NodeNames.TEST_CONSTRAINT_NODE_NAME; case C_NodeTypes.ABSOLUTE_OPERATOR_NODE: case C_NodeTypes.SQRT_OPERATOR_NODE: case C_NodeTypes.UNARY_PLUS_OPERATOR_NODE: case C_NodeTypes.UNARY_MINUS_OPERATOR_NODE: return C_NodeNames.UNARY_ARITHMETIC_OPERATOR_NODE_NAME; case C_NodeTypes.SAVEPOINT_NODE: return C_NodeNames.SAVEPOINT_NODE_NAME; case C_NodeTypes.UNARY_DATE_TIMESTAMP_OPERATOR_NODE: return C_NodeNames.UNARY_DATE_TIMESTAMP_OPERATOR_NODE_NAME; case C_NodeTypes.TIMESTAMP_OPERATOR_NODE: return C_NodeNames.TIMESTAMP_OPERATOR_NODE_NAME; case C_NodeTypes.DB2_LENGTH_OPERATOR_NODE: return C_NodeNames.DB2_LENGTH_OPERATOR_NODE_NAME; case C_NodeTypes.XML_PARSE_OPERATOR_NODE: case C_NodeTypes.XML_SERIALIZE_OPERATOR_NODE: return C_NodeNames.UNARY_OPERATOR_NODE_NAME; case C_NodeTypes.XML_EXISTS_OPERATOR_NODE: return C_NodeNames.BINARY_OPERATOR_NODE_NAME; // WARNING: WHEN ADDING NODE TYPES HERE, YOU MUST ALSO ADD // THEM TO tools/jar/DBMSnodes.properties default: throw StandardException.newException(SQLState.NOT_IMPLEMENTED); } } /** * Get one of the several types of create alias nodes. Carved out of parser * so this could be used by ALTER PUBLICATION. * * @param aliasName The name of the alias * @param sourceJarFile (Plugin only) the jar file that the source method lives in * @param fullStaticMethodName The full path/method name * @param aliasSpecificInfo The full path of the target method name, * if any * @param aliasType The type of alias to create * @param delimitedIdentifier Whether or not to treat the class name * as a delimited identifier if trying to * resolve it as a class alias. * @param cm A ContextManager * * @return A CreateAliasNode matching the given parameters * * @exception StandardException Thrown on error */ public QueryTreeNode getCreateAliasNode( Object aliasName, Object targetName, Object aliasSpecificInfo, char aliasType, Boolean delimitedIdentifier, ContextManager cm) throws StandardException { int nodeType; String methodName = null; String targetMethodName = null; String targetClassName = null; nodeType = C_NodeTypes.CREATE_ALIAS_NODE; if (aliasType != AliasInfo.ALIAS_TYPE_SYNONYM_AS_CHAR) { int lastPeriod; String fullStaticMethodName = (String) targetName; int paren = fullStaticMethodName.indexOf('('); if (paren == -1) { // not a Java signature - split based on last period lastPeriod = fullStaticMethodName.lastIndexOf('.'); } else { // a Java signature - split on last period before the '(' lastPeriod = fullStaticMethodName.substring(0, paren).lastIndexOf('.'); } if (lastPeriod == -1 || lastPeriod == fullStaticMethodName.length()-1) { throw StandardException.newException(SQLState.LANG_INVALID_FULL_STATIC_METHOD_NAME, fullStaticMethodName); } String javaClassName = fullStaticMethodName.substring(0, lastPeriod); methodName = fullStaticMethodName.substring(lastPeriod + 1); targetName = javaClassName; } return getNode( nodeType, aliasName, targetName, methodName, aliasSpecificInfo, new Character(aliasType), delimitedIdentifier, cm ); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -