docs: public String getSQL() {
  
          StringBuffer sb = new StringBuffer(64);
  
          switch (opType) {
  
              case OpTypes.VALUE :
                  if (valueData == null) {
                      return Tokens.T_NULL;
                  }
  
                  return dataType.convertToSQLString(valueData);
  
              case OpTypes.ROW :
                  sb.append('(');
  
                  for (int i = 0; i < nodes.length; i++) {
                      sb.append(nodes[i].getSQL());
  
                      if (i < nodes.length - 1) {
                          sb.append(',');
                      }
                  }
  
                  sb.append(')');
  
                  return sb.toString();
  
              //
              case OpTypes.TABLE :
                  for (int i = 0; i < nodes.length; i++) {
                      sb.append(nodes[i].getSQL());
  
                      if (i < nodes.length - 1) {
                          sb.append(',');
                      }
                  }
  
                  return sb.toString();
          }
  
          switch (opType) {
  
              case OpTypes.ROW_SUBQUERY :
              case OpTypes.TABLE_SUBQUERY :
  /*
                  buf.append('(');
                  buf.append(subSelect.getSQL());
                  buf.append(')');
  */
                  break;
  
              default :
                  throw Error.runtimeError(ErrorCode.U_S0500, "Expression");
          }
  
          return sb.toString();
      }