OmniSciDB  c1a53651b2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
com.mapd.calcite.parser.HeavyDBSqlOperatorTable.Replace Class Reference
+ Inheritance diagram for com.mapd.calcite.parser.HeavyDBSqlOperatorTable.Replace:
+ Collaboration diagram for com.mapd.calcite.parser.HeavyDBSqlOperatorTable.Replace:

Public Member Functions

 Replace ()
 
RelDataType inferReturnType (SqlOperatorBinding opBinding)
 
SqlCall createCall (@Nullable SqlLiteral functionQualifier, SqlParserPos pos,@Nullable SqlNode...operands)
 
boolean requiresCreate (List< SqlNode > operands)
 

Static Private Member Functions

static java.util.List
< SqlTypeFamily > 
getSignatureFamilies ()
 

Detailed Description

Definition at line 1004 of file HeavyDBSqlOperatorTable.java.

Constructor & Destructor Documentation

com.mapd.calcite.parser.HeavyDBSqlOperatorTable.Replace.Replace ( )
inline

Definition at line 1005 of file HeavyDBSqlOperatorTable.java.

References heavydb.dtypes.STRING.

1005  {
1006  super("REPLACE",
1007  SqlKind.OTHER_FUNCTION,
1008  null,
1009  null,
1010  OperandTypes.family(getSignatureFamilies()),
1012  }
tuple STRING
Definition: dtypes.py:31
static java.util.List< SqlTypeFamily > getSignatureFamilies()

Member Function Documentation

SqlCall com.mapd.calcite.parser.HeavyDBSqlOperatorTable.Replace.createCall ( @Nullable SqlLiteral  functionQualifier,
SqlParserPos  pos,
@Nullable SqlNode...  operands 
)
inline

Definition at line 1029 of file HeavyDBSqlOperatorTable.java.

1031  {
1032  assert functionQualifier == null;
1033  switch (operands.length) {
1034  case 2:
1035  operands = new SqlNode[] {
1036  operands[0], operands[1], SqlLiteral.createCharString("", pos)};
1037  break;
1038  case 3:
1039  break;
1040  default:
1041  throw new IllegalArgumentException(
1042  "Invalid operand count " + Arrays.toString(operands));
1043  }
1044  return super.createCall(functionQualifier, pos, operands);
1045  }
static java.util.List<SqlTypeFamily> com.mapd.calcite.parser.HeavyDBSqlOperatorTable.Replace.getSignatureFamilies ( )
inlinestaticprivate

Definition at line 1014 of file HeavyDBSqlOperatorTable.java.

References heavydb.dtypes.STRING.

1014  {
1015  java.util.ArrayList<SqlTypeFamily> families =
1016  new java.util.ArrayList<SqlTypeFamily>();
1017  families.add(SqlTypeFamily.STRING);
1018  families.add(SqlTypeFamily.STRING);
1019  families.add(SqlTypeFamily.STRING);
1020  return families;
1021  }
tuple STRING
Definition: dtypes.py:31
RelDataType com.mapd.calcite.parser.HeavyDBSqlOperatorTable.Replace.inferReturnType ( SqlOperatorBinding  opBinding)
inline

Definition at line 1024 of file HeavyDBSqlOperatorTable.java.

1024  {
1025  return opBinding.getOperandType(0);
1026  }
boolean com.mapd.calcite.parser.HeavyDBSqlOperatorTable.Replace.requiresCreate ( List< SqlNode >  operands)
inline

Definition at line 1048 of file HeavyDBSqlOperatorTable.java.

1048  {
1049  // if there are only 2 Operands, the code will be creating 'defaults'
1050  return (operands.size() == 2);
1051  }

The documentation for this class was generated from the following file: