Loading sql/ha_ndbcluster.cc +1 −0 Original line number Diff line number Diff line Loading @@ -9592,6 +9592,7 @@ bool ha_ndbcluster::get_no_parts(const char *name, uint *no_parts) break; } ndb= get_ndb(); ndb->setDatabaseName(m_dbname); dict= ndb->getDictionary(); if (!(tab= dict->getTable(m_tabname))) ERR_BREAK(dict->getNdbError(), err); Loading sql/sql_partition.cc +14 −8 Original line number Diff line number Diff line Loading @@ -250,14 +250,14 @@ char *are_partitions_in_table(partition_info *new_part_info, FALSE Success */ bool partition_default_handling(TABLE *table, partition_info *part_info) bool partition_default_handling(TABLE *table, partition_info *part_info, const char *normalized_path) { DBUG_ENTER("partition_default_handling"); if (part_info->use_default_no_partitions) { if (table->file->get_no_parts(table->s->normalized_path.str, &part_info->no_parts)) if (table->file->get_no_parts(normalized_path, &part_info->no_parts)) { DBUG_RETURN(TRUE); } Loading @@ -266,8 +266,7 @@ bool partition_default_handling(TABLE *table, partition_info *part_info) part_info->use_default_no_subpartitions) { uint no_parts; if (table->file->get_no_parts(table->s->normalized_path.str, &no_parts)) if (table->file->get_no_parts(normalized_path, &no_parts)) { DBUG_RETURN(TRUE); } Loading Loading @@ -2005,7 +2004,8 @@ bool fix_partition_func(THD *thd, const char* name, TABLE *table, if (!is_create_table_ind) { if (partition_default_handling(table, part_info)) if (partition_default_handling(table, part_info, table->s->normalized_path.str)) { DBUG_RETURN(TRUE); } Loading Loading @@ -3901,9 +3901,15 @@ bool mysql_unpack_partition(THD *thd, const uchar *part_buf, old_lex->name contains the t2 and the table we are opening has name t1. */ if (partition_default_handling(table, part_info)) Table_ident *table_ident= (Table_ident *)old_lex->name; char *src_db= table_ident->db.str ? table_ident->db.str : thd->db; char *src_table= table_ident->table.str; char buf[FN_REFLEN]; build_table_filename(buf, sizeof(buf), src_db, src_table, ""); if (partition_default_handling(table, part_info, buf)) { DBUG_RETURN(TRUE); result= TRUE; goto end; } } else Loading Loading
sql/ha_ndbcluster.cc +1 −0 Original line number Diff line number Diff line Loading @@ -9592,6 +9592,7 @@ bool ha_ndbcluster::get_no_parts(const char *name, uint *no_parts) break; } ndb= get_ndb(); ndb->setDatabaseName(m_dbname); dict= ndb->getDictionary(); if (!(tab= dict->getTable(m_tabname))) ERR_BREAK(dict->getNdbError(), err); Loading
sql/sql_partition.cc +14 −8 Original line number Diff line number Diff line Loading @@ -250,14 +250,14 @@ char *are_partitions_in_table(partition_info *new_part_info, FALSE Success */ bool partition_default_handling(TABLE *table, partition_info *part_info) bool partition_default_handling(TABLE *table, partition_info *part_info, const char *normalized_path) { DBUG_ENTER("partition_default_handling"); if (part_info->use_default_no_partitions) { if (table->file->get_no_parts(table->s->normalized_path.str, &part_info->no_parts)) if (table->file->get_no_parts(normalized_path, &part_info->no_parts)) { DBUG_RETURN(TRUE); } Loading @@ -266,8 +266,7 @@ bool partition_default_handling(TABLE *table, partition_info *part_info) part_info->use_default_no_subpartitions) { uint no_parts; if (table->file->get_no_parts(table->s->normalized_path.str, &no_parts)) if (table->file->get_no_parts(normalized_path, &no_parts)) { DBUG_RETURN(TRUE); } Loading Loading @@ -2005,7 +2004,8 @@ bool fix_partition_func(THD *thd, const char* name, TABLE *table, if (!is_create_table_ind) { if (partition_default_handling(table, part_info)) if (partition_default_handling(table, part_info, table->s->normalized_path.str)) { DBUG_RETURN(TRUE); } Loading Loading @@ -3901,9 +3901,15 @@ bool mysql_unpack_partition(THD *thd, const uchar *part_buf, old_lex->name contains the t2 and the table we are opening has name t1. */ if (partition_default_handling(table, part_info)) Table_ident *table_ident= (Table_ident *)old_lex->name; char *src_db= table_ident->db.str ? table_ident->db.str : thd->db; char *src_table= table_ident->table.str; char buf[FN_REFLEN]; build_table_filename(buf, sizeof(buf), src_db, src_table, ""); if (partition_default_handling(table, part_info, buf)) { DBUG_RETURN(TRUE); result= TRUE; goto end; } } else Loading