← Back to team overview

maria-developers team mailing list archive

Re: GSoC weekly reports (Unique indexes for blobs)

 

GSoC (week 3)

Hello everyone,

I worked on InnoDB for this whole week. For each index of type
DICT_UNIQUE_HASH, an extra column is added after user defined columns and
before system defined columns.I have created new prtype(precise type) for
hash based columns.I have resolved some of the issues after debugging and
create table operation is working now.

Here is the list of main things I have done during this week.

1.added an extra hash column for each DICT_UNIQUE_HASH index

2.added an extra field in index which is mapped to hash column in a table.

3.modified some functions in row0ins.cc and row0mysql.cc to support a new
index type.


Regards,
Shubham

On 6 June 2016 at 22:57, Shubham Barai <shubhambaraiss@xxxxxxxxx> wrote:

> GSoC (week 2)
>
> Hello everyone,
>
> Finally, I solved the issue with a mismatch of a key number
> between sql layer and MyISAM file.I also found a  simpler approach for this
> with the help of my mentor.
>
> One of the other issues that I had to deal with was compatibility issue of
> key definitions between .frm file and information stored in MyISAM storage
> engine. The issue was due to check_defination which compares .frm file
> and MyISAM definitions of a table.The previous prototype of
> check_definition didn't contain mi_uniquedef. I have modified this function
> to compare mi_uniquedef.The main problem was due to the difference in
> a number of keys which we pass as an argument in ha_myisam::open.
>
> I have also started working on InnoDB.I discussed  some of the
> implementation approaches with my mentor. I made changes to some of the
> functions in ha_innobase.cc.
>
>
> Regards,
> Shubham
>
> On 31 May 2016 at 03:32, Sergei Golubchik <serg@xxxxxxxxxxx> wrote:
>
>> Hi, Shubham!
>>
>> Good, thanks!
>>
>> On May 31, Shubham Barai wrote:
>> > GSoC (week 1)
>> >
>> > Hello everyone,
>> >
>> > After developing a prototype for MyISAM ,there were some issues to be
>> > resolved. One of the issues is related to error regarding a duplicate
>> > entry. So if there is a duplicate entry for a particular key in a row,
>> it
>> > generates an error for another key.
>> >
>> > After debugging, I found out that it was due to mismatch of a key number
>> > between  sql layer and MyISAM file. Keys  are stored in the order of
>> user's
>> > input in sql layer. In table2myisam function, this order is changed as
>> each
>> > key is either stored as mi_keydef or mi_uniquedef. In mi_create, for
>> each
>> > unique definition, an extra key is created in the form of mi_keydef and
>> > stored in MYI file which creates the issue of mismatch.
>> >
>> > I tried to solve the issue by adding extra member sql_key_no to
>> mi_keydef
>> > and mi_uniquedef.I also modified mi_keydef_write and mi_keydef_read to
>> > support a new member but after compiling, I got some error related to a
>> key
>> > file. Also with the help of my mentor, I found out that it could result
>> in
>> > compatibility issues related to old MyISAM file.
>> >
>> > So currently, I am trying to solve this using another approach.
>>
>> Regards,
>> Sergei
>> Chief Architect MariaDB
>> and security@xxxxxxxxxxx
>>
>
>

Follow ups

References