Impala
Impalaistheopensource,nativeanalyticdatabaseforApacheHadoop.
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
UseStmt.java
Go to the documentation of this file.
1 // Copyright 2012 Cloudera Inc.
2 //
3 // Licensed under the Apache License, Version 2.0 (the "License");
4 // you may not use this file except in compliance with the License.
5 // You may obtain a copy of the License at
6 //
7 // http://www.apache.org/licenses/LICENSE-2.0
8 //
9 // Unless required by applicable law or agreed to in writing, software
10 // distributed under the License is distributed on an "AS IS" BASIS,
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 // See the License for the specific language governing permissions and
13 // limitations under the License.
14 
15 package com.cloudera.impala.analysis;
16 
20 import com.cloudera.impala.thrift.TUseDbParams;
21 
25 public class UseStmt extends StatementBase {
26  private final String database_;
27 
28  public UseStmt(String db) {
29  database_ = db;
30  }
31 
32  public String getDatabase() { return database_; }
33 
34  @Override
35  public String toSql() {
36  return "USE " + database_;
37  }
38 
39  @Override
40  public void analyze(Analyzer analyzer) throws AnalysisException {
41  if (!database_.equalsIgnoreCase(Catalog.DEFAULT_DB)) {
42  // USE <default> should always be allowed.
43  analyzer.getDb(database_, Privilege.ANY, true);
44  }
45  }
46 
47  public TUseDbParams toThrift() {
48  TUseDbParams params = new TUseDbParams();
49  params.setDb(getDatabase());
50  return params;
51  }
52 }
void analyze(Analyzer analyzer)
Definition: UseStmt.java:40
static final String DEFAULT_DB
Definition: Catalog.java:58