# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
Query Handle: 28be0bb7-f675-4065-9de4-0c0be6e39068
User Query: cube select blah blah
Submitted User: user
Priority: HIGH
Is Persistent: true
Selected Driver Name: selected-driver
Driver Query: select blah from driver table
Status:
  Progress: 10.0
  Queue Number: 11
  Status: RUNNING
  Status Message: query running
  Is Result Set Available: false
  Progress Message: progress message
  Error Message: error message
Result Set Path: /path/to/result
Driver Op Handle: a6f6fb20-cd1b-44dc-819c-36eb8c99e72c
Query Conf:
  key1: value1
Submission Time: 1454420854897
Launch Time: 1454420854897
Driver Start Time: 1454420854897
Driver Finish Time: 1454420854897
Finish Time: 1454420854897
Closed Time: 1454420854897
Query Name: query name
