/** * Compiles GlueDB_Fragment_Aliased fragments into an SQL string. * * @param GlueDB_Fragment_Aliased $fragment * * @return string */ public function compile_aliased(GlueDB_Fragment_Aliased $fragment) { // Get data from fragment : $aliased = $fragment->aliased(); $as = $fragment->as(); // Generate fragment SQL : $sql = $aliased->sql($this); if (!($aliased instanceof GlueDB_Fragment_Column || $aliased instanceof GlueDB_Fragment_Table)) { $sql = '(' . $sql . ')'; } // Add alias : if (!empty($as)) { $sql .= ' AS ' . $this->quote_identifier($as); } // Return SQL : return $sql; }
/** * Constructor. * * @param string $table_name * @param string $alias */ public function __construct($table_name, $alias = null) { parent::__construct(new GlueDB_Fragment_Table($table_name), $alias); }