We used to special case it, but that leads to a lot of specialized code in
weird places.  I think at least this way we use the same execution path for
all queries.
On Jun 5, 2014 5:58 PM, "Reynold Xin" <notifications@github.com> wrote:

> In sql/core/src/main/scala/org/apache/spark/sql/execution/commands.scala:
>
> > + * See the License for the specific language governing permissions and
> > + * limitations under the License.
> > + */
> > +
> > +package org.apache.spark.sql.execution
> > +
> > +import org.apache.spark.annotation.DeveloperApi
> > +import org.apache.spark.rdd.RDD
> > +import org.apache.spark.sql.{SQLContext, Row}
> > +import org.apache.spark.sql.catalyst.expressions.{GenericRow, Attribute}
> > +
> > +/**
> > + * :: DeveloperApi ::
> > + */
> > +@DeveloperApi
> > +case class SetCommandPhysical(key: Option[String], value: Option[String])
>
> I find this physical logical separation for set commands (with strategies)
> fairly confusing - handling of set should be extremely simple and doesn't
> require jumping through multiple files to understand how it is executed ....
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/apache/spark/pull/956/files#r13472795>.
>