Re: [Maria-developers] [Commits] 7d386bb: MDEV-4549 [PATCH] Clean up code working with ACL tables

2014-06-23 Thread Sergey Vojtovich
Hi Sergei,

ok to push. A few minor questions inline.

On Mon, Jun 16, 2014 at 09:34:21AM +0200, s...@mariadb.org wrote:
 revision-id: 7d386bbce216745ba28df728f45a0b796fcced98
 parent(s): f61f36b386e8d0c6448297bb84c92e8d9b82be6a
 committer: Sergei Golubchik
 branch nick: maria
 timestamp: 2014-06-15 17:12:57 +0200
 message:
 
 MDEV-4549 [PATCH] Clean up code working with ACL tables
 
 enum values to index different ACL tables, instead of hard-coded numbers
 (even different in diffent functions). Also factor out TABLE_LIST
 initialization into a separate function.
 
 ---
  mysql-test/r/not_embedded_server.result|   4 +-
  mysql-test/r/sp-destruct.result|   3 -
  .../suite/rpl/r/rpl_tmp_table_and_DDL.result   |  22 +-
  mysql-test/t/not_embedded_server.test  |   2 +-
  mysql-test/t/sp-destruct.test  |   1 -
  sql/sql_acl.cc | 533 
 +
  6 files changed, 235 insertions(+), 330 deletions(-)
 
 diff --git a/mysql-test/r/not_embedded_server.result 
 b/mysql-test/r/not_embedded_server.result
 index 2295276..6dda855 100644
 --- a/mysql-test/r/not_embedded_server.result
 +++ b/mysql-test/r/not_embedded_server.result
 @@ -1,4 +1,4 @@
 -call mtr.add_suppression(Can't open and lock privilege tables: Table 'host' 
 was not locked with LOCK TABLES);
 +call mtr.add_suppression(Can't open and lock privilege tables: Table 
 'roles_mapping' was not locked with LOCK TABLES);
  SHOW VARIABLES like 'slave_skip_errors';
  Variable_nameValue
  slave_skip_errorsOFF
Why did it change (here and in other tests)? I didn't notice any table order
change in the code.

...skip...

 diff --git a/mysql-test/r/sp-destruct.result b/mysql-test/r/sp-destruct.result
 index 172e40c..fe68229 100644
 --- a/mysql-test/r/sp-destruct.result
 +++ b/mysql-test/r/sp-destruct.result
 @@ -128,11 +128,8 @@ CREATE FUNCTION f1() RETURNS INT RETURN 1;
  RENAME TABLE mysql.procs_priv TO procs_priv_backup;
  FLUSH TABLE mysql.procs_priv;
  DROP FUNCTION f1;
 -ERROR 42S02: Table 'mysql.procs_priv' doesn't exist
  SHOW WARNINGS;
  LevelCodeMessage
 -Error1146Table 'mysql.procs_priv' doesn't exist
 -Warning  1405Failed to revoke all privileges to dropped routine
  # Restore the procs_priv table
  RENAME TABLE procs_priv_backup TO mysql.procs_priv;
  FLUSH TABLE mysql.procs_priv;
Hmm... why?

...skip...

 diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
 index 5e8e0e7..442d512 100644
 --- a/sql/sql_acl.cc
 +++ b/sql/sql_acl.cc
 @@ -380,7 +380,7 @@ class ACL_PROXY_USER :public ACL_ACCESS
  MYSQL_PROXIES_PRIV_PROXIED_USER,
  MYSQL_PROXIES_PRIV_WITH_GRANT,
  MYSQL_PROXIES_PRIV_GRANTOR,
 -MYSQL_PROXIES_PRIV_TIMESTAMP } old_acl_proxy_users;
 +MYSQL_PROXIES_PRIV_TIMESTAMP } proxy_table_fields;
  public:
ACL_PROXY_USER () {};
  
 @@ -760,6 +760,99 @@ static int traverse_role_graph_down(ACL_USER_BASE *, 
 void *,
   int (*) (ACL_USER_BASE *, ACL_ROLE *, void *));
  
  /*
 + Enumeration of ACL/GRANT tables in the mysql database
 +*/
 +enum enum_acl_tables
 +{
 +  USER_TABLE,
 +  DB_TABLE,
 +  TABLES_PRIV_TABLE,
 +  COLUMNS_PRIV_TABLE,
 +#define FIRST_OPTIONAL_TABLE HOST_TABLE
 +  HOST_TABLE,
 +  PROCS_PRIV_TABLE,
 +  PROXIES_PRIV_TABLE,
 +  ROLES_MAPPING_TABLE,
 +  TABLES_MAX // == always the last
 +};
 +// bits for init_priv_tables
 +static const int Table_user= 1  USER_TABLE;
 +static const int Table_db= 1  DB_TABLE;
 +static const int Table_tables_priv= 1  TABLES_PRIV_TABLE;
 +static const int Table_columns_priv= 1  COLUMNS_PRIV_TABLE;
 +static const int Table_host= 1  HOST_TABLE;
 +static const int Table_procs_priv= 1  PROCS_PRIV_TABLE;
 +static const int Table_proxies_priv= 1  PROXIES_PRIV_TABLE;
 +static const int Table_roles_mapping= 1  ROLES_MAPPING_TABLE;
 +
 +const LEX_STRING acl_table_names[]= //  matches enum_acl_tables
 +{
 +  { C_STRING_WITH_LEN(user) },
 +  { C_STRING_WITH_LEN(db) },
 +  { C_STRING_WITH_LEN(tables_priv) },
 +  { C_STRING_WITH_LEN(columns_priv) },
 +  { C_STRING_WITH_LEN(host) },
 +  { C_STRING_WITH_LEN(procs_priv) },
 +  { C_STRING_WITH_LEN(proxies_priv) },
 +  { C_STRING_WITH_LEN(roles_mapping) }
 +};
 +
 +/**
 +  Initialize a TABLE_LIST array to a set of acl/grant tables.
 +  All tables will be opened with the same lock type, either read or write.
 +
 +  @retval !0 a pointer to the first initialized element in the TABLE_LIST
 +  @retval  0 replication filters matched. Abort operation, but return OK (!)
 +*/
 +TABLE_LIST *init_priv_tables(THD *thd, TABLE_LIST *tables,
 + enum thr_lock_type lock_type, int 
 tables_to_open)
Nice clean-up, I assume there was a reason not rewrite open_grant_tables()
instead.

 +{
 +  int prev= -1;
 +  bzero(tables, sizeof(TABLE_LIST) * TABLES_MAX);
 +  for (int cur=0, mask=1; mask = tables_to_open; cur++, mask = 1)
 +  {
 +if ((tables_to_open  mask) == 0)
 +  

Re: [Maria-developers] [Commits] 7d386bb: MDEV-4549 [PATCH] Clean up code working with ACL tables

2014-06-23 Thread Sergei Golubchik
Hi, Sergey!

Thanks for the review!
I won't push yet, need to fix what I said below.
Want to see a new patch?

On Jun 23, Sergey Vojtovich wrote:
 Hi Sergei,
 
 ok to push. A few minor questions inline.
 
 On Mon, Jun 16, 2014 at 09:34:21AM +0200, s...@mariadb.org wrote:
  --- a/mysql-test/r/not_embedded_server.result
  +++ b/mysql-test/r/not_embedded_server.result
  @@ -1,4 +1,4 @@
  -call mtr.add_suppression(Can't open and lock privilege tables: Table 
  'host' was not locked with LOCK TABLES);
  +call mtr.add_suppression(Can't open and lock privilege tables: Table 
  'roles_mapping' was not locked with LOCK TABLES);
   SHOW VARIABLES like 'slave_skip_errors';
   Variable_name  Value
   slave_skip_errors  OFF
 Why did it change (here and in other tests)? I didn't notice any table order
 change in the code.

Because TABLE_LIST's entries are linked in the list in the different
order. And this error is issued for the first table in the list.

I thought this was fine (as the new behavior is also correct) and didn't
want to do something complex only to preserve old error messages.

But it just occurred to me that I can trivially do that, simply by
reversing the for() loop in the init_priv_tables(). I'm testing this
now and restore old error messages if everything will work ok.

 ...skip...
 
  diff --git a/mysql-test/r/sp-destruct.result 
  b/mysql-test/r/sp-destruct.result
  index 172e40c..fe68229 100644
  --- a/mysql-test/r/sp-destruct.result
  +++ b/mysql-test/r/sp-destruct.result
  @@ -128,11 +128,8 @@ CREATE FUNCTION f1() RETURNS INT RETURN 1;
   RENAME TABLE mysql.procs_priv TO procs_priv_backup;
   FLUSH TABLE mysql.procs_priv;
   DROP FUNCTION f1;
  -ERROR 42S02: Table 'mysql.procs_priv' doesn't exist
   SHOW WARNINGS;
   Level  CodeMessage
  -Error  1146Table 'mysql.procs_priv' doesn't exist
  -Warning1405Failed to revoke all privileges to dropped routine
   # Restore the procs_priv table
   RENAME TABLE procs_priv_backup TO mysql.procs_priv;
   FLUSH TABLE mysql.procs_priv;
 Hmm... why?
 
 ...skip...

For certain objects it was ok to drop them (no error issued) is some of
the privilege tables were missing. For example, one could do DROP USER
with no error is, say, proxies_priv or roles_mapping doesn't exist.

Which is pretty logical, DROP USER means you remove all existing
privileges for this user, if a privilege table doesn't exist - well, it
doesn't contain any privileges to drop, does it? :)

But dropping a function behaved differently. It returned an error if
procs_priv did not exist. But the function was dropped regardless.
Which is pretty bad on itself. And inconsistent with how DROP generally
behaves.

I've fixed this as a side-effect (init_priv_tables() treats all tables
equally, it cannot make a table optional for one DROP and mandatory for
another DROP).

  diff --git a/sql/sql_acl.cc b/sql/sql_acl.cc
  index 5e8e0e7..442d512 100644
  --- a/sql/sql_acl.cc
  +++ b/sql/sql_acl.cc
  +
  +  @retval !0 a pointer to the first initialized element in the TABLE_LIST
  +  @retval  0 replication filters matched. Abort operation, but return OK 
  (!)
  +*/
  +TABLE_LIST *init_priv_tables(THD *thd, TABLE_LIST *tables,
  + enum thr_lock_type lock_type, int 
  tables_to_open)
 Nice clean-up, I assume there was a reason not rewrite open_grant_tables()
 instead.

Not really. Thanks, I'll do that.

  +#ifdef HAVE_REPLICATION
  +  if (lock_type = TL_WRITE_ALLOW_WRITE  thd-slave_thread  
  !thd-spcont)
  +  {
  +/*
  +  GRANT and REVOKE are applied the slave in/exclusion rules as they are
  +  some kind of updates to the mysql.% tables.
  +*/
  +Rpl_filter *rpl_filter= 
  thd-system_thread_info.rpl_sql_info-rpl_filter;
  +if (rpl_filter-is_on()  !rpl_filter-tables_ok(0, tables))
  +  return NULL;
  +  }
  +#endif
 Was it a bug that mysql_grant_role() didn't have this code? 

I suppose so.

 open_grant_tables() does updating= 0 after tables_ok(). Is that needed?

I don't think so (also I set updating unconditionally, old code was only
doing that in #ifdef HAVE_REPLICATION). This TABLE_LIST::updating is
only used in rpl filtering, I believe it doesn't matter what it's set to
after the filtering is done.

 ...skip...
 
  @@ -5783,8 +5796,9 @@ bool mysql_routine_grant(THD *thd, TABLE_LIST 
  *table_list, bool is_proc,
 }
   }
   
  -if (replace_routine_table(thd, grant_name, tables[1].table, *Str,
  -  db_name, table_name, is_proc, rights,
  +if (no_such_table(tables + PROCS_PRIV_TABLE) ||
  +replace_routine_table(thd, grant_name, 
  tables[PROCS_PRIV_TABLE].table,
  +  *Str, db_name, table_name, is_proc, rights,
 revoke_grant) != 0)
   {
 result= TRUE;
 Why no_such_table() here?

Yeah... See above - it's ok for a privilege table to be missing when
some object is DROP'ped or a privilege is revoked. But 

Re: [Maria-developers] [Commits] 7d386bb: MDEV-4549 [PATCH] Clean up code working with ACL tables

2014-06-23 Thread Sergey Vojtovich
Hi Sergei,

On Mon, Jun 23, 2014 at 10:01:58AM +0200, Sergei Golubchik wrote:
 Hi, Sergey!
 
 Thanks for the review!
 I won't push yet, need to fix what I said below.
 Want to see a new patch?
Thanks for your clarifications. I believe there is no need to review new patch.

...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] Doubt in bin logging for CREATE VIEW

2014-06-23 Thread Sergei Golubchik
Hi, Sriram!

On Jun 19, sriram patil wrote:
 Hi All,
 
 I was checking the behavior of bin logging in various methods. I found out
 CREATE VIEW differs a little bit than others in bin logging.
 
 The query is written into bin log if query is executed successfully. If
 there is any error the query is not logged. This behavior is observed
 across all the commands.
 
 In case of CREATE VIEW (method: mysql_create_view file: sql/sql_view.cc),
 while the bin logging is skipped for most of the errors by jumping to err
 label, it is not skipped
...
 Is there a specific reason why it is logged even though an error occurs? Or
 is it a bug?

Looks like a bug to me too. It's easy to see in the history -
git blame shows that this binlog-writing chunk was added in
commit e6eef5c1a765d27e1a8d1c7d707fb416dfa0ec2f.

Commit comment and changes to other files in the same commit show that
the goal was to move binlogging code inside mysql_create_view (and
other similar functions), it was outside before. And before that commit
no binlogging was done if mysql_create_view() failed.

So, apparently that commit has introduced a bug that you've now found.
Good job :)

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-06-23 Thread 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 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


___
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] Doubt in bin logging for CREATE VIEW

2014-06-23 Thread sriram patil
Hi All,

Indeed it is a bug.

Here is what I did to verify. I installed MariaDB at two paths on my
machine (I could have had multiple data dirs but that struck me later).
Wrote a DBUG_EXECUTE_IF as suggested by Kristian in mysql_register_view,
which returned ER_OUT_OF_RESOURCES.

Ran one mysql server as master and the other as slave. And the result was
clear. Even though CREATE VIEW returned error on the master, the VIEW was
replicated at the slave. Have not written the test case yet but verified it
manually.

During this verification I also figured out that there is a crash too. If
mysql_register_view returns ER_OUT_OF_RESOURCES. The *view-definer.host*
and *view-definer.user* are not set. And the current code tries to write
into bin log the details and crashes due to NULL pointer. Anyways, this
will be fixed once the bin log issue is resolved.

I have not yet figured out how to write automated test cases for
replication, but will do that soon.

Thanks,
Sriram


On Mon, Jun 23, 2014 at 3:01 PM, Sergei Golubchik s...@mariadb.org wrote:

 Hi, Sriram!

 On Jun 19, sriram patil wrote:
  Hi All,
 
  I was checking the behavior of bin logging in various methods. I found
 out
  CREATE VIEW differs a little bit than others in bin logging.
 
  The query is written into bin log if query is executed successfully. If
  there is any error the query is not logged. This behavior is observed
  across all the commands.
 
  In case of CREATE VIEW (method: mysql_create_view file: sql/sql_view.cc),
  while the bin logging is skipped for most of the errors by jumping to
 err
  label, it is not skipped
 ...
  Is there a specific reason why it is logged even though an error occurs?
 Or
  is it a bug?

 Looks like a bug to me too. It's easy to see in the history -
 git blame shows that this binlog-writing chunk was added in
 commit e6eef5c1a765d27e1a8d1c7d707fb416dfa0ec2f.

 Commit comment and changes to other files in the same commit show that
 the goal was to move binlogging code inside mysql_create_view (and
 other similar functions), it was outside before. And before that commit
 no binlogging was done if mysql_create_view() failed.

 So, apparently that commit has introduced a bug that you've now found.
 Good job :)

 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-06-23 Thread Roberto Spadim
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

___
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-06-23 Thread 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 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

___
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-06-23 Thread Roberto Spadim
 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