You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							99 lines
						
					
					
						
							1.8 KiB
						
					
					
				
			
		
		
		
			
			
			
		
		
	
	
							99 lines
						
					
					
						
							1.8 KiB
						
					
					
				
								syntax = "proto3";
							 | 
						|
								
							 | 
						|
								package schema_pb;
							 | 
						|
								
							 | 
						|
								option go_package = "github.com/seaweedfs/seaweedfs/weed/pb/schema_pb";
							 | 
						|
								
							 | 
						|
								///////////////////////////
							 | 
						|
								// Topic definition
							 | 
						|
								///////////////////////////
							 | 
						|
								
							 | 
						|
								message Topic {
							 | 
						|
								    string namespace = 1;
							 | 
						|
								    string name = 2;
							 | 
						|
								}
							 | 
						|
								message Partition {
							 | 
						|
								    int32 ring_size = 1;
							 | 
						|
								    int32 range_start = 2;
							 | 
						|
								    int32 range_stop = 3;
							 | 
						|
								    int64 unix_time_ns = 4;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								message Offset {
							 | 
						|
								    Topic topic = 1;
							 | 
						|
								    repeated PartitionOffset partition_offsets = 2;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								enum OffsetType {
							 | 
						|
								    RESUME_OR_EARLIEST = 0;
							 | 
						|
								    RESET_TO_EARLIEST = 5;
							 | 
						|
								    EXACT_TS_NS = 10;
							 | 
						|
								    RESET_TO_LATEST = 15;
							 | 
						|
								    RESUME_OR_LATEST = 20;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								message PartitionOffset {
							 | 
						|
								    Partition partition = 1;
							 | 
						|
								    int64 start_ts_ns = 2;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								///////////////////////////
							 | 
						|
								// schema definition
							 | 
						|
								///////////////////////////
							 | 
						|
								
							 | 
						|
								message RecordType {
							 | 
						|
								    repeated Field fields = 1;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								message Field {
							 | 
						|
								    string name = 1;
							 | 
						|
								    int32 field_index = 2;
							 | 
						|
								    Type type = 3;
							 | 
						|
								    bool is_repeated = 4;
							 | 
						|
								    bool is_required = 5;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								message Type {
							 | 
						|
								    oneof kind {
							 | 
						|
								        ScalarType scalar_type = 1;
							 | 
						|
								        RecordType record_type = 2;
							 | 
						|
								        ListType list_type = 3;
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								enum ScalarType {
							 | 
						|
								    BOOL = 0;
							 | 
						|
								    INT32 = 1;
							 | 
						|
								    INT64 = 3;
							 | 
						|
								    FLOAT = 4;
							 | 
						|
								    DOUBLE = 5;
							 | 
						|
								    BYTES = 6;
							 | 
						|
								    STRING = 7;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								message ListType {
							 | 
						|
								    Type element_type = 1;
							 | 
						|
								}
							 | 
						|
								
							 | 
						|
								///////////////////////////
							 | 
						|
								// value definition
							 | 
						|
								///////////////////////////
							 | 
						|
								message RecordValue {
							 | 
						|
								    map<string, Value> fields = 1;
							 | 
						|
								}
							 | 
						|
								message Value {
							 | 
						|
								    oneof kind {
							 | 
						|
								        bool bool_value = 1;
							 | 
						|
								        int32 int32_value = 2;
							 | 
						|
								        int64 int64_value = 3;
							 | 
						|
								        float float_value = 4;
							 | 
						|
								        double double_value = 5;
							 | 
						|
								        bytes bytes_value = 6;
							 | 
						|
								        string string_value = 7;
							 | 
						|
								        ListValue list_value = 14;
							 | 
						|
								        RecordValue record_value = 15;
							 | 
						|
								    }
							 | 
						|
								}
							 | 
						|
								message ListValue {
							 | 
						|
								    repeated Value values = 1;
							 | 
						|
								}
							 |