/* * Copyright 2015-2018 HuntLabs.cn * * 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. */ module hunt.sql.ast.statement.SQLObjectType; import std.uni; public struct SQLObjectType { enum SQLObjectType TABLE = SQLObjectType("TABLE"); // enum SQLObjectType FUNCTION = SQLObjectType("FUNCTION"); // enum SQLObjectType PROCEDURE = SQLObjectType("PROCEDURE"); // enum SQLObjectType USER = SQLObjectType("USER"); // enum SQLObjectType DATABASE = SQLObjectType("DATABASE"); // enum SQLObjectType ROLE = SQLObjectType("ROLE"); // enum SQLObjectType PROJECT = SQLObjectType("PROJECT"); // enum SQLObjectType PACKAGE = SQLObjectType("PACKAGE"); // enum SQLObjectType RESOURCE = SQLObjectType("RESOURCE"); // enum SQLObjectType INSTANCE = SQLObjectType("INSTANCE"); // enum SQLObjectType JOB = SQLObjectType("JOB"); // enum SQLObjectType VOLUME = SQLObjectType("VOLUME"); // enum SQLObjectType OfflineModel = SQLObjectType("OFFLINEMODEL"); // enum SQLObjectType XFLOW = SQLObjectType("XFLOW"); // for odps public string name; public string name_lcase; this(string name) { this.name = name; this.name_lcase = toLower(name); } bool opEquals(const SQLObjectType h) nothrow { return name == h.name ; } bool opEquals(ref const SQLObjectType h) nothrow { return name == h.name ; } }