public static function render(Query\Update $query)
    {
        return Compiler::withDb($query->getDb(), function () use ($query) {
            return Compiler::expression(array(
                'UPDATE',
                $query->getType(),
                Aliased::combine($query->getTable()),
                Join::combine($query->getJoin()),
                Compiler::word('SET', Set::combine($query->getSet())),
                Compiler::word('WHERE', Condition::combine($query->getWhere())),
                Compiler::word('ORDER BY', Direction::combine($query->getOrder())),
                Compiler::word('LIMIT', $query->getLimit()),
            ));
        });
    }