← Back to team overview

maria-discuss team mailing list archive

New FRM Format

 

Hi guys, could we add a new FRM file format?
a more human readable, maybe JSON or YAML format, internally we could still
using today unireg format

check this example using JSON:

{
'header':{
'frm_version' :'JSON 1.0',
'server' : 'mysql/mariadb/drizzle/percona/other...',
'server_version' : '1234.1234.1234',
'engine' :'MyISAM',
'io_size' :0, ???
'key_length' :0, ???
'rec_length' :0, ???
'table_options' :'', ??? (maybe put in engine part?)
'table_default_charset':'latin1',
'partition_default_engine':'MyISAM',
},
'rows':{
'max_rows' :0,
'min_rows' :0,
'avg_row_length':0,
'type' :'PAGE/FIXED/COMPACT/blablalba',
'table_comments':'',
'intervals' :{
'0':['a','b','c'],
'1':['enums','and','sets']
},
},
'fields':[
{ 'name' :'',
'type' :'',
'scale' :'',
'flags' :['zerofill','unsigned','not null'],
'default':0,
'charset':'',
'comment':''},
...
 ],
'keys':{
'primary key':{
'type' :'unique/index/fulltext',
'fields' :[
0,1,2,3,4,
{'field'=>5,'order'=>'asc','left':5},
...
],
'algorithm':'hash/btree/rtree'
},
'other key':
...
},
'partitions':{
'p1' : {
 'p1 informations'
 }
},
'myisam':
{'some especific information'},
'aria':
{'some especific information'},
'innodb':
{'some especific information'},
'ndb':
{'some especific information'},
'view':{
'SQL':"select xyz from a,b",
'algorithm':'temporary, etc...'
...
},
'other_information that mariadb/mysql don't use but it's nice to document':
{'hi i can put some information here!'}
}

Follow ups