← Back to team overview

linux-traipu team mailing list archive

[Bug 655186] Re: disabling innobase_stats_on_metadata disables ANALYZE

 

Percona now uses JIRA for bug reports so this bug report is migrated to:
https://jira.percona.com/browse/PS-2558

-- 
You received this bug notification because you are a member of UBUNTU -
AL - BR, which is subscribed to Drizzle.
https://bugs.launchpad.net/bugs/655186

Title:
  disabling innobase_stats_on_metadata disables ANALYZE

Status in Drizzle:
  Fix Released
Status in Drizzle 7.0 series:
  Fix Released
Status in MariaDB:
  New
Status in MySQL Server:
  Unknown
Status in Percona Server moved to https://jira.percona.com/projects/PS:
  Invalid

Bug description:
  ha_innobase::analyze(
  /*=================*/
  	THD*		thd,		/*!< in: connection thread handle */
  	HA_CHECK_OPT*	check_opt)	/*!< in: currently ignored */
  {
  	/* Simply call ::info() with all the flags */
  	info(HA_STATUS_TIME | HA_STATUS_CONST | HA_STATUS_VARIABLE);

  	return(0);
  }

  versus this code in ::info():

  	if (flag & HA_STATUS_TIME) {
  		if (innobase_stats_on_metadata) {
  			/* In sql_show we call with this flag: update
  			then statistics so that they are up-to-date */

                          prebuilt->trx->op_info = "updating table
  statistics";

                          dict_update_statistics(ib_table);

  			prebuilt->trx->op_info = "returning various info to MySQL";
  		}

  
  The solution is pretty simple, in ::info() do something like the following:

  if (! innobase_stats_on_metadata)
      dict_update_statistics(prebuilt->table);

  
  It does not seem like it was the intention of innobase_stats_on_metadata to also disable ANALYZE

To manage notifications about this bug go to:
https://bugs.launchpad.net/drizzle/+bug/655186/+subscriptions