I submitted a pull request to Julian today for the option parsing in optiq and he already pulled it in, so I was going to finish up connecting drill to it. Previously I was converting the rel node for setting options into a new Drill operator. This has been replaced with specifying the options in the plan header, with the options being read and set in the foreman when the query is submitted.
For options provided though SQL, I believe that single query strings can only contain a single option setting statement and nothing else. This would leave us with an empty plan, but meaningful headers. Do we want to define a different type of message for these and other possible non-query messages passed to Drill? I haven't checked to see it the current plan reader will accept an empty plan graph, but I wanted to confirm if this would be a reasonable way to do it.