1*14675a02SAndroid Build Coastguard Workersyntax = "proto3"; 2*14675a02SAndroid Build Coastguard Worker 3*14675a02SAndroid Build Coastguard Workerpackage google.internal.federated.plan; 4*14675a02SAndroid Build Coastguard Worker 5*14675a02SAndroid Build Coastguard Workerimport "fcp/protos/plan.proto"; 6*14675a02SAndroid Build Coastguard Worker 7*14675a02SAndroid Build Coastguard Workeroption java_package = "com.google.internal.federated.plan"; 8*14675a02SAndroid Build Coastguard Workeroption java_outer_classname = "SelectionCriteriaProto"; 9*14675a02SAndroid Build Coastguard Worker 10*14675a02SAndroid Build Coastguard Worker// Schema information describing a column in the client execution context. 11*14675a02SAndroid Build Coastguard Workermessage ColumnSchema { 12*14675a02SAndroid Build Coastguard Worker // The column name. 13*14675a02SAndroid Build Coastguard Worker string name = 1; 14*14675a02SAndroid Build Coastguard Worker 15*14675a02SAndroid Build Coastguard Worker // ExampleQuery output vector data type. When generating results for 16*14675a02SAndroid Build Coastguard Worker // the Lightweight client, client query results will be encoded using 17*14675a02SAndroid Build Coastguard Worker // this type. 18*14675a02SAndroid Build Coastguard Worker // These types are only populated for the SQL query output columns. 19*14675a02SAndroid Build Coastguard Worker google.internal.federated.plan.ExampleQuerySpec.OutputVectorSpec.DataType 20*14675a02SAndroid Build Coastguard Worker type = 2; 21*14675a02SAndroid Build Coastguard Worker} 22*14675a02SAndroid Build Coastguard Worker 23*14675a02SAndroid Build Coastguard Workermessage SqlQuery { 24*14675a02SAndroid Build Coastguard Worker // Supported SQL dialects. 25*14675a02SAndroid Build Coastguard Worker enum SqlDialect { 26*14675a02SAndroid Build Coastguard Worker UNKNOWN = 0; 27*14675a02SAndroid Build Coastguard Worker SQLITE = 1; 28*14675a02SAndroid Build Coastguard Worker // TODO(b/178190670) Currently only SQLite is supported, as Android clients 29*14675a02SAndroid Build Coastguard Worker // can only execute via SQLite. 30*14675a02SAndroid Build Coastguard Worker } 31*14675a02SAndroid Build Coastguard Worker 32*14675a02SAndroid Build Coastguard Worker // The SQL dialect the query is expressed in. 33*14675a02SAndroid Build Coastguard Worker SqlDialect sql_dialect = 1; 34*14675a02SAndroid Build Coastguard Worker 35*14675a02SAndroid Build Coastguard Worker // The raw SQL query string. 36*14675a02SAndroid Build Coastguard Worker string raw_sql = 2; 37*14675a02SAndroid Build Coastguard Worker 38*14675a02SAndroid Build Coastguard Worker // Schema information for the client SQL query output columns. 39*14675a02SAndroid Build Coastguard Worker repeated ColumnSchema output_columns = 3; 40*14675a02SAndroid Build Coastguard Worker} 41*14675a02SAndroid Build Coastguard Worker 42*14675a02SAndroid Build Coastguard Worker// A set of SQL queries that run on the client with the same inputs. They share 43*14675a02SAndroid Build Coastguard Worker// a database schema. 44*14675a02SAndroid Build Coastguard Workermessage SqlQuerySet { 45*14675a02SAndroid Build Coastguard Worker // Map of query names to SQL queries. 46*14675a02SAndroid Build Coastguard Worker map<string, SqlQuery> sql_queries = 1; 47*14675a02SAndroid Build Coastguard Worker} 48*14675a02SAndroid Build Coastguard Worker 49*14675a02SAndroid Build Coastguard Worker// Selection criteria sent to Brella clients for SQL tasks. Contains the 50*14675a02SAndroid Build Coastguard Worker// query that the FedSqlExampleStore should execute before handing results 51*14675a02SAndroid Build Coastguard Worker// off to TensorFlow. 52*14675a02SAndroid Build Coastguard Workermessage SelectionCriteria { 53*14675a02SAndroid Build Coastguard Worker // The SQL queries executed by each client. The result columns will be 54*14675a02SAndroid Build Coastguard Worker // serialized into `fcp.client.ExampleQueryResult` protos. 55*14675a02SAndroid Build Coastguard Worker // This field should only be used by tasks using the lightweight client. 56*14675a02SAndroid Build Coastguard Worker SqlQuerySet client_queries = 1; 57*14675a02SAndroid Build Coastguard Worker}