code: function () {
              //We initialize these here because otherwise
              //the will be blank because of recursive dependencies.
              !patio && (patio = require("../index"));
              !Dataset && (Dataset = patio.Dataset);
              this.outputIdentifier = hitch(this, this.outputIdentifier);
              this._super(arguments);
          }
docs: @lends patio.Dataset.prototype 
  Dataset mixin that provides functions to the {@link patio.dataset.Dataset} to
  create SELECT, UPDATE, CREATE, and DELETE SQL statements, based off of the the
  methods invoked in the {@link patio.dataset._Query}
  mixin. This class should not be used directly by
  
  @constructs
  @memberOf patio.dataset
  @name _Query
  
  @property {String} sql Readonly property that returns a SELECT statement.
  @property {String} deleteSql DELETE SQL query string.  See {@link patio.dataset._Actions#delete}.
  
  <pre class="code">
  dataset.filter(function(){
  return this.price.gte(100);
  }).deleteSql;
  // => "DELETE FROM items WHERE (price >= 100)"
  </pre>
  @property {String} selectSql  Returns a SELECT SQL query string.
  
  <pre class="code">
  
  DB.from("items").selectSql;
  //=> "SELECT * FROM items"
  </pre>
  @property {String} truncateSql Returns a TRUNCATE SQL query string.  See {@link patio.dataset._Actions#truncate}
  
  <pre class="code">
  
  DB.from("items").truncateSql();
  //=> 'TRUNCATE items'
  </pre>
  @property {String} exists  Returns an EXISTS clause for the dataset as a {@link patio.sql.LiteralString}.
  
  <pre class="code">
  
  var ds = DB.from("test");
  ds.filter(ds.filter(sql.price.lt(100))).exists()).sql;
  //=> 'SELECT * FROM test WHERE (EXISTS (SELECT * FROM test WHERE (price < 100)))'
  
  </pre>