| #ifndef SHOWSCHEMA_H |
| #define SHOWSCHEMA_H |
| /* -*-C++-*- |
| ****************************************************************************** |
| * |
| * File: ShowSchema.h |
| * |
| * Description: A lightweight means for a requester (SQLCI's ENV command) |
| * to get arkcmp's current default catalog and schema |
| * (in Ansi format). |
| * A similar means for ExSqlComp to get arkcmp's initial defaults, |
| * to be reissued if arkcmp crashes, to ensure identical context |
| * of the restarted arkcmp. |
| * |
| * |
| // @@@ START COPYRIGHT @@@ |
| // |
| // Licensed to the Apache Software Foundation (ASF) under one |
| // or more contributor license agreements. See the NOTICE file |
| // distributed with this work for additional information |
| // regarding copyright ownership. The ASF licenses this file |
| // to you 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. |
| // |
| // @@@ END COPYRIGHT @@@ |
| * |
| * Nomina si nescis perit et cognitio rerum. |
| * [If you do not know the names, the knowledge of things is also lost.] |
| * -- Carolus Linnaeus |
| * |
| ****************************************************************************** |
| */ |
| |
| #include "Platform.h" |
| #include "BaseTypes.h" |
| #include "ExpError.h" |
| #include "NAStringDef.h" |
| |
| class ShowSchema { |
| public: |
| |
| static const char *ShowControlDefaultSchemaMagic() |
| { return "**cat.sch**"; } // ident internal-fmt |
| |
| static const char *ShowSchemaStmt() |
| { return "SHOWCONTROL DEFAULT \"**cat.sch**\";"; } // ident delimited |
| |
| static Lng32 DiagSqlCode() |
| { return ABS(EXE_INFO_DEFAULT_CAT_SCH); } |
| |
| static NABoolean getDefaultCatAndSch(NAString &cat, NAString &sch); |
| |
| // When you PREPARE the ShowSchema::ShowSchemaStmt(), |
| // Describe::bindNode() returns "error" ShowSchema::DiagSqlCode(). |
| // |
| // The intent of function ShowSchema::getDefaultCatAndSch() |
| // is to do |
| // EXEC SQL GET DIAGNOSTICS :cat = CATALOG_NAME, :sch = SCHEMA_NAME; |
| // but it is not written yet. |
| // |
| // See sqlci Env command, SqlciEnv::specialError/specialHandler, |
| // and HandleCLIError for another way to get the same information. |
| |
| }; |
| |
| class GetControlDefaults { // Genesis 10-981211-5986 |
| public: |
| |
| static const char *GetExternalizedDefaultsMagic() |
| { return "**extlzd.deflts**"; } // ident internal-fmt |
| |
| static const char *GetExternalizedDefaultsStmt() |
| { return "SHOWCONTROL DEFAULT \"**extlzd.deflts**\";"; } // ident delimited |
| |
| static Lng32 DiagSqlCode() |
| { return ABS(EXE_INFO_CQD_NAME_VALUE_PAIRS); } |
| |
| // Handled like the preceding class. |
| // Used by ExSqlComp. |
| |
| }; |
| |
| #endif // SHOWSCHEMA_H |