Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Roberto Spadim
please include the output (solutions.txt) link too, to check what happened

2014-07-08 16:24 GMT-03:00 Roberto Spadim :
> http://www.netlib.org/lapack/lapacke.html
> a C api to lapack
>
> 2014-07-08 16:23 GMT-03:00 Roberto Spadim :
>> check lapack lib, i used it some years ago, and it solve linear
>> equations, at least you don't waste time with 'how to solve linear
>> equations', if you want to study :) lapack was a nice lib, at least i
>> used without problems
>>
>> 2014-07-08 16:04 GMT-03:00 Roberto Spadim :
>>> a1,a2 is what your solve equation function is saving?
>>> and you want know t1,t2,t3..t130, to understand how much time each
>>> 'read function' take, that's it?
>>>
>>> doing this, what's the next step? this is a start point to select
>>> what's better? index vs table scan?
>>>
>>>
>>>
>>> 2014-07-08 15:54 GMT-03:00 Anshu Avinash :
 Hi,

 a1, a2, ..., a130 are coefficients. t1, t2, .., t130 are unknowns. We need
 130 linearly independent equations to solve for these variables. We can
 never get 130 linearly independent equations as some of the coefficients
 would be 0 every time. Hence, we get an approximate solution by forming an
 overdetermined system (http://en.wikipedia.org/wiki/Overdetermined_system).
 Let me know if you have any further doubts.

 Regards
 Anshu Avinash


 On Wed, Jul 9, 2014 at 12:18 AM, Roberto Spadim 
 wrote:
>
> ops, linear equation
>
> 2014-07-08 15:47 GMT-03:00 Roberto Spadim :
> > going back...
> > a1t1 + a2t2 + … + a130t130= ttotal
> >
> > a1, t1...
> >
> > a1 is something you don't know
> > t1 is the coefficients[i]?
> >
> > it's a first order equation, right?
> >
> >
> >
> > 2014-07-08 15:20 GMT-03:00 Anshu Avinash :
> >> Hi,
> >>
> >> The idea is we know the total time the query took, and how many times
> >> an
> >> operation was performed. For example, consider the case of 'read_time'.
> >> We
> >> know how many times an index read took place, but don't know how much
> >> time
> >> does it take to do an index read. By solving these equations, we are
> >> trying
> >> to find out time for individual operations. coefficients[i].value is
> >> `how
> >> many time the operation i took place in a single query.`
> >>
> >> Hope this clears things up.
> >>
> >> Regards
> >> Anshu Avinash
> >>
> >>
> >> On Tue, Jul 8, 2014 at 10:57 PM, Roberto Spadim 
> >> wrote:
> >>>
> >>> just to understand...
> >>> --- the solve_equation part, today only used to save information:
> >>>   std::ofstream datafile;
> >>>   char file_name[100];
> >>>   my_snprintf(file_name, 100,
> >>> "/tmp/mariadb_cost_coefficients_%lu.txt", thread_id);
> >>>   datafile.open(file_name, std::ios::app);
> >>>   for(int i=0; i < MAX_CONSTANTS; i++)
> >>> datafile << coefficients[i].value << " ";
> >>>   datafile << total_time << "\n";
> >>>   datafile.close();
> >>> 
> >>>
> >>> the idea is: given a query and some coefficients[i].value, you got
> >>> total_time need to execute the query
> >>> you want to "train" something to tell you how many time the same query
> >>> should execute?
> >>> or, what's the "x[i]" variables from your system (hardware/hard
> >>> disk/etc), and extend this to others queries?
> >>>
> >>>
> >>> 2014-07-08 14:20 GMT-03:00 Roberto Spadim :
> >>> > =] nice
> >>> >
> >>> > 2014-07-08 14:18 GMT-03:00 Anshu Avinash
> >>> > :
> >>> >> Hi all,
> >>> >>
> >>> >> You can download it here
> >>> >>
> >>> >>
> >>> >> (https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing).
> >>> >> It is around 26M. I have added the link on blog too.
> >>> >>
> >>> >> Regards
> >>> >> Anshu
> >>> >>
> >>> >>
> >>> >> On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim
> >>> >> 
> >>> >> wrote:
> >>> >>>
> >>> >>> could you 'display' the dataset you used with octave?
> >>> >>>
> >>> >>> 2014-07-08 13:55 GMT-03:00 Anshu Avinash
> >>> >>> :
> >>> >>> > Hi all,
> >>> >>> >
> >>> >>> > This week's blog post is at:
> >>> >>> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/
> >>> >>> > .
> >>> >>> > Sorry
> >>> >>> > for
> >>> >>> > the delay.
> >>> >>> > Suggestions for an approach to solve the system of linear
> >>> >>> > equations
> >>> >>> > are
> >>> >>> > welcome.
> >>> >>> >
> >>> >>> > Regards
> >>> >>> > Anshu Avinash
> >>> >>> >
> >>> >>> >
> >>> >>> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim
> >>> >>> > 
> >>> >>> > wrote:
> >>> >>> >>
> >>> >>> >> " MDEV. "
> >>> >>> >> it's nice to put full name (MDEV-350), since google and others
> >>> >>> >> search
> >>> >

Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Roberto Spadim
http://www.netlib.org/lapack/lapacke.html
a C api to lapack

2014-07-08 16:23 GMT-03:00 Roberto Spadim :
> check lapack lib, i used it some years ago, and it solve linear
> equations, at least you don't waste time with 'how to solve linear
> equations', if you want to study :) lapack was a nice lib, at least i
> used without problems
>
> 2014-07-08 16:04 GMT-03:00 Roberto Spadim :
>> a1,a2 is what your solve equation function is saving?
>> and you want know t1,t2,t3..t130, to understand how much time each
>> 'read function' take, that's it?
>>
>> doing this, what's the next step? this is a start point to select
>> what's better? index vs table scan?
>>
>>
>>
>> 2014-07-08 15:54 GMT-03:00 Anshu Avinash :
>>> Hi,
>>>
>>> a1, a2, ..., a130 are coefficients. t1, t2, .., t130 are unknowns. We need
>>> 130 linearly independent equations to solve for these variables. We can
>>> never get 130 linearly independent equations as some of the coefficients
>>> would be 0 every time. Hence, we get an approximate solution by forming an
>>> overdetermined system (http://en.wikipedia.org/wiki/Overdetermined_system).
>>> Let me know if you have any further doubts.
>>>
>>> Regards
>>> Anshu Avinash
>>>
>>>
>>> On Wed, Jul 9, 2014 at 12:18 AM, Roberto Spadim 
>>> wrote:

 ops, linear equation

 2014-07-08 15:47 GMT-03:00 Roberto Spadim :
 > going back...
 > a1t1 + a2t2 + … + a130t130= ttotal
 >
 > a1, t1...
 >
 > a1 is something you don't know
 > t1 is the coefficients[i]?
 >
 > it's a first order equation, right?
 >
 >
 >
 > 2014-07-08 15:20 GMT-03:00 Anshu Avinash :
 >> Hi,
 >>
 >> The idea is we know the total time the query took, and how many times
 >> an
 >> operation was performed. For example, consider the case of 'read_time'.
 >> We
 >> know how many times an index read took place, but don't know how much
 >> time
 >> does it take to do an index read. By solving these equations, we are
 >> trying
 >> to find out time for individual operations. coefficients[i].value is
 >> `how
 >> many time the operation i took place in a single query.`
 >>
 >> Hope this clears things up.
 >>
 >> Regards
 >> Anshu Avinash
 >>
 >>
 >> On Tue, Jul 8, 2014 at 10:57 PM, Roberto Spadim 
 >> wrote:
 >>>
 >>> just to understand...
 >>> --- the solve_equation part, today only used to save information:
 >>>   std::ofstream datafile;
 >>>   char file_name[100];
 >>>   my_snprintf(file_name, 100,
 >>> "/tmp/mariadb_cost_coefficients_%lu.txt", thread_id);
 >>>   datafile.open(file_name, std::ios::app);
 >>>   for(int i=0; i < MAX_CONSTANTS; i++)
 >>> datafile << coefficients[i].value << " ";
 >>>   datafile << total_time << "\n";
 >>>   datafile.close();
 >>> 
 >>>
 >>> the idea is: given a query and some coefficients[i].value, you got
 >>> total_time need to execute the query
 >>> you want to "train" something to tell you how many time the same query
 >>> should execute?
 >>> or, what's the "x[i]" variables from your system (hardware/hard
 >>> disk/etc), and extend this to others queries?
 >>>
 >>>
 >>> 2014-07-08 14:20 GMT-03:00 Roberto Spadim :
 >>> > =] nice
 >>> >
 >>> > 2014-07-08 14:18 GMT-03:00 Anshu Avinash
 >>> > :
 >>> >> Hi all,
 >>> >>
 >>> >> You can download it here
 >>> >>
 >>> >>
 >>> >> (https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing).
 >>> >> It is around 26M. I have added the link on blog too.
 >>> >>
 >>> >> Regards
 >>> >> Anshu
 >>> >>
 >>> >>
 >>> >> On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim
 >>> >> 
 >>> >> wrote:
 >>> >>>
 >>> >>> could you 'display' the dataset you used with octave?
 >>> >>>
 >>> >>> 2014-07-08 13:55 GMT-03:00 Anshu Avinash
 >>> >>> :
 >>> >>> > Hi all,
 >>> >>> >
 >>> >>> > This week's blog post is at:
 >>> >>> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/
 >>> >>> > .
 >>> >>> > Sorry
 >>> >>> > for
 >>> >>> > the delay.
 >>> >>> > Suggestions for an approach to solve the system of linear
 >>> >>> > equations
 >>> >>> > are
 >>> >>> > welcome.
 >>> >>> >
 >>> >>> > Regards
 >>> >>> > Anshu Avinash
 >>> >>> >
 >>> >>> >
 >>> >>> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim
 >>> >>> > 
 >>> >>> > wrote:
 >>> >>> >>
 >>> >>> >> " MDEV. "
 >>> >>> >> it's nice to put full name (MDEV-350), since google and others
 >>> >>> >> search
 >>> >>> >> engines help when someone try to find information about mdev
 >>> >>> >> 350
 >>> >>> >>
 >>> >>> >> text is ok :)
 >>> >>> >>
 >>> >>> >> 2014-06-23 11:04 GMT-03:00 Anshu Avinash
 >>> >>> >> :
 >>> >>> >> > Hi,
 >>> >>> >> >
 

Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Roberto Spadim
check lapack lib, i used it some years ago, and it solve linear
equations, at least you don't waste time with 'how to solve linear
equations', if you want to study :) lapack was a nice lib, at least i
used without problems

2014-07-08 16:04 GMT-03:00 Roberto Spadim :
> a1,a2 is what your solve equation function is saving?
> and you want know t1,t2,t3..t130, to understand how much time each
> 'read function' take, that's it?
>
> doing this, what's the next step? this is a start point to select
> what's better? index vs table scan?
>
>
>
> 2014-07-08 15:54 GMT-03:00 Anshu Avinash :
>> Hi,
>>
>> a1, a2, ..., a130 are coefficients. t1, t2, .., t130 are unknowns. We need
>> 130 linearly independent equations to solve for these variables. We can
>> never get 130 linearly independent equations as some of the coefficients
>> would be 0 every time. Hence, we get an approximate solution by forming an
>> overdetermined system (http://en.wikipedia.org/wiki/Overdetermined_system).
>> Let me know if you have any further doubts.
>>
>> Regards
>> Anshu Avinash
>>
>>
>> On Wed, Jul 9, 2014 at 12:18 AM, Roberto Spadim 
>> wrote:
>>>
>>> ops, linear equation
>>>
>>> 2014-07-08 15:47 GMT-03:00 Roberto Spadim :
>>> > going back...
>>> > a1t1 + a2t2 + … + a130t130= ttotal
>>> >
>>> > a1, t1...
>>> >
>>> > a1 is something you don't know
>>> > t1 is the coefficients[i]?
>>> >
>>> > it's a first order equation, right?
>>> >
>>> >
>>> >
>>> > 2014-07-08 15:20 GMT-03:00 Anshu Avinash :
>>> >> Hi,
>>> >>
>>> >> The idea is we know the total time the query took, and how many times
>>> >> an
>>> >> operation was performed. For example, consider the case of 'read_time'.
>>> >> We
>>> >> know how many times an index read took place, but don't know how much
>>> >> time
>>> >> does it take to do an index read. By solving these equations, we are
>>> >> trying
>>> >> to find out time for individual operations. coefficients[i].value is
>>> >> `how
>>> >> many time the operation i took place in a single query.`
>>> >>
>>> >> Hope this clears things up.
>>> >>
>>> >> Regards
>>> >> Anshu Avinash
>>> >>
>>> >>
>>> >> On Tue, Jul 8, 2014 at 10:57 PM, Roberto Spadim 
>>> >> wrote:
>>> >>>
>>> >>> just to understand...
>>> >>> --- the solve_equation part, today only used to save information:
>>> >>>   std::ofstream datafile;
>>> >>>   char file_name[100];
>>> >>>   my_snprintf(file_name, 100,
>>> >>> "/tmp/mariadb_cost_coefficients_%lu.txt", thread_id);
>>> >>>   datafile.open(file_name, std::ios::app);
>>> >>>   for(int i=0; i < MAX_CONSTANTS; i++)
>>> >>> datafile << coefficients[i].value << " ";
>>> >>>   datafile << total_time << "\n";
>>> >>>   datafile.close();
>>> >>> 
>>> >>>
>>> >>> the idea is: given a query and some coefficients[i].value, you got
>>> >>> total_time need to execute the query
>>> >>> you want to "train" something to tell you how many time the same query
>>> >>> should execute?
>>> >>> or, what's the "x[i]" variables from your system (hardware/hard
>>> >>> disk/etc), and extend this to others queries?
>>> >>>
>>> >>>
>>> >>> 2014-07-08 14:20 GMT-03:00 Roberto Spadim :
>>> >>> > =] nice
>>> >>> >
>>> >>> > 2014-07-08 14:18 GMT-03:00 Anshu Avinash
>>> >>> > :
>>> >>> >> Hi all,
>>> >>> >>
>>> >>> >> You can download it here
>>> >>> >>
>>> >>> >>
>>> >>> >> (https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing).
>>> >>> >> It is around 26M. I have added the link on blog too.
>>> >>> >>
>>> >>> >> Regards
>>> >>> >> Anshu
>>> >>> >>
>>> >>> >>
>>> >>> >> On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim
>>> >>> >> 
>>> >>> >> wrote:
>>> >>> >>>
>>> >>> >>> could you 'display' the dataset you used with octave?
>>> >>> >>>
>>> >>> >>> 2014-07-08 13:55 GMT-03:00 Anshu Avinash
>>> >>> >>> :
>>> >>> >>> > Hi all,
>>> >>> >>> >
>>> >>> >>> > This week's blog post is at:
>>> >>> >>> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/
>>> >>> >>> > .
>>> >>> >>> > Sorry
>>> >>> >>> > for
>>> >>> >>> > the delay.
>>> >>> >>> > Suggestions for an approach to solve the system of linear
>>> >>> >>> > equations
>>> >>> >>> > are
>>> >>> >>> > welcome.
>>> >>> >>> >
>>> >>> >>> > Regards
>>> >>> >>> > Anshu Avinash
>>> >>> >>> >
>>> >>> >>> >
>>> >>> >>> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim
>>> >>> >>> > 
>>> >>> >>> > wrote:
>>> >>> >>> >>
>>> >>> >>> >> " MDEV. "
>>> >>> >>> >> it's nice to put full name (MDEV-350), since google and others
>>> >>> >>> >> search
>>> >>> >>> >> engines help when someone try to find information about mdev
>>> >>> >>> >> 350
>>> >>> >>> >>
>>> >>> >>> >> text is ok :)
>>> >>> >>> >>
>>> >>> >>> >> 2014-06-23 11:04 GMT-03:00 Anshu Avinash
>>> >>> >>> >> :
>>> >>> >>> >> > Hi,
>>> >>> >>> >> >
>>> >>> >>> >> > Sorry for the confusion, this is the new link:
>>> >>> >>> >> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
>>> >>> >>> >> > Thanks for pointing out.
>>> >>> >>> >> >
>>> >>> >>> >> > Regards
>>> >>> >>> >> > Anshu
>>> >>> >>> >> >

Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Roberto Spadim
a1,a2 is what your solve equation function is saving?
and you want know t1,t2,t3..t130, to understand how much time each
'read function' take, that's it?

doing this, what's the next step? this is a start point to select
what's better? index vs table scan?



2014-07-08 15:54 GMT-03:00 Anshu Avinash :
> Hi,
>
> a1, a2, ..., a130 are coefficients. t1, t2, .., t130 are unknowns. We need
> 130 linearly independent equations to solve for these variables. We can
> never get 130 linearly independent equations as some of the coefficients
> would be 0 every time. Hence, we get an approximate solution by forming an
> overdetermined system (http://en.wikipedia.org/wiki/Overdetermined_system).
> Let me know if you have any further doubts.
>
> Regards
> Anshu Avinash
>
>
> On Wed, Jul 9, 2014 at 12:18 AM, Roberto Spadim 
> wrote:
>>
>> ops, linear equation
>>
>> 2014-07-08 15:47 GMT-03:00 Roberto Spadim :
>> > going back...
>> > a1t1 + a2t2 + … + a130t130= ttotal
>> >
>> > a1, t1...
>> >
>> > a1 is something you don't know
>> > t1 is the coefficients[i]?
>> >
>> > it's a first order equation, right?
>> >
>> >
>> >
>> > 2014-07-08 15:20 GMT-03:00 Anshu Avinash :
>> >> Hi,
>> >>
>> >> The idea is we know the total time the query took, and how many times
>> >> an
>> >> operation was performed. For example, consider the case of 'read_time'.
>> >> We
>> >> know how many times an index read took place, but don't know how much
>> >> time
>> >> does it take to do an index read. By solving these equations, we are
>> >> trying
>> >> to find out time for individual operations. coefficients[i].value is
>> >> `how
>> >> many time the operation i took place in a single query.`
>> >>
>> >> Hope this clears things up.
>> >>
>> >> Regards
>> >> Anshu Avinash
>> >>
>> >>
>> >> On Tue, Jul 8, 2014 at 10:57 PM, Roberto Spadim 
>> >> wrote:
>> >>>
>> >>> just to understand...
>> >>> --- the solve_equation part, today only used to save information:
>> >>>   std::ofstream datafile;
>> >>>   char file_name[100];
>> >>>   my_snprintf(file_name, 100,
>> >>> "/tmp/mariadb_cost_coefficients_%lu.txt", thread_id);
>> >>>   datafile.open(file_name, std::ios::app);
>> >>>   for(int i=0; i < MAX_CONSTANTS; i++)
>> >>> datafile << coefficients[i].value << " ";
>> >>>   datafile << total_time << "\n";
>> >>>   datafile.close();
>> >>> 
>> >>>
>> >>> the idea is: given a query and some coefficients[i].value, you got
>> >>> total_time need to execute the query
>> >>> you want to "train" something to tell you how many time the same query
>> >>> should execute?
>> >>> or, what's the "x[i]" variables from your system (hardware/hard
>> >>> disk/etc), and extend this to others queries?
>> >>>
>> >>>
>> >>> 2014-07-08 14:20 GMT-03:00 Roberto Spadim :
>> >>> > =] nice
>> >>> >
>> >>> > 2014-07-08 14:18 GMT-03:00 Anshu Avinash
>> >>> > :
>> >>> >> Hi all,
>> >>> >>
>> >>> >> You can download it here
>> >>> >>
>> >>> >>
>> >>> >> (https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing).
>> >>> >> It is around 26M. I have added the link on blog too.
>> >>> >>
>> >>> >> Regards
>> >>> >> Anshu
>> >>> >>
>> >>> >>
>> >>> >> On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim
>> >>> >> 
>> >>> >> wrote:
>> >>> >>>
>> >>> >>> could you 'display' the dataset you used with octave?
>> >>> >>>
>> >>> >>> 2014-07-08 13:55 GMT-03:00 Anshu Avinash
>> >>> >>> :
>> >>> >>> > Hi all,
>> >>> >>> >
>> >>> >>> > This week's blog post is at:
>> >>> >>> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/
>> >>> >>> > .
>> >>> >>> > Sorry
>> >>> >>> > for
>> >>> >>> > the delay.
>> >>> >>> > Suggestions for an approach to solve the system of linear
>> >>> >>> > equations
>> >>> >>> > are
>> >>> >>> > welcome.
>> >>> >>> >
>> >>> >>> > Regards
>> >>> >>> > Anshu Avinash
>> >>> >>> >
>> >>> >>> >
>> >>> >>> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim
>> >>> >>> > 
>> >>> >>> > wrote:
>> >>> >>> >>
>> >>> >>> >> " MDEV. "
>> >>> >>> >> it's nice to put full name (MDEV-350), since google and others
>> >>> >>> >> search
>> >>> >>> >> engines help when someone try to find information about mdev
>> >>> >>> >> 350
>> >>> >>> >>
>> >>> >>> >> text is ok :)
>> >>> >>> >>
>> >>> >>> >> 2014-06-23 11:04 GMT-03:00 Anshu Avinash
>> >>> >>> >> :
>> >>> >>> >> > Hi,
>> >>> >>> >> >
>> >>> >>> >> > Sorry for the confusion, this is the new link:
>> >>> >>> >> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
>> >>> >>> >> > Thanks for pointing out.
>> >>> >>> >> >
>> >>> >>> >> > Regards
>> >>> >>> >> > Anshu
>> >>> >>> >> >
>> >>> >>> >> >
>> >>> >>> >> > On Mon, Jun 23, 2014 at 7:32 PM, Roberto Spadim
>> >>> >>> >> > 
>> >>> >>> >> > wrote:
>> >>> >>> >> >>
>> >>> >>> >> >> "Sorry this page does not exist =("
>> >>> >>> >> >>
>> >>> >>> >> >> 2014-06-23 8:07 GMT-03:00 Anshu Avinash
>> >>> >>> >> >> :
>> >>> >>> >> >> > Hi all,
>> >>> >>> >> >> >
>> >>> >>> >> >> > You can find this week's blog entry at:
>> >>> >>> >> >> > http://igniting.i

Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Anshu Avinash
Hi,

a1, a2, ..., a130 are coefficients. t1, t2, .., t130 are unknowns. We need
130 linearly independent equations to solve for these variables. We can
never get 130 linearly independent equations as some of the coefficients
would be 0 every time. Hence, we get an approximate solution by forming an
overdetermined system (http://en.wikipedia.org/wiki/Overdetermined_system).
Let me know if you have any further doubts.

Regards
Anshu Avinash


On Wed, Jul 9, 2014 at 12:18 AM, Roberto Spadim 
wrote:

> ops, linear equation
>
> 2014-07-08 15:47 GMT-03:00 Roberto Spadim :
> > going back...
> > a1t1 + a2t2 + … + a130t130= ttotal
> >
> > a1, t1...
> >
> > a1 is something you don't know
> > t1 is the coefficients[i]?
> >
> > it's a first order equation, right?
> >
> >
> >
> > 2014-07-08 15:20 GMT-03:00 Anshu Avinash :
> >> Hi,
> >>
> >> The idea is we know the total time the query took, and how many times an
> >> operation was performed. For example, consider the case of 'read_time'.
> We
> >> know how many times an index read took place, but don't know how much
> time
> >> does it take to do an index read. By solving these equations, we are
> trying
> >> to find out time for individual operations. coefficients[i].value is
> `how
> >> many time the operation i took place in a single query.`
> >>
> >> Hope this clears things up.
> >>
> >> Regards
> >> Anshu Avinash
> >>
> >>
> >> On Tue, Jul 8, 2014 at 10:57 PM, Roberto Spadim 
> >> wrote:
> >>>
> >>> just to understand...
> >>> --- the solve_equation part, today only used to save information:
> >>>   std::ofstream datafile;
> >>>   char file_name[100];
> >>>   my_snprintf(file_name, 100,
> >>> "/tmp/mariadb_cost_coefficients_%lu.txt", thread_id);
> >>>   datafile.open(file_name, std::ios::app);
> >>>   for(int i=0; i < MAX_CONSTANTS; i++)
> >>> datafile << coefficients[i].value << " ";
> >>>   datafile << total_time << "\n";
> >>>   datafile.close();
> >>> 
> >>>
> >>> the idea is: given a query and some coefficients[i].value, you got
> >>> total_time need to execute the query
> >>> you want to "train" something to tell you how many time the same query
> >>> should execute?
> >>> or, what's the "x[i]" variables from your system (hardware/hard
> >>> disk/etc), and extend this to others queries?
> >>>
> >>>
> >>> 2014-07-08 14:20 GMT-03:00 Roberto Spadim :
> >>> > =] nice
> >>> >
> >>> > 2014-07-08 14:18 GMT-03:00 Anshu Avinash  >:
> >>> >> Hi all,
> >>> >>
> >>> >> You can download it here
> >>> >>
> >>> >> (
> https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing
> ).
> >>> >> It is around 26M. I have added the link on blog too.
> >>> >>
> >>> >> Regards
> >>> >> Anshu
> >>> >>
> >>> >>
> >>> >> On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim <
> robe...@spadim.com.br>
> >>> >> wrote:
> >>> >>>
> >>> >>> could you 'display' the dataset you used with octave?
> >>> >>>
> >>> >>> 2014-07-08 13:55 GMT-03:00 Anshu Avinash <
> anshu.avinas...@gmail.com>:
> >>> >>> > Hi all,
> >>> >>> >
> >>> >>> > This week's blog post is at:
> >>> >>> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/
> .
> >>> >>> > Sorry
> >>> >>> > for
> >>> >>> > the delay.
> >>> >>> > Suggestions for an approach to solve the system of linear
> equations
> >>> >>> > are
> >>> >>> > welcome.
> >>> >>> >
> >>> >>> > Regards
> >>> >>> > Anshu Avinash
> >>> >>> >
> >>> >>> >
> >>> >>> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim
> >>> >>> > 
> >>> >>> > wrote:
> >>> >>> >>
> >>> >>> >> " MDEV. "
> >>> >>> >> it's nice to put full name (MDEV-350), since google and others
> >>> >>> >> search
> >>> >>> >> engines help when someone try to find information about mdev 350
> >>> >>> >>
> >>> >>> >> text is ok :)
> >>> >>> >>
> >>> >>> >> 2014-06-23 11:04 GMT-03:00 Anshu Avinash
> >>> >>> >> :
> >>> >>> >> > Hi,
> >>> >>> >> >
> >>> >>> >> > Sorry for the confusion, this is the new link:
> >>> >>> >> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
> >>> >>> >> > Thanks for pointing out.
> >>> >>> >> >
> >>> >>> >> > Regards
> >>> >>> >> > Anshu
> >>> >>> >> >
> >>> >>> >> >
> >>> >>> >> > On Mon, Jun 23, 2014 at 7:32 PM, Roberto Spadim
> >>> >>> >> > 
> >>> >>> >> > wrote:
> >>> >>> >> >>
> >>> >>> >> >> "Sorry this page does not exist =("
> >>> >>> >> >>
> >>> >>> >> >> 2014-06-23 8:07 GMT-03:00 Anshu Avinash
> >>> >>> >> >> :
> >>> >>> >> >> > Hi all,
> >>> >>> >> >> >
> >>> >>> >> >> > You can find this week's blog entry at:
> >>> >>> >> >> > http://igniting.in/2014/06/23/work-before-mid-term/
> >>> >>> >> >> > Suggestions/reviews are welcome.
> >>> >>> >> >> >
> >>> >>> >> >> > Regards
> >>> >>> >> >> > Anshu Avinash
> >>> >>> >> >> >
> >>> >>> >> >> >
> >>> >>> >> >> > On Mon, Jun 9, 2014 at 7:30 PM, Roberto Spadim
> >>> >>> >> >> > 
> >>> >>> >> >> > wrote:
> >>> >>> >> >> >>
> >>> >>> >> >> >> Well i wws reading your posts
> >>> >>> >> >> >> Do you need big data to test read and scan times?
> >>> >>> >> >> >>
> >>> >>> >> >> >> Em segund

Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Roberto Spadim
ops, linear equation

2014-07-08 15:47 GMT-03:00 Roberto Spadim :
> going back...
> a1t1 + a2t2 + … + a130t130= ttotal
>
> a1, t1...
>
> a1 is something you don't know
> t1 is the coefficients[i]?
>
> it's a first order equation, right?
>
>
>
> 2014-07-08 15:20 GMT-03:00 Anshu Avinash :
>> Hi,
>>
>> The idea is we know the total time the query took, and how many times an
>> operation was performed. For example, consider the case of 'read_time'. We
>> know how many times an index read took place, but don't know how much time
>> does it take to do an index read. By solving these equations, we are trying
>> to find out time for individual operations. coefficients[i].value is `how
>> many time the operation i took place in a single query.`
>>
>> Hope this clears things up.
>>
>> Regards
>> Anshu Avinash
>>
>>
>> On Tue, Jul 8, 2014 at 10:57 PM, Roberto Spadim 
>> wrote:
>>>
>>> just to understand...
>>> --- the solve_equation part, today only used to save information:
>>>   std::ofstream datafile;
>>>   char file_name[100];
>>>   my_snprintf(file_name, 100,
>>> "/tmp/mariadb_cost_coefficients_%lu.txt", thread_id);
>>>   datafile.open(file_name, std::ios::app);
>>>   for(int i=0; i < MAX_CONSTANTS; i++)
>>> datafile << coefficients[i].value << " ";
>>>   datafile << total_time << "\n";
>>>   datafile.close();
>>> 
>>>
>>> the idea is: given a query and some coefficients[i].value, you got
>>> total_time need to execute the query
>>> you want to "train" something to tell you how many time the same query
>>> should execute?
>>> or, what's the "x[i]" variables from your system (hardware/hard
>>> disk/etc), and extend this to others queries?
>>>
>>>
>>> 2014-07-08 14:20 GMT-03:00 Roberto Spadim :
>>> > =] nice
>>> >
>>> > 2014-07-08 14:18 GMT-03:00 Anshu Avinash :
>>> >> Hi all,
>>> >>
>>> >> You can download it here
>>> >>
>>> >> (https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing).
>>> >> It is around 26M. I have added the link on blog too.
>>> >>
>>> >> Regards
>>> >> Anshu
>>> >>
>>> >>
>>> >> On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim 
>>> >> wrote:
>>> >>>
>>> >>> could you 'display' the dataset you used with octave?
>>> >>>
>>> >>> 2014-07-08 13:55 GMT-03:00 Anshu Avinash :
>>> >>> > Hi all,
>>> >>> >
>>> >>> > This week's blog post is at:
>>> >>> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/ .
>>> >>> > Sorry
>>> >>> > for
>>> >>> > the delay.
>>> >>> > Suggestions for an approach to solve the system of linear equations
>>> >>> > are
>>> >>> > welcome.
>>> >>> >
>>> >>> > Regards
>>> >>> > Anshu Avinash
>>> >>> >
>>> >>> >
>>> >>> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim
>>> >>> > 
>>> >>> > wrote:
>>> >>> >>
>>> >>> >> " MDEV. "
>>> >>> >> it's nice to put full name (MDEV-350), since google and others
>>> >>> >> search
>>> >>> >> engines help when someone try to find information about mdev 350
>>> >>> >>
>>> >>> >> text is ok :)
>>> >>> >>
>>> >>> >> 2014-06-23 11:04 GMT-03:00 Anshu Avinash
>>> >>> >> :
>>> >>> >> > Hi,
>>> >>> >> >
>>> >>> >> > Sorry for the confusion, this is the new link:
>>> >>> >> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
>>> >>> >> > Thanks for pointing out.
>>> >>> >> >
>>> >>> >> > Regards
>>> >>> >> > Anshu
>>> >>> >> >
>>> >>> >> >
>>> >>> >> > On Mon, Jun 23, 2014 at 7:32 PM, Roberto Spadim
>>> >>> >> > 
>>> >>> >> > wrote:
>>> >>> >> >>
>>> >>> >> >> "Sorry this page does not exist =("
>>> >>> >> >>
>>> >>> >> >> 2014-06-23 8:07 GMT-03:00 Anshu Avinash
>>> >>> >> >> :
>>> >>> >> >> > Hi all,
>>> >>> >> >> >
>>> >>> >> >> > You can find this week's blog entry at:
>>> >>> >> >> > http://igniting.in/2014/06/23/work-before-mid-term/
>>> >>> >> >> > Suggestions/reviews are welcome.
>>> >>> >> >> >
>>> >>> >> >> > Regards
>>> >>> >> >> > Anshu Avinash
>>> >>> >> >> >
>>> >>> >> >> >
>>> >>> >> >> > On Mon, Jun 9, 2014 at 7:30 PM, Roberto Spadim
>>> >>> >> >> > 
>>> >>> >> >> > wrote:
>>> >>> >> >> >>
>>> >>> >> >> >> Well i wws reading your posts
>>> >>> >> >> >> Do you need big data to test read and scan times?
>>> >>> >> >> >>
>>> >>> >> >> >> Em segunda-feira, 9 de junho de 2014, Anshu Avinash
>>> >>> >> >> >>  escreveu:
>>> >>> >> >> >>
>>> >>> >> >> >>> Hi all,
>>> >>> >> >> >>>
>>> >>> >> >> >>> You can find this week's blog entry at
>>> >>> >> >> >>> http://igniting.in/gsoc2014/2014/06/09/more-coding/. I'm now
>>> >>> >> >> >>> maintaining the
>>> >>> >> >> >>> code only on github:
>>> >>> >> >> >>> https://github.com/igniting/server/tree/selfTuningOptimizer.
>>> >>> >> >> >>>
>>> >>> >> >> >>> Regards
>>> >>> >> >> >>> Anshu Avinash
>>> >>> >> >> >>>
>>> >>> >> >> >>>
>>> >>> >> >> >>> On Sun, May 25, 2014 at 3:27 PM, Anshu Avinash
>>> >>> >> >> >>>  wrote:
>>> >>> >> >> >>>
>>> >>> >> >> >>> Hi all,
>>> >>> >> >> >>>
>>> >>> >> >> >>> You can find my this week's blog entry at
>>> >>> >> >> >>> http://igniting.in/gsoc2014/2014/05/25/coding-things-up/ . I
>>> >>> >> >> >>> have
>>> >>> >>

Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Roberto Spadim
going back...
a1t1 + a2t2 + … + a130t130= ttotal

a1, t1...

a1 is something you don't know
t1 is the coefficients[i]?

it's a first order equation, right?



2014-07-08 15:20 GMT-03:00 Anshu Avinash :
> Hi,
>
> The idea is we know the total time the query took, and how many times an
> operation was performed. For example, consider the case of 'read_time'. We
> know how many times an index read took place, but don't know how much time
> does it take to do an index read. By solving these equations, we are trying
> to find out time for individual operations. coefficients[i].value is `how
> many time the operation i took place in a single query.`
>
> Hope this clears things up.
>
> Regards
> Anshu Avinash
>
>
> On Tue, Jul 8, 2014 at 10:57 PM, Roberto Spadim 
> wrote:
>>
>> just to understand...
>> --- the solve_equation part, today only used to save information:
>>   std::ofstream datafile;
>>   char file_name[100];
>>   my_snprintf(file_name, 100,
>> "/tmp/mariadb_cost_coefficients_%lu.txt", thread_id);
>>   datafile.open(file_name, std::ios::app);
>>   for(int i=0; i < MAX_CONSTANTS; i++)
>> datafile << coefficients[i].value << " ";
>>   datafile << total_time << "\n";
>>   datafile.close();
>> 
>>
>> the idea is: given a query and some coefficients[i].value, you got
>> total_time need to execute the query
>> you want to "train" something to tell you how many time the same query
>> should execute?
>> or, what's the "x[i]" variables from your system (hardware/hard
>> disk/etc), and extend this to others queries?
>>
>>
>> 2014-07-08 14:20 GMT-03:00 Roberto Spadim :
>> > =] nice
>> >
>> > 2014-07-08 14:18 GMT-03:00 Anshu Avinash :
>> >> Hi all,
>> >>
>> >> You can download it here
>> >>
>> >> (https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing).
>> >> It is around 26M. I have added the link on blog too.
>> >>
>> >> Regards
>> >> Anshu
>> >>
>> >>
>> >> On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim 
>> >> wrote:
>> >>>
>> >>> could you 'display' the dataset you used with octave?
>> >>>
>> >>> 2014-07-08 13:55 GMT-03:00 Anshu Avinash :
>> >>> > Hi all,
>> >>> >
>> >>> > This week's blog post is at:
>> >>> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/ .
>> >>> > Sorry
>> >>> > for
>> >>> > the delay.
>> >>> > Suggestions for an approach to solve the system of linear equations
>> >>> > are
>> >>> > welcome.
>> >>> >
>> >>> > Regards
>> >>> > Anshu Avinash
>> >>> >
>> >>> >
>> >>> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim
>> >>> > 
>> >>> > wrote:
>> >>> >>
>> >>> >> " MDEV. "
>> >>> >> it's nice to put full name (MDEV-350), since google and others
>> >>> >> search
>> >>> >> engines help when someone try to find information about mdev 350
>> >>> >>
>> >>> >> text is ok :)
>> >>> >>
>> >>> >> 2014-06-23 11:04 GMT-03:00 Anshu Avinash
>> >>> >> :
>> >>> >> > Hi,
>> >>> >> >
>> >>> >> > Sorry for the confusion, this is the new link:
>> >>> >> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
>> >>> >> > Thanks for pointing out.
>> >>> >> >
>> >>> >> > Regards
>> >>> >> > Anshu
>> >>> >> >
>> >>> >> >
>> >>> >> > On Mon, Jun 23, 2014 at 7:32 PM, Roberto Spadim
>> >>> >> > 
>> >>> >> > wrote:
>> >>> >> >>
>> >>> >> >> "Sorry this page does not exist =("
>> >>> >> >>
>> >>> >> >> 2014-06-23 8:07 GMT-03:00 Anshu Avinash
>> >>> >> >> :
>> >>> >> >> > Hi all,
>> >>> >> >> >
>> >>> >> >> > You can find this week's blog entry at:
>> >>> >> >> > http://igniting.in/2014/06/23/work-before-mid-term/
>> >>> >> >> > Suggestions/reviews are welcome.
>> >>> >> >> >
>> >>> >> >> > Regards
>> >>> >> >> > Anshu Avinash
>> >>> >> >> >
>> >>> >> >> >
>> >>> >> >> > On Mon, Jun 9, 2014 at 7:30 PM, Roberto Spadim
>> >>> >> >> > 
>> >>> >> >> > wrote:
>> >>> >> >> >>
>> >>> >> >> >> Well i wws reading your posts
>> >>> >> >> >> Do you need big data to test read and scan times?
>> >>> >> >> >>
>> >>> >> >> >> Em segunda-feira, 9 de junho de 2014, Anshu Avinash
>> >>> >> >> >>  escreveu:
>> >>> >> >> >>
>> >>> >> >> >>> Hi all,
>> >>> >> >> >>>
>> >>> >> >> >>> You can find this week's blog entry at
>> >>> >> >> >>> http://igniting.in/gsoc2014/2014/06/09/more-coding/. I'm now
>> >>> >> >> >>> maintaining the
>> >>> >> >> >>> code only on github:
>> >>> >> >> >>> https://github.com/igniting/server/tree/selfTuningOptimizer.
>> >>> >> >> >>>
>> >>> >> >> >>> Regards
>> >>> >> >> >>> Anshu Avinash
>> >>> >> >> >>>
>> >>> >> >> >>>
>> >>> >> >> >>> On Sun, May 25, 2014 at 3:27 PM, Anshu Avinash
>> >>> >> >> >>>  wrote:
>> >>> >> >> >>>
>> >>> >> >> >>> Hi all,
>> >>> >> >> >>>
>> >>> >> >> >>> You can find my this week's blog entry at
>> >>> >> >> >>> http://igniting.in/gsoc2014/2014/05/25/coding-things-up/ . I
>> >>> >> >> >>> have
>> >>> >> >> >>> created a
>> >>> >> >> >>> branch on launchpad for my work:
>> >>> >> >> >>>
>> >>> >> >> >>> http://bazaar.launchpad.net/~igniting/maria/maria/revision/4211
>> >>> >> >> >>> .
>> >>> >> >> >>> You
>> >>> >> >> >>> can
>> >>>

Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Anshu Avinash
Hi,

The idea is we know the total time the query took, and how many times an
operation was performed. For example, consider the case of 'read_time'. We
know how many times an index read took place, but don't know how much time
does it take to do an index read. By solving these equations, we are trying
to find out time for individual operations. coefficients[i].value is `how
many time the operation i took place in a single query.`

Hope this clears things up.

Regards
Anshu Avinash


On Tue, Jul 8, 2014 at 10:57 PM, Roberto Spadim 
wrote:

> just to understand...
> --- the solve_equation part, today only used to save information:
>   std::ofstream datafile;
>   char file_name[100];
>   my_snprintf(file_name, 100,
> "/tmp/mariadb_cost_coefficients_%lu.txt", thread_id);
>   datafile.open(file_name, std::ios::app);
>   for(int i=0; i < MAX_CONSTANTS; i++)
> datafile << coefficients[i].value << " ";
>   datafile << total_time << "\n";
>   datafile.close();
> 
>
> the idea is: given a query and some coefficients[i].value, you got
> total_time need to execute the query
> you want to "train" something to tell you how many time the same query
> should execute?
> or, what's the "x[i]" variables from your system (hardware/hard
> disk/etc), and extend this to others queries?
>
>
> 2014-07-08 14:20 GMT-03:00 Roberto Spadim :
> > =] nice
> >
> > 2014-07-08 14:18 GMT-03:00 Anshu Avinash :
> >> Hi all,
> >>
> >> You can download it here
> >> (
> https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing
> ).
> >> It is around 26M. I have added the link on blog too.
> >>
> >> Regards
> >> Anshu
> >>
> >>
> >> On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim 
> >> wrote:
> >>>
> >>> could you 'display' the dataset you used with octave?
> >>>
> >>> 2014-07-08 13:55 GMT-03:00 Anshu Avinash :
> >>> > Hi all,
> >>> >
> >>> > This week's blog post is at:
> >>> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/ .
> Sorry
> >>> > for
> >>> > the delay.
> >>> > Suggestions for an approach to solve the system of linear equations
> are
> >>> > welcome.
> >>> >
> >>> > Regards
> >>> > Anshu Avinash
> >>> >
> >>> >
> >>> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim <
> robe...@spadim.com.br>
> >>> > wrote:
> >>> >>
> >>> >> " MDEV. "
> >>> >> it's nice to put full name (MDEV-350), since google and others
> search
> >>> >> engines help when someone try to find information about mdev 350
> >>> >>
> >>> >> text is ok :)
> >>> >>
> >>> >> 2014-06-23 11:04 GMT-03:00 Anshu Avinash  >:
> >>> >> > Hi,
> >>> >> >
> >>> >> > Sorry for the confusion, this is the new link:
> >>> >> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
> >>> >> > Thanks for pointing out.
> >>> >> >
> >>> >> > Regards
> >>> >> > Anshu
> >>> >> >
> >>> >> >
> >>> >> > On Mon, Jun 23, 2014 at 7:32 PM, Roberto Spadim
> >>> >> > 
> >>> >> > wrote:
> >>> >> >>
> >>> >> >> "Sorry this page does not exist =("
> >>> >> >>
> >>> >> >> 2014-06-23 8:07 GMT-03:00 Anshu Avinash <
> anshu.avinas...@gmail.com>:
> >>> >> >> > Hi all,
> >>> >> >> >
> >>> >> >> > You can find this week's blog entry at:
> >>> >> >> > http://igniting.in/2014/06/23/work-before-mid-term/
> >>> >> >> > Suggestions/reviews are welcome.
> >>> >> >> >
> >>> >> >> > Regards
> >>> >> >> > Anshu Avinash
> >>> >> >> >
> >>> >> >> >
> >>> >> >> > On Mon, Jun 9, 2014 at 7:30 PM, Roberto Spadim
> >>> >> >> > 
> >>> >> >> > wrote:
> >>> >> >> >>
> >>> >> >> >> Well i wws reading your posts
> >>> >> >> >> Do you need big data to test read and scan times?
> >>> >> >> >>
> >>> >> >> >> Em segunda-feira, 9 de junho de 2014, Anshu Avinash
> >>> >> >> >>  escreveu:
> >>> >> >> >>
> >>> >> >> >>> Hi all,
> >>> >> >> >>>
> >>> >> >> >>> You can find this week's blog entry at
> >>> >> >> >>> http://igniting.in/gsoc2014/2014/06/09/more-coding/. I'm now
> >>> >> >> >>> maintaining the
> >>> >> >> >>> code only on github:
> >>> >> >> >>> https://github.com/igniting/server/tree/selfTuningOptimizer.
> >>> >> >> >>>
> >>> >> >> >>> Regards
> >>> >> >> >>> Anshu Avinash
> >>> >> >> >>>
> >>> >> >> >>>
> >>> >> >> >>> On Sun, May 25, 2014 at 3:27 PM, Anshu Avinash
> >>> >> >> >>>  wrote:
> >>> >> >> >>>
> >>> >> >> >>> Hi all,
> >>> >> >> >>>
> >>> >> >> >>> You can find my this week's blog entry at
> >>> >> >> >>> http://igniting.in/gsoc2014/2014/05/25/coding-things-up/ . I
> >>> >> >> >>> have
> >>> >> >> >>> created a
> >>> >> >> >>> branch on launchpad for my work:
> >>> >> >> >>>
> http://bazaar.launchpad.net/~igniting/maria/maria/revision/4211
> >>> >> >> >>> .
> >>> >> >> >>> You
> >>> >> >> >>> can
> >>> >> >> >>> give your suggestions/reviews either on this thread or as a
> >>> >> >> >>> comment
> >>> >> >> >>> on
> >>> >> >> >>> the
> >>> >> >> >>> blog itself.
> >>> >> >> >>>
> >>> >> >> >>> Regards
> >>> >> >> >>> Anshu Avinash
> >>> >> >> >>>
> >>> >> >> >>>
> >>> >> >> >>> On Tue, May 20, 2014 at 1:22 AM, Roberto Spadim
> >>> >> >> >>> 
> >>> >> >> >>> wrote:
> >

Re: [Maria-developers] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT

2014-07-08 Thread Sergei Golubchik
Hi, Ian!

On Jul 08, Ian Gilfillan wrote:
> I like Jocelyn's solution. The whole situation is quite messy with all 
> sorts of edge cases, but this seems to make the best of it. THE SHOW 
> CREATE statement will be functional, and the metadata will be displayed 
> in a readable form.

Okay, then. I'll put ignored options in a comment.

Regards,
Sergei

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Roberto Spadim
just to understand...
--- the solve_equation part, today only used to save information:
  std::ofstream datafile;
  char file_name[100];
  my_snprintf(file_name, 100,
"/tmp/mariadb_cost_coefficients_%lu.txt", thread_id);
  datafile.open(file_name, std::ios::app);
  for(int i=0; i < MAX_CONSTANTS; i++)
datafile << coefficients[i].value << " ";
  datafile << total_time << "\n";
  datafile.close();


the idea is: given a query and some coefficients[i].value, you got
total_time need to execute the query
you want to "train" something to tell you how many time the same query
should execute?
or, what's the "x[i]" variables from your system (hardware/hard
disk/etc), and extend this to others queries?


2014-07-08 14:20 GMT-03:00 Roberto Spadim :
> =] nice
>
> 2014-07-08 14:18 GMT-03:00 Anshu Avinash :
>> Hi all,
>>
>> You can download it here
>> (https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing).
>> It is around 26M. I have added the link on blog too.
>>
>> Regards
>> Anshu
>>
>>
>> On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim 
>> wrote:
>>>
>>> could you 'display' the dataset you used with octave?
>>>
>>> 2014-07-08 13:55 GMT-03:00 Anshu Avinash :
>>> > Hi all,
>>> >
>>> > This week's blog post is at:
>>> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/ . Sorry
>>> > for
>>> > the delay.
>>> > Suggestions for an approach to solve the system of linear equations are
>>> > welcome.
>>> >
>>> > Regards
>>> > Anshu Avinash
>>> >
>>> >
>>> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim 
>>> > wrote:
>>> >>
>>> >> " MDEV. "
>>> >> it's nice to put full name (MDEV-350), since google and others search
>>> >> engines help when someone try to find information about mdev 350
>>> >>
>>> >> text is ok :)
>>> >>
>>> >> 2014-06-23 11:04 GMT-03:00 Anshu Avinash :
>>> >> > Hi,
>>> >> >
>>> >> > Sorry for the confusion, this is the new link:
>>> >> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
>>> >> > Thanks for pointing out.
>>> >> >
>>> >> > Regards
>>> >> > Anshu
>>> >> >
>>> >> >
>>> >> > On Mon, Jun 23, 2014 at 7:32 PM, Roberto Spadim
>>> >> > 
>>> >> > wrote:
>>> >> >>
>>> >> >> "Sorry this page does not exist =("
>>> >> >>
>>> >> >> 2014-06-23 8:07 GMT-03:00 Anshu Avinash :
>>> >> >> > Hi all,
>>> >> >> >
>>> >> >> > You can find this week's blog entry at:
>>> >> >> > http://igniting.in/2014/06/23/work-before-mid-term/
>>> >> >> > Suggestions/reviews are welcome.
>>> >> >> >
>>> >> >> > Regards
>>> >> >> > Anshu Avinash
>>> >> >> >
>>> >> >> >
>>> >> >> > On Mon, Jun 9, 2014 at 7:30 PM, Roberto Spadim
>>> >> >> > 
>>> >> >> > wrote:
>>> >> >> >>
>>> >> >> >> Well i wws reading your posts
>>> >> >> >> Do you need big data to test read and scan times?
>>> >> >> >>
>>> >> >> >> Em segunda-feira, 9 de junho de 2014, Anshu Avinash
>>> >> >> >>  escreveu:
>>> >> >> >>
>>> >> >> >>> Hi all,
>>> >> >> >>>
>>> >> >> >>> You can find this week's blog entry at
>>> >> >> >>> http://igniting.in/gsoc2014/2014/06/09/more-coding/. I'm now
>>> >> >> >>> maintaining the
>>> >> >> >>> code only on github:
>>> >> >> >>> https://github.com/igniting/server/tree/selfTuningOptimizer.
>>> >> >> >>>
>>> >> >> >>> Regards
>>> >> >> >>> Anshu Avinash
>>> >> >> >>>
>>> >> >> >>>
>>> >> >> >>> On Sun, May 25, 2014 at 3:27 PM, Anshu Avinash
>>> >> >> >>>  wrote:
>>> >> >> >>>
>>> >> >> >>> Hi all,
>>> >> >> >>>
>>> >> >> >>> You can find my this week's blog entry at
>>> >> >> >>> http://igniting.in/gsoc2014/2014/05/25/coding-things-up/ . I
>>> >> >> >>> have
>>> >> >> >>> created a
>>> >> >> >>> branch on launchpad for my work:
>>> >> >> >>> http://bazaar.launchpad.net/~igniting/maria/maria/revision/4211
>>> >> >> >>> .
>>> >> >> >>> You
>>> >> >> >>> can
>>> >> >> >>> give your suggestions/reviews either on this thread or as a
>>> >> >> >>> comment
>>> >> >> >>> on
>>> >> >> >>> the
>>> >> >> >>> blog itself.
>>> >> >> >>>
>>> >> >> >>> Regards
>>> >> >> >>> Anshu Avinash
>>> >> >> >>>
>>> >> >> >>>
>>> >> >> >>> On Tue, May 20, 2014 at 1:22 AM, Roberto Spadim
>>> >> >> >>> 
>>> >> >> >>> wrote:
>>> >> >> >>>
>>> >> >> >>> wow a big work, congratulation guy, i will read part by part to
>>> >> >> >>> better
>>> >> >> >>> understand mariadb code
>>> >> >> >>>
>>> >> >> >>>
>>> >> >> >>> 2014-05-19 16:33 GMT-03:00 Anshu Avinash
>>> >> >> >>> :
>>> >> >> >>>
>>> >> >> >>> Hi all,
>>> >> >> >>>
>>> >> >> >>> This week's blog entry would get delayed by couple of days. I
>>> >> >> >>> have
>>> >> >> >>> started coding though and would like to give heads up on what
>>> >> >> >>> I'm
>>> >> >> >>> doing.
>>> >> >> >>>
>>> >> >> >>> I've looked at the diffs for "Cost model project" of mysql:
>>> >> >> >>>
>>> >> >> >>> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7596
>>> >> >> >>> and
>>> >> >> >>>
>>> >> >> >>> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7222 
>>> >> >> >>> .
>>> >> >> >>> These
>>> >> >> >>> give a pretty good idea about what are the 

Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Roberto Spadim
=] nice

2014-07-08 14:18 GMT-03:00 Anshu Avinash :
> Hi all,
>
> You can download it here
> (https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing).
> It is around 26M. I have added the link on blog too.
>
> Regards
> Anshu
>
>
> On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim 
> wrote:
>>
>> could you 'display' the dataset you used with octave?
>>
>> 2014-07-08 13:55 GMT-03:00 Anshu Avinash :
>> > Hi all,
>> >
>> > This week's blog post is at:
>> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/ . Sorry
>> > for
>> > the delay.
>> > Suggestions for an approach to solve the system of linear equations are
>> > welcome.
>> >
>> > Regards
>> > Anshu Avinash
>> >
>> >
>> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim 
>> > wrote:
>> >>
>> >> " MDEV. "
>> >> it's nice to put full name (MDEV-350), since google and others search
>> >> engines help when someone try to find information about mdev 350
>> >>
>> >> text is ok :)
>> >>
>> >> 2014-06-23 11:04 GMT-03:00 Anshu Avinash :
>> >> > Hi,
>> >> >
>> >> > Sorry for the confusion, this is the new link:
>> >> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
>> >> > Thanks for pointing out.
>> >> >
>> >> > Regards
>> >> > Anshu
>> >> >
>> >> >
>> >> > On Mon, Jun 23, 2014 at 7:32 PM, Roberto Spadim
>> >> > 
>> >> > wrote:
>> >> >>
>> >> >> "Sorry this page does not exist =("
>> >> >>
>> >> >> 2014-06-23 8:07 GMT-03:00 Anshu Avinash :
>> >> >> > Hi all,
>> >> >> >
>> >> >> > You can find this week's blog entry at:
>> >> >> > http://igniting.in/2014/06/23/work-before-mid-term/
>> >> >> > Suggestions/reviews are welcome.
>> >> >> >
>> >> >> > Regards
>> >> >> > Anshu Avinash
>> >> >> >
>> >> >> >
>> >> >> > On Mon, Jun 9, 2014 at 7:30 PM, Roberto Spadim
>> >> >> > 
>> >> >> > wrote:
>> >> >> >>
>> >> >> >> Well i wws reading your posts
>> >> >> >> Do you need big data to test read and scan times?
>> >> >> >>
>> >> >> >> Em segunda-feira, 9 de junho de 2014, Anshu Avinash
>> >> >> >>  escreveu:
>> >> >> >>
>> >> >> >>> Hi all,
>> >> >> >>>
>> >> >> >>> You can find this week's blog entry at
>> >> >> >>> http://igniting.in/gsoc2014/2014/06/09/more-coding/. I'm now
>> >> >> >>> maintaining the
>> >> >> >>> code only on github:
>> >> >> >>> https://github.com/igniting/server/tree/selfTuningOptimizer.
>> >> >> >>>
>> >> >> >>> Regards
>> >> >> >>> Anshu Avinash
>> >> >> >>>
>> >> >> >>>
>> >> >> >>> On Sun, May 25, 2014 at 3:27 PM, Anshu Avinash
>> >> >> >>>  wrote:
>> >> >> >>>
>> >> >> >>> Hi all,
>> >> >> >>>
>> >> >> >>> You can find my this week's blog entry at
>> >> >> >>> http://igniting.in/gsoc2014/2014/05/25/coding-things-up/ . I
>> >> >> >>> have
>> >> >> >>> created a
>> >> >> >>> branch on launchpad for my work:
>> >> >> >>> http://bazaar.launchpad.net/~igniting/maria/maria/revision/4211
>> >> >> >>> .
>> >> >> >>> You
>> >> >> >>> can
>> >> >> >>> give your suggestions/reviews either on this thread or as a
>> >> >> >>> comment
>> >> >> >>> on
>> >> >> >>> the
>> >> >> >>> blog itself.
>> >> >> >>>
>> >> >> >>> Regards
>> >> >> >>> Anshu Avinash
>> >> >> >>>
>> >> >> >>>
>> >> >> >>> On Tue, May 20, 2014 at 1:22 AM, Roberto Spadim
>> >> >> >>> 
>> >> >> >>> wrote:
>> >> >> >>>
>> >> >> >>> wow a big work, congratulation guy, i will read part by part to
>> >> >> >>> better
>> >> >> >>> understand mariadb code
>> >> >> >>>
>> >> >> >>>
>> >> >> >>> 2014-05-19 16:33 GMT-03:00 Anshu Avinash
>> >> >> >>> :
>> >> >> >>>
>> >> >> >>> Hi all,
>> >> >> >>>
>> >> >> >>> This week's blog entry would get delayed by couple of days. I
>> >> >> >>> have
>> >> >> >>> started coding though and would like to give heads up on what
>> >> >> >>> I'm
>> >> >> >>> doing.
>> >> >> >>>
>> >> >> >>> I've looked at the diffs for "Cost model project" of mysql:
>> >> >> >>>
>> >> >> >>> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7596
>> >> >> >>> and
>> >> >> >>>
>> >> >> >>> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7222 .
>> >> >> >>> These
>> >> >> >>> give a pretty good idea about what are the hard-coded constants
>> >> >> >>> and
>> >> >> >>> where
>> >> >> >>> are they being used.
>> >> >> >>>
>> >> >> >>> The idea is to multiply "READ_TIME_FACTOR" and
>> >> >> >>> "SCAN_TIME_FACTOR"
>> >> >> >>> to
>> >> >> >>> the
>> >> >> >>> values returned by read_time() and scan_time() in handler.h,
>> >> >> >>> while
>> >> >> >>> returning. These values would be read from a table in mysql db.
>> >> >> >>> For
>> >> >> >>> that
>> >> >> >>> I've looked at sql_statistics.cc. After completing this, I'll
>> >> >> >>> first
>> >> >> >>> change
>> >> >> >>> the values of these constants manually and check if the better
>> >> >> >>> or
>> >> >> >>> worse
>> >> >> >>> query plans are being selected. I'll first do the last step
>> >> >> >>> manually,
>> >> >> >>> to
>> >> >> >>> check if everything is working as expected and later automate
>> >> >> >>> it.
>> >> >> >>>
>> >> >> >>> Regards
>> >> >> >>> Anshu

Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Anshu Avinash
Hi all,

You can download it here (
https://drive.google.com/file/d/0B7NiQb4EbbUVNVJFZ2xkRVR3Ylk/edit?usp=sharing).
It is around 26M. I have added the link on blog too.

Regards
Anshu


On Tue, Jul 8, 2014 at 10:38 PM, Roberto Spadim 
wrote:

> could you 'display' the dataset you used with octave?
>
> 2014-07-08 13:55 GMT-03:00 Anshu Avinash :
> > Hi all,
> >
> > This week's blog post is at:
> > http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/ .
> Sorry for
> > the delay.
> > Suggestions for an approach to solve the system of linear equations are
> > welcome.
> >
> > Regards
> > Anshu Avinash
> >
> >
> > On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim 
> > wrote:
> >>
> >> " MDEV. "
> >> it's nice to put full name (MDEV-350), since google and others search
> >> engines help when someone try to find information about mdev 350
> >>
> >> text is ok :)
> >>
> >> 2014-06-23 11:04 GMT-03:00 Anshu Avinash :
> >> > Hi,
> >> >
> >> > Sorry for the confusion, this is the new link:
> >> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
> >> > Thanks for pointing out.
> >> >
> >> > Regards
> >> > Anshu
> >> >
> >> >
> >> > On Mon, Jun 23, 2014 at 7:32 PM, Roberto Spadim <
> robe...@spadim.com.br>
> >> > wrote:
> >> >>
> >> >> "Sorry this page does not exist =("
> >> >>
> >> >> 2014-06-23 8:07 GMT-03:00 Anshu Avinash :
> >> >> > Hi all,
> >> >> >
> >> >> > You can find this week's blog entry at:
> >> >> > http://igniting.in/2014/06/23/work-before-mid-term/
> >> >> > Suggestions/reviews are welcome.
> >> >> >
> >> >> > Regards
> >> >> > Anshu Avinash
> >> >> >
> >> >> >
> >> >> > On Mon, Jun 9, 2014 at 7:30 PM, Roberto Spadim
> >> >> > 
> >> >> > wrote:
> >> >> >>
> >> >> >> Well i wws reading your posts
> >> >> >> Do you need big data to test read and scan times?
> >> >> >>
> >> >> >> Em segunda-feira, 9 de junho de 2014, Anshu Avinash
> >> >> >>  escreveu:
> >> >> >>
> >> >> >>> Hi all,
> >> >> >>>
> >> >> >>> You can find this week's blog entry at
> >> >> >>> http://igniting.in/gsoc2014/2014/06/09/more-coding/. I'm now
> >> >> >>> maintaining the
> >> >> >>> code only on github:
> >> >> >>> https://github.com/igniting/server/tree/selfTuningOptimizer.
> >> >> >>>
> >> >> >>> Regards
> >> >> >>> Anshu Avinash
> >> >> >>>
> >> >> >>>
> >> >> >>> On Sun, May 25, 2014 at 3:27 PM, Anshu Avinash
> >> >> >>>  wrote:
> >> >> >>>
> >> >> >>> Hi all,
> >> >> >>>
> >> >> >>> You can find my this week's blog entry at
> >> >> >>> http://igniting.in/gsoc2014/2014/05/25/coding-things-up/ . I
> have
> >> >> >>> created a
> >> >> >>> branch on launchpad for my work:
> >> >> >>> http://bazaar.launchpad.net/~igniting/maria/maria/revision/4211
> .
> >> >> >>> You
> >> >> >>> can
> >> >> >>> give your suggestions/reviews either on this thread or as a
> comment
> >> >> >>> on
> >> >> >>> the
> >> >> >>> blog itself.
> >> >> >>>
> >> >> >>> Regards
> >> >> >>> Anshu Avinash
> >> >> >>>
> >> >> >>>
> >> >> >>> On Tue, May 20, 2014 at 1:22 AM, Roberto Spadim
> >> >> >>> 
> >> >> >>> wrote:
> >> >> >>>
> >> >> >>> wow a big work, congratulation guy, i will read part by part to
> >> >> >>> better
> >> >> >>> understand mariadb code
> >> >> >>>
> >> >> >>>
> >> >> >>> 2014-05-19 16:33 GMT-03:00 Anshu Avinash
> >> >> >>> :
> >> >> >>>
> >> >> >>> Hi all,
> >> >> >>>
> >> >> >>> This week's blog entry would get delayed by couple of days. I
> have
> >> >> >>> started coding though and would like to give heads up on what I'm
> >> >> >>> doing.
> >> >> >>>
> >> >> >>> I've looked at the diffs for "Cost model project" of mysql:
> >> >> >>>
> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7596
> >> >> >>> and
> >> >> >>>
> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7222 .
> >> >> >>> These
> >> >> >>> give a pretty good idea about what are the hard-coded constants
> and
> >> >> >>> where
> >> >> >>> are they being used.
> >> >> >>>
> >> >> >>> The idea is to multiply "READ_TIME_FACTOR" and "SCAN_TIME_FACTOR"
> >> >> >>> to
> >> >> >>> the
> >> >> >>> values returned by read_time() and scan_time() in handler.h,
> while
> >> >> >>> returning. These values would be read from a table in mysql db.
> For
> >> >> >>> that
> >> >> >>> I've looked at sql_statistics.cc. After completing this, I'll
> first
> >> >> >>> change
> >> >> >>> the values of these constants manually and check if the better or
> >> >> >>> worse
> >> >> >>> query plans are being selected. I'll first do the last step
> >> >> >>> manually,
> >> >> >>> to
> >> >> >>> check if everything is working as expected and later automate it.
> >> >> >>>
> >> >> >>> Regards
> >> >> >>> Anshu
> >> >> >>>
> >> >> >>>
> >> >> >>> On Mon, May 12, 2014 at 11:22 AM, Anshu Avinash
> >> >> >>>  wrote:
> >> >> >>>
> >> >> >>> Hi all,
> >> >> >>>
> >> >> >>> You can find my blog entry for this week at
> >> >> >>> http://igniting.in/gsoc2014/2014/05/11/first-steps/ .
> >> >> >>>
> >> >> >>> Regards
> >> >> >>> Anshu Avinash
> >> >> >>>
> >> >> >>>
> >> >

Re: [Maria-developers] Java Connector coding till 6th July

2014-07-08 Thread Puneet Dewan
Hi Georg,

*c)*Also I will be modifying the execute method for Serverside prepared
statements for sending the *new params bound flag* properly.

> Currently it is always going as 0x01 but will modify it to send 0x00 if
> same statement gets executed again
>

-> Sending 0 iIf the stmt gets executed again may end up in sending wrong
data (in case *BindParameter* was called between   last and current
execution). so you should set a flag in BindParameter and unset it after
execute.


Just a quick clarification, when we say BindParameter, the only thing that
comes is class *ParameterHolder*
All the TypeParameter classes extend from these e.g IntParameter.
So now I can set the *new params bound flag* inside the ParameterHolder.
Please let me know if its ok?

Initially I was thinking to set in MYSQLPreparedStatement and check if the
same statement gets executed again.


Regards
Puneet.







On Tue, Jul 8, 2014 at 10:59 PM, Georg Richter 
wrote:

> Hi,
>
> *c)*Also I will be modifying the execute method for Serverside prepared
> statements for sending the *new params bound flag* properly.
>
>> Currently it is always going as 0x01 but will modify it to send 0x00 if
>> same statement gets executed again
>>
>
> Sending 0 iIf the stmt gets executed again may end up in sending wrong
> data (in case BindParameter was called between last and current execution).
> so you should set a flag in BindParameter and unset it after execute.
>
> /Georg
>
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Roberto Spadim
could you 'display' the dataset you used with octave?

2014-07-08 13:55 GMT-03:00 Anshu Avinash :
> Hi all,
>
> This week's blog post is at:
> http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/ . Sorry for
> the delay.
> Suggestions for an approach to solve the system of linear equations are
> welcome.
>
> Regards
> Anshu Avinash
>
>
> On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim 
> wrote:
>>
>> " MDEV. "
>> it's nice to put full name (MDEV-350), since google and others search
>> engines help when someone try to find information about mdev 350
>>
>> text is ok :)
>>
>> 2014-06-23 11:04 GMT-03:00 Anshu Avinash :
>> > Hi,
>> >
>> > Sorry for the confusion, this is the new link:
>> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
>> > Thanks for pointing out.
>> >
>> > Regards
>> > Anshu
>> >
>> >
>> > On Mon, Jun 23, 2014 at 7:32 PM, Roberto Spadim 
>> > wrote:
>> >>
>> >> "Sorry this page does not exist =("
>> >>
>> >> 2014-06-23 8:07 GMT-03:00 Anshu Avinash :
>> >> > Hi all,
>> >> >
>> >> > You can find this week's blog entry at:
>> >> > http://igniting.in/2014/06/23/work-before-mid-term/
>> >> > Suggestions/reviews are welcome.
>> >> >
>> >> > Regards
>> >> > Anshu Avinash
>> >> >
>> >> >
>> >> > On Mon, Jun 9, 2014 at 7:30 PM, Roberto Spadim
>> >> > 
>> >> > wrote:
>> >> >>
>> >> >> Well i wws reading your posts
>> >> >> Do you need big data to test read and scan times?
>> >> >>
>> >> >> Em segunda-feira, 9 de junho de 2014, Anshu Avinash
>> >> >>  escreveu:
>> >> >>
>> >> >>> Hi all,
>> >> >>>
>> >> >>> You can find this week's blog entry at
>> >> >>> http://igniting.in/gsoc2014/2014/06/09/more-coding/. I'm now
>> >> >>> maintaining the
>> >> >>> code only on github:
>> >> >>> https://github.com/igniting/server/tree/selfTuningOptimizer.
>> >> >>>
>> >> >>> Regards
>> >> >>> Anshu Avinash
>> >> >>>
>> >> >>>
>> >> >>> On Sun, May 25, 2014 at 3:27 PM, Anshu Avinash
>> >> >>>  wrote:
>> >> >>>
>> >> >>> Hi all,
>> >> >>>
>> >> >>> You can find my this week's blog entry at
>> >> >>> http://igniting.in/gsoc2014/2014/05/25/coding-things-up/ . I have
>> >> >>> created a
>> >> >>> branch on launchpad for my work:
>> >> >>> http://bazaar.launchpad.net/~igniting/maria/maria/revision/4211 .
>> >> >>> You
>> >> >>> can
>> >> >>> give your suggestions/reviews either on this thread or as a comment
>> >> >>> on
>> >> >>> the
>> >> >>> blog itself.
>> >> >>>
>> >> >>> Regards
>> >> >>> Anshu Avinash
>> >> >>>
>> >> >>>
>> >> >>> On Tue, May 20, 2014 at 1:22 AM, Roberto Spadim
>> >> >>> 
>> >> >>> wrote:
>> >> >>>
>> >> >>> wow a big work, congratulation guy, i will read part by part to
>> >> >>> better
>> >> >>> understand mariadb code
>> >> >>>
>> >> >>>
>> >> >>> 2014-05-19 16:33 GMT-03:00 Anshu Avinash
>> >> >>> :
>> >> >>>
>> >> >>> Hi all,
>> >> >>>
>> >> >>> This week's blog entry would get delayed by couple of days. I have
>> >> >>> started coding though and would like to give heads up on what I'm
>> >> >>> doing.
>> >> >>>
>> >> >>> I've looked at the diffs for "Cost model project" of mysql:
>> >> >>> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7596
>> >> >>> and
>> >> >>> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7222 .
>> >> >>> These
>> >> >>> give a pretty good idea about what are the hard-coded constants and
>> >> >>> where
>> >> >>> are they being used.
>> >> >>>
>> >> >>> The idea is to multiply "READ_TIME_FACTOR" and "SCAN_TIME_FACTOR"
>> >> >>> to
>> >> >>> the
>> >> >>> values returned by read_time() and scan_time() in handler.h, while
>> >> >>> returning. These values would be read from a table in mysql db. For
>> >> >>> that
>> >> >>> I've looked at sql_statistics.cc. After completing this, I'll first
>> >> >>> change
>> >> >>> the values of these constants manually and check if the better or
>> >> >>> worse
>> >> >>> query plans are being selected. I'll first do the last step
>> >> >>> manually,
>> >> >>> to
>> >> >>> check if everything is working as expected and later automate it.
>> >> >>>
>> >> >>> Regards
>> >> >>> Anshu
>> >> >>>
>> >> >>>
>> >> >>> On Mon, May 12, 2014 at 11:22 AM, Anshu Avinash
>> >> >>>  wrote:
>> >> >>>
>> >> >>> Hi all,
>> >> >>>
>> >> >>> You can find my blog entry for this week at
>> >> >>> http://igniting.in/gsoc2014/2014/05/11/first-steps/ .
>> >> >>>
>> >> >>> Regards
>> >> >>> Anshu Avinash
>> >> >>>
>> >> >>>
>> >> >>> On Thu, May 8, 2014 at 11:46 PM, Anshu Avinash
>> >> >>>  wrote:
>> >> >>>
>> >> >>> Hi all,
>> >> >>>
>> >> >>> Sorry for the irregular updates. I had been busy for last couple of
>> >> >>> days
>> >> >>> and might still be busy for 1-2 days more. I would be completely
>> >> >>> free
>> >> >>> starting next week, and would be updating my blog weekly on every
>> >> >>> Monday (so
>> >> >>> 1st update would be on May 12). I would also send the link of my
>> >> >>> post
>> >> >>> weekly
>> >> >>> on the mailing list.
>> >> >>>
>> >> >>> As discussed on irc, I started to explore the pai

Re: [Maria-developers] [GSoC] Introduction Mail

2014-07-08 Thread Anshu Avinash
Hi all,

This week's blog post is at:
http://igniting.in/gsoc2014/2014/07/08/solving-linear-equations/ . Sorry
for the delay.
Suggestions for an approach to solve the system of linear equations are
welcome.

Regards
Anshu Avinash


On Mon, Jun 23, 2014 at 7:39 PM, Roberto Spadim 
wrote:

> " MDEV. "
> it's nice to put full name (MDEV-350), since google and others search
> engines help when someone try to find information about mdev 350
>
> text is ok :)
>
> 2014-06-23 11:04 GMT-03:00 Anshu Avinash :
> > Hi,
> >
> > Sorry for the confusion, this is the new link:
> > http://igniting.in/gsoc2014/2014/06/23/work-before-mid-term/
> > Thanks for pointing out.
> >
> > Regards
> > Anshu
> >
> >
> > On Mon, Jun 23, 2014 at 7:32 PM, Roberto Spadim 
> > wrote:
> >>
> >> "Sorry this page does not exist =("
> >>
> >> 2014-06-23 8:07 GMT-03:00 Anshu Avinash :
> >> > Hi all,
> >> >
> >> > You can find this week's blog entry at:
> >> > http://igniting.in/2014/06/23/work-before-mid-term/
> >> > Suggestions/reviews are welcome.
> >> >
> >> > Regards
> >> > Anshu Avinash
> >> >
> >> >
> >> > On Mon, Jun 9, 2014 at 7:30 PM, Roberto Spadim  >
> >> > wrote:
> >> >>
> >> >> Well i wws reading your posts
> >> >> Do you need big data to test read and scan times?
> >> >>
> >> >> Em segunda-feira, 9 de junho de 2014, Anshu Avinash
> >> >>  escreveu:
> >> >>
> >> >>> Hi all,
> >> >>>
> >> >>> You can find this week's blog entry at
> >> >>> http://igniting.in/gsoc2014/2014/06/09/more-coding/. I'm now
> >> >>> maintaining the
> >> >>> code only on github:
> >> >>> https://github.com/igniting/server/tree/selfTuningOptimizer.
> >> >>>
> >> >>> Regards
> >> >>> Anshu Avinash
> >> >>>
> >> >>>
> >> >>> On Sun, May 25, 2014 at 3:27 PM, Anshu Avinash
> >> >>>  wrote:
> >> >>>
> >> >>> Hi all,
> >> >>>
> >> >>> You can find my this week's blog entry at
> >> >>> http://igniting.in/gsoc2014/2014/05/25/coding-things-up/ . I have
> >> >>> created a
> >> >>> branch on launchpad for my work:
> >> >>> http://bazaar.launchpad.net/~igniting/maria/maria/revision/4211 .
> You
> >> >>> can
> >> >>> give your suggestions/reviews either on this thread or as a comment
> on
> >> >>> the
> >> >>> blog itself.
> >> >>>
> >> >>> Regards
> >> >>> Anshu Avinash
> >> >>>
> >> >>>
> >> >>> On Tue, May 20, 2014 at 1:22 AM, Roberto Spadim
> >> >>> 
> >> >>> wrote:
> >> >>>
> >> >>> wow a big work, congratulation guy, i will read part by part to
> better
> >> >>> understand mariadb code
> >> >>>
> >> >>>
> >> >>> 2014-05-19 16:33 GMT-03:00 Anshu Avinash  >:
> >> >>>
> >> >>> Hi all,
> >> >>>
> >> >>> This week's blog entry would get delayed by couple of days. I have
> >> >>> started coding though and would like to give heads up on what I'm
> >> >>> doing.
> >> >>>
> >> >>> I've looked at the diffs for "Cost model project" of mysql:
> >> >>> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7596
> and
> >> >>> http://bazaar.launchpad.net/~mysql/mysql-server/5.7/revision/7222 .
> >> >>> These
> >> >>> give a pretty good idea about what are the hard-coded constants and
> >> >>> where
> >> >>> are they being used.
> >> >>>
> >> >>> The idea is to multiply "READ_TIME_FACTOR" and "SCAN_TIME_FACTOR" to
> >> >>> the
> >> >>> values returned by read_time() and scan_time() in handler.h, while
> >> >>> returning. These values would be read from a table in mysql db. For
> >> >>> that
> >> >>> I've looked at sql_statistics.cc. After completing this, I'll first
> >> >>> change
> >> >>> the values of these constants manually and check if the better or
> >> >>> worse
> >> >>> query plans are being selected. I'll first do the last step
> manually,
> >> >>> to
> >> >>> check if everything is working as expected and later automate it.
> >> >>>
> >> >>> Regards
> >> >>> Anshu
> >> >>>
> >> >>>
> >> >>> On Mon, May 12, 2014 at 11:22 AM, Anshu Avinash
> >> >>>  wrote:
> >> >>>
> >> >>> Hi all,
> >> >>>
> >> >>> You can find my blog entry for this week at
> >> >>> http://igniting.in/gsoc2014/2014/05/11/first-steps/ .
> >> >>>
> >> >>> Regards
> >> >>> Anshu Avinash
> >> >>>
> >> >>>
> >> >>> On Thu, May 8, 2014 at 11:46 PM, Anshu Avinash
> >> >>>  wrote:
> >> >>>
> >> >>> Hi all,
> >> >>>
> >> >>> Sorry for the irregular updates. I had been busy for last couple of
> >> >>> days
> >> >>> and might still be busy for 1-2 days more. I would be completely
> free
> >> >>> starting next week, and would be updating my blog weekly on every
> >> >>> Monday (so
> >> >>> 1st update would be on May 12). I would also send the link of my
> post
> >> >>> weekly
> >> >>> on the mailing list.
> >> >>>
> >> >>> As discussed on irc, I started to explore the pair of constants:
> >> >>> handler::scan_time() and handler::read_time().
> >> >>
> >> >>
> >> >>
> >> >> --
> >> >> Roberto Spadim
> >> >> SPAEmpresarial
> >> >> Eng. Automação e Controle
> >> >>
> >> >
> >>
> >>
> >>
> >> --
> >> Roberto Spadim
> >> SPAEmpresarial
> >> Eng. Automação e Controle
> >
> >
>
>
>
> --
> Roberto Spadim
> SPAEmpresar

Re: [Maria-developers] Java Connector coding till 6th July

2014-07-08 Thread Georg Richter
Hi,

*c)*Also I will be modifying the execute method for Serverside prepared
statements for sending the *new params bound flag* properly.

> Currently it is always going as 0x01 but will modify it to send 0x00 if
> same statement gets executed again
>

Sending 0 iIf the stmt gets executed again may end up in sending wrong data
(in case BindParameter was called between last and current execution). so
you should set a flag in BindParameter and unset it after execute.

/Georg
___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT

2014-07-08 Thread Ian Gilfillan
I like Jocelyn's solution. The whole situation is quite messy with all 
sorts of edge cases, but this seems to make the best of it. THE SHOW 
CREATE statement will be functional, and the metadata will be displayed 
in a readable form.


On 08/07/2014 14:21, Jocelyn Fournier wrote:



This is easy to do, I've just tried.

It might look confusing, though, the table from connect.alter test would
then be:

   SHOW CREATE TABLE t1;
   Table   Create Table
   t1  CREATE TABLE `t1` (
 `d` char(10) NOT NULL /* `FLAG`=11 */,
 `c` int(11) NOT NULL /* `FLAG`=0 */
   ) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 /* 
`TABLE_TYPE`=fix `FILE_NAME`='tf1.txt' `ENDING`=1 */




Perhaps something like :

  SHOW CREATE TABLE t1;
  Table   Create Table
  t1  CREATE TABLE `t1` (
`d` char(10) NOT NULL /* `FLAG`=11 */,
`c` int(11) NOT NULL /* `FLAG`=0 */
  ) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 /* Ignored 
Options : `TABLE_TYPE`=fix `FILE_NAME`='tf1.txt' `ENDING`=1 */



would be clearer ?

  Jocelyn





___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT

2014-07-08 Thread Jocelyn Fournier

Hi Sergei,

Le 08/07/2014 12:25, Sergei Golubchik a écrit :

Hi, Jocelyn!

On Jul 08, Jocelyn Fournier wrote:

Hi,

Why not displaying the ignored options as comments ?

Jocelyn


Good question.
This is easy to do, I've just tried.

It might look confusing, though, the table from connect.alter test would
then be:

   SHOW CREATE TABLE t1;
   Table   Create Table
   t1  CREATE TABLE `t1` (
 `d` char(10) NOT NULL /* `FLAG`=11 */,
 `c` int(11) NOT NULL /* `FLAG`=0 */
   ) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 /* `TABLE_TYPE`=fix 
`FILE_NAME`='tf1.txt' `ENDING`=1 */



Perhaps something like :

  SHOW CREATE TABLE t1;
  Table   Create Table
  t1  CREATE TABLE `t1` (
`d` char(10) NOT NULL /* `FLAG`=11 */,
`c` int(11) NOT NULL /* `FLAG`=0 */
  ) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 /* Ignored 
Options : `TABLE_TYPE`=fix `FILE_NAME`='tf1.txt' `ENDING`=1 */



would be clearer ?

  Jocelyn

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] comments to the plugin.h

2014-07-08 Thread Kristian Nielsen
Kristian Nielsen  writes:

> So then, the plan seems to be:
>
> 1. I remove the new calls from include/plugin.h, instead place them somewhere
> not part of a public API (maybe just "extern" declarations inside
> InnoDB/XtraDB, and whatever is needed to make it work correctly for
> ha_innodb.dll on Windows).
>
> 2. I try to remove the kill-in-background, instead do it directly in the
> thread doing thd_report_wait_for() (I think that should be possible).
>
> 3. I apply the other review comments that you sent in another mail.
>
> 4. I file a Jira task for 10.1 about a general solution, with a good API and
> other ideas collected so far.

I have now done this. I have included the patch below, which is on top of the
patch you reviewed earlier. You can also extract a complete diff as you wish
from the tree lp:~maria-captains/maria/10.0-knielsen, where I have pushed the
latest changes.

 - Kristian.


revno: 4178
committer: Kristian Nielsen 
branch nick: tmp-10.0
timestamp: Tue 2014-07-08 12:54:47 +0200
message:
  MDEV-5262, MDEV-5914, MDEV-5941, MDEV-6020: Deadlocks during parallel 
replication causing replication to fail.
  
  After-review changes.
  
  For this patch in 10.0, we do not introduce a new public storage engine API,
  we just fix the InnoDB/XtraDB issues. In 10.1, we will make a better public
  API that can be used for all storage engines (MDEV-6429).
  
  Eliminate the background thread that did deadlock kills asynchroneously.
  Instead, we ensure that the InnoDB/XtraDB code can handle doing the kill from
  inside the deadlock detection code (when thd_report_wait_for() needs to kill a
  later thread to resolve a deadlock).
  
  (We preserve the part of the original patch that introduces dedicated mutex
  and condition for the slave init thread, to remove the abuse of
  LOCK_thread_count for start/stop synchronisation of the slave init thread).


=== modified file 'include/mysql/plugin.h'
--- include/mysql/plugin.h  2014-06-10 08:13:15 +
+++ include/mysql/plugin.h  2014-07-08 10:54:47 +
@@ -622,6 +622,7 @@ void **thd_ha_data(const MYSQL_THD thd,
 void thd_storage_lock_wait(MYSQL_THD thd, long long value);
 int thd_tx_isolation(const MYSQL_THD thd);
 int thd_tx_is_read_only(const MYSQL_THD thd);
+int thd_rpl_is_parallel(const MYSQL_THD thd);
 /**
   Create a temporary file.
 
@@ -729,80 +730,6 @@ void thd_set_ha_data(MYSQL_THD thd, cons
 */
 void thd_wakeup_subsequent_commits(MYSQL_THD thd, int wakeup_error);
 
-/*
-  Used by a storage engine to report that one transaction THD is about to
-  go to wait for a transactional lock held by another transactions OTHER_THD.
-
-  This is used for parallel replication, where transactions are required to
-  commit in the same order on the slave as they did on the master. If the
-  transactions on the slave can encounter lock conflicts on the slave that did
-  not exist on the master, this can cause deadlocks.
-
-  The storage engine can report such conflicting locks using this call. This
-  will allow parallel replication to detect such conflicts and resolve the
-  deadlock (by killing the second transaction to release the locks that the
-  first is waiting for, and then later re-try the second killed transaction).
-
-  The storage engine should not report false positives. That is, it should not
-  report any lock waits that do not actually require one transaction to wait
-  for the other. Nor should it report waits for locks that will be released
-  before the commit of the other transactions.
-*/
-void thd_report_wait_for(const MYSQL_THD thd, MYSQL_THD other_thd);
-
-/*
-  This function can optionally be called to check if thd_report_wait_for()
-  needs to be called for waits done by a given transaction.
-
-  If this function returns false for a given thd, there is no need to do any
-  calls to thd_report_wait_for() on that thd.
-
-  This call is optional; it is safe to call thd_report_wait_for() in any case.
-  This call can be used to save some redundant calls to thd_report_wait_for()
-  if desired. (This is unlikely to matter much unless there are _lots_ of
-  waits to report, as the overhead of thd_report_wait_for() is small).
-*/
-int thd_need_wait_for(const MYSQL_THD thd);
-
-/*
-  This function can be called by storage engines to check if the commit order
-  of two transactions has already been decided by the upper layer. This
-  happens in parallel replication, where the commit order is forced to be the
-  same on the slave as it was originally on the master.
-
-  If this function returns false, it means that such commit order will be
-  enforced. This allows the storage engine to optionally omit gap lock waitss
-  or similar measures that would otherwise be needed to ensure that
-  transactions would be serialised in a way that would cause a commit order
-  that is correct for binlogging for statement-based replication.
-
-  If this function returns true, normal locking should be done as required by
-  the binlogging and transaction

Re: [Maria-developers] [Commits] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT

2014-07-08 Thread Sergei Golubchik
Hi, Jocelyn!

On Jul 08, Jocelyn Fournier wrote:
> Hi,
> 
> Why not displaying the ignored options as comments ?
> 
>Jocelyn

Good question.
This is easy to do, I've just tried.

It might look confusing, though, the table from connect.alter test would
then be:

  SHOW CREATE TABLE t1;
  Table   Create Table
  t1  CREATE TABLE `t1` (
`d` char(10) NOT NULL /* `FLAG`=11 */,
`c` int(11) NOT NULL /* `FLAG`=0 */
  ) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1 /* `TABLE_TYPE`=fix 
`FILE_NAME`='tf1.txt' `ENDING`=1 */

without comments it'd be a pure Aria table of

  SHOW CREATE TABLE t1;
  Table   Create Table
  t1  CREATE TABLE `t1` (
`d` char(10) NOT NULL,
`c` int(11) NOT NULL
  ) ENGINE=Aria DEFAULT CHARSET=latin1 PAGE_CHECKSUM=1

I cannot really decide which one is better :)
So, let's others voice their opinions.
I can push this change any minute.

Regards,
Sergei


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT

2014-07-08 Thread Jocelyn Fournier

Hi,

Why not displaying the ignored options as comments ?

  Jocelyn


Le 08/07/2014 11:34, Sergey Vojtovich a écrit :

Hi Sergei,

frankly speaking I have no better idea. Let's give your patch a try.

Regards,
Sergey

On Tue, Jul 08, 2014 at 10:43:24AM +0200, Sergei Golubchik wrote:

Hi, Sergey!

On Jul 08, Sergey Vojtovich wrote:

Hi Sergei,

I believe options handling is way too confusing in general:
- CREATE TABLE warns/errors about unknown options
- ALTER TABLE ... ENGINE doesn't
- ALTER TABLE ... UNKNOWN_OPTION=1 does
- CREATE TABLE ... LIKE doesn't


This is consistent. You get a warning or an error about options that you
explicitly specify, but not about options that are implicitly ihnerited.


- different engines may assign different meaning to the same option
- IGNORE_BAD_TABLE_OPTIONS doesn't actually _ignore_ _bad_ options but rather
   _accepts_ _unkown_ options


Yes, I know :(

That's why I tried to say in the manual that SHOW CREATE TABLE *filters
out* invalid options, and IGNORE_BAD_TABLE_OPTIONS disables this
filtering, they are ignored and not filtered out.


But the question is if we should show unknown options by default. I
have no opinion: both cases are equally wrong to me.

On the one hand we get unusable CREATE TABLE statement, on the other
hand hidden metadata which may affect further statements.

I'm fine with hidding unknown options that were accepted due to
IGNORE_BAD_TABLE_OPTIONS, but hidding things that were accepted by
fully successful ALTER TABLE statement sounds confusing.


Do you have a better idea?

My logic was - SHOW CREATE TABLE should generate a valid CREATE TABLE
statement.

Regards,
Sergei



___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp



___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT

2014-07-08 Thread Sergey Vojtovich
Hi Sergei,

frankly speaking I have no better idea. Let's give your patch a try.

Regards,
Sergey

On Tue, Jul 08, 2014 at 10:43:24AM +0200, Sergei Golubchik wrote:
> Hi, Sergey!
> 
> On Jul 08, Sergey Vojtovich wrote:
> > Hi Sergei,
> > 
> > I believe options handling is way too confusing in general:
> > - CREATE TABLE warns/errors about unknown options
> > - ALTER TABLE ... ENGINE doesn't
> > - ALTER TABLE ... UNKNOWN_OPTION=1 does
> > - CREATE TABLE ... LIKE doesn't
> 
> This is consistent. You get a warning or an error about options that you
> explicitly specify, but not about options that are implicitly ihnerited.
> 
> > - different engines may assign different meaning to the same option
> > - IGNORE_BAD_TABLE_OPTIONS doesn't actually _ignore_ _bad_ options but 
> > rather
> >   _accepts_ _unkown_ options
> 
> Yes, I know :(
> 
> That's why I tried to say in the manual that SHOW CREATE TABLE *filters
> out* invalid options, and IGNORE_BAD_TABLE_OPTIONS disables this
> filtering, they are ignored and not filtered out.
> 
> > But the question is if we should show unknown options by default. I
> > have no opinion: both cases are equally wrong to me.
> > 
> > On the one hand we get unusable CREATE TABLE statement, on the other
> > hand hidden metadata which may affect further statements.
> > 
> > I'm fine with hidding unknown options that were accepted due to
> > IGNORE_BAD_TABLE_OPTIONS, but hidding things that were accepted by
> > fully successful ALTER TABLE statement sounds confusing.
> 
> Do you have a better idea?
> 
> My logic was - SHOW CREATE TABLE should generate a valid CREATE TABLE
> statement.
> 
> Regards,
> Sergei
> 

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT

2014-07-08 Thread Sergei Golubchik
Hi, Sergey!

On Jul 08, Sergey Vojtovich wrote:
> Hi Sergei,
> 
> I believe options handling is way too confusing in general:
> - CREATE TABLE warns/errors about unknown options
> - ALTER TABLE ... ENGINE doesn't
> - ALTER TABLE ... UNKNOWN_OPTION=1 does
> - CREATE TABLE ... LIKE doesn't

This is consistent. You get a warning or an error about options that you
explicitly specify, but not about options that are implicitly ihnerited.

> - different engines may assign different meaning to the same option
> - IGNORE_BAD_TABLE_OPTIONS doesn't actually _ignore_ _bad_ options but rather
>   _accepts_ _unkown_ options

Yes, I know :(

That's why I tried to say in the manual that SHOW CREATE TABLE *filters
out* invalid options, and IGNORE_BAD_TABLE_OPTIONS disables this
filtering, they are ignored and not filtered out.

> But the question is if we should show unknown options by default. I
> have no opinion: both cases are equally wrong to me.
> 
> On the one hand we get unusable CREATE TABLE statement, on the other
> hand hidden metadata which may affect further statements.
> 
> I'm fine with hidding unknown options that were accepted due to
> IGNORE_BAD_TABLE_OPTIONS, but hidding things that were accepted by
> fully successful ALTER TABLE statement sounds confusing.

Do you have a better idea?

My logic was - SHOW CREATE TABLE should generate a valid CREATE TABLE
statement.

Regards,
Sergei


___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp


Re: [Maria-developers] [Commits] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT in lp:~maria-captains/maria/10.0

2014-07-08 Thread Sergey Vojtovich
Hi Sergei,

I believe options handling is way too confusing in general:
- CREATE TABLE warns/errors about unknown options
- ALTER TABLE ... ENGINE doesn't
- ALTER TABLE ... UNKNOWN_OPTION=1 does
- CREATE TABLE ... LIKE doesn't
- different engines may assign different meaning to the same option
- IGNORE_BAD_TABLE_OPTIONS doesn't actually _ignore_ _bad_ options but rather
  _accepts_ _unkown_ options

But the question is if we should show unknown options by default. I have no
opinion: both cases are equally wrong to me.

On the one hand we get unusable CREATE TABLE statement, on the other hand
hidden metadata which may affect further statements.

I'm fine with hidding unknown options that were accepted due to
IGNORE_BAD_TABLE_OPTIONS, but hidding things that were accepted by fully
successful ALTER TABLE statement sounds confusing.

Regards,
Sergey

On Sat, Jul 05, 2014 at 11:42:25PM +0200, Sergei Golubchik wrote:
> At lp:~maria-captains/maria/10.0
> 
> 
> revno: 4275
> revision-id: ser...@pisem.net-20140705214225-p0k45asdaq27xocr
> parent: ser...@pisem.net-20140705214216-npqtc7tz854xqjxo
> fixes bug: https://mariadb.atlassian.net/browse/MDEV-5867
> committer: Sergei Golubchik 
> branch nick: 10.0
> timestamp: Sat 2014-07-05 23:42:25 +0200
> message:
>   MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is 
> CONNECT
>   
>   don't print unknown options in SHOW CREATE TABLE unless 
> IGNORE_BAD_TABLE_OPTIONS is used
> === added file 'mysql-test/r/table_options-5867.result'
> --- a/mysql-test/r/table_options-5867.result  1970-01-01 00:00:00 +
> +++ b/mysql-test/r/table_options-5867.result  2014-07-05 21:42:25 +
> @@ -0,0 +1,37 @@
> +install soname 'ha_example';
> +set sql_mode='ignore_bad_table_options';
> +create table t1 (
> +a int complex='c,f,f,f' invalid=3
> +) engine=example ull=1 str='dskj' one_or_two='one' yesno=0
> +foobar=barfoo;
> +Warnings:
> +Warning  1911Unknown option 'invalid'
> +Warning  1911Unknown option 'foobar'
> +create table t2 (a int, key (a) some_option=2014);
> +Warnings:
> +Warning  1911Unknown option 'some_option'
> +show create table t1;
> +TableCreate Table
> +t1   CREATE TABLE `t1` (
> +  `a` int(11) DEFAULT NULL `complex`='c,f,f,f' `invalid`=3
> +) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `ull`=1 `str`='dskj' 
> `one_or_two`='one' `yesno`=0 `foobar`=barfoo `VAROPT`='5'
> +show create table t2;
> +TableCreate Table
> +t2   CREATE TABLE `t2` (
> +  `a` int(11) DEFAULT NULL,
> +  KEY `a` (`a`) `some_option`=2014
> +) ENGINE=MyISAM DEFAULT CHARSET=latin1
> +set sql_mode='';
> +show create table t1;
> +TableCreate Table
> +t1   CREATE TABLE `t1` (
> +  `a` int(11) DEFAULT NULL `complex`='c,f,f,f'
> +) ENGINE=EXAMPLE DEFAULT CHARSET=latin1 `ull`=1 `str`='dskj' 
> `one_or_two`='one' `yesno`=0 `VAROPT`='5'
> +show create table t2;
> +TableCreate Table
> +t2   CREATE TABLE `t2` (
> +  `a` int(11) DEFAULT NULL,
> +  KEY `a` (`a`)
> +) ENGINE=MyISAM DEFAULT CHARSET=latin1
> +drop table t1, t2;
> +uninstall soname 'ha_example';
> 
> === modified file 'mysql-test/suite/rpl/r/rpl_table_options.result'
> --- a/mysql-test/suite/rpl/r/rpl_table_options.result 2013-09-14 01:09:36 
> +
> +++ b/mysql-test/suite/rpl/r/rpl_table_options.result 2014-07-05 21:42:25 
> +
> @@ -12,6 +12,12 @@ show create table t1;
>  TableCreate Table
>  t1   CREATE TABLE `t1` (
>`a` int(11) NOT NULL
> +) ENGINE=MyISAM DEFAULT CHARSET=latin1
> +set sql_mode=ignore_bad_table_options;
> +show create table t1;
> +TableCreate Table
> +t1   CREATE TABLE `t1` (
> +  `a` int(11) NOT NULL
>  ) ENGINE=MyISAM DEFAULT CHARSET=latin1 `ull`=12340
>  drop table t1;
>  set storage_engine=default;
> 
> === modified file 'mysql-test/suite/rpl/t/rpl_table_options.test'
> --- a/mysql-test/suite/rpl/t/rpl_table_options.test   2011-10-19 19:45:18 
> +
> +++ b/mysql-test/suite/rpl/t/rpl_table_options.test   2014-07-05 21:42:25 
> +
> @@ -23,6 +23,8 @@ show create table t1;
>  sync_slave_with_master;
>  connection slave;
>  show create table t1;
> +set sql_mode=ignore_bad_table_options;
> +show create table t1;
>  
>  connection master;
>  drop table t1;
> 
> === added file 'mysql-test/t/table_options-5867.test'
> --- a/mysql-test/t/table_options-5867.test1970-01-01 00:00:00 +
> +++ b/mysql-test/t/table_options-5867.test2014-07-05 21:42:25 +
> @@ -0,0 +1,30 @@
> +#
> +# MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is 
> CONNECT
> +#
> +# verify that SHOW CREATE TABLE hides unknown options when 
> IGNORE_BAD_TABLE_OPTIONS is not set
> +
> +--source include/have_example_plugin.inc
> +--source include/not_embedded.inc
> +
> +install soname 'ha_example';
> +
> +set sql_mode='ignore_bad_table_options';
> +create table t1 (
> +  a int complex='c,f,f,f' invalid=3
> +) engine=example ull=1 str='dskj' one_or_two='one' 

Re: [Maria-developers] [Commits] Rev 4274: small cleanup of the SHOW CREATE TABLE code

2014-07-08 Thread Sergei Golubchik
Hi, Sergey!

On Jul 08, Sergey Vojtovich wrote:
> Hi Sergei,
> 
> > 
> > revno: 4274
> > revision-id: ser...@pisem.net-20140705214216-npqtc7tz854xqjxo
> > parent: ser...@pisem.net-20140704190257-1z1inye8jd7k7umc
> > committer: Sergei Golubchik 
> > branch nick: 10.0
> > timestamp: Sat 2014-07-05 23:42:16 +0200
> > message:
> >   small cleanup of the SHOW CREATE TABLE code
> ...skip...
> 
> > === modified file 'sql/sql_show.cc'
> > --- a/sql/sql_show.cc   2014-06-05 22:07:27 +
> > +++ b/sql/sql_show.cc   2014-07-05 21:42:16 +
> > @@ -1578,27 +1577,32 @@ int store_create_info(THD *thd, TABLE_LI
> >handler *file= table->file;
> >TABLE_SHARE *share= table->s;
> >HA_CREATE_INFO create_info;
> > -#ifdef WITH_PARTITION_STORAGE_ENGINE
> >bool show_table_options= FALSE;
> > -#endif /* WITH_PARTITION_STORAGE_ENGINE */
> Why did you remove ifdef-s here? This variable seem to be unused without 
> partitioning.
> 
> ...skip...

Simply to have less #ifdefs in the code. If the variable is completely
unused, the compiler can figure it out and remove it.

But thanks for asking - I'll recompile without partitioning now and if
there will be a warning, I'll add __attribute__((unused)).

Regards,
Sergei

___
Mailing list: https://launchpad.net/~maria-developers
Post to : maria-developers@lists.launchpad.net
Unsubscribe : https://launchpad.net/~maria-developers
More help   : https://help.launchpad.net/ListHelp