MySQL 5.6.14 Source Code Document
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
WhereNode.java
1 /*
2  * Copyright (c) 2011, Oracle and/or its affiliates. All rights reserved.
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; version 2 of the License.
7  *
8  * This program is distributed in the hope that it will be useful,
9  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11  * GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License
14  * along with this program; if not, write to the Free Software
15  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
16  */
17 
18 package com.mysql.clusterj.jdbc.antlr.node;
19 
20 import org.antlr.runtime.Token;
21 
22 import com.mysql.clusterj.query.Predicate;
23 import com.mysql.clusterj.query.QueryDomainType;
24 
25 public class WhereNode extends Node {
26 
27  public WhereNode(Token token) {
28  super(token);
29  }
30 
31  public WhereNode(WhereNode whereNode) {
32  super(whereNode);
33  }
34 
35  @Override
36  public WhereNode dupNode() {
37  return new WhereNode(this);
38  }
39 
40  @Override
41  public Predicate getPredicate(QueryDomainType<?> queryDomainType) {
42  try {
43  Node child = (Node)getChild(0);
44  Predicate result = child.getPredicate(queryDomainType);
45  setNumberOfParameters(child.getNumberOfParameters());
46  return result;
47  } catch (Exception e) {
48  // where node cannot be executed by clusterj
49  return null;
50  }
51  }
52 }