code: @Procedure
      @Description("apoc.couchbase.query(hostOrKey, bucket, statement) yield queryResult - executes a plain un-parameterized N1QL statement.")
      public Stream<CouchbaseQueryResult> query(@Name("hostOrKey") String hostOrKey, @Name("bucket") String bucket,
                                                @Name("statement") String statement) {
          try (CouchbaseConnection couchbaseConnection = getCouchbaseConnection(hostOrKey, bucket)) {
              List<JsonObject> statementResult = couchbaseConnection.executeStatement(statement);
              return statementResult == null ? Stream.empty() : Stream.of(CouchbaseUtils.convertToCouchbaseQueryResult(statementResult));
          }
      }
docs: Executes a plain un-parameterized N1QL statement.
  <p/>
  Example:
  <code>CALL apoc.couchbase.query('localhost', 'default', 'select * from default where lastName = "Van Gogh"']) yield queryResult</code>
  
  @param hostOrKey a URI to use when connecting to the cluster reference or a configuration key
  @param bucket    the bucket to open; if null is passed then it's used the "default"
  bucket
  @param statement the raw statement string to execute
  @return the list of {@link JsonObject}s retrieved by this query in the form
  of a {@link CouchbaseQueryResult}
  @see N1qlQuery#simple(Statement)