~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to drizzled/serialize/table.proto

  • Committer: Jay Pipes
  • Date: 2008-08-20 21:00:34 UTC
  • mto: This revision was merged to the branch mainline in revision 363.
  • Revision ID: jay@mysql.com-20080820210034-wlbn621etruolf5c
Working reader and writer for table.proto definitions now

Show diffs side-by-side

added added

removed removed

Lines of Context:
37
37
    optional uint32 min_rows = 3;
38
38
  }
39
39
 
40
 
  message FieldOptions {
41
 
    required bool is_autoincrement = 1 [default = false];
42
 
    optional string default_value = 2;
43
 
  }
44
 
 
45
 
  message TimestampFieldOptions {
46
 
    optional bool auto_updates = 1 [default = false];
47
 
  }
48
 
 
49
 
  message FieldConstraints {
50
 
    required bool is_nullable = 1 [default = false];
51
 
    optional bool is_unsigned = 2 [default = false];
52
 
    repeated string expression = 16; /* Reserve 0-15 for frequenty accessed attributes */
53
 
  }
54
 
 
55
40
  message ForeignKeyConstraint {
56
41
    required string name = 1;
57
42
    required Field dependent = 2;
59
44
    /** @TODO Finish this off... */
60
45
  }
61
46
 
62
 
  message NumericFieldOptions {
63
 
    optional int32 length = 1;
64
 
    optional int32 scale = 2;
65
 
    optional int32 precision = 3;
66
 
  }
67
 
 
68
 
  message StringFieldOptions {
69
 
    required bool is_fixed_width = 1;
70
 
    optional int32 length = 2;
71
 
    optional string charset = 3; /* Perhaps this can go away soon...*/
72
 
    optional string collation = 4;
73
 
  }
74
 
 
75
 
  message SetFieldOptions {
76
 
    required int32 count_elements = 1;
77
 
    repeated string value = 2;
78
 
  }
79
 
 
80
47
  message Field {
81
48
 
82
49
    enum FieldType {
97
64
      TIMESTAMP = 14;
98
65
      DATETIME = 15;
99
66
    }
 
67
 
 
68
    message FieldOptions {
 
69
      optional string default_value = 2;
 
70
    }
 
71
 
 
72
    message TimestampFieldOptions {
 
73
      optional bool auto_updates = 1 [default = false];
 
74
    }
 
75
 
 
76
    message FieldConstraints {
 
77
      required bool is_nullable = 1 [default = false];
 
78
      optional bool is_unsigned = 2 [default = false];
 
79
      repeated string expression = 16; /* Reserve 0-15 for frequenty accessed attributes */
 
80
    }
 
81
 
 
82
    message NumericFieldOptions {
 
83
      optional bool is_autoincrement = 1 [default = false];
 
84
      optional int32 length = 2;
 
85
      optional int32 scale = 3;
 
86
      optional int32 precision = 4;
 
87
    }
 
88
 
 
89
    message StringFieldOptions {
 
90
      optional bool is_fixed_width = 1 [default = false];
 
91
      optional int32 length = 2;
 
92
      optional string charset = 3; /* Perhaps this can go away soon...*/
 
93
      optional string collation = 4;
 
94
    }
 
95
 
 
96
    message SetFieldOptions {
 
97
      required int32 count_elements = 1;
 
98
      repeated string value = 2;
 
99
    }
 
100
 
100
101
    required string name = 1;
101
102
    required FieldType type = 2;
102
 
    required FieldOptions options = 3;
103
 
    required FieldConstraints constraints = 4;
 
103
    optional FieldOptions options = 3;
 
104
    optional FieldConstraints constraints = 4;
104
105
    optional NumericFieldOptions numeric_options = 5;
105
106
    optional StringFieldOptions string_options = 6;
106
107
    optional string comment = 16; /* Reserve 0-15 for frequently accessed attributes */
108
109
    optional TimestampFieldOptions timestamp_options = 18;
109
110
  }
110
111
 
111
 
  message IndexPart {
112
 
    required Field field = 1;
113
 
    optional int32 compare_length = 2;
114
 
    optional bool in_reverse_order = 3 [default = false];
115
 
  }
116
 
 
117
112
  message Index {
118
113
 
119
114
    enum IndexType {
120
 
      HASH = 0;
121
 
      BTREE = 1;
122
 
      RTREE = 2;
123
 
      FULLTEXT = 3;
 
115
      UNKNOWN = 0;
 
116
      HASH = 1;
 
117
      BTREE = 2;
 
118
      RTREE = 3;
 
119
      FULLTEXT = 4;
 
120
    }
 
121
 
 
122
    message IndexPart {
 
123
      required Field field = 1;
 
124
      optional int32 compare_length = 2;
 
125
      optional bool in_reverse_order = 3 [default = false];
124
126
    }
125
127
 
126
128
    required string name = 1;
127
129
    required bool is_primary = 2;
128
130
    required bool is_unique = 3;
129
 
    optional IndexType type = 4;
 
131
    required IndexType type = 4 [default = UNKNOWN];
130
132
    repeated IndexPart index_part = 5;
131
133
  }
132
134