Re: [Maria-developers] [Commits] Rev 4274: small cleanup of the SHOW CREATE TABLE code in lp:~maria-captains/maria/10.0
Hi Sergei, looks good. One question inline. On Sat, Jul 05, 2014 at 11:42:16PM +0200, Sergei Golubchik wrote: At lp:~maria-captains/maria/10.0 revno: 4274 revision-id: ser...@pisem.net-20140705214216-npqtc7tz854xqjxo parent: ser...@pisem.net-20140704190257-1z1inye8jd7k7umc committer: Sergei Golubchik ser...@pisem.net 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... Regards, Sergey ___ 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 4274: small cleanup of the SHOW CREATE TABLE code
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 ser...@pisem.net 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
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
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 ser...@pisem.net 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' yesno=0 + foobar=barfoo; + +create table t2 (a int, key (a) some_option=2014); + +show
Re: [Maria-developers] [Commits] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT
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
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
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
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
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] Java Connector coding till 6th July
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
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 anshu.avinas...@gmail.com: 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 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com 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 anshu.avinas...@gmail.com 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com : 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 anshu.avinas...@gmail.com 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 anshu.avinas...@gmail.com 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 SPAEmpresarial Eng. Automação e Controle ___ 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
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 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 anshu.avinas...@gmail.com: 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 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com 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 anshu.avinas...@gmail.com 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com: 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 anshu.avinas...@gmail.com 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 anshu.avinas...@gmail.com 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 SPAEmpresarial Eng. Automação e Controle -- Roberto Spadim SPAEmpresarial Eng. Automação e Controle ___ 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] Java Connector coding till 6th July
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 holzbo...@googlemail.com 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
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 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 anshu.avinas...@gmail.com: 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 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com 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 anshu.avinas...@gmail.com 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com: 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 anshu.avinas...@gmail.com 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 anshu.avinas...@gmail.com 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.
Re: [Maria-developers] [GSoC] Introduction Mail
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 robe...@spadim.com.br: =] nice 2014-07-08 14:18 GMT-03:00 Anshu Avinash anshu.avinas...@gmail.com: 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 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 anshu.avinas...@gmail.com: 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 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com 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 anshu.avinas...@gmail.com 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com: 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 anshu.avinas...@gmail.com wrote: Hi all,
Re: [Maria-developers] Rev 4275: MDEV-5867 ALTER TABLE t1 ENGINE=InnoDB keeps bad options when t1 ENGINE is CONNECT
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
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 robe...@spadim.com.br 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 robe...@spadim.com.br: =] nice 2014-07-08 14:18 GMT-03:00 Anshu Avinash anshu.avinas...@gmail.com: 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 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 anshu.avinas...@gmail.com : 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 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com 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 anshu.avinas...@gmail.com 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com: 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
Re: [Maria-developers] [GSoC] Introduction Mail
ops, linear equation 2014-07-08 15:47 GMT-03:00 Roberto Spadim robe...@spadim.com.br: 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 anshu.avinas...@gmail.com: 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 robe...@spadim.com.br 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 robe...@spadim.com.br: =] nice 2014-07-08 14:18 GMT-03:00 Anshu Avinash anshu.avinas...@gmail.com: 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 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 anshu.avinas...@gmail.com: 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 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com 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 anshu.avinas...@gmail.com 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com: 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
Re: [Maria-developers] [GSoC] Introduction Mail
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 robe...@spadim.com.br wrote: ops, linear equation 2014-07-08 15:47 GMT-03:00 Roberto Spadim robe...@spadim.com.br: 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 anshu.avinas...@gmail.com: 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 robe...@spadim.com.br 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 robe...@spadim.com.br: =] nice 2014-07-08 14:18 GMT-03:00 Anshu Avinash anshu.avinas...@gmail.com : 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 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 anshu.avinas...@gmail.com: 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 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com 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 anshu.avinas...@gmail.com 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:
Re: [Maria-developers] [GSoC] Introduction Mail
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 anshu.avinas...@gmail.com: 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 robe...@spadim.com.br wrote: ops, linear equation 2014-07-08 15:47 GMT-03:00 Roberto Spadim robe...@spadim.com.br: 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 anshu.avinas...@gmail.com: 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 robe...@spadim.com.br 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 robe...@spadim.com.br: =] nice 2014-07-08 14:18 GMT-03:00 Anshu Avinash anshu.avinas...@gmail.com: 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 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 anshu.avinas...@gmail.com: 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 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 robe...@spadim.com.br 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 anshu.avinas...@gmail.com 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.
Re: [Maria-developers] [GSoC] Introduction Mail
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 robe...@spadim.com.br: 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 anshu.avinas...@gmail.com: 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 robe...@spadim.com.br wrote: ops, linear equation 2014-07-08 15:47 GMT-03:00 Roberto Spadim robe...@spadim.com.br: 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 anshu.avinas...@gmail.com: 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 robe...@spadim.com.br 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 robe...@spadim.com.br: =] nice 2014-07-08 14:18 GMT-03:00 Anshu Avinash anshu.avinas...@gmail.com: 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 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 anshu.avinas...@gmail.com: 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 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 robe...@spadim.com.br 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
Re: [Maria-developers] [GSoC] Introduction Mail
http://www.netlib.org/lapack/lapacke.html a C api to lapack 2014-07-08 16:23 GMT-03:00 Roberto Spadim robe...@spadim.com.br: 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 robe...@spadim.com.br: 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 anshu.avinas...@gmail.com: 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 robe...@spadim.com.br wrote: ops, linear equation 2014-07-08 15:47 GMT-03:00 Roberto Spadim robe...@spadim.com.br: 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 anshu.avinas...@gmail.com: 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 robe...@spadim.com.br 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 robe...@spadim.com.br: =] nice 2014-07-08 14:18 GMT-03:00 Anshu Avinash anshu.avinas...@gmail.com: 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 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 anshu.avinas...@gmail.com: 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 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 robe...@spadim.com.br wrote: Well i wws reading your posts Do you
Re: [Maria-developers] [GSoC] Introduction Mail
please include the output (solutions.txt) link too, to check what happened 2014-07-08 16:24 GMT-03:00 Roberto Spadim robe...@spadim.com.br: http://www.netlib.org/lapack/lapacke.html a C api to lapack 2014-07-08 16:23 GMT-03:00 Roberto Spadim robe...@spadim.com.br: 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 robe...@spadim.com.br: 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 anshu.avinas...@gmail.com: 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 robe...@spadim.com.br wrote: ops, linear equation 2014-07-08 15:47 GMT-03:00 Roberto Spadim robe...@spadim.com.br: 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 anshu.avinas...@gmail.com: 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 robe...@spadim.com.br 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 robe...@spadim.com.br: =] nice 2014-07-08 14:18 GMT-03:00 Anshu Avinash anshu.avinas...@gmail.com: 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 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 anshu.avinas...@gmail.com: 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 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