code: function QueryCompiler(client, builder) {
    this.client = client;
    this.method = builder._method || 'select';
    this.options = builder._options || {};
    this.single = builder._single;
    var grouped = this.grouped = {};
    builder._statements.forEach(function (item) {
      if (!item.grouping) {
        return;
      }
      var val = item.grouping;
      if (!(val in grouped)) {
        grouped[val] = [];
      }
      grouped[val].push(item);
    });
    this.formatter = new Formatter(client);
  }
docs: The "QueryCompiler" takes all of the query statements which have been gathered in the "QueryBuilder" and turns them into a properly formatted / bound query string.