# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# NO CHECKED-IN PROTOBUF GENCODE
# source: protos/perfetto/perfetto_sql/structured_query.proto
# Protobuf Python Version: 6.33.5
"""Generated protocol buffer code."""
from google.protobuf import descriptor as _descriptor
from google.protobuf import descriptor_pool as _descriptor_pool
from google.protobuf import runtime_version as _runtime_version
from google.protobuf import symbol_database as _symbol_database
from google.protobuf.internal import builder as _builder
_runtime_version.ValidateProtobufRuntimeVersion(
    _runtime_version.Domain.PUBLIC,
    6,
    33,
    5,
    '',
    'protos/perfetto/perfetto_sql/structured_query.proto'
)
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor_pool.Default().AddSerializedFile(b'\n3protos/perfetto/perfetto_sql/structured_query.proto\x12\x0fperfetto.protos\"\xe9.\n\x1aPerfettoSqlStructuredQuery\x12\n\n\x02id\x18\x01 \x01(\t\x12\x1a\n\x12referenced_modules\x18\x0b \x03(\t\x12\x42\n\x05table\x18\x02 \x01(\x0b\x32\x31.perfetto.protos.PerfettoSqlStructuredQuery.TableH\x00\x12>\n\x03sql\x18\x03 \x01(\x0b\x32/.perfetto.protos.PerfettoSqlStructuredQuery.SqlH\x00\x12Q\n\rsimple_slices\x18\x04 \x01(\x0b\x32\x38.perfetto.protos.PerfettoSqlStructuredQuery.SimpleSlicesH\x00\x12\x42\n\x0binner_query\x18\x05 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQueryH\x00\x12\x18\n\x0einner_query_id\x18\x06 \x01(\tH\x00\x12[\n\x12interval_intersect\x18\x07 \x01(\x0b\x32=.perfetto.protos.PerfettoSqlStructuredQuery.IntervalIntersectH\x00\x12Y\n\x11\x65xperimental_join\x18\x64 \x01(\x0b\x32<.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalJoinH\x00\x12[\n\x12\x65xperimental_union\x18\x65 \x01(\x0b\x32=.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalUnionH\x00\x12\x66\n\x18\x65xperimental_add_columns\x18\x66 \x01(\x0b\x32\x42.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalAddColumnsH\x00\x12j\n\x1a\x65xperimental_create_slices\x18h \x01(\x0b\x32\x44.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalCreateSlicesH\x00\x12\x64\n\x17\x65xperimental_time_range\x18i \x01(\x0b\x32\x41.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalTimeRangeH\x00\x12u\n experimental_filter_to_intervals\x18j \x01(\x0b\x32I.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalFilterToIntervalsH\x00\x12r\n\x1e\x65xperimental_counter_intervals\x18k \x01(\x0b\x32H.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalCounterIntervalsH\x00\x12\x62\n\x16\x65xperimental_filter_in\x18l \x01(\x0b\x32@.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalFilterInH\x00\x12\x43\n\x07\x66ilters\x18\x08 \x03(\x0b\x32\x32.perfetto.protos.PerfettoSqlStructuredQuery.Filter\x12\x45\n\x08group_by\x18\t \x01(\x0b\x32\x33.perfetto.protos.PerfettoSqlStructuredQuery.GroupBy\x12P\n\x0eselect_columns\x18\n \x03(\x0b\x32\x38.perfetto.protos.PerfettoSqlStructuredQuery.SelectColumn\x12\x45\n\x08order_by\x18\x0e \x01(\x0b\x32\x33.perfetto.protos.PerfettoSqlStructuredQuery.OrderBy\x12\r\n\x05limit\x18\x0c \x01(\x03\x12\x0e\n\x06offset\x18\r \x01(\x03\x12\x66\n\x19\x65xperimental_filter_group\x18g \x01(\x0b\x32\x43.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalFilterGroup\x1aJ\n\x05Table\x12\x12\n\ntable_name\x18\x01 \x01(\t\x12\x14\n\x0c\x63olumn_names\x18\x03 \x03(\t\x12\x17\n\x0bmodule_name\x18\x02 \x01(\tB\x02\x18\x01\x1au\n\x0cSimpleSlices\x12\x17\n\x0fslice_name_glob\x18\x01 \x01(\t\x12\x18\n\x10thread_name_glob\x18\x02 \x01(\t\x12\x19\n\x11process_name_glob\x18\x03 \x01(\t\x12\x17\n\x0ftrack_name_glob\x18\x04 \x01(\t\x1a\xe9\x01\n\x03Sql\x12\x0b\n\x03sql\x18\x01 \x01(\t\x12\x14\n\x0c\x63olumn_names\x18\x02 \x03(\t\x12P\n\x0c\x64\x65pendencies\x18\x04 \x03(\x0b\x32:.perfetto.protos.PerfettoSqlStructuredQuery.Sql.Dependency\x12\x14\n\x08preamble\x18\x03 \x01(\tB\x02\x18\x01\x1aW\n\nDependency\x12\r\n\x05\x61lias\x18\x01 \x01(\t\x12:\n\x05query\x18\x02 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x1a\xb2\x01\n\x11IntervalIntersect\x12\x39\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12G\n\x12interval_intersect\x18\x02 \x03(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12\x19\n\x11partition_columns\x18\x03 \x03(\t\x1a\xe8\x01\n\x1d\x45xperimentalFilterToIntervals\x12\x39\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12>\n\tintervals\x18\x02 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12\x19\n\x11partition_columns\x18\x03 \x03(\t\x12\x19\n\x11\x63lip_to_intervals\x18\x04 \x01(\x08\x12\x16\n\x0eselect_columns\x18\x05 \x03(\t\x1a\xa7\x01\n\x15\x45xperimentalTimeRange\x12T\n\x04mode\x18\x01 \x01(\x0e\x32\x46.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalTimeRange.Mode\x12\n\n\x02ts\x18\x02 \x01(\x03\x12\x0b\n\x03\x64ur\x18\x03 \x01(\x03\"\x1f\n\x04Mode\x12\n\n\x06STATIC\x10\x00\x12\x0b\n\x07\x44YNAMIC\x10\x01\x1a\x88\x05\n\x10\x45xperimentalJoin\x12O\n\x04type\x18\x01 \x01(\x0e\x32\x41.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalJoin.Type\x12?\n\nleft_query\x18\x02 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12@\n\x0bright_query\x18\x03 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12h\n\x10\x65quality_columns\x18\x04 \x01(\x0b\x32L.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalJoin.EqualityColumnsH\x00\x12l\n\x12\x66reeform_condition\x18\x05 \x01(\x0b\x32N.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalJoin.FreeformConditionH\x00\x1a<\n\x0f\x45qualityColumns\x12\x13\n\x0bleft_column\x18\x01 \x01(\t\x12\x14\n\x0cright_column\x18\x02 \x01(\t\x1a`\n\x11\x46reeformCondition\x12\x18\n\x10left_query_alias\x18\x01 \x01(\t\x12\x19\n\x11right_query_alias\x18\x02 \x01(\t\x12\x16\n\x0esql_expression\x18\x03 \x01(\t\"\x1b\n\x04Type\x12\t\n\x05INNER\x10\x00\x12\x08\n\x04LEFT\x10\x01\x42\x0b\n\tcondition\x1ah\n\x11\x45xperimentalUnion\x12<\n\x07queries\x18\x01 \x03(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12\x15\n\ruse_union_all\x18\x02 \x01(\x08\x1a\xd1\x03\n\x16\x45xperimentalAddColumns\x12?\n\ncore_query\x18\x01 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12@\n\x0binput_query\x18\x02 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12O\n\rinput_columns\x18\x03 \x03(\x0b\x32\x38.perfetto.protos.PerfettoSqlStructuredQuery.SelectColumn\x12h\n\x10\x65quality_columns\x18\x04 \x01(\x0b\x32L.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalJoin.EqualityColumnsH\x00\x12l\n\x12\x66reeform_condition\x18\x05 \x01(\x0b\x32N.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalJoin.FreeformConditionH\x00\x42\x0b\n\tcondition\x1a\xd0\x01\n\x18\x45xperimentalCreateSlices\x12\x41\n\x0cstarts_query\x18\x01 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12?\n\nends_query\x18\x02 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12\x18\n\x10starts_ts_column\x18\x03 \x01(\t\x12\x16\n\x0e\x65nds_ts_column\x18\x04 \x01(\t\x1a`\n\x1c\x45xperimentalCounterIntervals\x12@\n\x0binput_query\x18\x01 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x1a\xbf\x01\n\x14\x45xperimentalFilterIn\x12\x39\n\x04\x62\x61se\x18\x01 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12\x41\n\x0cmatch_values\x18\x02 \x01(\x0b\x32+.perfetto.protos.PerfettoSqlStructuredQuery\x12\x13\n\x0b\x62\x61se_column\x18\x03 \x01(\t\x12\x14\n\x0cmatch_column\x18\x04 \x01(\t\x1a\xcb\x02\n\x06\x46ilter\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12G\n\x02op\x18\x02 \x01(\x0e\x32;.perfetto.protos.PerfettoSqlStructuredQuery.Filter.Operator\x12\x12\n\nstring_rhs\x18\x03 \x03(\t\x12\x12\n\ndouble_rhs\x18\x04 \x03(\x01\x12\x11\n\tint64_rhs\x18\x05 \x03(\x03\"\xa7\x01\n\x08Operator\x12\x0b\n\x07UNKNOWN\x10\x00\x12\t\n\x05\x45QUAL\x10\x01\x12\r\n\tNOT_EQUAL\x10\x02\x12\r\n\tLESS_THAN\x10\x03\x12\x13\n\x0fLESS_THAN_EQUAL\x10\x04\x12\x10\n\x0cGREATER_THAN\x10\x05\x12\x16\n\x12GREATER_THAN_EQUAL\x10\x06\x12\x0b\n\x07IS_NULL\x10\x08\x12\x0f\n\x0bIS_NOT_NULL\x10\t\x12\x08\n\x04GLOB\x10\x07\x1a\xd2\x03\n\x07GroupBy\x12\x14\n\x0c\x63olumn_names\x18\x01 \x03(\t\x12Q\n\naggregates\x18\x02 \x03(\x0b\x32=.perfetto.protos.PerfettoSqlStructuredQuery.GroupBy.Aggregate\x1a\xdd\x02\n\tAggregate\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12L\n\x02op\x18\x02 \x01(\x0e\x32@.perfetto.protos.PerfettoSqlStructuredQuery.GroupBy.Aggregate.Op\x12\x1a\n\x12result_column_name\x18\x03 \x01(\t\x12\x12\n\npercentile\x18\x04 \x01(\x01\x12\x1d\n\x15\x63ustom_sql_expression\x18\x05 \x01(\t\"\x9d\x01\n\x02Op\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\t\n\x05\x43OUNT\x10\x01\x12\x07\n\x03SUM\x10\x02\x12\x07\n\x03MIN\x10\x03\x12\x07\n\x03MAX\x10\x04\x12\x08\n\x04MEAN\x10\x05\x12\n\n\x06MEDIAN\x10\x06\x12\x1a\n\x16\x44URATION_WEIGHTED_MEAN\x10\x07\x12\x12\n\x0e\x43OUNT_DISTINCT\x10\t\x12\x0e\n\nPERCENTILE\x10\x08\x12\n\n\x06\x43USTOM\x10\n\x1aY\n\x0cSelectColumn\x12!\n\x19\x63olumn_name_or_expression\x18\x03 \x01(\t\x12\r\n\x05\x61lias\x18\x02 \x01(\t\x12\x17\n\x0b\x63olumn_name\x18\x01 \x01(\tB\x02\x18\x01\x1a\x8b\x02\n\x07OrderBy\x12X\n\x0eordering_specs\x18\x01 \x03(\x0b\x32@.perfetto.protos.PerfettoSqlStructuredQuery.OrderBy.OrderingSpec\x1au\n\x0cOrderingSpec\x12\x13\n\x0b\x63olumn_name\x18\x01 \x01(\t\x12P\n\tdirection\x18\x02 \x01(\x0e\x32=.perfetto.protos.PerfettoSqlStructuredQuery.OrderBy.Direction\"/\n\tDirection\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x41SC\x10\x01\x12\x08\n\x04\x44\x45SC\x10\x02\x1a\xd4\x02\n\x17\x45xperimentalFilterGroup\x12X\n\x02op\x18\x01 \x01(\x0e\x32L.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalFilterGroup.Operator\x12\x43\n\x07\x66ilters\x18\x02 \x03(\x0b\x32\x32.perfetto.protos.PerfettoSqlStructuredQuery.Filter\x12S\n\x06groups\x18\x03 \x03(\x0b\x32\x43.perfetto.protos.PerfettoSqlStructuredQuery.ExperimentalFilterGroup\x12\x17\n\x0fsql_expressions\x18\x04 \x03(\t\",\n\x08Operator\x12\x0f\n\x0bUNSPECIFIED\x10\x00\x12\x07\n\x03\x41ND\x10\x01\x12\x06\n\x02OR\x10\x02\x42\x08\n\x06source')

_globals = globals()
_builder.BuildMessageAndEnumDescriptors(DESCRIPTOR, _globals)
_builder.BuildTopDescriptorsAndMessages(DESCRIPTOR, 'protos.perfetto.perfetto_sql.structured_query_pb2', _globals)
if not _descriptor._USE_C_DESCRIPTORS:
  DESCRIPTOR._loaded_options = None
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_TABLE'].fields_by_name['module_name']._loaded_options = None
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_TABLE'].fields_by_name['module_name']._serialized_options = b'\030\001'
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SQL'].fields_by_name['preamble']._loaded_options = None
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SQL'].fields_by_name['preamble']._serialized_options = b'\030\001'
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SELECTCOLUMN'].fields_by_name['column_name']._loaded_options = None
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SELECTCOLUMN'].fields_by_name['column_name']._serialized_options = b'\030\001'
  _globals['_PERFETTOSQLSTRUCTUREDQUERY']._serialized_start=73
  _globals['_PERFETTOSQLSTRUCTUREDQUERY']._serialized_end=6066
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_TABLE']._serialized_start=1806
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_TABLE']._serialized_end=1880
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SIMPLESLICES']._serialized_start=1882
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SIMPLESLICES']._serialized_end=1999
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SQL']._serialized_start=2002
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SQL']._serialized_end=2235
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SQL_DEPENDENCY']._serialized_start=2148
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SQL_DEPENDENCY']._serialized_end=2235
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_INTERVALINTERSECT']._serialized_start=2238
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_INTERVALINTERSECT']._serialized_end=2416
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALFILTERTOINTERVALS']._serialized_start=2419
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALFILTERTOINTERVALS']._serialized_end=2651
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALTIMERANGE']._serialized_start=2654
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALTIMERANGE']._serialized_end=2821
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALTIMERANGE_MODE']._serialized_start=2790
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALTIMERANGE_MODE']._serialized_end=2821
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALJOIN']._serialized_start=2824
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALJOIN']._serialized_end=3472
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALJOIN_EQUALITYCOLUMNS']._serialized_start=3272
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALJOIN_EQUALITYCOLUMNS']._serialized_end=3332
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALJOIN_FREEFORMCONDITION']._serialized_start=3334
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALJOIN_FREEFORMCONDITION']._serialized_end=3430
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALJOIN_TYPE']._serialized_start=3432
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALJOIN_TYPE']._serialized_end=3459
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALUNION']._serialized_start=3474
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALUNION']._serialized_end=3578
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALADDCOLUMNS']._serialized_start=3581
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALADDCOLUMNS']._serialized_end=4046
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALCREATESLICES']._serialized_start=4049
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALCREATESLICES']._serialized_end=4257
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALCOUNTERINTERVALS']._serialized_start=4259
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALCOUNTERINTERVALS']._serialized_end=4355
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALFILTERIN']._serialized_start=4358
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALFILTERIN']._serialized_end=4549
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_FILTER']._serialized_start=4552
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_FILTER']._serialized_end=4883
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_FILTER_OPERATOR']._serialized_start=4716
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_FILTER_OPERATOR']._serialized_end=4883
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_GROUPBY']._serialized_start=4886
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_GROUPBY']._serialized_end=5352
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_GROUPBY_AGGREGATE']._serialized_start=5003
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_GROUPBY_AGGREGATE']._serialized_end=5352
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_GROUPBY_AGGREGATE_OP']._serialized_start=5195
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_GROUPBY_AGGREGATE_OP']._serialized_end=5352
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SELECTCOLUMN']._serialized_start=5354
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_SELECTCOLUMN']._serialized_end=5443
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_ORDERBY']._serialized_start=5446
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_ORDERBY']._serialized_end=5713
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_ORDERBY_ORDERINGSPEC']._serialized_start=5547
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_ORDERBY_ORDERINGSPEC']._serialized_end=5664
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_ORDERBY_DIRECTION']._serialized_start=5666
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_ORDERBY_DIRECTION']._serialized_end=5713
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALFILTERGROUP']._serialized_start=5716
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALFILTERGROUP']._serialized_end=6056
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALFILTERGROUP_OPERATOR']._serialized_start=6012
  _globals['_PERFETTOSQLSTRUCTUREDQUERY_EXPERIMENTALFILTERGROUP_OPERATOR']._serialized_end=6056
# @@protoc_insertion_point(module_scope)
