constructor(Model, parent, readonlyDb) {

    this.db = readonlyDb || (parent && parent.db) || Model.prototype.db;
    this.Model = Model;

    this._parent = parent || null;
    this._readonly = !!(readonlyDb || (parent && parent._readonly));
    this._command = null;
    this._transaction = null;
    this._shortAliasMap = {};
    this._joinCount = 0;

  }
Created by Model#query, used for composing SQL queries based on Models
@param {Nodal.Model} Model The model class the composer is querying from
@param {Nodal.Composer} [parent=null] The composer's parent (another composer instance)
@param {optional Nodal.Database} readonlyDb Provide a readonly database to query from