List:Summer of Code« Previous MessageNext Message »
From:scut_tang Date:July 23 2009 12:42pm
Subject:Re: GSoC Week 11 - I_S/P_S storage engine
View as plain text  
Hi, Sergei

>>?KEY?CONCERNS
>>?============
>>?1.?In?infoschema_discover,?I?take?all?fields?whose?type?are
>>?MYSQL_TYPE_STRING?into?Field_varstring?and?no?Field_blob,?regardless
>>?of?field's?lengh.?Is?it?any?problem?
>
>Yes,?I?think.
>blobs?may?be?needed?for?certain?very?long?fields.
>Why?did?you?disable?them?-?any?particular?problem?you?had?with?blobs??
Yes. you can check it by - cancel comment in infoschema_dicover():
switch(fileds_info->field_type)
{
    case MYSQL_TYPE_STRING:
    if(field_length > MAX_FIELD_VARCHARLENGTH)
    {
        new_field = new Field_blob(field_length, maybe_null, fields_info->field_name,
cs);
    }
and SELECT * FROM INFOSCHEMA.PLUGINS occurs errors. something cross the border.
If I replace Field_blob by Field_varstring. It works.

Another question: 
Add "#define MYSQL_SERVER 1" in source file, and THD *thd->something works.
But there are lots of others thing couldn't, like GRANT_TABLE, GRANT_COLUMN.
mysql_priv.h does not contain their definition.
So I can't do something like GRANT_TABLE *gtable directly in source file. I do it in this
way:
Add some functions connected with GRANT_TABLE in sql_acl.cc.
There are lots of this function in sql_acl.cc:
char *get_grant_table_user(GRANT_TABLE *gtable)
{
    return gtable->user;
}
You can check it in the new branch code.
I think this way is not  a good idea. Is there any good way?

Regards,
Robin






Thread
GSoC Week 11 - I_S/P_S storage enginescut_tang20 Jul
  • Re: GSoC Week 11 - I_S/P_S storage engineSergei Golubchik21 Jul
    • Re: GSoC Week 11 - I_S/P_S storage enginescut_tang23 Jul