Commit e2dc057d authored by unknown's avatar unknown
Browse files

Merge paul@bk-internal.mysql.com:/home/bk/mysql-4.1

into ice.snake.net:/Volumes/ice2/MySQL/bk/mysql-4.1

parents 3165c7de cf595632
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -2220,6 +2220,7 @@ fil_create_new_single_table_tablespace(
		ut_free(buf2);
	error_exit:
		os_file_close(file);
	error_exit2:
		os_file_delete(path);

		mem_free(path);
@@ -2262,10 +2263,7 @@ fil_create_new_single_table_tablespace(
	os_file_close(file);

	if (*space_id == ULINT_UNDEFINED) {
		os_file_delete(path);
	error_exit2:
		mem_free(path);
		return(DB_ERROR);
		goto error_exit2;
	}

	success = fil_space_create(path, *space_id, FIL_TABLESPACE);
+18 −16
Original line number Diff line number Diff line
@@ -42,14 +42,13 @@ extern
void
innobase_invalidate_query_cache(
/*============================*/
	trx_t*		trx,		/* in: transaction which modifies
					the table */
	const char*	full_name,	/* in: concatenation of database name,
					null char '\0', table name, null char
					'\0'; NOTE that in Windows this is
					always in LOWER CASE! */
	ulint		full_name_len);	/* in: full name length where also the
					null chars count */
	trx_t*	trx,		/* in: transaction which modifies the table */
	char*	full_name,	/* in: concatenation of database name, null
				char '\0', table name, null char'\0';
				NOTE that in Windows this is always
				in LOWER CASE! */
	ulint	full_name_len);	/* in: full name length where also the null
				chars count */


/*************************************************************************
@@ -652,24 +651,27 @@ row_ins_foreign_check_on_constraint(
	ulint		n_to_update;
	ulint		err;
	ulint		i;
	const char*	ptr;
	char*		table_name;
	char*		ptr;
	char*		table_name_buf;
	
	ut_a(thr && foreign && pcur && mtr);

#ifndef UNIV_HOTBACKUP
	/* Since we are going to delete or update a row, we have to invalidate
	the MySQL query cache for table */

	ptr = strchr(table->name, '/');
	table_name_buf = mem_strdup(table->name);

	ptr = strchr(table_name_buf, '/');
	ut_a(ptr);
	table_name = mem_strdupl(table->name, ptr - table->name);
	*ptr = '\0';
	
#ifndef UNIV_HOTBACKUP
	/* We call a function in ha_innodb.cc */
	innobase_invalidate_query_cache(thr_get_trx(thr), table_name,
						ptr - table->name + 1);
	mem_free(table_name);
	innobase_invalidate_query_cache(thr_get_trx(thr), table_name_buf,
						strlen(table->name) + 1);
#endif
	mem_free(table_name_buf);

	node = thr->run_node;

	if (node->is_delete && 0 == (foreign->type &